|
|
|
@ -69,7 +69,7 @@ public class CashCollectionServiceImpl implements CashCollectionService { |
|
|
|
throw new IllegalArgumentException("活动不能为空"); |
|
|
|
} |
|
|
|
if (cashCollection.getGoodsName() == null|| cashCollection.getGoodsName().isEmpty()) { |
|
|
|
throw new IllegalArgumentException("商品名不能为空"); |
|
|
|
throw new IllegalArgumentException("产品名称不能为空"); |
|
|
|
} |
|
|
|
if (cashCollection.getGoodsName().equals("金币充值")) { |
|
|
|
if (cashCollection.getPermanentGold() == 0 && cashCollection.getFreeGold() == 0) { |
|
|
|
@ -142,6 +142,57 @@ public class CashCollectionServiceImpl implements CashCollectionService { |
|
|
|
return "添加成功"; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String addFreeCoin(CashCollection cashCollection) { |
|
|
|
if (cashCollection.getJwcode() == null) { |
|
|
|
throw new IllegalArgumentException("精网号不能为空"); |
|
|
|
} |
|
|
|
if (cashCollection.getJwcode() < 10000000 || cashCollection.getJwcode() > 99999999) { |
|
|
|
throw new IllegalArgumentException("精网号必须为8位"); |
|
|
|
} |
|
|
|
if (cashCollection.getName() == null || cashCollection.getName().isEmpty()){ |
|
|
|
throw new IllegalArgumentException("客户姓名不能为空"); |
|
|
|
} |
|
|
|
if (cashCollection.getActivity() == null || cashCollection.getActivity().isEmpty()) { |
|
|
|
throw new IllegalArgumentException("活动不能为空"); |
|
|
|
} |
|
|
|
if (cashCollection.getFreeGold() == 0) { |
|
|
|
throw new IllegalArgumentException("免费金币数量不能为空"); |
|
|
|
} |
|
|
|
//生成订单号后半部分 |
|
|
|
String orderNumber = UUID.randomUUID().toString().replaceAll("-", ""); |
|
|
|
CashRecord cashRecord = new CashRecord(); |
|
|
|
//构建订单信息 |
|
|
|
cashRecord.setOrderCode("XJ_" + orderNumber); //订单号 |
|
|
|
cashRecord.setJwcode(cashCollection.getJwcode()); //精网号 |
|
|
|
cashRecord.setName(cashCollection.getName()); //客户姓名 |
|
|
|
cashRecord.setActivity(cashCollection.getActivity()); // 活动 |
|
|
|
cashRecord.setGoodsName("免费金币赠送"); //商品名称 |
|
|
|
cashRecord.setFreeGold(cashCollection.getFreeGold()); //免费金币 |
|
|
|
cashRecord.setRemark(cashCollection.getRemark()); //备注 |
|
|
|
cashRecord.setStatus(0); //订单状态:付款线下财务待审核 |
|
|
|
cashRecord.setSubmitterId(cashCollection.getSubmitterId()); //提交人ID |
|
|
|
cashRecord.setSubmitterMarket(cashCollection.getSubmitterMarket()); |
|
|
|
cashRecord.setOrderType(1); //订单类型:1-收款 |
|
|
|
cashRecord.setMarket(cashCollection.getMarket()); |
|
|
|
//地区,根据jwcode插入 |
|
|
|
//cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(cashRecord.getJwcode())); |
|
|
|
//插入新收款订单 |
|
|
|
cashCollectionMapper.add(cashRecord); |
|
|
|
// 发送收款创建消息 |
|
|
|
Messages message = new Messages(); |
|
|
|
message.setJwcode(cashRecord.getJwcode()); |
|
|
|
message.setName(cashRecord.getName()); |
|
|
|
message.setStatus(cashRecord.getStatus()); |
|
|
|
message.setDesc(cashRecord.getJwcode()+"用户的现金收款申请待审核,请前往审核"); |
|
|
|
message.setTitle("现金收款--赠送免费金币"); |
|
|
|
message.setType(1); |
|
|
|
message.setTypeId(cashRecord.getId()); |
|
|
|
message.setMarket(Integer.valueOf(cashRecord.getMarket())); |
|
|
|
rabbitTemplate.convertAndSend(RabbitMQConfig.CASH_COLLECTION_EXCHANGE, "cash.collection.save", message); |
|
|
|
return "添加成功"; |
|
|
|
} |
|
|
|
|
|
|
|
//撤回未审核的订单 |
|
|
|
@Override |
|
|
|
public String cancel(String orderCode) { |
|
|
|
@ -351,6 +402,9 @@ public User getNameAndMarket(Integer jwcode) { |
|
|
|
log.error("失败订单ID: {}", failedIds); |
|
|
|
// 可存入 error_log 表,供人工处理 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 这里选择继续下一批(容忍部分失败) |
|
|
|
} |
|
|
|
|
|
|
|
@ -401,25 +455,25 @@ public User getNameAndMarket(Integer jwcode) { |
|
|
|
cashRecord.setPayload("IOS"); |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
cashRecord.setPayType("Stripe-链接收款"); |
|
|
|
cashRecord.setPayType("Stripe"); |
|
|
|
cashRecord.setReceivedMarket("13"); |
|
|
|
cashRecord.setPayload("Stripe"); |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
cashRecord.setPayType("PaymentAsia-链接收款"); |
|
|
|
cashRecord.setPayType("PaymentAsia"); |
|
|
|
cashRecord.setReceivedMarket("13"); |
|
|
|
cashRecord.setPayload("PaymentAsia"); |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
cashRecord.setPayType("Ipay88-链接收款"); |
|
|
|
cashRecord.setPayType("Ipay88"); |
|
|
|
cashRecord.setReceivedMarket("5"); |
|
|
|
cashRecord.setPayload("Ipay88"); |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
cashRecord.setPayType("FistData"); |
|
|
|
cashRecord.setPayType("FirstData"); |
|
|
|
cashRecord.setReceivedMarket("4"); |
|
|
|
cashRecord.setBankCode(gOrder.getFirstdataIpgTransactionId()); |
|
|
|
cashRecord.setPayload("FistData"); |
|
|
|
cashRecord.setPayload("FirstData"); |
|
|
|
break; |
|
|
|
default: |
|
|
|
break; |
|
|
|
@ -428,7 +482,9 @@ public User getNameAndMarket(Integer jwcode) { |
|
|
|
cashRecord.setFreeGold(0); |
|
|
|
cashRecord.setPaymentCurrency(""); |
|
|
|
cashRecord.setPaymentAmount(BigDecimal.valueOf(0)); |
|
|
|
cashRecord.setPayTime(LocalDateTime.ofEpochSecond(gOrder.getSuccessTime(), 0, ZoneOffset.UTC)); |
|
|
|
//转换时间戳,加上时区偏移 |
|
|
|
cashRecord.setPayTime(LocalDateTime.ofEpochSecond(gOrder.getSuccessTime(), 0, ZoneOffset.of("+08:00"))); |
|
|
|
cashRecord.setAuditTime(LocalDateTime.ofEpochSecond(gOrder.getSuccessTime(), 0, ZoneOffset.of("+08:00"))); |
|
|
|
cashRecord.setStatus(3); |
|
|
|
cashRecord.setSubmitterId(99999); |
|
|
|
//存入现金库 |
|
|
|
|