|
|
@ -3,10 +3,8 @@ package com.example.demo.serviceImpl.coin; |
|
|
import com.example.demo.Util.GoldTistV2; |
|
|
import com.example.demo.Util.GoldTistV2; |
|
|
import com.example.demo.domain.entity.User; |
|
|
import com.example.demo.domain.entity.User; |
|
|
import com.example.demo.domain.entity.UserGoldRecord; |
|
|
import com.example.demo.domain.entity.UserGoldRecord; |
|
|
import com.example.demo.domain.vo.coin.Gold; |
|
|
|
|
|
import com.example.demo.domain.vo.coin.GoldUser; |
|
|
|
|
|
import com.example.demo.domain.vo.coin.RechargeAudit; |
|
|
|
|
|
import com.example.demo.domain.vo.coin.RefundAudit; |
|
|
|
|
|
|
|
|
import com.example.demo.domain.vo.coin.*; |
|
|
|
|
|
import com.example.demo.exception.SystemException; |
|
|
import com.example.demo.mapper.coin.AuditMapper; |
|
|
import com.example.demo.mapper.coin.AuditMapper; |
|
|
import com.example.demo.mapper.coin.MarketMapper; |
|
|
import com.example.demo.mapper.coin.MarketMapper; |
|
|
import com.example.demo.mapper.coin.UserMapper; |
|
|
import com.example.demo.mapper.coin.UserMapper; |
|
|
@ -15,6 +13,8 @@ import com.example.demo.service.coin.AuditService; |
|
|
import com.example.demo.service.coin.GeneralService; |
|
|
import com.example.demo.service.coin.GeneralService; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageInfo; |
|
|
import com.github.pagehelper.PageInfo; |
|
|
|
|
|
import org.slf4j.Logger; |
|
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
@ -36,6 +36,7 @@ import java.util.List; |
|
|
|
|
|
|
|
|
@Service |
|
|
@Service |
|
|
public class AuditServiceImpl implements AuditService { |
|
|
public class AuditServiceImpl implements AuditService { |
|
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(AuditServiceImpl.class); |
|
|
@Autowired |
|
|
@Autowired |
|
|
private AuditMapper auditMapper; |
|
|
private AuditMapper auditMapper; |
|
|
@Autowired |
|
|
@Autowired |
|
|
@ -51,7 +52,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
*/ |
|
|
*/ |
|
|
@Transactional |
|
|
@Transactional |
|
|
@Override |
|
|
@Override |
|
|
public boolean auditOrder(String token, String orderCode, Integer auditId, Integer action,String rejectReason) { |
|
|
|
|
|
|
|
|
public Result auditOrder(String token, String orderCode, Integer auditId, Integer action, String rejectReason) { |
|
|
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) { |
|
|
@ -64,7 +65,6 @@ public class AuditServiceImpl implements AuditService { |
|
|
String auditName = auditMapper.getName(auditId); |
|
|
String auditName = auditMapper.getName(auditId); |
|
|
//判断是通过还是驳回 |
|
|
//判断是通过还是驳回 |
|
|
if (action==2){ //驳回 |
|
|
if (action==2){ //驳回 |
|
|
|
|
|
|
|
|
if (order.getType()==2) { //退款 |
|
|
if (order.getType()==2) { //退款 |
|
|
//2.获取对应的订单(退款订单号去掉开头"TK"即为对应原始订单) |
|
|
//2.获取对应的订单(退款订单号去掉开头"TK"即为对应原始订单) |
|
|
String oldOrderCode = order.getOrderCode().replaceFirst("TK_", ""); |
|
|
String oldOrderCode = order.getOrderCode().replaceFirst("TK_", ""); |
|
|
@ -74,7 +74,8 @@ public class AuditServiceImpl implements AuditService { |
|
|
auditMapper.updateOrderRefund(oldOrderCode,(byte)0); |
|
|
auditMapper.updateOrderRefund(oldOrderCode,(byte)0); |
|
|
}else { |
|
|
}else { |
|
|
throw new IllegalArgumentException("找不到对应的订单或不是有效订单"); |
|
|
throw new IllegalArgumentException("找不到对应的订单或不是有效订单"); |
|
|
} } |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
updateOrder.setAuditStatus(2); |
|
|
updateOrder.setAuditStatus(2); |
|
|
updateOrder.setRejectReason(rejectReason); |
|
|
updateOrder.setRejectReason(rejectReason); |
|
|
updateOrder.setAuditTime(new Date()); |
|
|
updateOrder.setAuditTime(new Date()); |
|
|
@ -107,18 +108,45 @@ public class AuditServiceImpl implements AuditService { |
|
|
*/ |
|
|
*/ |
|
|
// 构造 2020-01-01 00:00:00 |
|
|
// 构造 2020-01-01 00:00:00 |
|
|
Date placeholder = new GregorianCalendar(2020, Calendar.JANUARY, 1, 0, 0).getTime(); |
|
|
Date placeholder = new GregorianCalendar(2020, Calendar.JANUARY, 1, 0, 0).getTime(); |
|
|
if(oldFirstRecharge== null||oldFirstRecharge.after(date)||placeholder.equals(oldFirstRecharge)){ |
|
|
|
|
|
auditMapper.updateFirstRecharge(order.getJwcode());//设置首充时间为当前时间 |
|
|
|
|
|
} |
|
|
|
|
|
auditMapper.updateUserGold(update); |
|
|
|
|
|
//erp增加充值数据 |
|
|
//erp增加充值数据 |
|
|
// if(update.getJwcode().equals(94226013)){ |
|
|
// if(update.getJwcode().equals(94226013)){ |
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 64, //充值永久金币 |
|
|
|
|
|
|
|
|
String resultPermanent=GoldTistV2.addCoinNew(order.getJwcode().toString(), 64, //充值永久金币 |
|
|
|
|
|
(double) (order.getPermanentGold() ) /100, |
|
|
|
|
|
order.getRemark(),(double) (order.getPermanentGold() ) /100, auditName, "金币充值"); |
|
|
|
|
|
resultPermanent = resultPermanent.replaceAll("[\r\n]", ""); // 去除换行符 |
|
|
|
|
|
//判断数据是否正常进入erp |
|
|
|
|
|
if(!resultPermanent.equals("1")){ |
|
|
|
|
|
resultPermanent=GoldTistV2.addCoinNew(order.getJwcode().toString(), 64, //充值永久金币 |
|
|
(double) (order.getPermanentGold() ) /100, |
|
|
(double) (order.getPermanentGold() ) /100, |
|
|
order.getRemark(),(double) (order.getPermanentGold() ) /100, auditName, "金币充值"); |
|
|
order.getRemark(),(double) (order.getPermanentGold() ) /100, auditName, "金币充值"); |
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 63, //充值免费 |
|
|
|
|
|
|
|
|
if (!resultPermanent.equals("1")&&order.getPermanentGold()!=0){ |
|
|
|
|
|
String errorMsg = "充值永久金币出错,数据erp返回错误,返回状态:"+resultPermanent; |
|
|
|
|
|
log.error(errorMsg); |
|
|
|
|
|
throw new SystemException(errorMsg); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
String resultFree=GoldTistV2.addCoinNew(order.getJwcode().toString(), 63, //充值免费 |
|
|
|
|
|
(double) (order.getFreeDecember()+order.getFreeJune() ) /100, |
|
|
|
|
|
order.getRemark(),0, auditName, "金币充值"); |
|
|
|
|
|
//返回状态 1加成功;2减成功其他失败;-5 金币不足;-6 类型错误;-7签名错误;-10其他异常 |
|
|
|
|
|
|
|
|
|
|
|
resultFree = resultFree.replaceAll("[\r\n]", ""); |
|
|
|
|
|
|
|
|
|
|
|
if(!resultFree.equals("1")&&order.getFreeDecember()+order.getFreeJune()!=0){ |
|
|
|
|
|
resultFree=GoldTistV2.addCoinNew(order.getJwcode().toString(), 63, //充值免费 |
|
|
(double) (order.getFreeDecember()+order.getFreeJune() ) /100, |
|
|
(double) (order.getFreeDecember()+order.getFreeJune() ) /100, |
|
|
order.getRemark(),0, auditName, "金币充值"); |
|
|
order.getRemark(),0, auditName, "金币充值"); |
|
|
|
|
|
if (!resultFree.equals("1")){ |
|
|
|
|
|
//没存成功,但上面的已经加到erp了,这条订单先通过,添加一条错误记录,后续根据记录补充erp数据 |
|
|
|
|
|
order.setPermanentGold(0); |
|
|
|
|
|
order.setRemark("金币充值"); |
|
|
|
|
|
auditMapper.addErrorRecord(order); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if(oldFirstRecharge== null||oldFirstRecharge.after(date)||placeholder.equals(oldFirstRecharge)){ |
|
|
|
|
|
auditMapper.updateFirstRecharge(order.getJwcode());//设置首充时间为当前时间 |
|
|
|
|
|
} |
|
|
|
|
|
auditMapper.updateUserGold(update); |
|
|
// } |
|
|
// } |
|
|
}else if (order.getType()==2) { //退款 |
|
|
}else if (order.getType()==2) { //退款 |
|
|
//2.获取对应的订单(退款订单号去掉开头"TK"即为对应原始订单) |
|
|
//2.获取对应的订单(退款订单号去掉开头"TK"即为对应原始订单) |
|
|
@ -134,24 +162,60 @@ public class AuditServiceImpl implements AuditService { |
|
|
auditMapper.updateUserGold(update); |
|
|
auditMapper.updateUserGold(update); |
|
|
//erp增加退款数据 |
|
|
//erp增加退款数据 |
|
|
if(oldOrder.getType()==1){ //消费 |
|
|
if(oldOrder.getType()==1){ //消费 |
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 55, //退款免费-商品 |
|
|
|
|
|
(double) (order.getFreeDecember()+order.getFreeJune()) /100, |
|
|
|
|
|
order.getRemark(),0, auditName, "退款商品"+order.getGoodsName()); |
|
|
|
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 56, //退款永久-商品 |
|
|
|
|
|
|
|
|
String resultPermanent=GoldTistV2.addCoinNew(order.getJwcode().toString(), 56, //退款永久-商品 |
|
|
(double) (order.getPermanentGold()) /100, |
|
|
(double) (order.getPermanentGold()) /100, |
|
|
order.getRemark(),order.getPermanentGold(), auditName, "退款商品"+order.getGoodsName()); |
|
|
order.getRemark(),order.getPermanentGold(), auditName, "退款商品"+order.getGoodsName()); |
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 57, //退款任务-商品 |
|
|
|
|
|
|
|
|
resultPermanent = resultPermanent.replaceAll("[\r\n]", ""); |
|
|
|
|
|
if (!resultPermanent.equals("1")&&order.getPermanentGold()!=0){ |
|
|
|
|
|
String errorMsg = "退款永久金币出错,数据erp返回错误,返回状态:"+resultPermanent; |
|
|
|
|
|
log.error(errorMsg); |
|
|
|
|
|
throw new SystemException(errorMsg); |
|
|
|
|
|
} |
|
|
|
|
|
String resultFree=GoldTistV2.addCoinNew(order.getJwcode().toString(), 55, //退款免费-商品 |
|
|
|
|
|
(double) (order.getFreeDecember()+order.getFreeJune()) /100, |
|
|
|
|
|
order.getRemark(),0, auditName, "退款商品"+order.getGoodsName()); |
|
|
|
|
|
resultFree = resultFree.replaceAll("[\r\n]", ""); |
|
|
|
|
|
if (!resultFree.equals("1")&&order.getFreeDecember()+order.getFreeJune()!=0){ |
|
|
|
|
|
order.setPermanentGold(0); |
|
|
|
|
|
order.setTaskGold(0); |
|
|
|
|
|
order.setRemark("退款商品-免费金币"); |
|
|
|
|
|
auditMapper.addErrorRecord(order); |
|
|
|
|
|
} |
|
|
|
|
|
String resultTask=GoldTistV2.addCoinNew(order.getJwcode().toString(), 57, //退款任务-商品 |
|
|
(double) (order.getTaskGold() ) /100, |
|
|
(double) (order.getTaskGold() ) /100, |
|
|
order.getRemark(),0, auditName, "退款商品"+order.getGoodsName()); |
|
|
order.getRemark(),0, auditName, "退款商品"+order.getGoodsName()); |
|
|
|
|
|
resultTask = resultTask.replaceAll("[\r\n]", ""); |
|
|
|
|
|
if (!resultTask.equals("1")&&order.getTaskGold()!=0){ |
|
|
|
|
|
order.setPermanentGold(0); |
|
|
|
|
|
order.setFreeJune(0); |
|
|
|
|
|
order.setFreeDecember(0); |
|
|
|
|
|
order.setRemark("退款商品-任务金币"); |
|
|
|
|
|
auditMapper.addErrorRecord(order); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} else if (oldOrder.getType()==0){//充值金币 |
|
|
} else if (oldOrder.getType()==0){//充值金币 |
|
|
if(order.getTaskGold()==0){ //无任务金币统一走免费+永久 |
|
|
if(order.getTaskGold()==0){ //无任务金币统一走免费+永久 |
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 58, //退款免费+永久金币-充值 |
|
|
|
|
|
|
|
|
String result=GoldTistV2.addCoinNew(order.getJwcode().toString(), 58, //退款免费+永久金币-充值 |
|
|
(double) (order.getFreeDecember()+order.getFreeJune()+order.getPermanentGold() ) /100, |
|
|
(double) (order.getFreeDecember()+order.getFreeJune()+order.getPermanentGold() ) /100, |
|
|
order.getRemark(),(double) order.getPermanentGold() / 100, auditName, "退款金币充值");} |
|
|
|
|
|
if (order.getTaskGold()!=0) |
|
|
|
|
|
GoldTistV2.addCoinNew(order.getJwcode().toString(), 59, //退款任务+永久金币-充值 |
|
|
|
|
|
|
|
|
order.getRemark(),(double) order.getPermanentGold() / 100, auditName, "退款金币充值"); |
|
|
|
|
|
result = result.replaceAll("[\r\n]", ""); |
|
|
|
|
|
if (!result.equals("2")){ |
|
|
|
|
|
String errorMsg = "退款免费+永久金币出错,数据erp返回错误,返回状态:"+result; |
|
|
|
|
|
log.error(errorMsg); |
|
|
|
|
|
throw new SystemException(errorMsg); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (order.getTaskGold()!=0){ |
|
|
|
|
|
String result=GoldTistV2.addCoinNew(order.getJwcode().toString(), 59, //退款任务+永久金币-充值 |
|
|
(double) (order.getTaskGold()+order.getPermanentGold() ) /100, |
|
|
(double) (order.getTaskGold()+order.getPermanentGold() ) /100, |
|
|
order.getRemark(),(double) order.getPermanentGold() / 100, auditName, "退款金币充值"); |
|
|
order.getRemark(),(double) order.getPermanentGold() / 100, auditName, "退款金币充值"); |
|
|
|
|
|
result = result.replaceAll("[\r\n]", ""); |
|
|
|
|
|
if (!result.equals("2")){ |
|
|
|
|
|
String errorMsg = "退款任务+永久金币出错,数据erp返回错误,返回状态:"+result; |
|
|
|
|
|
log.error(errorMsg); |
|
|
|
|
|
throw new SystemException(errorMsg); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
@ -161,7 +225,7 @@ public class AuditServiceImpl implements AuditService { |
|
|
auditMapper.updateOrder(updateOrder); |
|
|
auditMapper.updateOrder(updateOrder); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
|
return Result.success("审核成功"); |
|
|
} |
|
|
} |
|
|
/* |
|
|
/* |
|
|
* 多条件查询充值订单列表 |
|
|
* 多条件查询充值订单列表 |
|
|
|