记得上下班打卡 | git大法好,push需谨慎

Commit 6bad8042 authored by 胡佳晨's avatar 胡佳晨

差sql 和 入库

parent f39d5cfd
......@@ -125,9 +125,10 @@ public class CandyCouponController {
@ApiOperation("券使用")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "uCouponId", value = "券唯一表示id", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "content", value = "消费内容", required = true),
})
public ResponseDto<CandyUseResultVo> useCoupon(@RequestParam("uCouponId") String uCouponId) {
CandyUseResultVo result = candyCouponService.useCoupon(uCouponId);
public ResponseDto<CandyUseResultVo> useCoupon(@RequestParam("uCouponId") String uCouponId,@RequestParam("content") String content) {
CandyUseResultVo result = candyCouponService.useCoupon(uCouponId,content);
if (result == null) {
return ResponseDto.failure();
}
......
......@@ -36,7 +36,7 @@ public interface ICandyCouponService extends IService<CandyCoupon> {
Integer stateCoupon(String uCouponId);
CandyUseResultVo useCoupon( String uCouponId);
CandyUseResultVo useCoupon(String uCouponId,String content);
Boolean useBackCoupon(String uCouponId);
......
......@@ -4,6 +4,8 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.candy.dto.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponInfoDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
......@@ -13,6 +15,7 @@ import com.liquidnet.service.candy.service.ICandyCouponService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.candy.util.CouponBaseUtil;
import com.liquidnet.service.candy.util.ObjectUtil;
import com.liquidnet.service.candy.util.QueueUtils;
import com.liquidnet.service.candy.util.RedisDataUtils;
import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyMyCouponListVo;
......@@ -39,6 +42,8 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
@Autowired
private RedisDataUtils redisDataUtils;
@Autowired
private QueueUtils queueUtils;
@Override
public CandyMyCouponListVo myCoupon() {
......@@ -179,15 +184,15 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
}
@Override
public CandyUseResultVo useCoupon(String uCouponId) {
public CandyUseResultVo useCoupon(String uCouponId, String content) {
String uid = CurrentUtil.getCurrentUid();
CandyUseResultVo vo = CandyUseResultVo.getNew();
List<CandyUserCouponBasicDto> dtoList = CouponBaseUtil.useCoupon(redisDataUtils.getCouponByUid(uid), uCouponId);
List<CandyUserCouponBasicDto> dtoList = CouponBaseUtil.useCoupon(redisDataUtils.getCouponByUid(uid), uCouponId,content);
if (dtoList == null) {
return null;
} else {
CandyUserCouponBasicDto dto = CouponBaseUtil.getSingleDtoByUCouponId(redisDataUtils.getCouponByUid(uid), uCouponId);
switch (dto.getCouType()){//券类型[1-代金券|2-满减券|3-兑换券|4-折扣券]
switch (dto.getCouType()) {//券类型[1-代金券|2-满减券|3-兑换券|4-折扣券]
case 1:
vo.setValue(dto.getValFace());
break;
......@@ -206,7 +211,12 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
}
vo.setCouType(dto.getCouType());
redisDataUtils.setCouponByUid(uid, dtoList);
//TODO 入库
//入库
queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.get("candy_coupon.use", 1
)
);
}
return vo;
}
......@@ -219,7 +229,12 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
return false;
} else {
redisDataUtils.setCouponByUid(uid, dtoList);
//TODO 入库
//入库
queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.get("candy_coupon.back", 1
)
);
}
return true;
}
......@@ -232,13 +247,18 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
CandyCouponInfoDto infoDto = redisDataUtils.getCouponInfo(dto.getCouponId());
String uCouponId = IDGenerator.get32UUID();
//构建baseDto
CandyUserCouponBasicDto baseDto = CandyUserCouponBasicDto.getNew().copyToRedisBaseCoupon(uCouponId,uid,ccode,infoDto);
CandyUserCouponBasicDto baseDto = CandyUserCouponBasicDto.getNew().copyToRedisBaseCoupon(uCouponId, uid, ccode, infoDto);
//删除code redis
redisDataUtils.delCouponByCode(ccode);
//添加baseDto -> baseDtoList
redisDataUtils.addCouponByUid(uid,baseDto);
//TODO 入库
}else{
redisDataUtils.addCouponByUid(uid, baseDto);
//入库
queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.get("candy_coupon.receive", 1
)
);
} else {
return false;
}
return true;
......
......@@ -250,12 +250,13 @@ public class CouponBaseUtil {
* @param uCouponId 券唯一id
* @return List<CandyUserCouponBasicDto>
*/
public static List<CandyUserCouponBasicDto> useCoupon(List<CandyUserCouponBasicDto> dtoList, String uCouponId) {
public static List<CandyUserCouponBasicDto> useCoupon(List<CandyUserCouponBasicDto> dtoList, String uCouponId,String content) {
boolean isHas = false;
for (CandyUserCouponBasicDto dtoItem : dtoList) {
if (dtoItem.getUcouponId().equals(uCouponId)) {
if (dtoItem.getState().equals(1)) {
dtoItem.setState(5);
dtoItem.setUsedFor(content);
isHas = true;//券存在
} else {
return null;//券不可用
......
# -- 使用券 --
candy_coupon.use=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?)
# -- 回退券 --
candy_coupon.back=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?)
# -- 领取券 --
candy_coupon.receive=INSERT INTO sweet_remind (remind_id,openId,unionId,performancesId) VALUES (?,?,?,?)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment