|
|
@ -1,5 +1,6 @@ |
|
|
|
package com.example.demo.serviceImpl; |
|
|
|
|
|
|
|
import com.example.demo.domain.entity.UserGoldRecord; |
|
|
|
import com.example.demo.domain.vo.ConsumeUser; |
|
|
|
import com.example.demo.domain.vo.Gold; |
|
|
|
import com.example.demo.domain.vo.RefundUser; |
|
|
@ -13,7 +14,13 @@ import com.github.pagehelper.PageInfo; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.time.LocalDate; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
|
|
|
|
/** |
|
|
|
* @program: gold-java |
|
|
@ -83,6 +90,73 @@ public class RefundServiceImpl implements RefundService { |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result add(RefundUser refundUser) { |
|
|
|
return null; |
|
|
|
UserGoldRecord userGoldRecord = new UserGoldRecord(); |
|
|
|
String goodsNameWithOrder = refundUser.getGoodsName(); |
|
|
|
//订单号生成 |
|
|
|
if (goodsNameWithOrder != null && goodsNameWithOrder.contains("_")) { |
|
|
|
String[] parts = goodsNameWithOrder.split("_", 2); |
|
|
|
if (parts.length >= 2) { |
|
|
|
// 提取订单号(保留原始前缀) |
|
|
|
String orderCode = parts[0]; // XF202506281545524400006580 |
|
|
|
|
|
|
|
// 提取商品名(处理可能包含下划线的情况) |
|
|
|
String goodsName = parts[1]; // 商品A |
|
|
|
|
|
|
|
// 设置属性(添加退款前缀) |
|
|
|
userGoldRecord.setOrderCode("TK" + orderCode); // TKXF202506281545524400006580 |
|
|
|
userGoldRecord.setGoodsName(goodsName); // 商品A |
|
|
|
} |
|
|
|
} |
|
|
|
userGoldRecord.setJwcode(refundUser.getJwcode()); |
|
|
|
userGoldRecord.setRefundType(refundUser.getRefundType()); |
|
|
|
userGoldRecord.setRefundModel(refundUser.getRefundModel()); |
|
|
|
userGoldRecord.setPermanentGold(refundUser.getPermanentGold()); |
|
|
|
// 获取当前月份(1-12) |
|
|
|
int currentMonth = LocalDate.now().getMonthValue(); |
|
|
|
// 根据当前月份设置对应字段 |
|
|
|
if (currentMonth >= 1 && currentMonth <= 6) { |
|
|
|
// 1-6月:设置6月额度,12月保持默认值 |
|
|
|
userGoldRecord.setFreeJune(0); |
|
|
|
userGoldRecord.setFreeDecember(refundUser.getFreeGold()); |
|
|
|
} else { |
|
|
|
// 7-12月:设置12月额度,6月保持默认值 |
|
|
|
userGoldRecord.setFreeJune(refundUser.getFreeGold()); |
|
|
|
userGoldRecord.setFreeDecember(0); |
|
|
|
} |
|
|
|
userGoldRecord.setTaskGold(refundUser.getTaskGold()); |
|
|
|
userGoldRecord.setSumGold(refundUser.getSumGold()); |
|
|
|
userGoldRecord.setPayPlatform("金币系统"); |
|
|
|
userGoldRecord.setRemark(refundUser.getRemark()); |
|
|
|
userGoldRecord.setAdminId(refundUser.getAdminId()); |
|
|
|
userGoldRecord.setType((byte) 2); |
|
|
|
userGoldRecord.setAuditStatus(0); |
|
|
|
userGoldRecord.setCreateTime(new Date()); |
|
|
|
refundMapper.add(userGoldRecord); |
|
|
|
return Result.success(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<String> getRefundType() { |
|
|
|
List<String> list = refundMapper.getRefundType(); |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<String> selectGoods(Integer jwcode) { |
|
|
|
List<UserGoldRecord> userGoldRecords = refundMapper.selectGoods(jwcode); |
|
|
|
List<String> list = new ArrayList<>(); |
|
|
|
for (UserGoldRecord record : userGoldRecords) { |
|
|
|
if (record == null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
String orderCode = record.getOrderCode() != null ? record.getOrderCode() : "无订单号"; |
|
|
|
String goodsName = record.getGoodsName() != null ? record.getGoodsName() : "无商品名"; |
|
|
|
|
|
|
|
// 拼接格式:订单号_商品名(例如:XF20250629_商品BC) |
|
|
|
String combined = orderCode + "_" + goodsName; |
|
|
|
list.add(combined); |
|
|
|
} |
|
|
|
return list; |
|
|
|
} |
|
|
|
} |