Browse Source

8月26日消费审核

lijianlin/feature-20250728171217-三期金豆消费相关
sunjiabei 1 month ago
parent
commit
17ac95adfd
  1. 19
      src/main/java/com/example/demo/controller/coin/ConsumeController.java
  2. 3
      src/main/java/com/example/demo/mapper/coin/ConsumeMapper.java
  3. 4
      src/main/java/com/example/demo/service/coin/ConsumeService.java
  4. 89
      src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java
  5. 40
      src/main/resources/mapper/ConsumeMapper.xml

19
src/main/java/com/example/demo/controller/coin/ConsumeController.java

@ -154,6 +154,25 @@ public class ConsumeController {
}
}
//消耗金币增加
@Log("充值退款(消耗版)")
@PostMapping("/addRefund")
public Result addRefund(@RequestBody ConsumeUser consumeUser) {
try {
return consumeService.addRefund(consumeUser);
// if(consumeUser.getJwcode().equals(94226013))
// {
// return consumeService.add(consumeUser);
// }else {
// return Result.error("不是测试的精网号,无法添加消费");
// }
//
} catch (Exception e) {
e.printStackTrace();
return Result.error("请检查数据的格式");
}
}
public Result select(@RequestBody Page page) {
try {
//页码校验

3
src/main/java/com/example/demo/mapper/coin/ConsumeMapper.java

@ -29,6 +29,9 @@ public interface ConsumeMapper {
//添加消费订单
void add(UserGoldRecord userGoldRecord);
//添加退款订单
void addRefund(UserGoldRecord userGoldRecord);
//更新退款状态
void updateIsRefund(String orderCode);

4
src/main/java/com/example/demo/service/coin/ConsumeService.java

@ -28,4 +28,8 @@ public interface ConsumeService {
//增加消费订单
Result add(ConsumeUser consumeUser);
//增加退款订单
Result addRefund(ConsumeUser consumeUser);
}

89
src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java

@ -174,4 +174,93 @@ public class ConsumeServiceImpl implements ConsumeService {
// }
return Result.success();
}
//新增消耗
@Transactional
@Override
public Result addRefund(ConsumeUser consumeUser) {
if (consumeUser.getTaskGold() == null || consumeUser.getFreeGold() == null || consumeUser.getPermanentGold() == null) {
return Result.error("金币数量不能为空");
}
if (consumeUser.getTaskGold().compareTo(BigDecimal.ZERO) < 0 || consumeUser.getFreeGold().compareTo(BigDecimal.ZERO) < 0 || consumeUser.getPermanentGold().compareTo(BigDecimal.ZERO) < 0) {
return Result.error("金币不能为负数");
}
if(consumeUser.getJwcode()<10000000||consumeUser.getJwcode()>99999999)
{
return Result.error("精网号位数小于8位或大于8位");
}
if(consumeUser.getAdminName()==null){
return Result.error("管理员不能为空");
}
GoldUser goldUser = userMapper.selectUser(consumeUser.getJwcode().toString());
if (goldUser == null) {
return Result.error("用户不存在");
}
UserGoldRecord userGoldRecord = new UserGoldRecord();
String orderNumber = UUID.randomUUID().toString().replaceAll("-", "");
//订单号生成
userGoldRecord.setOrderCode("TKCZ_" + orderNumber);
userGoldRecord.setJwcode(consumeUser.getJwcode());
userGoldRecord.setGoodsName(consumeUser.getGoodsName());
userGoldRecord.setSumGold(-consumeUser.getSumGold().intValue());
userGoldRecord.setPermanentGold(-consumeUser.getPermanentGold().intValue());
// 获取当前月份1-12
int currentMonth = LocalDate.now().getMonthValue();
GoldUser gold = userMapper.selectGold(consumeUser.getJwcode().toString());
if (consumeUser.getFreeGold().compareTo(gold.getNowFreeDecember().add(gold.getNowFreeJune())) > 0
|| consumeUser.getPermanentGold().compareTo(gold.getNowPermanentGold()) > 0
|| consumeUser.getTaskGold().compareTo(gold.getNowTaskGold()) > 0) {
return Result.error("金币数量不足");
}
// 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置6月额度12月保持默认值
if (consumeUser.getFreeGold().compareTo(gold.getNowFreeJune()) > 0) {
userGoldRecord.setFreeJune(-gold.getNowFreeJune().intValue());
userGoldRecord.setFreeDecember(-(consumeUser.getFreeGold().subtract(gold.getNowFreeJune())).intValue());
} else {
userGoldRecord.setFreeJune(-consumeUser.getFreeGold().intValue());
userGoldRecord.setFreeDecember(0);
}
} else {
// 7-12月设置12月额度6月保持默认值
if (consumeUser.getFreeGold().compareTo(gold.getNowFreeDecember()) > 0) {
userGoldRecord.setFreeDecember(-gold.getNowFreeDecember().intValue());
userGoldRecord.setFreeJune(-(consumeUser.getFreeGold().subtract(gold.getNowFreeDecember())).intValue());
} else {
userGoldRecord.setFreeDecember(-consumeUser.getFreeGold().intValue());
userGoldRecord.setFreeJune(0);
}
}
//信息输入
userGoldRecord.setTaskGold(-consumeUser.getTaskGold().intValue());
userGoldRecord.setRemark(consumeUser.getRemark());
userGoldRecord.setType((byte) 2);
userGoldRecord.setAuditStatus(0);
userGoldRecord.setPayPlatform("金币系统");
userGoldRecord.setAdminId(consumeUser.getAdminId());
userGoldRecord.setCreateTime(new Date());
userGoldRecord.setPayTime(new Date());
consumeMapper.add(userGoldRecord);
consumeMapper.updateUserGold(userGoldRecord);
User user = new User();
user.setJwcode(userGoldRecord.getJwcode());
user.setCurrentPermanentGold(BigDecimal.valueOf(gold.getNowPermanentGold().intValue() - consumeUser.getPermanentGold().intValue()));
user.setCurrentFreeJune(BigDecimal.valueOf(gold.getNowFreeJune().intValue() + userGoldRecord.getFreeJune()));
user.setCurrentFreeDecember(BigDecimal.valueOf(gold.getNowFreeDecember().intValue() + userGoldRecord.getFreeDecember()));
user.setCurrentTaskGold(BigDecimal.valueOf(gold.getNowTaskGold().intValue() - consumeUser.getTaskGold().intValue()));
user.setConsumeNum(gold.getConsumeNum().intValue() + 1);
user.setSumConsumePermanent(BigDecimal.valueOf(-consumeUser.getPermanentGold().intValue()));
user.setSumConsumeFree(BigDecimal.valueOf(-consumeUser.getFreeGold().intValue()));
user.setSumConsumeTask(BigDecimal.valueOf(-consumeUser.getTaskGold().intValue()));
userMapper.updateGold(user);
// if(consumeUser.getJwcode().equals(94226013)){
GoldTistV2.addCoinNew(userGoldRecord.getJwcode().toString(), 65,
(double) (userGoldRecord.getPermanentGold() + userGoldRecord.getFreeDecember() + userGoldRecord.getFreeJune() + userGoldRecord.getTaskGold()) / 100,
userGoldRecord.getRemark(), ((double) userGoldRecord.getPermanentGold() / 100), consumeUser.getAdminName(), userGoldRecord.getGoodsName());
// }
return Result.success();
}
}

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

@ -253,7 +253,45 @@
#{payTime}
</trim>
</insert>
<insert id="addRefund" parameterType="com.example.demo.domain.entity.UserGoldRecord" useGeneratedKeys="true"
keyProperty="id">
INSERT INTO user_gold_record
<trim prefix="(" suffix=")" suffixOverrides=",">
order_code,
jwcode,
sum_gold,
permanent_gold,
free_june,
free_december,
task_gold,
goods_name,
remark,
type,
pay_platform,
admin_id,
audit_status,
create_time,
pay_time
</trim>
VALUES
<trim prefix="(" suffix=")" suffixOverrides=",">
#{orderCode},
#{jwcode},
#{sumGold},
#{permanentGold},
#{freeJune},
#{freeDecember},
#{taskGold},
#{goodsName},
#{remark},
#{type},
#{payPlatform},
#{adminId},
#{auditStatus},
#{createTime},
#{payTime}
</trim>
</insert>
<update id="updateIsRefund" parameterType="java.lang.String">
UPDATE user_gold_record
SET is_refund = 1

Loading…
Cancel
Save