diff --git a/src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java b/src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java index 71d028d..e243824 100644 --- a/src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java +++ b/src/main/java/com/example/demo/mapper/cash/CashAuditMapper.java @@ -16,4 +16,6 @@ import org.apache.ibatis.annotations.Param; public interface CashAuditMapper { //审核收款订单 void updateOrder (CashRecord updateOrder); + //根据id获取审核人姓名 + String getAuditName(Integer auditId); } diff --git a/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java b/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java index d4a76db..42b903b 100644 --- a/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java +++ b/src/main/java/com/example/demo/mapper/cash/CashCollectionMapper.java @@ -36,7 +36,7 @@ public interface CashCollectionMapper { @Param("cashCollection") CashCollection cashCollection); //根据订单号查询待审核的现金收款订单 - CashRecord selectUnAuditByOrderCode(@Param("orderCode") String orderCode); + CashRecord selectAuditByOrderCode(@Param("orderCode") String orderCode); //补全手续费等信息 int complete(@Param("cashRecord") CashRecord cashRecord); //根据精网号获取姓名 diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java index 8511647..c1295ff 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java @@ -1,16 +1,20 @@ package com.example.demo.serviceImpl.cash; +import com.example.demo.Util.GoldTistV2; import com.example.demo.domain.entity.CashRecord; import com.example.demo.domain.entity.UserGoldRecord; import com.example.demo.mapper.cash.CashAuditMapper; import com.example.demo.mapper.cash.CashCollectionMapper; import com.example.demo.mapper.coin.AuditMapper; +import com.example.demo.mapper.coin.RechargeMapper; import com.example.demo.service.cash.CashAuditService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; +import java.time.ZoneOffset; +import java.util.Date; /** * @program: gold-java @@ -25,27 +29,29 @@ public class CashAuditServiceImpl implements CashAuditService { @Autowired private AuditMapper auditMapper; @Autowired + private RechargeMapper rechargeMapper; + @Autowired private CashCollectionMapper cashCollectionMapper; @Autowired private CashAuditMapper cashAuditMapper; @Transactional @Override public boolean auditCollection(String token,Integer auditId, String orderCode, Integer action, String rejectReason) { - CashRecord order = cashCollectionMapper.selectUnAuditByOrderCode(orderCode); - + CashRecord order = cashCollectionMapper.selectAuditByOrderCode(orderCode); if (order==null || order.getStatus()!=0 ){ throw new IllegalArgumentException("订单不存在或已被审核"); } CashRecord updateOrder = new CashRecord(); //设置审核人 - updateOrder.setAuditId(auditId); + updateOrder.setAuditId(order.getAuditId()); //判断是通过还是驳回,更新审核状态 updateOrder.setOrderCode(orderCode); + String auditName = cashAuditMapper.getAuditName(order.getAuditId()); if (action==1){ //通过 updateOrder.setStatus(1); - //往金币订单表加一条充值记录 + /* //往金币订单表加一条充值记录 UserGoldRecord rechargeOrder = new UserGoldRecord(); rechargeOrder.setOrderCode(orderCode.replaceFirst("^XJ_", "XJCZ_")); rechargeOrder.setJwcode(order.getJwcode()); @@ -64,13 +70,26 @@ public class CashAuditServiceImpl implements CashAuditService { rechargeOrder.setFreeDecember(0); } rechargeOrder.setSumGold(order.getPermanentGold()+order.getFreeGold()); - //todo 缺汇率id、money、备注 10-17 11:30 - rechargeOrder.setPayModel(order.getPayType()); + //todo money、备注 10-17 11:30 + rechargeOrder.setRateId(Integer.valueOf(order.getPaymentCurrency())); rechargeOrder.setVoucher(order.getVoucher()); rechargeOrder.setPayPlatform("金币系统"); - - - + rechargeOrder.setPayModel(order.getPayType()); + //把时间转换成Date + Date date = Date.from(order.getPayTime().toInstant(ZoneOffset.ofHours(8))); + rechargeOrder.setPayTime(date); + rechargeOrder.setAdminId(order.getSubmitterId()); + rechargeOrder.setAuditId(order.getAuditId()); + rechargeOrder.setType((byte) 0); + rechargeOrder.setAuditStatus(1); + rechargeOrder.setCreateTime(new Date()); + rechargeMapper.add(rechargeOrder); + GoldTistV2.addCoinNew(order.getJwcode().toString(), 64, //充值永久金币 + (double) (order.getPermanentGold() ) /100, + order.getRemark(),(double) (order.getPermanentGold() ) /100, auditName, "金币充值"); + GoldTistV2.addCoinNew(order.getJwcode().toString(), 63, //充值免费 + (double) (order.getFreeGold()) /100, + order.getRemark(),0, auditName, "金币充值");*/ } else if (action==2){ //驳回 updateOrder.setStatus(2); diff --git a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java index b86f02e..e5da86a 100644 --- a/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java @@ -177,12 +177,23 @@ public class CashCollectionServiceImpl implements CashCollectionService { } cashCollection.setReceivedMarket(marketMapper.getMarketId(cashCollection.getReceivedMarket())); if (cashCollection.getCashRoleId()==2) { - //角色是总部时,传134,sql处理为(1,3,4)筛选,提交人置空不设筛选条件 - cashCollection.setStatus(134); + //角色是总部时,传1346,sql处理为(1,3,4,6)筛选, + + cashCollection.setStatus(1346); cashCollection.setSubmitterId(null); + cashCollection.setReceivedMarket(null); }if (cashCollection.getCashRoleId()==1){ - //角色是地方财务,提交人置空不设筛选条件---仅当角色是0 地方客服时,按提交人筛选 + //角色是地方财务,提交人置空不设筛选条件,仅按地区筛选,查看 + + if(cashCollection.getStatus()==null){ + cashCollection.setStatus(123460); + } cashCollection.setSubmitterId(null); + }if (cashCollection.getCashRoleId()==0){ + //角色是地方财务,提交人置空不设筛选条件---仅当角色是0 地方客服时,按提交人筛选 + cashCollection.setStatus(null); + cashCollection.setSubmitterId(cashCollection.getSubmitterId()); + cashCollection.setReceivedMarket(null); } cashCollection.setMarkets(markets); PageHelper.startPage(pageNum, pageSize); diff --git a/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java index 10f1af1..9c45dc6 100644 --- a/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/coin/RechargeServiceImpl.java @@ -144,7 +144,6 @@ public class RechargeServiceImpl implements RechargeService { userGoldRecord.setType((byte) 0); userGoldRecord.setAuditStatus(0); userGoldRecord.setCreateTime(new Date()); - rechargeMapper.add(userGoldRecord); return Result.success(); } diff --git a/src/main/resources/cashMapper/CashAuditMapper.xml b/src/main/resources/cashMapper/CashAuditMapper.xml index ea979ba..50efcae 100644 --- a/src/main/resources/cashMapper/CashAuditMapper.xml +++ b/src/main/resources/cashMapper/CashAuditMapper.xml @@ -11,4 +11,9 @@ audit_time=now() where order_code=#{orderCode} and status=0 + \ No newline at end of file diff --git a/src/main/resources/cashMapper/CashCollectionMapper.xml b/src/main/resources/cashMapper/CashCollectionMapper.xml index 95c78ec..f8f569a 100644 --- a/src/main/resources/cashMapper/CashCollectionMapper.xml +++ b/src/main/resources/cashMapper/CashCollectionMapper.xml @@ -47,16 +47,50 @@ - update cash_record - set handling_charge=#{cashRecord.handlingCharge}, - received_currency=#{cashRecord.receivedCurrency}, - received_amount=#{cashRecord.receivedAmount}, - received_time=#{cashRecord.receivedTime}, - received_remark= #{cashRecord.receivedRemark}, - status=4, - bank_code= #{cashRecord.bankCode} - where order_code=#{cashRecord.orderCode} and status in (1,3) - + UPDATE cash_record + + + handling_charge = #{cashRecord.handlingCharge}, + + + received_currency = #{cashRecord.receivedCurrency}, + + + received_amount = #{cashRecord.receivedAmount}, + + + received_time = #{cashRecord.receivedTime}, + + + received_remark = #{cashRecord.receivedRemark}, + + + payment_currency = #{cashRecord.paymentCurrency}, + + + + payment_amount = #{cashRecord.paymentAmount}, + + + bank_code = #{cashRecord.bankCode}, + + + status = CASE + WHEN + handling_charge IS NOT NULL + AND received_currency IS NOT NULL AND received_currency != '' + AND received_amount IS NOT NULL + AND received_time IS NOT NULL + AND received_remark IS NOT NULL AND received_remark != '' + AND payment_currency IS NOT NULL AND payment_currency != '' + AND payment_amount IS NOT NULL + AND bank_code IS NOT NULL AND bank_code != '' + THEN 4 + ELSE status + END + + WHERE order_code = #{cashRecord.orderCode} + AND status IN (1, 3) select cr.id,cr.jwcode,cr.name,cr.market, m.name as marketName,cr.activity,cr.order_code,cr.bank_code, - cr.goods_name,cr.good_num,cr.payment_currency,cr.payment_amount, - cr.received_currency,cr.received_amount,cr.handling_charge, + cr.goods_name,cr.good_num,cr.permanent_gold,cr.free_gold,cr.payment_currency,cr.payment_amount/100 as paymentAmount, + cr.received_currency,cr.received_amount/100 as receivedAmount,cr.handling_charge/100 as handlingCharge, cr.received_market,cr.pay_type,cr.pay_time,cr.received_time, cr.status,cr.submitter_id,cr.voucher,cr.remark,cr.reject_reason, cr.audit_id,cr.create_time,cr.update_time,cr.audit_time, @@ -131,7 +165,7 @@ - select status,order_code from cash_record where order_code=#{orderCode} diff --git a/src/main/resources/mapper/WorkBenchMapper.xml b/src/main/resources/mapper/WorkBenchMapper.xml index abc85fb..a545fbf 100644 --- a/src/main/resources/mapper/WorkBenchMapper.xml +++ b/src/main/resources/mapper/WorkBenchMapper.xml @@ -171,14 +171,14 @@