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

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

差sql 和 入库

parent f39d5cfd
...@@ -125,9 +125,10 @@ public class CandyCouponController { ...@@ -125,9 +125,10 @@ public class CandyCouponController {
@ApiOperation("券使用") @ApiOperation("券使用")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "uCouponId", value = "券唯一表示id", required = true), @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) { public ResponseDto<CandyUseResultVo> useCoupon(@RequestParam("uCouponId") String uCouponId,@RequestParam("content") String content) {
CandyUseResultVo result = candyCouponService.useCoupon(uCouponId); CandyUseResultVo result = candyCouponService.useCoupon(uCouponId,content);
if (result == null) { if (result == null) {
return ResponseDto.failure(); return ResponseDto.failure();
} }
......
...@@ -36,7 +36,7 @@ public interface ICandyCouponService extends IService<CandyCoupon> { ...@@ -36,7 +36,7 @@ public interface ICandyCouponService extends IService<CandyCoupon> {
Integer stateCoupon(String uCouponId); Integer stateCoupon(String uCouponId);
CandyUseResultVo useCoupon( String uCouponId); CandyUseResultVo useCoupon(String uCouponId,String content);
Boolean useBackCoupon(String uCouponId); Boolean useBackCoupon(String uCouponId);
......
...@@ -4,6 +4,8 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -4,6 +4,8 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto; 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.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponInfoDto; import com.liquidnet.service.candy.dto.CandyCouponInfoDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto; import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
...@@ -13,6 +15,7 @@ import com.liquidnet.service.candy.service.ICandyCouponService; ...@@ -13,6 +15,7 @@ import com.liquidnet.service.candy.service.ICandyCouponService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.candy.util.CouponBaseUtil; import com.liquidnet.service.candy.util.CouponBaseUtil;
import com.liquidnet.service.candy.util.ObjectUtil; 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.util.RedisDataUtils;
import com.liquidnet.service.candy.vo.CandyCouponVo; import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyMyCouponListVo; import com.liquidnet.service.candy.vo.CandyMyCouponListVo;
...@@ -39,6 +42,8 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy ...@@ -39,6 +42,8 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
@Autowired @Autowired
private RedisDataUtils redisDataUtils; private RedisDataUtils redisDataUtils;
@Autowired
private QueueUtils queueUtils;
@Override @Override
public CandyMyCouponListVo myCoupon() { public CandyMyCouponListVo myCoupon() {
...@@ -179,15 +184,15 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy ...@@ -179,15 +184,15 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
} }
@Override @Override
public CandyUseResultVo useCoupon(String uCouponId) { public CandyUseResultVo useCoupon(String uCouponId, String content) {
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
CandyUseResultVo vo = CandyUseResultVo.getNew(); 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) { if (dtoList == null) {
return null; return null;
} else { } else {
CandyUserCouponBasicDto dto = CouponBaseUtil.getSingleDtoByUCouponId(redisDataUtils.getCouponByUid(uid), uCouponId); CandyUserCouponBasicDto dto = CouponBaseUtil.getSingleDtoByUCouponId(redisDataUtils.getCouponByUid(uid), uCouponId);
switch (dto.getCouType()){//券类型[1-代金券|2-满减券|3-兑换券|4-折扣券] switch (dto.getCouType()) {//券类型[1-代金券|2-满减券|3-兑换券|4-折扣券]
case 1: case 1:
vo.setValue(dto.getValFace()); vo.setValue(dto.getValFace());
break; break;
...@@ -206,7 +211,12 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy ...@@ -206,7 +211,12 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
} }
vo.setCouType(dto.getCouType()); vo.setCouType(dto.getCouType());
redisDataUtils.setCouponByUid(uid, dtoList); redisDataUtils.setCouponByUid(uid, dtoList);
//TODO 入库 //入库
queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.get("candy_coupon.use", 1
)
);
} }
return vo; return vo;
} }
...@@ -219,7 +229,12 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy ...@@ -219,7 +229,12 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
return false; return false;
} else { } else {
redisDataUtils.setCouponByUid(uid, dtoList); redisDataUtils.setCouponByUid(uid, dtoList);
//TODO 入库 //入库
queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.get("candy_coupon.back", 1
)
);
} }
return true; return true;
} }
...@@ -232,13 +247,18 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy ...@@ -232,13 +247,18 @@ public class CandyCouponServiceImpl extends ServiceImpl<CandyCouponMapper, Candy
CandyCouponInfoDto infoDto = redisDataUtils.getCouponInfo(dto.getCouponId()); CandyCouponInfoDto infoDto = redisDataUtils.getCouponInfo(dto.getCouponId());
String uCouponId = IDGenerator.get32UUID(); String uCouponId = IDGenerator.get32UUID();
//构建baseDto //构建baseDto
CandyUserCouponBasicDto baseDto = CandyUserCouponBasicDto.getNew().copyToRedisBaseCoupon(uCouponId,uid,ccode,infoDto); CandyUserCouponBasicDto baseDto = CandyUserCouponBasicDto.getNew().copyToRedisBaseCoupon(uCouponId, uid, ccode, infoDto);
//删除code redis //删除code redis
redisDataUtils.delCouponByCode(ccode); redisDataUtils.delCouponByCode(ccode);
//添加baseDto -> baseDtoList //添加baseDto -> baseDtoList
redisDataUtils.addCouponByUid(uid,baseDto); redisDataUtils.addCouponByUid(uid, baseDto);
//TODO 入库 //入库
}else{ queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UCENTER.getKey(),
SqlMapping.get("candy_coupon.receive", 1
)
);
} else {
return false; return false;
} }
return true; return true;
......
...@@ -250,12 +250,13 @@ public class CouponBaseUtil { ...@@ -250,12 +250,13 @@ public class CouponBaseUtil {
* @param uCouponId 券唯一id * @param uCouponId 券唯一id
* @return List<CandyUserCouponBasicDto> * @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; boolean isHas = false;
for (CandyUserCouponBasicDto dtoItem : dtoList) { for (CandyUserCouponBasicDto dtoItem : dtoList) {
if (dtoItem.getUcouponId().equals(uCouponId)) { if (dtoItem.getUcouponId().equals(uCouponId)) {
if (dtoItem.getState().equals(1)) { if (dtoItem.getState().equals(1)) {
dtoItem.setState(5); dtoItem.setState(5);
dtoItem.setUsedFor(content);
isHas = true;//券存在 isHas = true;//券存在
} else { } else {
return null;//券不可用 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