diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java index 82af8b6ed..17adf8724 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PayController.java @@ -309,6 +309,14 @@ public class PayController extends BaseController { return response; } + /** + * 汇付支付退款 + */ + public RestApiResponse adapayRefund(HttpServletRequest request, @RequestBody WeChatRefundDTO dto) { + + return null; + } + /** * 汇付支付回调 * ... diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 708d5adb6..8017870d7 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -2,6 +2,8 @@ import cn.hutool.json.JSONUtil; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.google.common.collect.ImmutableMap; import com.jsowell.JsowellApplication; import com.jsowell.common.constant.CacheConstants; @@ -138,6 +140,20 @@ public class SpringBootTestController { static final String ALGORITHM_MAC = "HmacMD5"; + @Autowired + private AdapayCallbackRecordService adapayCallbackRecordService; + + @Test + public void testSaveCallback() throws JsonProcessingException { + String data = "{\"app_id\":\"app_d0c80cb1-ffc8-48cb-a030-fe9bec823aaa\",\"created_time\":\"20230527100758\",\"description\":\"{\\\"type\\\":\\\"balance\\\",\\\"memberId\\\":\\\"29336349\\\"}\",\"end_time\":\"20230527100810\",\"expend\":{\"bank_type\":\"OTHERS\",\"open_id\":\"o8jhot6PJF93EPhNISsXi28dKdS8\",\"sub_open_id\":\"o4REX5MprZfTaLnVNxfdOY-wnwGI\"},\"fee_amt\":\"0.00\",\"id\":\"002212023052710075810508353847861903360\",\"order_no\":\"4c457bd474334d5eaf82f4795265b6ad\",\"out_trans_id\":\"4200001864202305270647556621\",\"party_order_id\":\"02212305273647819807712\",\"pay_amt\":\"0.01\",\"pay_channel\":\"wx_lite\",\"real_amt\":\"0.01\",\"share_eq\":\"Y\",\"status\":\"succeeded\",\"wx_user_id\":\"\"}"; + JSONObject jsonObject = JSON.parseObject(data); + ObjectMapper mapper = new ObjectMapper(); + mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); + AdapayCallbackRecord adapayCallbackRecord = mapper.readValue(jsonObject.toJSONString(), AdapayCallbackRecord.class); + adapayCallbackRecord.setExpend(jsonObject.getString("expend")); + adapayCallbackRecordService.saveAdapayCallbackRecord(adapayCallbackRecord); + } + @Test public void testGenerateLianlianToken() throws UnsupportedEncodingException { String OperatorID = "425010765"; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayCallbackRecord.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayCallbackRecord.java index 43424e889..d4cffbd70 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayCallbackRecord.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/AdapayCallbackRecord.java @@ -1,6 +1,10 @@ package com.jsowell.pile.domain; +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; import java.io.Serializable; import java.math.BigDecimal; @@ -11,11 +15,16 @@ import java.util.Date; * @author */ @Data +@NoArgsConstructor +@AllArgsConstructor +@Builder public class AdapayCallbackRecord implements Serializable { /** * 主键id */ - private String id; + private Integer id; + + private String paymentId; /** * 汇付商户appId @@ -37,7 +46,8 @@ public class AdapayCallbackRecord implements Serializable { */ private String endTime; - private Object expend; + @JsonIgnore + private String expend; private BigDecimal feeAmt; @@ -73,4 +83,5 @@ public class AdapayCallbackRecord implements Serializable { private String delFlag; private static final long serialVersionUID = 1L; + } \ No newline at end of file diff --git a/jsowell-pile/src/main/resources/mapper/pile/AdapayCallbackRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/AdapayCallbackRecordMapper.xml index d8135e678..8b73bedcb 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/AdapayCallbackRecordMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/AdapayCallbackRecordMapper.xml @@ -2,7 +2,8 @@ - + + @@ -22,7 +23,7 @@ - id, app_id, description, created_time, end_time, expend, fee_amt, order_no, out_trans_id, + id, payment_id, app_id, description, created_time, end_time, expend, fee_amt, order_no, out_trans_id, party_order_id, pay_amt, pay_channel, real_amt, share_eq, `status`, wx_user_id, create_time, del_flag @@ -37,22 +38,23 @@ where id = #{id,jdbcType=VARCHAR} - insert into adapay_callback_record (app_id, description, created_time, + insert into adapay_callback_record (payment_id, app_id, description, created_time, end_time, expend, fee_amt, order_no, out_trans_id, party_order_id, pay_amt, pay_channel, real_amt, - share_eq, `status`, wx_user_id, - create_time, del_flag) - values (#{appId,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{createdTime,jdbcType=VARCHAR}, + share_eq, `status`, wx_user_id) + values (#{paymentId,jdbcType=VARCHAR},#{appId,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{createdTime,jdbcType=VARCHAR}, #{endTime,jdbcType=VARCHAR}, #{expend,jdbcType=OTHER}, #{feeAmt,jdbcType=DECIMAL}, #{orderNo,jdbcType=VARCHAR}, #{outTransId,jdbcType=VARCHAR}, #{partyOrderId,jdbcType=VARCHAR}, #{payAmt,jdbcType=DECIMAL}, #{payChannel,jdbcType=VARCHAR}, #{realAmt,jdbcType=DECIMAL}, - #{shareEq,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR}, #{wxUserId,jdbcType=VARCHAR}, - #{createTime,jdbcType=TIMESTAMP}, #{delFlag,jdbcType=VARCHAR}) + #{shareEq,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR}, #{wxUserId,jdbcType=VARCHAR}) insert into adapay_callback_record + + payment_id, + app_id, @@ -106,6 +108,9 @@ + + #{paymentId,jdbcType=VARCHAR}, + #{appId,jdbcType=VARCHAR}, @@ -162,6 +167,9 @@ update adapay_callback_record + + payment_id = #{paymentId,jdbcType=VARCHAR}, + app_id = #{appId,jdbcType=VARCHAR}, @@ -218,7 +226,8 @@ update adapay_callback_record - set app_id = #{appId,jdbcType=VARCHAR}, + set payment_id = #{paymentId,jdbcType=VARCHAR}, + app_id = #{appId,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, created_time = #{createdTime,jdbcType=VARCHAR}, end_time = #{endTime,jdbcType=VARCHAR},