KKSU
2025-01-16 954f46aaad039dd1b58f3d4f234479011ccff411
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1,11 +1,16 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum;
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.*;
import cc.mrbird.febs.mall.conversion.MallMemberConversion;
import cc.mrbird.febs.mall.conversion.MallShopApplyConversion;
import cc.mrbird.febs.mall.conversion.MallStoreConversion;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
@@ -14,7 +19,6 @@
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;
@@ -38,18 +42,7 @@
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;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -1174,7 +1167,7 @@
    public FebsResponse storeList(MallStoreDto mallStoreDto) {
        QueryWrapper<MallStore> mallStoreQueryWrapper = new QueryWrapper<>();
        if(StrUtil.isNotEmpty(mallStoreDto.getName())){
            mallStoreQueryWrapper.like("name",mallStoreQueryWrapper);
            mallStoreQueryWrapper.like("name",mallStoreDto.getName());
        }
        List<MallStore> mallStores = mallStoreMapper.selectList(mallStoreQueryWrapper);
        List<MallStoreVo> mallStoreVos = MallStoreConversion.INSTANCE.entitysToVos(mallStores);
@@ -1183,9 +1176,14 @@
    @Override
    public FebsResponse storeItemList(MallStoreItemDto mallStoreItemDto) {
        QueryWrapper<MallStoreItem> mallStoreQueryWrapper = new QueryWrapper<>();
        mallStoreQueryWrapper.like("store_id",mallStoreItemDto.getStoreId());
        List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(mallStoreQueryWrapper);
//        QueryWrapper<MallStoreItem> mallStoreQueryWrapper = new QueryWrapper<>();
//        mallStoreQueryWrapper.like("store_id",mallStoreItemDto.getStoreId());
//        List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(mallStoreQueryWrapper);
        List<MallStoreItem> mallStores = mallStoreItemMapper.selectList(
                new LambdaQueryWrapper<MallStoreItem>()
                        .eq(MallStoreItem::getStoreId, mallStoreItemDto.getStoreId())
        );
        return new FebsResponse().success().data(mallStores);
    }
@@ -1194,12 +1192,21 @@
        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);
//        QueryWrapper<MallStoreMember> objectQueryWrapper = new QueryWrapper<>();
//        objectQueryWrapper.eq("member_id",memberId);
//        List<MallStoreMember> mallStoreMembers = mallStoreMemberMapper.selectList(objectQueryWrapper);
        List<MallStoreMember> mallStoreMembers = mallStoreMemberMapper.selectList(
                new LambdaQueryWrapper<MallStoreMember>()
                        .eq(MallStoreMember::getMemberId, memberId)
                        .eq(MallStoreMember::getStoreItemId, bindStoreMemberDto.getStoreItemId())
        );
        if(CollUtil.isNotEmpty(mallStoreMembers)){
            mallStoreMemberMapper.delete(objectQueryWrapper);
            return new FebsResponse().fail().message("您已经绑定过了");
        }
        MallMember mallMember = this.baseMapper.selectById(memberId);
        Integer sex = "女".equals(mallMember.getSex()) ? 3 : 2;
        MallStoreItem mallStoreItem = mallStoreItemMapper.selectById(storeItemId);
        HashMap<String, String> objectObjectHashMap = new HashMap<>();
@@ -1216,6 +1223,7 @@
        objectObjectHashMap.put("address",address);
        objectObjectHashMap.put("age",age.toString());
        objectObjectHashMap.put("phoneNumber",phoneNumber);
        objectObjectHashMap.put("sex",sex.toString());
        //sign= MD5(address+age+name+phoneNumber+shopAccount+shopPwd)
        StringBuffer stringBuffer = new StringBuffer();
@@ -1223,33 +1231,45 @@
        stringBuffer.append(age);
        stringBuffer.append(name);
        stringBuffer.append(phoneNumber);
        stringBuffer.append(sex);
        stringBuffer.append(shopAccount);
        stringBuffer.append(shopPwd);
        String sign = MD5.MD5Encode(stringBuffer.toString());
        objectObjectHashMap.put("sign",sign);
        String url = "https://data.muchun.co/api/bindCustomer";
        log.info("请求参数"+objectObjectHashMap);
        String result = HttpCurlUtil.sendPost(url, objectObjectHashMap);
        log.info("绑定用户"+result);
        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");
        List<MallStoreMember> mallStoreMembers1 = mallStoreMemberMapper.selectList(
                new LambdaQueryWrapper<MallStoreMember>()
                        .eq(MallStoreMember::getMemberId, memberId)
                        .eq(MallStoreMember::getStoreItemId, mallStoreItem.getId())
                        .eq(MallStoreMember::getBindId, bindId)
        );
        if(CollUtil.isEmpty(mallStoreMembers1)){
            MallStoreMember mallStoreMember = new MallStoreMember();
            mallStoreMember.setMemberId(memberId);
            mallStoreMember.setBindId(bindId);
            mallStoreMember.setStoreId(mallStoreItem.getStoreId());
            mallStoreMember.setStoreItemId(mallStoreItem.getId());
        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.setAccount(shopAccount);
        mallStoreMember.setPassword(shopPwd);
        mallStoreMember.setName(name);
        mallStoreMember.setAddress(address);
        mallStoreMember.setAge(age);
        mallStoreMember.setPhone(phoneNumber);
        mallStoreMemberMapper.insert(mallStoreMember);
            mallStoreMember.setName(name);
            mallStoreMember.setAddress(address);
            mallStoreMember.setAge(age);
            mallStoreMember.setPhone(phoneNumber);
            mallStoreMemberMapper.insert(mallStoreMember);
        }
        return new FebsResponse().success().message("绑定成功");
    }
@@ -1286,15 +1306,16 @@
        objectObjectHashMap.put("shopAccount",shopAccount);
        objectObjectHashMap.put("shopPwd",shopPwd);
        objectObjectHashMap.put("userld",userld.toString());
        objectObjectHashMap.put("userId",userld.toString());
        //sign= MD5(address+age+name+phoneNumber+shopAccount+shopPwd)
        //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");
@@ -1307,15 +1328,15 @@
    }
    public static void main(String[] args) {
        Long userld = 177L;
        String shopAccount = "luohu";
        String shopPwd = "123456";
        Long userld = 16425L;
        String shopAccount = "爱和美医疗";
        String shopPwd = "blnka2005";
        HashMap<String, String> objectObjectHashMap = new HashMap<>();
        objectObjectHashMap.put("shopAccount",shopAccount);
        objectObjectHashMap.put("shopPwd",shopPwd);
        objectObjectHashMap.put("userld",userld.toString());
        objectObjectHashMap.put("userId",userld.toString());
        //sign= MD5(shopAccount+shopPwd+userId)
        StringBuffer stringBuffer = new StringBuffer();