From 061c9b8412ec11ed714eb8b493000cc604d6c620 Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 28 Jul 2022 09:48:14 +0800 Subject: [PATCH 1/4] // msg --- .../iformall/schedule/WxMsgModelSchedule.java | 59 +++++++++++++++++-- .../com/iformall/domain/po/WxMsgCallback.java | 4 ++ .../domain/po/WxProfitSharingReceiver.java | 36 +++++++++++ .../iformall/douyin/pay/DouYinPayHelper.java | 1 + .../pay/orderQuery/QueryMerchantResult.java | 2 + .../service/impl/WxMerchantServiceImpl.java | 13 ++-- .../java/com/iformall/sms/SMSExcutor.java | 4 ++ .../java/com/iformall/sms/SMSFactory.java | 5 ++ .../com/iformall/sms/aliyun/AliyunSMS.java | 40 +++++++++++++ .../com/iformall/sms/wiwide/WiwideUtil.java | 10 ++-- .../resources/mapper/WxMsgCallbackMapper.xml | 5 +- .../mapper/WxProfitSharingReceiverMapper.xml | 12 +++- 12 files changed, 177 insertions(+), 14 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/WxMsgModelSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/WxMsgModelSchedule.java index b58478bcf..9ae5e2a04 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/WxMsgModelSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/WxMsgModelSchedule.java @@ -1,12 +1,19 @@ package com.iformall.schedule; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.iformall.domain.po.WxMsgCallback; import com.iformall.domain.po.WxMsgConfig; import com.iformall.domain.po.WxMsgModel; import com.iformall.enums.EnumMsgModelStatus; +import com.iformall.enums.EnumMsgSendStatus; +import com.iformall.mapper.WxMsgCallbackMapper; import com.iformall.mapper.WxMsgConfigMapper; import com.iformall.mapper.WxMsgModelMapper; +import com.iformall.service.WxMsgCallbackService; +import com.iformall.sms.EnumSMSChannel; import com.iformall.sms.SMSFactory; +import com.iformall.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -15,6 +22,7 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.util.Date; import java.util.List; import java.util.Map; @@ -26,7 +34,13 @@ public class WxMsgModelSchedule { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - WxMsgModelMapper WxMsgModelMapper; + WxMsgModelMapper wxMsgModelMapper; + + @Autowired + WxMsgCallbackMapper wxMsgCallbackMapper; + + @Autowired + WxMsgCallbackService wxMsgCallbackService; @Autowired WxMsgConfigMapper wxMsgConfigMapper; @@ -36,7 +50,7 @@ public class WxMsgModelSchedule { public void querySmsTemplate() { WxMsgModel msgModel = new WxMsgModel(); msgModel.setStatus(EnumMsgModelStatus.AUDITING.getCode()); - List aliYunList = WxMsgModelMapper.findAliYunList(msgModel); + List aliYunList = wxMsgModelMapper.findAliYunList(msgModel); if(!aliYunList.isEmpty()){ Map> collect = aliYunList.stream().collect(groupingBy(WxMsgModel::getTenantId)); for (String tenantId:collect.keySet()) { @@ -62,7 +76,7 @@ public class WxMsgModelSchedule { updModel.setStatus(templateStatus.intValue() == 1?EnumMsgModelStatus.SUCCESS.getCode():EnumMsgModelStatus.FAIL.getCode()); updModel.setReason(reason); updModel.setModelCode(templateCode); - WxMsgModelMapper.updateByCode(updModel); + wxMsgModelMapper.updateByCode(updModel); } } }catch (Exception e){ @@ -74,9 +88,46 @@ public class WxMsgModelSchedule { } } + } + @Async + @Scheduled(cron = "0 */30 * * * ?") // + public void querySendDetails() { + WxMsgCallback msgCallback = new WxMsgCallback(); + msgCallback.setStatus(EnumMsgSendStatus.MSG_SENDING.getCode()); + String before5dayStr = DateUtils.getTimeBefore(4, new Date()); + Date before5day = DateUtils.stringToDate(before5dayStr); + msgCallback.setCreateStartTime(before5day);//近5天的短信 + List list = wxMsgCallbackMapper.findList(msgCallback); + if(!list.isEmpty()){ + Map> collect = list.stream().collect(groupingBy(WxMsgCallback::getTenantId)); + for (String tenantId:collect.keySet()) { + WxMsgConfig wxMsgConfig = new WxMsgConfig(); + wxMsgConfig.setTenantId(tenantId); + List wxMsgConfigs = wxMsgConfigMapper.findList(wxMsgConfig); + if (wxMsgConfigs.size() == 0){ + logger.error("您还未接入短信运营商,请联系平台管理员"); + }else{ + wxMsgConfig = wxMsgConfigs.get(0); + List wxMsgCallbacks = collect.get(tenantId); + for (WxMsgCallback callback:wxMsgCallbacks) { + try{ + String result = SMSFactory.querySendDetails(wxMsgConfig,callback.getPhone(),callback.getBatchNo(),callback.getCreatetime()); + if(StringUtils.isNotBlank(result)){ + Map map = JSON.parseObject(result, Map.class); + String smsChannel = map.get("smsChannel"); + if(EnumSMSChannel.ALIYUN.name().equals(smsChannel)){ + wxMsgCallbackService.receivemsgAliyun(map); + } + } + }catch (Exception e){ + logger.error("查询模板审核状态失败"+e.getMessage()); + } + } + } - + } + } } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMsgCallback.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMsgCallback.java index 2967306a1..a3a916aeb 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMsgCallback.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMsgCallback.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; @@ -47,4 +48,7 @@ public class WxMsgCallback extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "业务ID", name = "businessId") private Long businessId; + + @TableField(exist = false) + private Date createStartTime; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiver.java b/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiver.java index 29e2a79c5..bb197b311 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiver.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiver.java @@ -1,10 +1,13 @@ package com.iformall.domain.po; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.douyin.pay.orderQuery.QueryMerchantResult; import lombok.Data; import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.StringUtils; import java.util.Date; @@ -59,6 +62,39 @@ public class WxProfitSharingReceiver extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "0,不使用 1,使用", name = "isUse") private Integer isUse; + @io.swagger.annotations.ApiModelProperty(value = "进件状态", name = "ttImportStatus") + private String ttImportStatus; + + @TableField(exist = false) + private Integer wxImportStatus; + @TableField(exist = false) + private Integer alipayImportStatus; + @TableField(exist = false) + private Integer hzImportStatus; + + private QueryMerchantResult getMerchantResult(){ + QueryMerchantResult queryMerchantResult = null; + try{ + if(StringUtils.isNotBlank(this.ttImportStatus)) { + queryMerchantResult = JSON.parseObject(this.ttImportStatus, QueryMerchantResult.class); + } + }catch(Exception e){} + if(queryMerchantResult == null){ + queryMerchantResult = new QueryMerchantResult(); + } + return queryMerchantResult; + } + + public Integer getWxImportStatus(){ + return getMerchantResult().getWx(); + } + public Integer getAlipayImportStatus(){ + return getMerchantResult().getAlipay(); + } + public Integer getHzImportStatus(){ + return getMerchantResult().getHz(); + } + @io.swagger.annotations.ApiModelProperty(value = "进件页面", name = "ttImportUrl") private String ttImportUrl; diff --git a/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java b/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java index 3d687fb31..586a7cf66 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java +++ b/mallinkService/src/main/java/com/iformall/douyin/pay/DouYinPayHelper.java @@ -295,6 +295,7 @@ public class DouYinPayHelper { QueryMerchantResult result = new QueryMerchantResult(); result.setWx(jsonObject.getInteger("wx")); result.setAlipay(jsonObject.getInteger("alipay")); + result.setHz(jsonObject.getInteger("hz")); return result; }else { log.error("queryMerchantStatus reponse error. request: "+JSON.toJSONString(map)+" response:"+response); diff --git a/mallinkService/src/main/java/com/iformall/douyin/pay/orderQuery/QueryMerchantResult.java b/mallinkService/src/main/java/com/iformall/douyin/pay/orderQuery/QueryMerchantResult.java index ef9804435..a89c71de2 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/pay/orderQuery/QueryMerchantResult.java +++ b/mallinkService/src/main/java/com/iformall/douyin/pay/orderQuery/QueryMerchantResult.java @@ -7,4 +7,6 @@ public class QueryMerchantResult { private Integer wx;//微信渠道进件状态,0-未进件、1-进件成功、2-进件失败、3-审核中、4-冻结中 private Integer alipay;//支付宝渠道进件状态,0-未进件、1-进件成功、2-进件失败、3-审核中 + private Integer hz;//抖音支付(合众)渠道进件状态,0-未进件、1-进件成功、2-进件失败、3-审核中 + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 5fe29b389..6b7c2220b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -401,16 +401,21 @@ public class WxMerchantServiceImpl implements WxMerchantService { wxRentContract.setMerchantId(id); long countRentContract = wxRentContractMapper.selectList(new QueryWrapper<>(wxRentContract)).parallelStream(). filter(c -> EnumRentContractStatus.getValidStatus().contains(c.getStatus())).count(); - + if(countRentContract > 0){ + throw new MallinkException(ErrorCode.SHOP_CONTRACT_HAS_CONNECT.getCode(),"存在租赁合同"); + } //是否有物业合同 WxPropertyContract wxPropertyContract = new WxPropertyContract(); wxPropertyContract.setMerchantId(id); long countPropertyContract = wxPropertyContractMapper.selectList(new QueryWrapper<>(wxPropertyContract)).parallelStream(). filter(c -> EnumRentContractStatus.getValidStatus().contains(c.getStatus())).count(); //商户状态停用-没有租赁合同和物业合同才允许停用 - if (countRentContract == 0 || countPropertyContract == 0){ - wxMerchant.setStatus(EnumMerchantStatus.NOT_VALID.getCode()); - wxMerchantMapper.updateById(wxMerchant); +// if (countRentContract == 0 || countPropertyContract == 0){ +// wxMerchant.setStatus(EnumMerchantStatus.NOT_VALID.getCode()); +// wxMerchantMapper.updateById(wxMerchant); +// } + if(countPropertyContract > 0){ + throw new MallinkException(ErrorCode.SHOP_CONTRACT_HAS_CONNECT.getCode(),"存在物业合同"); } //解绑商铺-没有租赁合同或物业合同才可以 if (countRentContract == 0 || countPropertyContract == 0) { diff --git a/mallinkService/src/main/java/com/iformall/sms/SMSExcutor.java b/mallinkService/src/main/java/com/iformall/sms/SMSExcutor.java index 5174cc208..822a7c814 100644 --- a/mallinkService/src/main/java/com/iformall/sms/SMSExcutor.java +++ b/mallinkService/src/main/java/com/iformall/sms/SMSExcutor.java @@ -1,5 +1,7 @@ package com.iformall.sms; +import java.util.Date; + public interface SMSExcutor { String sendMsg(String secret, String bid, String publickey,String phone, String signature, @@ -12,4 +14,6 @@ public interface SMSExcutor { String querySmsTemplate(String templateCode); + + String querySendDetail(String phone, String bizId, Date sendDate); } diff --git a/mallinkService/src/main/java/com/iformall/sms/SMSFactory.java b/mallinkService/src/main/java/com/iformall/sms/SMSFactory.java index 81c891d59..65afa3c3c 100644 --- a/mallinkService/src/main/java/com/iformall/sms/SMSFactory.java +++ b/mallinkService/src/main/java/com/iformall/sms/SMSFactory.java @@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import java.util.Date; @Component public class SMSFactory { @@ -68,4 +69,8 @@ public class SMSFactory { return getSendExcutor(wxMsgConfig).querySmsTemplate(templateCode); } + public static String querySendDetails(WxMsgConfig wxMsgConfig, String phone, String bizId, Date sendDate) { + return getSendExcutor(wxMsgConfig).querySendDetail(phone, bizId, sendDate); + } + } diff --git a/mallinkService/src/main/java/com/iformall/sms/aliyun/AliyunSMS.java b/mallinkService/src/main/java/com/iformall/sms/aliyun/AliyunSMS.java index bedc1d369..01cc75ec3 100644 --- a/mallinkService/src/main/java/com/iformall/sms/aliyun/AliyunSMS.java +++ b/mallinkService/src/main/java/com/iformall/sms/aliyun/AliyunSMS.java @@ -8,15 +8,20 @@ import com.aliyuncs.dysmsapi.model.v20170525.*; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; +import com.iformall.sms.EnumSMSChannel; import com.iformall.sms.SMSExcutor; import com.iformall.sms.SMSResult; import com.iformall.sms.aliyun.bean.*; +import com.iformall.utils.DateUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; @Component @Slf4j @@ -79,6 +84,41 @@ public class AliyunSMS implements SMSExcutor { return null; } + @Override + public String querySendDetail(String phone, String bizId, Date sendDate) { + Query query = new Query(); + query.setPhoneNumber(phone); + query.setBizId(bizId); + query.setSendDate(sendDate); + query.setPageSize(10L); + query.setCurrentPage(1L); + QuerySendDetailsResponse querySendDetailsResponse = this.querySendDetails(query); + //获取返回结果 + if(querySendDetailsResponse.getCode() != null && querySendDetailsResponse.getCode().equals("OK") + && querySendDetailsResponse.getSmsSendDetailDTOs() != null + && !querySendDetailsResponse.getSmsSendDetailDTOs().isEmpty()){ + QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO = querySendDetailsResponse.getSmsSendDetailDTOs().get(0); + long sendStatus = smsSendDetailDTO.getSendStatus().longValue(); + String outId = smsSendDetailDTO.getOutId(); + String errCode = smsSendDetailDTO.getErrCode(); + Map map = new HashMap<>(); + map.put("smsChannel", EnumSMSChannel.ALIYUN.name()); + if(sendStatus == 2l){//1:等待回执。2:发送失败。3:发送成功。 + map.put("success","false"); + }else if(sendStatus == 3l){ + map.put("success","true"); + }else{ + return null; + } + map.put("biz_id",bizId); + map.put("out_id",outId); + map.put("err_msg",errCode); + return JSON.toJSONString(map); + } + return null; + } + + /** * 发送短信 * @param sms diff --git a/mallinkService/src/main/java/com/iformall/sms/wiwide/WiwideUtil.java b/mallinkService/src/main/java/com/iformall/sms/wiwide/WiwideUtil.java index a34d3bd91..945c662fa 100644 --- a/mallinkService/src/main/java/com/iformall/sms/wiwide/WiwideUtil.java +++ b/mallinkService/src/main/java/com/iformall/sms/wiwide/WiwideUtil.java @@ -12,10 +12,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.TreeMap; +import java.util.*; @Component public class WiwideUtil implements SMSExcutor { @@ -41,6 +38,11 @@ public class WiwideUtil implements SMSExcutor { return null; } + @Override + public String querySendDetail(String phone, String bizId, Date sendDate) { + return null; + } + public static String addTemplate(String secret, String bid, String publickey, String signature, String content, String notifyUrl, String verifysms) { //请求api数据排序 TreeMap message = new TreeMap<>(); diff --git a/mallinkService/src/main/resources/mapper/WxMsgCallbackMapper.xml b/mallinkService/src/main/resources/mapper/WxMsgCallbackMapper.xml index 2636e5e30..f630528fd 100644 --- a/mallinkService/src/main/resources/mapper/WxMsgCallbackMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMsgCallbackMapper.xml @@ -77,7 +77,10 @@ and `createtime` = #{createtime} - + + + AND `createtime` >= #{createStartTime} + and id in diff --git a/mallinkService/src/main/resources/mapper/WxProfitSharingReceiverMapper.xml b/mallinkService/src/main/resources/mapper/WxProfitSharingReceiverMapper.xml index 166ad52d3..b66a2ab38 100644 --- a/mallinkService/src/main/resources/mapper/WxProfitSharingReceiverMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxProfitSharingReceiverMapper.xml @@ -18,13 +18,14 @@ + `id`,`tenant_id`,`parent_tenant_id`,`merchant_id`,`receiver_type`,`receiver_account`,`receiver_comments`,`create_time`,`update_time`,`sharing_type`,`bank_no`,`true_name`,`bank_code`,`status`,`parameter`,`is_use` - ,`tt_import_url`,`tt_balance_url` + ,`tt_import_status`,`tt_import_url`,`tt_balance_url` @@ -101,6 +102,15 @@ and `is_use` = #{isUse} + + and `tt_import_status` -> '$.wx' = #{wxImportStatus} + + + and `tt_import_status` -> '$.alipay' = #{alipayImportStatus} + + + and `tt_import_status` -> '$.hz' = #{hzImportStatus} + and id in From 1cce6ce114455a0a04e018aaabe4a9088bb8f53b Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 28 Jul 2022 09:53:17 +0800 Subject: [PATCH 2/4] =?UTF-8?q?//=20test=20=E5=B1=8F=E8=94=BD=E9=80=80?= =?UTF-8?q?=E6=AC=BE=20=E7=9F=AD=E4=BF=A1=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/callback/TtPayController.java | 64 +++++++++---------- .../callback/WxMsgCallbackController.java | 12 ++-- .../controller/callback/WxPayController.java | 22 +++---- 3 files changed, 49 insertions(+), 49 deletions(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/TtPayController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/TtPayController.java index 682428937..fd5a336c1 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/TtPayController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/TtPayController.java @@ -194,38 +194,38 @@ public class TtPayController extends BaseController { } } }else if("refund".equals(type)){//退款回调 - String cp_refundno,status; - Integer refund_amount; - if(is2_0){ - cp_refundno = (String) pMap.get("out_refund_no"); - status = (String) pMap.get("status"); - refund_amount = (Integer) pMap.get("refund_total_amount"); - }else{ - cp_refundno = (String) pMap.get("cp_refundno"); - status = (String) pMap.get("status"); - refund_amount = (Integer) pMap.get("refund_amount"); - } - - Map map = new HashMap<>(); - map.put("appid",appid); - map.put("cp_refundno",cp_refundno); - map.put("status",status); - map.put("refund_amount",refund_amount.toString()); -// wxRefundOrderService.notify(map, EnumPayWay.PAY_WAY_TT); - - String jsonMsg = JSON.toJSONString(map); - - FmInsideNotifyRefundSuccessMsg refundSuccessMsg = new FmInsideNotifyRefundSuccessMsg(); - refundSuccessMsg.setMsgType(EnumMsgRecordType.INSIDE_NOTIFY_REFUND_SUCCESS.getCode()); - refundSuccessMsg.setDelayTimeLevel(3); - refundSuccessMsg.setPayWay(EnumPayWay.PAY_WAY_TT.getCode()); - refundSuccessMsg.setJsonMsg(jsonMsg); - - // response = wxRefundOrderService.notify(paramMap, EnumPayWay.PAY_WAY_WEAPP); - mqBaseProducer.sendMessage(refundSuccessMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); - - resultMap.put("err_no",0); - resultMap.put("err_tips","success"); +// String cp_refundno,status; +// Integer refund_amount; +// if(is2_0){ +// cp_refundno = (String) pMap.get("out_refund_no"); +// status = (String) pMap.get("status"); +// refund_amount = (Integer) pMap.get("refund_total_amount"); +// }else{ +// cp_refundno = (String) pMap.get("cp_refundno"); +// status = (String) pMap.get("status"); +// refund_amount = (Integer) pMap.get("refund_amount"); +// } +// +// Map map = new HashMap<>(); +// map.put("appid",appid); +// map.put("cp_refundno",cp_refundno); +// map.put("status",status); +// map.put("refund_amount",refund_amount.toString()); +//// wxRefundOrderService.notify(map, EnumPayWay.PAY_WAY_TT); +// +// String jsonMsg = JSON.toJSONString(map); +// +// FmInsideNotifyRefundSuccessMsg refundSuccessMsg = new FmInsideNotifyRefundSuccessMsg(); +// refundSuccessMsg.setMsgType(EnumMsgRecordType.INSIDE_NOTIFY_REFUND_SUCCESS.getCode()); +// refundSuccessMsg.setDelayTimeLevel(3); +// refundSuccessMsg.setPayWay(EnumPayWay.PAY_WAY_TT.getCode()); +// refundSuccessMsg.setJsonMsg(jsonMsg); +// +// // response = wxRefundOrderService.notify(paramMap, EnumPayWay.PAY_WAY_WEAPP); +// mqBaseProducer.sendMessage(refundSuccessMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); +// +// resultMap.put("err_no",0); +// resultMap.put("err_tips","success"); }else if("settle".equals(type)){ } diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxMsgCallbackController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxMsgCallbackController.java index 3bf488541..ca70e8ea7 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxMsgCallbackController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxMsgCallbackController.java @@ -76,12 +76,12 @@ public class WxMsgCallbackController extends BaseController { logger.debug("[" + getIpAddr() + "] WxMsgCallbackController::receivemsgAliyun"); logger.info(param.toString()); try { - if(param != null && param.size() > 0){ - for (Map p:param) { - //解析param数据插入数据库中 - wxMsgCallbackService.receivemsgAliyun(p); - } - } +// if(param != null && param.size() > 0){ +// for (Map p:param) { +// //解析param数据插入数据库中 +// wxMsgCallbackService.receivemsgAliyun(p); +// } +// } }catch(Exception e){ logger.error("aliyun 短信回调ERROR",e); diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxPayController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxPayController.java index d7754fb13..eb87abe6a 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxPayController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxPayController.java @@ -130,17 +130,17 @@ public class WxPayController extends BaseController { try { xml = IOUtils.toString(request.getInputStream(), Charset.forName("UTF-8")); logger.info(xml); - paramMap = WxPayment.xmlToMap(xml); - String jsonMsg = JSON.toJSONString(paramMap); - - FmInsideNotifyRefundSuccessMsg refundSuccessMsg = new FmInsideNotifyRefundSuccessMsg(); - refundSuccessMsg.setMsgType(EnumMsgRecordType.INSIDE_NOTIFY_REFUND_SUCCESS.getCode()); - refundSuccessMsg.setDelayTimeLevel(3); - refundSuccessMsg.setPayWay(EnumPayWay.PAY_WAY_WECHAT.getCode()); - refundSuccessMsg.setJsonMsg(jsonMsg); - - // response = wxRefundOrderService.notify(paramMap, EnumPayWay.PAY_WAY_WEAPP); - mqBaseProducer.sendMessage(refundSuccessMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); +// paramMap = WxPayment.xmlToMap(xml); +// String jsonMsg = JSON.toJSONString(paramMap); +// +// FmInsideNotifyRefundSuccessMsg refundSuccessMsg = new FmInsideNotifyRefundSuccessMsg(); +// refundSuccessMsg.setMsgType(EnumMsgRecordType.INSIDE_NOTIFY_REFUND_SUCCESS.getCode()); +// refundSuccessMsg.setDelayTimeLevel(3); +// refundSuccessMsg.setPayWay(EnumPayWay.PAY_WAY_WECHAT.getCode()); +// refundSuccessMsg.setJsonMsg(jsonMsg); +// +// // response = wxRefundOrderService.notify(paramMap, EnumPayWay.PAY_WAY_WEAPP); +// mqBaseProducer.sendMessage(refundSuccessMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); logger.info("refund wxpay, notify success, req : " + xml + ", resp: " + response.toString()); return response; From 20e9d4537c3085bf1d4ad21cee5c70372bc575a8 Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 28 Jul 2022 11:01:24 +0800 Subject: [PATCH 3/4] // log --- .../service/pay/service/refund/wx/WxRefundAdapterService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/refund/wx/WxRefundAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/refund/wx/WxRefundAdapterService.java index 4ae955041..9458ac013 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/refund/wx/WxRefundAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/refund/wx/WxRefundAdapterService.java @@ -416,6 +416,7 @@ public class WxRefundAdapterService implements RefundPayAdapterService{ record.getTransactionId(), record.getPayOrderNo(), String.valueOf(record.getId()), record.getRefundId(), payAccount.getApiKey()); String response = WxPay.orderRefundQuery(paramMap); + log.info("微信退款订单:" + record.toString() + ", response: " + response.toString()); Map returnMap = WxPayment.xmlToMap(response); String return_code = returnMap.get("return_code"); if("SUCCESS".equals(return_code)){ @@ -460,6 +461,7 @@ public class WxRefundAdapterService implements RefundPayAdapterService{ appInfo.getParentAppId(), appInfo.getAppId(), payAccount.getMchId(), payAccount.getSubMchId(), record.getTransactionId(), record.getPayOrderNo(), String.valueOf(record.getId()), record.getRefundId(), payAccount.getApiKey()); String response = WxPay.orderRefundQuery(paramMap); + log.info("微信退款订单:" + record.toString() + ", response: " + response.toString()); Map returnMap = WxPayment.xmlToMap(response); String return_code = returnMap.get("return_code"); if("SUCCESS".equals(return_code)){ From 052e0e6c26b68d8ae038f2ff10dedec2e9e4763e Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 28 Jul 2022 12:14:15 +0800 Subject: [PATCH 4/4] // test --- .../iformall/controller/WxOrderController.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index 8c398ce43..b9b1b55f7 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -253,14 +253,14 @@ public class WxOrderController extends BaseController { data.put("pay_expire_seconds",14*60); data.put("order_entry_schema",wxOrderService.getOrderEntrySchema(order.getMainOrderId())); -// List> order_goods_info = new ArrayList<>(); -// for (CreateOrderCallback.Good good:createOrderCallback.getGoods()) { -// Map map_info = new HashMap<>(); -// map_info.put("goods_id",good.getGoodsId()); -// map_info.put("merchant_uid","71070743816369953633"); -// order_goods_info.add(map_info); -// } -// data.put("order_goods_info",order_goods_info); + List> order_goods_info = new ArrayList<>(); + for (CreateOrderCallback.Good good:createOrderCallback.getGoods()) { + Map map_info = new HashMap<>(); + map_info.put("goods_id",good.getGoodsId()); + map_info.put("merchant_uid","71228500084451433283"); + order_goods_info.add(map_info); + } + data.put("order_goods_info",order_goods_info);