Browse Source

12.31 红包退款

milestone-20251215-红包修改
huangqizhen 2 weeks ago
parent
commit
06201c9f9e
  1. 2
      src/main/java/com/example/demo/Util/GoldTistV2.java
  2. 2
      src/main/java/com/example/demo/controller/coin/AuditController.java
  3. 2
      src/main/java/com/example/demo/domain/entity/UserGoldRecord.java
  4. 4
      src/main/java/com/example/demo/domain/vo/coin/AuditRequest.java
  5. 5
      src/main/java/com/example/demo/service/Temporary/RedService.java
  6. 4
      src/main/java/com/example/demo/service/coin/AuditService.java
  7. 33
      src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java
  8. 15
      src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java
  9. 5
      src/main/java/com/example/demo/serviceImpl/coin/ConsumeServiceImpl.java
  10. 6
      src/main/resources/mapper/ConsumeMapper.xml

2
src/main/java/com/example/demo/Util/GoldTistV2.java

@ -219,7 +219,7 @@ public class GoldTistV2 {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
//调用demo //调用demo
addCoinNew("94226013",65,-2,"测试",-1,"黄其振","文章11");
addCoinNew("90007417",64,4169,"4166.68补齐年初的1万任何产品可以免单的配套加金币4169金币",4169,"黄其振","补金币");
} }

2
src/main/java/com/example/demo/controller/coin/AuditController.java

@ -51,7 +51,7 @@ public class AuditController {
@PostMapping("audit") @PostMapping("audit")
public ResponseEntity<Boolean> auditOrder( public ResponseEntity<Boolean> auditOrder(
@RequestBody AuditRequest request) { @RequestBody AuditRequest request) {
boolean result = auditService.auditOrder(request.getToken(), request.getOrderCode(), request.getAuditId(), request.getAction(), request.getRejectReason());
boolean result = auditService.auditOrder(request.getToken(), request.getOrderCode(), request.getAuditId(), request.getAction(), request.getRejectReason(),request.getPrice(),request.getLinkId());
return ResponseEntity.ok(result); return ResponseEntity.ok(result);
} }

2
src/main/java/com/example/demo/domain/entity/UserGoldRecord.java

@ -6,6 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@Data @Data
@ -51,4 +52,5 @@ public class UserGoldRecord implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date auditTime; // 审核时间 private Date auditTime; // 审核时间
private BigDecimal price;
} }

4
src/main/java/com/example/demo/domain/vo/coin/AuditRequest.java

@ -4,6 +4,8 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ -15,5 +17,7 @@ public class AuditRequest {
private String rejectReason; //驳回理由 private String rejectReason; //驳回理由
private String sortField; //排序字段 private String sortField; //排序字段
private String sortOrder; //排序顺序 private String sortOrder; //排序顺序
private BigDecimal price; //原价
private String linkId;//标识
} }

5
src/main/java/com/example/demo/service/Temporary/RedService.java

@ -25,5 +25,8 @@ public interface RedService {
List<RedList> selectRedList(Integer jwcode); List<RedList> selectRedList(Integer jwcode);
//判断红包是否退票情况
String checkRed(String linkId) throws Exception;
//修改订单状态
void updateOrderStatus(String linkId) throws Exception;
} }

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

