| | |
| | | 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; |
| | |
| | | @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; |
| | | |
| | |
| | | return wxTemplates; |
| | | } |
| | | |
| | | @Autowired |
| | | private MallGoodsMapper mallGoodsMapper; |
| | | @Autowired |
| | | private MallTeamLeaderMapper mallTeamLeaderMapper; |
| | | |
| | | @Override |
| | | public FebsResponse generateQrCode(WxGenerateQrCodeDto wxGenerateQrCodeDto) { |
| | | Integer type = wxGenerateQrCodeDto.getType(); |
| | |
| | | } |
| | | } |
| | | |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | |
| | | * @param imgName 图片唯一名称 |
| | | * @return |
| | | */ |
| | | //图片上传路径 |
| | | public static final String IMG_UPLOAD_PATH="/mnt/sdc/webresource/blnka/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/blnka/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(); |
| | |
| | | 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); |