Browse Source

优化移动支付退款相关

lighter 3 months ago
parent
commit
6affb10035

+ 9 - 3
src/main/java/thyyxxk/wxservice_server/controller/api/PowersiMiPayPlugin.java

@@ -325,7 +325,7 @@ public class PowersiMiPayPlugin {
         refd.setRefdReason(request.getRefundReason());
         refd.setEcToken(request.getEcToken());
         refd.setPlatformOrderId(setlinfo.getPlatformOrderId());
-
+        dao.updateMedRedfId(refd.getMedRefdId(), refd.getMedOrgOrd());
         JSONObject raw = JSONObject.parseObject(JSONObject.toJSONString(refd));
         String body = dataHandler.buildReqData(raw);
         String url = "http://webhis.thyy.cn:8077/powersiMipRefund";
@@ -387,14 +387,20 @@ public class PowersiMiPayPlugin {
     public ResultVo<String> queryRefundState(@RequestParam("hisOrdNum") String hisOrdNum) throws Exception {
         QueryWrapper<PowersiMipSetlinfo> wrapper = new QueryWrapper<>();
         wrapper.eq("med_org_ord", hisOrdNum);
-        wrapper.ne("ord_state", OrdState.SETTLED);
         wrapper.isNotNull("platform_refd_id");
         PowersiMipSetlinfo setlinfo = dao.selectOne(wrapper);
         if (null == setlinfo) {
             return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
         }
+        if (setlinfo.getOrdState() == OrdState.REFUND_SUCCEED) {
+            return ResultVoUtil.success(OrdState.REFUND_SUCCEED.toString());
+        }
         JSONObject params = new JSONObject();
-        params.put("platformRefdId", setlinfo.getPlatformRefdId());
+        if (StringUtil.notBlank(setlinfo.getPlatformRefdId())) {
+            params.put("platformRefdId", setlinfo.getPlatformRefdId());
+        } else {
+            params.put("medRefdId", setlinfo.getMedRefdId());
+        }
         params.put("orgCodg", "H43010500370");
         JSONObject raw = JSONObject.parseObject(JSONObject.toJSONString(params));
         String body = dataHandler.buildReqData(raw);

+ 3 - 0
src/main/java/thyyxxk/wxservice_server/dao/api/PowersiPluginDao.java

@@ -39,6 +39,9 @@ public interface PowersiPluginDao extends BaseMapper<PowersiMipSetlinfo> {
             "ord_state=#{state} where med_org_ord=#{id}")
     void updateRevokeInfo(String staff, Date time, String refdId, String id, OrdState state);
 
+    @Update("update powersi_mip_setlinfo set med_refd_id=#{medRefdId} where med_org_ord=#{id}")
+    void updateMedRedfId(String medRefdId, String id);
+
     @Update("update powersi_mip_setlinfo set ord_state=#{state} where platform_refd_id=#{refdId}")
     void updateRefundState(String refdId, OrdState state);
 

+ 2 - 0
src/main/java/thyyxxk/wxservice_server/entity/medinsmobilepay/frompowersiplugin/request/PowersiMipSetlinfo.java

@@ -204,4 +204,6 @@ public class PowersiMipSetlinfo {
 	private String clrOptins;
 
 	private String clrType;
+
+	private String medRefdId;
 }