@ -5,6 +5,8 @@ import com.example.demo.domain.vo.coin.RechargeAudit;
import com.example.demo.domain.vo.coin.RefundAudit; import com.example.demo.domain.vo.coin.RefundAudit;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import java.math.BigDecimal;
/** /**
* @program: gold-java * @program: gold-java
* @ClassName AuditService * @ClassName AuditService
@ -17,7 +19,7 @@ import com.github.pagehelper.PageInfo;
public interface AuditService { public interface AuditService {
//审核订单并修改用户余额等 //审核订单并修改用户余额等
boolean auditOrder(String token, String orderCode, Integer auditId,Integer action,String rejectReason);
boolean auditOrder(String token, String orderCode, Integer auditId, Integer action, String rejectReason, BigDecimal price, String linkId);
//多条件查询充值审核订单 //多条件查询充值审核订单
PageInfo<RechargeAudit> selectRechargeBy(Integer pageNum, Integer pageSize, RechargeAudit rechargeAudit); PageInfo<RechargeAudit> selectRechargeBy(Integer pageNum, Integer pageSize, RechargeAudit rechargeAudit);
//多条件查询退款审核订单 //多条件查询退款审核订单

33
src/main/java/com/example/demo/serviceImpl/Temporary/RedServiceImpl.java

@ -219,6 +219,39 @@ public class RedServiceImpl implements RedService {
} }
@Override @Override
public String checkRed(String linkId)throws Exception {
try {
int a=0;
int b=0;
if (a==200){
if(b==1){
throw new BusinessException("红包抵扣不足以退款,请联系客户后再次尝试");
}
}
if(a==400) {
throw new BusinessException("系统繁忙");
// log.warn("红包服务返回400状态码: {},响应: {}", resp.statusCode(), resp.body());
}
}catch(Exception e){
throw new BusinessException("系统异常");
}
return "{\"success\":true,\"msg\":\"成功\"}";
}
@Override
public void updateOrderStatus(String linkId) throws Exception {
try {
String body = JSON.toJSONString(java.util.Map.of("linkId", linkId));
}
catch (Exception e) {
log.error("修改状态失败", e);
throw new Exception("系统异常");
}
}
@Override
public BigDecimal selectRedSum(Integer jwcode) { public BigDecimal selectRedSum(Integer jwcode) {
try { try {
String body = JSON.toJSONString(java.util.Map.of("jwcode", jwcode)); String body = JSON.toJSONString(java.util.Map.of("jwcode", jwcode));

15
src/main/java/com/example/demo/serviceImpl/coin/AuditServiceImpl.java

@ -55,9 +55,9 @@ public class AuditServiceImpl implements AuditService {
/* /*
审核订单并修改用户余额等 审核订单并修改用户余额等
*/ */
@Transactional
@Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean auditOrder(String token, String orderCode, Integer auditId, Integer action,String rejectReason) {
public boolean auditOrder(String token, String orderCode, Integer auditId, Integer action,String rejectReason,BigDecimal price,String linkId) {
UserGoldRecord order=auditMapper.selectOrderByOrderCode(orderCode); UserGoldRecord order=auditMapper.selectOrderByOrderCode(orderCode);
Date date =new Date(); Date date =new Date();
if (order == null || order.getAuditStatus() != 0) { if (order == null || order.getAuditStatus() != 0) {
@ -88,8 +88,15 @@ public class AuditServiceImpl implements AuditService {
auditMapper.updateOrder(updateOrder); auditMapper.updateOrder(updateOrder);
}else if (action==1) { //通过 }else if (action==1) { //通过
//判断是充值还是退款
try {
redService.checkRed(linkId);
} catch (Exception e) {
log.error("红包退票失败");
updateOrder.setAuditStatus(4);
auditMapper.updateOrder(updateOrder);
throw new RuntimeException(e);
}
//判断是充值还是退款
if (order.getType()==0){ //充值 if (order.getType()==0){ //充值
//更新用户余额 //更新用户余额
User update = new User(); User update = new User();

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

@ -159,6 +159,7 @@ public class ConsumeServiceImpl implements ConsumeService {
userGoldRecord.setAdminId(consumeUser.getAdminId()); userGoldRecord.setAdminId(consumeUser.getAdminId());
userGoldRecord.setAuditStatus(1); userGoldRecord.setAuditStatus(1);
userGoldRecord.setCreateTime(new Date()); userGoldRecord.setCreateTime(new Date());
userGoldRecord.setPrice( consumeUser.getPrice());
userGoldRecord.setPayTime(new Date()); userGoldRecord.setPayTime(new Date());
if (consumeUser.getPermanentGold().compareTo(BigDecimal.ZERO)!=0||consumeUser.getFreeGold().compareTo(BigDecimal.ZERO)!=0||consumeUser.getTaskGold().compareTo(BigDecimal.ZERO)!=0){ if (consumeUser.getPermanentGold().compareTo(BigDecimal.ZERO)!=0||consumeUser.getFreeGold().compareTo(BigDecimal.ZERO)!=0||consumeUser.getTaskGold().compareTo(BigDecimal.ZERO)!=0){
// if(consumeUser.getJwcode().equals(94226013)){ // if(consumeUser.getJwcode().equals(94226013)){
@ -203,9 +204,9 @@ public class ConsumeServiceImpl implements ConsumeService {
}catch (Exception e){ }catch (Exception e){
log.warn("消耗累加失败,主流程继续 | jwcode={}", consumeUser.getJwcode(), e); log.warn("消耗累加失败,主流程继续 | jwcode={}", consumeUser.getJwcode(), e);
} }
if(consumeUser.getRedMoney()==1){
// if(consumeUser.getRedMoney()==1){
redService.sendConsumeJwcode(consumeUser.getJwcode(),consumeUser.getRedIds()); redService.sendConsumeJwcode(consumeUser.getJwcode(),consumeUser.getRedIds());
}
// }
return Result.success(); return Result.success();
} }
// //

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

@ -231,7 +231,8 @@
admin_id, admin_id,
audit_status, audit_status,
create_time, create_time,
pay_time
pay_time,
price
</trim> </trim>
VALUES VALUES
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
@ -250,7 +251,8 @@
#{adminId}, #{adminId},
#{auditStatus}, #{auditStatus},
#{createTime}, #{createTime},
#{payTime}
#{payTime},
#{price}
</trim> </trim>
</insert> </insert>
<insert id="addRefund" parameterType="com.example.demo.domain.entity.UserGoldRecord" useGeneratedKeys="true" <insert id="addRefund" parameterType="com.example.demo.domain.entity.UserGoldRecord" useGeneratedKeys="true"

Loading…
Cancel
Save