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

Commit 038cce49 authored by 张国柄's avatar 张国柄

+user_coupon降级DB;

parent a9a0e006
...@@ -17,7 +17,7 @@ public class AdamMemberRightsBuildParam implements Serializable { ...@@ -17,7 +17,7 @@ public class AdamMemberRightsBuildParam implements Serializable {
private String memberId; private String memberId;
@ApiModelProperty(required = false, value = "权益ID[64]") @ApiModelProperty(required = false, value = "权益ID[64]")
private String mrightsId; private String mrightsId;
@ApiModelProperty(required = true, value = "权益状态[1-NORMAL|2-INVALID]") @ApiModelProperty(required = true, value = "权益状态[1-有效|2-无效]")
@NotNull(message = "会员权益状态不能为空") @NotNull(message = "会员权益状态不能为空")
private Integer state; private Integer state;
......
...@@ -8,7 +8,7 @@ import javax.validation.constraints.*; ...@@ -8,7 +8,7 @@ import javax.validation.constraints.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
@ApiModel(value = "CandyMemberCouponBuildParam", description = "新建券入参") @ApiModel(value = "CandyMemberCouponBuildParam", description = "新建|编辑券入参")
@Data @Data
public class CandyMemberCouponBuildParam { public class CandyMemberCouponBuildParam {
@ApiModelProperty(required = true, value = "会员类型ID[64]", example = "1") @ApiModelProperty(required = true, value = "会员类型ID[64]", example = "1")
...@@ -20,7 +20,9 @@ public class CandyMemberCouponBuildParam { ...@@ -20,7 +20,9 @@ public class CandyMemberCouponBuildParam {
@ApiModelProperty(required = false, value = "券ID", example = "券ID") @ApiModelProperty(required = false, value = "券ID", example = "券ID")
private String couponId; private String couponId;
//private Integer state; @ApiModelProperty(required = true, value = "权益状态[1-有效|2-无效]")
@NotNull(message = "券状态不能为空")
private Integer state;
@NotBlank(message = "券标题不能为空") @NotBlank(message = "券标题不能为空")
@ApiModelProperty(required = true, value = "券标题", example = "券标题") @ApiModelProperty(required = true, value = "券标题", example = "券标题")
private String title; private String title;
......
...@@ -133,43 +133,64 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa ...@@ -133,43 +133,64 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
.eq(CandyCoupon::getExclusive, 1); .eq(CandyCoupon::getExclusive, 1);
if (candyCouponAdminService.count(candyCouponLambdaQueryWrapper) > 0) { if (candyCouponAdminService.count(candyCouponLambdaQueryWrapper) > 0) {
CandyCoupon updateCoupon = new CandyCoupon(); CandyCoupon updateCoupon = new CandyCoupon();
updateCoupon.setCouponId(couponId);
updateCoupon.setTitle(parameter.getTitle());
updateCoupon.setExclusive(1);
updateCoupon.setBusiType(parameter.getBusiType());
updateCoupon.setCouType(parameter.getCouType());
updateCoupon.setValFace(parameter.getValFace());
updateCoupon.setValOver(parameter.getValOver());
updateCoupon.setValMinus(parameter.getValMinus());
updateCoupon.setOverlay(parameter.getOverlay());
updateCoupon.setOperator(operator);
updateCoupon.setUpdatedAt(nowTime);
List<CandyCouponRuleBuildParam> couponRuleList = parameter.getCouponRuleList();
List<CandyCouponRule> initCouponRuleList = new ArrayList<>(); List<CandyCouponRule> initCouponRuleList = new ArrayList<>();
if (!CollectionUtils.isEmpty(couponRuleList)) { CandyMgtCoupon updateMgtCoupon = new CandyMgtCoupon();
couponRuleList.forEach(r -> {
CandyCouponRule initCouponRule = new CandyCouponRule();
initCouponRule.setCruleId(IDGenerator.nextTimeId2());
initCouponRule.setCouponId(couponId);
initCouponRule.setUseScope(r.getUseScope());
initCouponRule.setBusiName(r.getBusiName());
initCouponRule.setBusiId(r.getBusiId());
initCouponRule.setState(1);
initCouponRuleList.add(initCouponRule);
});
}
switch (parameter.getState()) {
case 1:// 编辑
// CandyCoupon updateCoupon = new CandyCoupon();
updateCoupon.setCouponId(couponId);
updateCoupon.setTitle(parameter.getTitle());
updateCoupon.setExclusive(1);
updateCoupon.setBusiType(parameter.getBusiType());
updateCoupon.setCouType(parameter.getCouType());
updateCoupon.setValFace(parameter.getValFace());
updateCoupon.setValOver(parameter.getValOver());
updateCoupon.setValMinus(parameter.getValMinus());
updateCoupon.setOverlay(parameter.getOverlay());
updateCoupon.setOperator(operator);
updateCoupon.setUpdatedAt(nowTime);
List<CandyCouponRuleBuildParam> couponRuleList = parameter.getCouponRuleList();
// List<CandyCouponRule> initCouponRuleList = new ArrayList<>();
if (!CollectionUtils.isEmpty(couponRuleList)) {
couponRuleList.forEach(r -> {
CandyCouponRule initCouponRule = new CandyCouponRule();
initCouponRule.setCruleId(IDGenerator.nextTimeId2());
initCouponRule.setCouponId(couponId);
initCouponRule.setUseScope(r.getUseScope());
initCouponRule.setBusiName(r.getBusiName());
initCouponRule.setBusiId(r.getBusiId());
initCouponRule.setState(1);
initCouponRuleList.add(initCouponRule);
});
}
// CandyMgtCoupon updateMgtCoupon = new CandyMgtCoupon();
updateMgtCoupon.setMcouponId(parameter.getMrightsId());
updateMgtCoupon.setEventAmt(parameter.getEventAmt());
updateMgtCoupon.setOperator(operator);
updateMgtCoupon.setUpdatedAt(nowTime);
break;
case 2:// 删除
updateCoupon.setCouponId(couponId);
updateCoupon.setOperator(operator);
updateCoupon.setUpdatedAt(nowTime);
updateCoupon.setState(2);
updateCoupon.setExclusive(1);
updateMgtCoupon.setMcouponId(parameter.getMrightsId());
updateMgtCoupon.setOperator(operator);
updateMgtCoupon.setUpdatedAt(nowTime);
updateMgtCoupon.setState(2);
break;
}
CandyMgtCoupon updateMgtCoupon = new CandyMgtCoupon();
updateMgtCoupon.setMcouponId(parameter.getMrightsId());
updateMgtCoupon.setEventAmt(parameter.getEventAmt());
updateMgtCoupon.setOperator(operator);
updateMgtCoupon.setUpdatedAt(nowTime);
return candyMgtCouponAdminService.updateMgtCouponInfo(updateCoupon, updateMgtCoupon, initCouponRuleList); return candyMgtCouponAdminService.updateMgtCouponInfo(updateCoupon, updateMgtCoupon, initCouponRuleList);
} }
......
...@@ -27,4 +27,15 @@ public interface CandyCouponRuleMapper extends BaseMapper<CandyCouponRule> { ...@@ -27,4 +27,15 @@ public interface CandyCouponRuleMapper extends BaseMapper<CandyCouponRule> {
* @return List<CandyCouponRuleDto> * @return List<CandyCouponRuleDto>
*/ */
List<CandyCouponRuleDto> selectForCouponRuleDto(@Param("couponId") String couponId); List<CandyCouponRuleDto> selectForCouponRuleDto(@Param("couponId") String couponId);
/**
* <p>
* 查取指定券适用规则列表
* </p>
* 限定规则状态[state = 1]
*
* @param couponIdList 券ID列表
* @return List<CandyCouponRuleDto>
*/
List<CandyCouponRuleDto> selectForCouponRuleDto(@Param("couponIdList") List<String> couponIdList);
} }
...@@ -2,4 +2,59 @@ ...@@ -2,4 +2,59 @@
<!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.liquidnet.service.candy.mapper.CandyCommonCouponMapper"> <mapper namespace="com.liquidnet.service.candy.mapper.CandyCommonCouponMapper">
<resultMap id="Rst_UserCouponBasicDto" type="com.liquidnet.service.candy.dto.CandyUserCouponBasicDto">
<result column="coupon_id" jdbcType="VARCHAR" property="couponId"/>
<!-- <result column="state" jdbcType="TINYINT" property="state"/>-->
<result column="title" jdbcType="VARCHAR" property="title"/>
<result column="label" jdbcType="VARCHAR" property="label"/>
<result column="notice" jdbcType="VARCHAR" property="notice"/>
<result column="exclusive" jdbcType="SMALLINT" property="exclusive"/>
<result column="busi_type" jdbcType="SMALLINT" property="busiType"/>
<result column="cou_type" jdbcType="SMALLINT" property="couType"/>
<result column="bind_type" jdbcType="SMALLINT" property="bindType"/>
<result column="discount" jdbcType="DECIMAL" property="discount"/>
<result column="val_face" jdbcType="DECIMAL" property="valFace"/>
<result column="val_over" jdbcType="DECIMAL" property="valOver"/>
<result column="val_minus" jdbcType="DECIMAL" property="valMinus"/>
<result column="overlay" jdbcType="TINYINT" property="overlay"/>
<result column="overlay_level" jdbcType="TINYINT" property="overlayLevel"/>
<result column="validity" jdbcType="INTEGER" property="validity"/>
<result column="redeem_validity" jdbcType="INTEGER" property="redeemValidity"/>
<result column="redeem_start" jdbcType="TIMESTAMP" property="redeemStart"/>
<result column="redeem_stop" jdbcType="TIMESTAMP" property="redeemStop"/>
<result column="effect_at" jdbcType="TIMESTAMP" property="effectAt"/>
<result column="expire_at" jdbcType="TIMESTAMP" property="expireAt"/>
<!-- <result column="operator" jdbcType="VARCHAR" property="operator" />-->
<!-- <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />-->
<!-- <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />-->
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
<result column="ucoupon_id" jdbcType="VARCHAR" property="ucouponId"/>
<!-- <result column="mcoupon_id" jdbcType="VARCHAR" property="mcouponId" />-->
<result column="uid" jdbcType="VARCHAR" property="uid"/>
<!-- <result column="coupon_id" jdbcType="VARCHAR" property="couponId" />-->
<result column="state" jdbcType="TINYINT" property="state"/>
<result column="ccode" jdbcType="VARCHAR" property="ccode"/>
<result column="bind_at" jdbcType="TIMESTAMP" property="bindAt"/>
<result column="used_at" jdbcType="TIMESTAMP" property="usedAt"/>
<result column="used_for" jdbcType="VARCHAR" property="usedFor"/>
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
</resultMap>
<sql id="Rst_CommonCouponBasicDto_Column_List">
cc.coupon_id, cc.title, cc.`label`, cc.notice, cc.`exclusive`, cc.busi_type, cc.cou_type, cc.bind_type,
cc.discount, cc.val_face, cc.val_over, cc.val_minus, cc.`overlay`, cc.overlay_level,
cc.validity,cc.redeem_validity, cc.redeem_start, cc.redeem_stop,
cuc.ucoupon_id, cuc.mcoupon_id, cuc.`uid`, cuc.`state`, cuc.ccode, cuc.bind_at, cuc.dued_at, cuc.used_at, cuc.used_for
</sql>
<select id="selectMultiForCommonCouponBasicDto" resultMap="Rst_CommonCouponBasicDto">
SELECT
<include refid="Rst_CommonCouponBasicDto_Column_List"/>
FROM candy_user_coupon cuc
LEFT JOIN candy_coupon cc ON cuc.coupon_id = cc.coupon_id
WHERE cuc.uid = #{uid,jdbcType=VARCHAR}
AND state <![CDATA[<>]]> 2
</select>
</mapper> </mapper>
...@@ -16,6 +16,14 @@ ...@@ -16,6 +16,14 @@
SELECT crule_id, coupon_id, use_scope, busi_name, busi_id SELECT crule_id, coupon_id, use_scope, busi_name, busi_id
FROM candy_coupon_rule FROM candy_coupon_rule
WHERE state = 1 WHERE state = 1
AND coupon_id = #{couponId,jdbcType=VARCHAR} <if test="couponId != null and couponId != ''">
AND coupon_id = #{couponId,jdbcType=VARCHAR}
</if>
<if test="couponIdList != null and couponIdList.size() > 0">
<foreach collection="couponIdList" item="couponId" open="AND coupon_id IN (" separator="," close=")">
$(couponId)
</foreach>
</if>
ORDER BY coupon_id
</select> </select>
</mapper> </mapper>
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
<result column="redeem_validity" jdbcType="INTEGER" property="redeemValidity"/> <result column="redeem_validity" jdbcType="INTEGER" property="redeemValidity"/>
<result column="redeem_start" jdbcType="TIMESTAMP" property="redeemStart"/> <result column="redeem_start" jdbcType="TIMESTAMP" property="redeemStart"/>
<result column="redeem_stop" jdbcType="TIMESTAMP" property="redeemStop"/> <result column="redeem_stop" jdbcType="TIMESTAMP" property="redeemStop"/>
<result column="effect_at" jdbcType="TIMESTAMP" property="effectAt"/> <!-- <result column="effect_at" jdbcType="TIMESTAMP" property="effectAt"/>-->
<result column="expire_at" jdbcType="TIMESTAMP" property="expireAt"/> <!-- <result column="expire_at" jdbcType="TIMESTAMP" property="expireAt"/>-->
<!-- <result column="operator" jdbcType="VARCHAR" property="operator" />--> <!-- <result column="operator" jdbcType="VARCHAR" property="operator" />-->
<!-- <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />--> <!-- <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />-->
<!-- <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />--> <!-- <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />-->
...@@ -36,17 +36,18 @@ ...@@ -36,17 +36,18 @@
<result column="state" jdbcType="TINYINT" property="state"/> <result column="state" jdbcType="TINYINT" property="state"/>
<result column="ccode" jdbcType="VARCHAR" property="ccode"/> <result column="ccode" jdbcType="VARCHAR" property="ccode"/>
<result column="bind_at" jdbcType="TIMESTAMP" property="bindAt"/> <result column="bind_at" jdbcType="TIMESTAMP" property="bindAt"/>
<result column="dued_at" jdbcType="TIMESTAMP" property="duedAt"/>
<result column="used_at" jdbcType="TIMESTAMP" property="usedAt"/> <result column="used_at" jdbcType="TIMESTAMP" property="usedAt"/>
<result column="used_for" jdbcType="VARCHAR" property="usedFor"/> <result column="used_for" jdbcType="VARCHAR" property="usedFor"/>
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />--> <!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
</resultMap> </resultMap>
<sql id="Rst_UserCouponBasicDto_Column_List"> <sql id="Rst_UserCouponBasicDto_Column_List">
cc.coupon_id, cc.title, cc.`label`, cc.notice, cc.`exclusive`, cc.busi_type, cc.cou_type,cc.bind_type, cc.coupon_id, cc.title, cc.`label`, cc.notice, cc.`exclusive`, cc.busi_type, cc.cou_type, cc.bind_type,
cc.discount, cc.val_face, cc.val_over, cc.val_minus, cc.`overlay`, cc.overlay_level, cc.discount, cc.val_face, cc.val_over, cc.val_minus, cc.`overlay`, cc.overlay_level,
cc.validity,cc.redeem_validity, cc.redeem_start, cc.redeem_stop, cc.effect_at, cc.expire_at, cc.validity, cc.redeem_validity, cc.redeem_start, cc.redeem_stop,
cuc.ucoupon_id, cuc.`uid`, cuc.`state`, cuc.bind_at, cuc.ccode, cuc.redeem_at, cuc.used_at, cuc.used_for cuc.ucoupon_id, cuc.mcoupon_id, cuc.`uid`, cuc.`state`, cuc.ccode, cuc.bind_at, cuc.dued_at, cuc.used_at, cuc.used_for
</sql> </sql>
<select id="selectMultiForUserCouponBasicDto" resultMap="Rst_UserCouponBasicDto"> <select id="selectMultiForUserCouponBasicDto" resultMap="Rst_UserCouponBasicDto">
......
...@@ -38,8 +38,8 @@ public class TestAdam { ...@@ -38,8 +38,8 @@ public class TestAdam {
"adam:info:morder:2292617", "adam:info:morder:2292617",
"adam:info:certification_junk:1510827199912020821", "adam:info:certification_junk:1510827199912020821",
"candy:basic:coupon_code:JC3TMi1EwoVkuQmP", "candy:basic:coupon_code:0Jxko0wLWQdoTTF4",
"candy:basic:coupon_code:7Nlb7nhpVEPDCXzV", "candy:basic:coupon_code:MJIoHC2qVZ0lp9UI",
"candy:basic:user_coupon:270788673588551684937456", "candy:basic:user_coupon:270788673588551684937456",
"candy:basic:coupon_info:20210906143324612", "candy:basic:coupon_info:20210906143324612",
"candy:basic:common_coupon", "candy:basic:common_coupon",
......
package com.liquidnet.service.platform.controller.candy;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.dto.CandyCommonCouponBasicDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.platform.service.impl.candy.PlatformCandyUserCouponService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "券系统-数据降级查询")
@Slf4j
@RestController
@RequestMapping("cdemote")
public class PlatformCandyDemoteController {
@Autowired
private PlatformCandyUserCouponService platformCandyUserCouponService;
@ApiOperationSupport(order = 1)
@ApiOperation(value = "用户私有券")
@PostMapping("ucoupon")
public ResponseDto<List<CandyUserCouponBasicDto>> queryForUserCouponBasicDto() {
return ResponseDto.success(platformCandyUserCouponService.ucouponBasicDtoByUidProcessing(CurrentUtil.getCurrentUid()));
}
@ApiOperationSupport(order = 2)
@ApiOperation(value = "用户公有券")
@PostMapping("ccoupon")
public ResponseDto<List<CandyCommonCouponBasicDto>> queryForCommonCouponBasicDto() {
return ResponseDto.success(platformCandyUserCouponService.ccouponBasicDtoByUidProcessing(CurrentUtil.getCurrentUid()));
}
}
...@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; ...@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.base.OrderCloseMapping; import com.liquidnet.service.base.OrderCloseMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.candy.dto.CandyCommonCouponBasicDto;
import com.liquidnet.service.candy.dto.CandyCouponRuleDto; import com.liquidnet.service.candy.dto.CandyCouponRuleDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto; import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.candy.entity.CandyUserCoupon; import com.liquidnet.service.candy.entity.CandyUserCoupon;
import com.liquidnet.service.candy.mapper.CandyCommonCouponMapper;
import com.liquidnet.service.candy.mapper.CandyCouponRuleMapper; import com.liquidnet.service.candy.mapper.CandyCouponRuleMapper;
import com.liquidnet.service.candy.mapper.CandyUserCouponMapper; import com.liquidnet.service.candy.mapper.CandyUserCouponMapper;
import com.liquidnet.service.platform.utils.QueueUtils; import com.liquidnet.service.platform.utils.QueueUtils;
...@@ -27,6 +29,8 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM ...@@ -27,6 +29,8 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM
@Autowired @Autowired
private CandyCouponRuleMapper candyCouponRuleMapper; private CandyCouponRuleMapper candyCouponRuleMapper;
@Autowired @Autowired
private CandyCommonCouponMapper candyCommonCouponMapper;
@Autowired
private PlatformCandyUserCouponService platformCandyUserCouponService; private PlatformCandyUserCouponService platformCandyUserCouponService;
@Autowired @Autowired
private QueueUtils queueUtils; private QueueUtils queueUtils;
...@@ -59,7 +63,7 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM ...@@ -59,7 +63,7 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM
return true; return true;
} }
public List<CandyUserCouponBasicDto> ucouponByUidProcessing(String uid) { public List<CandyUserCouponBasicDto> ucouponBasicDtoByUidProcessing(String uid) {
List<CandyUserCouponBasicDto> basicDtoList = candyUserCouponMapper.selectMultiForUserCouponBasicDto(uid); List<CandyUserCouponBasicDto> basicDtoList = candyUserCouponMapper.selectMultiForUserCouponBasicDto(uid);
if (!CollectionUtils.isEmpty(basicDtoList)) { if (!CollectionUtils.isEmpty(basicDtoList)) {
List<String> couponIdList = basicDtoList.parallelStream().map(CandyUserCouponBasicDto::getCouponId).collect(Collectors.toList()); List<String> couponIdList = basicDtoList.parallelStream().map(CandyUserCouponBasicDto::getCouponId).collect(Collectors.toList());
...@@ -74,7 +78,11 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM ...@@ -74,7 +78,11 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM
dto.setUseRules(couponRuleDtoListMap.get(dto.getCouponId())); dto.setUseRules(couponRuleDtoListMap.get(dto.getCouponId()));
}); });
} }
return basicDtoList;
}
public List<CandyCommonCouponBasicDto> ccouponBasicDtoByUidProcessing(String uid) {
// candyCommonCouponMapper.selectMultiForCommonCouponBasicDto()
return null; return null;
} }
} }
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