From 0b3393b2485ef1905f44356e26f5cc1a48be9a83 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sun, 21 May 2023 19:52:09 +0800
Subject: [PATCH] 正式环境
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 107 insertions(+), 11 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 95f2dc5..b2232bb 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -16,6 +16,7 @@
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
import cc.mrbird.febs.mall.service.ICommonService;
+import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
import cc.mrbird.febs.pay.service.IXcxPayService;
@@ -66,6 +67,8 @@
private final MallRegisterAppealMapper mallRegisterAppealMapper;
private final MallTeamLeaderMapper mallTeamLeaderMapper;
private final SpringContextHolder springContextHolder;
+ private final MallAgentRecordMapper mallAgentRecordMapper;
+ private final IMallMoneyFlowService mallMoneyFlowService;
@Value("${spring.profiles.active}")
@@ -196,7 +199,9 @@
public String generateAsaToken(String token) {
RSA rsa = new RSA(null, AppContants.PUBLIC_KEY);
- return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey);
+// return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey);
+ //去掉时间戳
+ return rsa.encryptBase64(token, KeyType.PublicKey);
}
@Override
@@ -254,13 +259,32 @@
mallMemberVo.setPrizeScore(wallet.getPrizeScore());
mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
- //用户是否是团长
- List<MallTeamLeader> mallTeamLeaders = mallTeamLeaderMapper.selectListByMemberIdAndState(mallMember.getId(), MallTeamLeader.STATE_YES);
- if(CollUtil.isNotEmpty(mallTeamLeaders)){
- mallMemberVo.setIsTeamLeader(1);
- }else{
- mallMemberVo.setIsTeamLeader(2);
+ //代理状态
+ MallAgentRecord mallAgentRecordIng = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_ING);
+ MallAgentRecord mallAgentRecordAgree = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_AGREE);
+ MallAgentRecord mallAgentRecordDisagree = mallAgentRecordMapper.selectByMemberIdAndState(id, MallAgentRecord.APPLY_DISAGREE);
+ if(ObjectUtil.isNotEmpty(mallAgentRecordIng)){
+ mallMemberVo.setIsAgent(1);
+ }else if(ObjectUtil.isNotEmpty(mallAgentRecordAgree)){
+ mallMemberVo.setIsAgent(2);
+ if(StrUtil.isNotEmpty(mallAgentRecordAgree.getAgentLevel())){
+ DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("AGENT_LEVEL_APPLY", mallAgentRecordAgree.getAgentLevel());
+ mallMemberVo.setAgentLevelName(dataDictionaryCustom.getDescription());
+ }
+ if(AgentLevelEnum.LEVEL_ONE.name().equals(mallAgentRecordAgree.getAgentLevel())){
+ mallMemberVo.setAgentLevel(1);
+ }
+ if(AgentLevelEnum.LEVEL_TWO.name().equals(mallAgentRecordAgree.getAgentLevel())){
+ mallMemberVo.setAgentLevel(2);
+ }
+ if(AgentLevelEnum.LEVEL_THREE.name().equals(mallAgentRecordAgree.getAgentLevel())){
+ mallMemberVo.setAgentLevel(3);
+ }
+ }else if(ObjectUtil.isNotEmpty(mallAgentRecordDisagree)){
+ mallMemberVo.setIsAgent(3);
}
+// log.info(mallMemberVo.getName()+"---"+mallMemberVo.getAgentLevel());
+
return new FebsResponse().success().data(mallMemberVo);
}
@@ -428,7 +452,7 @@
Long id = LoginUserUtil.getLoginUser().getId();
MallMember member = this.baseMapper.selectById(id);
- member.setBindPhone(accountAndCodeDto.getAccount());
+ member.setPhone(accountAndCodeDto.getAccount());
this.baseMapper.updateById(member);
}
@@ -608,8 +632,8 @@
}
}
String token = IdUtil.simpleUUID();
- redisUtils.set(token, JSONObject.toJSONString(mallMember), 360000);
- redisUtils.set(redisKey, token, 360000);
+ redisUtils.set(token, JSONObject.toJSONString(mallMember), -1);
+ redisUtils.set(redisKey, token, -1);
Map<String, Object> authInfo = new HashMap<>();
authInfo.put("token", token);
authInfo.put("appid", xcxProperties.getXcxAppid());
@@ -640,7 +664,7 @@
if(StrUtil.isNotEmpty(avatarUrl)){
mallMember.setAvatar(avatarUrl);
}
- mallMember.setSex(apiXcxSaveInfoDto.getGender() == 1 ? "女" : "男");
+// mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
this.baseMapper.updateById(mallMember);
return new FebsResponse().success();
}
@@ -735,6 +759,21 @@
if(BigDecimal.ZERO.compareTo(amount)>0){
return new FebsResponse().fail().message("请输入正确的充值金额");
}
+ Integer type = apiRechargeWalletDto.getType();
+ if(2 == type){
+ //成为合伙人的充值金额
+ MallAgentRecord mallAgentRecord = mallAgentRecordMapper.selectById(apiRechargeWalletDto.getAgentApplyId());
+ BigDecimal agentPrice = mallAgentRecord.getAmount();
+// DataDictionaryCustom agentPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.PRICE_AMOUNT.getType(),
+// DataDictionaryEnum.PRICE_AMOUNT.getCode());
+// String agentPrice = agentPriceDic.getValue();
+// BigDecimal price = new BigDecimal(agentPrice);
+ if(agentPrice.compareTo(amount) != 0){
+ return new FebsResponse().fail().message("成为合伙人的金额为"+agentPrice);
+ }
+ }
+ String rechargeNo = "CZ_"+MallUtils.getOrderNum();
+ apiRechargeWalletDto.setRechargeNo(rechargeNo);
apiRechargeWalletDto.setMemberId(memberId);
BrandWCPayRequestData brandWCPayRequestData = null;
try {
@@ -742,6 +781,14 @@
} catch (Exception e) {
throw new FebsException("支付失败");
}
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ amount,
+ MoneyFlowTypeEnum.RECHARGE.getValue(),
+ rechargeNo,
+ FlowTypeEnum.BALANCE.getValue(),
+ "余额充值",1);
+
String wxResultStr = JSONUtil.toJsonStr(brandWCPayRequestData);
String payResultStr = brandWCPayRequestData.getPrepay_id();
Map<String, Object> map = new HashMap<>();
@@ -750,6 +797,55 @@
return new FebsResponse().success().data(map).message("充值即将到账");
}
+ @Override
+ public void updateMemberAgent(Long memberId,String levelCode) {
+ mallAgentRecordMapper.updateStateByMemberId(memberId);
+ MallAgentRecord mallAgentRecord = mallAgentRecordMapper.selectById(memberId);
+ //更新用户表中的LEVEL
+ MallMember mallMember = this.baseMapper.selectById(mallAgentRecord.getMemberId());
+ mallMember.setLevel(levelCode);
+ this.baseMapper.updateById(mallMember);
+ }
+
+ @Override
+ public FebsResponse agentDetail() {
+ DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.AGENT_DETAILS.getType(), DataDictionaryEnum.AGENT_DETAILS.getCode());
+ Map<String, Object> map = new HashMap<>();
+ if(ObjectUtil.isNotEmpty(dataDictionaryCustom)){
+ map.put("agentDetail", dataDictionaryCustom.getValue());
+ }
+ return new FebsResponse().success().data(map);
+ }
+
+ @Override
+ public FebsResponse activityInfo() {
+ DataDictionaryCustom activityBulletinDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.ACTIVITY_BULLETIN.getType(), DataDictionaryEnum.ACTIVITY_BULLETIN.getCode());
+ DataDictionaryCustom giveAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.GIVE_AMOUNT.getType(), DataDictionaryEnum.GIVE_AMOUNT.getCode());
+ DataDictionaryCustom giveStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.GIVE_STATE.getType(), DataDictionaryEnum.GIVE_STATE.getCode());
+ Map<String, Object> map = new HashMap<>();
+ if(ObjectUtil.isNotEmpty(activityBulletinDic)){
+ map.put("activityBulletin",
+ ObjectUtil.isEmpty(activityBulletinDic.getValue()) ? "暂无活动" : activityBulletinDic.getValue());
+ }
+ if(ObjectUtil.isNotEmpty(giveAmountDic)){
+ map.put("giveAmount",
+ ObjectUtil.isEmpty(giveAmountDic.getValue()) ? 0 : giveAmountDic.getValue());
+ }
+ map.put("giveState",giveStateDic.getValue());
+ return new FebsResponse().success().data(map);
+ }
+
+ @Override
+ public FebsResponse agentApplyInfo() {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ ApiMallAgentRecordVo apiMallAgentRecordVo = mallAgentRecordMapper.selectApiMallAgentRecordVoByMemberIdAndState(memberId,MallAgentRecord.APPLY_ING);
+ return new FebsResponse().success().data(apiMallAgentRecordVo);
+ }
+
private String getXcxLoginUrl(String code) {
String wechatLoginUrl =xcxProperties.getWecharLoginUrl();
return String.format(wechatLoginUrl, xcxProperties.getXcxAppid(), xcxProperties.getXcxSecret(), code);
--
Gitblit v1.9.1