修改砍价活动
This commit is contained in:
parent
656e2a9307
commit
4718ce292d
@ -1,58 +0,0 @@
|
||||
package cn.lili.controller.promotion;
|
||||
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityQuery;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 买家端,砍价活动
|
||||
*
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/12
|
||||
**/
|
||||
@RestController
|
||||
@Api(tags = "买家端,砍价活动参与记录接口")
|
||||
@RequestMapping("/buyer/promotion/kanJiaActivity")
|
||||
public class KanJiaActivityBuyerController {
|
||||
|
||||
@Autowired
|
||||
private KanJiaActivityService kanJiaActivityService;
|
||||
|
||||
@GetMapping
|
||||
@ApiOperation(value = "分页获取为参与的砍价活动")
|
||||
public ResultMessage<IPage<KanJiaActivity>> getPointsGoodsPage(KanJiaActivityQuery kanJiaActivityQuery, PageVO page) {
|
||||
// 会员端查询到的肯定是已经开始的活动商品
|
||||
kanJiaActivityQuery.setMemberId(UserContext.getCurrentUser().getId());
|
||||
IPage<KanJiaActivity> kanJiaActivityIPage = kanJiaActivityService.getForPage(kanJiaActivityQuery, page);
|
||||
return ResultUtil.data(kanJiaActivityIPage);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "发起砍价活动")
|
||||
public ResultMessage<KanJiaActivityLog> launchKanJiaActivity(String skuId) {
|
||||
KanJiaActivityLog kanJiaActivityLog = kanJiaActivityService.add(skuId);
|
||||
return ResultUtil.data(kanJiaActivityLog);
|
||||
}
|
||||
|
||||
@PostMapping("/help")
|
||||
@ApiOperation(value = "帮砍一刀")
|
||||
public ResultMessage<KanJiaActivityLog> helpKanJia(String kanJiaActivityId) {
|
||||
KanJiaActivityLog kanJiaActivityLog = kanJiaActivityService.helpKanJia(kanJiaActivityId);
|
||||
return ResultUtil.data(kanJiaActivityLog);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
package cn.lili.controller.promotion;
|
||||
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityLogQuery;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityQuery;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityLogService;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 买家端,砍价活动
|
||||
*
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/12
|
||||
**/
|
||||
@RestController
|
||||
@Api(tags = "买家端,砍价活动帮砍记录接口")
|
||||
@RequestMapping("/buyer/promotion/kanJiaActivityLog")
|
||||
public class KanJiaActivityLogBuyerController {
|
||||
|
||||
@Autowired
|
||||
private KanJiaActivityLogService kanJiaActivityLogService;
|
||||
|
||||
@GetMapping
|
||||
@ApiOperation(value = "分页获取为参与的帮砍记录")
|
||||
public ResultMessage<IPage<KanJiaActivityLog>> getPointsGoodsPage(KanJiaActivityLogQuery kanJiaActivityLogQuery, PageVO page) {
|
||||
// 会员端查询到的肯定是已经开始的活动商品
|
||||
kanJiaActivityLogQuery.setMemberId(UserContext.getCurrentUser().getId());
|
||||
IPage<KanJiaActivityLog> kanJiaActivityLogIPage = kanJiaActivityLogService.getForPage(kanJiaActivityLogQuery, page);
|
||||
return ResultUtil.data(kanJiaActivityLogIPage);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package cn.lili.controller.promotion;
|
||||
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
||||
import cn.lili.modules.promotion.entity.vos.KanJiaActivityGoodsParams;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityGoodsService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 买家端,砍价活动商品
|
||||
*
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/12
|
||||
**/
|
||||
@RestController
|
||||
@Api(tags = "买家端,砍价商品接口")
|
||||
@RequestMapping("/buyer/promotion/kanJiaGoods")
|
||||
public class KanJiaGoodsActivityBuyerController {
|
||||
|
||||
@Autowired
|
||||
private KanJiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
|
||||
@GetMapping
|
||||
@ApiOperation(value = "分页获取砍价商品")
|
||||
public ResultMessage<IPage<KanJiaActivityGoodsDTO>> getPointsGoodsPage(KanJiaActivityGoodsParams kanJiaActivityGoodsParams, PageVO page) {
|
||||
// 会员端查询到的肯定是已经开始的活动商品
|
||||
kanJiaActivityGoodsParams.setPromotionStatus(PromotionStatusEnum.START.name());
|
||||
IPage<KanJiaActivityGoodsDTO> kanJiaActivityGoodsDTOIPage = kanJiaActivityGoodsService.getForPage(kanJiaActivityGoodsParams, page);
|
||||
return ResultUtil.data(kanJiaActivityGoodsDTOIPage);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
package cn.lili.controller.promotion;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityLogQuery;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityQuery;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsListVO;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsParams;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsVO;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivitySearchParams;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityLogService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* 买家端,砍价活动商品
|
||||
*
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/12
|
||||
**/
|
||||
@RestController
|
||||
@Api(tags = "买家端,砍价商品接口")
|
||||
@RequestMapping("/buyer/promotion/kanjiaGoods")
|
||||
public class KanjiaGoodsActivityBuyerController {
|
||||
|
||||
/**
|
||||
* 砍价活动商品
|
||||
*/
|
||||
@Autowired
|
||||
private KanjiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
/**
|
||||
* 帮砍记录
|
||||
*/
|
||||
@Autowired
|
||||
private KanjiaActivityLogService kanJiaActivityLogService;
|
||||
/**
|
||||
* 砍价活动
|
||||
*/
|
||||
@Autowired
|
||||
private KanjiaActivityService kanJiaActivityService;
|
||||
|
||||
@GetMapping
|
||||
@ApiOperation(value = "分页获取砍价商品")
|
||||
public ResultMessage<IPage<KanjiaActivityGoodsListVO>> kanJiaActivityGoodsPage(KanjiaActivityGoodsParams kanJiaActivityGoodsParams, PageVO page) {
|
||||
// 会员端查询到的肯定是已经开始的活动商品
|
||||
kanJiaActivityGoodsParams.setPromotionStatus(PromotionStatusEnum.START.name());
|
||||
return ResultUtil.data(kanJiaActivityGoodsService.kanJiaGoodsVOPage(kanJiaActivityGoodsParams, page));
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
@ApiOperation(value = "获取砍价活动商品")
|
||||
@ApiImplicitParam(name = "id", value = "砍价活动商品ID", required = true, paramType = "path")
|
||||
public ResultMessage<KanjiaActivityGoodsVO> getPointsGoodsPage(@PathVariable String id) {
|
||||
return ResultUtil.data(kanJiaActivityGoodsService.getKanJiaGoodsVO(id));
|
||||
}
|
||||
|
||||
@GetMapping("/getKanjiaActivity/logs")
|
||||
@ApiOperation(value = "分页获取砍价活动-帮砍记录")
|
||||
public ResultMessage<IPage<KanjiaActivityLog>> getPointsGoodsPage(KanJiaActivityLogQuery kanJiaActivityLogQuery, PageVO page) {
|
||||
// 会员端查询到的肯定是已经开始的活动商品
|
||||
kanJiaActivityLogQuery.setMemberId(UserContext.getCurrentUser().getId());
|
||||
return ResultUtil.data(kanJiaActivityLogService.getForPage(kanJiaActivityLogQuery, page));
|
||||
}
|
||||
|
||||
@PostMapping("/getKanjiaActivity")
|
||||
@ApiOperation(value = "获取砍价活动")
|
||||
public ResultMessage<KanjiaActivity> getKanJiaActivity(KanjiaActivitySearchParams kanJiaActivitySearchParams) {
|
||||
//如果是非被邀请关系则填写会员ID
|
||||
if (StrUtil.isEmpty(kanJiaActivitySearchParams.getKanjiaActivityId())) {
|
||||
kanJiaActivitySearchParams.setMemberId(UserContext.getCurrentUser().getId());
|
||||
}
|
||||
return ResultUtil.data(kanJiaActivityService.getKanjiaActivity(kanJiaActivitySearchParams));
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@ApiImplicitParam(name = "id", value = "砍价活动商品ID", required = true, paramType = "path")
|
||||
@ApiOperation(value = "发起砍价活动")
|
||||
public ResultMessage<KanjiaActivityLog> launchKanJiaActivity(String id) {
|
||||
KanjiaActivityLog kanJiaActivityLog = kanJiaActivityService.add(id);
|
||||
return ResultUtil.data(kanJiaActivityLog);
|
||||
}
|
||||
|
||||
@PostMapping("/help")
|
||||
@ApiOperation(value = "帮砍一刀")
|
||||
public ResultMessage<KanjiaActivityLog> helpKanJia(String kanJiaActivityId) {
|
||||
KanjiaActivityLog kanJiaActivityLog = kanJiaActivityService.helpKanJia(kanJiaActivityId);
|
||||
return ResultUtil.data(kanJiaActivityLog);
|
||||
}
|
||||
|
||||
@GetMapping("/kanjiaActivity/mine/")
|
||||
@ApiOperation(value = "分页获取已参与的砍价活动")
|
||||
public ResultMessage<IPage<KanjiaActivity>> getPointsGoodsPage(KanjiaActivityQuery kanJiaActivityQuery, PageVO page) {
|
||||
// 会员端查询到的肯定是已经开始的活动商品
|
||||
kanJiaActivityQuery.setMemberId(UserContext.getCurrentUser().getId());
|
||||
IPage<KanjiaActivity> kanJiaActivityIPage = kanJiaActivityService.getForPage(kanJiaActivityQuery, page);
|
||||
return ResultUtil.data(kanJiaActivityIPage);
|
||||
}
|
||||
|
||||
}
|
@ -20,13 +20,13 @@ import javax.persistence.Table;
|
||||
@Table(name = "li_kanjia_activity")
|
||||
@TableName("li_kanjia_activity")
|
||||
@ApiModel(value = "砍价活动参与对象")
|
||||
public class KanJiaActivity extends BaseEntity {
|
||||
public class KanjiaActivity extends BaseEntity {
|
||||
|
||||
|
||||
private static final long serialVersionUID = -1583030890805926292L;
|
||||
|
||||
@ApiModelProperty(value = "砍价商品id")
|
||||
private String kanJiaActivityGoodsId;
|
||||
private String kanjiaActivityGoodsId;
|
||||
|
||||
@ApiModelProperty(value = "参与砍价活动会员id")
|
||||
private String memberId;
|
@ -26,7 +26,7 @@ import java.util.Date;
|
||||
@Table(name = "li_kanjia_activity_goods")
|
||||
@TableName("li_kanjia_activity_goods")
|
||||
@ApiModel(value = "砍价活动商品对象")
|
||||
public class KanJiaActivityGoods extends BaseEntity {
|
||||
public class KanjiaActivityGoods extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = 6694714877345423488L;
|
||||
|
@ -1,19 +1,13 @@
|
||||
package cn.lili.modules.promotion.entity.dos;
|
||||
|
||||
import cn.lili.base.BaseEntity;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 砍价活动商品实体类
|
||||
@ -26,25 +20,25 @@ import java.util.Date;
|
||||
@Table(name = "li_kanjia_activity_log")
|
||||
@TableName("li_kanjia_activity_log")
|
||||
@ApiModel(value = "砍价活动日志对象")
|
||||
public class KanJiaActivityLog extends BaseEntity {
|
||||
public class KanjiaActivityLog extends BaseEntity {
|
||||
|
||||
|
||||
private static final long serialVersionUID = 3977352717995562783L;
|
||||
|
||||
@ApiModelProperty(value = "砍价活动参与记录id")
|
||||
private String kanJiaActivityId;
|
||||
private String kanjiaActivityId;
|
||||
|
||||
@ApiModelProperty(value = "砍价会员id")
|
||||
private String kanJiaMemberId;
|
||||
private String kanjiaMemberId;
|
||||
|
||||
@ApiModelProperty(value = "砍价会员名称")
|
||||
private String kanJiaMemberName;
|
||||
private String kanjiaMemberName;
|
||||
|
||||
@ApiModelProperty(value = "砍价会员头像")
|
||||
private String kanJiaMemberFace;
|
||||
private String kanjiaMemberFace;
|
||||
|
||||
@ApiModelProperty(value = "砍价金额")
|
||||
private Double kanJiaPrice;
|
||||
private Double kanjiaPrice;
|
||||
|
||||
@ApiModelProperty(value = "剩余购买金额")
|
||||
private Double surplusPrice;
|
@ -1,7 +1,7 @@
|
||||
package cn.lili.modules.promotion.entity.dto;
|
||||
|
||||
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@ -15,9 +15,9 @@ import lombok.Data;
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "砍价活动参与记录对象")
|
||||
public class KanJiaActivityDTO extends KanJiaActivityLog {
|
||||
public class KanjiaActivityDTO extends KanjiaActivityLog {
|
||||
|
||||
@ApiModelProperty(value = "砍价金额")
|
||||
private String kanJiaActivityGoodsId;
|
||||
private String kanjiaActivityGoodsId;
|
||||
|
||||
}
|
@ -2,7 +2,7 @@ package cn.lili.modules.promotion.entity.dto;
|
||||
|
||||
|
||||
import cn.lili.modules.goods.entity.dos.GoodsSku;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@ -15,7 +15,7 @@ import java.io.Serializable;
|
||||
* @date 2020/8/21
|
||||
**/
|
||||
@Data
|
||||
public class KanJiaActivityGoodsDTO extends KanJiaActivityGoods implements Serializable {
|
||||
public class KanjiaActivityGoodsDTO extends KanjiaActivityGoods implements Serializable {
|
||||
|
||||
|
||||
private static final long serialVersionUID = 1969340823809319805L;
|
@ -17,7 +17,7 @@ import java.util.List;
|
||||
* @date 2020/8/21
|
||||
**/
|
||||
@Data
|
||||
public class KanJiaActivityGoodsOperationDTO implements Serializable {
|
||||
public class KanjiaActivityGoodsOperationDTO implements Serializable {
|
||||
|
||||
|
||||
private static final long serialVersionUID = -1378599087650538592L;
|
||||
@ -33,6 +33,6 @@ public class KanJiaActivityGoodsOperationDTO implements Serializable {
|
||||
private Date endTime;
|
||||
|
||||
@ApiModelProperty(value = "砍价活动商品列表")
|
||||
List<KanJiaActivityGoodsDTO> promotionGoodsList;
|
||||
List<KanjiaActivityGoodsDTO> promotionGoodsList;
|
||||
|
||||
}
|
@ -17,7 +17,7 @@ import java.util.Date;
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "砍价活动参与记录查询对象")
|
||||
public class KanJiaActivityQuery {
|
||||
public class KanjiaActivityQuery {
|
||||
|
||||
|
||||
private static final long serialVersionUID = -1583030890805926292L;
|
@ -0,0 +1,30 @@
|
||||
package cn.lili.modules.promotion.entity.vos;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 砍价商品视图对象
|
||||
*
|
||||
* @author paulG
|
||||
* @date 2021/1/13
|
||||
**/
|
||||
@Data
|
||||
public class KanjiaActivityGoodsListVO {
|
||||
|
||||
@ApiModelProperty(value = "货品id")
|
||||
private String skuId;
|
||||
|
||||
@ApiModelProperty(value = "货品名称")
|
||||
private String goodsName;
|
||||
|
||||
@ApiModelProperty(value = "缩略图")
|
||||
private String thumbnail;
|
||||
|
||||
@ApiModelProperty(value = "最低购买金额")
|
||||
private Double purchasePrice;
|
||||
|
||||
@ApiModelProperty(value = "活动库存")
|
||||
private Integer stock;
|
||||
|
||||
}
|
@ -1,19 +1,14 @@
|
||||
package cn.lili.modules.promotion.entity.vos;
|
||||
|
||||
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
||||
import org.springframework.data.domain.Sort.Direction;
|
||||
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
|
||||
import org.springframework.data.mongodb.core.query.Query;
|
||||
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import cn.lili.modules.promotion.entity.enums.*;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.data.mongodb.core.query.Query;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
@ -26,17 +21,17 @@ import java.util.regex.Pattern;
|
||||
* @date 2020/8/21
|
||||
**/
|
||||
@Data
|
||||
public class KanJiaActivityGoodsParams implements Serializable {
|
||||
public class KanjiaActivityGoodsParams implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1344104067705714289L;
|
||||
|
||||
@ApiModelProperty(value = "活动商品")
|
||||
private String goodsName;
|
||||
|
||||
@ApiModelProperty(value = "活动开始时间", required = true)
|
||||
@ApiModelProperty(value = "活动开始时间")
|
||||
private Long startTime;
|
||||
|
||||
@ApiModelProperty(value = "活动结束时间", required = true)
|
||||
@ApiModelProperty(value = "活动结束时间")
|
||||
private Long endTime;
|
||||
|
||||
@ApiModelProperty(value = "skuId")
|
@ -1,10 +1,8 @@
|
||||
package cn.lili.modules.promotion.entity.vos;
|
||||
|
||||
import cn.lili.modules.goods.entity.dos.GoodsSku;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityGoods;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 砍价商品视图对象
|
||||
@ -12,13 +10,16 @@ import lombok.EqualsAndHashCode;
|
||||
* @author paulG
|
||||
* @date 2021/1/13
|
||||
**/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class KanJiaGoodsVO extends KanJiaActivityGoods {
|
||||
|
||||
private static final long serialVersionUID = -5163709626742905057L;
|
||||
public class KanjiaActivityGoodsVO {
|
||||
|
||||
@ApiModelProperty(value = "商品规格详细信息")
|
||||
private GoodsSku goodsSku;
|
||||
|
||||
@ApiModelProperty(value = "最低购买金额")
|
||||
private Double purchasePrice;
|
||||
|
||||
@ApiModelProperty(value = "活动库存")
|
||||
private Integer stock;
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.lili.modules.promotion.entity.vos;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 砍价活动搜索参数
|
||||
*
|
||||
* @author Bulbasaur
|
||||
* @date: 2021/7/13 2:41 下午
|
||||
*/
|
||||
@Data
|
||||
public class KanjiaActivitySearchParams {
|
||||
|
||||
@ApiModelProperty(value = "砍价活动ID")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "砍价商品SkuID")
|
||||
private String kanjiaActivityGoodsId;
|
||||
|
||||
@ApiModelProperty(value = "会员ID" ,hidden = true)
|
||||
private String memberId;
|
||||
|
||||
@ApiModelProperty(value = "状态")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "邀请活动ID,有值说明是被邀请人")
|
||||
private String kanjiaActivityId;
|
||||
|
||||
|
||||
public <T> QueryWrapper<T> wrapper() {
|
||||
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(id), "id", id);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(kanjiaActivityId), "id", kanjiaActivityId);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(kanjiaActivityGoodsId), "kanJia_activity_goods_id", kanjiaActivityGoodsId);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(memberId), "member_id", memberId);
|
||||
queryWrapper.eq(StrUtil.isNotEmpty(status), "status", status);
|
||||
return wrapper();
|
||||
}
|
||||
}
|
@ -1,7 +1,13 @@
|
||||
package cn.lili.modules.promotion.mapper;
|
||||
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsListVO;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -10,6 +16,15 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/1
|
||||
*/
|
||||
public interface KanJiaActivityGoodsMapper extends BaseMapper<KanJiaActivityGoods> {
|
||||
public interface KanJiaActivityGoodsMapper extends BaseMapper<KanjiaActivityGoods> {
|
||||
|
||||
/**
|
||||
* 获取砍价商品VO分页
|
||||
* @param page 分页
|
||||
* @param queryWrapper 查询条件
|
||||
* @return 砍价商品VO分页
|
||||
*/
|
||||
@Select("SELECT * FROM li_kanjia_activity_goods ${ew.customSqlSegment}")
|
||||
IPage<KanjiaActivityGoodsListVO> kanjiaActivityGoodsVOPage(IPage<KanjiaActivityGoods> page, @Param(Constants.WRAPPER) Wrapper<KanjiaActivityGoods> queryWrapper);
|
||||
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package cn.lili.modules.promotion.mapper;
|
||||
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
@ -10,6 +10,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/1
|
||||
*/
|
||||
public interface KanJiaActivityLogMapper extends BaseMapper<KanJiaActivityLog> {
|
||||
public interface KanJiaActivityLogMapper extends BaseMapper<KanjiaActivityLog> {
|
||||
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
package cn.lili.modules.promotion.mapper;
|
||||
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
@ -10,6 +10,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/1
|
||||
*/
|
||||
public interface KanJiaActivityMapper extends BaseMapper<KanJiaActivity> {
|
||||
public interface KanJiaActivityMapper extends BaseMapper<KanjiaActivity> {
|
||||
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
package cn.lili.modules.promotion.service;
|
||||
|
||||
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityQuery;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
||||
/**
|
||||
* 砍价活动参与记录业务层
|
||||
*
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/1 9:45 上午
|
||||
*/
|
||||
public interface KanJiaActivityService extends IService<KanJiaActivity> {
|
||||
|
||||
/**
|
||||
* 发起人发起砍价活动
|
||||
*
|
||||
* @param skuId 商品skuId
|
||||
* @return
|
||||
*/
|
||||
KanJiaActivityLog add(String skuId);
|
||||
|
||||
/**
|
||||
* 帮砍
|
||||
*
|
||||
* @param kanJiaActivityId 活动id
|
||||
* @return 砍价详细
|
||||
*/
|
||||
KanJiaActivityLog helpKanJia(String kanJiaActivityId);
|
||||
|
||||
/**
|
||||
* 根据条件查询我参与的砍价活动
|
||||
*
|
||||
* @param kanJiaActivityQuery 砍价活动查询条件
|
||||
* @param page 分页对象
|
||||
* @return 我参与的砍价活动信息
|
||||
*/
|
||||
IPage<KanJiaActivity> getForPage(KanJiaActivityQuery kanJiaActivityQuery, PageVO page);
|
||||
|
||||
|
||||
}
|
@ -2,11 +2,12 @@ package cn.lili.modules.promotion.service;
|
||||
|
||||
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsOperationDTO;
|
||||
import cn.lili.modules.promotion.entity.vos.KanJiaActivityGoodsParams;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsOperationDTO;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsListVO;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsParams;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsVO;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
@ -19,7 +20,7 @@ import java.util.List;
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/1 9:45 上午
|
||||
*/
|
||||
public interface KanJiaActivityGoodsService extends IService<KanJiaActivityGoods> {
|
||||
public interface KanjiaActivityGoodsService extends IService<KanjiaActivityGoods> {
|
||||
|
||||
|
||||
/**
|
||||
@ -28,7 +29,7 @@ public interface KanJiaActivityGoodsService extends IService<KanJiaActivityGoods
|
||||
* @param kanJiaActivityGoodsDTOS 砍价商品
|
||||
* @return 是否添加成功
|
||||
*/
|
||||
boolean add(KanJiaActivityGoodsOperationDTO kanJiaActivityGoodsDTOS);
|
||||
boolean add(KanjiaActivityGoodsOperationDTO kanJiaActivityGoodsDTOS);
|
||||
|
||||
/**
|
||||
* 查询砍价活动商品分页信息
|
||||
@ -37,7 +38,16 @@ public interface KanJiaActivityGoodsService extends IService<KanJiaActivityGoods
|
||||
* @param pageVO 分页信息
|
||||
* @return 砍价商品
|
||||
*/
|
||||
IPage<KanJiaActivityGoodsDTO> getForPage(KanJiaActivityGoodsParams kanJiaActivityGoodsParams, PageVO pageVO);
|
||||
IPage<KanjiaActivityGoodsDTO> getForPage(KanjiaActivityGoodsParams kanJiaActivityGoodsParams, PageVO pageVO);
|
||||
|
||||
/**
|
||||
* 查询砍价活动商品分页信息
|
||||
*
|
||||
* @param kanJiaActivityGoodsParams 砍价活动商品
|
||||
* @param pageVO 分页信息
|
||||
* @return 砍价商品
|
||||
*/
|
||||
IPage<KanjiaActivityGoodsListVO> kanJiaGoodsVOPage(KanjiaActivityGoodsParams kanJiaActivityGoodsParams, PageVO pageVO);
|
||||
|
||||
/**
|
||||
* 查询砍价活动商品
|
||||
@ -45,7 +55,14 @@ public interface KanJiaActivityGoodsService extends IService<KanJiaActivityGoods
|
||||
* @param goodsId 砍价活动商品id
|
||||
* @return 砍价活动商品信息
|
||||
*/
|
||||
KanJiaActivityGoodsDTO getKanJiaGoodsDetail(String goodsId);
|
||||
KanjiaActivityGoodsDTO getKanJiaGoodsDetail(String goodsId);
|
||||
|
||||
/**
|
||||
* 查询砍价活动商品VO
|
||||
* @param id 砍价活动商品ID
|
||||
* @return 砍价活动商品
|
||||
*/
|
||||
KanjiaActivityGoodsVO getKanJiaGoodsVO(String id);
|
||||
|
||||
/**
|
||||
* 修改看见商品信息
|
||||
@ -53,7 +70,7 @@ public interface KanJiaActivityGoodsService extends IService<KanJiaActivityGoods
|
||||
* @param kanJiaActivityGoodsDTO 砍价商品信息
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
boolean updateKanJiaActivityGoods(KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO);
|
||||
boolean updateKanJiaActivityGoods(KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO);
|
||||
|
||||
/**
|
||||
* 删除砍价商品
|
||||
@ -69,6 +86,6 @@ public interface KanJiaActivityGoodsService extends IService<KanJiaActivityGoods
|
||||
* @param skuId 商品skuId
|
||||
* @return
|
||||
*/
|
||||
KanJiaActivityGoodsDTO getKanJiaGoodsBySku(String skuId);
|
||||
KanjiaActivityGoodsDTO getKanJiaGoodsBySku(String skuId);
|
||||
|
||||
}
|
@ -2,8 +2,8 @@ package cn.lili.modules.promotion.service;
|
||||
|
||||
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityDTO;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityLogQuery;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
@ -15,7 +15,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/1 9:45 上午
|
||||
*/
|
||||
public interface KanJiaActivityLogService extends IService<KanJiaActivityLog> {
|
||||
public interface KanjiaActivityLogService extends IService<KanjiaActivityLog> {
|
||||
|
||||
/**
|
||||
* 根据砍价参与记录id查询砍价记录
|
||||
@ -24,7 +24,7 @@ public interface KanJiaActivityLogService extends IService<KanJiaActivityLog> {
|
||||
* @param pageVO 分页信息
|
||||
* @return 砍价日志
|
||||
*/
|
||||
IPage<KanJiaActivityLog> getForPage(KanJiaActivityLogQuery kanJiaActivityLogQuery, PageVO pageVO);
|
||||
IPage<KanjiaActivityLog> getForPage(KanJiaActivityLogQuery kanJiaActivityLogQuery, PageVO pageVO);
|
||||
|
||||
/**
|
||||
* 砍一刀
|
||||
@ -32,5 +32,5 @@ public interface KanJiaActivityLogService extends IService<KanJiaActivityLog> {
|
||||
* @param kanJiaActivityDTO 砍价记录
|
||||
* @return
|
||||
*/
|
||||
KanJiaActivityLog addKanJiaActivityLog(KanJiaActivityDTO kanJiaActivityDTO);
|
||||
KanjiaActivityLog addKanJiaActivityLog(KanjiaActivityDTO kanJiaActivityDTO);
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package cn.lili.modules.promotion.service;
|
||||
|
||||
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityQuery;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivitySearchParams;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
||||
/**
|
||||
* 砍价活动参与记录业务层
|
||||
*
|
||||
* @author qiuqiu
|
||||
* @date 2021/7/1 9:45 上午
|
||||
*/
|
||||
public interface KanjiaActivityService extends IService<KanjiaActivity> {
|
||||
|
||||
/**
|
||||
* 获取砍价活动
|
||||
*
|
||||
* 有值说明是已参加的砍价活动
|
||||
* 没有值说明是未参加的砍价活动
|
||||
*
|
||||
* @param kanJiaActivitySearchParams 砍价活动搜索参数
|
||||
* @return 砍价活动
|
||||
*/
|
||||
KanjiaActivity getKanjiaActivity(KanjiaActivitySearchParams kanJiaActivitySearchParams);
|
||||
|
||||
/**
|
||||
* 发起人发起砍价活动
|
||||
*
|
||||
* @param id 活动ID
|
||||
* @return
|
||||
*/
|
||||
KanjiaActivityLog add(String id);
|
||||
|
||||
/**
|
||||
* 帮砍
|
||||
*
|
||||
* @param kanJiaActivityId 活动id
|
||||
* @return 砍价详细
|
||||
*/
|
||||
KanjiaActivityLog helpKanJia(String kanJiaActivityId);
|
||||
|
||||
/**
|
||||
* 根据条件查询我参与的砍价活动
|
||||
*
|
||||
* @param kanJiaActivityQuery 砍价活动查询条件
|
||||
* @param page 分页对象
|
||||
* @return 我参与的砍价活动信息
|
||||
*/
|
||||
IPage<KanjiaActivity> getForPage(KanjiaActivityQuery kanJiaActivityQuery, PageVO page);
|
||||
|
||||
|
||||
}
|
@ -11,19 +11,22 @@ import cn.lili.common.trigger.model.TimeExecuteConstant;
|
||||
import cn.lili.common.trigger.model.TimeTriggerMsg;
|
||||
import cn.lili.common.trigger.util.DelayQueueTools;
|
||||
import cn.lili.common.utils.DateUtil;
|
||||
import cn.lili.common.utils.PageUtil;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.config.rocketmq.RocketmqCustomProperties;
|
||||
import cn.lili.modules.goods.entity.dos.GoodsSku;
|
||||
import cn.lili.modules.goods.entity.enums.GoodsStatusEnum;
|
||||
import cn.lili.modules.goods.service.GoodsSkuService;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsOperationDTO;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsOperationDTO;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionTypeEnum;
|
||||
import cn.lili.modules.promotion.entity.vos.KanJiaActivityGoodsParams;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsListVO;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsParams;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsVO;
|
||||
import cn.lili.modules.promotion.mapper.KanJiaActivityGoodsMapper;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityGoodsService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
|
||||
import cn.lili.modules.promotion.tools.PromotionTools;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@ -47,7 +50,7 @@ import java.util.List;
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGoodsMapper, KanJiaActivityGoods> implements KanJiaActivityGoodsService {
|
||||
public class KanjiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGoodsMapper, KanjiaActivityGoods> implements KanjiaActivityGoodsService {
|
||||
|
||||
//规格商品
|
||||
@Autowired
|
||||
@ -67,9 +70,9 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
|
||||
|
||||
@Override
|
||||
public boolean add(KanJiaActivityGoodsOperationDTO kanJiaActivityGoodsOperationDTO) {
|
||||
List<KanJiaActivityGoods> kanJiaActivityGoodsList = new ArrayList<>();
|
||||
for (KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO : kanJiaActivityGoodsOperationDTO.getPromotionGoodsList()) {
|
||||
public boolean add(KanjiaActivityGoodsOperationDTO kanJiaActivityGoodsOperationDTO) {
|
||||
List<KanjiaActivityGoods> kanjiaActivityGoodsList = new ArrayList<>();
|
||||
for (KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO : kanJiaActivityGoodsOperationDTO.getPromotionGoodsList()) {
|
||||
//根据skuId查询商品信息
|
||||
GoodsSku goodsSku = this.checkSkuExist(kanJiaActivityGoodsDTO.getSkuId());
|
||||
//参数检测
|
||||
@ -87,12 +90,12 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
kanJiaActivityGoodsDTO.setThumbnail(goodsSku.getThumbnail());
|
||||
kanJiaActivityGoodsDTO.setGoodsName(goodsSku.getGoodsName());
|
||||
kanJiaActivityGoodsDTO.setPromotionStatus(PromotionStatusEnum.NEW.name());
|
||||
kanJiaActivityGoodsList.add(kanJiaActivityGoodsDTO);
|
||||
kanjiaActivityGoodsList.add(kanJiaActivityGoodsDTO);
|
||||
}
|
||||
Boolean result = this.saveBatch(kanJiaActivityGoodsList);
|
||||
Boolean result = this.saveBatch(kanjiaActivityGoodsList);
|
||||
if (result) {
|
||||
//发送砍价延迟任务消息
|
||||
for (KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO : kanJiaActivityGoodsOperationDTO.getPromotionGoodsList()) {
|
||||
for (KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO : kanJiaActivityGoodsOperationDTO.getPromotionGoodsList()) {
|
||||
this.mongoTemplate.save(kanJiaActivityGoodsDTO);
|
||||
this.addKanJiaGoodsPromotionTask(kanJiaActivityGoodsDTO);
|
||||
}
|
||||
@ -106,7 +109,7 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
*
|
||||
* @param kanJiaActivityGoods 砍价商品信息
|
||||
*/
|
||||
private void addKanJiaGoodsPromotionTask(KanJiaActivityGoodsDTO kanJiaActivityGoods) {
|
||||
private void addKanJiaGoodsPromotionTask(KanjiaActivityGoodsDTO kanJiaActivityGoods) {
|
||||
PromotionMessage promotionMessage = new PromotionMessage(kanJiaActivityGoods.getId(), PromotionTypeEnum.KAN_JIA.name(),
|
||||
PromotionStatusEnum.START.name(),
|
||||
kanJiaActivityGoods.getStartTime(), kanJiaActivityGoods.getEndTime());
|
||||
@ -120,21 +123,26 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<KanJiaActivityGoodsDTO> getForPage(KanJiaActivityGoodsParams kanJiaActivityGoodsParams, PageVO pageVO) {
|
||||
IPage<KanJiaActivityGoodsDTO> kanJiaActivityGoodsDTOIPage = new Page<>();
|
||||
public IPage<KanjiaActivityGoodsDTO> getForPage(KanjiaActivityGoodsParams kanJiaActivityGoodsParams, PageVO pageVO) {
|
||||
IPage<KanjiaActivityGoodsDTO> kanJiaActivityGoodsDTOIPage = new Page<>();
|
||||
Query query = kanJiaActivityGoodsParams.mongoQuery();
|
||||
if (pageVO != null) {
|
||||
PromotionTools.mongoQueryPageParam(query, pageVO);
|
||||
kanJiaActivityGoodsDTOIPage.setSize(pageVO.getPageSize());
|
||||
kanJiaActivityGoodsDTOIPage.setCurrent(pageVO.getPageNumber());
|
||||
}
|
||||
List<KanJiaActivityGoodsDTO> kanJiaActivityGoodsDTOS = this.mongoTemplate.find(query, KanJiaActivityGoodsDTO.class);
|
||||
List<KanjiaActivityGoodsDTO> kanJiaActivityGoodsDTOS = this.mongoTemplate.find(query, KanjiaActivityGoodsDTO.class);
|
||||
kanJiaActivityGoodsDTOIPage.setRecords(kanJiaActivityGoodsDTOS);
|
||||
kanJiaActivityGoodsDTOIPage.setTotal(this.mongoTemplate.count(kanJiaActivityGoodsParams.mongoQuery(), KanJiaActivityGoodsDTO.class));
|
||||
kanJiaActivityGoodsDTOIPage.setTotal(this.mongoTemplate.count(kanJiaActivityGoodsParams.mongoQuery(), KanjiaActivityGoodsDTO.class));
|
||||
return kanJiaActivityGoodsDTOIPage;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<KanjiaActivityGoodsListVO> kanJiaGoodsVOPage(KanjiaActivityGoodsParams kanjiaActivityGoodsParams, PageVO pageVO) {
|
||||
return this.baseMapper.kanjiaActivityGoodsVOPage(PageUtil.initPage(pageVO),kanjiaActivityGoodsParams.wrapper());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 检查商品Sku是否存
|
||||
@ -157,7 +165,7 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
* @param kanJiaActivityGoodsDTO 砍价商品信息
|
||||
* @param goodsSku 商品sku信息
|
||||
*/
|
||||
private void checkParam(KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO, GoodsSku goodsSku) {
|
||||
private void checkParam(KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO, GoodsSku goodsSku) {
|
||||
//校验商品是否存在
|
||||
if (goodsSku == null) {
|
||||
throw new ServiceException(ResultCode.PROMOTION_GOODS_NOT_EXIT);
|
||||
@ -199,25 +207,25 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
* @param kanJiaActivityGoodsDTO 砍价商品
|
||||
* @return 积分商品信息
|
||||
*/
|
||||
private KanJiaActivityGoods checkSkuDuplicate(String skuId, KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO) {
|
||||
LambdaQueryWrapper<KanJiaActivityGoods> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(KanJiaActivityGoods::getSkuId, skuId);
|
||||
private KanjiaActivityGoods checkSkuDuplicate(String skuId, KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO) {
|
||||
LambdaQueryWrapper<KanjiaActivityGoods> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(KanjiaActivityGoods::getSkuId, skuId);
|
||||
if (kanJiaActivityGoodsDTO != null && StrUtil.isNotEmpty(kanJiaActivityGoodsDTO.getId())) {
|
||||
queryWrapper.ne(KanJiaActivityGoods::getId, kanJiaActivityGoodsDTO.getId());
|
||||
queryWrapper.ne(KanjiaActivityGoods::getId, kanJiaActivityGoodsDTO.getId());
|
||||
}
|
||||
queryWrapper.ne(KanJiaActivityGoods::getPromotionStatus, PromotionStatusEnum.END.name());
|
||||
queryWrapper.ne(KanjiaActivityGoods::getPromotionStatus, PromotionStatusEnum.END.name());
|
||||
|
||||
queryWrapper.ge(KanJiaActivityGoods::getStartTime, kanJiaActivityGoodsDTO.getStartTime());
|
||||
queryWrapper.ge(KanjiaActivityGoods::getStartTime, kanJiaActivityGoodsDTO.getStartTime());
|
||||
|
||||
queryWrapper.le(KanJiaActivityGoods::getEndTime, kanJiaActivityGoodsDTO.getEndTime());
|
||||
queryWrapper.le(KanjiaActivityGoods::getEndTime, kanJiaActivityGoodsDTO.getEndTime());
|
||||
|
||||
return this.getOne(queryWrapper);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public KanJiaActivityGoodsDTO getKanJiaGoodsDetail(String goodsId) {
|
||||
KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO = this.mongoTemplate.findById(goodsId, KanJiaActivityGoodsDTO.class);
|
||||
public KanjiaActivityGoodsDTO getKanJiaGoodsDetail(String goodsId) {
|
||||
KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO = this.mongoTemplate.findById(goodsId, KanjiaActivityGoodsDTO.class);
|
||||
if (kanJiaActivityGoodsDTO == null) {
|
||||
log.error("id为" + goodsId + "的砍价商品不存在!");
|
||||
throw new ServiceException();
|
||||
@ -226,9 +234,26 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateKanJiaActivityGoods(KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO) {
|
||||
public KanjiaActivityGoodsVO getKanJiaGoodsVO(String id) {
|
||||
|
||||
KanjiaActivityGoodsVO kanJiaActivityGoodsVO = new KanjiaActivityGoodsVO();
|
||||
//获取砍价商品
|
||||
KanjiaActivityGoods kanJiaActivityGoods=this.getById(id);
|
||||
//获取商品SKU
|
||||
GoodsSku goodsSku = this.goodsSkuService.getGoodsSkuByIdFromCache(kanJiaActivityGoods.getSkuId());
|
||||
//填写活动商品价格、剩余数量
|
||||
kanJiaActivityGoodsVO.setGoodsSku(goodsSku);
|
||||
kanJiaActivityGoodsVO.setStock(kanJiaActivityGoods.getStock());
|
||||
kanJiaActivityGoodsVO.setPurchasePrice(kanJiaActivityGoods.getPurchasePrice());
|
||||
//返回商品数据
|
||||
return kanJiaActivityGoodsVO;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateKanJiaActivityGoods(KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO) {
|
||||
//校验砍价商品是否存在
|
||||
KanJiaActivityGoodsDTO dbKanJiaActivityGoods = this.getKanJiaGoodsDetail(kanJiaActivityGoodsDTO.getId());
|
||||
KanjiaActivityGoodsDTO dbKanJiaActivityGoods = this.getKanJiaGoodsDetail(kanJiaActivityGoodsDTO.getId());
|
||||
//校验当前活动是否已经开始,只有新建的未开始的活动可以编辑
|
||||
if (!dbKanJiaActivityGoods.getPromotionStatus().equals(PromotionStatusEnum.NEW.name())) {
|
||||
throw new ServiceException(ResultCode.PROMOTION_UPDATE_ERROR);
|
||||
@ -271,7 +296,7 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
public boolean deleteKanJiaGoods(List<String> ids) {
|
||||
List<String> skuIds = new ArrayList<>();
|
||||
for (String id : ids) {
|
||||
KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO = this.getKanJiaGoodsDetail(id);
|
||||
KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO = this.getKanJiaGoodsDetail(id);
|
||||
this.timeTrigger.delete(TimeExecuteConstant.PROMOTION_EXECUTOR,
|
||||
kanJiaActivityGoodsDTO.getStartTime().getTime(),
|
||||
DelayQueueTools.wrapperUniqueKey(DelayTypeEnums.PROMOTION, (PromotionTypeEnum.KAN_JIA.name() + kanJiaActivityGoodsDTO.getId())),
|
||||
@ -282,21 +307,21 @@ public class KanJiaActivityGoodsServiceImpl extends ServiceImpl<KanJiaActivityGo
|
||||
if (result) {
|
||||
Query query = new Query();
|
||||
query.addCriteria(new Criteria("id").in(ids));
|
||||
this.mongoTemplate.remove(query, KanJiaActivityGoodsDTO.class);
|
||||
this.mongoTemplate.remove(query, KanjiaActivityGoodsDTO.class);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public KanJiaActivityGoodsDTO getKanJiaGoodsBySku(String skuId) {
|
||||
public KanjiaActivityGoodsDTO getKanJiaGoodsBySku(String skuId) {
|
||||
//构建查询条件
|
||||
KanJiaActivityGoodsParams kanJiaActivityGoodsParams = new KanJiaActivityGoodsParams();
|
||||
KanjiaActivityGoodsParams kanJiaActivityGoodsParams = new KanjiaActivityGoodsParams();
|
||||
kanJiaActivityGoodsParams.setSkuId(skuId);
|
||||
kanJiaActivityGoodsParams.setPromotionStatus(PromotionStatusEnum.START.name());
|
||||
//查询相关数据
|
||||
Query query = kanJiaActivityGoodsParams.mongoQuery();
|
||||
List<KanJiaActivityGoodsDTO> kanJiaActivityGoodsDTOS = this.mongoTemplate.find(query, KanJiaActivityGoodsDTO.class);
|
||||
List<KanjiaActivityGoodsDTO> kanJiaActivityGoodsDTOS = this.mongoTemplate.find(query, KanjiaActivityGoodsDTO.class);
|
||||
// 为了担心会查到多条数据 所以查询集合 正常情况下只会查询到一条
|
||||
if (kanJiaActivityGoodsDTOS.size() > 0) {
|
||||
return kanJiaActivityGoodsDTOS.get(0);
|
@ -3,20 +3,19 @@ package cn.lili.modules.promotion.serviceimpl;
|
||||
|
||||
import cn.lili.common.enums.ResultCode;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.security.context.UserContext;
|
||||
import cn.lili.common.utils.BeanUtil;
|
||||
import cn.lili.common.utils.PageUtil;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityDTO;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityLogQuery;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
||||
import cn.lili.modules.promotion.mapper.KanJiaActivityLogMapper;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityGoodsService;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityLogService;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityLogService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -33,41 +32,41 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class KanJiaActivityLogServiceImpl extends ServiceImpl<KanJiaActivityLogMapper, KanJiaActivityLog> implements KanJiaActivityLogService {
|
||||
public class KanjiaActivityLogServiceImpl extends ServiceImpl<KanJiaActivityLogMapper, KanjiaActivityLog> implements KanjiaActivityLogService {
|
||||
|
||||
@Autowired
|
||||
private KanJiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
private KanjiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
|
||||
@Autowired
|
||||
private KanJiaActivityService kanJiaActivityService;
|
||||
private KanjiaActivityService kanJiaActivityService;
|
||||
|
||||
@Override
|
||||
public IPage<KanJiaActivityLog> getForPage(KanJiaActivityLogQuery kanJiaActivityLogQuery, PageVO pageVO) {
|
||||
QueryWrapper<KanJiaActivityLog> queryWrapper = kanJiaActivityLogQuery.wrapper();
|
||||
public IPage<KanjiaActivityLog> getForPage(KanJiaActivityLogQuery kanJiaActivityLogQuery, PageVO pageVO) {
|
||||
QueryWrapper<KanjiaActivityLog> queryWrapper = kanJiaActivityLogQuery.wrapper();
|
||||
return this.page(PageUtil.initPage(pageVO), queryWrapper);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public KanJiaActivityLog addKanJiaActivityLog(KanJiaActivityDTO kanJiaActivityDTO) {
|
||||
public KanjiaActivityLog addKanJiaActivityLog(KanjiaActivityDTO kanjiaActivityDTO) {
|
||||
//校验当前会员是否已经参与过此次砍价
|
||||
QueryWrapper<KanJiaActivityLog> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(kanJiaActivityDTO.getKanJiaMemberId() != null, "kan_jia_member_id", kanJiaActivityDTO.getKanJiaMemberId());
|
||||
queryWrapper.eq(kanJiaActivityDTO.getKanJiaActivityId() != null, "kan_jia_activity_id", kanJiaActivityDTO.getKanJiaActivityId());
|
||||
QueryWrapper<KanjiaActivityLog> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(kanjiaActivityDTO.getKanjiaMemberId() != null, "kan_jia_member_id", kanjiaActivityDTO.getKanjiaMemberId());
|
||||
queryWrapper.eq(kanjiaActivityDTO.getKanjiaActivityId() != null, "kan_jia_activity_id", kanjiaActivityDTO.getKanjiaActivityId());
|
||||
Integer count = this.baseMapper.selectCount(queryWrapper);
|
||||
if (count > 0) {
|
||||
throw new ServiceException(ResultCode.KANJIA_ACTIVITY_LOG_MEMBER_ERROR);
|
||||
}
|
||||
//校验当前砍价商品是否有效
|
||||
KanJiaActivityGoods kanJiaActivityGoods = kanJiaActivityGoodsService.getById(kanJiaActivityDTO.getKanJiaActivityGoodsId());
|
||||
KanjiaActivityGoods kanjiaActivityGoods = kanJiaActivityGoodsService.getById(kanjiaActivityDTO.getKanjiaActivityGoodsId());
|
||||
//如果当前活动不为空且还在活动时间内 才可以参与砍价活动
|
||||
if (kanJiaActivityGoods != null && kanJiaActivityGoods.getPromotionStatus().equals(PromotionStatusEnum.START.name())) {
|
||||
if (kanjiaActivityGoods != null && kanjiaActivityGoods.getPromotionStatus().equals(PromotionStatusEnum.START.name())) {
|
||||
//获取砍价参与者记录
|
||||
KanJiaActivity kanJiaActivity = kanJiaActivityService.getById(kanJiaActivityDTO.getKanJiaActivityId());
|
||||
if (kanJiaActivity != null) {
|
||||
KanJiaActivityLog kanJiaActivityLog = new KanJiaActivityLog();
|
||||
kanJiaActivityLog.setKanJiaActivityId(kanJiaActivity.getId());
|
||||
BeanUtil.copyProperties(kanJiaActivityDTO, kanJiaActivityLog);
|
||||
KanjiaActivity kanjiaActivity = kanJiaActivityService.getById(kanjiaActivityDTO.getKanjiaActivityId());
|
||||
if (kanjiaActivity != null) {
|
||||
KanjiaActivityLog kanJiaActivityLog = new KanjiaActivityLog();
|
||||
kanJiaActivityLog.setKanjiaActivityId(kanjiaActivity.getId());
|
||||
BeanUtil.copyProperties(kanjiaActivityDTO, kanJiaActivityLog);
|
||||
boolean result = this.save(kanJiaActivityLog);
|
||||
if (result) {
|
||||
return kanJiaActivityLog;
|
@ -11,17 +11,18 @@ import cn.lili.modules.goods.entity.dos.GoodsSku;
|
||||
import cn.lili.modules.goods.service.GoodsSkuService;
|
||||
import cn.lili.modules.member.entity.dos.Member;
|
||||
import cn.lili.modules.member.service.MemberService;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dos.KanJiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityQuery;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivity;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityGoods;
|
||||
import cn.lili.modules.promotion.entity.dos.KanjiaActivityLog;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityQuery;
|
||||
import cn.lili.modules.promotion.entity.enums.KanJiaStatusEnum;
|
||||
import cn.lili.modules.promotion.entity.enums.PromotionStatusEnum;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivitySearchParams;
|
||||
import cn.lili.modules.promotion.mapper.KanJiaActivityMapper;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityGoodsService;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityLogService;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityLogService;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -38,45 +39,44 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class KanJiaActivityServiceImpl extends ServiceImpl<KanJiaActivityMapper, KanJiaActivity> implements KanJiaActivityService {
|
||||
|
||||
public class KanjiaActivityServiceImpl extends ServiceImpl<KanJiaActivityMapper, KanjiaActivity> implements KanjiaActivityService {
|
||||
|
||||
@Autowired
|
||||
private KanJiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
|
||||
private KanjiaActivityGoodsService kanjiaActivityGoodsService;
|
||||
@Autowired
|
||||
private KanJiaActivityLogService kanJiaActivityLogService;
|
||||
|
||||
|
||||
private KanjiaActivityLogService kanjiaActivityLogService;
|
||||
@Autowired
|
||||
private MemberService memberService;
|
||||
|
||||
//规格商品
|
||||
@Autowired
|
||||
private GoodsSkuService goodsSkuService;
|
||||
|
||||
@Override
|
||||
public KanJiaActivityLog add(String skuId) {
|
||||
public KanjiaActivity getKanjiaActivity(KanjiaActivitySearchParams kanJiaActivitySearchParams) {
|
||||
return this.getOne(kanJiaActivitySearchParams.wrapper());
|
||||
}
|
||||
|
||||
@Override
|
||||
public KanjiaActivityLog add(String id) {
|
||||
//根据skuId查询当前sku是否参与活动并且是在活动进行中
|
||||
KanJiaActivityGoods kanJiaActivityGoods = kanJiaActivityGoodsService.getKanJiaGoodsBySku(skuId);
|
||||
KanjiaActivityGoods kanJiaActivityGoods = kanjiaActivityGoodsService.getById(id);
|
||||
//只有砍价商品存在且已经开始的活动才可以发起砍价
|
||||
if (kanJiaActivityGoods != null && kanJiaActivityGoods.getPromotionStatus().equals(PromotionStatusEnum.START.name())) {
|
||||
//获取会员信息
|
||||
Member member = memberService.getById(UserContext.getCurrentUser().getId());
|
||||
//校验此活动是否已经发起过
|
||||
QueryWrapper<KanJiaActivity> queryWrapper = new QueryWrapper<>();
|
||||
QueryWrapper<KanjiaActivity> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("kan_jia_activity_goods_id", kanJiaActivityGoods.getId());
|
||||
queryWrapper.eq("member_id", member.getId());
|
||||
if (this.count(queryWrapper) > 0) {
|
||||
throw new ServiceException(ResultCode.KANJIA_ACTIVITY_MEMBER_ERROR);
|
||||
}
|
||||
KanJiaActivity kanJiaActivity = new KanJiaActivity();
|
||||
KanjiaActivity kanJiaActivity = new KanjiaActivity();
|
||||
//获取商品信息
|
||||
GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(skuId);
|
||||
GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(kanJiaActivityGoods.getSkuId());
|
||||
if (goodsSku != null && member != null) {
|
||||
kanJiaActivity.setSkuId(skuId);
|
||||
kanJiaActivity.setSkuId(kanJiaActivityGoods.getSkuId());
|
||||
kanJiaActivity.setGoodsName(goodsSku.getGoodsName());
|
||||
kanJiaActivity.setKanJiaActivityGoodsId(kanJiaActivityGoods.getId());
|
||||
kanJiaActivity.setKanjiaActivityGoodsId(kanJiaActivityGoods.getId());
|
||||
kanJiaActivity.setThumbnail(goodsSku.getThumbnail());
|
||||
kanJiaActivity.setMemberId(UserContext.getCurrentUser().getId());
|
||||
kanJiaActivity.setMemberName(member.getUsername());
|
||||
@ -84,22 +84,22 @@ public class KanJiaActivityServiceImpl extends ServiceImpl<KanJiaActivityMapper,
|
||||
//剩余砍价金额 开始 是商品金额-最低购买金额
|
||||
Double surplusPrice = CurrencyUtil.sub(goodsSku.getPrice(), kanJiaActivityGoods.getPurchasePrice());
|
||||
//获取砍价金额,因为自己要给自己砍一刀 所以需要在可砍金额范围内 砍一刀
|
||||
Double price = this.getKanJiaPrice(kanJiaActivityGoods, surplusPrice);
|
||||
Double price = this.getKanjiaPrice(kanJiaActivityGoods, surplusPrice);
|
||||
//剩余可砍金额就是 砍一刀后的金额
|
||||
kanJiaActivity.setSurplusPrice(CurrencyUtil.sub(surplusPrice, price));
|
||||
//保存我的砍价活动
|
||||
boolean result = this.save(kanJiaActivity);
|
||||
//因为发起砍价就是自己给自己砍一刀,所以要添加砍价记录信息
|
||||
if (result) {
|
||||
KanJiaActivityDTO kanJiaActivityDTO = new KanJiaActivityDTO();
|
||||
kanJiaActivityDTO.setKanJiaActivityGoodsId(kanJiaActivityGoods.getId());
|
||||
kanJiaActivityDTO.setKanJiaActivityId(kanJiaActivity.getId());
|
||||
kanJiaActivityDTO.setKanJiaPrice(price);
|
||||
kanJiaActivityDTO.setSurplusPrice(kanJiaActivity.getSurplusPrice());
|
||||
kanJiaActivityDTO.setKanJiaMemberId(kanJiaActivity.getMemberId());
|
||||
kanJiaActivityDTO.setKanJiaMemberName(kanJiaActivity.getMemberName());
|
||||
kanJiaActivityDTO.setKanJiaMemberFace(member.getFace());
|
||||
return kanJiaActivityLogService.addKanJiaActivityLog(kanJiaActivityDTO);
|
||||
KanjiaActivityDTO kanjiaActivityDTO = new KanjiaActivityDTO();
|
||||
kanjiaActivityDTO.setKanjiaActivityGoodsId(kanJiaActivityGoods.getId());
|
||||
kanjiaActivityDTO.setKanjiaActivityId(kanJiaActivity.getId());
|
||||
kanjiaActivityDTO.setKanjiaPrice(price);
|
||||
kanjiaActivityDTO.setSurplusPrice(kanJiaActivity.getSurplusPrice());
|
||||
kanjiaActivityDTO.setKanjiaMemberId(kanJiaActivity.getMemberId());
|
||||
kanjiaActivityDTO.setKanjiaMemberName(kanJiaActivity.getMemberName());
|
||||
kanjiaActivityDTO.setKanjiaMemberFace(member.getFace());
|
||||
return kanjiaActivityLogService.addKanJiaActivityLog(kanjiaActivityDTO);
|
||||
}
|
||||
|
||||
}
|
||||
@ -110,37 +110,37 @@ public class KanJiaActivityServiceImpl extends ServiceImpl<KanJiaActivityMapper,
|
||||
|
||||
|
||||
@Override
|
||||
public KanJiaActivityLog helpKanJia(String kanJiaActivityId) {
|
||||
public KanjiaActivityLog helpKanJia(String kanjiaActivityId) {
|
||||
//获取会员信息
|
||||
Member member = memberService.getById(UserContext.getCurrentUser().getId());
|
||||
//根据砍价发起活动id查询砍价活动信息
|
||||
KanJiaActivity kanJiaActivity = this.getById(kanJiaActivityId);
|
||||
if (kanJiaActivity != null && kanJiaActivity.getStatus().equals(PromotionStatusEnum.START.name())) {
|
||||
KanjiaActivity kanjiaActivity = this.getById(kanjiaActivityId);
|
||||
if (kanjiaActivity != null && kanjiaActivity.getStatus().equals(PromotionStatusEnum.START.name())) {
|
||||
if (member == null) {
|
||||
throw new ServiceException(ResultCode.USER_NOT_EXIST);
|
||||
}
|
||||
//根据skuId查询当前sku是否参与活动并且是在活动进行中
|
||||
KanJiaActivityGoods kanJiaActivityGoods = kanJiaActivityGoodsService.getById(kanJiaActivity.getKanJiaActivityGoodsId());
|
||||
KanjiaActivityGoods kanJiaActivityGoods = kanjiaActivityGoodsService.getById(kanjiaActivity.getKanjiaActivityGoodsId());
|
||||
if (kanJiaActivityGoods == null) {
|
||||
throw new ServiceException(ResultCode.PROMOTION_STATUS_END);
|
||||
}
|
||||
KanJiaActivityDTO kanJiaActivityDTO = new KanJiaActivityDTO();
|
||||
kanJiaActivityDTO.setKanJiaActivityGoodsId(kanJiaActivity.getKanJiaActivityGoodsId());
|
||||
kanJiaActivityDTO.setKanJiaActivityId(kanJiaActivityId);
|
||||
KanjiaActivityDTO kanjiaActivityDTO = new KanjiaActivityDTO();
|
||||
kanjiaActivityDTO.setKanjiaActivityGoodsId(kanjiaActivity.getKanjiaActivityGoodsId());
|
||||
kanjiaActivityDTO.setKanjiaActivityId(kanjiaActivityId);
|
||||
//获取砍价金额
|
||||
Double price = this.getKanJiaPrice(kanJiaActivityGoods, kanJiaActivity.getSurplusPrice());
|
||||
kanJiaActivityDTO.setKanJiaPrice(price);
|
||||
Double price = this.getKanjiaPrice(kanJiaActivityGoods, kanjiaActivity.getSurplusPrice());
|
||||
kanjiaActivityDTO.setKanjiaPrice(price);
|
||||
//获取可砍金额
|
||||
kanJiaActivityDTO.setSurplusPrice(CurrencyUtil.sub(kanJiaActivity.getSurplusPrice(), price));
|
||||
kanjiaActivityDTO.setSurplusPrice(CurrencyUtil.sub(kanjiaActivity.getSurplusPrice(), price));
|
||||
//如果可砍金额为0的话说明活动成功了
|
||||
if (Double.doubleToLongBits(kanJiaActivityDTO.getSurplusPrice()) == Double.doubleToLongBits(0D)) {
|
||||
kanJiaActivity.setStatus(KanJiaStatusEnum.SUCCESS.name());
|
||||
this.updateById(kanJiaActivity);
|
||||
if (Double.doubleToLongBits(kanjiaActivityDTO.getSurplusPrice()) == Double.doubleToLongBits(0D)) {
|
||||
kanjiaActivity.setStatus(KanJiaStatusEnum.SUCCESS.name());
|
||||
this.updateById(kanjiaActivity);
|
||||
}
|
||||
kanJiaActivityDTO.setKanJiaMemberId(member.getId());
|
||||
kanJiaActivityDTO.setKanJiaMemberName(member.getUsername());
|
||||
kanJiaActivityDTO.setKanJiaMemberFace(member.getFace());
|
||||
return kanJiaActivityLogService.addKanJiaActivityLog(kanJiaActivityDTO);
|
||||
kanjiaActivityDTO.setKanjiaMemberId(member.getId());
|
||||
kanjiaActivityDTO.setKanjiaMemberName(member.getUsername());
|
||||
kanjiaActivityDTO.setKanjiaMemberFace(member.getFace());
|
||||
return kanjiaActivityLogService.addKanJiaActivityLog(kanjiaActivityDTO);
|
||||
}
|
||||
throw new ServiceException(ResultCode.PROMOTION_STATUS_END);
|
||||
}
|
||||
@ -148,20 +148,20 @@ public class KanJiaActivityServiceImpl extends ServiceImpl<KanJiaActivityMapper,
|
||||
/**
|
||||
* 随机获取砍一刀价格
|
||||
*
|
||||
* @param kanJiaActivityGoods 砍价商品信息
|
||||
* @param kanjiaActivityGoods 砍价商品信息
|
||||
* @param surplusPrice 剩余可砍金额
|
||||
* @return
|
||||
*/
|
||||
private Double getKanJiaPrice(KanJiaActivityGoods kanJiaActivityGoods, Double surplusPrice) {
|
||||
double result = kanJiaActivityGoods.getHighestPrice() - kanJiaActivityGoods.getLowestPrice();
|
||||
private Double getKanjiaPrice(KanjiaActivityGoods kanjiaActivityGoods, Double surplusPrice) {
|
||||
double result = kanjiaActivityGoods.getHighestPrice() - kanjiaActivityGoods.getLowestPrice();
|
||||
double num = (Math.random() * result);
|
||||
//如果剩余金额小于最低可砍价金额则直接返回最小金额 砍价成功
|
||||
if (kanJiaActivityGoods.getLowestPrice() > surplusPrice) {
|
||||
if (kanjiaActivityGoods.getLowestPrice() > surplusPrice) {
|
||||
return surplusPrice;
|
||||
}
|
||||
Double price = 0D;
|
||||
while (true) {
|
||||
price = CurrencyUtil.round(num + kanJiaActivityGoods.getLowestPrice(), 2);
|
||||
price = CurrencyUtil.round(num + kanjiaActivityGoods.getLowestPrice(), 2);
|
||||
//从最大金额和最小金额之间获取随机砍价金额
|
||||
if (price < surplusPrice) {
|
||||
break;
|
||||
@ -176,8 +176,8 @@ public class KanJiaActivityServiceImpl extends ServiceImpl<KanJiaActivityMapper,
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<KanJiaActivity> getForPage(KanJiaActivityQuery kanJiaActivityQuery, PageVO page) {
|
||||
QueryWrapper<KanJiaActivity> queryWrapper = kanJiaActivityQuery.wrapper();
|
||||
public IPage<KanjiaActivity> getForPage(KanjiaActivityQuery kanjiaActivityQuery, PageVO page) {
|
||||
QueryWrapper<KanjiaActivity> queryWrapper = kanjiaActivityQuery.wrapper();
|
||||
return this.page(PageUtil.initPage(page), queryWrapper);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.trigger.message.PromotionMessage;
|
||||
import cn.lili.modules.order.cart.entity.vo.FullDiscountVO;
|
||||
import cn.lili.modules.promotion.entity.dos.*;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.enums.*;
|
||||
import cn.lili.modules.promotion.entity.vos.CouponVO;
|
||||
import cn.lili.modules.promotion.entity.vos.PintuanVO;
|
||||
@ -98,7 +98,7 @@ public class PromotionServiceImpl implements PromotionService {
|
||||
@Autowired
|
||||
private MongoTemplate mongoTemplate;
|
||||
@Autowired
|
||||
private KanJiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
private KanjiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
|
||||
|
||||
@Override
|
||||
@ -465,7 +465,7 @@ public class PromotionServiceImpl implements PromotionService {
|
||||
* @return 修改结果
|
||||
*/
|
||||
private boolean updateKanJiaGoods(PromotionMessage promotionMessage, PromotionTypeEnum promotionTypeEnum) {
|
||||
KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO = this.mongoTemplate.findById(promotionMessage.getPromotionId(), KanJiaActivityGoodsDTO.class);
|
||||
KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO = this.mongoTemplate.findById(promotionMessage.getPromotionId(), KanjiaActivityGoodsDTO.class);
|
||||
if (kanJiaActivityGoodsDTO == null) {
|
||||
this.throwPromotionException(promotionTypeEnum, promotionMessage.getPromotionId(), promotionMessage.getPromotionStatus());
|
||||
return false;
|
||||
|
@ -6,10 +6,10 @@ import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.exception.ServiceException;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanJiaActivityGoodsOperationDTO;
|
||||
import cn.lili.modules.promotion.entity.vos.KanJiaActivityGoodsParams;
|
||||
import cn.lili.modules.promotion.service.KanJiaActivityGoodsService;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO;
|
||||
import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsOperationDTO;
|
||||
import cn.lili.modules.promotion.entity.vos.KanjiaActivityGoodsParams;
|
||||
import cn.lili.modules.promotion.service.KanjiaActivityGoodsService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -31,11 +31,11 @@ import java.util.Arrays;
|
||||
public class KanJiaActivityGoodsManagerController {
|
||||
|
||||
@Autowired
|
||||
private KanJiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
private KanjiaActivityGoodsService kanJiaActivityGoodsService;
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "添加砍价活动")
|
||||
public ResultMessage<Object> add(@RequestBody KanJiaActivityGoodsOperationDTO kanJiaActivityGoodsOperationDTO) {
|
||||
public ResultMessage<Object> add(@RequestBody KanjiaActivityGoodsOperationDTO kanJiaActivityGoodsOperationDTO) {
|
||||
kanJiaActivityGoodsService.add(kanJiaActivityGoodsOperationDTO);
|
||||
return ResultUtil.success();
|
||||
}
|
||||
@ -43,7 +43,7 @@ public class KanJiaActivityGoodsManagerController {
|
||||
|
||||
@ApiOperation(value = "获取砍价活动分页")
|
||||
@GetMapping
|
||||
public ResultMessage<IPage<KanJiaActivityGoodsDTO>> getKanJiaActivityPage(KanJiaActivityGoodsParams KanJiaActivityParams, PageVO page) {
|
||||
public ResultMessage<IPage<KanjiaActivityGoodsDTO>> getKanJiaActivityPage(KanjiaActivityGoodsParams KanJiaActivityParams, PageVO page) {
|
||||
return ResultUtil.data(kanJiaActivityGoodsService.getForPage(KanJiaActivityParams, page));
|
||||
}
|
||||
|
||||
@ -51,14 +51,14 @@ public class KanJiaActivityGoodsManagerController {
|
||||
@GetMapping("/{id}")
|
||||
@ApiOperation(value = "获取积分商品详情")
|
||||
public ResultMessage<Object> getPointsGoodsDetail(@PathVariable("id") String goodsId) {
|
||||
KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO = kanJiaActivityGoodsService.getKanJiaGoodsDetail(goodsId);
|
||||
KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO = kanJiaActivityGoodsService.getKanJiaGoodsDetail(goodsId);
|
||||
return ResultUtil.data(kanJiaActivityGoodsDTO);
|
||||
}
|
||||
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改砍价商品")
|
||||
public ResultMessage<Object> updatePointsGoods(@RequestBody KanJiaActivityGoodsDTO kanJiaActivityGoodsDTO) {
|
||||
public ResultMessage<Object> updatePointsGoods(@RequestBody KanjiaActivityGoodsDTO kanJiaActivityGoodsDTO) {
|
||||
kanJiaActivityGoodsService.updateKanJiaActivityGoods(kanJiaActivityGoodsDTO);
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user