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

Commit 45173763 authored by anjiabin's avatar anjiabin

Merge branch 'dev_member_voucher_social' of...

Merge branch 'dev_member_voucher_social' of http://gitlab.zhengzai.tv/dongjingwei/liquidnet-bus-v1 into dev_member_voucher_social
parents e8ee46e4 d8b5037e
......@@ -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;
......
......@@ -322,9 +322,8 @@
<ul th:each="mrc:${couponMemberDtoListMap.get(mr.mrightsId)}">
<div class="member-coupes-inner">
<div class="member-coupes-detail">
<input type="hidden" th:value="${mrc}"/>
<input type="hidden" th:value="${mrc.mcouponId}"/>
<span class="member-coupes-mcouponId" th:text="${mrc.mcouponId}" hidden></span>
<span class="member-coupes-busiType" th:if="${mrc.busiType == 0}">全场</span>
<span class="member-coupes-busiType" th:if="${mrc.busiType == 1}">演出</span>
<span class="member-coupes-busiType" th:if="${mrc.busiType == 2}">商品</span>
......@@ -564,7 +563,7 @@
var itemIndex = $('.parentsIndex').val();
var MembercoupenData = {
busiType: Number(busiType),
couType: Number(couType),
couType: Number(busiType) == 3 ? 101 : Number(couType),
couponId: '',
couponRuleList: couponRuleList,
eventAmt: $('#eventAmt').val(),
......@@ -575,8 +574,10 @@
title: coupeTitle,
valFace: valFace ? valFace : 1,
valOver: valOver ? valOver : 1,
valMinus: valMinus ? valMinus : 1
valMinus: valMinus ? valMinus : 1,
state: 1
};
console.log(MembercoupenData);
$.operate.saveModalBody(prefix + "/edit_coupon", JSON.stringify(MembercoupenData));
$('.cover_pop').hide();
}
......@@ -639,7 +640,7 @@
function addColumn (obj) {
let appendDom = $(obj).parents('.interests_column');
appendDom.append(appendDom.find('.interests_item').prop('outerHTML'));
$.operate.save(prefix + "/create", data);
// $.operate.save(prefix + "/create", data);
}
/*基础信息-修改*/
......
......@@ -133,43 +133,62 @@ 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();
updateMgtCoupon.setMcouponId(parameter.getMrightsId());
updateMgtCoupon.setEventAmt(parameter.getEventAmt());
updateMgtCoupon.setOperator(operator);
updateMgtCoupon.setUpdatedAt(nowTime);
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;
}
return candyMgtCouponAdminService.updateMgtCouponInfo(updateCoupon, updateMgtCoupon, initCouponRuleList);
}
......@@ -295,7 +314,7 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
.set(CandyCouponRule::getState, 2);
candyCouponRuleAdminService.update(couponRuleLambdaUpdateWrapper);
if (updateCt < 2 || !candyCouponRuleAdminService.saveBatch(initCouponRuleList)) {
if (updateCt < 2 || (!CollectionUtils.isEmpty(initCouponRuleList) && !candyCouponRuleAdminService.saveBatch(initCouponRuleList))) {
throw new LiquidnetServiceException();
}
......@@ -355,23 +374,27 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
memberRightsCouponVoList = new ArrayList<>();
}
}
Integer eventAmt = updateMgtCoupon.getEventAmt();
for (int i = 0; i < eventAmt; i++) {
AdamMemberRightsCouponVo memberRightsCouponVo = AdamMemberRightsCouponVo.getNew();
memberRightsCouponVo.setMrightsId(updateMgtCoupon.getMcouponId());
memberRightsCouponVo.setCouponId(updateCoupon.getCouponId());
memberRightsCouponVo.setBusiType(updateCoupon.getBusiType());
memberRightsCouponVo.setCouType(updateCoupon.getCouType());
memberRightsCouponVo.setTitle(updateCoupon.getTitle());
memberRightsCouponVo.setLabel(updateCoupon.getLabel());
memberRightsCouponVo.setNotice(updateCoupon.getNotice());
memberRightsCouponVo.setValFace(updateCoupon.getValFace());
memberRightsCouponVo.setValOver(updateCoupon.getValOver());
memberRightsCouponVo.setValMinus(updateCoupon.getValMinus());
memberRightsCouponVo.setUseRules(memberRightsCouponRuleVoList);
memberRightsCouponVoList.add(memberRightsCouponVo);
if (updateCoupon.getState() == 1) {
Integer eventAmt = updateMgtCoupon.getEventAmt();
for (int i = 0; i < eventAmt; i++) {
AdamMemberRightsCouponVo memberRightsCouponVo = AdamMemberRightsCouponVo.getNew();
memberRightsCouponVo.setMrightsId(updateMgtCoupon.getMcouponId());
memberRightsCouponVo.setCouponId(updateCoupon.getCouponId());
memberRightsCouponVo.setBusiType(updateCoupon.getBusiType());
memberRightsCouponVo.setCouType(updateCoupon.getCouType());
memberRightsCouponVo.setTitle(updateCoupon.getTitle());
memberRightsCouponVo.setLabel(updateCoupon.getLabel());
memberRightsCouponVo.setNotice(updateCoupon.getNotice());
memberRightsCouponVo.setValFace(updateCoupon.getValFace());
memberRightsCouponVo.setValOver(updateCoupon.getValOver());
memberRightsCouponVo.setValMinus(updateCoupon.getValMinus());
memberRightsCouponVo.setUseRules(memberRightsCouponRuleVoList);
memberRightsCouponVoList.add(memberRightsCouponVo);
}
}
redisUtil.set(AdamRedisConst.INFO_MEMBER_RIGHTS_COUPON.concat(updateMgtCoupon.getMcouponId()), memberRightsCouponVoList);
}
}
......@@ -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"/>-->
<!-- &lt;!&ndash; <result column="state" jdbcType="TINYINT" property="state"/>&ndash;&gt;-->
<!-- <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"/>-->
<!-- &lt;!&ndash; <result column="operator" jdbcType="VARCHAR" property="operator" />&ndash;&gt;-->
<!-- &lt;!&ndash; <result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />&ndash;&gt;-->
<!-- &lt;!&ndash; <result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />&ndash;&gt;-->
<!-- &lt;!&ndash; <result column="comment" jdbcType="VARCHAR" property="comment" />&ndash;&gt;-->
<!-- <result column="ucoupon_id" jdbcType="VARCHAR" property="ucouponId"/>-->
<!-- &lt;!&ndash; <result column="mcoupon_id" jdbcType="VARCHAR" property="mcouponId" />&ndash;&gt;-->
<!-- <result column="uid" jdbcType="VARCHAR" property="uid"/>-->
<!-- &lt;!&ndash; <result column="coupon_id" jdbcType="VARCHAR" property="couponId" />&ndash;&gt;-->
<!-- <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"/>-->
<!-- &lt;!&ndash; <result column="comment" jdbcType="VARCHAR" property="comment" />&ndash;&gt;-->
<!-- </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