diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java index b52a25c43..2bb1c7478 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java @@ -13,15 +13,20 @@ import com.jsowell.common.util.DateUtils; import com.jsowell.pile.domain.AdapayMemberAccount; import com.jsowell.pile.domain.MemberPlateNumberRelation; import com.jsowell.pile.domain.OrderBasicInfo; +import com.jsowell.pile.dto.ApplyRefundDTO; import com.jsowell.pile.dto.CarVinDTO; import com.jsowell.pile.dto.QueryOrderDTO; import com.jsowell.pile.service.IAdapayMemberAccountService; +import com.jsowell.pile.service.IMemberBasicInfoService; import com.jsowell.pile.service.IMemberPlateNumberRelationService; import com.jsowell.pile.service.IOrderBasicInfoService; +import com.jsowell.pile.vo.MemberBalanceVO; +import com.jsowell.service.OrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.math.BigDecimal; import java.util.List; /** @@ -44,9 +49,16 @@ public class TempController extends BaseController { @Autowired private AdapayMemberService adapayMemberService; + @Autowired + private IMemberBasicInfoService memberBasicInfoService; + + @Autowired + private OrderService orderService; + /** * 临时刷数据接口 * http://localhost:8080/temp/tempUpdateVirtualAmount + * * @param request * @return */ @@ -71,6 +83,7 @@ public class TempController extends BaseController { /** * 临时订单退款 * http://localhost:8080/temp/tempOrderRefund + * * @return */ @GetMapping("tempOrderRefund") @@ -93,6 +106,7 @@ public class TempController extends BaseController { /** * 批量退款接口 * http://localhost:8080/temp/batchRefund + * * @param dto * @return */ @@ -116,6 +130,7 @@ public class TempController extends BaseController { /** * 临时接口,计算站点订单报表 * http://localhost:8080/temp/tempGenerateDailyOrderReports + * * @param dto * @return */ @@ -148,6 +163,7 @@ public class TempController extends BaseController { /** * 临时接口测试vin查询方法 + * * @param dto * @return */ @@ -190,6 +206,7 @@ public class TempController extends BaseController { /** * 运营商分账手动接口 * http://localhost:8080/temp/orderSplittingOperations + * * @return */ @PostMapping("/orderSplittingOperations") @@ -239,4 +256,36 @@ public class TempController extends BaseController { logger.info("测试余额支付接口result:{}", JSONObject.toJSONString(response)); return response; } + + + /** + * 批量退款接口 + * + * @param dto + * @return + */ + @PostMapping("/batchRefund") + public RestApiResponse batchRefund(@RequestBody ApplyRefundDTO dto) { + logger.info("批量退款接口 params:{}", JSONObject.toJSONString(dto)); + RestApiResponse response = null; + List memberIdList = dto.getMemberIdList(); + try { + // 查询出本金金额 + List memberRefundAmount = memberBasicInfoService.getMemberRefundAmount(memberIdList); + // ApplyRefundDTO refundDTO; + for (MemberBalanceVO memberBalanceVO : memberRefundAmount) { + dto = new ApplyRefundDTO(); + dto.setMemberId(memberBalanceVO.getMemberId()); + dto.setRefundType("2"); + dto.setRefundAmount(new BigDecimal(memberBalanceVO.getPrincipalAmount())); + // 调用退款接口 + orderService.weChatRefund(dto); + } + response = new RestApiResponse<>(); + } catch (Exception e) { + logger.error("批量退款接口 error,", e); + response = new RestApiResponse<>(e); + } + return response; + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/ApplyRefundDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/ApplyRefundDTO.java index f08fc8f5c..67d18f31e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/ApplyRefundDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/ApplyRefundDTO.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; +import java.util.List; /** * 申请退款dto @@ -35,4 +36,9 @@ public class ApplyRefundDTO { * 退款金额 */ private BigDecimal refundAmount; + + /** + * memberId 数组(批量退款) + */ + private List memberIdList; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletLogMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletLogMapper.java index 2b1f184e6..45a01dded 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletLogMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberWalletLogMapper.java @@ -3,6 +3,7 @@ package com.jsowell.pile.mapper; import com.jsowell.pile.domain.MemberWalletLog; import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; +import com.jsowell.pile.vo.MemberBalanceVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -38,4 +39,11 @@ public interface MemberWalletLogMapper { * @return */ List getMemberWalletDetail(@Param("dto") UniAppQueryMemberBalanceDTO dto); + + /** + * 批量查询用户可退款金额 + * @param memberIds + * @return + */ + List getMemberRefundAmount(List memberIds); } \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java index a6de2151b..c8b1df036 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IMemberBasicInfoService.java @@ -3,6 +3,7 @@ package com.jsowell.pile.service; import com.jsowell.pile.domain.MemberBasicInfo; import com.jsowell.pile.dto.PlatformTesterDTO; import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO; +import com.jsowell.pile.vo.MemberBalanceVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO; @@ -128,4 +129,12 @@ public interface IMemberBasicInfoService { * @return */ List getMemberWalletDetail(UniAppQueryMemberBalanceDTO dto); + + + /** + * 批量查询用户可退款金额 + * @param memberIds + * @return + */ + List getMemberRefundAmount(List memberIds); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index 0a7a1ccb0..a4ae0785c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java @@ -18,6 +18,7 @@ import com.jsowell.pile.mapper.MemberWalletInfoMapper; import com.jsowell.pile.mapper.MemberWalletLogMapper; import com.jsowell.pile.service.IMemberBasicInfoService; import com.jsowell.pile.service.IPileBasicInfoService; +import com.jsowell.pile.vo.MemberBalanceVO; import com.jsowell.pile.vo.uniapp.MemberVO; import com.jsowell.pile.vo.uniapp.MemberWalletLogVO; import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO; @@ -332,5 +333,15 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService { return memberWalletLogMapper.getMemberWalletDetail(dto); } + /** + * 批量查询用户可退款金额 + * @param memberIds + * @return + */ + @Override + public List getMemberRefundAmount(List memberIds) { + return memberWalletLogMapper.getMemberRefundAmount(memberIds); + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/MemberBalanceVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/MemberBalanceVO.java new file mode 100644 index 000000000..578761a16 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/MemberBalanceVO.java @@ -0,0 +1,16 @@ +package com.jsowell.pile.vo; + +import lombok.Data; + +/** + * TODO + * + * @author Lemon + * @Date 2023/8/10 14:36 + */ +@Data +public class MemberBalanceVO { + private String memberId; + + private String principalAmount; +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberWalletLogMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberWalletLogMapper.xml index 3f83f9514..4583bb0d2 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberWalletLogMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberWalletLogMapper.xml @@ -1,72 +1,89 @@ - - - - - - - - - - - - - - - id, member_id, `type`, sub_type, amount, category, create_by, create_time - + + + + + + + + + + + + + + + id, + member_id, + `type`, + sub_type, + amount, + category, + create_by, + create_time + - - insert into member_wallet_log (member_id, `type`, - sub_type, amount, category, related_order_code, create_by) - values - - ( - #{item.memberId,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, #{item.subType,jdbcType=VARCHAR}, - #{item.amount,jdbcType=DECIMAL}, #{item.category,jdbcType=CHAR}, #{item.relatedOrderCode,jdbcType=VARCHAR}, - #{item.createBy,jdbcType=VARCHAR} - ) - - + + insert into member_wallet_log (member_id, `type`, + sub_type, amount, category, related_order_code, create_by) + values + + (#{item.memberId,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, #{item.subType,jdbcType=VARCHAR}, + #{item.amount,jdbcType=DECIMAL}, #{item.category,jdbcType=CHAR}, #{item.relatedOrderCode,jdbcType=VARCHAR}, + #{item.createBy,jdbcType=VARCHAR}) + + - + - + + + \ No newline at end of file