mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-11 21:40:19 +08:00
新增 批量退款临时接口
This commit is contained in:
@@ -13,15 +13,20 @@ import com.jsowell.common.util.DateUtils;
|
|||||||
import com.jsowell.pile.domain.AdapayMemberAccount;
|
import com.jsowell.pile.domain.AdapayMemberAccount;
|
||||||
import com.jsowell.pile.domain.MemberPlateNumberRelation;
|
import com.jsowell.pile.domain.MemberPlateNumberRelation;
|
||||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||||
|
import com.jsowell.pile.dto.ApplyRefundDTO;
|
||||||
import com.jsowell.pile.dto.CarVinDTO;
|
import com.jsowell.pile.dto.CarVinDTO;
|
||||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
import com.jsowell.pile.dto.QueryOrderDTO;
|
||||||
import com.jsowell.pile.service.IAdapayMemberAccountService;
|
import com.jsowell.pile.service.IAdapayMemberAccountService;
|
||||||
|
import com.jsowell.pile.service.IMemberBasicInfoService;
|
||||||
import com.jsowell.pile.service.IMemberPlateNumberRelationService;
|
import com.jsowell.pile.service.IMemberPlateNumberRelationService;
|
||||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,9 +49,16 @@ public class TempController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private AdapayMemberService adapayMemberService;
|
private AdapayMemberService adapayMemberService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IMemberBasicInfoService memberBasicInfoService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OrderService orderService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 临时刷数据接口
|
* 临时刷数据接口
|
||||||
* http://localhost:8080/temp/tempUpdateVirtualAmount
|
* http://localhost:8080/temp/tempUpdateVirtualAmount
|
||||||
|
*
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -71,6 +83,7 @@ public class TempController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 临时订单退款
|
* 临时订单退款
|
||||||
* http://localhost:8080/temp/tempOrderRefund
|
* http://localhost:8080/temp/tempOrderRefund
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("tempOrderRefund")
|
@GetMapping("tempOrderRefund")
|
||||||
@@ -93,6 +106,7 @@ public class TempController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 批量退款接口
|
* 批量退款接口
|
||||||
* http://localhost:8080/temp/batchRefund
|
* http://localhost:8080/temp/batchRefund
|
||||||
|
*
|
||||||
* @param dto
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -116,6 +130,7 @@ public class TempController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 临时接口,计算站点订单报表
|
* 临时接口,计算站点订单报表
|
||||||
* http://localhost:8080/temp/tempGenerateDailyOrderReports
|
* http://localhost:8080/temp/tempGenerateDailyOrderReports
|
||||||
|
*
|
||||||
* @param dto
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -148,6 +163,7 @@ public class TempController extends BaseController {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 临时接口测试vin查询方法
|
* 临时接口测试vin查询方法
|
||||||
|
*
|
||||||
* @param dto
|
* @param dto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -190,6 +206,7 @@ public class TempController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 运营商分账手动接口
|
* 运营商分账手动接口
|
||||||
* http://localhost:8080/temp/orderSplittingOperations
|
* http://localhost:8080/temp/orderSplittingOperations
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/orderSplittingOperations")
|
@PostMapping("/orderSplittingOperations")
|
||||||
@@ -239,4 +256,36 @@ public class TempController extends BaseController {
|
|||||||
logger.info("测试余额支付接口result:{}", JSONObject.toJSONString(response));
|
logger.info("测试余额支付接口result:{}", JSONObject.toJSONString(response));
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量退款接口
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/batchRefund")
|
||||||
|
public RestApiResponse<?> batchRefund(@RequestBody ApplyRefundDTO dto) {
|
||||||
|
logger.info("批量退款接口 params:{}", JSONObject.toJSONString(dto));
|
||||||
|
RestApiResponse<?> response = null;
|
||||||
|
List<String> memberIdList = dto.getMemberIdList();
|
||||||
|
try {
|
||||||
|
// 查询出本金金额
|
||||||
|
List<MemberBalanceVO> 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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import lombok.Data;
|
|||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 申请退款dto
|
* 申请退款dto
|
||||||
@@ -35,4 +36,9 @@ public class ApplyRefundDTO {
|
|||||||
* 退款金额
|
* 退款金额
|
||||||
*/
|
*/
|
||||||
private BigDecimal refundAmount;
|
private BigDecimal refundAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* memberId 数组(批量退款)
|
||||||
|
*/
|
||||||
|
private List<String> memberIdList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.jsowell.pile.mapper;
|
|||||||
|
|
||||||
import com.jsowell.pile.domain.MemberWalletLog;
|
import com.jsowell.pile.domain.MemberWalletLog;
|
||||||
import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO;
|
import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO;
|
||||||
|
import com.jsowell.pile.vo.MemberBalanceVO;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
|
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@@ -38,4 +39,11 @@ public interface MemberWalletLogMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<MemberWalletLogVO> getMemberWalletDetail(@Param("dto") UniAppQueryMemberBalanceDTO dto);
|
List<MemberWalletLogVO> getMemberWalletDetail(@Param("dto") UniAppQueryMemberBalanceDTO dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量查询用户可退款金额
|
||||||
|
* @param memberIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<MemberBalanceVO> getMemberRefundAmount(List<String> memberIds);
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@ package com.jsowell.pile.service;
|
|||||||
import com.jsowell.pile.domain.MemberBasicInfo;
|
import com.jsowell.pile.domain.MemberBasicInfo;
|
||||||
import com.jsowell.pile.dto.PlatformTesterDTO;
|
import com.jsowell.pile.dto.PlatformTesterDTO;
|
||||||
import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO;
|
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.MemberVO;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
|
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
|
||||||
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
|
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
|
||||||
@@ -128,4 +129,12 @@ public interface IMemberBasicInfoService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<MemberWalletLogVO> getMemberWalletDetail(UniAppQueryMemberBalanceDTO dto);
|
List<MemberWalletLogVO> getMemberWalletDetail(UniAppQueryMemberBalanceDTO dto);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量查询用户可退款金额
|
||||||
|
* @param memberIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<MemberBalanceVO> getMemberRefundAmount(List<String> memberIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import com.jsowell.pile.mapper.MemberWalletInfoMapper;
|
|||||||
import com.jsowell.pile.mapper.MemberWalletLogMapper;
|
import com.jsowell.pile.mapper.MemberWalletLogMapper;
|
||||||
import com.jsowell.pile.service.IMemberBasicInfoService;
|
import com.jsowell.pile.service.IMemberBasicInfoService;
|
||||||
import com.jsowell.pile.service.IPileBasicInfoService;
|
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.MemberVO;
|
||||||
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
|
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
|
||||||
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
|
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
|
||||||
@@ -332,5 +333,15 @@ public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
|
|||||||
return memberWalletLogMapper.getMemberWalletDetail(dto);
|
return memberWalletLogMapper.getMemberWalletDetail(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量查询用户可退款金额
|
||||||
|
* @param memberIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<MemberBalanceVO> getMemberRefundAmount(List<String> memberIds) {
|
||||||
|
return memberWalletLogMapper.getMemberRefundAmount(memberIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -1,72 +1,89 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.jsowell.pile.mapper.MemberWalletLogMapper">
|
<mapper namespace="com.jsowell.pile.mapper.MemberWalletLogMapper">
|
||||||
<resultMap id="BaseResultMap" type="com.jsowell.pile.domain.MemberWalletLog">
|
<resultMap id="BaseResultMap" type="com.jsowell.pile.domain.MemberWalletLog">
|
||||||
<!--@mbg.generated-->
|
<!--@mbg.generated-->
|
||||||
<!--@Table member_wallet_log-->
|
<!--@Table member_wallet_log-->
|
||||||
<id column="id" jdbcType="INTEGER" property="id" />
|
<id column="id" jdbcType="INTEGER" property="id"/>
|
||||||
<result column="member_id" jdbcType="VARCHAR" property="memberId" />
|
<result column="member_id" jdbcType="VARCHAR" property="memberId"/>
|
||||||
<result column="type" jdbcType="VARCHAR" property="type" />
|
<result column="type" jdbcType="VARCHAR" property="type"/>
|
||||||
<result column="sub_type" jdbcType="VARCHAR" property="subType" />
|
<result column="sub_type" jdbcType="VARCHAR" property="subType"/>
|
||||||
<result column="amount" jdbcType="DECIMAL" property="amount" />
|
<result column="amount" jdbcType="DECIMAL" property="amount"/>
|
||||||
<result column="category" jdbcType="CHAR" property="category" />
|
<result column="category" jdbcType="CHAR" property="category"/>
|
||||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
|
||||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
<!--@mbg.generated-->
|
<!--@mbg.generated-->
|
||||||
id, member_id, `type`, sub_type, amount, category, create_by, create_time
|
id,
|
||||||
</sql>
|
member_id,
|
||||||
|
`type`,
|
||||||
|
sub_type,
|
||||||
|
amount,
|
||||||
|
category,
|
||||||
|
create_by,
|
||||||
|
create_time
|
||||||
|
</sql>
|
||||||
|
|
||||||
<insert id="batchInsert">
|
<insert id="batchInsert">
|
||||||
insert into member_wallet_log (member_id, `type`,
|
insert into member_wallet_log (member_id, `type`,
|
||||||
sub_type, amount, category, related_order_code, create_by)
|
sub_type, amount, category, related_order_code, create_by)
|
||||||
values
|
values
|
||||||
<foreach collection="list" item="item" separator=",">
|
<foreach collection="list" item="item" separator=",">
|
||||||
(
|
(#{item.memberId,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, #{item.subType,jdbcType=VARCHAR},
|
||||||
#{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.amount,jdbcType=DECIMAL}, #{item.category,jdbcType=CHAR}, #{item.relatedOrderCode,jdbcType=VARCHAR},
|
#{item.createBy,jdbcType=VARCHAR})
|
||||||
#{item.createBy,jdbcType=VARCHAR}
|
</foreach>
|
||||||
)
|
</insert>
|
||||||
</foreach>
|
|
||||||
</insert>
|
|
||||||
|
|
||||||
<select id="getMemberBalanceChanges" resultType="com.jsowell.pile.vo.uniapp.MemberWalletLogVO">
|
<select id="getMemberBalanceChanges" resultType="com.jsowell.pile.vo.uniapp.MemberWalletLogVO">
|
||||||
SELECT
|
SELECT t1.member_id as memberId,
|
||||||
t1.member_id as memberId,
|
t1.type,
|
||||||
t1.type,
|
t1.sub_type as subType,
|
||||||
t1.sub_type as subType,
|
t1.amount,
|
||||||
t1.amount,
|
t1.category,
|
||||||
t1.category,
|
t1.create_time as transactionTime
|
||||||
t1.create_time as transactionTime
|
from member_wallet_log t1
|
||||||
from member_wallet_log t1
|
where t1.member_id = #{memberId,jdbcType=VARCHAR}
|
||||||
where
|
<if test="type != null and type != ''">
|
||||||
t1.member_id = #{memberId,jdbcType=VARCHAR}
|
and t1.type = #{type,jdbcType=VARCHAR}
|
||||||
<if test="type != null and type != ''">
|
</if>
|
||||||
and t1.type = #{type,jdbcType=VARCHAR}
|
order by t1.create_time DESC
|
||||||
</if>
|
</select>
|
||||||
order by t1.create_time DESC
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="getMemberWalletDetail" resultType="com.jsowell.pile.vo.uniapp.MemberWalletLogVO">
|
<select id="getMemberWalletDetail" resultType="com.jsowell.pile.vo.uniapp.MemberWalletLogVO">
|
||||||
SELECT
|
SELECT t1.member_id as memberId,
|
||||||
t1.member_id as memberId,
|
t1.type,
|
||||||
t1.type,
|
t1.sub_type as subType,
|
||||||
t1.sub_type as subType,
|
t1.amount,
|
||||||
t1.amount,
|
t1.category,
|
||||||
t1.category,
|
t1.related_order_code as relatedOrderCode,
|
||||||
t1.related_order_code as relatedOrderCode,
|
t2.pay_amount as payAmount,
|
||||||
t2.pay_amount as payAmount,
|
t2.order_amount as orderAmount,
|
||||||
t2.order_amount as orderAmount,
|
t2.refund_amount as refundAmount,
|
||||||
t2.refund_amount as refundAmount,
|
t1.create_time as transactionTime
|
||||||
t1.create_time as transactionTime
|
from member_wallet_log t1
|
||||||
from member_wallet_log t1
|
left join order_basic_info t2
|
||||||
left join order_basic_info t2
|
on t1.related_order_code = t2.order_code
|
||||||
on t1.related_order_code = t2.order_code
|
where t1.member_id = #{dto.memberId,jdbcType=VARCHAR}
|
||||||
where t1.member_id = #{dto.memberId,jdbcType=VARCHAR}
|
and t1.create_time <![CDATA[ >= ]]> #{dto.tradeDate,jdbcType=VARCHAR}
|
||||||
and t1.create_time <![CDATA[ >= ]]> #{dto.tradeDate,jdbcType=VARCHAR}
|
and t1.create_time <![CDATA[ < ]]> #{dto.endDate,jdbcType=VARCHAR}
|
||||||
and t1.create_time <![CDATA[ < ]]> #{dto.endDate,jdbcType=VARCHAR}
|
and t1.sub_type != '12'
|
||||||
and t1.sub_type != '12'
|
order by t1.create_time desc
|
||||||
order by t1.create_time desc
|
</select>
|
||||||
</select>
|
|
||||||
|
<select id="getMemberRefundAmount" resultType="com.jsowell.pile.vo.MemberBalanceVO">
|
||||||
|
select
|
||||||
|
member_id as memberId,
|
||||||
|
principal_balance as principalAmount
|
||||||
|
from
|
||||||
|
member_wallet_info
|
||||||
|
where
|
||||||
|
<if test="list != null and list.size() != 0">
|
||||||
|
member_id in
|
||||||
|
<foreach collection="list" item="memberId" open="(" separator="," close=")">
|
||||||
|
#{memberId,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user