From c6d30e55157e59fe7bb45f9eeaec904a8cf88ec4 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 02 Sep 2024 11:00:46 +0800
Subject: [PATCH] test和数据库连接
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 293 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 275 insertions(+), 18 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 1940992..bde2101 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
@@ -5,8 +5,7 @@
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.properties.XcxProperties;
import cc.mrbird.febs.common.utils.*;
-import cc.mrbird.febs.mall.conversion.MallMemberConversion;
-import cc.mrbird.febs.mall.conversion.MallShopApplyConversion;
+import cc.mrbird.febs.mall.conversion.*;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
@@ -14,6 +13,8 @@
import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.pay.model.BrandWCPayRequestData;
import cc.mrbird.febs.pay.service.IXcxPayService;
+import cc.mrbird.febs.pay.util.MD5;
+import cc.mrbird.febs.pay.util.Util;
import cc.mrbird.febs.vip.VipSettingUnAliveSettingBo;
import cc.mrbird.febs.vip.entity.MallVipConfig;
import cc.mrbird.febs.vip.mapper.MallVipConfigMapper;
@@ -27,6 +28,7 @@
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
+import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -36,6 +38,16 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.protocol.HttpClientContext;
+import org.apache.http.entity.ByteArrayEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.security.SecurityProperties;
import org.springframework.http.HttpStatus;
@@ -80,6 +92,10 @@
private final MallGoodsMapper mallGoodsMapper;
private final MallVipConfigMapper mallVipConfigMapper;
+ private final MallStoreMapper mallStoreMapper;
+ private final MallStoreItemMapper mallStoreItemMapper;
+ private final MallStoreMemberMapper mallStoreMemberMapper;
+ private final MallMemberLevelMapper mallMemberLevelMapper;
@Value("${spring.profiles.active}")
@@ -364,12 +380,30 @@
MallMember mallMember = this.baseMapper.selectById(memberId);
List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
+ if(CollUtil.isNotEmpty(list)){
+ for(TeamListVo teamListVo : list){
+ String levelName = "";
+ if(1 == teamListVo.getLevelCode()){
+ levelName = "一级";
+ }else if(2 == teamListVo.getLevelCode()){
+ levelName = "二级";
+ }
+ teamListVo.setLevelName(levelName);
+ }
+ }
+
+ QueryWrapper<MallMemberLevel> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("member_id",memberId);
+ MallMemberLevel mallMemberLevel = mallMemberLevelMapper.selectOne(queryWrapper);
MyTeamVo myTeamVo = new MyTeamVo();
+ myTeamVo.setLevelPercent(mallMemberLevel.getLevelPercent());
+ myTeamVo.setLevelCode(mallMemberLevel.getLevelCode());
myTeamVo.setTeam(list);
myTeamVo.setMyAchieve(this.mallOrderInfoMapper.selectAmountOrTeamAmount(mallMember.getInviteId(), 1));
myTeamVo.setMyTeamAchieve(this.mallOrderInfoMapper.selectAmountOrTeamAmount(mallMember.getInviteId(), 2));
- myTeamVo.setMyTeamCnt(this.baseMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId()).size());
+ List<MallMember> mallMembers = this.baseMapper.selectChildAgentListByInviteId(mallMember.getInviteId());
+ myTeamVo.setMyTeamCnt(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
return new FebsResponse().success().data(myTeamVo);
}
@@ -660,6 +694,12 @@
}
this.baseMapper.insert(mallMember);
+// MallMemberLevel mallMemberLevel = new MallMemberLevel();
+// mallMemberLevel.setMemberId(mallMember.getId());
+// mallMemberLevel.setLevelCode(0);
+// mallMemberLevel.setLevelPercent(BigDecimal.ZERO);
+// mallMemberLevelMapper.insert(mallMemberLevel);
+
mallMember = this.baseMapper.selectMemberByOpenId(openId);
String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId());
mallMember.setInviteId(inviteId);
@@ -716,21 +756,21 @@
mallMember.setAvatar(avatarUrl);
}
- if (StrUtil.isNotBlank(apiXcxSaveInfoDto.getRealName())) {
- mallMember.setRealName(apiXcxSaveInfoDto.getRealName());
- }
-
- if (apiXcxSaveInfoDto.getBirthday() != null) {
- mallMember.setBirthday(apiXcxSaveInfoDto.getBirthday());
- }
-
- List<MallVipConfig> configs = mallVipConfigMapper.selectVipConfigList();
- if (StrUtil.isBlank(mallMember.getLevel()) && CollUtil.isNotEmpty(configs)) {
- MallVipConfig mallVipConfig = configs.get(0);
- mallMember.setLevel(mallVipConfig.getCode());
- }
-
- mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
+// if (StrUtil.isNotBlank(apiXcxSaveInfoDto.getRealName())) {
+// mallMember.setRealName(apiXcxSaveInfoDto.getRealName());
+// }
+//
+// if (apiXcxSaveInfoDto.getBirthday() != null) {
+// mallMember.setBirthday(apiXcxSaveInfoDto.getBirthday());
+// }
+//
+// List<MallVipConfig> configs = mallVipConfigMapper.selectVipConfigList();
+// if (StrUtil.isBlank(mallMember.getLevel()) && CollUtil.isNotEmpty(configs)) {
+// MallVipConfig mallVipConfig = configs.get(0);
+// mallMember.setLevel(mallVipConfig.getCode());
+// }
+//
+// mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
this.baseMapper.updateById(mallMember);
return new FebsResponse().success();
}
@@ -1155,5 +1195,222 @@
return result;
}
+ @Override
+ public FebsResponse storeList(MallStoreDto mallStoreDto) {
+ QueryWrapper<MallStore> mallStoreQueryWrapper = new QueryWrapper<>();
+ if(StrUtil.isNotEmpty(mallStoreDto.getName())){
+ mallStoreQueryWrapper.like("name",mallStoreQueryWrapper);
+ }
+ List<MallStore> mallStores = mallStoreMapper.selectList(mallStoreQueryWrapper);
+ List<MallStoreVo> mallStoreVos = MallStoreConversion.INSTANCE.entitysToVos(mallStores);
+ return new FebsResponse().success().data(mallStoreVos);
+ }
+
+ @Override
+ public FebsResponse storeItemList(MallStoreItemDto mallStoreItemDto) {
+ QueryWrapper<MallStoreItem> mallStoreQueryWrapper = new QueryWrapper<>();
+ mallStoreQueryWrapper.like("store_id",mallStoreItemDto.getStoreId());
+ List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(mallStoreQueryWrapper);
+ return new FebsResponse().success().data(mallStores);
+ }
+
+ @Override
+ public FebsResponse bindStoreMember(BindStoreMemberDto bindStoreMemberDto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ Long storeItemId = bindStoreMemberDto.getStoreItemId();
+
+ QueryWrapper<MallStoreMember> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("member_id",memberId);
+ List<MallStoreMember> mallStoreMembers = mallStoreMemberMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(mallStoreMembers)){
+ mallStoreMemberMapper.delete(objectQueryWrapper);
+ }
+
+ MallStoreItem mallStoreItem = mallStoreItemMapper.selectById(storeItemId);
+ HashMap<String, String> objectObjectHashMap = new HashMap<>();
+ String shopAccount = mallStoreItem.getAccount();
+ String shopPwd = mallStoreItem.getPassword();
+ String name = bindStoreMemberDto.getName();
+ String address = bindStoreMemberDto.getAddress();
+ Integer age = bindStoreMemberDto.getAge();
+ String phoneNumber = bindStoreMemberDto.getPhone();
+
+ objectObjectHashMap.put("shopAccount",shopAccount);
+ objectObjectHashMap.put("shopPwd",shopPwd);
+ objectObjectHashMap.put("name",name);
+ objectObjectHashMap.put("address",address);
+ objectObjectHashMap.put("age",age.toString());
+ objectObjectHashMap.put("phoneNumber",phoneNumber);
+
+ //sign= MD5(address+age+name+phoneNumber+shopAccount+shopPwd)
+ StringBuffer stringBuffer = new StringBuffer();
+ stringBuffer.append(address);
+ stringBuffer.append(age);
+ stringBuffer.append(name);
+ stringBuffer.append(phoneNumber);
+ stringBuffer.append(shopAccount);
+ stringBuffer.append(shopPwd);
+ String sign = MD5.MD5Encode(stringBuffer.toString());
+ objectObjectHashMap.put("sign",sign);
+ String url = "https://data.muchun.co/api/bindCustomer";
+ String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
+ Integer retCode = JSONUtil.parseObj(result).getInt("retCode");
+ String message = JSONUtil.parseObj(result).getStr("message");
+ if(0 != retCode || !"绑定成功".equals(message)){
+ return new FebsResponse().fail().message(message);
+ }
+ Long bindId = JSONUtil.parseObj(result).getJSONObject("data").getLong("userId");
+
+ MallStoreMember mallStoreMember = new MallStoreMember();
+ mallStoreMember.setMemberId(memberId);
+ mallStoreMember.setBindId(bindId);
+ mallStoreMember.setStoreId(mallStoreItem.getStoreId());
+ mallStoreMember.setStoreItemId(mallStoreItem.getId());
+
+ mallStoreMember.setAccount(shopAccount);
+ mallStoreMember.setPassword(shopPwd);
+
+ mallStoreMember.setName(name);
+ mallStoreMember.setAddress(address);
+ mallStoreMember.setAge(age);
+ mallStoreMember.setPhone(phoneNumber);
+ mallStoreMemberMapper.insert(mallStoreMember);
+ return new FebsResponse().success().message("绑定成功");
+ }
+
+ @Override
+ public FebsResponse bindList() {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ QueryWrapper<MallStoreMember> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("member_id",memberId);
+ List<MallStoreMember> mallStoreMembers = mallStoreMemberMapper.selectList(objectQueryWrapper);
+
+ ArrayList<MallStoreMemberVo> mallStoreMemberVos = new ArrayList<>();
+ for(MallStoreMember mallStoreMember : mallStoreMembers){
+ MallStoreMemberVo mallStoreMemberVo = new MallStoreMemberVo();
+ Long storeId = mallStoreMember.getStoreId();
+ Long storeItemId = mallStoreMember.getStoreItemId();
+ MallStore mallStore = mallStoreMapper.selectById(storeId);
+ MallStoreItem mallStoreItem = mallStoreItemMapper.selectById(storeItemId);
+ mallStoreMemberVo.setId(mallStoreMember.getId());
+ mallStoreMemberVo.setBindInfo(mallStore.getName()+"-"+mallStoreItem.getCode());
+ mallStoreMemberVos.add(mallStoreMemberVo);
+ }
+ return new FebsResponse().success().data(mallStoreMemberVos);
+ }
+
+ @Override
+ public FebsResponse bindResult(BindResultDto bindResultDto) {
+ Long memberId = LoginUserUtil.getLoginUser().getId();
+ MallStoreMember mallStoreMember = mallStoreMemberMapper.selectById(bindResultDto.getBindId());
+ Long userld = mallStoreMember.getBindId();
+ String shopAccount = mallStoreMember.getAccount();
+ String shopPwd = mallStoreMember.getPassword();
+
+ HashMap<String, String> objectObjectHashMap = new HashMap<>();
+
+ objectObjectHashMap.put("shopAccount",shopAccount);
+ objectObjectHashMap.put("shopPwd",shopPwd);
+ objectObjectHashMap.put("userId",userld.toString());
+
+ //sign= MD5(shopAccount+shopPwd+userId)
+ StringBuffer stringBuffer = new StringBuffer();
+ stringBuffer.append(shopAccount);
+ stringBuffer.append(shopPwd);
+ stringBuffer.append(userld);
+ String sign = MD5.MD5Encode(stringBuffer.toString());
+ objectObjectHashMap.put("sign",sign);
+
+ String url = "https://data.muchun.co/api/getCustomerCheckRecords";
+ String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
+ Integer retCode = JSONUtil.parseObj(result).getInt("retCode");
+ String message = JSONUtil.parseObj(result).getStr("message");
+ if(0 != retCode){
+ return new FebsResponse().fail().message(message);
+ }
+ JSONArray data = JSONUtil.parseObj(result).getJSONArray("data");
+ return new FebsResponse().success().data(data);
+ }
+
+ @Override
+ public FebsResponse levelUpdate(ApiLevelUpdateDto apiLevelUpdateDto) {
+ Long levelId = apiLevelUpdateDto.getLevelId();
+ MallMemberLevel mallMemberLevel = mallMemberLevelMapper.selectById(levelId);
+ if(ObjectUtil.isEmpty(mallMemberLevel)){
+ throw new FebsException("记录不存在");
+ }
+
+ DataDictionaryCustom memberLevelOneDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MEMBER_LEVEL_ONE.getType(),
+ DataDictionaryEnum.MEMBER_LEVEL_ONE.getCode()
+ );
+ if(Integer.parseInt(memberLevelOneDic.getValue()) != mallMemberLevel.getLevelCode()){
+ throw new FebsException(StrUtil.format("{}才能设置层级和佣金比例}", memberLevelOneDic.getDescription()));
+ }
+
+ DataDictionaryCustom memberLevelTwoDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MEMBER_LEVEL_TWO.getType(),
+ DataDictionaryEnum.MEMBER_LEVEL_TWO.getCode()
+ );
+ Integer levelCode = apiLevelUpdateDto.getLevelCode();
+ if(Integer.parseInt(memberLevelTwoDic.getValue()) != levelCode){
+ throw new FebsException(StrUtil.format("当前用户只能设置{}}", memberLevelTwoDic.getDescription()));
+ }
+
+ DataDictionaryCustom minPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MEMBER_LEVEL_PERCENT_MIN.getType(),
+ DataDictionaryEnum.MEMBER_LEVEL_PERCENT_MIN.getCode()
+ );
+ DataDictionaryCustom maxPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MEMBER_LEVEL_PERCENT_MAX.getType(),
+ DataDictionaryEnum.MEMBER_LEVEL_PERCENT_MAX.getCode()
+ );
+ BigDecimal minPercent = new BigDecimal(minPercentDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
+ BigDecimal maxPercent = new BigDecimal(maxPercentDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN);
+ BigDecimal levelPercent = apiLevelUpdateDto.getLevelPercent();
+ if(levelPercent.compareTo(minPercent) < 0 || levelPercent.compareTo(maxPercent) > 0){
+ throw new FebsException(StrUtil.format("佣金比例必须在{}和{}之间。", minPercent,maxPercent));
+ }
+
+ mallMemberLevel.setLevelCode(levelCode);
+ mallMemberLevel.setLevelPercent(levelPercent);
+ mallMemberLevelMapper.updateById(mallMemberLevel);
+ return new FebsResponse().success().message("操作成功");
+ }
+
+ public static void main(String[] args) {
+ Long userld = 173L;
+ String shopAccount = "luohu";
+ String shopPwd = "123456";
+
+ HashMap<String, String> objectObjectHashMap = new HashMap<>();
+
+ objectObjectHashMap.put("shopAccount",shopAccount);
+ objectObjectHashMap.put("shopPwd",shopPwd);
+ objectObjectHashMap.put("userId",userld.toString());
+
+ //sign= MD5(shopAccount+shopPwd+userId)
+ StringBuffer stringBuffer = new StringBuffer();
+ stringBuffer.append(shopAccount);
+ stringBuffer.append(shopPwd);
+ stringBuffer.append(userld);
+ String sign = MD5.MD5Encode(stringBuffer.toString());
+ objectObjectHashMap.put("sign",sign);
+
+ System.out.println(sign);
+
+ System.out.println(objectObjectHashMap);
+ String url = "https://data.muchun.co/api/getCustomerCheckRecords";
+ String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
+ Integer retCode = JSONUtil.parseObj(result).getInt("retCode");
+ String message = JSONUtil.parseObj(result).getStr("message");
+ if(0 != retCode){
+ System.out.println(message);
+ }
+
+ JSONArray data = JSONUtil.parseObj(result).getJSONArray("data");
+ System.out.println(data);
+ }
+
}
--
Gitblit v1.9.1