会员商品 添加购物车 记录
This commit is contained in:
@@ -50,12 +50,13 @@ public class ProductController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping("queryProduct")
|
@RequestMapping("queryProduct")
|
||||||
public Result queryProduct(@RequestBody Map<String, String> map) {
|
public Result queryProduct(@RequestHeader("id") String userId,@RequestBody Map<String, String> map) {
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(map) || map.size() <= 0 || !map.containsKey("shopId")) {
|
if (ObjectUtil.isEmpty(map) || map.size() <= 0 || !map.containsKey("shopId")) {
|
||||||
return Result.fail("参数错误");
|
return Result.fail("参数错误");
|
||||||
}
|
}
|
||||||
return productService.queryProduct(
|
return productService.queryProduct(
|
||||||
|
userId,
|
||||||
map.get("shopId").toString(),
|
map.get("shopId").toString(),
|
||||||
(map.containsKey("productGroupId") && ObjectUtil.isNotEmpty(map.get("productGroupId"))) ? map.get("productGroupId").toString() : "");
|
(map.containsKey("productGroupId") && ObjectUtil.isNotEmpty(map.get("productGroupId"))) ? map.get("productGroupId").toString() : "");
|
||||||
}
|
}
|
||||||
@@ -81,9 +82,10 @@ public class ProductController {
|
|||||||
@RequestParam(value = "code", required = false) String code,
|
@RequestParam(value = "code", required = false) String code,
|
||||||
@RequestParam("shopId") String shopId,
|
@RequestParam("shopId") String shopId,
|
||||||
@RequestParam("productId") String productId,
|
@RequestParam("productId") String productId,
|
||||||
@RequestParam("spec_tag") String spec_tag
|
@RequestParam("spec_tag") String spec_tag,
|
||||||
|
@RequestParam("isVip") Integer isVip
|
||||||
) {
|
) {
|
||||||
return productService.queryProductSku(code,shopId, productId, spec_tag);
|
return productService.queryProductSku(code,shopId, productId, spec_tag,isVip);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("addCart")
|
@PostMapping("addCart")
|
||||||
|
|||||||
@@ -1,66 +0,0 @@
|
|||||||
package com.chaozhanggui.system.cashierservice.dao;
|
|
||||||
|
|
||||||
import com.chaozhanggui.system.cashierservice.entity.TbActivateGiveRecord;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 活动商品赠送表(TbActivateGiveRecord)表数据库访问层
|
|
||||||
*
|
|
||||||
* @author ww
|
|
||||||
* @since 2024-08-20 15:20:43
|
|
||||||
*/
|
|
||||||
public interface TbActivateGiveRecordMapper {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过ID查询单条数据
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
* @return 实例对象
|
|
||||||
*/
|
|
||||||
TbActivateGiveRecord queryById(Integer id);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询数据
|
|
||||||
*
|
|
||||||
* @param tbActivateGiveRecord 查询条件
|
|
||||||
* @return 对象列表
|
|
||||||
*/
|
|
||||||
List<TbActivateGiveRecord> queryAll(TbActivateGiveRecord tbActivateGiveRecord);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增数据
|
|
||||||
*
|
|
||||||
* @param tbActivateGiveRecord 实例对象
|
|
||||||
* @return 影响行数
|
|
||||||
*/
|
|
||||||
int insert(TbActivateGiveRecord tbActivateGiveRecord);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量新增数据(MyBatis原生foreach方法)
|
|
||||||
*
|
|
||||||
* @param entities List<TbActivateGiveRecord> 实例对象列表
|
|
||||||
* @return 影响行数
|
|
||||||
*/
|
|
||||||
int insertBatch(@Param("entities") List<TbActivateGiveRecord> entities);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改数据
|
|
||||||
*
|
|
||||||
* @param tbActivateGiveRecord 实例对象
|
|
||||||
* @return 影响行数
|
|
||||||
*/
|
|
||||||
int update(TbActivateGiveRecord tbActivateGiveRecord);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过主键删除数据
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
* @return 影响行数
|
|
||||||
*/
|
|
||||||
int deleteById(Integer id);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.dao;
|
||||||
|
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbActivateInRecord;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbProduct;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动商品赠送表(TbActivateInRecord)表数据库访问层
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2024-08-22 11:13:40
|
||||||
|
*/
|
||||||
|
public interface TbActivateInRecordMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
TbActivateInRecord queryById(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询数据
|
||||||
|
*
|
||||||
|
* @param tbActivateInRecord 查询条件
|
||||||
|
* @return 对象列表
|
||||||
|
*/
|
||||||
|
List<TbActivateInRecord> queryAll(TbActivateInRecord tbActivateInRecord);
|
||||||
|
|
||||||
|
List<TbProduct> queryByVipIdAndShopId(@Param("vipUserId") Integer vipUserId, @Param("shopId") Integer shopId);
|
||||||
|
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);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param tbActivateInRecord 实例对象
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int insert(TbActivateInRecord tbActivateInRecord);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增数据(MyBatis原生foreach方法)
|
||||||
|
*
|
||||||
|
* @param entities List<TbActivateInRecord> 实例对象列表
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int insertBatch(@Param("entities") List<TbActivateInRecord> entities);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param tbActivateInRecord 实例对象
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int update(TbActivateInRecord tbActivateInRecord);
|
||||||
|
|
||||||
|
int updateOverNumById(@Param("id")Integer id,@Param("overNum")Integer overNum);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键删除数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int deleteById(Integer id);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.dao;
|
||||||
|
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbActivateOutRecord;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动赠送商品使用记录表(TbActivateOutRecord)表数据库访问层
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2024-08-22 11:21:56
|
||||||
|
*/
|
||||||
|
public interface TbActivateOutRecordMapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
TbActivateOutRecord queryById(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询数据
|
||||||
|
*
|
||||||
|
* @param tbActivateOutRecord 查询条件
|
||||||
|
* @return 对象列表
|
||||||
|
*/
|
||||||
|
List<TbActivateOutRecord> queryAll(TbActivateOutRecord tbActivateOutRecord);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param tbActivateOutRecord 实例对象
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int insert(TbActivateOutRecord tbActivateOutRecord);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增数据(MyBatis原生foreach方法)
|
||||||
|
*
|
||||||
|
* @param entities List<TbActivateOutRecord> 实例对象列表
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int insertBatch(@Param("entities") List<TbActivateOutRecord> entities);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param tbActivateOutRecord 实例对象
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int update(TbActivateOutRecord tbActivateOutRecord);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据订单id 将数据状态变为
|
||||||
|
* @param orderId 订单Id
|
||||||
|
* @param status 状态
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int updateByOrderIdAndStatus(@Param("orderId")Integer orderId,@Param("status")String status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键删除数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int deleteById(Integer id);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -29,6 +29,7 @@ public interface TbActivateProductMapper {
|
|||||||
List<TbActivateProduct> queryAll(TbActivateProduct tbActivateProduct);
|
List<TbActivateProduct> queryAll(TbActivateProduct tbActivateProduct);
|
||||||
|
|
||||||
List<TbActivateProduct> queryAllByActivateId(Integer activateId);
|
List<TbActivateProduct> queryAllByActivateId(Integer activateId);
|
||||||
|
List<String> queryProsByActivateId(Integer activateId);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public interface TbProductMapper {
|
|||||||
|
|
||||||
List<TbProduct> selectByIds(@Param("list") List<String> ids);
|
List<TbProduct> selectByIds(@Param("list") List<String> ids);
|
||||||
Integer selectByQcode(@Param("code") String code,@Param("productId") Integer productId,@Param("shopId") String shopId);
|
Integer selectByQcode(@Param("code") String code,@Param("productId") Integer productId,@Param("shopId") String shopId);
|
||||||
Integer selectByCodeAndSkuId(@Param("code") String code,@Param("skuId") Integer skuId,@Param("shopId") String shopId);
|
Integer selectByCodeAndSkuId(@Param("code") String code,@Param("skuId") Integer skuId,@Param("shopId") String shopId,@Param("isVip") Integer isVip);
|
||||||
Integer selectByNewQcode(@Param("code") String code,@Param("productId") Integer productId,@Param("shopId") String shopId,@Param("list") List<String> list);
|
Integer selectByNewQcode(@Param("code") String code,@Param("productId") Integer productId,@Param("shopId") String shopId,@Param("list") List<String> list);
|
||||||
|
|
||||||
List<ShopGroupInfoVo> selGroups(@Param("proName") String proName,@Param("type") String type,
|
List<ShopGroupInfoVo> selGroups(@Param("proName") String proName,@Param("type") String type,
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
package com.chaozhanggui.system.cashierservice.entity;
|
package com.chaozhanggui.system.cashierservice.entity;
|
||||||
|
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class TbActivate implements Serializable {
|
public class TbActivate implements Serializable {
|
||||||
private Integer id;
|
private Integer id;
|
||||||
@@ -20,6 +24,7 @@ public class TbActivate implements Serializable {
|
|||||||
|
|
||||||
//是否赠送商品 0否 1是
|
//是否赠送商品 0否 1是
|
||||||
private Integer isGiftPro;
|
private Integer isGiftPro;
|
||||||
|
private List<String> gives;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
@@ -86,4 +91,16 @@ public class TbActivate implements Serializable {
|
|||||||
public void setIsGiftPro(Integer isGiftPro) {
|
public void setIsGiftPro(Integer isGiftPro) {
|
||||||
this.isGiftPro = isGiftPro;
|
this.isGiftPro = isGiftPro;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getGives() {
|
||||||
|
return gives;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGives(List<String> gives) {
|
||||||
|
if(CollectionUtils.isEmpty(gives)){
|
||||||
|
this.gives = new ArrayList<>();
|
||||||
|
}else {
|
||||||
|
this.gives = gives;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -4,13 +4,13 @@ import java.util.Date;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 活动商品赠送表(TbActivateGiveRecord)实体类
|
* 活动商品赠送表(TbActivateInRecord)实体类
|
||||||
*
|
*
|
||||||
* @author ww
|
* @author ww
|
||||||
* @since 2024-08-20 15:20:43
|
* @since 2024-08-22 11:13:40
|
||||||
*/
|
*/
|
||||||
public class TbActivateGiveRecord implements Serializable {
|
public class TbActivateInRecord implements Serializable {
|
||||||
private static final long serialVersionUID = -53463432636369401L;
|
private static final long serialVersionUID = -35515830201618782L;
|
||||||
|
|
||||||
private Integer id;
|
private Integer id;
|
||||||
/**
|
/**
|
||||||
@@ -25,30 +25,37 @@ public class TbActivateGiveRecord implements Serializable {
|
|||||||
* 赠送数量
|
* 赠送数量
|
||||||
*/
|
*/
|
||||||
private Integer num;
|
private Integer num;
|
||||||
|
/**
|
||||||
|
* 未使用数量
|
||||||
|
*/
|
||||||
|
private Integer overNum;
|
||||||
/**
|
/**
|
||||||
* 店铺id
|
* 店铺id
|
||||||
*/
|
*/
|
||||||
private Integer shopId;
|
private Integer shopId;
|
||||||
private Integer sourceFlowId;
|
|
||||||
/**
|
/**
|
||||||
* 来源活动id
|
* 来源活动id
|
||||||
*/
|
*/
|
||||||
private Integer sourceActId;
|
private Integer sourceActId;
|
||||||
|
|
||||||
|
private Integer sourceFlowId;
|
||||||
|
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
|
||||||
public TbActivateGiveRecord(Integer vipUserId, Integer proId, Integer num, Integer shopId, Integer sourceActId,Integer sourceFlowId) {
|
public TbActivateInRecord(Integer vipUserId, Integer proId, Integer num, Integer shopId, Integer sourceActId,Integer sourceFlowId) {
|
||||||
this.vipUserId = vipUserId;
|
this.vipUserId = vipUserId;
|
||||||
this.proId = proId;
|
this.proId = proId;
|
||||||
this.num = num;
|
this.num = num;
|
||||||
|
this.overNum = num;
|
||||||
this.shopId = shopId;
|
this.shopId = shopId;
|
||||||
this.sourceActId = sourceActId;
|
this.sourceActId = sourceActId;
|
||||||
this.sourceFlowId = sourceFlowId;
|
this.sourceFlowId = sourceFlowId;
|
||||||
this.createTime=new Date();
|
this.createTime=new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Integer getId() {
|
public Integer getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
@@ -81,6 +88,14 @@ public class TbActivateGiveRecord implements Serializable {
|
|||||||
this.num = num;
|
this.num = num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getOverNum() {
|
||||||
|
return overNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOverNum(Integer overNum) {
|
||||||
|
this.overNum = overNum;
|
||||||
|
}
|
||||||
|
|
||||||
public Integer getShopId() {
|
public Integer getShopId() {
|
||||||
return shopId;
|
return shopId;
|
||||||
}
|
}
|
||||||
@@ -89,6 +104,13 @@ public class TbActivateGiveRecord implements Serializable {
|
|||||||
this.shopId = shopId;
|
this.shopId = shopId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getSourceActId() {
|
||||||
|
return sourceActId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSourceActId(Integer sourceActId) {
|
||||||
|
this.sourceActId = sourceActId;
|
||||||
|
}
|
||||||
|
|
||||||
public Integer getSourceFlowId() {
|
public Integer getSourceFlowId() {
|
||||||
return sourceFlowId;
|
return sourceFlowId;
|
||||||
@@ -98,14 +120,6 @@ public class TbActivateGiveRecord implements Serializable {
|
|||||||
this.sourceFlowId = sourceFlowId;
|
this.sourceFlowId = sourceFlowId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getSourceActId() {
|
|
||||||
return sourceActId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSourceActId(Integer sourceActId) {
|
|
||||||
this.sourceActId = sourceActId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getCreateTime() {
|
public Date getCreateTime() {
|
||||||
return createTime;
|
return createTime;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.entity;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动赠送商品使用记录表(TbActivateOutRecord)实体类
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2024-08-22 11:21:56
|
||||||
|
*/
|
||||||
|
public class TbActivateOutRecord implements Serializable {
|
||||||
|
private static final long serialVersionUID = -54399746948905097L;
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
/**
|
||||||
|
* 商品赠送Id
|
||||||
|
*/
|
||||||
|
private Integer giveId;
|
||||||
|
/**
|
||||||
|
* 商品id
|
||||||
|
*/
|
||||||
|
private Integer proId;
|
||||||
|
/**
|
||||||
|
* 使用数量
|
||||||
|
*/
|
||||||
|
private Integer useNum;
|
||||||
|
/**
|
||||||
|
* 退单量
|
||||||
|
*/
|
||||||
|
private Integer refNum;
|
||||||
|
/**
|
||||||
|
* 订单id
|
||||||
|
*/
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Integer id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getGiveId() {
|
||||||
|
return giveId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGiveId(Integer giveId) {
|
||||||
|
this.giveId = giveId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getProId() {
|
||||||
|
return proId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProId(Integer proId) {
|
||||||
|
this.proId = proId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getUseNum() {
|
||||||
|
return useNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUseNum(Integer useNum) {
|
||||||
|
this.useNum = useNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getRefNum() {
|
||||||
|
return refNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRefNum(Integer refNum) {
|
||||||
|
this.refNum = refNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(String status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getOrderId() {
|
||||||
|
return orderId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOrderId(String orderId) {
|
||||||
|
this.orderId = orderId;
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -58,6 +58,7 @@ public class TbCashierCart implements Serializable {
|
|||||||
private Long updatedAt;
|
private Long updatedAt;
|
||||||
private Integer userId;
|
private Integer userId;
|
||||||
private String tableId;
|
private String tableId;
|
||||||
|
private Byte isVip;
|
||||||
private TbProductSpec tbProductSpec;
|
private TbProductSpec tbProductSpec;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ public class TbOrderDetail implements Serializable {
|
|||||||
|
|
||||||
private Integer num;
|
private Integer num;
|
||||||
|
|
||||||
|
private Byte isVip;
|
||||||
|
|
||||||
private String productName;
|
private String productName;
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
@@ -57,6 +58,9 @@ public class CartService {
|
|||||||
private TbMerchantAccountMapper merchantAccountMapper;
|
private TbMerchantAccountMapper merchantAccountMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private TbUserInfoMapper userInfoMapper;
|
private TbUserInfoMapper userInfoMapper;
|
||||||
|
@Autowired
|
||||||
|
private TbShopUserMapper shopUserMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private TbOrderDetailMapper orderDetailMapper;
|
private TbOrderDetailMapper orderDetailMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -71,6 +75,10 @@ public class CartService {
|
|||||||
private final WxAccountUtil wxAccountUtil;
|
private final WxAccountUtil wxAccountUtil;
|
||||||
|
|
||||||
private final TbShopOpenIdMapper shopOpenIdMapper;
|
private final TbShopOpenIdMapper shopOpenIdMapper;
|
||||||
|
@Resource
|
||||||
|
private TbActivateInRecordService activateInRecordService;
|
||||||
|
@Autowired
|
||||||
|
private TbActivateOutRecordMapper outRecordMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RabbitProducer producer;
|
private RabbitProducer producer;
|
||||||
@@ -122,6 +130,7 @@ public class CartService {
|
|||||||
if (!CollectionUtils.isEmpty(tbCashierCarts)) {
|
if (!CollectionUtils.isEmpty(tbCashierCarts)) {
|
||||||
for (TbCashierCart cashierCart : tbCashierCarts) {
|
for (TbCashierCart cashierCart : tbCashierCarts) {
|
||||||
array.add(cashierCart);
|
array.add(cashierCart);
|
||||||
|
if(cashierCart.getIsVip().equals((byte) 1)) continue;
|
||||||
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
||||||
}
|
}
|
||||||
redisUtil.saveMessage(RedisCst.TABLE_CART.concat(key), array.toString());
|
redisUtil.saveMessage(RedisCst.TABLE_CART.concat(key), array.toString());
|
||||||
@@ -148,8 +157,9 @@ public class CartService {
|
|||||||
String skuId = jsonObject.getString("skuId");
|
String skuId = jsonObject.getString("skuId");
|
||||||
Integer type = jsonObject.getInteger("type");
|
Integer type = jsonObject.getInteger("type");
|
||||||
Integer buyNum = jsonObject.getInteger("num");
|
Integer buyNum = jsonObject.getInteger("num");
|
||||||
|
Integer isVip = jsonObject.getInteger("isVip");
|
||||||
if (StringUtils.isBlank(tableId) || StringUtils.isBlank(shopId) || StringUtils.isBlank(productId)
|
if (StringUtils.isBlank(tableId) || StringUtils.isBlank(shopId) || StringUtils.isBlank(productId)
|
||||||
|| StringUtils.isBlank(skuId) || type==null || buyNum == null) {
|
|| StringUtils.isBlank(skuId) || type == null || buyNum == null) {
|
||||||
return Result.fail("参数缺失");
|
return Result.fail("参数缺失");
|
||||||
}
|
}
|
||||||
String key = tableId + "-" + shopId;
|
String key = tableId + "-" + shopId;
|
||||||
@@ -160,34 +170,32 @@ public class CartService {
|
|||||||
}
|
}
|
||||||
// 判断商品是否已下架
|
// 判断商品是否已下架
|
||||||
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = productSkuMapper.selectByPrimaryKey(Integer.valueOf(skuId));
|
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = productSkuMapper.selectByPrimaryKey(Integer.valueOf(skuId));
|
||||||
if (tbProductSkuWithBLOBs ==null || tbProductSkuWithBLOBs.getIsGrounding().equals(0)) {
|
if (tbProductSkuWithBLOBs == null || tbProductSkuWithBLOBs.getIsGrounding().equals(0)) {
|
||||||
rmCart(jsonObject,skuId,key);
|
rmCart(jsonObject, skuId, key);
|
||||||
return Result.fail("商品已下架");
|
return Result.fail("商品已下架");
|
||||||
}
|
}
|
||||||
if (tbProduct.getIsStock() == 1) {
|
if (tbProduct.getIsStock() == 1) {
|
||||||
// 1:共享库存 0:独立库存
|
// 1:共享库存 0:独立库存
|
||||||
if (Integer.valueOf(tbProduct.getIsDistribute()).equals(1)) {
|
if (Integer.valueOf(tbProduct.getIsDistribute()).equals(1)) {
|
||||||
if (tbProduct.getIsPauseSale() == 1) {//是否售罄
|
if (tbProduct.getIsPauseSale() == 1) {//是否售罄
|
||||||
rmCart(jsonObject,skuId,key);
|
rmCart(jsonObject, skuId, key);
|
||||||
return Result.fail("该商品已售罄");
|
return Result.fail("该商品已售罄");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (tbProductSkuWithBLOBs.getIsPauseSale() == 1) {//是否售罄
|
if (tbProductSkuWithBLOBs.getIsPauseSale() == 1) {//是否售罄
|
||||||
rmCart(jsonObject,skuId,key);
|
rmCart(jsonObject, skuId, key);
|
||||||
return Result.fail("该商品已售罄");
|
return Result.fail("该商品已售罄");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<TbProskuCon> proskuConList = tbProskuConMapper.selectByShopIdAndSkuIdAndProductId(Integer.valueOf(skuId), Integer.valueOf(shopId), Integer.valueOf(productId));
|
||||||
|
if (Objects.nonNull(proskuConList) && proskuConList.size() > 0) {
|
||||||
List<TbProskuCon> proskuConList= tbProskuConMapper.selectByShopIdAndSkuIdAndProductId(Integer.valueOf(skuId),Integer.valueOf(shopId),Integer.valueOf(productId));
|
|
||||||
if(Objects.nonNull(proskuConList)&&proskuConList.size()>0){
|
|
||||||
for (TbProskuCon proskuCon : proskuConList) {
|
for (TbProskuCon proskuCon : proskuConList) {
|
||||||
if("1".equals(proskuCon.getStatus())){
|
if ("1".equals(proskuCon.getStatus())) {
|
||||||
TbConsInfo consInfo= tbConsInfoMapper.selectByPrimaryKey(proskuCon.getConInfoId());
|
TbConsInfo consInfo = tbConsInfoMapper.selectByPrimaryKey(proskuCon.getConInfoId());
|
||||||
if("1".equals(consInfo.getIsCheck())){
|
if ("1".equals(consInfo.getIsCheck())) {
|
||||||
if(N.gt(proskuCon.getSurplusStock(),consInfo.getStockNumber().abs().subtract(consInfo.getStockConsume().abs()))){
|
if (N.gt(proskuCon.getSurplusStock(), consInfo.getStockNumber().abs().subtract(consInfo.getStockConsume().abs()))) {
|
||||||
return Result.fail("商品:".concat(tbProduct.getName()).concat("对应的:").concat(consInfo.getConName()).concat("耗材不足"));
|
return Result.fail("商品:".concat(tbProduct.getName()).concat("对应的:").concat(consInfo.getConName()).concat("耗材不足"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -195,8 +203,6 @@ public class CartService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
JSONArray jsonArray = new JSONArray();
|
JSONArray jsonArray = new JSONArray();
|
||||||
BigDecimal amount = BigDecimal.ZERO;
|
BigDecimal amount = BigDecimal.ZERO;
|
||||||
try{
|
try{
|
||||||
@@ -205,7 +211,7 @@ public class CartService {
|
|||||||
if (Objects.isNull(array) || array.isEmpty()) {
|
if (Objects.isNull(array) || array.isEmpty()) {
|
||||||
if (type == 1) {
|
if (type == 1) {
|
||||||
TbCashierCart cashierCart = addCart(productId, skuId,
|
TbCashierCart cashierCart = addCart(productId, skuId,
|
||||||
jsonObject.getInteger("userId"), buyNum, tableId, shopId);
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId,isVip);
|
||||||
jsonArray.add(cashierCart);
|
jsonArray.add(cashierCart);
|
||||||
amount = amount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
amount = amount.add(new BigDecimal(cashierCart.getNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
||||||
}
|
}
|
||||||
@@ -214,7 +220,8 @@ public class CartService {
|
|||||||
for (int i = 0; i < array.size(); i++) {
|
for (int i = 0; i < array.size(); i++) {
|
||||||
JSONObject object = array.getJSONObject(i);
|
JSONObject object = array.getJSONObject(i);
|
||||||
TbCashierCart cashierCart = JSONUtil.parseJSONStr2T(object.toJSONString(), TbCashierCart.class);
|
TbCashierCart cashierCart = JSONUtil.parseJSONStr2T(object.toJSONString(), TbCashierCart.class);
|
||||||
if (cashierCart.getSkuId().equals(skuId)) {
|
|
||||||
|
if (cashierCart.getSkuId().equals(skuId) && cashierCart.getIsVip().intValue() == isVip) {
|
||||||
cashierCart.setTotalNumber(buyNum);
|
cashierCart.setTotalNumber(buyNum);
|
||||||
cashierCart.setNumber(buyNum);
|
cashierCart.setNumber(buyNum);
|
||||||
if (type == 0 && tbProductSkuWithBLOBs.getSuit() != null && tbProductSkuWithBLOBs.getSuit() > 1 && cashierCart.getNumber() < tbProductSkuWithBLOBs.getSuit()) {
|
if (type == 0 && tbProductSkuWithBLOBs.getSuit() != null && tbProductSkuWithBLOBs.getSuit() > 1 && cashierCart.getNumber() < tbProductSkuWithBLOBs.getSuit()) {
|
||||||
@@ -222,7 +229,11 @@ public class CartService {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (cashierCart.getNumber() > 0) {
|
if (cashierCart.getNumber() > 0) {
|
||||||
|
if (isVip == 1) {
|
||||||
|
cashierCart.setTotalAmount(BigDecimal.ZERO);
|
||||||
|
} else {
|
||||||
cashierCart.setTotalAmount(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
cashierCart.setTotalAmount(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
||||||
|
}
|
||||||
cashierCart.setUpdatedAt(Instant.now().toEpochMilli());
|
cashierCart.setUpdatedAt(Instant.now().toEpochMilli());
|
||||||
cashierCartMapper.updateByPrimaryKeySelective(cashierCart);
|
cashierCartMapper.updateByPrimaryKeySelective(cashierCart);
|
||||||
} else {
|
} else {
|
||||||
@@ -236,7 +247,7 @@ public class CartService {
|
|||||||
}
|
}
|
||||||
if (flag && type == 1) {
|
if (flag && type == 1) {
|
||||||
TbCashierCart cashierCart = addCart(productId, skuId,
|
TbCashierCart cashierCart = addCart(productId, skuId,
|
||||||
jsonObject.getInteger("userId"), buyNum, tableId, shopId);
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId,isVip);
|
||||||
jsonArray.add(cashierCart);
|
jsonArray.add(cashierCart);
|
||||||
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
||||||
}
|
}
|
||||||
@@ -244,11 +255,13 @@ public class CartService {
|
|||||||
} else {
|
} else {
|
||||||
if (type == 1) {
|
if (type == 1) {
|
||||||
TbCashierCart cashierCart = addCart(productId, skuId,
|
TbCashierCart cashierCart = addCart(productId, skuId,
|
||||||
jsonObject.getInteger("userId"), buyNum, tableId, shopId);
|
jsonObject.getInteger("userId"), buyNum, tableId, shopId,isVip);
|
||||||
jsonArray.add(cashierCart);
|
jsonArray.add(cashierCart);
|
||||||
|
if (isVip != 1) {
|
||||||
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
amount = amount.add(new BigDecimal(cashierCart.getTotalNumber()).multiply(cashierCart.getSalePrice().add(cashierCart.getPackFee())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}catch (MsgException e){
|
}catch (MsgException e){
|
||||||
if(e.getMessage().equals("商品起售库存不足")){
|
if(e.getMessage().equals("商品起售库存不足")){
|
||||||
return Result.fail("商品起售库存不足");
|
return Result.fail("商品起售库存不足");
|
||||||
@@ -264,7 +277,7 @@ public class CartService {
|
|||||||
jsonObject1.put("reqData", jsonObject);
|
jsonObject1.put("reqData", jsonObject);
|
||||||
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), key, "", false);
|
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), key, "", false);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("长链接错误 createCart{}", e.getMessage());
|
log.error("长链接错误 createCart {}", e.getMessage());
|
||||||
}
|
}
|
||||||
return Result.success(CodeEnum.SUCCESS);
|
return Result.success(CodeEnum.SUCCESS);
|
||||||
}
|
}
|
||||||
@@ -379,7 +392,7 @@ public class CartService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private TbCashierCart addCart(String productId, String skuId, Integer userId, Integer num, String tableId, String shopId) throws Exception{
|
private TbCashierCart addCart(String productId, String skuId, Integer userId, Integer num, String tableId, String shopId,Integer isVip) throws Exception{
|
||||||
try {
|
try {
|
||||||
TbProduct product = productMapper.selectById(Integer.valueOf(productId));
|
TbProduct product = productMapper.selectById(Integer.valueOf(productId));
|
||||||
String key = tableId + "-" + shopId;
|
String key = tableId + "-" + shopId;
|
||||||
@@ -435,7 +448,14 @@ public class CartService {
|
|||||||
cashierCart.setUpdatedAt(Instant.now().toEpochMilli());
|
cashierCart.setUpdatedAt(Instant.now().toEpochMilli());
|
||||||
cashierCart.setPackFee(BigDecimal.ZERO);
|
cashierCart.setPackFee(BigDecimal.ZERO);
|
||||||
cashierCart.setRefundNumber(0);
|
cashierCart.setRefundNumber(0);
|
||||||
|
if(isVip==1){
|
||||||
|
cashierCart.setIsVip(Byte.parseByte("1"));
|
||||||
|
cashierCart.setTotalAmount(BigDecimal.ZERO);
|
||||||
|
cashierCart.setSalePrice(BigDecimal.ZERO);
|
||||||
|
}else {
|
||||||
|
cashierCart.setIsVip(Byte.parseByte("0"));
|
||||||
cashierCart.setTotalAmount(new BigDecimal(cashierCart.getTotalNumber()).multiply(productSku.getSalePrice().add(cashierCart.getPackFee())));
|
cashierCart.setTotalAmount(new BigDecimal(cashierCart.getTotalNumber()).multiply(productSku.getSalePrice().add(cashierCart.getPackFee())));
|
||||||
|
}
|
||||||
cashierCartMapper.insert(cashierCart);
|
cashierCartMapper.insert(cashierCart);
|
||||||
|
|
||||||
|
|
||||||
@@ -448,7 +468,7 @@ public class CartService {
|
|||||||
|
|
||||||
return cashierCart;
|
return cashierCart;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("长链接错误 addCart{}", e.getMessage());
|
log.error("长链接错误 addCart {}", e.getMessage());
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -479,9 +499,36 @@ public class CartService {
|
|||||||
if (tbUserInfo == null) {
|
if (tbUserInfo == null) {
|
||||||
MsgException.throwException("生成订单失败");
|
MsgException.throwException("生成订单失败");
|
||||||
}
|
}
|
||||||
|
TbShopUser tbShopUser = shopUserMapper.selectByUserIdAndShopId(userId, shopId);
|
||||||
|
boolean isVip= false;
|
||||||
|
if (tbShopUser != null && tbShopUser.getIsVip().equals((byte) 1)) {
|
||||||
|
isVip=true;
|
||||||
|
}
|
||||||
|
//校验 库存 耗材
|
||||||
for (int i = 0; i < array.size(); i++) {
|
for (int i = 0; i < array.size(); i++) {
|
||||||
JSONObject object = array.getJSONObject(i);
|
JSONObject object = array.getJSONObject(i);
|
||||||
TbCashierCart cashierCart = JSONUtil.parseJSONStr2T(object.toJSONString(), TbCashierCart.class);
|
TbCashierCart cashierCart = JSONUtil.parseJSONStr2T(object.toJSONString(), TbCashierCart.class);
|
||||||
|
if (cashierCart.getIsVip().equals((byte) 1)) {
|
||||||
|
if (isVip) {
|
||||||
|
int i1 = activateInRecordService.queryByVipIdAndShopIdAndProId(
|
||||||
|
Integer.valueOf(tbShopUser.getId()), Integer.valueOf(shopId), Integer.valueOf(cashierCart.getProductId()));
|
||||||
|
if (i1 < cashierCart.getTotalNumber()) {
|
||||||
|
JSONObject jsonObject1 = new JSONObject();
|
||||||
|
jsonObject1.put("status", "fail");
|
||||||
|
jsonObject1.put("msg", "会员商品[" + cashierCart.getName() + "],可下单数量为" + i1);
|
||||||
|
jsonObject1.put("data", new ArrayList<>());
|
||||||
|
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), key, jsonObject.getString("userId"), true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
JSONObject jsonObject1 = new JSONObject();
|
||||||
|
jsonObject1.put("status", "fail");
|
||||||
|
jsonObject1.put("msg", "非会员用户不可下单会员商品");
|
||||||
|
jsonObject1.put("data", new ArrayList<>());
|
||||||
|
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), key, jsonObject.getString("userId"), true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
TbProductSkuWithBLOBs tbProduct = productSkuMapper.selectByPrimaryKey(Integer.valueOf(cashierCart.getSkuId()));
|
TbProductSkuWithBLOBs tbProduct = productSkuMapper.selectByPrimaryKey(Integer.valueOf(cashierCart.getSkuId()));
|
||||||
TbProduct tbProduct1 = tbProductMapper.selectById(Integer.valueOf(tbProduct.getProductId()));
|
TbProduct tbProduct1 = tbProductMapper.selectById(Integer.valueOf(tbProduct.getProductId()));
|
||||||
|
|
||||||
@@ -540,6 +587,7 @@ public class CartService {
|
|||||||
orderDetail.setPackAmount(cashierCart.getPackFee());
|
orderDetail.setPackAmount(cashierCart.getPackFee());
|
||||||
orderDetail.setProductImg(cashierCart.getCoverImg());
|
orderDetail.setProductImg(cashierCart.getCoverImg());
|
||||||
orderDetail.setStatus("unpaid");
|
orderDetail.setStatus("unpaid");
|
||||||
|
orderDetail.setIsVip(cashierCart.getIsVip());
|
||||||
if (StringUtils.isNotEmpty(cashierCart.getOrderId())) {
|
if (StringUtils.isNotEmpty(cashierCart.getOrderId())) {
|
||||||
orderId = Integer.valueOf(cashierCart.getOrderId());
|
orderId = Integer.valueOf(cashierCart.getOrderId());
|
||||||
}
|
}
|
||||||
@@ -553,6 +601,8 @@ public class CartService {
|
|||||||
TbShopTable shopTable = shopTableMapper.selectQRcode(jsonObject.getString("tableId"));
|
TbShopTable shopTable = shopTableMapper.selectQRcode(jsonObject.getString("tableId"));
|
||||||
//生成订单
|
//生成订单
|
||||||
TbOrderInfo orderInfo = orderInfoMapper.selectByPrimaryKey(orderId);
|
TbOrderInfo orderInfo = orderInfoMapper.selectByPrimaryKey(orderId);
|
||||||
|
|
||||||
|
//优惠卷
|
||||||
String isBuyYhq = "false";
|
String isBuyYhq = "false";
|
||||||
String isuseYhq = "false";
|
String isuseYhq = "false";
|
||||||
if (jsonObject.containsKey("isYhq") && jsonObject.getString("isYhq").equals("1")) {
|
if (jsonObject.containsKey("isYhq") && jsonObject.getString("isYhq").equals("1")) {
|
||||||
@@ -697,9 +747,29 @@ public class CartService {
|
|||||||
orderDetail.setOrderId(orderId);
|
orderDetail.setOrderId(orderId);
|
||||||
orderDetailMapper.insert(orderDetail);
|
orderDetailMapper.insert(orderDetail);
|
||||||
}
|
}
|
||||||
|
List<TbActivateOutRecord> outRecords = new ArrayList<>();
|
||||||
for (int i = 0; i < array.size(); i++) {
|
for (int i = 0; i < array.size(); i++) {
|
||||||
JSONObject object = array.getJSONObject(i);
|
JSONObject object = array.getJSONObject(i);
|
||||||
TbCashierCart cashierCart = JSONUtil.parseJSONStr2T(object.toJSONString(), TbCashierCart.class);
|
TbCashierCart cashierCart = JSONUtil.parseJSONStr2T(object.toJSONString(), TbCashierCart.class);
|
||||||
|
if (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);
|
||||||
|
} 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.setUpdatedAt(System.currentTimeMillis());
|
||||||
cashierCart.setOrderId(orderId + "");
|
cashierCart.setOrderId(orderId + "");
|
||||||
cashierCart.setStatus("closed");
|
cashierCart.setStatus("closed");
|
||||||
@@ -709,7 +779,7 @@ public class CartService {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if(!CollectionUtils.isEmpty(outRecords)) outRecordMapper.insertBatch(outRecords);
|
||||||
// 发送mq消息
|
// 发送mq消息
|
||||||
JSONObject jsonObject2 = new JSONObject();
|
JSONObject jsonObject2 = new JSONObject();
|
||||||
jsonObject2.put("orderId", orderInfo.getId());
|
jsonObject2.put("orderId", orderInfo.getId());
|
||||||
@@ -751,7 +821,7 @@ public class CartService {
|
|||||||
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.info("长链接错误 addCart{}", e.getMessage());
|
log.info("长链接错误 createOrder{}", e.getMessage());
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -73,8 +74,8 @@ public class PayService {
|
|||||||
TbShopPayTypeMapper tbShopPayTypeMapper;
|
TbShopPayTypeMapper tbShopPayTypeMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private TbActivateProductMapper actProductMapper;
|
private TbActivateProductMapper actProductMapper;
|
||||||
@Autowired
|
@Resource
|
||||||
private TbActivateGiveRecordMapper actGiveRecordMapper;
|
private TbActivateInRecordMapper activateInRecordMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private TbShopSongOrderMapper tbShopSongOrderMapper;
|
private TbShopSongOrderMapper tbShopSongOrderMapper;
|
||||||
@@ -115,6 +116,10 @@ public class PayService {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
TbShopUserFlowMapper tbShopUserFlowMapper;
|
TbShopUserFlowMapper tbShopUserFlowMapper;
|
||||||
|
@Resource
|
||||||
|
private TbActivateInRecordService activateInRecordService;
|
||||||
|
@Autowired
|
||||||
|
private TbActivateOutRecordMapper outRecordMapper;
|
||||||
|
|
||||||
@Value("${thirdPay.payType}")
|
@Value("${thirdPay.payType}")
|
||||||
private String thirdPayType;
|
private String thirdPayType;
|
||||||
@@ -365,6 +370,10 @@ public class PayService {
|
|||||||
// return Result.failCode("会员卡余额不足","2");
|
// return Result.failCode("会员卡余额不足","2");
|
||||||
return Result.success(CodeEnum.SUCCESS, "2");
|
return Result.success(CodeEnum.SUCCESS, "2");
|
||||||
}
|
}
|
||||||
|
List<TbCashierCart> cashierCarts = tbCashierCartMapper.selectByOrderId(orderId, null);
|
||||||
|
if (ObjectUtil.isEmpty(cashierCarts) || ObjectUtil.isNull(cashierCarts)) {
|
||||||
|
return Result.fail("购物车信息不存在");
|
||||||
|
}
|
||||||
|
|
||||||
user.setAmount(user.getAmount().subtract(orderInfo.getOrderAmount()));
|
user.setAmount(user.getAmount().subtract(orderInfo.getOrderAmount()));
|
||||||
user.setConsumeAmount(user.getConsumeAmount().add(orderInfo.getPayAmount()));
|
user.setConsumeAmount(user.getConsumeAmount().add(orderInfo.getPayAmount()));
|
||||||
@@ -872,7 +881,7 @@ public class PayService {
|
|||||||
|
|
||||||
//更新子单状态
|
//更新子单状态
|
||||||
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(orderInfo.getId(), "closed");
|
tbOrderDetailMapper.updateStatusByOrderIdAndStatus(orderInfo.getId(), "closed");
|
||||||
|
outRecordMapper.updateByOrderIdAndStatus(orderInfo.getId(),"closed");
|
||||||
//修改主单状态
|
//修改主单状态
|
||||||
orderInfo.setStatus("closed");
|
orderInfo.setStatus("closed");
|
||||||
orderInfo.setPayType("wx_lite");
|
orderInfo.setPayType("wx_lite");
|
||||||
@@ -926,7 +935,7 @@ public class PayService {
|
|||||||
orderInfo.setPayOrderNo(payOrderNO);
|
orderInfo.setPayOrderNo(payOrderNO);
|
||||||
orderInfo.setPayAmount(orderInfo.getOrderAmount());
|
orderInfo.setPayAmount(orderInfo.getOrderAmount());
|
||||||
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
tbOrderInfoMapper.updateByPrimaryKeySelective(orderInfo);
|
||||||
|
outRecordMapper.updateByOrderIdAndStatus(orderInfo.getId(),"closed");
|
||||||
|
|
||||||
JSONObject jsonObject = new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
jsonObject.put("token", 0);
|
jsonObject.put("token", 0);
|
||||||
@@ -987,6 +996,11 @@ public class PayService {
|
|||||||
public Result getActivate(String shopId, int page, int pageSize) {
|
public Result getActivate(String shopId, int page, int pageSize) {
|
||||||
PageHelper.startPage(page, pageSize);
|
PageHelper.startPage(page, pageSize);
|
||||||
List<TbActivate> list = tbActivateMapper.selectByShopId(shopId);
|
List<TbActivate> list = tbActivateMapper.selectByShopId(shopId);
|
||||||
|
for (TbActivate tbActivate : list) {
|
||||||
|
if (tbActivate.getIsGiftPro() == 1) {
|
||||||
|
tbActivate.setGives(actProductMapper.queryProsByActivateId(tbActivate.getId()));
|
||||||
|
}
|
||||||
|
}
|
||||||
PageInfo pageInfo = new PageInfo(list);
|
PageInfo pageInfo = new PageInfo(list);
|
||||||
return Result.success(CodeEnum.SUCCESS, pageInfo);
|
return Result.success(CodeEnum.SUCCESS, pageInfo);
|
||||||
}
|
}
|
||||||
@@ -1099,12 +1113,12 @@ public class PayService {
|
|||||||
if (ObjectUtil.isNotEmpty(activate) && ObjectUtil.isNotNull(activate)) {
|
if (ObjectUtil.isNotEmpty(activate) && ObjectUtil.isNotNull(activate)) {
|
||||||
if (activate.getIsGiftPro() != null && activate.getIsGiftPro() == 1) {
|
if (activate.getIsGiftPro() != null && activate.getIsGiftPro() == 1) {
|
||||||
List<TbActivateProduct> tbActivateProducts = actProductMapper.queryAllByActivateId(activate.getId());
|
List<TbActivateProduct> tbActivateProducts = actProductMapper.queryAllByActivateId(activate.getId());
|
||||||
List<TbActivateGiveRecord> actGiveRecords = new ArrayList<>();
|
List<TbActivateInRecord> actGiveRecords = new ArrayList<>();
|
||||||
for (TbActivateProduct actPro : tbActivateProducts) {
|
for (TbActivateProduct actPro : tbActivateProducts) {
|
||||||
TbActivateGiveRecord record = new TbActivateGiveRecord(Integer.valueOf(tbShopUser.getId()), actPro.getProductId(), actPro.getNum(), Integer.valueOf(tbShopUser.getShopId()), activate.getId(),flowId);
|
TbActivateInRecord record = new TbActivateInRecord(Integer.valueOf(tbShopUser.getId()), actPro.getProductId(), actPro.getNum(), Integer.valueOf(tbShopUser.getShopId()), activate.getId(),flowId);
|
||||||
actGiveRecords.add(record);
|
actGiveRecords.add(record);
|
||||||
}
|
}
|
||||||
actGiveRecordMapper.insertBatch(actGiveRecords);
|
activateInRecordMapper.insertBatch(actGiveRecords);
|
||||||
}
|
}
|
||||||
BigDecimal amount = BigDecimal.ZERO;
|
BigDecimal amount = BigDecimal.ZERO;
|
||||||
switch (activate.getHandselType()) {
|
switch (activate.getHandselType()) {
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ public class ProductService {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private TbConsInfoMapper tbConsInfoMapper;
|
private TbConsInfoMapper tbConsInfoMapper;
|
||||||
|
@Resource
|
||||||
|
private TbActivateInRecordService activateInRecordService;
|
||||||
|
|
||||||
public Result queryShopIdByTableCode(String userId, String openId, String code, String lat, String lng) {
|
public Result queryShopIdByTableCode(String userId, String openId, String code, String lat, String lng) {
|
||||||
if (StringUtils.isBlank(code)) return Result.fail("桌码信息为空");
|
if (StringUtils.isBlank(code)) return Result.fail("桌码信息为空");
|
||||||
@@ -142,32 +144,41 @@ public class ProductService {
|
|||||||
return Result.success(CodeEnum.SUCCESS, concurrentMap);
|
return Result.success(CodeEnum.SUCCESS, concurrentMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Result queryProduct(String shopId, String productGroupId) {
|
public Result queryProduct(String userId,String shopId, String productGroupId) {
|
||||||
ConcurrentMap<String, Object> concurrentMap = new ConcurrentHashMap<>();
|
ConcurrentMap<String, Object> concurrentMap = new ConcurrentHashMap<>();
|
||||||
Integer id = ObjectUtil.isNotEmpty(productGroupId) ? Integer.valueOf(productGroupId) : null;
|
Integer id = ObjectUtil.isNotEmpty(productGroupId) ? Integer.valueOf(productGroupId) : null;
|
||||||
//招牌菜
|
//招牌菜
|
||||||
List<TbProduct> tbProducts = tbProductMapper.selectIsSpecialty(Integer.valueOf(shopId));
|
List<TbProduct> tbProducts = tbProductMapper.selectIsSpecialty(Integer.valueOf(shopId));
|
||||||
concurrentMap.put("hots", handleDate(tbProducts,true,1));
|
concurrentMap.put("hots", handleDate(tbProducts,true,1,false));
|
||||||
List<TbProductGroup> groupList = tbProductGroupMapper.selectByShopId(shopId, id);
|
List<TbProductGroup> groupList = tbProductGroupMapper.selectByShopId(shopId, id);
|
||||||
if (ObjectUtil.isNotEmpty(groupList) && groupList.size() > 0) {
|
if (ObjectUtil.isNotEmpty(groupList) && groupList.size() > 0) {
|
||||||
//热销
|
//热销
|
||||||
TbProductGroup hot = new TbProductGroup();
|
TbProductGroup hot = new TbProductGroup();
|
||||||
hot.setName("热销");
|
hot.setName("热销");
|
||||||
List<TbProduct> hots = tbProductMapper.selectHot(shopId);
|
List<TbProduct> hots = tbProductMapper.selectHot(shopId);
|
||||||
hot.setProducts(handleDate(hots,true,1));
|
hot.setProducts(handleDate(hots,true,1,false));
|
||||||
//商品
|
//商品
|
||||||
groupList.parallelStream().forEach(g -> {
|
groupList.parallelStream().forEach(g -> {
|
||||||
if (g.getUseTime()==1) g.setIsSale(getIsSale(g.getSaleStartTime(),g.getSaleEndTime()));
|
if (g.getUseTime()==1) g.setIsSale(getIsSale(g.getSaleStartTime(),g.getSaleEndTime()));
|
||||||
String in = g.getProductIds().substring(1, g.getProductIds().length() - 1);
|
String in = g.getProductIds().substring(1, g.getProductIds().length() - 1);
|
||||||
if (ObjectUtil.isNotEmpty(in) && ObjectUtil.isNotNull(in)) {
|
if (ObjectUtil.isNotEmpty(in) && ObjectUtil.isNotNull(in)) {
|
||||||
// List<TbProduct> products = tbProductMapper.selectByIdIn(in);
|
|
||||||
List<TbProduct> products = tbProductMapper.selectByIdInAndCheck(in);
|
List<TbProduct> products = tbProductMapper.selectByIdInAndCheck(in);
|
||||||
g.setProducts(handleDate(products,false,g.getIsSale()));
|
g.setProducts(handleDate(products,false,g.getIsSale(),false));
|
||||||
} else {
|
} else {
|
||||||
g.setProducts(new ArrayList<>());
|
g.setProducts(new ArrayList<>());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
groupList.sort(Comparator.comparingInt(TbProductGroup::getIsSale).reversed());
|
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);
|
groupList.add(0, hot);
|
||||||
concurrentMap.put("productInfo", groupList);
|
concurrentMap.put("productInfo", groupList);
|
||||||
}
|
}
|
||||||
@@ -353,7 +364,7 @@ public class ProductService {
|
|||||||
* @param check 是否校验可售
|
* @param check 是否校验可售
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<TbProduct> handleDate(List<TbProduct> products,boolean check,Integer isSale){
|
public List<TbProduct> handleDate(List<TbProduct> products,boolean check,Integer isSale,boolean isVip){
|
||||||
if (!CollectionUtils.isEmpty(products)) {
|
if (!CollectionUtils.isEmpty(products)) {
|
||||||
products.parallelStream().forEach(it -> {
|
products.parallelStream().forEach(it -> {
|
||||||
if(check){
|
if(check){
|
||||||
@@ -396,6 +407,10 @@ public class ProductService {
|
|||||||
//售价
|
//售价
|
||||||
it.setLowPrice(lowerPrice);
|
it.setLowPrice(lowerPrice);
|
||||||
it.setProductSkuResult(skuResult);
|
it.setProductSkuResult(skuResult);
|
||||||
|
if (isVip) {
|
||||||
|
it.setLowPrice(BigDecimal.ZERO);
|
||||||
|
it.setIsVip(Byte.parseByte("1"));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return products;
|
return products;
|
||||||
}else {
|
}else {
|
||||||
@@ -449,8 +464,8 @@ public class ProductService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Result queryProductSku(String code, String shopId, String productId, String spec_tag) {
|
public Result queryProductSku(String code, String shopId, String productId, String spec_tag,Integer isVip) {
|
||||||
if (ObjectUtil.isEmpty(shopId) || ObjectUtil.isEmpty(productId)) {
|
if (ObjectUtil.isEmpty(shopId) || ObjectUtil.isEmpty(productId) || ObjectUtil.isEmpty(isVip)) {
|
||||||
return Result.fail("参数错误");
|
return Result.fail("参数错误");
|
||||||
}
|
}
|
||||||
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper.selectByShopIdAndProductIdAndSpec(shopId, productId, spec_tag);
|
TbProductSkuWithBLOBs tbProductSkuWithBLOBs = tbProductSkuMapper.selectByShopIdAndProductIdAndSpec(shopId, productId, spec_tag);
|
||||||
@@ -463,7 +478,7 @@ public class ProductService {
|
|||||||
tbProductSkuWithBLOBs.setId(null);
|
tbProductSkuWithBLOBs.setId(null);
|
||||||
}else {
|
}else {
|
||||||
if (StringUtils.isNotBlank(code)) {
|
if (StringUtils.isNotBlank(code)) {
|
||||||
Integer sum = tbProductMapper.selectByCodeAndSkuId(code, tbProductSkuWithBLOBs.getId(), shopId);
|
Integer sum = tbProductMapper.selectByCodeAndSkuId(code, tbProductSkuWithBLOBs.getId(), shopId,isVip);
|
||||||
tbProductSkuWithBLOBs.setNumber(sum);
|
tbProductSkuWithBLOBs.setNumber(sum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
package com.chaozhanggui.system.cashierservice.service;
|
|
||||||
|
|
||||||
import com.chaozhanggui.system.cashierservice.entity.TbActivateGiveRecord;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 活动商品赠送表(TbActivateGiveRecord)表服务接口
|
|
||||||
*
|
|
||||||
* @author ww
|
|
||||||
* @since 2024-08-20 15:20:43
|
|
||||||
*/
|
|
||||||
public interface TbActivateGiveRecordService {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过ID查询单条数据
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
* @return 实例对象
|
|
||||||
*/
|
|
||||||
TbActivateGiveRecord queryById(Integer id);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增数据
|
|
||||||
*
|
|
||||||
* @param tbActivateGiveRecord 实例对象
|
|
||||||
* @return 实例对象
|
|
||||||
*/
|
|
||||||
TbActivateGiveRecord insert(TbActivateGiveRecord tbActivateGiveRecord);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改数据
|
|
||||||
*
|
|
||||||
* @param tbActivateGiveRecord 实例对象
|
|
||||||
* @return 实例对象
|
|
||||||
*/
|
|
||||||
TbActivateGiveRecord update(TbActivateGiveRecord tbActivateGiveRecord);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过主键删除数据
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
* @return 是否成功
|
|
||||||
*/
|
|
||||||
boolean deleteById(Integer id);
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动商品赠送表(TbActivateInRecord)表服务接口
|
||||||
|
*
|
||||||
|
* @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);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
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);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
package com.chaozhanggui.system.cashierservice.service.impl;
|
|
||||||
|
|
||||||
import com.chaozhanggui.system.cashierservice.entity.TbActivateGiveRecord;
|
|
||||||
import com.chaozhanggui.system.cashierservice.dao.TbActivateGiveRecordMapper;
|
|
||||||
import com.chaozhanggui.system.cashierservice.service.TbActivateGiveRecordService;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 活动商品赠送表(TbActivateGiveRecord)表服务实现类
|
|
||||||
*
|
|
||||||
* @author ww
|
|
||||||
* @since 2024-08-20 15:20:43
|
|
||||||
*/
|
|
||||||
@Service
|
|
||||||
public class TbActivateGiveRecordServiceImpl implements TbActivateGiveRecordService {
|
|
||||||
@Resource
|
|
||||||
private TbActivateGiveRecordMapper tbActivateGiveRecordMapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过ID查询单条数据
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
* @return 实例对象
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public TbActivateGiveRecord queryById(Integer id) {
|
|
||||||
return this.tbActivateGiveRecordMapper.queryById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增数据
|
|
||||||
*
|
|
||||||
* @param tbActivateGiveRecord 实例对象
|
|
||||||
* @return 实例对象
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public TbActivateGiveRecord insert(TbActivateGiveRecord tbActivateGiveRecord) {
|
|
||||||
this.tbActivateGiveRecordMapper.insert(tbActivateGiveRecord);
|
|
||||||
return tbActivateGiveRecord;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改数据
|
|
||||||
*
|
|
||||||
* @param tbActivateGiveRecord 实例对象
|
|
||||||
* @return 实例对象
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public TbActivateGiveRecord update(TbActivateGiveRecord tbActivateGiveRecord) {
|
|
||||||
this.tbActivateGiveRecordMapper.update(tbActivateGiveRecord);
|
|
||||||
return this.queryById(tbActivateGiveRecord.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过主键删除数据
|
|
||||||
*
|
|
||||||
* @param id 主键
|
|
||||||
* @return 是否成功
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean deleteById(Integer id) {
|
|
||||||
return this.tbActivateGiveRecordMapper.deleteById(id) > 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.service.impl;
|
||||||
|
|
||||||
|
import com.chaozhanggui.system.cashierservice.dao.TbActivateInRecordMapper;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbActivateInRecord;
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbProduct;
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.TbActivateInRecordService;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动商品赠送表(TbActivateInRecord)表服务实现类
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2024-08-22 11:13:40
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Primary
|
||||||
|
public class TbActivateInRecordServiceImpl implements TbActivateInRecordService {
|
||||||
|
@Resource
|
||||||
|
private TbActivateInRecordMapper tbActivateInRecordMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TbActivateInRecord queryById(Integer id) {
|
||||||
|
return this.tbActivateInRecordMapper.queryById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TbProduct> queryByVipIdAndShopId(Integer vipUserId, Integer shopId) {
|
||||||
|
return tbActivateInRecordMapper.queryByVipIdAndShopId(vipUserId, shopId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int queryByVipIdAndShopIdAndProId(Integer vipUserId, Integer shopId,Integer productId){
|
||||||
|
return tbActivateInRecordMapper.queryByVipIdAndShopIdAndProId(vipUserId,shopId,productId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<TbActivateInRecord> queryAllByVipIdAndShopIdAndProId(Integer vipUserId, Integer shopId,Integer productId){
|
||||||
|
return tbActivateInRecordMapper.queryAllByVipIdAndShopIdAndProId(vipUserId,shopId,productId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param tbActivateInRecord 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TbActivateInRecord insert(TbActivateInRecord tbActivateInRecord) {
|
||||||
|
this.tbActivateInRecordMapper.insert(tbActivateInRecord);
|
||||||
|
return tbActivateInRecord;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param tbActivateInRecord 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TbActivateInRecord update(TbActivateInRecord tbActivateInRecord) {
|
||||||
|
this.tbActivateInRecordMapper.update(tbActivateInRecord);
|
||||||
|
return this.queryById(tbActivateInRecord.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int updateOverNumById(Integer id,Integer overNum){
|
||||||
|
return tbActivateInRecordMapper.updateOverNumById(id,overNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键删除数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean deleteById(Integer id) {
|
||||||
|
return this.tbActivateInRecordMapper.deleteById(id) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package com.chaozhanggui.system.cashierservice.service.impl;
|
||||||
|
|
||||||
|
import com.chaozhanggui.system.cashierservice.entity.TbActivateOutRecord;
|
||||||
|
import com.chaozhanggui.system.cashierservice.dao.TbActivateOutRecordMapper;
|
||||||
|
import com.chaozhanggui.system.cashierservice.service.TbActivateOutRecordService;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动赠送商品使用记录表(TbActivateOutRecord)表服务实现类
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2024-08-22 11:21:56
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Primary
|
||||||
|
public class TbActivateOutRecordServiceImpl implements TbActivateOutRecordService {
|
||||||
|
@Resource
|
||||||
|
private TbActivateOutRecordMapper tbActivateOutRecordMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TbActivateOutRecord queryById(Integer id) {
|
||||||
|
return this.tbActivateOutRecordMapper.queryById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param tbActivateOutRecord 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TbActivateOutRecord insert(TbActivateOutRecord tbActivateOutRecord) {
|
||||||
|
this.tbActivateOutRecordMapper.insert(tbActivateOutRecord);
|
||||||
|
return tbActivateOutRecord;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param tbActivateOutRecord 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TbActivateOutRecord update(TbActivateOutRecord tbActivateOutRecord) {
|
||||||
|
this.tbActivateOutRecordMapper.update(tbActivateOutRecord);
|
||||||
|
return this.queryById(tbActivateOutRecord.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键删除数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean deleteById(Integer id) {
|
||||||
|
return this.tbActivateOutRecordMapper.deleteById(id) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ package com.chaozhanggui.system.cashierservice.service.impl;
|
|||||||
import com.chaozhanggui.system.cashierservice.dao.TbActivateProductMapper;
|
import com.chaozhanggui.system.cashierservice.dao.TbActivateProductMapper;
|
||||||
import com.chaozhanggui.system.cashierservice.entity.TbActivateProduct;
|
import com.chaozhanggui.system.cashierservice.entity.TbActivateProduct;
|
||||||
import com.chaozhanggui.system.cashierservice.service.TbActivateProductService;
|
import com.chaozhanggui.system.cashierservice.service.TbActivateProductService;
|
||||||
|
import org.springframework.context.annotation.Primary;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -15,6 +16,7 @@ import javax.annotation.Resource;
|
|||||||
* @since 2024-08-20 15:15:02
|
* @since 2024-08-20 15:15:02
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Primary
|
||||||
public class TbActivateProductServiceImpl implements TbActivateProductService {
|
public class TbActivateProductServiceImpl implements TbActivateProductService {
|
||||||
@Resource
|
@Resource
|
||||||
private TbActivateProductMapper tbActivateProductMapper;
|
private TbActivateProductMapper tbActivateProductMapper;
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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">
|
<!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.TbActivateGiveRecordMapper">
|
<mapper namespace="com.chaozhanggui.system.cashierservice.dao.TbActivateInRecordMapper">
|
||||||
|
|
||||||
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbActivateGiveRecord" id="TbActivateGiveRecordMap">
|
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbActivateInRecord" id="TbActivateInRecordMap">
|
||||||
<result property="id" column="id" jdbcType="INTEGER"/>
|
<result property="id" column="id" jdbcType="INTEGER"/>
|
||||||
<result property="vipUserId" column="vip_user_id" jdbcType="INTEGER"/>
|
<result property="vipUserId" column="vip_user_id" jdbcType="INTEGER"/>
|
||||||
<result property="proId" column="pro_id" jdbcType="INTEGER"/>
|
<result property="proId" column="pro_id" jdbcType="INTEGER"/>
|
||||||
<result property="num" column="num" 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="shopId" column="shop_id" jdbcType="INTEGER"/>
|
||||||
<result property="sourceActId" column="source_act_id" jdbcType="INTEGER"/>
|
<result property="sourceActId" column="source_act_id" jdbcType="INTEGER"/>
|
||||||
<result property="sourceFlowId" column="source_flow_id" jdbcType="INTEGER"/>
|
<result property="sourceFlowId" column="source_flow_id" jdbcType="INTEGER"/>
|
||||||
@@ -16,23 +17,55 @@
|
|||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id
|
id
|
||||||
, vip_user_id, pro_id, num, shop_id, source_flow_id,source_act_id, create_time, update_time </sql>
|
, vip_user_id, pro_id, num, over_num, shop_id, source_act_id, source_flow_id, create_time, update_time </sql>
|
||||||
|
|
||||||
<!--查询单个-->
|
<!--查询单个-->
|
||||||
<select id="queryById" resultMap="TbActivateGiveRecordMap">
|
<select id="queryById" resultMap="TbActivateInRecordMap">
|
||||||
select
|
select
|
||||||
<include refid="Base_Column_List"/>
|
<include refid="Base_Column_List"/>
|
||||||
|
|
||||||
from tb_activate_give_record
|
from tb_activate_in_record
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</select>
|
</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="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="TbActivateGiveRecordMap">
|
<select id="queryAll" resultMap="TbActivateInRecordMap">
|
||||||
select
|
select
|
||||||
<include refid="Base_Column_List"/>
|
<include refid="Base_Column_List"/>
|
||||||
|
|
||||||
from tb_activate_give_record
|
from tb_activate_in_record
|
||||||
<where>
|
<where>
|
||||||
<if test="id != null">
|
<if test="id != null">
|
||||||
and id = #{id}
|
and id = #{id}
|
||||||
@@ -46,6 +79,9 @@
|
|||||||
<if test="num != null">
|
<if test="num != null">
|
||||||
and num = #{num}
|
and num = #{num}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="overNum != null">
|
||||||
|
and over_num = #{overNum}
|
||||||
|
</if>
|
||||||
<if test="shopId != null">
|
<if test="shopId != null">
|
||||||
and shop_id = #{shopId}
|
and shop_id = #{shopId}
|
||||||
</if>
|
</if>
|
||||||
@@ -67,22 +103,25 @@
|
|||||||
|
|
||||||
<!--新增所有列-->
|
<!--新增所有列-->
|
||||||
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
|
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
|
||||||
insert into tb_activate_give_record(vip_user_id, pro_id, num, shop_id, source_act_id, source_flow_id, create_time, update_time)
|
insert into tb_activate_in_record(vip_user_id, pro_id, num, over_num, shop_id, source_act_id, source_flow_id,
|
||||||
values (#{vipUserId}, #{proId}, #{num}, #{shopId}, #{sourceActId}, #{sourceFlowId}, #{createTime}, #{updateTime})
|
create_time, update_time)
|
||||||
|
values (#{vipUserId}, #{proId}, #{num}, #{overNum}, #{shopId}, #{sourceActId}, #{sourceFlowId}, #{createTime},
|
||||||
|
#{updateTime})
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
|
<insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
|
||||||
insert into tb_activate_give_record(vip_user_id, pro_id, num, shop_id, source_act_id, source_flow_id, create_time, update_time)
|
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
|
values
|
||||||
<foreach collection="entities" item="entity" separator=",">
|
<foreach collection="entities" item="entity" separator=",">
|
||||||
(#{entity.vipUserId}, #{entity.proId}, #{entity.num}, #{entity.shopId}, #{entity.sourceActId},
|
(#{entity.vipUserId}, #{entity.proId}, #{entity.num}, #{entity.overNum}, #{entity.shopId},
|
||||||
#{entity.sourceFlowId},#{entity.createTime}, #{entity.updateTime})
|
#{entity.sourceActId}, #{entity.sourceFlowId}, #{entity.createTime}, #{entity.updateTime})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<!--通过主键修改数据-->
|
<!--通过主键修改数据-->
|
||||||
<update id="update">
|
<update id="update">
|
||||||
update tb_activate_give_record
|
update tb_activate_in_record
|
||||||
<set>
|
<set>
|
||||||
<if test="vipUserId != null">
|
<if test="vipUserId != null">
|
||||||
vip_user_id = #{vipUserId},
|
vip_user_id = #{vipUserId},
|
||||||
@@ -93,6 +132,9 @@
|
|||||||
<if test="num != null">
|
<if test="num != null">
|
||||||
num = #{num},
|
num = #{num},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="overNum != null">
|
||||||
|
over_num = #{overNum},
|
||||||
|
</if>
|
||||||
<if test="shopId != null">
|
<if test="shopId != null">
|
||||||
shop_id = #{shopId},
|
shop_id = #{shopId},
|
||||||
</if>
|
</if>
|
||||||
@@ -111,11 +153,18 @@
|
|||||||
</set>
|
</set>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
<update id="updateOverNumById">
|
||||||
|
update tb_activate_in_record
|
||||||
|
set
|
||||||
|
over_num = #{overNum}
|
||||||
|
where id = #{id};
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
<!--通过主键删除-->
|
<!--通过主键删除-->
|
||||||
<delete id="deleteById">
|
<delete id="deleteById">
|
||||||
delete
|
delete
|
||||||
from tb_activate_give_record
|
from tb_activate_in_record
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
130
src/main/resources/mapper/TbActivateOutRecordMapper.xml
Normal file
130
src/main/resources/mapper/TbActivateOutRecordMapper.xml
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
<?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.TbActivateOutRecordMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.chaozhanggui.system.cashierservice.entity.TbActivateOutRecord" id="TbActivateOutRecordMap">
|
||||||
|
<result property="id" column="id" jdbcType="INTEGER"/>
|
||||||
|
<result property="giveId" column="give_id" jdbcType="INTEGER"/>
|
||||||
|
<result property="proId" column="pro_id" 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"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
id
|
||||||
|
, give_id, pro_id, use_num, ref_num, order_id,status, create_time, update_time </sql>
|
||||||
|
|
||||||
|
<!--查询单个-->
|
||||||
|
<select id="queryById" resultMap="TbActivateOutRecordMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>
|
||||||
|
|
||||||
|
from tb_activate_out_record
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!--查询指定行数据-->
|
||||||
|
<select id="queryAll" resultMap="TbActivateOutRecordMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List"/>
|
||||||
|
|
||||||
|
from tb_activate_out_record
|
||||||
|
<where>
|
||||||
|
<if test="id != null">
|
||||||
|
and id = #{id}
|
||||||
|
</if>
|
||||||
|
<if test="giveId != null">
|
||||||
|
and give_id = #{giveId}
|
||||||
|
</if>
|
||||||
|
<if test="proId != null">
|
||||||
|
and pro_id = #{proId}
|
||||||
|
</if>
|
||||||
|
<if test="useNum != null">
|
||||||
|
and use_num = #{useNum}
|
||||||
|
</if>
|
||||||
|
<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>
|
||||||
|
<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_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>
|
||||||
|
|
||||||
|
<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)
|
||||||
|
values
|
||||||
|
<foreach collection="entities" item="entity" separator=",">
|
||||||
|
(#{entity.giveId}, #{entity.proId}, #{entity.useNum}, #{entity.refNum}, #{entity.orderId},
|
||||||
|
#{entity.status}, #{entity.createTime}, #{entity.updateTime})
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!--通过主键修改数据-->
|
||||||
|
<update id="update">
|
||||||
|
update tb_activate_out_record
|
||||||
|
<set>
|
||||||
|
<if test="giveId != null">
|
||||||
|
give_id = #{giveId},
|
||||||
|
</if>
|
||||||
|
<if test="proId != null">
|
||||||
|
pro_id = #{proId},
|
||||||
|
</if>
|
||||||
|
<if test="useNum != null">
|
||||||
|
use_num = #{useNum},
|
||||||
|
</if>
|
||||||
|
<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>
|
||||||
|
<if test="createTime != null">
|
||||||
|
create_time = #{createTime},
|
||||||
|
</if>
|
||||||
|
<if test="updateTime != null">
|
||||||
|
update_time = #{updateTime},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
<update id="updateByOrderIdAndStatus">
|
||||||
|
update tb_activate_out_record
|
||||||
|
set
|
||||||
|
status = 'closed'
|
||||||
|
where order_id = #{orderId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
<!--通过主键删除-->
|
||||||
|
<delete id="deleteById">
|
||||||
|
delete
|
||||||
|
from tb_activate_out_record
|
||||||
|
where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
||||||
@@ -58,6 +58,15 @@ id, activate_id, product_id, num, create_time, update_time </sql>
|
|||||||
activate_id = #{activateId}
|
activate_id = #{activateId}
|
||||||
</select>
|
</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}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<!--新增所有列-->
|
<!--新增所有列-->
|
||||||
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
|
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
|
||||||
|
|||||||
@@ -33,11 +33,12 @@
|
|||||||
<result column="pending_at" jdbcType="BIGINT" property="pendingAt"/>
|
<result column="pending_at" jdbcType="BIGINT" property="pendingAt"/>
|
||||||
<result column="uuid" jdbcType="VARCHAR" property="uuid"/>
|
<result column="uuid" jdbcType="VARCHAR" property="uuid"/>
|
||||||
<result column="sku_name" jdbcType="VARCHAR" property="skuName"/>
|
<result column="sku_name" jdbcType="VARCHAR" property="skuName"/>
|
||||||
|
<result column="is_vip" jdbcType="TINYINT" property="isVip" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, master_id, order_id, ref_order_id, total_amount, product_id, cover_img, is_sku,pack_fee,is_pack,is_gift,pending_at,
|
id, master_id, order_id, ref_order_id, total_amount, product_id, cover_img, is_sku,pack_fee,is_pack,is_gift,pending_at,
|
||||||
sku_id, name, sale_price, number, total_number, refund_number, category_id, status,
|
sku_id, name, sale_price, number, total_number, refund_number, category_id, status,
|
||||||
type, merchant_id, shop_id, created_at, updated_at, user_id, table_id,pack_fee,trade_day,uuid,sku_name
|
type, merchant_id, shop_id, created_at, updated_at, user_id, table_id,pack_fee,trade_day,uuid,sku_name,is_vip
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
||||||
@@ -96,24 +97,27 @@
|
|||||||
<delete id="deleteBymasterId">
|
<delete id="deleteBymasterId">
|
||||||
delete from tb_cashier_cart where master_id = #{masterId} and shop_id = #{shopId} and status = #{status} and trade_day = #{day}
|
delete from tb_cashier_cart where master_id = #{masterId} and shop_id = #{shopId} and status = #{status} and trade_day = #{day}
|
||||||
</delete>
|
</delete>
|
||||||
<insert id="insert" parameterType="com.chaozhanggui.system.cashierservice.entity.TbCashierCart" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insert" parameterType="com.chaozhanggui.system.cashierservice.entity.TbCashierCart"
|
||||||
|
useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into tb_cashier_cart (id, master_id, order_id,
|
insert into tb_cashier_cart (id, master_id, order_id,
|
||||||
ref_order_id, total_amount, product_id,
|
ref_order_id, total_amount, product_id,
|
||||||
cover_img, is_sku, sku_id,
|
cover_img, is_sku, sku_id,
|
||||||
name, sale_price, number,
|
name, sale_price, number,
|
||||||
total_number, refund_number, category_id,
|
total_number, refund_number, category_id,
|
||||||
status, type, merchant_id,
|
status, type, merchant_id,
|
||||||
shop_id, created_at, updated_at, pack_fee,trade_day,is_pack,is_gift,table_id,user_id,sku_name
|
shop_id, created_at, updated_at, pack_fee, trade_day, is_pack, is_gift, table_id,
|
||||||
)
|
user_id, sku_name, is_vip)
|
||||||
values (#{id,jdbcType=INTEGER}, #{masterId,jdbcType=VARCHAR}, #{orderId,jdbcType=VARCHAR},
|
values (#{id,jdbcType=INTEGER}, #{masterId,jdbcType=VARCHAR}, #{orderId,jdbcType=VARCHAR},
|
||||||
#{refOrderId,jdbcType=VARCHAR}, #{totalAmount,jdbcType=DECIMAL}, #{productId,jdbcType=VARCHAR},
|
#{refOrderId,jdbcType=VARCHAR}, #{totalAmount,jdbcType=DECIMAL}, #{productId,jdbcType=VARCHAR},
|
||||||
#{coverImg,jdbcType=VARCHAR}, #{isSku,jdbcType=TINYINT}, #{skuId,jdbcType=VARCHAR},
|
#{coverImg,jdbcType=VARCHAR}, #{isSku,jdbcType=TINYINT}, #{skuId,jdbcType=VARCHAR},
|
||||||
#{name,jdbcType=VARCHAR}, #{salePrice,jdbcType=DECIMAL}, #{number,jdbcType=REAL},
|
#{name,jdbcType=VARCHAR}, #{salePrice,jdbcType=DECIMAL}, #{number,jdbcType=REAL},
|
||||||
#{totalNumber,jdbcType=REAL}, #{refundNumber,jdbcType=REAL}, #{categoryId,jdbcType=VARCHAR},
|
#{totalNumber,jdbcType=REAL}, #{refundNumber,jdbcType=REAL}, #{categoryId,jdbcType=VARCHAR},
|
||||||
#{status,jdbcType=VARCHAR}, #{type,jdbcType=TINYINT}, #{merchantId,jdbcType=VARCHAR},
|
#{status,jdbcType=VARCHAR}, #{type,jdbcType=TINYINT}, #{merchantId,jdbcType=VARCHAR},
|
||||||
#{shopId,jdbcType=VARCHAR}, #{createdAt,jdbcType=BIGINT}, #{updatedAt,jdbcType=BIGINT}, #{packFee,jdbcType=DECIMAL}
|
#{shopId,jdbcType=VARCHAR}, #{createdAt,jdbcType=BIGINT}, #{updatedAt,jdbcType=BIGINT},
|
||||||
, #{tradeDay,jdbcType=VARCHAR}, #{isPack,jdbcType=VARCHAR}, #{isGift,jdbcType=VARCHAR}, #{tableId,jdbcType=VARCHAR}, #{userId,jdbcType=INTEGER},#{skuName,jdbcType=VARCHAR}
|
#{packFee,jdbcType=DECIMAL}
|
||||||
)
|
, #{tradeDay,jdbcType=VARCHAR}, #{isPack,jdbcType=VARCHAR}, #{isGift,jdbcType=VARCHAR},
|
||||||
|
#{tableId,jdbcType=VARCHAR}
|
||||||
|
, #{userId,jdbcType=INTEGER}, #{skuName,jdbcType=VARCHAR}, #{isVip,jdbcType=TINYINT})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="com.chaozhanggui.system.cashierservice.entity.TbCashierCart">
|
<insert id="insertSelective" parameterType="com.chaozhanggui.system.cashierservice.entity.TbCashierCart">
|
||||||
insert into tb_cashier_cart
|
insert into tb_cashier_cart
|
||||||
@@ -181,6 +185,9 @@
|
|||||||
<if test="updatedAt != null">
|
<if test="updatedAt != null">
|
||||||
updated_at,
|
updated_at,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isVip != null">
|
||||||
|
is_vip,
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="id != null">
|
<if test="id != null">
|
||||||
@@ -246,6 +253,9 @@
|
|||||||
<if test="updatedAt != null">
|
<if test="updatedAt != null">
|
||||||
#{updatedAt,jdbcType=BIGINT},
|
#{updatedAt,jdbcType=BIGINT},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isVip != null">
|
||||||
|
#{isVip,jdbcType=TINYINT},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="updateByPrimaryKeySelective"
|
<update id="updateByPrimaryKeySelective"
|
||||||
@@ -324,6 +334,9 @@
|
|||||||
<if test="isGift != null">
|
<if test="isGift != null">
|
||||||
is_gift = #{isGift,jdbcType=BIGINT},
|
is_gift = #{isGift,jdbcType=BIGINT},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isVip != null">
|
||||||
|
is_vip = #{isVip,jdbcType=TINYINT},
|
||||||
|
</if>
|
||||||
<if test="isPack != null">
|
<if test="isPack != null">
|
||||||
is_pack = #{isPack,jdbcType=VARCHAR},
|
is_pack = #{isPack,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
<result column="product_id" jdbcType="INTEGER" property="productId"/>
|
<result column="product_id" jdbcType="INTEGER" property="productId"/>
|
||||||
<result column="product_sku_id" jdbcType="INTEGER" property="productSkuId"/>
|
<result column="product_sku_id" jdbcType="INTEGER" property="productSkuId"/>
|
||||||
<result column="num" jdbcType="INTEGER" property="num"/>
|
<result column="num" jdbcType="INTEGER" property="num"/>
|
||||||
|
<result column="is_vip" jdbcType="TINYINT" property="isVip" />
|
||||||
<result column="product_name" jdbcType="VARCHAR" property="productName"/>
|
<result column="product_name" jdbcType="VARCHAR" property="productName"/>
|
||||||
<result column="product_sku_name" jdbcType="VARCHAR" property="productSkuName"/>
|
<result column="product_sku_name" jdbcType="VARCHAR" property="productSkuName"/>
|
||||||
<result column="product_img" jdbcType="VARCHAR" property="productImg"/>
|
<result column="product_img" jdbcType="VARCHAR" property="productImg"/>
|
||||||
@@ -20,7 +21,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, order_id, shop_id, product_id, product_sku_id, num, product_name, product_sku_name,
|
id, order_id, shop_id, product_id, product_sku_id, num, product_name, product_sku_name,
|
||||||
product_img, create_time, update_time, price, price_amount,status,pack_amount
|
product_img, create_time, update_time, price, price_amount,status,pack_amount,is_vip
|
||||||
</sql>
|
</sql>
|
||||||
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
|
||||||
select
|
select
|
||||||
@@ -43,12 +44,12 @@
|
|||||||
product_id, product_sku_id, num,
|
product_id, product_sku_id, num,
|
||||||
product_name, product_sku_name, product_img,
|
product_name, product_sku_name, product_img,
|
||||||
create_time, update_time, price,
|
create_time, update_time, price,
|
||||||
price_amount,pack_amount,status)
|
price_amount,pack_amount,status,is_vip)
|
||||||
values (#{id,jdbcType=INTEGER}, #{orderId,jdbcType=INTEGER}, #{shopId,jdbcType=INTEGER},
|
values (#{id,jdbcType=INTEGER}, #{orderId,jdbcType=INTEGER}, #{shopId,jdbcType=INTEGER},
|
||||||
#{productId,jdbcType=INTEGER}, #{productSkuId,jdbcType=INTEGER}, #{num,jdbcType=INTEGER},
|
#{productId,jdbcType=INTEGER}, #{productSkuId,jdbcType=INTEGER}, #{num,jdbcType=INTEGER},
|
||||||
#{productName,jdbcType=VARCHAR}, #{productSkuName,jdbcType=VARCHAR}, #{productImg,jdbcType=VARCHAR},
|
#{productName,jdbcType=VARCHAR}, #{productSkuName,jdbcType=VARCHAR}, #{productImg,jdbcType=VARCHAR},
|
||||||
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{price,jdbcType=DECIMAL},
|
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{price,jdbcType=DECIMAL},
|
||||||
#{priceAmount,jdbcType=DECIMAL},#{packAmount,jdbcType=DECIMAL},#{status,jdbcType=VARCHAR})
|
#{priceAmount,jdbcType=DECIMAL},#{packAmount,jdbcType=DECIMAL},#{status,jdbcType=VARCHAR},#{isVip,jdbcType=TINYINT})
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="insertSelective" parameterType="com.chaozhanggui.system.cashierservice.entity.TbOrderDetail">
|
<insert id="insertSelective" parameterType="com.chaozhanggui.system.cashierservice.entity.TbOrderDetail">
|
||||||
insert into tb_order_detail
|
insert into tb_order_detail
|
||||||
@@ -92,6 +93,9 @@
|
|||||||
<if test="priceAmount != null">
|
<if test="priceAmount != null">
|
||||||
price_amount,
|
price_amount,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isVip != null">
|
||||||
|
is_vip,
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="id != null">
|
<if test="id != null">
|
||||||
@@ -133,6 +137,9 @@
|
|||||||
<if test="priceAmount != null">
|
<if test="priceAmount != null">
|
||||||
#{priceAmount,jdbcType=DECIMAL},
|
#{priceAmount,jdbcType=DECIMAL},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isVip != null">
|
||||||
|
#{isVip,jdbcType=TINYINT},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="updateByPrimaryKeySelective"
|
<update id="updateByPrimaryKeySelective"
|
||||||
@@ -154,6 +161,9 @@
|
|||||||
<if test="num != null">
|
<if test="num != null">
|
||||||
num = #{num,jdbcType=INTEGER},
|
num = #{num,jdbcType=INTEGER},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="isVip != null">
|
||||||
|
is_vip = #{isVip,jdbcType=TINYINT},
|
||||||
|
</if>
|
||||||
<if test="productName != null">
|
<if test="productName != null">
|
||||||
product_name = #{productName,jdbcType=VARCHAR},
|
product_name = #{productName,jdbcType=VARCHAR},
|
||||||
</if>
|
</if>
|
||||||
@@ -197,6 +207,7 @@
|
|||||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||||
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||||
price = #{price,jdbcType=DECIMAL},
|
price = #{price,jdbcType=DECIMAL},
|
||||||
|
is_vip= #{isVip,jdbcType=TINYINT},
|
||||||
price_amount = #{priceAmount,jdbcType=DECIMAL}
|
price_amount = #{priceAmount,jdbcType=DECIMAL}
|
||||||
where id = #{id,jdbcType=INTEGER}
|
where id = #{id,jdbcType=INTEGER}
|
||||||
</update>
|
</update>
|
||||||
|
|||||||
@@ -1009,6 +1009,7 @@
|
|||||||
AND t.sku_id = #{skuId}
|
AND t.sku_id = #{skuId}
|
||||||
AND t.`status` = 'create'
|
AND t.`status` = 'create'
|
||||||
AND t.table_id = #{code}
|
AND t.table_id = #{code}
|
||||||
|
AND t.is_vip = #{isVip}
|
||||||
</select>
|
</select>
|
||||||
<select id="selectByNewQcode" resultType="java.lang.Integer">
|
<select id="selectByNewQcode" resultType="java.lang.Integer">
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
Reference in New Issue
Block a user