电子券
This commit is contained in:
parent
7e322b15db
commit
1f45bc1ec6
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.bonus.canteen.core.marketing.coupon.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.model.MktCouponTmplBack;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.vo.MktCouponTmplBackVO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface MktCouponTmplBackMapper extends BaseMapper<MktCouponTmplBack> {
|
||||||
|
@Select({"SELECT back_id, coupon_name, coupon_amount,company_name FROM mkt_coupon_tmpl_back WHERE back_id = #{backId} ORDER BY id DESC limit 1"})
|
||||||
|
MktCouponTmplBack getTmplBackIdByBackId(Long backId);
|
||||||
|
|
||||||
|
@Select({"SELECT back_id, coupon_name, coupon_amount FROM mkt_coupon_tmpl_back WHERE coupon_name = #{couponName} AND coupon_type = #{couponType} ORDER BY id DESC limit 1"})
|
||||||
|
MktCouponTmplBack getTmplBackByCouponName(@Param("couponName") String couponName, @Param("couponType") Integer couponType);
|
||||||
|
|
||||||
|
@Select({"SELECT tmpl_id FROM mkt_coupon_tmpl_back WHERE back_id = #{backId}"})
|
||||||
|
Long getTmplIdByBackId(Long backId);
|
||||||
|
|
||||||
|
@Select({"SELECT coupon_name FROM mkt_coupon_tmpl_back WHERE back_id = #{backId}"})
|
||||||
|
String getCouponNameByBackId(Long backId);
|
||||||
|
|
||||||
|
List<MktCouponTmplBackVO> listBackVO(@Param("backId") Long backId, @Param("couponType") Integer couponType);
|
||||||
|
|
||||||
|
List<Long> getBackIdsByTmplId(Long tmplId);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,116 @@
|
||||||
|
package com.bonus.canteen.core.marketing.coupon.model;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@TableName("mkt_coupon_tmpl_back")
|
||||||
|
@ApiModel("餐券模板备份记录表")
|
||||||
|
public class MktCouponTmplBack extends Model<MktCouponTmplBack> {
|
||||||
|
@TableId
|
||||||
|
@ApiModelProperty("主键自增")
|
||||||
|
private Long id;
|
||||||
|
@ApiModelProperty("餐券模板备份id")
|
||||||
|
private Long backId;
|
||||||
|
@ApiModelProperty("餐券模板id")
|
||||||
|
private Long tmplId;
|
||||||
|
@ApiModelProperty("餐券类型")
|
||||||
|
private Integer couponType;
|
||||||
|
@ApiModelProperty("单位名称")
|
||||||
|
private String companyName;
|
||||||
|
@ApiModelProperty("餐券名称")
|
||||||
|
private String couponName;
|
||||||
|
@ApiModelProperty("餐券金额")
|
||||||
|
private BigDecimal couponAmount;
|
||||||
|
@TableField(
|
||||||
|
value = "crby",
|
||||||
|
fill = FieldFill.INSERT
|
||||||
|
)
|
||||||
|
@ApiModelProperty("创建人")
|
||||||
|
private String crby;
|
||||||
|
@ApiModelProperty("创建时间")
|
||||||
|
private LocalDateTime crtime;
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return this.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getBackId() {
|
||||||
|
return this.backId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getTmplId() {
|
||||||
|
return this.tmplId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getCouponType() {
|
||||||
|
return this.couponType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCompanyName() {
|
||||||
|
return this.companyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCouponName() {
|
||||||
|
return this.couponName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getCouponAmount() {
|
||||||
|
return this.couponAmount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCrby() {
|
||||||
|
return this.crby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDateTime getCrtime() {
|
||||||
|
return this.crtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(final Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBackId(final Long backId) {
|
||||||
|
this.backId = backId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTmplId(final Long tmplId) {
|
||||||
|
this.tmplId = tmplId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCouponType(final Integer couponType) {
|
||||||
|
this.couponType = couponType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompanyName(final String companyName) {
|
||||||
|
this.companyName = companyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCouponName(final String couponName) {
|
||||||
|
this.couponName = couponName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCouponAmount(final BigDecimal couponAmount) {
|
||||||
|
this.couponAmount = couponAmount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCrby(final String crby) {
|
||||||
|
this.crby = crby;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCrtime(final LocalDateTime crtime) {
|
||||||
|
this.crtime = crtime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
Long var10000 = this.getId();
|
||||||
|
return "MktCouponTmplBack(id=" + var10000 + ", backId=" + this.getBackId() + ", tmplId=" + this.getTmplId() + ", couponType=" + this.getCouponType() + ", companyName=" + this.getCompanyName() + ", couponName=" + this.getCouponName() + ", couponAmount=" + String.valueOf(this.getCouponAmount()) + ", crby=" + this.getCrby() + ", crtime=" + String.valueOf(this.getCrtime()) + ")";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,10 +7,8 @@ import com.bonus.canteen.core.marketing.coupon.model.MktCouponPayModel;
|
||||||
import com.bonus.canteen.core.marketing.coupon.param.MktCouponMobileUsableParam;
|
import com.bonus.canteen.core.marketing.coupon.param.MktCouponMobileUsableParam;
|
||||||
import com.bonus.canteen.core.marketing.coupon.vo.MktCouponMobileUsableVO;
|
import com.bonus.canteen.core.marketing.coupon.vo.MktCouponMobileUsableVO;
|
||||||
import com.bonus.canteen.core.marketing.dto.GroupCuponDto;
|
import com.bonus.canteen.core.marketing.dto.GroupCuponDto;
|
||||||
import com.bonus.canteen.core.marketing.vo.MktGroupVo;
|
import com.bonus.canteen.core.marketing.coupon.vo.MktGroupVo;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface MktCouponService extends IService<MktCoupon> {
|
public interface MktCouponService extends IService<MktCoupon> {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.bonus.canteen.core.marketing.coupon.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.constants.MktCouponTypeEnum;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.model.MktCouponTmplBack;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.vo.MktCouponTmplBackVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface MktCouponTmplBackService extends IService<MktCouponTmplBack> {
|
||||||
|
MktCouponTmplBackVO getBackRelationName(Long backId, MktCouponTypeEnum couponTypeEnum);
|
||||||
|
|
||||||
|
List<Long> getBackIdsByTmplId(Long tmplId);
|
||||||
|
}
|
||||||
|
|
@ -7,10 +7,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.bonus.canteen.core.marketing.coupon.dto.GroupByCouponStateDto;
|
import com.bonus.canteen.core.marketing.coupon.dto.GroupByCouponStateDto;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.service.MktCouponTmplBackService;
|
||||||
import com.bonus.canteen.core.marketing.dto.GroupCuponDto;
|
import com.bonus.canteen.core.marketing.dto.GroupCuponDto;
|
||||||
import com.bonus.canteen.core.marketing.vo.MktCouponMobileVO;
|
import com.bonus.canteen.core.marketing.coupon.vo.MktCouponMobileVO;
|
||||||
import com.bonus.canteen.core.marketing.vo.MktCouponTmplBackVO;
|
import com.bonus.canteen.core.marketing.coupon.vo.MktCouponTmplBackVO;
|
||||||
import com.bonus.canteen.core.marketing.vo.MktGroupVo;
|
import com.bonus.canteen.core.marketing.coupon.vo.MktGroupVo;
|
||||||
import com.bonus.common.core.exception.ServiceException;
|
import com.bonus.common.core.exception.ServiceException;
|
||||||
import com.bonus.canteen.core.allocation.canteen.mapper.AllocCanteenMapper;
|
import com.bonus.canteen.core.allocation.canteen.mapper.AllocCanteenMapper;
|
||||||
import com.bonus.canteen.core.marketing.coupon.constants.MktCouponStateEnum;
|
import com.bonus.canteen.core.marketing.coupon.constants.MktCouponStateEnum;
|
||||||
|
|
@ -40,6 +41,9 @@ import java.util.*;
|
||||||
@Service
|
@Service
|
||||||
public class MktCouponServiceImpl extends ServiceImpl<MktCouponMapper, MktCoupon> implements MktCouponService {
|
public class MktCouponServiceImpl extends ServiceImpl<MktCouponMapper, MktCoupon> implements MktCouponService {
|
||||||
private static final Logger log = LoggerFactory.getLogger(MktCouponServiceImpl.class);
|
private static final Logger log = LoggerFactory.getLogger(MktCouponServiceImpl.class);
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
|
private MktCouponTmplBackService mktCouponTmplBackService;
|
||||||
@Resource
|
@Resource
|
||||||
private MktCouponTmplDetlBackMapper mktCouponTmplDetlBackMapper;
|
private MktCouponTmplDetlBackMapper mktCouponTmplDetlBackMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
package com.bonus.canteen.core.marketing.coupon.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.constants.MktCouponTypeEnum;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.mapper.MktCouponTmplBackMapper;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.model.MktCouponTmplBack;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.service.MktCouponTmplBackService;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.vo.MktCouponTmplBackVO;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class MktCouponTmplBackServiceImpl extends ServiceImpl<MktCouponTmplBackMapper, MktCouponTmplBack> implements MktCouponTmplBackService {
|
||||||
|
@Resource
|
||||||
|
private AllocCanteenApi canteenAccessApi;
|
||||||
|
@Resource
|
||||||
|
private AllocStallApi shopstallAccessApi;
|
||||||
|
@Resource
|
||||||
|
private AllocMealtimeApi mealtimeAccessApi;
|
||||||
|
|
||||||
|
public MktCouponTmplBackVO getBackRelationName(Long backId, MktCouponTypeEnum couponTypeEnum) {
|
||||||
|
List<MktCouponTmplBackVO> tmplBackVOList = ((MktCouponTmplBackMapper)this.baseMapper).listBackVO(backId, couponTypeEnum.getKey());
|
||||||
|
MktCouponTmplBackVO resultVO = new MktCouponTmplBackVO();
|
||||||
|
Set<Long> canteenIdSet = new HashSet();
|
||||||
|
Set<Long> shopstallIdSet = new HashSet();
|
||||||
|
Set<Long> intervalIdSet = new HashSet();
|
||||||
|
BeanUtils.copyProperties(tmplBackVOList.get(0), resultVO);
|
||||||
|
Iterator var8 = tmplBackVOList.iterator();
|
||||||
|
|
||||||
|
while(var8.hasNext()) {
|
||||||
|
MktCouponTmplBackVO tmplBackVO = (MktCouponTmplBackVO)var8.next();
|
||||||
|
if (ObjectUtil.isNotNull(tmplBackVO.getCanteenId())) {
|
||||||
|
canteenIdSet.add(tmplBackVO.getCanteenId());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotNull(tmplBackVO.getShopstallId())) {
|
||||||
|
shopstallIdSet.add(tmplBackVO.getShopstallId());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotNull(tmplBackVO.getIntervalId())) {
|
||||||
|
intervalIdSet.add(tmplBackVO.getIntervalId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(canteenIdSet)) {
|
||||||
|
resultVO.setCanteenNameStr(this.canteenAccessApi.getCanteenNameByIdSet(canteenIdSet));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(shopstallIdSet)) {
|
||||||
|
resultVO.setShopstallNameStr(this.shopstallAccessApi.getStallNameByIdSet(shopstallIdSet));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(intervalIdSet)) {
|
||||||
|
resultVO.setIntervalNameStr(this.mealtimeAccessApi.getMealtimeNameByTypeSet(intervalIdSet));
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Long> getBackIdsByTmplId(Long tmplId) {
|
||||||
|
return ((MktCouponTmplBackMapper)this.baseMapper).getBackIdsByTmplId(tmplId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bonus.canteen.core.marketing.vo;
|
package com.bonus.canteen.core.marketing.coupon.vo;
|
||||||
|
|
||||||
import com.bonus.canteen.core.common.utils.SysUtil;
|
import com.bonus.canteen.core.common.utils.SysUtil;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bonus.canteen.core.marketing.vo;
|
package com.bonus.canteen.core.marketing.coupon.vo;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
package com.bonus.canteen.core.marketing.vo;
|
package com.bonus.canteen.core.marketing.coupon.vo;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.bonus.canteen.core.marketing.coupon.dto.GroupByCouponStateDto;
|
import com.bonus.canteen.core.marketing.coupon.dto.GroupByCouponStateDto;
|
||||||
|
import com.bonus.canteen.core.marketing.coupon.vo.MktCouponMobileVO;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="com.bonus.canteen.core.marketing.coupon.mapper.MktCouponTmplBackMapper" >
|
||||||
|
|
||||||
|
<!-- 查询餐券模板备份 -->
|
||||||
|
<select id="listBackVO" resultType="com.bonus.canteen.core.marketing.coupon.vo.MktCouponTmplBackVO">
|
||||||
|
SELECT
|
||||||
|
t1.back_id, t1.company_name, t1.coupon_name, t1.coupon_amount,t1.tmpl_id,
|
||||||
|
t2.canteen_id, t2.shopstall_id, t2.interval_id
|
||||||
|
FROM
|
||||||
|
mkt_coupon_tmpl_back t1 LEFT JOIN mkt_coupon_tmpl_detl_back t2 ON t1.back_id = t2.back_id
|
||||||
|
WHERE
|
||||||
|
t1.coupon_type = #{couponType}
|
||||||
|
AND t1.back_id = #{backId}
|
||||||
|
</select>
|
||||||
|
<select id="getBackIdsByTmplId" resultType="java.lang.Long">
|
||||||
|
SELECT
|
||||||
|
back_id
|
||||||
|
FROM
|
||||||
|
mkt_coupon_tmpl_back
|
||||||
|
WHERE
|
||||||
|
tmpl_id = #{tmplId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Loading…
Reference in New Issue