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

Commit ad95a2e3 authored by 张国柄's avatar 张国柄

购买会员+券发放任务;

parent 21faf334
package com.liquidnet.service.adam.dto.vo; package com.liquidnet.service.adam.dto.vo;
import com.liquidnet.service.adam.entity.AdamMemberRights;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List; import java.util.List;
......
...@@ -65,7 +65,7 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa ...@@ -65,7 +65,7 @@ public class CandyMgtCouponAdminServiceImpl extends ServiceImpl<CandyMgtCouponMa
Integer eventAmt = initMgtCoupon.getEventAmt(); Integer eventAmt = initMgtCoupon.getEventAmt();
for (int i = 0; i < eventAmt; i++) { for (int i = 0; i < eventAmt; i++) {
AdamMemberRightsCouponVo memberRightsCouponVo = AdamMemberRightsCouponVo.getNew(); AdamMemberRightsCouponVo memberRightsCouponVo = AdamMemberRightsCouponVo.getNew();
//memberRightsCouponVo.setMrightsId(initMgtCoupon.getMcouponId()); memberRightsCouponVo.setMrightsId(initMgtCoupon.getMcouponId());
memberRightsCouponVo.setCouponId(initCoupon.getCouponId()); memberRightsCouponVo.setCouponId(initCoupon.getCouponId());
memberRightsCouponVo.setBusiType(initCoupon.getBusiType()); memberRightsCouponVo.setBusiType(initCoupon.getBusiType());
memberRightsCouponVo.setCouType(initCoupon.getCouType()); memberRightsCouponVo.setCouType(initCoupon.getCouType());
......
...@@ -116,9 +116,10 @@ ...@@ -116,9 +116,10 @@
cmc.`operator`, cmc.`operator`,
cmc.created_at, cmc.created_at,
cmc.updated_at cmc.updated_at
FROM candy_mgt_coupon cmc FROM candy_mgt_coupon cmc, candy_coupon cc
LEFT JOIN candy_coupon cc ON cmc.coupon_id = cc.coupon_id WHERE cmc.coupon_id = cc.coupon_id
WHERE cmc.state <![CDATA[<>]]> 2 AND cmc.state <![CDATA[<>]]> 2
AND cc.`exclusive` = 0
<if test="couType != null"> <if test="couType != null">
AND cc.cou_type = #{couType,jdbcType=SMALLINT} AND cc.cou_type = #{couType,jdbcType=SMALLINT}
......
...@@ -29,10 +29,11 @@ import org.springframework.util.StringUtils; ...@@ -29,10 +29,11 @@ import org.springframework.util.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
...@@ -324,10 +325,15 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -324,10 +325,15 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
memberOrderExtVo.getOrderNo(), memberOrderExtVo.getExpressStatus(), memberOrderExtVo.getExpressReceiver(), memberOrderExtVo.getOrderNo(), memberOrderExtVo.getExpressStatus(), memberOrderExtVo.getExpressReceiver(),
memberOrderExtVo.getExpressPhone(), memberOrderExtVo.getExpressAddress() memberOrderExtVo.getExpressPhone(), memberOrderExtVo.getExpressAddress()
}); });
// 权益券发放
toMqSqls.add(SqlMapping.get("candy_mgt_coupon.add_for_member"));
LinkedList<Object[]> initMemberRightsCouponObjs = this.issueMemberRightsCouponProcessing(handleMemberOrderVo.getUid(), handleMemberOrderVo.getMemberId());
s = System.currentTimeMillis(); s = System.currentTimeMillis();
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UMEMBER.getKey(), MQConst.AdamQueue.SQL_UMEMBER.getKey(),
SqlMapping.gets(toMqSqls, operationObjs, initMemberOrderObjs, initMemberOrderExtObjs) SqlMapping.gets(toMqSqls, operationObjs, initMemberOrderObjs, initMemberOrderExtObjs, initMemberRightsCouponObjs)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
// } else { // } else {
...@@ -493,10 +499,14 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -493,10 +499,14 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
memberOrderExtVo.getExpressPhone(), memberOrderExtVo.getExpressAddress() memberOrderExtVo.getExpressPhone(), memberOrderExtVo.getExpressAddress()
}); });
// 权益券发放
toMqSqls.add(SqlMapping.get("candy_mgt_coupon.add_for_member"));
LinkedList<Object[]> initMemberRightsCouponObjs = this.issueMemberRightsCouponProcessing(currentUid, initMemberOrderVo.getMemberId());
s = System.currentTimeMillis(); s = System.currentTimeMillis();
queueUtils.sendMsgByRedis( queueUtils.sendMsgByRedis(
MQConst.AdamQueue.SQL_UMEMBER.getKey(), MQConst.AdamQueue.SQL_UMEMBER.getKey(),
SqlMapping.gets(toMqSqls, upsertUserMemberObjs, updateMemberCodeObjs, initMemberOrderObjs, initMemberOrderExtObjs) SqlMapping.gets(toMqSqls, upsertUserMemberObjs, updateMemberCodeObjs, initMemberOrderObjs, initMemberOrderExtObjs, initMemberRightsCouponObjs)
); );
log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s); log.debug("#MQ耗时:{}ms", System.currentTimeMillis() - s);
} catch (Exception e) { } catch (Exception e) {
...@@ -535,4 +545,41 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService { ...@@ -535,4 +545,41 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
return pagedResult; return pagedResult;
} }
/* ------------------------------------------------------------------------------------ */
/**
* 发放会员专属特权券
*
* @param uid 用户ID
* @param memberId 会员ID
* @return LinkedList<Object[]>
*/
private LinkedList<Object[]> issueMemberRightsCouponProcessing(String uid, String memberId) {
AdamUserInfoVo userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
LocalDateTime now = LocalDateTime.now();
LinkedList<Object[]> initMemberRightsCouponObjs = CollectionUtil.linkedListObjectArr();
List<AdamMemberRightsVo> memberRightsVoList = adamRdmService.getMemberRightsVoByMemberId(memberId, 0);
if (!CollectionUtils.isEmpty(memberRightsVoList)) {
memberRightsVoList.forEach(r -> {
List<AdamMemberRightsCouponVo> memberRightsCouponVoList = adamRdmService.getMemberRightsCouponVoByRightsId(r.getMrightsId());
if (!CollectionUtils.isEmpty(memberRightsCouponVoList)) {
// 该权益下关联券统计
Map<String, Long> rightsCouponCtMap = memberRightsCouponVoList.parallelStream()
.collect(Collectors.groupingBy(AdamMemberRightsCouponVo::getCouponId, Collectors.counting()));
rightsCouponCtMap.forEach((couponId, num) -> {
initMemberRightsCouponObjs.add(
new Object[]{r.getMrightsId(), couponId, num, userInfoVo.getMobile(), now, userInfoVo.getMobile(), now}
);
});
}
});
}
return initMemberRightsCouponObjs;
}
} }
...@@ -56,6 +56,12 @@ adam_user_member.add=INSERT INTO adam_user_member (`uid`, member_id, member_no, ...@@ -56,6 +56,12 @@ adam_user_member.add=INSERT INTO adam_user_member (`uid`, member_id, member_no,
adam_user_member.update=UPDATE adam_user_member SET `state`=?, expiry_at=?, updated_at=? WHERE `uid`=? adam_user_member.update=UPDATE adam_user_member SET `state`=?, expiry_at=?, updated_at=? WHERE `uid`=?
adam_user_member.close=UPDATE adam_user_member SET `state`=2, updated_at=?, comment='close' WHERE `uid`=? adam_user_member.close=UPDATE adam_user_member SET `state`=2, updated_at=?, comment='close' WHERE `uid`=?
# ----------------------------------------------------
candy_mgt_coupon.add_for_member=INSERT INTO candy_mgt_coupon (mcoupon_id, coupon_id, `state`, event_amt, event_type, event_limit, event_at, `operator`, created_at) VALUES (?, ?, 0, ?, 2, ?, ?, ?, ?)
# ----------------------------------------------------
# ---------------------------------------------------- # ----------------------------------------------------
......
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