优惠券重写

This commit is contained in:
2024-10-24 13:26:18 +08:00
parent 646f201ce1
commit d27e2e01b6
38 changed files with 2423 additions and 1602 deletions

View File

@@ -136,7 +136,6 @@ public class PayController {
@RequestMapping("getActive")
public Result getActive(
@RequestHeader("token") String token,
@RequestParam("shopId") String shopId,
@RequestParam("page") int page,
@RequestParam("pageSize") int pageSize) {

View File

@@ -0,0 +1,37 @@
package com.chaozhanggui.system.cashierservice.controller;
import com.chaozhanggui.system.cashierservice.entity.dto.CouponDto;
import com.chaozhanggui.system.cashierservice.service.TbShopCouponService;
import com.chaozhanggui.system.cashierservice.sign.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 优惠券(TbShopCoupon)表控制层
*
* @author ww
* @since 2024-10-23 15:37:26
*/
@RestController
@RequestMapping("coupon")
public class TbShopCouponController {
/**
* 服务对象
*/
@Autowired
private TbShopCouponService tbShopCouponService;
/**
* 根据优惠券DTO查询优惠券
* @param param 优惠券DTO
* @return 查询结果
*/
@RequestMapping("find")
public Result find(@RequestBody CouponDto param) {
return tbShopCouponService.find(param);
}
}

View File

@@ -1,8 +1,7 @@
package com.chaozhanggui.system.cashierservice.dao;
import com.chaozhanggui.system.cashierservice.entity.TbActivateInRecord;
import com.chaozhanggui.system.cashierservice.entity.TbProduct;
import com.chaozhanggui.system.cashierservice.entity.vo.UserCouponVo;
import com.chaozhanggui.system.cashierservice.entity.vo.TbUserCouponVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -31,10 +30,11 @@ public interface TbActivateInRecordMapper {
*/
List<TbActivateInRecord> queryAll(TbActivateInRecord tbActivateInRecord);
List<TbProduct> queryByVipIdAndShopId(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId);
List<UserCouponVo> queryVipPro(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId,@Param("shopName")String shopName);
int queryByVipIdAndShopIdAndProId(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId,@Param("productId") Integer productId);
List<TbActivateInRecord> queryAllByVipIdAndShopIdAndProId(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId,@Param("productId") Integer productId);
//未使用券
List<TbUserCouponVo> queryByVipIdAndShopId(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId);
List<TbActivateInRecord> queryByVipIdAndShopIdIn(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId);
//过期券
List<TbUserCouponVo> queryByVipIdAndShopIdExpire(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId);
int countCouponNum(@Param("userId") Integer userId);
@@ -63,8 +63,6 @@ public interface TbActivateInRecordMapper {
*/
int update(TbActivateInRecord tbActivateInRecord);
int updateOverNumById(@Param("id")Integer id,@Param("overNum")Integer overNum);
/**
* 通过主键删除数据
*

View File

@@ -1,29 +1,72 @@
package com.chaozhanggui.system.cashierservice.dao;
import com.chaozhanggui.system.cashierservice.entity.TbActivate;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import org.springframework.data.domain.Pageable;
import java.math.BigDecimal;
import java.util.List;
@Component
@Mapper
/**
* (TbActivate)表数据库访问层
*
* @author ww
* @since 2024-10-23 14:19:53
*/
public interface TbActivateMapper {
// int deleteByPrimaryKey(Integer id);
// int insert(TbActivate record);
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
TbActivate queryById(Integer id);
// int insertSelective(TbActivate record);
/**
* 查询数据
*
* @param tbActivate 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<TbActivate> queryAll(TbActivate tbActivate, @Param("pageable") Pageable pageable);
TbActivate selectByPrimaryKey(Integer id);
// int updateByPrimaryKeySelective(TbActivate record);
// int updateByPrimaryKey(TbActivate record);
List<TbActivate> selectByShopId(String shopId);
TbActivate selectByAmount(@Param("shopId") String shopId,@Param("amount") BigDecimal amount);
List<TbActivate> selectByShopId(String shopId);
/**
* 新增数据
*
* @param tbActivate 实例对象
* @return 影响行数
*/
int insert(TbActivate tbActivate);
/**
* 批量新增数据MyBatis原生foreach方法
*
* @param entities List<TbActivate> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TbActivate> entities);
/**
* 修改数据
*
* @param tbActivate 实例对象
* @return 影响行数
*/
int update(TbActivate tbActivate);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 影响行数
*/
int deleteById(Integer id);
}

View File

@@ -1,8 +1,9 @@
package com.chaozhanggui.system.cashierservice.dao;
import com.chaozhanggui.system.cashierservice.entity.TbActivateOutRecord;
import com.chaozhanggui.system.cashierservice.entity.vo.UserCouponVo;
import com.chaozhanggui.system.cashierservice.entity.vo.TbUserCouponVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
import java.util.List;
@@ -10,7 +11,7 @@ import java.util.List;
* 活动赠送商品使用记录表(TbActivateOutRecord)表数据库访问层
*
* @author ww
* @since 2024-08-22 11:21:56
* @since 2024-10-23 14:55:22
*/
public interface TbActivateOutRecordMapper {
@@ -26,12 +27,12 @@ public interface TbActivateOutRecordMapper {
* 查询数据
*
* @param tbActivateOutRecord 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<TbActivateOutRecord> queryAll(TbActivateOutRecord tbActivateOutRecord);
List<UserCouponVo> queryVipPro(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId, @Param("shopName") String shopName);
List<TbActivateOutRecord> queryAll(TbActivateOutRecord tbActivateOutRecord, @Param("pageable") Pageable pageable);
List<TbUserCouponVo> queryByVipIdAndShopId(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId);
/**
* 新增数据
@@ -57,14 +58,6 @@ public interface TbActivateOutRecordMapper {
*/
int update(TbActivateOutRecord tbActivateOutRecord);
/**
* 根据订单id 将数据状态变为
* @param orderId 订单Id
* @param status 状态
* @return
*/
int updateByOrderIdAndStatus(@Param("orderId")Integer orderId,@Param("status")String status);
/**
* 通过主键删除数据
*

View File

@@ -1,68 +0,0 @@
package com.chaozhanggui.system.cashierservice.dao;
import com.chaozhanggui.system.cashierservice.entity.TbActivateProduct;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 活动赠送商品表(TbActivateProduct)表数据库访问层
*
* @author ww
* @since 2024-08-20 15:14:55
*/
public interface TbActivateProductMapper {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
TbActivateProduct queryById(Integer id);
/**
* 查询数据
*
* @param tbActivateProduct 查询条件
* @return 对象列表
*/
List<TbActivateProduct> queryAll(TbActivateProduct tbActivateProduct);
List<TbActivateProduct> queryAllByActivateId(Integer activateId);
List<String> queryProsByActivateId(Integer activateId);
/**
* 新增数据
*
* @param tbActivateProduct 实例对象
* @return 影响行数
*/
int insert(TbActivateProduct tbActivateProduct);
/**
* 批量新增数据MyBatis原生foreach方法
*
* @param entities List<TbActivateProduct> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TbActivateProduct> entities);
/**
* 修改数据
*
* @param tbActivateProduct 实例对象
* @return 影响行数
*/
int update(TbActivateProduct tbActivateProduct);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 影响行数
*/
int deleteById(Integer id);
}

View File

@@ -0,0 +1,72 @@
package com.chaozhanggui.system.cashierservice.dao;
import com.chaozhanggui.system.cashierservice.entity.TbCouponProduct;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
import java.util.List;
/**
* 活动赠送商品表(TbCouponProduct)表数据库访问层
*
* @author ww
* @since 2024-10-23 14:35:49
*/
public interface TbCouponProductMapper {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
TbCouponProduct queryById(Integer id);
/**
* 查询数据
*
* @param tbCouponProduct 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<TbCouponProduct> queryAll(TbCouponProduct tbCouponProduct, @Param("pageable") Pageable pageable);
List<TbCouponProduct> queryAllByCouponId(Integer couponId);
List<String> queryProsByActivateId(@Param("couponId")Integer couponId,@Param("num")Integer num);
/**
* 新增数据
*
* @param tbCouponProduct 实例对象
* @return 影响行数
*/
int insert(TbCouponProduct tbCouponProduct);
/**
* 批量新增数据MyBatis原生foreach方法
*
* @param entities List<TbCouponProduct> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TbCouponProduct> entities);
/**
* 修改数据
*
* @param tbCouponProduct 实例对象
* @return 影响行数
*/
int update(TbCouponProduct tbCouponProduct);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 影响行数
*/
int deleteById(Integer id);
}

View File

@@ -0,0 +1,68 @@
package com.chaozhanggui.system.cashierservice.dao;
import com.chaozhanggui.system.cashierservice.entity.TbShopCoupon;
import org.apache.ibatis.annotations.Param;
import org.springframework.data.domain.Pageable;
import java.util.List;
/**
* 优惠券(TbShopCoupon)表数据库访问层
*
* @author ww
* @since 2024-10-23 14:25:13
*/
public interface TbShopCouponMapper {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
TbShopCoupon queryById(Integer id);
/**
* 查询数据
*
* @param tbShopCoupon 查询条件
* @param pageable 分页对象
* @return 对象列表
*/
List<TbShopCoupon> queryAll(TbShopCoupon tbShopCoupon, @Param("pageable") Pageable pageable);
/**
* 新增数据
*
* @param tbShopCoupon 实例对象
* @return 影响行数
*/
int insert(TbShopCoupon tbShopCoupon);
/**
* 批量新增数据MyBatis原生foreach方法
*
* @param entities List<TbShopCoupon> 实例对象列表
* @return 影响行数
*/
int insertBatch(@Param("entities") List<TbShopCoupon> entities);
/**
* 修改数据
*
* @param tbShopCoupon 实例对象
* @return 影响行数
*/
int update(TbShopCoupon tbShopCoupon);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 影响行数
*/
int deleteById(Integer id);
}

View File

@@ -13,11 +13,6 @@ import java.util.List;
@Component
@Mapper
public interface TbShopInfoMapper {
int deleteByPrimaryKey(Integer id);
int insert(TbShopInfo record);
int insertSelective(TbShopInfo record);
List<SubShopVo> selShopInfoByGps(@Param("rightTopLng") Double rightTopLng, @Param("rightTopLat") Double rightTopLat,
@Param("leftBottomLng") Double leftBottomLng, @Param("leftBottomLat") Double leftBottomLat,
@@ -30,12 +25,6 @@ public interface TbShopInfoMapper {
List<TbShopInfo> selectByIds(@Param("list") List<String> ids);
int updateByPrimaryKeySelective(TbShopInfo record);
int updateByPrimaryKeyWithBLOBs(TbShopInfo record);
int updateByPrimaryKey(TbShopInfo record);
TbShopInfo selectByQrCode(String qrcode);
TbShopInfo selectByPhone(String phone);

View File

@@ -1,33 +1,49 @@
package com.chaozhanggui.system.cashierservice.entity;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* (TbActivate)实体类
*
* @author ww
* @since 2024-10-23 14:16:33
*/
public class TbActivate implements Serializable {
private static final long serialVersionUID = 216340931948517603L;
private Integer id;
private Integer shopId;
/**
* 充值金额
*/
private Integer amount;
/**
* 赠送金额
*/
private Integer giftAmount;
/**
* 是否使用优惠卷 0否 1是
*/
private Integer isUseCoupon;
/**
* 优惠卷id
*/
private Integer couponId;
/**
* 优惠卷数量
*/
private Integer num;
private Integer minNum;
private Date createTime = new Date();
private Integer maxNum;
private Date updateTime = new Date();
private BigDecimal handselNum;
private String handselType;
private String isDel;
//是否赠送商品 0否 1是
private Integer isGiftPro;
private String couponDesc;
private List<String> gives;
private static final long serialVersionUID = 1L;
public Integer getId() {
return id;
}
@@ -44,52 +60,69 @@ public class TbActivate implements Serializable {
this.shopId = shopId;
}
public Integer getMinNum() {
return minNum;
public Integer getAmount() {
return amount;
}
public void setMinNum(Integer minNum) {
this.minNum = minNum;
public void setAmount(Integer amount) {
this.amount = amount;
}
public Integer getMaxNum() {
return maxNum;
public Integer getGiftAmount() {
return giftAmount;
}
public void setMaxNum(Integer maxNum) {
this.maxNum = maxNum;
public void setGiftAmount(Integer giftAmount) {
this.giftAmount = giftAmount;
}
public BigDecimal getHandselNum() {
return handselNum;
public Integer getIsUseCoupon() {
return isUseCoupon;
}
public void setHandselNum(BigDecimal handselNum) {
this.handselNum = handselNum;
public void setIsUseCoupon(Integer isUseCoupon) {
this.isUseCoupon = isUseCoupon;
}
public String getHandselType() {
return handselType;
public Integer getCouponId() {
return couponId;
}
public void setHandselType(String handselType) {
this.handselType = handselType == null ? null : handselType.trim();
public void setCouponId(Integer couponId) {
this.couponId = couponId;
}
public String getIsDel() {
return isDel;
public Integer getNum() {
return num;
}
public void setIsDel(String isDel) {
this.isDel = isDel == null ? null : isDel.trim();
public void setNum(Integer num) {
this.num = num;
}
public Integer getIsGiftPro() {
return isGiftPro;
public Date getCreateTime() {
return createTime;
}
public void setIsGiftPro(Integer isGiftPro) {
this.isGiftPro = isGiftPro;
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getCouponDesc() {
return couponDesc;
}
public void setCouponDesc(String couponDesc) {
this.couponDesc = couponDesc;
}
public List<String> getGives() {
@@ -97,10 +130,7 @@ public class TbActivate implements Serializable {
}
public void setGives(List<String> gives) {
if(CollectionUtils.isEmpty(gives)){
this.gives = new ArrayList<>();
}else {
this.gives = gives;
}
this.gives = gives;
}
}
}

View File

@@ -4,56 +4,75 @@ import java.util.Date;
import java.io.Serializable;
/**
* 活动商品赠送表(TbActivateInRecord)实体类
* 活动商品赠送记录表(TbActivateInRecord)实体类
*
* @author ww
* @since 2024-08-22 11:13:40
* @since 2024-10-23 16:43:02
*/
public class TbActivateInRecord implements Serializable {
private static final long serialVersionUID = -35515830201618782L;
private static final long serialVersionUID = -31673077202067433L;
private Integer id;
/**
/**
* 会员id
*/
private Integer vipUserId;
/**
/**
* 卷Id (校验是否可用)
*/
private Integer couponId;
/**
* 卷描述 满10减2/商品卷
*/
private String name;
/**
* 1-满减 2-商品
*/
private Integer type;
/**
* 商品id
*/
private Integer proId;
/**
/**
* 满多少金额
*/
private Integer fullAmount;
/**
* 减多少金额
*/
private Integer discountAmount;
/**
* 赠送数量
*/
private Integer num;
/**
/**
* 未使用数量
*/
private Integer overNum;
/**
/**
* 店铺id
*/
private Integer shopId;
/**
/**
* 来源活动id
*/
private Integer sourceActId;
private Integer sourceFlowId;
/**
* 可用开始时间
*/
private Date useStartTime;
/**
* 可用结束时间
*/
private Date useEndTime;
private Date createTime;
private Date updateTime;
public TbActivateInRecord(Integer vipUserId, Integer proId, Integer num, Integer shopId, Integer sourceActId,Integer sourceFlowId) {
this.vipUserId = vipUserId;
this.proId = proId;
this.num = num;
this.overNum = num;
this.shopId = shopId;
this.sourceActId = sourceActId;
this.sourceFlowId = sourceFlowId;
this.createTime=new Date();
}
private String couponJson;
public Integer getId() {
@@ -72,6 +91,30 @@ public class TbActivateInRecord implements Serializable {
this.vipUserId = vipUserId;
}
public Integer getCouponId() {
return couponId;
}
public void setCouponId(Integer couponId) {
this.couponId = couponId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getProId() {
return proId;
}
@@ -80,6 +123,22 @@ public class TbActivateInRecord implements Serializable {
this.proId = proId;
}
public Integer getFullAmount() {
return fullAmount;
}
public void setFullAmount(Integer fullAmount) {
this.fullAmount = fullAmount;
}
public Integer getDiscountAmount() {
return discountAmount;
}
public void setDiscountAmount(Integer discountAmount) {
this.discountAmount = discountAmount;
}
public Integer getNum() {
return num;
}
@@ -120,6 +179,22 @@ public class TbActivateInRecord implements Serializable {
this.sourceFlowId = sourceFlowId;
}
public Date getUseStartTime() {
return useStartTime;
}
public void setUseStartTime(Date useStartTime) {
this.useStartTime = useStartTime;
}
public Date getUseEndTime() {
return useEndTime;
}
public void setUseEndTime(Date useEndTime) {
this.useEndTime = useEndTime;
}
public Date getCreateTime() {
return createTime;
}
@@ -136,5 +211,13 @@ public class TbActivateInRecord implements Serializable {
this.updateTime = updateTime;
}
public String getCouponJson() {
return couponJson;
}
public void setCouponJson(String couponJson) {
this.couponJson = couponJson;
}
}

View File

@@ -7,20 +7,30 @@ import java.io.Serializable;
* 活动赠送商品使用记录表(TbActivateOutRecord)实体类
*
* @author ww
* @since 2024-08-22 11:21:56
* @since 2024-10-23 14:55:22
*/
public class TbActivateOutRecord implements Serializable {
private static final long serialVersionUID = -54399746948905097L;
private static final long serialVersionUID = -34082928893064380L;
private Integer id;
private Integer shopId;
/**
* 商品赠送Id
* 订单id
*/
private String orderId;
/**
* 商品赠送Id tb_activate_in_record的id
*/
private Integer giveId;
/**
* 商品id
* 会员id
*/
private Integer proId;
private Integer vipUserId;
/**
* 1-满减 2-商品
*/
private Integer type;
/**
* 使用数量
*/
@@ -30,24 +40,14 @@ public class TbActivateOutRecord implements Serializable {
*/
private Integer refNum;
/**
* 订单id
* 新建: create 完成: closed, 取消cancel,
*/
private String orderId;
//新建: create 完成: closed, 取消cancel,
private String status;
private Date createTime;
private Date updateTime;
public TbActivateOutRecord(Integer giveId, Integer proId, Integer useNum, String orderId, String status) {
this.giveId = giveId;
this.proId = proId;
this.useNum = useNum;
this.orderId = orderId;
this.status = status;
this.createTime = new Date();
}
public Integer getId() {
return id;
@@ -57,6 +57,22 @@ public class TbActivateOutRecord implements Serializable {
this.id = id;
}
public Integer getShopId() {
return shopId;
}
public void setShopId(Integer shopId) {
this.shopId = shopId;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public Integer getGiveId() {
return giveId;
}
@@ -65,12 +81,20 @@ public class TbActivateOutRecord implements Serializable {
this.giveId = giveId;
}
public Integer getProId() {
return proId;
public Integer getVipUserId() {
return vipUserId;
}
public void setProId(Integer proId) {
this.proId = proId;
public void setVipUserId(Integer vipUserId) {
this.vipUserId = vipUserId;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getUseNum() {
@@ -97,14 +121,6 @@ public class TbActivateOutRecord implements Serializable {
this.status = status;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public Date getCreateTime() {
return createTime;
}

View File

@@ -4,24 +4,24 @@ import java.util.Date;
import java.io.Serializable;
/**
* 活动赠送商品表(TbActivateProduct)实体类
* 活动赠送商品表(TbCouponProduct)实体类
*
* @author ww
* @since 2024-08-20 15:15:01
* @since 2024-10-23 14:35:49
*/
public class TbActivateProduct implements Serializable {
private static final long serialVersionUID = 592370528166603965L;
public class TbCouponProduct implements Serializable {
private static final long serialVersionUID = 619724621133545616L;
private Integer id;
/**
/**
* 活动Id
*/
private Integer activateId;
/**
private Integer couponId;
/**
* 商品id
*/
private Integer productId;
/**
/**
* 数量
*/
private Integer num;
@@ -39,12 +39,12 @@ public class TbActivateProduct implements Serializable {
this.id = id;
}
public Integer getActivateId() {
return activateId;
public Integer getCouponId() {
return couponId;
}
public void setActivateId(Integer activateId) {
this.activateId = activateId;
public void setCouponId(Integer couponId) {
this.couponId = couponId;
}
public Integer getProductId() {

View File

@@ -0,0 +1,288 @@
package com.chaozhanggui.system.cashierservice.entity;
import java.time.LocalTime;
import java.util.Date;
import java.io.Serializable;
/**
* 优惠券(TbShopCoupon)实体类
*
* @author ww
* @since 2024-10-24 10:40:00
*/
public class TbShopCoupon implements Serializable {
private static final long serialVersionUID = 382961088281627909L;
/**
* 自增
*/
private Integer id;
private String shopId;
/**
* 名称(无意义)
*/
private String title;
/**
* 1-满减 2-商品
*/
private Integer type;
/**
* 满多少金额
*/
private Integer fullAmount;
/**
* 减多少金额
*/
private Integer discountAmount;
/**
* 描述
*/
private String description;
/**
* 发放数量
*/
private Integer number;
/**
* 剩余数量
*/
private Integer leftNumber;
/**
* 有效期类型,可选值为 fixed固定时间/custom自定义时间
*/
private String validityType;
/**
* 有效天数
*/
private Integer validDays;
/**
* 隔多少天生效
*/
private Integer daysToTakeEffect;
/**
* 有效开始时间
*/
private Date validStartTime;
/**
* 有效结束时间
*/
private Date validEndTime;
/**
* 周 数组["周一","周二"]
*/
private String userDays;
/**
* all-全时段 custom-指定时段
*/
private String useTimeType;
/**
* 可用开始时间
*/
private LocalTime useStartTime;
/**
* 可用结束时间
*/
private LocalTime useEndTime;
/**
* 已使用数量
*/
private Integer useNumber;
/**
* 发放人
*/
private String editor;
/**
* 状态0-关闭 1 正常
*/
private Integer status;
private Date createTime;
private Date updateTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getShopId() {
return shopId;
}
public void setShopId(String shopId) {
this.shopId = shopId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getFullAmount() {
return fullAmount;
}
public void setFullAmount(Integer fullAmount) {
this.fullAmount = fullAmount;
}
public Integer getDiscountAmount() {
return discountAmount;
}
public void setDiscountAmount(Integer discountAmount) {
this.discountAmount = discountAmount;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
public Integer getLeftNumber() {
return leftNumber;
}
public void setLeftNumber(Integer leftNumber) {
this.leftNumber = leftNumber;
}
public String getValidityType() {
return validityType;
}
public void setValidityType(String validityType) {
this.validityType = validityType;
}
public Integer getValidDays() {
return validDays;
}
public void setValidDays(Integer validDays) {
this.validDays = validDays;
}
public Integer getDaysToTakeEffect() {
return daysToTakeEffect;
}
public void setDaysToTakeEffect(Integer daysToTakeEffect) {
this.daysToTakeEffect = daysToTakeEffect;
}
public Date getValidStartTime() {
return validStartTime;
}
public void setValidStartTime(Date validStartTime) {
this.validStartTime = validStartTime;
}
public Date getValidEndTime() {
return validEndTime;
}
public void setValidEndTime(Date validEndTime) {
this.validEndTime = validEndTime;
}
public String getUserDays() {
return userDays;
}
public void setUserDays(String userDays) {
this.userDays = userDays;
}
public String getUseTimeType() {
return useTimeType;
}
public void setUseTimeType(String useTimeType) {
this.useTimeType = useTimeType;
}
public LocalTime getUseStartTime() {
return useStartTime;
}
public void setUseStartTime(LocalTime useStartTime) {
this.useStartTime = useStartTime;
}
public LocalTime getUseEndTime() {
return useEndTime;
}
public void setUseEndTime(LocalTime useEndTime) {
this.useEndTime = useEndTime;
}
public Integer getUseNumber() {
return useNumber;
}
public void setUseNumber(Integer useNumber) {
this.useNumber = useNumber;
}
public String getEditor() {
return editor;
}
public void setEditor(String editor) {
this.editor = editor;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}

View File

@@ -1,128 +1,785 @@
package com.chaozhanggui.system.cashierservice.entity;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.io.Serializable;
@Data
/**
* (TbShopInfo)实体类
*
* @author ww
* @since 2024-10-23 15:03:55
*/
public class TbShopInfo implements Serializable {
private static final long serialVersionUID = -75915575260078554L;
/**
* 自增id
*/
private Integer id;
/**
* 店铺帐号
*/
private String account;
/**
* 店铺代号策略方式为city +店铺号8位
*/
private String shopCode;
/**
* 店铺口号
*/
private String subTitle;
/**
* 商户Id
*/
private String merchantId;
/**
* 店铺名称
*/
private String shopName;
/**
* 连锁店扩展店名
*/
private String chainName;
/**
* 背景图
*/
private String backImg;
/**
* 门头照
*/
private String frontImg;
/**
* 联系人姓名
*/
private String contactName;
/**
* 联系电话
*/
private String phone;
/**
* 店铺log0
*/
private String logo;
private Byte isDeposit;
private Byte isSupply;
/**
* 是否参与代收 0--不参与 1参与
*/
private Integer isDeposit;
/**
* 是否为供应商
*/
private Integer isSupply;
/**
* 封面图
*/
private String coverImg;
/**
* 店铺分享图
*/
private String shareImg;
/**
* 轮播图
*/
private String view;
/**
* 店铺简介
*/
private String detail;
/**
* 经纬度
*/
private String lat;
/**
* 经纬度
*/
private String lng;
/**
* 未用
*/
private String mchId;
private String registerType;
private Byte isWxMaIndependent;
/**
* 是否独立的微信小程序
*/
private Integer isWxMaIndependent;
/**
* 详细地址
*/
private String address;
/**
* 类似于这种规则51.51.570
*/
private String city;
/**
* 店铺类型 超市--MARKET---其它店SHOP
*/
private String type;
/**
* 行业
*/
private String industry;
/**
* 行业名称
*/
private String industryName;
/**
* 营业时间(周开始)
*/
private String businessStartDay;
/**
* 营业时间(周结束)
*/
private String businessEndDay;
/**
* 营业时间
*/
private String businessTime;
/**
* 配送时间
*/
private String postTime;
private BigDecimal postAmountLine;
private Byte onSale;
private Byte settleType;
/**
* 0停业1正常营业,网上售卖
*/
private Integer onSale;
/**
* 0今日1次日
*/
private Integer settleType;
/**
* 时间
*/
private String settleTime;
/**
* 入驻时间
*/
private Integer enterAt;
/**
* 到期时间
*/
private Long expireAt;
private Byte status;
private Float average;
/**
* -1 平台禁用 0-过期1正式营业
*/
private Integer status;
/**
* 人均消费
*/
private BigDecimal average;
/**
* 订单等待时间
*/
private Integer orderWaitPayMinute;
/**
* 支持登陆设备个数
*/
private Integer supportDeviceNumber;
private Byte distributeLevel;
/**
* 分销层级1-下级分销 2-两下级分销)
*/
private Integer distributeLevel;
private Long createdAt;
private Long updatedAt;
private String proxyId;
private String view;
/**
* trial试用版release正式
*/
private String profiles;
/**
* 商家二维码
*/
private String shopQrcode;
private String isOpenYhq;
private Byte isUseVip;
/**
* 商标签
* 商标签
*/
private String tag;
private String provinces;
private String cities;
private String districts;
private String isOpenYhq;
/**
* 0否1是
*/
private Integer isUseVip;
/**
* 省
*/
private String provinces;
/**
* 市
*/
private String cities;
/**
* 区/县
*/
private String districts;
/**
* 是否允许会员自定义金额 1 允许 0 不允许
*/
private String isCustom;
//是否开启桌位费 0否1是
/**
* 是否开启退款密码 1 启用 0 禁用
*/
private String isReturn;
/**
* 是否开启会员充值密码 1 启用 0 禁用
*/
private String isMemberIn;
/**
* 是否开启会员退款密码 1 启用 0 禁用
*/
private String isMemberReturn;
/**
* 是否免除桌位费 0否1是
*/
private Integer isTableFee;
//桌位费
/**
* 是否启用会员价 0否1是
*/
private Integer isMemberPrice;
/**
* 积分群体 all-所有 vip-仅针对会员
*/
private String consumeColony;
/**
* 桌位费
*/
private BigDecimal tableFee;
//就餐模式 堂食 dine-in 外带 take-out
/**
* 就餐模式 堂食 dine-in 外带 take-out
*/
private String eatModel;
//程序码(零点八零首页)
/**
* 小程序码(零点八零首页)
*/
private String smallQrcode;
//店铺收款码
/**
* 店铺收款码
*/
private String paymentQrcode;
private static final long serialVersionUID = 1L;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getShopCode() {
return shopCode;
}
public void setShopCode(String shopCode) {
this.shopCode = shopCode;
}
public String getSubTitle() {
return subTitle;
}
public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}
public String getMerchantId() {
return merchantId;
}
public void setMerchantId(String merchantId) {
this.merchantId = merchantId;
}
public String getShopName() {
return shopName;
}
public void setShopName(String shopName) {
this.shopName = shopName;
}
public String getChainName() {
return chainName;
}
public void setChainName(String chainName) {
this.chainName = chainName;
}
public String getBackImg() {
return backImg;
}
public void setBackImg(String backImg) {
this.backImg = backImg;
}
public String getFrontImg() {
return frontImg;
}
public void setFrontImg(String frontImg) {
this.frontImg = frontImg;
}
public String getContactName() {
return contactName;
}
public void setContactName(String contactName) {
this.contactName = contactName;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
public Integer getIsDeposit() {
return isDeposit;
}
public void setIsDeposit(Integer isDeposit) {
this.isDeposit = isDeposit;
}
public Integer getIsSupply() {
return isSupply;
}
public void setIsSupply(Integer isSupply) {
this.isSupply = isSupply;
}
public String getCoverImg() {
return coverImg;
}
public void setCoverImg(String coverImg) {
this.coverImg = coverImg;
}
public String getShareImg() {
return shareImg;
}
public void setShareImg(String shareImg) {
this.shareImg = shareImg;
}
public String getView() {
return view;
}
public void setView(String view) {
this.view = view;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getLng() {
return lng;
}
public void setLng(String lng) {
this.lng = lng;
}
public String getMchId() {
return mchId;
}
public void setMchId(String mchId) {
this.mchId = mchId;
}
public String getRegisterType() {
return registerType;
}
public void setRegisterType(String registerType) {
this.registerType = registerType;
}
public Integer getIsWxMaIndependent() {
return isWxMaIndependent;
}
public void setIsWxMaIndependent(Integer isWxMaIndependent) {
this.isWxMaIndependent = isWxMaIndependent;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getIndustry() {
return industry;
}
public void setIndustry(String industry) {
this.industry = industry;
}
public String getIndustryName() {
return industryName;
}
public void setIndustryName(String industryName) {
this.industryName = industryName;
}
public String getBusinessStartDay() {
return businessStartDay;
}
public void setBusinessStartDay(String businessStartDay) {
this.businessStartDay = businessStartDay;
}
public String getBusinessEndDay() {
return businessEndDay;
}
public void setBusinessEndDay(String businessEndDay) {
this.businessEndDay = businessEndDay;
}
public String getBusinessTime() {
return businessTime;
}
public void setBusinessTime(String businessTime) {
this.businessTime = businessTime;
}
public String getPostTime() {
return postTime;
}
public void setPostTime(String postTime) {
this.postTime = postTime;
}
public BigDecimal getPostAmountLine() {
return postAmountLine;
}
public void setPostAmountLine(BigDecimal postAmountLine) {
this.postAmountLine = postAmountLine;
}
public Integer getOnSale() {
return onSale;
}
public void setOnSale(Integer onSale) {
this.onSale = onSale;
}
public Integer getSettleType() {
return settleType;
}
public void setSettleType(Integer settleType) {
this.settleType = settleType;
}
public String getSettleTime() {
return settleTime;
}
public void setSettleTime(String settleTime) {
this.settleTime = settleTime;
}
public Integer getEnterAt() {
return enterAt;
}
public void setEnterAt(Integer enterAt) {
this.enterAt = enterAt;
}
public Long getExpireAt() {
return expireAt;
}
public void setExpireAt(Long expireAt) {
this.expireAt = expireAt;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public BigDecimal getAverage() {
return average;
}
public void setAverage(BigDecimal average) {
this.average = average;
}
public Integer getOrderWaitPayMinute() {
return orderWaitPayMinute;
}
public void setOrderWaitPayMinute(Integer orderWaitPayMinute) {
this.orderWaitPayMinute = orderWaitPayMinute;
}
public Integer getSupportDeviceNumber() {
return supportDeviceNumber;
}
public void setSupportDeviceNumber(Integer supportDeviceNumber) {
this.supportDeviceNumber = supportDeviceNumber;
}
public Integer getDistributeLevel() {
return distributeLevel;
}
public void setDistributeLevel(Integer distributeLevel) {
this.distributeLevel = distributeLevel;
}
public Long getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Long createdAt) {
this.createdAt = createdAt;
}
public Long getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Long updatedAt) {
this.updatedAt = updatedAt;
}
public String getProxyId() {
return proxyId;
}
public void setProxyId(String proxyId) {
this.proxyId = proxyId;
}
public String getProfiles() {
return profiles;
}
public void setProfiles(String profiles) {
this.profiles = profiles;
}
public String getShopQrcode() {
return shopQrcode;
}
public void setShopQrcode(String shopQrcode) {
this.shopQrcode = shopQrcode;
}
public String getTag() {
return tag;
}
public void setTag(String tag) {
this.tag = tag;
}
public String getIsOpenYhq() {
return isOpenYhq;
}
public void setIsOpenYhq(String isOpenYhq) {
this.isOpenYhq = isOpenYhq;
}
public Integer getIsUseVip() {
return isUseVip;
}
public void setIsUseVip(Integer isUseVip) {
this.isUseVip = isUseVip;
}
public String getProvinces() {
return provinces;
}
public void setProvinces(String provinces) {
this.provinces = provinces;
}
public String getCities() {
return cities;
}
public void setCities(String cities) {
this.cities = cities;
}
public String getDistricts() {
return districts;
}
public void setDistricts(String districts) {
this.districts = districts;
}
public String getIsCustom() {
return isCustom;
}
public void setIsCustom(String isCustom) {
this.isCustom = isCustom;
}
public String getIsReturn() {
return isReturn;
}
public void setIsReturn(String isReturn) {
this.isReturn = isReturn;
}
public String getIsMemberIn() {
return isMemberIn;
}
public void setIsMemberIn(String isMemberIn) {
this.isMemberIn = isMemberIn;
}
public String getIsMemberReturn() {
return isMemberReturn;
}
public void setIsMemberReturn(String isMemberReturn) {
this.isMemberReturn = isMemberReturn;
}
public Integer getIsTableFee() {
return isTableFee;
}
public void setIsTableFee(Integer isTableFee) {
this.isTableFee = isTableFee;
}
public Integer getIsMemberPrice() {
return isMemberPrice;
}
public void setIsMemberPrice(Integer isMemberPrice) {
this.isMemberPrice = isMemberPrice;
}
public String getConsumeColony() {
return consumeColony;
}
public void setConsumeColony(String consumeColony) {
this.consumeColony = consumeColony;
}
public BigDecimal getTableFee() {
return tableFee;
}
public void setTableFee(BigDecimal tableFee) {
this.tableFee = tableFee;
}
public String getEatModel() {
return eatModel;
}
public void setEatModel(String eatModel) {
this.eatModel = eatModel;
}
public String getSmallQrcode() {
return smallQrcode;
}
public void setSmallQrcode(String smallQrcode) {
this.smallQrcode = smallQrcode;
}
public String getPaymentQrcode() {
return paymentQrcode;
}
public void setPaymentQrcode(String paymentQrcode) {
this.paymentQrcode = paymentQrcode;
}
}

View File

@@ -0,0 +1,11 @@
package com.chaozhanggui.system.cashierservice.entity.dto;
import lombok.Data;
@Data
public class CouponDto {
private Integer shopId;
private Integer userId;
//-1已过期 1未使用 2已使用
private Integer status;
private Integer orderId;
}

View File

@@ -55,7 +55,7 @@ public class GroupOrderDetailsVo {
* 商家名称
*/
private String shopName;
private Byte isUseVip;
private Integer isUseVip;
/**
* 商家电话
*/

View File

@@ -1,17 +0,0 @@
package com.chaozhanggui.system.cashierservice.entity.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author lyf
*/
@Data
public class IntegralFlowVo {
private String openId;
private Integer page;
private Integer pageSize;
private String sign;
}

View File

@@ -1,21 +0,0 @@
package com.chaozhanggui.system.cashierservice.entity.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author lyf
*/
@Data
public class IntegralVo {
//openId
private String openId;
//数量
private BigDecimal num;
//类型
private String type;
//签名
private String sign;
}

View File

@@ -8,7 +8,7 @@ import java.math.BigDecimal;
public class OrderConfirmVo {
private String proId;
private String shopId;
private Byte isUseVip;
private Integer isUseVip;
/**
* 商品图片
*/

View File

@@ -0,0 +1,30 @@
package com.chaozhanggui.system.cashierservice.entity.vo;
import lombok.Data;
import java.util.Date;
@Data
public class TbUserCouponVo {
private Integer couponId;
private Integer proId;
//优惠券名称
private String name;
//优惠券类型 1 满减 2 商品券
private Integer type;
//数量
private Integer num;
//到期时间
private Date endTime;
private Long expireTime;
private String useRestrictions;
private boolean isUse = false;
public void setEndTime(Date endTime) {
this.endTime = endTime;
if(endTime!=null){
expireTime=endTime.getTime();
}
}
}

View File

@@ -1,36 +0,0 @@
package com.chaozhanggui.system.cashierservice.entity.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class UserCouponVo {
/**
* 2 会员商品卷
*/
private Integer type;
/**
* 卷描述
*/
private String detail;
private String shopId;
private String shopName;
private String orderId;
/**
* 优惠金额
*/
private BigDecimal couponsPrice = BigDecimal.ZERO;
/**
* 多少可用
*/
private BigDecimal couponsAmount = BigDecimal.ZERO;
/**
* 数量
*/
private Integer num;
/**
* 卷状态 0 未使用
*/
private String status;
}

View File

@@ -1,11 +0,0 @@
package com.chaozhanggui.system.cashierservice.entity.vo;
import com.chaozhanggui.system.cashierservice.entity.TbProduct;
import lombok.Data;
@Data
public class VipProductsLimits extends TbProduct {
private Integer vipLimitNumber;
}

View File

@@ -839,27 +839,6 @@ public class CartService {
cart.setPackFee(BigDecimal.ZERO);
}
if (cart.getIsVip().equals((byte) 1)) {
if (isVip) {
int i1 = activateInRecordService.queryByVipIdAndShopIdAndProId(
Integer.valueOf(tbShopUser.getId()), Integer.valueOf(shopId), Integer.valueOf(cart.getProductId()));
if (i1 < cart.getTotalNumber()) {
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("status", "fail");
jsonObject1.put("msg", "会员商品[" + cart.getName() + "],可下单数量为" + i1);
jsonObject1.put("data", new ArrayList<>());
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), tableCartKey, jsonObject.getString("userId"), true);
continue;
}
} else {
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("status", "fail");
jsonObject1.put("msg", "非会员用户不可下单会员商品");
jsonObject1.put("data", new ArrayList<>());
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), tableCartKey, jsonObject.getString("userId"), true);
continue;
}
}
TbProductSkuWithBLOBs tbProduct;
if (!"-999".equals(cart.getProductId())) {
tbProduct = productSkuMapper.selectByPrimaryKey(Integer.valueOf(cart.getSkuId()));
@@ -1039,29 +1018,7 @@ public class CartService {
}
// 去除餐位费信息
List<TbActivateOutRecord> outRecords = new ArrayList<>();
for (TbCashierCart cashierCart : cashierCartList) {
if (!cashierCart.getProductId().equals("-999") && cashierCart.getIsVip().equals((byte) 1)) {
List<TbActivateInRecord> actInRecords = activateInRecordService.queryAllByVipIdAndShopIdAndProId(
Integer.valueOf(tbShopUser.getId()), Integer.valueOf(orderInfo.getShopId()), Integer.valueOf(cashierCart.getProductId()));
Integer totalNumber = cashierCart.getTotalNumber();
for (TbActivateInRecord actInRecord : actInRecords) {
if (totalNumber > 0) {
if (actInRecord.getOverNum() > totalNumber) {
TbActivateOutRecord outRecord = new TbActivateOutRecord(actInRecord.getId(), actInRecord.getProId(), totalNumber, orderInfo.getId().toString(), "create");
outRecords.add(outRecord);
activateInRecordService.updateOverNumById(actInRecord.getId(), actInRecord.getOverNum() - totalNumber);
break;
} else {
TbActivateOutRecord outRecord = new TbActivateOutRecord(actInRecord.getId(), actInRecord.getProId(), actInRecord.getOverNum(), orderInfo.getId().toString(), "create");
outRecords.add(outRecord);
activateInRecordService.updateOverNumById(actInRecord.getId(), 0);
totalNumber = totalNumber - actInRecord.getOverNum();
}
}
}
}
cashierCart.setUpdatedAt(System.currentTimeMillis());
cashierCart.setOrderId(orderId + "");
if ((!TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId()) && !shopEatTypeInfoDTO.isDineInAfter())
@@ -1080,7 +1037,6 @@ public class CartService {
// cashierCartMapper.deleteByPrimaryKey(seatCartInfo.getId());
// }
if (!CollectionUtils.isEmpty(outRecords)) outRecordMapper.insertBatch(outRecords);
// 打印票据
if (!addOrderDetail.isEmpty() && shopEatTypeInfoDTO.isDineInAfter()) {

View File

@@ -1,156 +0,0 @@
//package com.chaozhanggui.system.cashierservice.service;
//
//import com.chaozhanggui.system.cashierservice.dao.TbCashierCartMapper;
//import com.chaozhanggui.system.cashierservice.dao.TbProductMapper;
//import com.chaozhanggui.system.cashierservice.dao.TbProductSkuMapper;
//import com.chaozhanggui.system.cashierservice.entity.TbCashierCart;
//import com.chaozhanggui.system.cashierservice.entity.TbProduct;
//import com.chaozhanggui.system.cashierservice.entity.TbProductSku;
//import com.chaozhanggui.system.cashierservice.entity.dto.ProductCartDto;
//import com.chaozhanggui.system.cashierservice.entity.vo.CashierCarVo;
//import com.chaozhanggui.system.cashierservice.exception.MsgException;
//import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
//import com.chaozhanggui.system.cashierservice.sign.Result;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.BeanUtils;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//
//import javax.annotation.Resource;
//import java.math.BigDecimal;
//import java.time.Instant;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//
///**
// * @author lyf
// */
//@Service
//@Slf4j
//public class CashierCartService {
// @Resource
// private TbCashierCartMapper cashierCartMapper;
// @Resource
// private TbProductMapper productMapper;
// @Resource
// private TbProductSkuMapper productSkuMapper;
//
// /**
// * 增加购物车
// * @param productCartDto
// * @return
// */
// @Transactional(rollbackFor = Exception.class)
// public Result batchAdd(ProductCartDto productCartDto){
// //首先确认金额
// TbProduct tbProduct = productMapper.selectById(Integer.valueOf(productCartDto.getProductId()));
// if (tbProduct == null){
// return Result.fail("商品信息不存在");
// }
//
// TbCashierCart cashierCart = cashierCartMapper.selectByProduct(productCartDto.getProductId(), productCartDto.getTableId());
// if (cashierCart != null){
// if ("add".equals(productCartDto.getType())){
// TbCashierCart cashierCartNow = new TbCashierCart();
// cashierCartNow.setNumber(cashierCart.getNumber()+1F);
// cashierCartNow.setId(cashierCart.getId());
// cashierCartMapper.updateByPrimaryKeySelective(cashierCartNow);
// return Result.success(CodeEnum.ENCRYPT);
// }else if ("minus".equals(productCartDto.getType())){
// TbCashierCart cashierCartNow = new TbCashierCart();
// cashierCartNow.setNumber(cashierCart.getNumber()-1F);
// cashierCartNow.setId(cashierCart.getId());
// if (cashierCartNow.getNumber() == 0F){
// cashierCartNow.setStatus("clear");
// cashierCartMapper.updateByPrimaryKeySelective(cashierCartNow);
// return Result.success(CodeEnum.ENCRYPT);
// }
// cashierCartMapper.updateByPrimaryKeySelective(cashierCartNow);
// return Result.success(CodeEnum.ENCRYPT);
// }else {
// throw new MsgException("添加购物车失败");
// }
// }
// //增加新的购物车
// TbCashierCart tbCashierCart = new TbCashierCart();
// BeanUtils.copyProperties(productCartDto,tbCashierCart);
// tbCashierCart.setSalePrice(tbProduct.getLowPrice());
// tbCashierCart.setCreatedAt(Instant.now().toEpochMilli());
// tbCashierCart.setUpdatedAt(Instant.now().toEpochMilli());
// tbCashierCart.setTotalNumber(0.00F);
// tbCashierCart.setRefundNumber(0.00F);
// tbCashierCart.setType((byte) 0);
// tbCashierCart.setSkuId(productCartDto.getSkuInfo());
// //购物车状态打开
// tbCashierCart.setStatus("open");
//
// int insert = cashierCartMapper.insertSelective(tbCashierCart);
// if (insert>0){
// return Result.success(CodeEnum.SUCCESS);
// }
// throw new MsgException("添加购物车失败");
// }
//
//
// public Result cartList(Integer tableId){
// HashMap<String, Object> map = new HashMap<>();
// List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectByTableId(tableId);
// BigDecimal total = new BigDecimal("0.00");
// for (TbCashierCart date :tbCashierCarts) {
// Float number = date.getNumber();
// BigDecimal bigDecimalValue = new BigDecimal(number.toString());
// total=total.add(bigDecimalValue.multiply(date.getSalePrice()));
// }
//
// map.put("cartList",tbCashierCarts);
// map.put("total",total);
//
// return Result.success(CodeEnum.ENCRYPT,map);
//
// }
// @Transactional(rollbackFor = Exception.class)
// public Result updateNumber(Integer tableId,String type){
// TbCashierCart cashierCart = cashierCartMapper.selectByPrimaryKey(tableId);
// if (cashierCart == null){
// return Result.fail("商品不存在");
// }
// if ("add".equals(type)){
// TbCashierCart cashierCartNow = new TbCashierCart();
// cashierCartNow.setNumber(cashierCart.getNumber()+1F);
// cashierCartNow.setId(cashierCart.getId());
// cashierCartMapper.updateByPrimaryKeySelective(cashierCartNow);
// return Result.success(CodeEnum.ENCRYPT);
// }else if ("minus".equals(type)){
// TbCashierCart cashierCartNow = new TbCashierCart();
// cashierCartNow.setNumber(cashierCart.getNumber()-1F);
// cashierCartNow.setId(cashierCart.getId());
// if (cashierCartNow.getNumber() == 0F){
// cashierCartNow.setStatus("clear");
// cashierCartMapper.updateByPrimaryKeySelective(cashierCartNow);
// return Result.success(CodeEnum.ENCRYPT);
// }
// cashierCartMapper.updateByPrimaryKeySelective(cashierCartNow);
// return Result.success(CodeEnum.ENCRYPT);
// }else {
// throw new MsgException("更改商品失败");
// }
//
// }
// @Transactional(rollbackFor = Exception.class)
// public Result clearCart(Integer tableId){
// List<CashierCarVo> cashierCarVos = cashierCartMapper.selectByTableIdOpen(tableId);
// if (cashierCarVos.isEmpty()){
// return Result.fail("购物车内无商品");
// }
// List<Integer> ids = new ArrayList<>();
// for (CashierCarVo date :cashierCarVos) {
// ids.add(date.getId());
// }
// int i = cashierCartMapper.updateByIdsStatus(ids, Instant.now().toEpochMilli());
// if (i != ids.size()){
// throw new MsgException("清空购物车失败");
// }
// return Result.success(CodeEnum.ENCRYPT);
// }
//}

View File

@@ -1,5 +1,6 @@
package com.chaozhanggui.system.cashierservice.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
@@ -82,7 +83,9 @@ public class PayService {
@Autowired
TbShopPayTypeMapper tbShopPayTypeMapper;
@Autowired
private TbActivateProductMapper actProductMapper;
private TbCouponProductMapper couProductMapper;
@Autowired
private TbShopCouponMapper couponMapper;
@Resource
private TbActivateInRecordMapper activateInRecordMapper;
@@ -475,7 +478,6 @@ public class PayService {
.eq(TbOrderDetail::getStatus, "unpaid")
.set(TbOrderDetail::getStatus, "closed"));
outRecordMapper.updateByOrderIdAndStatus(orderInfo.getId(), "closed");
log.info("更新购物车:{}", cartCount);
JSONObject jsonObject = new JSONObject();
@@ -1013,7 +1015,6 @@ public class PayService {
//更新子单状态
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(orderInfo.getId(), "closed");
outRecordMapper.updateByOrderIdAndStatus(orderInfo.getId(), "closed");
//修改主单状态
orderInfo.setStatus("closed");
orderInfo.setPayType("wx_lite");
@@ -1098,7 +1099,6 @@ public class PayService {
orderInfo.setPayAmount(orderInfo.getOrderAmount());
orderInfo.setPaidTime(System.currentTimeMillis());
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
outRecordMapper.updateByOrderIdAndStatus(orderInfo.getId(), "closed");
JSONObject jsonObject = new JSONObject();
jsonObject.put("token", 0);
@@ -1176,8 +1176,18 @@ public class PayService {
PageHelper.startPage(page, pageSize);
List<TbActivate> list = tbActivateMapper.selectByShopId(shopId);
for (TbActivate tbActivate : list) {
if (tbActivate.getIsGiftPro() == 1) {
tbActivate.setGives(actProductMapper.queryProsByActivateId(tbActivate.getId()));
if (tbActivate.getIsUseCoupon() == 1) {
TbShopCoupon coupon = couponMapper.queryById(tbActivate.getCouponId());
if(coupon!=null){
if(coupon.getType()==1){
//满减
tbActivate.setCouponDesc(""+coupon.getFullAmount() + "" + coupon.getDiscountAmount()+" * "+tbActivate.getNum()+"");
} else if (coupon.getType() == 2) {
//商品
tbActivate.setCouponDesc("商品券");
tbActivate.setGives(couProductMapper.queryProsByActivateId(coupon.getId(),tbActivate.getNum()));
}
}
}
}
PageInfo pageInfo = new PageInfo(list);
@@ -1292,25 +1302,68 @@ public class PayService {
public BigDecimal giveActivate(TbShopUser tbShopUser, BigDecimal memAmount, Integer flowId) {
TbActivate activate = tbActivateMapper.selectByAmount(tbShopUser.getShopId(), memAmount);
if (ObjectUtil.isNotEmpty(activate) && ObjectUtil.isNotNull(activate)) {
if (activate.getIsGiftPro() != null && activate.getIsGiftPro() == 1) {
List<TbActivateProduct> tbActivateProducts = actProductMapper.queryAllByActivateId(activate.getId());
List<TbActivateInRecord> actGiveRecords = new ArrayList<>();
for (TbActivateProduct actPro : tbActivateProducts) {
TbActivateInRecord record = new TbActivateInRecord(Integer.valueOf(tbShopUser.getId()), actPro.getProductId(), actPro.getNum(), Integer.valueOf(tbShopUser.getShopId()), activate.getId(), flowId);
actGiveRecords.add(record);
if (activate.getIsUseCoupon() == 1) {
TbShopCoupon tbShopCoupon = couponMapper.queryById(activate.getCouponId());
Date start = new Date();
Date end = new Date();
if ("fixed".equals(tbShopCoupon.getValidityType())) {
//固定时间
end = DateUtil.offsetDay(new Date(),tbShopCoupon.getValidDays());
} else if ("custom".equals(tbShopCoupon.getValidityType())) {
//自定义时间
start = tbShopCoupon.getValidStartTime();
end = tbShopCoupon.getValidEndTime();
}
if (tbShopCoupon != null) {
List<TbActivateInRecord> actGiveRecords = new ArrayList<>();
if(tbShopCoupon.getType() == 1) {
//满减
TbActivateInRecord record = new TbActivateInRecord();
record.setVipUserId(Integer.valueOf(tbShopUser.getId()));
record.setCouponId(tbShopCoupon.getId());
record.setName("" + tbShopCoupon.getFullAmount() + "" + tbShopCoupon.getDiscountAmount());
record.setFullAmount(tbShopCoupon.getFullAmount());
record.setDiscountAmount(tbShopCoupon.getDiscountAmount());
record.setType(1);
record.setNum(activate.getNum());
record.setOverNum(activate.getNum());
record.setShopId(Integer.valueOf(tbShopUser.getShopId()));
record.setSourceActId(activate.getId());
record.setSourceFlowId(flowId);
record.setUseStartTime(start);
record.setUseEndTime(end);
record.setCouponJson(activateInRecordService.getCouponJson(activate,tbShopCoupon,null));
actGiveRecords.add(record);
} else if (tbShopCoupon.getType() == 2) {
//商品卷
List<TbCouponProduct> tbCouponProducts = couProductMapper.queryAllByCouponId(tbShopCoupon.getId());
for (TbCouponProduct actPro : tbCouponProducts) {
TbActivateInRecord record = new TbActivateInRecord();
record.setVipUserId(Integer.valueOf(tbShopUser.getId()));
record.setCouponId(tbShopCoupon.getId());
record.setName("商品卷");
record.setType(2);
record.setProId(actPro.getProductId());
record.setNum(actPro.getNum()*tbShopCoupon.getNumber());
record.setOverNum(actPro.getNum()*tbShopCoupon.getNumber());
record.setShopId(Integer.valueOf(tbShopUser.getShopId()));
record.setSourceActId(activate.getId());
record.setSourceFlowId(flowId);
record.setUseStartTime(start);
record.setUseEndTime(end);
record.setCouponJson(activateInRecordService.getCouponJson(activate,tbShopCoupon,actPro));
actGiveRecords.add(record);
}
}
activateInRecordMapper.insertBatch(actGiveRecords);
tbShopCoupon.setLeftNumber(tbShopCoupon.getLeftNumber()-activate.getNum());
couponMapper.update(tbShopCoupon);
}
activateInRecordMapper.insertBatch(actGiveRecords);
}
BigDecimal amount = BigDecimal.ZERO;
switch (activate.getHandselType()) {
case "GD":
amount = activate.getHandselNum();
break;
case "RATIO":
amount = memAmount.multiply(activate.getHandselNum());
break;
}
BigDecimal amount = activate.getGiftAmount() == null ?
BigDecimal.ZERO : new BigDecimal(activate.getGiftAmount());
tbShopUser.setAmount(tbShopUser.getAmount().add(amount));
tbShopUser.setUpdatedAt(System.currentTimeMillis());
tbShopUserMapper.updateByPrimaryKeySelective(tbShopUser);

View File

@@ -234,16 +234,6 @@ public class ProductService {
}
});
groupList.sort(Comparator.comparingInt(TbProductGroup::getIsSale).reversed());
TbShopUser tbShopUser = tbShopUserMapper.selectByUserIdAndShopId(userId, shopId);
if (tbShopUser != null) {
TbProductGroup vipProGroup = new TbProductGroup();
vipProGroup.setName("会员商品");
List<TbProduct> vipPros = activateInRecordService.queryByVipIdAndShopId(Integer.valueOf(tbShopUser.getId()), Integer.valueOf(shopId));
if(!CollectionUtils.isEmpty(vipPros)){
vipProGroup.setProducts(handleDate(vipPros, true, 1, true));
groupList.add(0, vipProGroup);
}
}
groupList.add(0, hot);
concurrentMap.put("productInfo", groupList);
}

View File

@@ -1,11 +1,10 @@
package com.chaozhanggui.system.cashierservice.service;
import com.chaozhanggui.system.cashierservice.entity.TbActivateInRecord;
import com.chaozhanggui.system.cashierservice.entity.TbProduct;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import java.util.List;
import com.alibaba.fastjson.JSONObject;
import com.chaozhanggui.system.cashierservice.entity.TbActivate;
import com.chaozhanggui.system.cashierservice.entity.TbCouponProduct;
import com.chaozhanggui.system.cashierservice.entity.TbShopCoupon;
import org.springframework.stereotype.Service;
/**
* 活动商品赠送表(TbActivateInRecord)表服务接口
@@ -13,44 +12,14 @@ import java.util.List;
* @author ww
* @since 2024-08-22 11:13:40
*/
public interface TbActivateInRecordService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
TbActivateInRecord queryById(Integer id);
List<TbProduct> queryByVipIdAndShopId(Integer vipUserId, Integer shopId);
int queryByVipIdAndShopIdAndProId(Integer vipUserId, Integer shopId,Integer productId);
List<TbActivateInRecord> queryAllByVipIdAndShopIdAndProId(Integer vipUserId, Integer shopId,Integer productId);
/**
* 新增数据
*
* @param tbActivateInRecord 实例对象
* @return 实例对象
*/
TbActivateInRecord insert(TbActivateInRecord tbActivateInRecord);
/**
* 修改数据
*
* @param tbActivateInRecord 实例对象
* @return 实例对象
*/
TbActivateInRecord update(TbActivateInRecord tbActivateInRecord);
int updateOverNumById(Integer id,Integer overNum);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Integer id);
@Service
public class TbActivateInRecordService {
public String getCouponJson(TbActivate activate, TbShopCoupon tbShopCoupon, TbCouponProduct couProduct){
JSONObject result = new JSONObject();
result.put("activate",JSONObject.toJSON(activate));
result.put("coupon",JSONObject.toJSON(tbShopCoupon));
result.put("couProduct",JSONObject.toJSON(couProduct));
return result.toJSONString();
}
}

View File

@@ -1,45 +0,0 @@
package com.chaozhanggui.system.cashierservice.service;
import com.chaozhanggui.system.cashierservice.entity.TbActivateOutRecord;
/**
* 活动赠送商品使用记录表(TbActivateOutRecord)表服务接口
*
* @author ww
* @since 2024-08-22 11:21:56
*/
public interface TbActivateOutRecordService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
TbActivateOutRecord queryById(Integer id);
/**
* 新增数据
*
* @param tbActivateOutRecord 实例对象
* @return 实例对象
*/
TbActivateOutRecord insert(TbActivateOutRecord tbActivateOutRecord);
/**
* 修改数据
*
* @param tbActivateOutRecord 实例对象
* @return 实例对象
*/
TbActivateOutRecord update(TbActivateOutRecord tbActivateOutRecord);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Integer id);
}

View File

@@ -0,0 +1,15 @@
package com.chaozhanggui.system.cashierservice.service;
import com.chaozhanggui.system.cashierservice.entity.dto.CouponDto;
import com.chaozhanggui.system.cashierservice.sign.Result;
import org.springframework.context.annotation.Primary;
/**
* 优惠券(TbShopCoupon)表服务接口
*
* @author ww
* @since 2024-10-23 15:37:37
*/
public interface TbShopCouponService {
Result find(CouponDto param);
}

View File

@@ -4,21 +4,16 @@ import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.extra.qrcode.QrConfig;
import com.alibaba.fastjson.JSONObject;
import com.chaozhanggui.system.cashierservice.dao.TbShopInfoMapper;
import com.chaozhanggui.system.cashierservice.dao.TbShopUserMapper;
import com.chaozhanggui.system.cashierservice.dao.TbUserInfoMapper;
import com.chaozhanggui.system.cashierservice.entity.TbShopInfo;
import com.chaozhanggui.system.cashierservice.entity.TbShopUser;
import com.chaozhanggui.system.cashierservice.entity.TbUserInfo;
import com.chaozhanggui.system.cashierservice.entity.vo.IntegralVo;
import com.chaozhanggui.system.cashierservice.entity.vo.OpenMemberVo;
import com.chaozhanggui.system.cashierservice.exception.MsgException;
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
import com.chaozhanggui.system.cashierservice.sign.Result;
import com.chaozhanggui.system.cashierservice.util.CacheMap;
import com.chaozhanggui.system.cashierservice.util.JSONUtil;
import com.chaozhanggui.system.cashierservice.util.MD5Util;
import com.chaozhanggui.system.cashierservice.util.RedisUtils;
import com.chaozhanggui.system.cashierservice.wxUtil.WxAccountUtil;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
@@ -62,21 +57,6 @@ public class UserService {
}
public static void main(String[] args) {
IntegralVo integralVo = new IntegralVo();
integralVo.setNum(new BigDecimal("5254"));
integralVo.setOpenId("or1l864NBOoJZhC5x_yeziZ26j6c");
integralVo.setType("sub");
JSONObject object = (JSONObject) JSONObject.toJSON(integralVo);
object.put("userSign", "02c03d79c36b4c01b217ffb1baef9009");
JSONObject jsonObject = JSONUtil.sortJSONObject(object, CacheMap.map);
System.out.println("加密前字符串:" + jsonObject.toJSONString());
String sign = MD5Util.encrypt(jsonObject.toJSONString());
System.out.println("加密后签名:" + sign);
}
public String getSubQrCode(String shopId) throws Exception {

View File

@@ -0,0 +1,128 @@
package com.chaozhanggui.system.cashierservice.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import com.chaozhanggui.system.cashierservice.dao.*;
import com.chaozhanggui.system.cashierservice.entity.*;
import com.chaozhanggui.system.cashierservice.entity.dto.CouponDto;
import com.chaozhanggui.system.cashierservice.entity.vo.TbUserCouponVo;
import com.chaozhanggui.system.cashierservice.service.TbShopCouponService;
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
import com.chaozhanggui.system.cashierservice.sign.Result;
import com.google.gson.JsonObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/**
* 优惠券(TbShopCoupon)表服务实现类
*
* @author ww
* @since 2024-10-23 15:37:37
*/
@Primary
@Service
public class TbShopCouponServiceImpl implements TbShopCouponService {
@Resource
private TbOrderDetailMapper orderDetailMapper;
@Resource
private TbShopUserMapper shopUserMapper;
@Resource
private TbShopCouponMapper couponMapper;
@Resource
private TbOrderInfoMapper orderInfoMapper;
@Resource
private TbActivateInRecordMapper inRecordMapper;
@Resource
private TbActivateOutRecordMapper outRecordMapper;
@Override
public Result find(CouponDto param) {
TbShopUser tbShopUser = shopUserMapper.selectByUserIdAndShopId(param.getUserId().toString(), param.getShopId().toString());
if (param.getOrderId() != null) {
TbOrderInfo tbOrderInfo = orderInfoMapper.selectByPrimaryKey(param.getOrderId());
List<TbOrderDetail> tbOrderDetails = orderDetailMapper.selectAllByOrderId(param.getOrderId());
Set<Integer> pros = tbOrderDetails.stream().map(TbOrderDetail::getProductId).collect(Collectors.toSet());
if (CollectionUtil.isNotEmpty(tbOrderDetails)) {
List<TbUserCouponVo> tbUserCouponVos = inRecordMapper.queryByVipIdAndShopId(Integer.valueOf(tbShopUser.getId()), param.getShopId());
if (CollectionUtil.isNotEmpty(tbUserCouponVos)) {
String week = DateUtil.dayOfWeekEnum(new Date()).toChinese("");
LocalTime now = LocalTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
//券id 券使用描述
Map<Integer, JsonObject> coupons = new HashMap<>();
for (TbUserCouponVo tbUserCouponVo : tbUserCouponVos) {
if (!coupons.containsKey(tbUserCouponVo.getCouponId())) {
JsonObject json=new JsonObject();
boolean isUse = true;
TbShopCoupon tbShopCoupon = couponMapper.queryById(tbUserCouponVo.getCouponId());
StringBuilder useRestrictions = new StringBuilder("每天 ");
if(tbShopCoupon.getType().equals(1)){
if(tbOrderInfo.getOrderAmount().compareTo(new BigDecimal(tbShopCoupon.getFullAmount()))<0){
isUse=false;
}
}
if(StringUtils.isNotBlank(tbShopCoupon.getUserDays())){
String[] split = tbShopCoupon.getUserDays().split(",");
if (split.length != 7) {
useRestrictions = new StringBuilder(tbShopCoupon.getUserDays() + " ");
}
if(!tbShopCoupon.getUserDays().contains(week)){
isUse=false;
}
}
if (tbShopCoupon.getUseTimeType().equals("custom")) {
if(now.isBefore(tbShopCoupon.getUseStartTime()) || now.isAfter(tbShopCoupon.getUseEndTime())){
isUse=false;
}
useRestrictions.append(
tbShopCoupon.getUseStartTime().format(formatter)
+ "-"
+ tbShopCoupon.getUseEndTime().format(formatter));
} else {
useRestrictions.append("全时段");
}
useRestrictions.append(" 可用");
json.addProperty("isUse",isUse);
json.addProperty("useRestrictions",useRestrictions.toString());
coupons.put(tbUserCouponVo.getCouponId(), json);
}
JsonObject couponJson = coupons.get(tbUserCouponVo.getCouponId());
tbUserCouponVo.setUseRestrictions(couponJson.get("useRestrictions").toString());
if(tbUserCouponVo.getType().equals(1)){
tbUserCouponVo.setUse(couponJson.get("isUse").getAsBoolean());
} else if (tbUserCouponVo.getType().equals(2) && couponJson.get("isUse").getAsBoolean()) {
if(!pros.contains(tbUserCouponVo.getProId())){
tbUserCouponVo.setUse(false);
}
}
}
tbUserCouponVos.sort(Comparator.comparing(TbUserCouponVo::isUse).reversed().thenComparing(TbUserCouponVo::getExpireTime));
return new Result(CodeEnum.SUCCESS, tbUserCouponVos);
}
}
} else {
if (param.getStatus().equals(1)) {
return new Result(CodeEnum.SUCCESS, inRecordMapper.queryByVipIdAndShopId(Integer.valueOf(tbShopUser.getId()), param.getShopId()));
} else if (param.getStatus().equals(-1)) {
return new Result(CodeEnum.SUCCESS, inRecordMapper.queryByVipIdAndShopIdExpire(Integer.valueOf(tbShopUser.getId()), param.getShopId()));
} else if (param.getStatus().equals(2)) {
return new Result(CodeEnum.SUCCESS, outRecordMapper.queryByVipIdAndShopId(Integer.valueOf(tbShopUser.getId()), param.getShopId()));
}
}
return new Result(CodeEnum.SUCCESS);
}
}

View File

@@ -5,29 +5,97 @@
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbActivateInRecord" id="TbActivateInRecordMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="vipUserId" column="vip_user_id" jdbcType="INTEGER"/>
<result property="couponId" column="coupon_id" jdbcType="INTEGER"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="INTEGER"/>
<result property="proId" column="pro_id" jdbcType="INTEGER"/>
<result property="fullAmount" column="full_amount" jdbcType="INTEGER"/>
<result property="discountAmount" column="discount_amount" jdbcType="INTEGER"/>
<result property="num" column="num" jdbcType="INTEGER"/>
<result property="overNum" column="over_num" jdbcType="INTEGER"/>
<result property="shopId" column="shop_id" jdbcType="INTEGER"/>
<result property="sourceActId" column="source_act_id" jdbcType="INTEGER"/>
<result property="sourceFlowId" column="source_flow_id" jdbcType="INTEGER"/>
<result property="useStartTime" column="use_start_time" jdbcType="TIMESTAMP"/>
<result property="useEndTime" column="use_end_time" jdbcType="TIMESTAMP"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="couponJson" column="coupon_json" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id
, vip_user_id, pro_id, num, over_num, shop_id, source_act_id, source_flow_id, create_time, update_time </sql>
<sql id="Base_Column_List">
id, vip_user_id, coupon_id, name, type, pro_id, full_amount, discount_amount, num, over_num, shop_id, source_act_id, source_flow_id, use_start_time, use_end_time, create_time, update_time, coupon_json </sql>
<!--查询单个-->
<select id="queryById" resultMap="TbActivateInRecordMap">
select
<include refid="Base_Column_List"/>
<include refid="Base_Column_List"/>
from tb_activate_in_record
where id = #{id}
</select>
<select id="queryByVipIdAndShopId" resultType="com.chaozhanggui.system.cashierservice.entity.vo.TbUserCouponVo">
SELECT
inRecord.coupon_id as couponId,
pro.id as proId,
CASE
WHEN inRecord.type = 1 THEN inRecord.NAME
WHEN inRecord.type = 2 THEN pro.NAME
END AS `name`,
inRecord.type,
inRecord.over_num as num,
inRecord.use_end_time as endTime
FROM
tb_activate_in_record inRecord
LEFT JOIN tb_product pro ON inRecord.pro_id = pro.id and pro.shop_id = #{shopId}
WHERE
inRecord.vip_user_id = #{vipUserId}
and inRecord.shop_id = #{shopId}
and inRecord.over_num != 0
and inRecord.use_start_time &lt; now()
and inRecord.use_end_time &gt; now()
order by inRecord.use_end_time asc
</select>
<select id="queryByVipIdAndShopIdExpire" resultType="com.chaozhanggui.system.cashierservice.entity.vo.TbUserCouponVo">
SELECT
CASE
WHEN inRecord.type = 1 THEN inRecord.NAME
WHEN inRecord.type = 2 THEN pro.NAME
END AS `name`,
inRecord.type,
inRecord.over_num as num,
inRecord.use_end_time as endTime
FROM
tb_activate_in_record inRecord
LEFT JOIN tb_product pro ON inRecord.pro_id = pro.id and pro.shop_id = #{shopId}
WHERE
inRecord.vip_user_id = #{vipUserId}
and inRecord.shop_id = #{shopId}
and inRecord.over_num != 0
and inRecord.use_end_time &lt; now()
order by inRecord.use_end_time asc
</select>
<select id="queryByVipIdAndShopIdIn" resultMap="TbActivateInRecordMap">
SELECT
<include refid="Base_Column_List"/>,
CASE
WHEN inRecord.type = 1 THEN inRecord.NAME
WHEN inRecord.type = 2 THEN pro.NAME
END AS `name`
FROM
tb_activate_in_record inRecord
LEFT JOIN tb_product pro ON inRecord.pro_id = pro.id and pro.shop_id = #{shopId}
WHERE
inRecord.vip_user_id = #{vipUserId}
and inRecord.shop_id = #{shopId}
and inRecord.over_num != 0
and inRecord.use_end_time &lt; now()
order by inRecord.use_end_time asc
</select>
<!--查询剩余商品优惠卷数量-->
<select id="countCouponNum" resultType="INTEGER">
SELECT
@@ -37,60 +105,10 @@
INNER JOIN tb_shop_user vip ON record.vip_user_id = vip.id AND vip.user_id = #{userId}
</select>
<select id="queryByVipIdAndShopId" resultType="com.chaozhanggui.system.cashierservice.entity.TbProduct">
SELECT
tb_product.*, sum(tb_activate_in_record.over_num) as limitNumber
FROM
tb_activate_in_record
LEFT JOIN tb_product ON tb_activate_in_record.pro_id = tb_product.id
WHERE
vip_user_id = #{vipUserId} and tb_activate_in_record.shop_id = #{shopId}
group by tb_activate_in_record.pro_id
</select>
<select id="queryVipPro" resultType="com.chaozhanggui.system.cashierservice.entity.vo.UserCouponVo">
SELECT tb_product.name as detail,
0 as status,
sum(tb_activate_in_record.over_num) as num,
tb_activate_in_record.shop_id as shopId,
<choose>
<when test="shopName != null and shopName != ''">#{shopName}</when>
<otherwise>''</otherwise>
</choose> AS shopName,
2 as type
FROM tb_activate_in_record
LEFT JOIN tb_product ON tb_activate_in_record.pro_id = tb_product.id
WHERE vip_user_id = #{vipUserId}
and tb_activate_in_record.shop_id = #{shopId}
and tb_activate_in_record.over_num!=0
group by tb_activate_in_record.pro_id
</select>
<select id="queryByVipIdAndShopIdAndProId" resultType="INTEGER">
SELECT
sum(tb_activate_in_record.num)
FROM
tb_activate_in_record
WHERE
vip_user_id = #{vipUserId} and shop_id = #{shopId} and pro_id = #{productId}
</select>
<select id="queryAllByVipIdAndShopIdAndProId" resultMap="TbActivateInRecordMap">
select
<include refid="Base_Column_List"/>
from tb_activate_in_record
WHERE
vip_user_id = #{vipUserId}
and shop_id = #{shopId}
and pro_id = #{productId}
and over_num > 0
order by create_time
</select>
<!--查询指定行数据-->
<select id="queryAll" resultMap="TbActivateInRecordMap">
select
<include refid="Base_Column_List"/>
<include refid="Base_Column_List"/>
from tb_activate_in_record
<where>
@@ -100,9 +118,24 @@
<if test="vipUserId != null">
and vip_user_id = #{vipUserId}
</if>
<if test="couponId != null">
and coupon_id = #{couponId}
</if>
<if test="name != null and name != ''">
and name = #{name}
</if>
<if test="type != null">
and type = #{type}
</if>
<if test="proId != null">
and pro_id = #{proId}
</if>
<if test="fullAmount != null">
and full_amount = #{fullAmount}
</if>
<if test="discountAmount != null">
and discount_amount = #{discountAmount}
</if>
<if test="num != null">
and num = #{num}
</if>
@@ -118,31 +151,36 @@
<if test="sourceFlowId != null">
and source_flow_id = #{sourceFlowId}
</if>
<if test="useStartTime != null">
and use_start_time = #{useStartTime}
</if>
<if test="useEndTime != null">
and use_end_time = #{useEndTime}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
<if test="couponJson != null and couponJson != ''">
and coupon_json = #{couponJson}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into tb_activate_in_record(vip_user_id, pro_id, num, over_num, shop_id, source_act_id, source_flow_id,
create_time, update_time)
values (#{vipUserId}, #{proId}, #{num}, #{overNum}, #{shopId}, #{sourceActId}, #{sourceFlowId}, #{createTime},
#{updateTime})
insert into tb_activate_in_record(vip_user_id, coupon_id, name, type, pro_id, full_amount, discount_amount, num, over_num, shop_id, source_act_id, source_flow_id, use_start_time, use_end_time, create_time, update_time, coupon_json)
values (#{vipUserId}, #{couponId}, #{name}, #{type}, #{proId}, #{fullAmount}, #{discountAmount}, #{num}, #{overNum}, #{shopId}, #{sourceActId}, #{sourceFlowId}, #{useStartTime}, #{useEndTime}, #{createTime}, #{updateTime}, #{couponJson})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into tb_activate_in_record(vip_user_id, pro_id, num, over_num, shop_id, source_act_id, source_flow_id,
create_time, update_time)
insert into tb_activate_in_record(vip_user_id, coupon_id, name, type, pro_id, full_amount, discount_amount, num, over_num, shop_id, source_act_id, source_flow_id, use_start_time, use_end_time, create_time, update_time, coupon_json)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.vipUserId}, #{entity.proId}, #{entity.num}, #{entity.overNum}, #{entity.shopId},
#{entity.sourceActId}, #{entity.sourceFlowId}, #{entity.createTime}, #{entity.updateTime})
(#{entity.vipUserId}, #{entity.couponId}, #{entity.name}, #{entity.type}, #{entity.proId}, #{entity.fullAmount}, #{entity.discountAmount}, #{entity.num}, #{entity.overNum}, #{entity.shopId}, #{entity.sourceActId}, #{entity.sourceFlowId}, #{entity.useStartTime}, #{entity.useEndTime}, #{entity.createTime}, #{entity.updateTime}, #{entity.couponJson})
</foreach>
</insert>
@@ -153,9 +191,24 @@
<if test="vipUserId != null">
vip_user_id = #{vipUserId},
</if>
<if test="couponId != null">
coupon_id = #{couponId},
</if>
<if test="name != null and name != ''">
name = #{name},
</if>
<if test="type != null">
type = #{type},
</if>
<if test="proId != null">
pro_id = #{proId},
</if>
<if test="fullAmount != null">
full_amount = #{fullAmount},
</if>
<if test="discountAmount != null">
discount_amount = #{discountAmount},
</if>
<if test="num != null">
num = #{num},
</if>
@@ -171,28 +224,28 @@
<if test="sourceFlowId != null">
source_flow_id = #{sourceFlowId},
</if>
<if test="useStartTime != null">
use_start_time = #{useStartTime},
</if>
<if test="useEndTime != null">
use_end_time = #{useEndTime},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="couponJson != null and couponJson != ''">
coupon_json = #{couponJson},
</if>
</set>
where id = #{id}
</update>
<update id="updateOverNumById">
update tb_activate_in_record
set
over_num = #{overNum}
where id = #{id};
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete
from tb_activate_in_record
where id = #{id}
delete from tb_activate_in_record where id = #{id}
</delete>
</mapper>

View File

@@ -1,132 +1,143 @@
<?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.chaozhanggui.system.cashierservice.dao.TbActivateMapper">
<resultMap id="BaseResultMap" type="com.chaozhanggui.system.cashierservice.entity.TbActivate">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="shop_id" jdbcType="INTEGER" property="shopId" />
<result column="min_num" jdbcType="INTEGER" property="minNum" />
<result column="max_num" jdbcType="INTEGER" property="maxNum" />
<result column="handsel_num" jdbcType="DECIMAL" property="handselNum" />
<result column="handsel_type" jdbcType="VARCHAR" property="handselType" />
<result column="is_del" jdbcType="VARCHAR" property="isDel" />
<result column="is_gift_pro" jdbcType="INTEGER" property="isGiftPro" />
</resultMap>
<sql id="Base_Column_List">
id, shop_id, min_num, max_num, handsel_num, handsel_type, is_del,is_gift_pro
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tb_activate
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from tb_activate
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.chaozhanggui.system.cashierservice.entity.TbActivate">
insert into tb_activate (id, shop_id, min_num,
max_num, handsel_num, handsel_type,
is_del)
values (#{id,jdbcType=INTEGER}, #{shopId,jdbcType=INTEGER}, #{minNum,jdbcType=INTEGER},
#{maxNum,jdbcType=INTEGER}, #{handselNum,jdbcType=DECIMAL}, #{handselType,jdbcType=VARCHAR},
#{isDel,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.chaozhanggui.system.cashierservice.entity.TbActivate">
insert into tb_activate
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="shopId != null">
shop_id,
</if>
<if test="minNum != null">
min_num,
</if>
<if test="maxNum != null">
max_num,
</if>
<if test="handselNum != null">
handsel_num,
</if>
<if test="handselType != null">
handsel_type,
</if>
<if test="isDel != null">
is_del,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="shopId != null">
#{shopId,jdbcType=INTEGER},
</if>
<if test="minNum != null">
#{minNum,jdbcType=INTEGER},
</if>
<if test="maxNum != null">
#{maxNum,jdbcType=INTEGER},
</if>
<if test="handselNum != null">
#{handselNum,jdbcType=DECIMAL},
</if>
<if test="handselType != null">
#{handselType,jdbcType=VARCHAR},
</if>
<if test="isDel != null">
#{isDel,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.chaozhanggui.system.cashierservice.entity.TbActivate">
update tb_activate
<set>
<if test="shopId != null">
shop_id = #{shopId,jdbcType=INTEGER},
</if>
<if test="minNum != null">
min_num = #{minNum,jdbcType=INTEGER},
</if>
<if test="maxNum != null">
max_num = #{maxNum,jdbcType=INTEGER},
</if>
<if test="handselNum != null">
handsel_num = #{handselNum,jdbcType=DECIMAL},
</if>
<if test="handselType != null">
handsel_type = #{handselType,jdbcType=VARCHAR},
</if>
<if test="isDel != null">
is_del = #{isDel,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.chaozhanggui.system.cashierservice.entity.TbActivate">
update tb_activate
set shop_id = #{shopId,jdbcType=INTEGER},
min_num = #{minNum,jdbcType=INTEGER},
max_num = #{maxNum,jdbcType=INTEGER},
handsel_num = #{handselNum,jdbcType=DECIMAL},
handsel_type = #{handselType,jdbcType=VARCHAR},
is_del = #{isDel,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
<select id="selectByAmount" resultMap="BaseResultMap">
select *
from tb_activate
where shop_id = #{shopId}
and is_del = 0
and min_num &lt;= #{amount}
and max_num &gt;= #{amount}
order by max_num desc limit 1
</select>
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbActivate" id="TbActivateMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="shopId" column="shop_id" jdbcType="INTEGER"/>
<result property="amount" column="amount" jdbcType="INTEGER"/>
<result property="giftAmount" column="gift_amount" jdbcType="INTEGER"/>
<result property="isUseCoupon" column="is_use_coupon" jdbcType="INTEGER"/>
<result property="couponId" column="coupon_id" jdbcType="INTEGER"/>
<result property="num" column="num" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id
, shop_id, amount, gift_amount, is_use_coupon, coupon_id, num, create_time, update_time </sql>
<!--查询单个-->
<select id="selectByShopId" resultMap="TbActivateMap">
select
<include refid="Base_Column_List"/>
from tb_activate
where shop_id = #{shopId}
</select>
<select id="queryById" resultMap="TbActivateMap">
select
<include refid="Base_Column_List"/>
from tb_activate
where id = #{id}
</select>
<select id="selectByAmount" resultMap="TbActivateMap">
select
<include refid="Base_Column_List"/>
from tb_activate
where shop_id = #{shop_id}
and amount = #{amount}
order by id desc
limit 1
</select>
<!--查询指定行数据-->
<select id="queryAll" resultMap="TbActivateMap">
select
<include refid="Base_Column_List"/>
from tb_activate
<where>
<if test="id != null">
and id = #{id}
</if>
<if test="shopId != null">
and shop_id = #{shopId}
</if>
<if test="amount != null">
and amount = #{amount}
</if>
<if test="giftAmount != null">
and gift_amount = #{giftAmount}
</if>
<if test="isUseCoupon != null">
and is_use_coupon = #{isUseCoupon}
</if>
<if test="couponId != null">
and coupon_id = #{couponId}
</if>
<if test="num != null">
and num = #{num}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into tb_activate(shop_id, amount, gift_amount, is_use_coupon, coupon_id, num, create_time, update_time)
values (#{shopId}, #{amount}, #{giftAmount}, #{isUseCoupon}, #{couponId}, #{num}, #{createTime}, #{updateTime})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into tb_activate(shop_id, amount, gift_amount, is_use_coupon, coupon_id, num, create_time, update_time)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.shopId}, #{entity.amount}, #{entity.giftAmount}, #{entity.isUseCoupon}, #{entity.couponId},
#{entity.num}, #{entity.createTime}, #{entity.updateTime})
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
update tb_activate
<set>
<if test="shopId != null">
shop_id = #{shopId},
</if>
<if test="amount != null">
amount = #{amount},
</if>
<if test="giftAmount != null">
gift_amount = #{giftAmount},
</if>
<if test="isUseCoupon != null">
is_use_coupon = #{isUseCoupon},
</if>
<if test="couponId != null">
coupon_id = #{couponId},
</if>
<if test="num != null">
num = #{num},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete
from tb_activate
where id = #{id}
</delete>
</mapper>
<select id="selectByShopId" resultMap="BaseResultMap">
select * from tb_activate where shop_id=#{shopId}
</select>
</mapper>

View File

@@ -4,11 +4,13 @@
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbActivateOutRecord" id="TbActivateOutRecordMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="shopId" column="shop_id" jdbcType="INTEGER"/>
<result property="orderId" column="order_id" jdbcType="VARCHAR"/>
<result property="giveId" column="give_id" jdbcType="INTEGER"/>
<result property="proId" column="pro_id" jdbcType="INTEGER"/>
<result property="vipUserId" column="vip_user_id" jdbcType="INTEGER"/>
<result property="type" column="type" jdbcType="INTEGER"/>
<result property="useNum" column="use_num" jdbcType="INTEGER"/>
<result property="refNum" column="ref_num" jdbcType="INTEGER"/>
<result property="orderId" column="order_id" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
@@ -16,7 +18,7 @@
<sql id="Base_Column_List">
id
, give_id, pro_id, use_num, ref_num, order_id,status, create_time, update_time </sql>
, shop_id, order_id, give_id, vip_user_id, type, use_num, ref_num, status, create_time, update_time </sql>
<!--查询单个-->
<select id="queryById" resultMap="TbActivateOutRecordMap">
@@ -27,24 +29,28 @@
where id = #{id}
</select>
<select id="queryVipPro" resultType="com.chaozhanggui.system.cashierservice.entity.vo.UserCouponVo">
SELECT tb_product.NAME AS detail,
tb_activate_out_record.order_id as orderId,
1 AS status,
tb_activate_out_record.use_num AS num,
<choose>
<when test="shopName != null and shopName != ''">#{shopName}</when>
<otherwise>''</otherwise>
</choose>
AS shopName,
2 AS type
FROM tb_activate_out_record
LEFT JOIN tb_product ON tb_activate_out_record.pro_id = tb_product.id
LEFT JOIN tb_activate_in_record ON tb_activate_in_record.id = tb_activate_out_record.give_id
WHERE vip_user_id = #{vipUserId}
AND tb_activate_in_record.shop_id = #{shopId}
AND tb_activate_out_record.STATUS = 'closed'
<select id="queryByVipIdAndShopId" resultType="com.chaozhanggui.system.cashierservice.entity.vo.TbUserCouponVo">
SELECT
CASE
WHEN outRecord.type = 1 THEN inRecord.name
WHEN outRecord.type = 2 THEN pro.NAME
END AS `name`,
outRecord.type,
outRecord.use_num-outRecord.ref_num as num
FROM
tb_activate_out_record outRecord
INNER JOIN tb_activate_in_record inRecord
on outRecord.give_id = inRecord.id
and inRecord.shop_id = #{shopId}
and inRecord.vip_user_id = #{vipUserId}
LEFT JOIN tb_product pro
ON inRecord.pro_id = pro.id and pro.shop_id = #{shopId}
WHERE
outRecord.vip_user_id = #{vipUserId}
and outRecord.shop_id = #{shopId}
and outRecord.status = 'closed'
and outRecord.use_num-outRecord.ref_num >0
order by outRecord.create_time desc
</select>
<!--查询指定行数据-->
@@ -57,11 +63,20 @@
<if test="id != null">
and id = #{id}
</if>
<if test="shopId != null">
and shop_id = #{shopId}
</if>
<if test="orderId != null and orderId != ''">
and order_id = #{orderId}
</if>
<if test="giveId != null">
and give_id = #{giveId}
</if>
<if test="proId != null">
and pro_id = #{proId}
<if test="vipUserId != null">
and vip_user_id = #{vipUserId}
</if>
<if test="type != null">
and type = #{type}
</if>
<if test="useNum != null">
and use_num = #{useNum}
@@ -69,9 +84,6 @@
<if test="refNum != null">
and ref_num = #{refNum}
</if>
<if test="orderId != null and orderId != ''">
and order_id = #{orderId}
</if>
<if test="status != null and status != ''">
and status = #{status}
</if>
@@ -87,16 +99,19 @@
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into tb_activate_out_record(give_id, pro_id, use_num, ref_num, order_id, status, create_time, update_time)
values (#{giveId}, #{proId}, #{useNum}, #{refNum}, #{orderId}, #{status} #{createTime}, #{updateTime})
insert into tb_activate_out_record(shop_id, order_id, give_id, vip_user_id, type, use_num, ref_num, status,
create_time, update_time)
values (#{shopId}, #{orderId}, #{giveId}, #{vipUserId}, #{type}, #{useNum}, #{refNum}, #{status}, #{createTime},
#{updateTime})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into tb_activate_out_record(give_id, pro_id, use_num, ref_num, order_id, status, create_time, update_time)
insert into tb_activate_out_record(shop_id, order_id, give_id, vip_user_id, type, use_num, ref_num, status,
create_time, update_time)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.giveId}, #{entity.proId}, #{entity.useNum}, #{entity.refNum}, #{entity.orderId},
#{entity.status}, #{entity.createTime}, #{entity.updateTime})
(#{entity.shopId}, #{entity.orderId}, #{entity.giveId}, #{entity.vipUserId}, #{entity.type},
#{entity.useNum}, #{entity.refNum}, #{entity.status}, #{entity.createTime}, #{entity.updateTime})
</foreach>
</insert>
@@ -104,11 +119,20 @@
<update id="update">
update tb_activate_out_record
<set>
<if test="shopId != null">
shop_id = #{shopId},
</if>
<if test="orderId != null and orderId != ''">
order_id = #{orderId},
</if>
<if test="giveId != null">
give_id = #{giveId},
</if>
<if test="proId != null">
pro_id = #{proId},
<if test="vipUserId != null">
vip_user_id = #{vipUserId},
</if>
<if test="type != null">
type = #{type},
</if>
<if test="useNum != null">
use_num = #{useNum},
@@ -116,9 +140,6 @@
<if test="refNum != null">
ref_num = #{refNum},
</if>
<if test="orderId != null and orderId != ''">
order_id = #{orderId},
</if>
<if test="status != null and status != ''">
status = #{status},
</if>
@@ -131,13 +152,6 @@
</set>
where id = #{id}
</update>
<update id="updateByOrderIdAndStatus">
update tb_activate_out_record
set
status = 'closed'
where order_id = #{orderId}
</update>
<!--通过主键删除-->
<delete id="deleteById">

View File

@@ -1,39 +1,41 @@
<?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.chaozhanggui.system.cashierservice.dao.TbActivateProductMapper">
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbActivateProduct" id="TbActivateProductMap">
<mapper namespace="com.chaozhanggui.system.cashierservice.dao.TbCouponProductMapper">
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbCouponProduct" id="TbCouponProductMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="activateId" column="activate_id" jdbcType="INTEGER"/>
<result property="couponId" column="coupon_id" jdbcType="INTEGER"/>
<result property="productId" column="product_id" jdbcType="INTEGER"/>
<result property="num" column="num" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id, activate_id, product_id, num, create_time, update_time </sql>
<sql id="Base_Column_List">
id
, coupon_id, product_id, num, create_time, update_time </sql>
<!--查询单个-->
<select id="queryById" resultMap="TbActivateProductMap">
<select id="queryById" resultMap="TbCouponProductMap">
select
<include refid="Base_Column_List"/>
<include refid="Base_Column_List"/>
from tb_activate_product
from tb_coupon_product
where id = #{id}
</select>
<!--查询指定行数据-->
<select id="queryAll" resultMap="TbActivateProductMap">
<select id="queryAll" resultMap="TbCouponProductMap">
select
<include refid="Base_Column_List"/>
<include refid="Base_Column_List"/>
from tb_activate_product
from tb_coupon_product
<where>
<if test="id != null">
and id = #{id}
</if>
<if test="activateId != null">
and activate_id = #{activateId}
<if test="couponId != null">
and coupon_id = #{couponId}
</if>
<if test="productId != null">
and product_id = #{productId}
@@ -50,43 +52,42 @@ id, activate_id, product_id, num, create_time, update_time </sql>
</where>
</select>
<select id="queryAllByActivateId" resultMap="TbActivateProductMap">
<select id="queryAllByCouponId" resultMap="TbCouponProductMap">
select
<include refid="Base_Column_List"/>
from tb_activate_product
from tb_coupon_product
where
activate_id = #{activateId}
coupon_id = #{couponId}
</select>
<select id="queryProsByActivateId" resultType="java.lang.String">
select CONCAT(tb_product.name, '*', SUM(tb_activate_product.num))
from tb_activate_product
LEFT JOIN tb_product ON tb_activate_product.product_id = tb_product.id
where activate_id = #{activateId}
group by tb_activate_product.product_id
select CONCAT(tb_product.name, '*', SUM(tb_coupon_product.num)*#{num})
from tb_coupon_product
LEFT JOIN tb_product ON tb_coupon_product.product_id = tb_product.id
where coupon_id = #{couponId}
group by tb_coupon_product.product_id
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into tb_activate_product(activate_id, product_id, num, create_time, update_time)
values (#{activateId}, #{productId}, #{num}, #{createTime}, #{updateTime})
insert into tb_coupon_product(coupon_id, product_id, num, create_time, update_time)
values (#{couponId}, #{productId}, #{num}, #{createTime}, #{updateTime})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into tb_activate_product(activate_id, product_id, num, create_time, update_time)
insert into tb_coupon_product(coupon_id, product_id, num, create_time, update_time)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.activateId}, #{entity.productId}, #{entity.num}, #{entity.createTime}, #{entity.updateTime})
(#{entity.couponId}, #{entity.productId}, #{entity.num}, #{entity.createTime}, #{entity.updateTime})
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
update tb_activate_product
update tb_coupon_product
<set>
<if test="activateId != null">
activate_id = #{activateId},
<if test="couponId != null">
coupon_id = #{couponId},
</if>
<if test="productId != null">
product_id = #{productId},
@@ -106,7 +107,9 @@ id, activate_id, product_id, num, create_time, update_time </sql>
<!--通过主键删除-->
<delete id="deleteById">
delete from tb_activate_product where id = #{id}
delete
from tb_coupon_product
where id = #{id}
</delete>
</mapper>

View File

@@ -0,0 +1,232 @@
<?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.chaozhanggui.system.cashierservice.dao.TbShopCouponMapper">
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbShopCoupon" id="TbShopCouponMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="shopId" column="shop_id" jdbcType="VARCHAR"/>
<result property="title" column="title" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="INTEGER"/>
<result property="fullAmount" column="full_amount" jdbcType="INTEGER"/>
<result property="discountAmount" column="discount_amount" jdbcType="INTEGER"/>
<result property="description" column="description" jdbcType="VARCHAR"/>
<result property="number" column="number" jdbcType="INTEGER"/>
<result property="leftNumber" column="left_number" jdbcType="INTEGER"/>
<result property="validityType" column="validity_type" jdbcType="VARCHAR"/>
<result property="validDays" column="valid_days" jdbcType="INTEGER"/>
<result property="daysToTakeEffect" column="days_to_take_effect" jdbcType="INTEGER"/>
<result property="validStartTime" column="valid_start_time" jdbcType="TIMESTAMP"/>
<result property="validEndTime" column="valid_end_time" jdbcType="TIMESTAMP"/>
<result property="userDays" column="user_days" jdbcType="VARCHAR"/>
<result property="useTimeType" column="use_time_type" jdbcType="VARCHAR"/>
<result property="useStartTime" column="use_start_time" jdbcType="VARCHAR"/>
<result property="useEndTime" column="use_end_time" jdbcType="VARCHAR"/>
<result property="useNumber" column="use_number" jdbcType="INTEGER"/>
<result property="editor" column="editor" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id
, shop_id, title, type, full_amount, discount_amount, description, number, left_number, validity_type, valid_days, days_to_take_effect, valid_start_time, valid_end_time, user_days, use_time_type, use_start_time, use_end_time, use_number, editor, status, create_time, update_time </sql>
<!--查询单个-->
<select id="queryById" resultMap="TbShopCouponMap">
select
<include refid="Base_Column_List"/>
from tb_shop_coupon
where id = #{id}
</select>
<!--查询指定行数据-->
<select id="queryAll" resultMap="TbShopCouponMap">
select
<include refid="Base_Column_List"/>
from tb_shop_coupon
<where>
<if test="id != null">
and id = #{id}
</if>
<if test="shopId != null and shopId != ''">
and shop_id = #{shopId}
</if>
<if test="title != null and title != ''">
and title = #{title}
</if>
<if test="type != null">
and type = #{type}
</if>
<if test="fullAmount != null">
and full_amount = #{fullAmount}
</if>
<if test="discountAmount != null">
and discount_amount = #{discountAmount}
</if>
<if test="description != null and description != ''">
and description = #{description}
</if>
<if test="number != null">
and number = #{number}
</if>
<if test="leftNumber != null">
and left_number = #{leftNumber}
</if>
<if test="validityType != null and validityType != ''">
and validity_type = #{validityType}
</if>
<if test="validDays != null">
and valid_days = #{validDays}
</if>
<if test="daysToTakeEffect != null">
and days_to_take_effect = #{daysToTakeEffect}
</if>
<if test="validStartTime != null">
and valid_start_time = #{validStartTime}
</if>
<if test="validEndTime != null">
and valid_end_time = #{validEndTime}
</if>
<if test="userDays != null and userDays != ''">
and user_days = #{userDays}
</if>
<if test="useTimeType != null and useTimeType != ''">
and use_time_type = #{useTimeType}
</if>
<if test="useStartTime != null">
and use_start_time = #{useStartTime}
</if>
<if test="useEndTime != null">
and use_end_time = #{useEndTime}
</if>
<if test="useNumber != null">
and use_number = #{useNumber}
</if>
<if test="editor != null and editor != ''">
and editor = #{editor}
</if>
<if test="status != null">
and status = #{status}
</if>
<if test="createTime != null">
and create_time = #{createTime}
</if>
<if test="updateTime != null">
and update_time = #{updateTime}
</if>
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into tb_shop_coupon(shop_id, title, type, full_amount, discount_amount, description, number, left_number,
validity_type, valid_days, days_to_take_effect, valid_start_time, valid_end_time,
user_days, use_time_type, use_start_time, use_end_time, use_number, editor, status,
create_time, update_time)
values (#{shopId}, #{title}, #{type}, #{fullAmount}, #{discountAmount}, #{description}, #{number},
#{leftNumber}, #{validityType}, #{validDays}, #{daysToTakeEffect}, #{validStartTime}, #{validEndTime},
#{userDays}, #{useTimeType}, #{useStartTime}, #{useEndTime}, #{useNumber}, #{editor}, #{status},
#{createTime}, #{updateTime})
</insert>
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
insert into tb_shop_coupon(shop_id, title, type, full_amount, discount_amount, description, number, left_number,
validity_type, valid_days, days_to_take_effect, valid_start_time, valid_end_time, user_days, use_time_type,
use_start_time, use_end_time, use_number, editor, status, create_time, update_time)
values
<foreach collection="entities" item="entity" separator=",">
(#{entity.shopId}, #{entity.title}, #{entity.type}, #{entity.fullAmount}, #{entity.discountAmount},
#{entity.description}, #{entity.number}, #{entity.leftNumber}, #{entity.validityType}, #{entity.validDays},
#{entity.daysToTakeEffect}, #{entity.validStartTime}, #{entity.validEndTime}, #{entity.userDays},
#{entity.useTimeType}, #{entity.useStartTime}, #{entity.useEndTime}, #{entity.useNumber}, #{entity.editor},
#{entity.status}, #{entity.createTime}, #{entity.updateTime})
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
update tb_shop_coupon
<set>
<if test="shopId != null and shopId != ''">
shop_id = #{shopId},
</if>
<if test="title != null and title != ''">
title = #{title},
</if>
<if test="type != null">
type = #{type},
</if>
<if test="fullAmount != null">
full_amount = #{fullAmount},
</if>
<if test="discountAmount != null">
discount_amount = #{discountAmount},
</if>
<if test="description != null and description != ''">
description = #{description},
</if>
<if test="number != null">
number = #{number},
</if>
<if test="leftNumber != null">
left_number = #{leftNumber},
</if>
<if test="validityType != null and validityType != ''">
validity_type = #{validityType},
</if>
<if test="validDays != null">
valid_days = #{validDays},
</if>
<if test="daysToTakeEffect != null">
days_to_take_effect = #{daysToTakeEffect},
</if>
<if test="validStartTime != null">
valid_start_time = #{validStartTime},
</if>
<if test="validEndTime != null">
valid_end_time = #{validEndTime},
</if>
<if test="userDays != null and userDays != ''">
user_days = #{userDays},
</if>
<if test="useTimeType != null and useTimeType != ''">
use_time_type = #{useTimeType},
</if>
<if test="useStartTime != null">
use_start_time = #{useStartTime},
</if>
<if test="useEndTime != null">
use_end_time = #{useEndTime},
</if>
<if test="useNumber != null">
use_number = #{useNumber},
</if>
<if test="editor != null and editor != ''">
editor = #{editor},
</if>
<if test="status != null">
status = #{status},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete
from tb_shop_coupon
where id = #{id}
</delete>
</mapper>

View File

@@ -1,87 +1,82 @@
<?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.chaozhanggui.system.cashierservice.dao.TbShopInfoMapper">
<resultMap id="BaseResultMap" type="com.chaozhanggui.system.cashierservice.entity.TbShopInfo">
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="account" jdbcType="VARCHAR" property="account"/>
<result column="shop_code" jdbcType="VARCHAR" property="shopCode"/>
<result column="sub_title" jdbcType="VARCHAR" property="subTitle"/>
<result column="merchant_id" jdbcType="VARCHAR" property="merchantId"/>
<result column="shop_name" jdbcType="VARCHAR" property="shopName"/>
<result column="chain_name" jdbcType="VARCHAR" property="chainName"/>
<result column="back_img" jdbcType="VARCHAR" property="backImg"/>
<result column="front_img" jdbcType="VARCHAR" property="frontImg"/>
<result column="contact_name" jdbcType="VARCHAR" property="contactName"/>
<result column="phone" jdbcType="VARCHAR" property="phone"/>
<result column="logo" jdbcType="VARCHAR" property="logo"/>
<result column="is_deposit" jdbcType="TINYINT" property="isDeposit"/>
<result column="is_supply" jdbcType="TINYINT" property="isSupply"/>
<result column="cover_img" jdbcType="VARCHAR" property="coverImg"/>
<result column="share_img" jdbcType="VARCHAR" property="shareImg"/>
<result column="detail" jdbcType="VARCHAR" property="detail"/>
<result column="lat" jdbcType="VARCHAR" property="lat"/>
<result column="lng" jdbcType="VARCHAR" property="lng"/>
<result column="mch_id" jdbcType="VARCHAR" property="mchId"/>
<result column="register_type" jdbcType="VARCHAR" property="registerType"/>
<result column="is_wx_ma_independent" jdbcType="TINYINT" property="isWxMaIndependent"/>
<result column="address" jdbcType="VARCHAR" property="address"/>
<result column="city" jdbcType="VARCHAR" property="city"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="industry" jdbcType="VARCHAR" property="industry"/>
<result column="industry_name" jdbcType="VARCHAR" property="industryName"/>
<result column="business_start_day" jdbcType="VARCHAR" property="businessStartDay"/>
<result column="business_end_day" jdbcType="VARCHAR" property="businessEndDay"/>
<result column="business_time" jdbcType="VARCHAR" property="businessTime"/>
<result column="post_time" jdbcType="VARCHAR" property="postTime"/>
<result column="post_amount_line" jdbcType="DECIMAL" property="postAmountLine"/>
<result column="on_sale" jdbcType="TINYINT" property="onSale"/>
<result column="settle_type" jdbcType="TINYINT" property="settleType"/>
<result column="settle_time" jdbcType="VARCHAR" property="settleTime"/>
<result column="enter_at" jdbcType="INTEGER" property="enterAt"/>
<result column="expire_at" jdbcType="BIGINT" property="expireAt"/>
<result column="status" jdbcType="TINYINT" property="status"/>
<result column="average" jdbcType="REAL" property="average"/>
<result column="order_wait_pay_minute" jdbcType="INTEGER" property="orderWaitPayMinute"/>
<result column="support_device_number" jdbcType="INTEGER" property="supportDeviceNumber"/>
<result column="distribute_level" jdbcType="TINYINT" property="distributeLevel"/>
<result column="created_at" jdbcType="BIGINT" property="createdAt"/>
<result column="updated_at" jdbcType="BIGINT" property="updatedAt"/>
<result column="proxy_id" jdbcType="VARCHAR" property="proxyId"/>
<result column="is_open_yhq" jdbcType="VARCHAR" property="isOpenYhq"/>
<result column="is_use_vip" jdbcType="VARCHAR" property="isUseVip"/>
<result column="provinces" jdbcType="VARCHAR" property="provinces"/>
<result column="cities" jdbcType="VARCHAR" property="cities"/>
<result column="districts" jdbcType="VARCHAR" property="districts"/>
<result column="is_custom" jdbcType="VARCHAR" property="isCustom" />
<result column="is_table_fee" jdbcType="TINYINT" property="isTableFee" />
<result column="table_fee" jdbcType="DECIMAL" property="tableFee" />
<result column="eat_model" jdbcType="VARCHAR" property="eatModel" />
<result column="small_qrcode" jdbcType="VARCHAR" property="smallQrcode" />
<result column="payment_qrcode" jdbcType="VARCHAR" property="paymentQrcode" />
</resultMap>
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs"
type="com.chaozhanggui.system.cashierservice.entity.TbShopInfo">
<result column="view" jdbcType="LONGVARCHAR" property="view"/>
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbShopInfo" id="BaseResultMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="account" column="account" jdbcType="VARCHAR"/>
<result property="shopCode" column="shop_code" jdbcType="VARCHAR"/>
<result property="subTitle" column="sub_title" jdbcType="VARCHAR"/>
<result property="merchantId" column="merchant_id" jdbcType="VARCHAR"/>
<result property="shopName" column="shop_name" jdbcType="VARCHAR"/>
<result property="chainName" column="chain_name" jdbcType="VARCHAR"/>
<result property="backImg" column="back_img" jdbcType="VARCHAR"/>
<result property="frontImg" column="front_img" jdbcType="VARCHAR"/>
<result property="contactName" column="contact_name" jdbcType="VARCHAR"/>
<result property="phone" column="phone" jdbcType="VARCHAR"/>
<result property="logo" column="logo" jdbcType="VARCHAR"/>
<result property="isDeposit" column="is_deposit" jdbcType="INTEGER"/>
<result property="isSupply" column="is_supply" jdbcType="INTEGER"/>
<result property="coverImg" column="cover_img" jdbcType="VARCHAR"/>
<result property="shareImg" column="share_img" jdbcType="VARCHAR"/>
<result property="view" column="view" jdbcType="VARCHAR"/>
<result property="detail" column="detail" jdbcType="VARCHAR"/>
<result property="lat" column="lat" jdbcType="VARCHAR"/>
<result property="lng" column="lng" jdbcType="VARCHAR"/>
<result property="mchId" column="mch_id" jdbcType="VARCHAR"/>
<result property="registerType" column="register_type" jdbcType="VARCHAR"/>
<result property="isWxMaIndependent" column="is_wx_ma_independent" jdbcType="INTEGER"/>
<result property="address" column="address" jdbcType="VARCHAR"/>
<result property="city" column="city" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="industry" column="industry" jdbcType="VARCHAR"/>
<result property="industryName" column="industry_name" jdbcType="VARCHAR"/>
<result property="businessStartDay" column="business_start_day" jdbcType="VARCHAR"/>
<result property="businessEndDay" column="business_end_day" jdbcType="VARCHAR"/>
<result property="businessTime" column="business_time" jdbcType="VARCHAR"/>
<result property="postTime" column="post_time" jdbcType="VARCHAR"/>
<result property="postAmountLine" column="post_amount_line" jdbcType="NUMERIC"/>
<result property="onSale" column="on_sale" jdbcType="INTEGER"/>
<result property="settleType" column="settle_type" jdbcType="INTEGER"/>
<result property="settleTime" column="settle_time" jdbcType="VARCHAR"/>
<result property="enterAt" column="enter_at" jdbcType="INTEGER"/>
<result property="expireAt" column="expire_at" jdbcType="INTEGER"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="average" column="average" jdbcType="VARCHAR"/>
<result property="orderWaitPayMinute" column="order_wait_pay_minute" jdbcType="INTEGER"/>
<result property="supportDeviceNumber" column="support_device_number" jdbcType="INTEGER"/>
<result property="distributeLevel" column="distribute_level" jdbcType="INTEGER"/>
<result property="createdAt" column="created_at" jdbcType="INTEGER"/>
<result property="updatedAt" column="updated_at" jdbcType="INTEGER"/>
<result property="proxyId" column="proxy_id" jdbcType="VARCHAR"/>
<result property="profiles" column="profiles" jdbcType="VARCHAR"/>
<result property="shopQrcode" column="shop_qrcode" jdbcType="VARCHAR"/>
<result property="tag" column="tag" jdbcType="VARCHAR"/>
<result property="isOpenYhq" column="is_open_yhq" jdbcType="VARCHAR"/>
<result property="isUseVip" column="is_use_vip" jdbcType="INTEGER"/>
<result property="provinces" column="provinces" jdbcType="VARCHAR"/>
<result property="cities" column="cities" jdbcType="VARCHAR"/>
<result property="districts" column="districts" jdbcType="VARCHAR"/>
<result property="isCustom" column="is_custom" jdbcType="VARCHAR"/>
<result property="isReturn" column="is_return" jdbcType="VARCHAR"/>
<result property="isMemberIn" column="is_member_in" jdbcType="VARCHAR"/>
<result property="isMemberReturn" column="is_member_return" jdbcType="VARCHAR"/>
<result property="isTableFee" column="is_table_fee" jdbcType="INTEGER"/>
<result property="isMemberPrice" column="is_member_price" jdbcType="INTEGER"/>
<result property="consumeColony" column="consume_colony" jdbcType="VARCHAR"/>
<result property="tableFee" column="table_fee" jdbcType="NUMERIC"/>
<result property="eatModel" column="eat_model" jdbcType="VARCHAR"/>
<result property="smallQrcode" column="small_qrcode" jdbcType="VARCHAR"/>
<result property="paymentQrcode" column="payment_qrcode" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id
, account, shop_code, sub_title, merchant_id, shop_name, chain_name, back_img,
front_img, contact_name, phone, logo, is_deposit, is_supply, cover_img, share_img,
detail, lat, lng, mch_id, register_type, is_wx_ma_independent, address, city, type,
industry, industry_name, business_start_day,business_end_day,business_time, post_time, post_amount_line, on_sale, settle_type,
settle_time, enter_at, expire_at, status, average, order_wait_pay_minute, support_device_number,
distribute_level, created_at, updated_at, proxy_id, shop_qrcode, tag,is_open_yhq,is_use_vip,provinces,cities,districts,is_custom,
is_table_fee,table_fee,eat_model,small_qrcode,payment_qrcode
</sql>
<sql id="Blob_Column_List">
view
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="ResultMapWithBLOBs">
, account, shop_code, sub_title, merchant_id, shop_name, chain_name, back_img, front_img, contact_name, phone, logo, is_deposit, is_supply, cover_img, share_img, view, detail, lat, lng, mch_id, register_type, is_wx_ma_independent, address, city, type, industry, industry_name, business_start_day, business_end_day, business_time, post_time, post_amount_line, on_sale, settle_type, settle_time, enter_at, expire_at, status, average, order_wait_pay_minute, support_device_number, distribute_level, created_at, updated_at, proxy_id, profiles, shop_qrcode, tag, is_open_yhq, is_use_vip, provinces, cities, districts, is_custom, is_return, is_member_in, is_member_return, is_table_fee, is_member_price, consume_colony, table_fee, eat_model, small_qrcode, payment_qrcode </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
,
<include refid="Blob_Column_List"/>
from tb_shop_info
where id = #{id,jdbcType=INTEGER}
</select>
@@ -114,544 +109,6 @@
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete
from tb_shop_info
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.chaozhanggui.system.cashierservice.entity.TbShopInfo">
insert into tb_shop_info (id, account, shop_code,
sub_title, merchant_id, shop_name,
chain_name, back_img, front_img,
contact_name, phone, logo,
is_deposit, is_supply, cover_img,
share_img, detail, lat,
lng, mch_id, register_type,
is_wx_ma_independent, address, city,
type, industry, industry_name,
business_time, post_time, post_amount_line,
on_sale, settle_type, settle_time,
enter_at, expire_at, status,
average, order_wait_pay_minute, support_device_number,
distribute_level, created_at, updated_at,
proxy_id, view)
values (#{id,jdbcType=INTEGER}, #{account,jdbcType=VARCHAR}, #{shopCode,jdbcType=VARCHAR},
#{subTitle,jdbcType=VARCHAR}, #{merchantId,jdbcType=VARCHAR}, #{shopName,jdbcType=VARCHAR},
#{chainName,jdbcType=VARCHAR}, #{backImg,jdbcType=VARCHAR}, #{frontImg,jdbcType=VARCHAR},
#{contactName,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{logo,jdbcType=VARCHAR},
#{isDeposit,jdbcType=TINYINT}, #{isSupply,jdbcType=TINYINT}, #{coverImg,jdbcType=VARCHAR},
#{shareImg,jdbcType=VARCHAR}, #{detail,jdbcType=VARCHAR}, #{lat,jdbcType=VARCHAR},
#{lng,jdbcType=VARCHAR}, #{mchId,jdbcType=VARCHAR}, #{registerType,jdbcType=VARCHAR},
#{isWxMaIndependent,jdbcType=TINYINT}, #{address,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR},
#{type,jdbcType=VARCHAR}, #{industry,jdbcType=VARCHAR}, #{industryName,jdbcType=VARCHAR},
#{businessTime,jdbcType=VARCHAR}, #{postTime,jdbcType=VARCHAR}, #{postAmountLine,jdbcType=DECIMAL},
#{onSale,jdbcType=TINYINT}, #{settleType,jdbcType=TINYINT}, #{settleTime,jdbcType=VARCHAR},
#{enterAt,jdbcType=INTEGER}, #{expireAt,jdbcType=BIGINT}, #{status,jdbcType=TINYINT},
#{average,jdbcType=REAL}, #{orderWaitPayMinute,jdbcType=INTEGER},
#{supportDeviceNumber,jdbcType=INTEGER},
#{distributeLevel,jdbcType=TINYINT}, #{createdAt,jdbcType=BIGINT}, #{updatedAt,jdbcType=BIGINT},
#{proxyId,jdbcType=VARCHAR}, #{view,jdbcType=LONGVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.chaozhanggui.system.cashierservice.entity.TbShopInfo">
insert into tb_shop_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="account != null">
account,
</if>
<if test="shopCode != null">
shop_code,
</if>
<if test="subTitle != null">
sub_title,
</if>
<if test="merchantId != null">
merchant_id,
</if>
<if test="shopName != null">
shop_name,
</if>
<if test="chainName != null">
chain_name,
</if>
<if test="backImg != null">
back_img,
</if>
<if test="frontImg != null">
front_img,
</if>
<if test="contactName != null">
contact_name,
</if>
<if test="phone != null">
phone,
</if>
<if test="logo != null">
logo,
</if>
<if test="isDeposit != null">
is_deposit,
</if>
<if test="isSupply != null">
is_supply,
</if>
<if test="coverImg != null">
cover_img,
</if>
<if test="shareImg != null">
share_img,
</if>
<if test="detail != null">
detail,
</if>
<if test="lat != null">
lat,
</if>
<if test="lng != null">
lng,
</if>
<if test="mchId != null">
mch_id,
</if>
<if test="registerType != null">
register_type,
</if>
<if test="isWxMaIndependent != null">
is_wx_ma_independent,
</if>
<if test="address != null">
address,
</if>
<if test="city != null">
city,
</if>
<if test="type != null">
type,
</if>
<if test="industry != null">
industry,
</if>
<if test="industryName != null">
industry_name,
</if>
<if test="businessTime != null">
business_time,
</if>
<if test="postTime != null">
post_time,
</if>
<if test="postAmountLine != null">
post_amount_line,
</if>
<if test="onSale != null">
on_sale,
</if>
<if test="settleType != null">
settle_type,
</if>
<if test="settleTime != null">
settle_time,
</if>
<if test="enterAt != null">
enter_at,
</if>
<if test="expireAt != null">
expire_at,
</if>
<if test="status != null">
status,
</if>
<if test="average != null">
average,
</if>
<if test="orderWaitPayMinute != null">
order_wait_pay_minute,
</if>
<if test="supportDeviceNumber != null">
support_device_number,
</if>
<if test="distributeLevel != null">
distribute_level,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="proxyId != null">
proxy_id,
</if>
<if test="view != null">
view,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="account != null">
#{account,jdbcType=VARCHAR},
</if>
<if test="shopCode != null">
#{shopCode,jdbcType=VARCHAR},
</if>
<if test="subTitle != null">
#{subTitle,jdbcType=VARCHAR},
</if>
<if test="merchantId != null">
#{merchantId,jdbcType=VARCHAR},
</if>
<if test="shopName != null">
#{shopName,jdbcType=VARCHAR},
</if>
<if test="chainName != null">
#{chainName,jdbcType=VARCHAR},
</if>
<if test="backImg != null">
#{backImg,jdbcType=VARCHAR},
</if>
<if test="frontImg != null">
#{frontImg,jdbcType=VARCHAR},
</if>
<if test="contactName != null">
#{contactName,jdbcType=VARCHAR},
</if>
<if test="phone != null">
#{phone,jdbcType=VARCHAR},
</if>
<if test="logo != null">
#{logo,jdbcType=VARCHAR},
</if>
<if test="isDeposit != null">
#{isDeposit,jdbcType=TINYINT},
</if>
<if test="isSupply != null">
#{isSupply,jdbcType=TINYINT},
</if>
<if test="coverImg != null">
#{coverImg,jdbcType=VARCHAR},
</if>
<if test="shareImg != null">
#{shareImg,jdbcType=VARCHAR},
</if>
<if test="detail != null">
#{detail,jdbcType=VARCHAR},
</if>
<if test="lat != null">
#{lat,jdbcType=VARCHAR},
</if>
<if test="lng != null">
#{lng,jdbcType=VARCHAR},
</if>
<if test="mchId != null">
#{mchId,jdbcType=VARCHAR},
</if>
<if test="registerType != null">
#{registerType,jdbcType=VARCHAR},
</if>
<if test="isWxMaIndependent != null">
#{isWxMaIndependent,jdbcType=TINYINT},
</if>
<if test="address != null">
#{address,jdbcType=VARCHAR},
</if>
<if test="city != null">
#{city,jdbcType=VARCHAR},
</if>
<if test="type != null">
#{type,jdbcType=VARCHAR},
</if>
<if test="industry != null">
#{industry,jdbcType=VARCHAR},
</if>
<if test="industryName != null">
#{industryName,jdbcType=VARCHAR},
</if>
<if test="businessTime != null">
#{businessTime,jdbcType=VARCHAR},
</if>
<if test="postTime != null">
#{postTime,jdbcType=VARCHAR},
</if>
<if test="postAmountLine != null">
#{postAmountLine,jdbcType=DECIMAL},
</if>
<if test="onSale != null">
#{onSale,jdbcType=TINYINT},
</if>
<if test="settleType != null">
#{settleType,jdbcType=TINYINT},
</if>
<if test="settleTime != null">
#{settleTime,jdbcType=VARCHAR},
</if>
<if test="enterAt != null">
#{enterAt,jdbcType=INTEGER},
</if>
<if test="expireAt != null">
#{expireAt,jdbcType=BIGINT},
</if>
<if test="status != null">
#{status,jdbcType=TINYINT},
</if>
<if test="average != null">
#{average,jdbcType=REAL},
</if>
<if test="orderWaitPayMinute != null">
#{orderWaitPayMinute,jdbcType=INTEGER},
</if>
<if test="supportDeviceNumber != null">
#{supportDeviceNumber,jdbcType=INTEGER},
</if>
<if test="distributeLevel != null">
#{distributeLevel,jdbcType=TINYINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=BIGINT},
</if>
<if test="proxyId != null">
#{proxyId,jdbcType=VARCHAR},
</if>
<if test="view != null">
#{view,jdbcType=LONGVARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.chaozhanggui.system.cashierservice.entity.TbShopInfo">
update tb_shop_info
<set>
<if test="account != null">
account = #{account,jdbcType=VARCHAR},
</if>
<if test="shopCode != null">
shop_code = #{shopCode,jdbcType=VARCHAR},
</if>
<if test="subTitle != null">
sub_title = #{subTitle,jdbcType=VARCHAR},
</if>
<if test="merchantId != null">
merchant_id = #{merchantId,jdbcType=VARCHAR},
</if>
<if test="shopName != null">
shop_name = #{shopName,jdbcType=VARCHAR},
</if>
<if test="chainName != null">
chain_name = #{chainName,jdbcType=VARCHAR},
</if>
<if test="backImg != null">
back_img = #{backImg,jdbcType=VARCHAR},
</if>
<if test="frontImg != null">
front_img = #{frontImg,jdbcType=VARCHAR},
</if>
<if test="contactName != null">
contact_name = #{contactName,jdbcType=VARCHAR},
</if>
<if test="phone != null">
phone = #{phone,jdbcType=VARCHAR},
</if>
<if test="logo != null">
logo = #{logo,jdbcType=VARCHAR},
</if>
<if test="isDeposit != null">
is_deposit = #{isDeposit,jdbcType=TINYINT},
</if>
<if test="isSupply != null">
is_supply = #{isSupply,jdbcType=TINYINT},
</if>
<if test="coverImg != null">
cover_img = #{coverImg,jdbcType=VARCHAR},
</if>
<if test="shareImg != null">
share_img = #{shareImg,jdbcType=VARCHAR},
</if>
<if test="detail != null">
detail = #{detail,jdbcType=VARCHAR},
</if>
<if test="lat != null">
lat = #{lat,jdbcType=VARCHAR},
</if>
<if test="lng != null">
lng = #{lng,jdbcType=VARCHAR},
</if>
<if test="mchId != null">
mch_id = #{mchId,jdbcType=VARCHAR},
</if>
<if test="registerType != null">
register_type = #{registerType,jdbcType=VARCHAR},
</if>
<if test="isWxMaIndependent != null">
is_wx_ma_independent = #{isWxMaIndependent,jdbcType=TINYINT},
</if>
<if test="address != null">
address = #{address,jdbcType=VARCHAR},
</if>
<if test="city != null">
city = #{city,jdbcType=VARCHAR},
</if>
<if test="type != null">
type = #{type,jdbcType=VARCHAR},
</if>
<if test="industry != null">
industry = #{industry,jdbcType=VARCHAR},
</if>
<if test="industryName != null">
industry_name = #{industryName,jdbcType=VARCHAR},
</if>
<if test="businessTime != null">
business_time = #{businessTime,jdbcType=VARCHAR},
</if>
<if test="postTime != null">
post_time = #{postTime,jdbcType=VARCHAR},
</if>
<if test="postAmountLine != null">
post_amount_line = #{postAmountLine,jdbcType=DECIMAL},
</if>
<if test="onSale != null">
on_sale = #{onSale,jdbcType=TINYINT},
</if>
<if test="settleType != null">
settle_type = #{settleType,jdbcType=TINYINT},
</if>
<if test="settleTime != null">
settle_time = #{settleTime,jdbcType=VARCHAR},
</if>
<if test="enterAt != null">
enter_at = #{enterAt,jdbcType=INTEGER},
</if>
<if test="expireAt != null">
expire_at = #{expireAt,jdbcType=BIGINT},
</if>
<if test="status != null">
status = #{status,jdbcType=TINYINT},
</if>
<if test="average != null">
average = #{average,jdbcType=REAL},
</if>
<if test="orderWaitPayMinute != null">
order_wait_pay_minute = #{orderWaitPayMinute,jdbcType=INTEGER},
</if>
<if test="supportDeviceNumber != null">
support_device_number = #{supportDeviceNumber,jdbcType=INTEGER},
</if>
<if test="distributeLevel != null">
distribute_level = #{distributeLevel,jdbcType=TINYINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=BIGINT},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=BIGINT},
</if>
<if test="proxyId != null">
proxy_id = #{proxyId,jdbcType=VARCHAR},
</if>
<if test="view != null">
view = #{view,jdbcType=LONGVARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.chaozhanggui.system.cashierservice.entity.TbShopInfo">
update tb_shop_info
set account = #{account,jdbcType=VARCHAR},
shop_code = #{shopCode,jdbcType=VARCHAR},
sub_title = #{subTitle,jdbcType=VARCHAR},
merchant_id = #{merchantId,jdbcType=VARCHAR},
shop_name = #{shopName,jdbcType=VARCHAR},
chain_name = #{chainName,jdbcType=VARCHAR},
back_img = #{backImg,jdbcType=VARCHAR},
front_img = #{frontImg,jdbcType=VARCHAR},
contact_name = #{contactName,jdbcType=VARCHAR},
phone = #{phone,jdbcType=VARCHAR},
logo = #{logo,jdbcType=VARCHAR},
is_deposit = #{isDeposit,jdbcType=TINYINT},
is_supply = #{isSupply,jdbcType=TINYINT},
cover_img = #{coverImg,jdbcType=VARCHAR},
share_img = #{shareImg,jdbcType=VARCHAR},
detail = #{detail,jdbcType=VARCHAR},
lat = #{lat,jdbcType=VARCHAR},
lng = #{lng,jdbcType=VARCHAR},
mch_id = #{mchId,jdbcType=VARCHAR},
register_type = #{registerType,jdbcType=VARCHAR},
is_wx_ma_independent = #{isWxMaIndependent,jdbcType=TINYINT},
address = #{address,jdbcType=VARCHAR},
city = #{city,jdbcType=VARCHAR},
type = #{type,jdbcType=VARCHAR},
industry = #{industry,jdbcType=VARCHAR},
industry_name = #{industryName,jdbcType=VARCHAR},
business_time = #{businessTime,jdbcType=VARCHAR},
post_time = #{postTime,jdbcType=VARCHAR},
post_amount_line = #{postAmountLine,jdbcType=DECIMAL},
on_sale = #{onSale,jdbcType=TINYINT},
settle_type = #{settleType,jdbcType=TINYINT},
settle_time = #{settleTime,jdbcType=VARCHAR},
enter_at = #{enterAt,jdbcType=INTEGER},
expire_at = #{expireAt,jdbcType=BIGINT},
status = #{status,jdbcType=TINYINT},
average = #{average,jdbcType=REAL},
order_wait_pay_minute = #{orderWaitPayMinute,jdbcType=INTEGER},
support_device_number = #{supportDeviceNumber,jdbcType=INTEGER},
distribute_level = #{distributeLevel,jdbcType=TINYINT},
created_at = #{createdAt,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=BIGINT},
proxy_id = #{proxyId,jdbcType=VARCHAR},
view = #{view,jdbcType=LONGVARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.chaozhanggui.system.cashierservice.entity.TbShopInfo">
update tb_shop_info
set account = #{account,jdbcType=VARCHAR},
shop_code = #{shopCode,jdbcType=VARCHAR},
sub_title = #{subTitle,jdbcType=VARCHAR},
merchant_id = #{merchantId,jdbcType=VARCHAR},
shop_name = #{shopName,jdbcType=VARCHAR},
chain_name = #{chainName,jdbcType=VARCHAR},
back_img = #{backImg,jdbcType=VARCHAR},
front_img = #{frontImg,jdbcType=VARCHAR},
contact_name = #{contactName,jdbcType=VARCHAR},
phone = #{phone,jdbcType=VARCHAR},
logo = #{logo,jdbcType=VARCHAR},
is_deposit = #{isDeposit,jdbcType=TINYINT},
is_supply = #{isSupply,jdbcType=TINYINT},
cover_img = #{coverImg,jdbcType=VARCHAR},
share_img = #{shareImg,jdbcType=VARCHAR},
detail = #{detail,jdbcType=VARCHAR},
lat = #{lat,jdbcType=VARCHAR},
lng = #{lng,jdbcType=VARCHAR},
mch_id = #{mchId,jdbcType=VARCHAR},
register_type = #{registerType,jdbcType=VARCHAR},
is_wx_ma_independent = #{isWxMaIndependent,jdbcType=TINYINT},
address = #{address,jdbcType=VARCHAR},
city = #{city,jdbcType=VARCHAR},
type = #{type,jdbcType=VARCHAR},
industry = #{industry,jdbcType=VARCHAR},
industry_name = #{industryName,jdbcType=VARCHAR},
business_time = #{businessTime,jdbcType=VARCHAR},
post_time = #{postTime,jdbcType=VARCHAR},
post_amount_line = #{postAmountLine,jdbcType=DECIMAL},
on_sale = #{onSale,jdbcType=TINYINT},
settle_type = #{settleType,jdbcType=TINYINT},
settle_time = #{settleTime,jdbcType=VARCHAR},
enter_at = #{enterAt,jdbcType=INTEGER},
expire_at = #{expireAt,jdbcType=BIGINT},
status = #{status,jdbcType=TINYINT},
average = #{average,jdbcType=REAL},
order_wait_pay_minute = #{orderWaitPayMinute,jdbcType=INTEGER},
support_device_number = #{supportDeviceNumber,jdbcType=INTEGER},
distribute_level = #{distributeLevel,jdbcType=TINYINT},
created_at = #{createdAt,jdbcType=BIGINT},
updated_at = #{updatedAt,jdbcType=BIGINT},
proxy_id = #{proxyId,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
<select id="selectByQrCode" resultMap="BaseResultMap">
SELECT i.*
@@ -693,12 +150,12 @@
<select id="selectByIds" resultType="com.chaozhanggui.system.cashierservice.entity.TbShopInfo">
select
<include refid="Base_Column_List"/>
,
<include refid="Blob_Column_List"/>
from tb_shop_info
where id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
</mapper>
</mapper>