KKSU
2024-05-15 d35d562b6e743f4eff9480f7a1ecbee890deb438
src/main/java/cc/mrbird/febs/pay/service/impl/XcxPayServiceImpl.java
@@ -33,6 +33,7 @@
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
@@ -51,21 +52,17 @@
@RequiredArgsConstructor
public class XcxPayServiceImpl implements IXcxPayService {
    @Autowired
    private MallOrderInfoMapper mallOrderInfoMapper;
    @Autowired
    private MallMemberMapper mallMemberMapper;
    @Autowired
    WeixinServiceUtil weixinServiceUtil;
    @Autowired
    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @Autowired
    private MallMoneyFlowMapper mallMoneyFlowMapper;
    @Autowired
    private MallMemberWithdrawMapper mallMemberWithdrawMapper;
    private final MallOrderInfoMapper mallOrderInfoMapper;
    private final MallMemberMapper mallMemberMapper;
    private final WeixinServiceUtil weixinServiceUtil;
    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
    private final MallMoneyFlowMapper mallMoneyFlowMapper;
    private final MallMemberWithdrawMapper mallMemberWithdrawMapper;
    private final IMallMoneyFlowService mallMoneyFlowService;
    @Autowired
    RedisUtils redisUtils;
    private final MallGoodsMapper mallGoodsMapper;
    private final MallTeamLeaderMapper mallTeamLeaderMapper;
    private final RedisUtils redisUtils;
    private final SpringContextHolder springContextHolder;
@@ -290,11 +287,6 @@
        return wxTemplates;
    }
    @Autowired
    private MallGoodsMapper mallGoodsMapper;
    @Autowired
    private MallTeamLeaderMapper mallTeamLeaderMapper;
    @Override
    public FebsResponse generateQrCode(WxGenerateQrCodeDto wxGenerateQrCodeDto) {
        Integer type = wxGenerateQrCodeDto.getType();
@@ -319,6 +311,17 @@
            }
        }
        if (type == 3) {
            String inviteId = wxGenerateQrCodeDto.getTypeParam();
            MallMember member = mallMemberMapper.selectInfoByInviteId(inviteId);
            if(ObjectUtil.isNotNull(member)){
                String wxCodeImg = member.getInviteImg();
                if(StrUtil.isNotBlank(wxCodeImg)){
                    return new FebsResponse().success().data(wxCodeImg);
                }
            }
        }
        String randomNum = MallUtils.getRandomNum(5);
        String imgName="/user_" + randomNum + "_acode_1.jpg";
        String codeImgPath = generateAcode(wxGenerateQrCodeDto.getScene(), wxGenerateQrCodeDto.getPage(), imgName, "400px", null);
@@ -333,6 +336,15 @@
            MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(uniqueCode);
            mallTeamLeader.setWxCodeImg(codeImgPath);
            mallTeamLeaderMapper.updateById(mallTeamLeader);
        }
        if (type == 3) {
            String inviteId = wxGenerateQrCodeDto.getTypeParam();
            MallMember member = mallMemberMapper.selectInfoByInviteId(inviteId);
            if(ObjectUtil.isNotNull(member)){
                member.setInviteImg(codeImgPath);
                mallMemberMapper.updateById(member);
            }
        }
        return new FebsResponse().success().data(codeImgPath);
    }
@@ -391,11 +403,15 @@
     * @param imgName  图片唯一名称
     * @return
     */
    //图片上传路径
    public  static  final String IMG_UPLOAD_PATH="/mnt/sdc/webresource/qianayi/wxcode";
    // 文件保存目录路径
    @Value("${static.resource.url}")
    private String resourceUrl;
    // 文件保存目录URL
    @Value("${static.resource.path}")
    private String resourcePath;
    public  String generateAcode(String scene,String path,String imgName,String width, Integer type){
        String urlPrefix="https://hwfile.csxuncong.com/qianayi/wxcode";
        String imgPath=IMG_UPLOAD_PATH+imgName;
        String urlPrefix = resourceUrl + "/wxcode";
        String imgPath=resourcePath +"/wxcode"+imgName;
        if(!FileUtil.exist(imgPath)){
            cn.hutool.json.JSONObject obj = JSONUtil.createObj();
@@ -424,6 +440,7 @@
            obj.set("is_hyaline", false);
            try {
                HttpResponse execute = HttpRequest.post(url).body(obj.toString(), "application/json").execute();
                log.error("微信返回值:{}", execute.body());
                InputStream inputStream = execute.bodyStream();
                File file = new File(imgPath);
                FileUtil.writeFromStream(inputStream, file);