Browse Source

退款逻辑

huangqizheng/feature-20250702092748-汇率合并
sunjiabei 16 hours ago
parent
commit
ba19635520
  1. 2
      src/main/java/com/example/demo/mapper/ConsumeMapper.java
  2. 6
      src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
  3. 11
      src/main/resources/mapper/ConsumeMapper.xml
  4. 1
      src/main/resources/mapper/RefundMapper.xml

2
src/main/java/com/example/demo/mapper/ConsumeMapper.java

@ -23,4 +23,6 @@ public interface ConsumeMapper {
List<ConsumeUser> selectBy(ConsumeUser consumeUser);
void add(UserGoldRecord userGoldRecord);
void updateIsRefund(String orderCode);
}

6
src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java

@ -38,7 +38,7 @@ public class RefundServiceImpl implements RefundService {
private RefundMapper refundMapper;
@Autowired
private UserMapper userMapper;
private ConsumeMapper consumeMapper;
@Override
public PageInfo<RefundUser> selectAll(Integer pageNum, Integer pageSize, RefundUser refundUser) {
@ -92,12 +92,13 @@ public class RefundServiceImpl implements RefundService {
public Result add(RefundUser refundUser) {
UserGoldRecord userGoldRecord = new UserGoldRecord();
String goodsNameWithOrder = refundUser.getGoodsName();
String orderCode = "";
//订单号生成
if (goodsNameWithOrder != null && goodsNameWithOrder.contains("_")) {
String[] parts = goodsNameWithOrder.split("_", 2);
if (parts.length >= 2) {
// 提取订单号保留原始前缀
String orderCode = parts[0]; // XF202506281545524400006580
orderCode = parts[0]; // XF202506281545524400006580
// 提取商品名处理可能包含下划线的情况
String goodsName = parts[1]; // 商品A
@ -132,6 +133,7 @@ public class RefundServiceImpl implements RefundService {
userGoldRecord.setAuditStatus(0);
userGoldRecord.setCreateTime(new Date());
refundMapper.add(userGoldRecord);
consumeMapper.updateIsRefund(orderCode);
return Result.success();
}

11
src/main/resources/mapper/ConsumeMapper.xml

@ -171,4 +171,15 @@
#{payTime}
</trim>
</insert>
<update id="updateIsRefund" parameterType="java.lang.String">
UPDATE user_gold_record
SET is_refund = 1
<where>
order_code = #{orderCode}
<if test="isRefund != null and isRefund != 0">
AND is_refund != 0 <!-- 可选:仅更新非0状态的记录 -->
</if>
</where>
</update>
</mapper>

1
src/main/resources/mapper/RefundMapper.xml

@ -191,6 +191,7 @@
FROM user_gold_record ugr
<where>
ugr.type = 1
AND ugr.is_refund = 0
<if test="jwcode != null and jwcode != ''">
AND ugr.jwcode = #{jwcode}
</if>

Loading…
Cancel
Save