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

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

+user_coupon降级DB;

parent a9a0e006
......@@ -17,7 +17,7 @@ public class AdamMemberRightsBuildParam implements Serializable {
private String memberId;
@ApiModelProperty(required = false, value = "权益ID[64]")
private String mrightsId;
@ApiModelProperty(required = true, value = "权益状态[1-NORMAL|2-INVALID]")
@ApiModelProperty(required = true, value = "权益状态[1-有效|2-无效]")
@NotNull(message = "会员权益状态不能为空")
private Integer state;
......
......@@ -8,7 +8,7 @@ import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.List;
@ApiModel(value = "CandyMemberCouponBuildParam", description = "新建券入参")
@ApiModel(value = "CandyMemberCouponBuildParam", description = "新建|编辑券入参")
@Data
public class CandyMemberCouponBuildParam {
@ApiModelProperty(required = true, value = "会员类型ID[64]", example = "1")
......@@ -20,7 +20,9 @@ public class CandyMemberCouponBuildParam {
@ApiModelProperty(required = false, value = "券ID", example = "券ID")
private String couponId;
//private Integer state;
@ApiModelProperty(required = true, value = "权益状态[1-有效|2-无效]")
@NotNull(message = "券状态不能为空")
private Integer state;
@NotBlank(message = "券标题不能为空")
@ApiModelProperty(required = true, value = "券标题", example = "券标题")
private String title;
......
......@@ -133,43 +133,64 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
.eq(CandyCoupon::getExclusive, 1);
if (candyCouponAdminService.count(candyCouponLambdaQueryWrapper) > 0) {
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();
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);
}
......
......@@ -27,4 +27,15 @@ public interface CandyCouponRuleMapper extends BaseMapper<CandyCouponRule> {
* @return List<CandyCouponRuleDto>
*/
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 @@
<!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">
<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>
......@@ -16,6 +16,14 @@
SELECT crule_id, coupon_id, use_scope, busi_name, busi_id
FROM candy_coupon_rule
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>
</mapper>
......@@ -22,8 +22,8 @@
<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="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" />-->
......@@ -36,17 +36,18 @@
<result column="state" jdbcType="TINYINT" property="state"/>
<result column="ccode" jdbcType="VARCHAR" property="ccode"/>
<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_for" jdbcType="VARCHAR" property="usedFor"/>
<!-- <result column="comment" jdbcType="VARCHAR" property="comment" />-->
</resultMap>
<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.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>
<select id="selectMultiForUserCouponBasicDto" resultMap="Rst_UserCouponBasicDto">
......
......@@ -38,8 +38,8 @@ public class TestAdam {
"adam:info:morder:2292617",
"adam:info:certification_junk:1510827199912020821",
"candy:basic:coupon_code:JC3TMi1EwoVkuQmP",
"candy:basic:coupon_code:7Nlb7nhpVEPDCXzV",
"candy:basic:coupon_code:0Jxko0wLWQdoTTF4",
"candy:basic:coupon_code:MJIoHC2qVZ0lp9UI",
"candy:basic:user_coupon:270788673588551684937456",
"candy:basic:coupon_info:20210906143324612",
"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;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.base.OrderCloseMapping;
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.CandyUserCouponBasicDto;
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.CandyUserCouponMapper;
import com.liquidnet.service.platform.utils.QueueUtils;
......@@ -27,6 +29,8 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM
@Autowired
private CandyCouponRuleMapper candyCouponRuleMapper;
@Autowired
private CandyCommonCouponMapper candyCommonCouponMapper;
@Autowired
private PlatformCandyUserCouponService platformCandyUserCouponService;
@Autowired
private QueueUtils queueUtils;
......@@ -59,7 +63,7 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM
return true;
}
public List<CandyUserCouponBasicDto> ucouponByUidProcessing(String uid) {
public List<CandyUserCouponBasicDto> ucouponBasicDtoByUidProcessing(String uid) {
List<CandyUserCouponBasicDto> basicDtoList = candyUserCouponMapper.selectMultiForUserCouponBasicDto(uid);
if (!CollectionUtils.isEmpty(basicDtoList)) {
List<String> couponIdList = basicDtoList.parallelStream().map(CandyUserCouponBasicDto::getCouponId).collect(Collectors.toList());
......@@ -74,7 +78,11 @@ public class PlatformCandyUserCouponService extends ServiceImpl<CandyUserCouponM
dto.setUseRules(couponRuleDtoListMap.get(dto.getCouponId()));
});
}
return basicDtoList;
}
public List<CandyCommonCouponBasicDto> ccouponBasicDtoByUidProcessing(String uid) {
// candyCommonCouponMapper.selectMultiForCommonCouponBasicDto()
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