Compare commits

...

10 Commits

  1. 9
      src/main/java/com/example/demo/controller/cash/CashCollectionController.java
  2. 9
      src/main/java/com/example/demo/domain/entity/CashRecord.java
  3. 6
      src/main/java/com/example/demo/domain/vo/cash/CashCollection.java
  4. 2
      src/main/java/com/example/demo/service/bean/BeanConsumeService.java
  5. 3
      src/main/java/com/example/demo/service/cash/CashCollectionService.java
  6. 17
      src/main/java/com/example/demo/serviceImpl/bean/BeanConsumeServiceImpl.java
  7. 52
      src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java
  8. 90
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  9. 8
      src/main/resources/cashMapper/CashCollectionMapper.xml
  10. 4
      src/main/resources/mapper/WorkBenchMapper.xml

9
src/main/java/com/example/demo/controller/cash/CashCollectionController.java

@ -66,6 +66,15 @@ public class CashCollectionController {
return Result.error(e.getMessage()); return Result.error(e.getMessage());
} }
} }
//新增赠送免费金币
@PostMapping("/addFreeCoin")
public Result addFreeCoin(@RequestBody CashCollection cashCollection) {
try {
return Result.success(cashCollectionService.addFreeCoin(cashCollection));
} catch (Exception e) {
return Result.error(e.getMessage());
}
}
//撤回未审核的收款订单 //撤回未审核的收款订单
@PostMapping("/cancel") @PostMapping("/cancel")
public Result cancel(@RequestBody CashCollection cashRecord) { public Result cancel(@RequestBody CashCollection cashRecord) {

9
src/main/java/com/example/demo/domain/entity/CashRecord.java

@ -1,5 +1,6 @@
package com.example.demo.domain.entity; package com.example.demo.domain.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -42,8 +43,10 @@ public class CashRecord implements Serializable {
private String payload; //平台 private String payload; //平台
// 金额信息 // 金额信息
private String paymentCurrency; // 付款币种
private BigDecimal paymentAmount; // 付款金额
private String paymentCurrencyOrig; // 原始付款币种
private BigDecimal paymentAmountOrig; // 原始付款金额
private String paymentCurrency; // 付款币种 转换后
private BigDecimal paymentAmount; // 付款金额 转换后
private String receivedCurrency; // 到账币种 private String receivedCurrency; // 到账币种
private BigDecimal receivedAmount; // 到账金额 private BigDecimal receivedAmount; // 到账金额
private BigDecimal handlingCharge; // 手续费 private BigDecimal handlingCharge; // 手续费
@ -55,6 +58,8 @@ public class CashRecord implements Serializable {
private LocalDateTime payTime; // 付款日期到秒 private LocalDateTime payTime; // 付款日期到秒
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime receivedTime; // 到账日期到秒 private LocalDateTime receivedTime; // 到账日期到秒
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime auditTime;
// 状态 & 操作人 // 状态 & 操作人
private Integer status; // 订单状态 private Integer status; // 订单状态

6
src/main/java/com/example/demo/domain/vo/cash/CashCollection.java

@ -59,10 +59,12 @@ public class CashCollection implements Serializable {
@ExcelProperty("免费金币数量") @ExcelProperty("免费金币数量")
private Integer freeGold; // 免费金币数量 private Integer freeGold; // 免费金币数量
//金额信息 //金额信息
private String paymentCurrencyOrig; // 原始付款币种
private BigDecimal paymentAmountOrig; // 原始付款金额
@ExcelProperty("付款币种") @ExcelProperty("付款币种")
private String paymentCurrency; // 付款币种
private String paymentCurrency; // 付款币种(转换后)
@ExcelProperty("付款金额") @ExcelProperty("付款金额")
private BigDecimal paymentAmount; // 付款金额
private BigDecimal paymentAmount; // 付款金额(转换后)
@ExcelProperty("到账币种") @ExcelProperty("到账币种")
private String receivedCurrency; // 到账币种 private String receivedCurrency; // 到账币种
@ExcelProperty("到账金额") @ExcelProperty("到账金额")

2
src/main/java/com/example/demo/service/bean/BeanConsumeService.java

@ -30,7 +30,7 @@ public interface BeanConsumeService {
Object selectFanBy(Integer pageNum, Integer pageSize, BeanConsumeFan beanConsumeFan); Object selectFanBy(Integer pageNum, Integer pageSize, BeanConsumeFan beanConsumeFan);
//筛选查询文章消费 //筛选查询文章消费
Object selectArticleBy(Integer pageNum, Integer pageSize, BeanConsumeArticle beanConsumeArticle); Object selectArticleBy(Integer pageNum, Integer pageSize, BeanConsumeArticle beanConsumeArticle);
//消费金合计数
//消费金合计数
BeanConsumeGold sumConsumeGold(Page page); BeanConsumeGold sumConsumeGold(Page page);
//查询直播礼物 //查询直播礼物
List<String> getLiveGift(); List<String> getLiveGift();

3
src/main/java/com/example/demo/service/cash/CashCollectionService.java

@ -22,6 +22,8 @@ import java.util.List;
public interface CashCollectionService { public interface CashCollectionService {
//新增收款订单 //新增收款订单
String add(CashCollection cashCollection); String add(CashCollection cashCollection);
//赠送免费金币
String addFreeCoin(CashCollection cashCollection);
//撤回未审核的收款订单 //撤回未审核的收款订单
String cancel(String orderCode); String cancel(String orderCode);
//编辑并重新提交收款订单 //编辑并重新提交收款订单
@ -42,4 +44,5 @@ public interface CashCollectionService {
CashCollection selectByGoldCoinOrderCode(String orderNo); CashCollection selectByGoldCoinOrderCode(String orderNo);
//同步事务方法 //同步事务方法
void processBatch(List<GOrder> gOrders); void processBatch(List<GOrder> gOrders);
} }

17
src/main/java/com/example/demo/serviceImpl/bean/BeanConsumeServiceImpl.java

@ -213,10 +213,27 @@ public class BeanConsumeServiceImpl implements BeanConsumeService {
public BeanConsumeGold sumConsumeGold(Page page) { public BeanConsumeGold sumConsumeGold(Page page) {
BeanConsumeGold gold = new BeanConsumeGold(); BeanConsumeGold gold = new BeanConsumeGold();
Integer payType = page.getPayType(); Integer payType = page.getPayType();
if (payType==1) { if (payType==1) {
//设置频道权限
String channel=roleMapper.getChannel(page.getBeanConsumeLive().getRoleId());
if (channel==null){
page.getBeanConsumeLive().setLiveChannel(null);
}
if (!channel.equals("全部")){
page.getBeanConsumeLive().setLiveChannel(channel);
}
//直播消费合计 //直播消费合计
gold = liveMapper.selectSumLiveBy(page.getBeanConsumeLive()); gold = liveMapper.selectSumLiveBy(page.getBeanConsumeLive());
}else if (payType==7) { }else if (payType==7) {
//设置频道权限
String channel=roleMapper.getChannel(page.getBeanConsumeFan().getRoleId());
if (channel==null){
page.getBeanConsumeFan().setChannel(null);
}
if (!channel.equals("全部")){
page.getBeanConsumeFan().setChannel(channel);
}
//充值消费合计 //充值消费合计
gold = beanConsumeMapper.selectSumFansBy(page.getBeanConsumeFan()); gold = beanConsumeMapper.selectSumFansBy(page.getBeanConsumeFan());
}else if (payType==8) { }else if (payType==8) {

52
src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java

@ -129,6 +129,58 @@ public class CashAuditServiceImpl implements CashAuditService {
user.setRechargeNum(1); //充值次数加一 user.setRechargeNum(1); //充值次数加一
auditMapper.updateUserGold(user); auditMapper.updateUserGold(user);
} }
if (order.getGoodsName().equals("免费金币赠送")) {
//往金币订单表加一条充值记录
UserGoldRecord rechargeOrder = new UserGoldRecord();
rechargeOrder.setOrderCode(orderCode.replaceFirst("^XJ_", "XJCZ_"));
rechargeOrder.setJwcode(order.getJwcode());
rechargeOrder.setActivity(order.getActivity());
rechargeOrder.setPermanentGold(0);
// 获取当前月份1-12
int currentMonth = LocalDate.now().getMonthValue();
// 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置12月额度6月保持默认值
rechargeOrder.setFreeJune(0);
rechargeOrder.setFreeDecember(order.getFreeGold());
} else {
// 7-12月设置6月额度12月保持默认值
rechargeOrder.setFreeJune(order.getFreeGold());
rechargeOrder.setFreeDecember(0);
}
rechargeOrder.setSumGold(order.getFreeGold());
rechargeOrder.setRemark(order.getRemark());
rechargeOrder.setPayPlatform("金币系统");
rechargeOrder.setAdminId(order.getSubmitterId());
rechargeOrder.setAuditId(auditId);
rechargeOrder.setType((byte) 0);
rechargeOrder.setAuditStatus(1);
rechargeOrder.setCreateTime(new Date());
rechargeMapper.add(rechargeOrder);
//往ERP加一条充值数据
GoldTistV2.addCoinNew(order.getJwcode().toString(), 63, //充值免费
(double) (order.getFreeGold()) / 100,
order.getRemark(), 0, auditName, "金币充值");
//修改用户余额添加金币
User user = new User();
user.setJwcode(order.getJwcode());
user.setSumConsumePermanent(BigDecimal.valueOf(0));
// 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置12月额度6月保持默认值
user.setSumFreeJune(BigDecimal.valueOf(0));
user.setSumFreeDecember(BigDecimal.valueOf(order.getFreeGold()));
user.setCurrentFreeDecember(BigDecimal.valueOf(order.getFreeGold()));
} else {
// 7-12月设置6月额度12月保持默认值
user.setSumFreeJune(BigDecimal.valueOf(order.getFreeGold()));
user.setCurrentFreeJune(BigDecimal.valueOf(order.getFreeGold()));
user.setSumFreeDecember(BigDecimal.valueOf(0));
}
user.setCurrentPermanentGold(BigDecimal.valueOf(0));
user.setRechargeNum(1); //充值次数加一
auditMapper.updateUserGold(user);
}
} else if (action == 2) { //驳回 } else if (action == 2) { //驳回
updateOrder.setStatus(2); updateOrder.setStatus(2);
updateOrder.setRejectReason(rejectReason); updateOrder.setRejectReason(rejectReason);

90
src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java

@ -29,6 +29,7 @@ import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -69,7 +70,7 @@ public class CashCollectionServiceImpl implements CashCollectionService {
throw new IllegalArgumentException("活动不能为空"); throw new IllegalArgumentException("活动不能为空");
} }
if (cashCollection.getGoodsName() == null|| cashCollection.getGoodsName().isEmpty()) { if (cashCollection.getGoodsName() == null|| cashCollection.getGoodsName().isEmpty()) {
throw new IllegalArgumentException("商品名不能为空");
throw new IllegalArgumentException("产品名称不能为空");
} }
if (cashCollection.getGoodsName().equals("金币充值")) { if (cashCollection.getGoodsName().equals("金币充值")) {
if (cashCollection.getPermanentGold() == 0 && cashCollection.getFreeGold() == 0) { if (cashCollection.getPermanentGold() == 0 && cashCollection.getFreeGold() == 0) {
@ -84,10 +85,10 @@ public class CashCollectionServiceImpl implements CashCollectionService {
throw new IllegalArgumentException("数量单位不能为空"); throw new IllegalArgumentException("数量单位不能为空");
} }
} }
if (cashCollection.getPaymentCurrency() == null || cashCollection.getPaymentCurrency().isEmpty()) {
if (cashCollection.getPaymentCurrencyOrig() == null || cashCollection.getPaymentCurrencyOrig().isEmpty()) {
throw new IllegalArgumentException("支付币种不能为空"); throw new IllegalArgumentException("支付币种不能为空");
} }
if (cashCollection.getPaymentAmount() == null || cashCollection.getPaymentAmount().compareTo(BigDecimal.ZERO) == 0) {
if (cashCollection.getPaymentAmountOrig() == null || cashCollection.getPaymentAmountOrig().compareTo(BigDecimal.ZERO) == 0) {
throw new IllegalArgumentException("支付金额不能为空"); throw new IllegalArgumentException("支付金额不能为空");
} }
if (cashCollection.getPayType() == null|| cashCollection.getPayType().isEmpty()) { if (cashCollection.getPayType() == null|| cashCollection.getPayType().isEmpty()) {
@ -112,8 +113,8 @@ public class CashCollectionServiceImpl implements CashCollectionService {
cashRecord.setNumUnit(cashCollection.getNumUnit()); //数量单位 cashRecord.setNumUnit(cashCollection.getNumUnit()); //数量单位
cashRecord.setPermanentGold(cashCollection.getPermanentGold()); //永久金币 cashRecord.setPermanentGold(cashCollection.getPermanentGold()); //永久金币
cashRecord.setFreeGold(cashCollection.getFreeGold()); //免费金币 cashRecord.setFreeGold(cashCollection.getFreeGold()); //免费金币
cashRecord.setPaymentCurrency(cashCollection.getPaymentCurrency()); //付款币种
cashRecord.setPaymentAmount(cashCollection.getPaymentAmount()); //付款金额
cashRecord.setPaymentCurrencyOrig(cashCollection.getPaymentCurrencyOrig()); //付款币种
cashRecord.setPaymentAmountOrig(cashCollection.getPaymentAmountOrig()); //付款金额
cashRecord.setReceivedMarket(cashCollection.getReceivedMarket()); //到账地区 cashRecord.setReceivedMarket(cashCollection.getReceivedMarket()); //到账地区
cashRecord.setPayType(cashCollection.getPayType()); //支付方式 cashRecord.setPayType(cashCollection.getPayType()); //支付方式
cashRecord.setPayTime(cashCollection.getPayTime()); //付款时间 cashRecord.setPayTime(cashCollection.getPayTime()); //付款时间
@ -142,6 +143,57 @@ public class CashCollectionServiceImpl implements CashCollectionService {
return "添加成功"; 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 @Override
public String cancel(String orderCode) { public String cancel(String orderCode) {
@ -287,7 +339,9 @@ public class CashCollectionServiceImpl implements CashCollectionService {
//补全手续费等内容 //补全手续费等内容
@Override @Override
public String complete(CashRecord cashRecord) { public String complete(CashRecord cashRecord) {
if (!Objects.equals(cashRecord.getPaymentCurrency(), cashRecord.getReceivedCurrency())){
throw new IllegalArgumentException("支付币种(转换后)和到账币种不一致");
}
int rows = cashCollectionMapper.complete(cashRecord); int rows = cashCollectionMapper.complete(cashRecord);
@ -351,6 +405,9 @@ public User getNameAndMarket(Integer jwcode) {
log.error("失败订单ID: {}", failedIds); log.error("失败订单ID: {}", failedIds);
// 可存入 error_log 供人工处理 // 可存入 error_log 供人工处理
// 这里选择继续下一批容忍部分失败 // 这里选择继续下一批容忍部分失败
} }
@ -375,20 +432,21 @@ public User getNameAndMarket(Integer jwcode) {
cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(gOrder.getJwcode())); cashRecord.setMarket(cashCollectionMapper.getMarketByJwcode(gOrder.getJwcode()));
if (gOrder.getType().equals("gold")){ //充金豆 if (gOrder.getType().equals("gold")){ //充金豆
cashRecord.setActivity("Link日常充值");
cashRecord.setActivity("99");
cashRecord.setGoodsName("Link充值金豆"); cashRecord.setGoodsName("Link充值金豆");
cashRecord.setRemark("Link充值金豆"); cashRecord.setRemark("Link充值金豆");
cashRecord.setNumUnit("个"); cashRecord.setNumUnit("个");
cashRecord.setPermanentGold(0); cashRecord.setPermanentGold(0);
cashRecord.setGoodNum(gOrder.getCount()); cashRecord.setGoodNum(gOrder.getCount());
cashRecord.setPermanentGold(gOrder.getPrice().intValue()*100);
} }
if (gOrder.getType().equals("gold_coin")){//充金币 if (gOrder.getType().equals("gold_coin")){//充金币
cashRecord.setActivity("Link日常充值");
cashRecord.setActivity("98");
cashRecord.setGoodsName("Link充值金币"); cashRecord.setGoodsName("Link充值金币");
cashRecord.setRemark("Link充值金币"); cashRecord.setRemark("Link充值金币");
cashRecord.setPermanentGold(gOrder.getCount()*100); cashRecord.setPermanentGold(gOrder.getCount()*100);
cashRecord.setGoodNum(0);
cashRecord.setGoodNum(gOrder.getCount());
} }
cashRecord.setOrderCode(gOrder.getOrderNo()); cashRecord.setOrderCode(gOrder.getOrderNo());
@ -401,25 +459,25 @@ public User getNameAndMarket(Integer jwcode) {
cashRecord.setPayload("IOS"); cashRecord.setPayload("IOS");
break; break;
case 5: case 5:
cashRecord.setPayType("Stripe-链接收款");
cashRecord.setPayType("Stripe");
cashRecord.setReceivedMarket("13"); cashRecord.setReceivedMarket("13");
cashRecord.setPayload("Stripe"); cashRecord.setPayload("Stripe");
break; break;
case 6: case 6:
cashRecord.setPayType("PaymentAsia-链接收款");
cashRecord.setPayType("PaymentAsia");
cashRecord.setReceivedMarket("13"); cashRecord.setReceivedMarket("13");
cashRecord.setPayload("PaymentAsia"); cashRecord.setPayload("PaymentAsia");
break; break;
case 7: case 7:
cashRecord.setPayType("Ipay88-链接收款");
cashRecord.setPayType("Ipay88");
cashRecord.setReceivedMarket("5"); cashRecord.setReceivedMarket("5");
cashRecord.setPayload("Ipay88"); cashRecord.setPayload("Ipay88");
break; break;
case 9: case 9:
cashRecord.setPayType("FistData");
cashRecord.setPayType("FirstData");
cashRecord.setReceivedMarket("4"); cashRecord.setReceivedMarket("4");
cashRecord.setBankCode(gOrder.getFirstdataIpgTransactionId()); cashRecord.setBankCode(gOrder.getFirstdataIpgTransactionId());
cashRecord.setPayload("FistData");
cashRecord.setPayload("FirstData");
break; break;
default: default:
break; break;
@ -428,7 +486,9 @@ public User getNameAndMarket(Integer jwcode) {
cashRecord.setFreeGold(0); cashRecord.setFreeGold(0);
cashRecord.setPaymentCurrency(""); cashRecord.setPaymentCurrency("");
cashRecord.setPaymentAmount(BigDecimal.valueOf(0)); 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.setStatus(3);
cashRecord.setSubmitterId(99999); cashRecord.setSubmitterId(99999);
//存入现金库 //存入现金库

8
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -8,12 +8,12 @@
insert into insert into
cash_record_collection(order_type,jwcode,name,market,activity, cash_record_collection(order_type,jwcode,name,market,activity,
order_code,bank_code,goods_name,good_num,num_unit,permanent_gold,free_gold, order_code,bank_code,goods_name,good_num,num_unit,permanent_gold,free_gold,
payment_currency,payment_amount,received_market,
payment_currency_orig,payment_amount_orig,received_market,
pay_type,pay_time,status,submitter_id,submitter_market,payload, pay_type,pay_time,status,submitter_id,submitter_market,payload,
voucher,remark) voucher,remark)
values(#{orderType},#{jwcode},#{name},#{market},#{activity}, values(#{orderType},#{jwcode},#{name},#{market},#{activity},
#{orderCode},#{bankCode},#{goodsName},#{goodNum},#{numUnit},#{permanentGold},#{freeGold},#{paymentCurrency},
#{paymentAmount},#{receivedMarket},#{payType},#{payTime},
#{orderCode},#{bankCode},#{goodsName},#{goodNum},#{numUnit},#{permanentGold},#{freeGold},#{paymentCurrencyOrig},
#{paymentAmountOrig},#{receivedMarket},#{payType},#{payTime},
#{status},#{submitterId},#{submitterMarket},#{payload},#{voucher},#{remark}) #{status},#{submitterId},#{submitterMarket},#{payload},#{voucher},#{remark})
</insert> </insert>
<!-- <insert id="syncToCashRecord"> <!-- <insert id="syncToCashRecord">
@ -231,7 +231,7 @@
add_time,is_synced add_time,is_synced
from g_order from g_order
where is_synced=0 and state=1 and pay_style in(3,5,6,7,9) where is_synced=0 and state=1 and pay_style in(3,5,6,7,9)
and success_time>1665246960
and success_time>=1763136000
limit #{size} limit #{size}
</select> </select>
<select id="selectById" resultType="com.example.demo.domain.vo.cash.CashCollection"> <select id="selectById" resultType="com.example.demo.domain.vo.cash.CashCollection">

4
src/main/resources/mapper/WorkBenchMapper.xml

@ -179,7 +179,7 @@
SUM(CASE WHEN r.id = 7 THEN cr.received_amount/100 ELSE 0 END) AS vdn, SUM(CASE WHEN r.id = 7 THEN cr.received_amount/100 ELSE 0 END) AS vdn,
SUM(CASE WHEN r.id = 8 THEN cr.received_amount/100 ELSE 0 END) AS krw, SUM(CASE WHEN r.id = 8 THEN cr.received_amount/100 ELSE 0 END) AS krw,
ROUND( SUM(cr.received_amount/100 * r.num), 2) AS totalSGD ROUND( SUM(cr.received_amount/100 * r.num), 2) AS totalSGD
FROM cash_record_collection as cr
FROM cash_record_collection cr
JOIN market m ON cr.received_market = m.id JOIN market m ON cr.received_market = m.id
JOIN rate r ON cr.received_currency = r.id JOIN rate r ON cr.received_currency = r.id
WHERE cr.received_currency IN (2,3,4,5,6,7,8) -- 只统计这7种币 WHERE cr.received_currency IN (2,3,4,5,6,7,8) -- 只统计这7种币
@ -187,7 +187,7 @@
<foreach item="market" collection="markets" open="(" separator="," close=")">#{market}</foreach> <foreach item="market" collection="markets" open="(" separator="," close=")">#{market}</foreach>
AND cr.audit_time BETWEEN #{startDate} AND #{endDate} AND cr.audit_time BETWEEN #{startDate} AND #{endDate}
AND cr.order_type=1 AND cr.order_type=1
AND cr.status IN (1,3,4)
AND cr.status IN (0,1,3,4,6)
GROUP BY m.name; GROUP BY m.name;
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save