From a9e1505680c7dd45840975b38451ef88d451e6d4 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 17 三月 2026 14:41:12 +0800
Subject: [PATCH] 代码优化
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 77 +++++++++++++++++++++++---------------
1 files changed, 47 insertions(+), 30 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 339d3aa..81433af 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -85,6 +85,8 @@
@Autowired
private CouponMapper couponMapper;
@Autowired
+ private MemberCouponMapper memberCouponMapper;
+ @Autowired
private MemberCouponJoinMapper memberCouponJoinMapper;
@Autowired
private IntegralMapper integralMapper;
@@ -310,34 +312,33 @@
@Override
- public AccountResponse wxLogin(String code){
- try {
- //鑾峰彇寰俊鏁忔劅鏁版嵁
- WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code);
- String openId = session.getOpenid();
- if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) {
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�");
- }
- Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getOpenId, openId)
- .eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getStatus,Constants.ZERO)
- .last(" limit 1"));
- AccountResponse accountResponse = new AccountResponse();
- if(Objects.nonNull(member)){
- memberMapper.updateById(member);
- member.setImgFullUrl(StringUtils.isNotBlank(member.getImgurl())?systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
- systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()+member.getImgurl():null);
- String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
- accountResponse.setToken(token);
- accountResponse.setOpenid(openId);
- accountResponse.setMember(member);
- }else{
- accountResponse.setOpenid(openId);
- }
- return accountResponse;
- } catch (WxErrorException e) {
- e.printStackTrace();
+ public AccountResponse wxLogin(String code) throws WxErrorException {
+ WxMaJscode2SessionResult session = WxMiniConfig.wxMaService.getUserService().getSessionInfo(code);
+ String openId = session.getOpenid();
+ if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isBlank(openId)) {
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鑾峰彇openid澶辫触锛佽鑱旂郴绠$悊鍛�");
}
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"寰俊鐧诲綍寮傚父锛佽鑱旂郴绠$悊鍛�");
+ Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
+ .eq(Member::getOpenId, openId)
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .eq(Member::getStatus,Constants.ZERO)
+ .last(" limit 1"));
+
+ AccountResponse accountResponse = new AccountResponse();
+ if(Objects.nonNull(member)){
+ String ossPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode();
+ String memberPath = systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode();
+ if(StringUtils.isNotBlank(member.getImgurl())){
+ member.setImgFullUrl(ossPath + memberPath + member.getImgurl());
+ }
+ String token = JwtTokenUtil.generateTokenForRedis(member.getId(), Constants.ZERO, JSONObject.toJSONString(member), redisTemplate);
+ accountResponse.setToken(token);
+ accountResponse.setOpenid(openId);
+ accountResponse.setMember(member);
+ }else{
+ accountResponse.setOpenid(openId);
+ }
+ return accountResponse;
}
@@ -444,6 +445,20 @@
if(Objects.isNull(coupon)||Constants.equalsInteger(coupon.getIsdeleted(),Constants.ONE)&&num>Constants.ZERO){
continue;
}
+ if(coupon.getNum()>Constants.ZERO) {
+ //鏌ヨ宸查鍙栨暟閲�
+ Integer getNum = memberCouponMapper.selectCount(new QueryWrapper<MemberCoupon>().lambda()
+ .eq(MemberCoupon::getIsdeleted, Constants.ZERO)
+ .eq(MemberCoupon::getCouponId, couponId)
+ .ne(MemberCoupon::getGetMethod, Constants.TWO)
+ ).intValue();
+ if (getNum >= coupon.getNum()) {
+ continue;
+ }
+ if (num > (coupon.getNum() - getNum)) {
+ num = coupon.getNum().intValue() - getNum;
+ }
+ }
MemberCoupon memberCoupon = MemberCoupon.couponToBean(coupon,member,new Date(),Constants.ZERO,null);
for (int i = 0; i < num; i++) {
//婊″噺鍗蜂笉浼氱敓鎴恗axPrice 闇�瑕佹牴鎹紭鎯犲埜鍑忓皯閲戦璁剧疆
@@ -486,6 +501,10 @@
//璧犻�侀個璇风Н鍒�
//寮�鍚個璇锋敞鍐岄�佺Н鍒�
if(Constants.equalsInteger(platformConfigDTO.getShareIntegralRewardStatus(),Constants.ZERO)){
+ member = memberMapper.selectById(member.getRecId());
+ if(Objects.isNull(member)){
+ return;
+ }
DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
dealIntegralRequest.setIntegralNum(platformConfigDTO.getShareIntegralReward());
dealIntegralRequest.setDealType(Constants.ZERO);
@@ -493,8 +512,6 @@
dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.INVITENEWUSER);
dealIntegralRequest.setParam1(member.getNickname());
integralService.dealIntegral(dealIntegralRequest,member);
- //娣诲姞娑堟伅璁板綍
-
}
}
@@ -690,7 +707,7 @@
}
this.verifyPhoneCode(request.getCode(),request.getPhone());
memberMapper.update(new UpdateWrapper<Member>().lambda()
- .eq(Member::getPhone,request.getPhone())
+ .set(Member::getPhone,request.getPhone())
.eq(Member::getId,request.getMemberId())
);
}
--
Gitblit v1.9.3