Browse Source

10-17 收款审核通过后同步更新到金币订单表,金币用户表,erp库

lijianlin/feature-202509231533026-现金管理-收款管理
lijianlin 1 month ago
parent
commit
b73e3479f8
  1. 43
      src/main/java/com/example/demo/serviceImpl/cash/CashAuditServiceImpl.java
  2. 6
      src/main/java/com/example/demo/serviceImpl/cash/CashCollectionServiceImpl.java
  3. 2
      src/main/resources/cashMapper/CashAuditMapper.xml
  4. 9
      src/main/resources/cashMapper/CashCollectionMapper.xml

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

@ -2,6 +2,7 @@ package com.example.demo.serviceImpl.cash;
import com.example.demo.Util.GoldTistV2; import com.example.demo.Util.GoldTistV2;
import com.example.demo.domain.entity.CashRecord; import com.example.demo.domain.entity.CashRecord;
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.mapper.cash.CashAuditMapper; import com.example.demo.mapper.cash.CashAuditMapper;
import com.example.demo.mapper.cash.CashCollectionMapper; import com.example.demo.mapper.cash.CashCollectionMapper;
@ -12,10 +13,13 @@ 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;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.util.Date; import java.util.Date;
import static net.sf.jsqlparser.parser.feature.Feature.update;
/** /**
* @program: gold-java * @program: gold-java
* @ClassName CashAuditServiceImpl * @ClassName CashAuditServiceImpl
@ -44,14 +48,14 @@ public class CashAuditServiceImpl implements CashAuditService {
} }
CashRecord updateOrder = new CashRecord(); CashRecord updateOrder = new CashRecord();
//设置审核人 //设置审核人
updateOrder.setAuditId(order.getAuditId());
updateOrder.setAuditId(auditId);
//判断是通过还是驳回更新审核状态 //判断是通过还是驳回更新审核状态
updateOrder.setOrderCode(orderCode); updateOrder.setOrderCode(orderCode);
String auditName = cashAuditMapper.getAuditName(order.getAuditId());
String auditName = cashAuditMapper.getAuditName(auditId);
if (action==1){ //通过 if (action==1){ //通过
updateOrder.setStatus(1); updateOrder.setStatus(1);
/* //往金币订单表加一条充值记录
if (order.getGoodsName().equals("金币充值")){
//往金币订单表加一条充值记录
UserGoldRecord rechargeOrder = new UserGoldRecord(); UserGoldRecord rechargeOrder = new UserGoldRecord();
rechargeOrder.setOrderCode(orderCode.replaceFirst("^XJ_", "XJCZ_")); rechargeOrder.setOrderCode(orderCode.replaceFirst("^XJ_", "XJCZ_"));
rechargeOrder.setJwcode(order.getJwcode()); rechargeOrder.setJwcode(order.getJwcode());
@ -61,17 +65,18 @@ public class CashAuditServiceImpl implements CashAuditService {
int currentMonth = LocalDate.now().getMonthValue(); int currentMonth = LocalDate.now().getMonthValue();
// 根据当前月份设置对应字段 // 根据当前月份设置对应字段
if (currentMonth >= 1 && currentMonth <= 6) { if (currentMonth >= 1 && currentMonth <= 6) {
// 1-6月设置6月额度12月保持默认值
// 1-6月设置12月额度6月保持默认值
rechargeOrder.setFreeJune(0); rechargeOrder.setFreeJune(0);
rechargeOrder.setFreeDecember(order.getFreeGold()); rechargeOrder.setFreeDecember(order.getFreeGold());
} else { } else {
// 7-12月设置12月额度6月保持默认值
// 7-12月设置6月额度12月保持默认值
rechargeOrder.setFreeJune(order.getFreeGold()); rechargeOrder.setFreeJune(order.getFreeGold());
rechargeOrder.setFreeDecember(0); rechargeOrder.setFreeDecember(0);
} }
rechargeOrder.setSumGold(order.getPermanentGold()+order.getFreeGold()); rechargeOrder.setSumGold(order.getPermanentGold()+order.getFreeGold());
//todo money备注 10-17 1130
rechargeOrder.setRateId(Integer.valueOf(order.getPaymentCurrency())); rechargeOrder.setRateId(Integer.valueOf(order.getPaymentCurrency()));
rechargeOrder.setMoney(order.getPaymentAmount().intValue());
rechargeOrder.setRemark(order.getRemark());
rechargeOrder.setVoucher(order.getVoucher()); rechargeOrder.setVoucher(order.getVoucher());
rechargeOrder.setPayPlatform("金币系统"); rechargeOrder.setPayPlatform("金币系统");
rechargeOrder.setPayModel(order.getPayType()); rechargeOrder.setPayModel(order.getPayType());
@ -79,18 +84,38 @@ public class CashAuditServiceImpl implements CashAuditService {
Date date = Date.from(order.getPayTime().toInstant(ZoneOffset.ofHours(8))); Date date = Date.from(order.getPayTime().toInstant(ZoneOffset.ofHours(8)));
rechargeOrder.setPayTime(date); rechargeOrder.setPayTime(date);
rechargeOrder.setAdminId(order.getSubmitterId()); rechargeOrder.setAdminId(order.getSubmitterId());
rechargeOrder.setAuditId(order.getAuditId());
rechargeOrder.setAuditId(auditId);
rechargeOrder.setType((byte) 0); rechargeOrder.setType((byte) 0);
rechargeOrder.setAuditStatus(1); rechargeOrder.setAuditStatus(1);
rechargeOrder.setCreateTime(new Date()); rechargeOrder.setCreateTime(new Date());
rechargeMapper.add(rechargeOrder); rechargeMapper.add(rechargeOrder);
//往ERP加一条充值数据
GoldTistV2.addCoinNew(order.getJwcode().toString(), 64, //充值永久金币 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, //充值免费 GoldTistV2.addCoinNew(order.getJwcode().toString(), 63, //充值免费
(double) (order.getFreeGold()) /100, (double) (order.getFreeGold()) /100,
order.getRemark(),0, auditName, "金币充值");*/
order.getRemark(),0, auditName, "金币充值");
//修改用户余额添加金币
User user = new User();
user.setJwcode(order.getJwcode());
user.setSumConsumePermanent(BigDecimal.valueOf(order.getPermanentGold()));
// 根据当前月份设置对应字段
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(order.getPermanentGold()));
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);

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

@ -49,8 +49,8 @@ public class CashCollectionServiceImpl implements CashCollectionService {
if(cashCollection.getGoodsName()== null){ if(cashCollection.getGoodsName()== null){
return Result.error("商品名不能为空"); return Result.error("商品名不能为空");
} }
if(cashCollection.getGoodNum()== null){
return Result.error("商品数量不能为空");
if(cashCollection.getGoodNum()== null && cashCollection.getPermanentGold()== null && cashCollection.getFreeGold()== null){
return Result.error("商品数量或金币数量不能为空");
} }
if(cashCollection.getPaymentCurrency()== null){ if(cashCollection.getPaymentCurrency()== null){
return Result.error("支付币种不能为空"); return Result.error("支付币种不能为空");
@ -83,6 +83,8 @@ public class CashCollectionServiceImpl implements CashCollectionService {
cashRecord.setActivity(cashCollection.getActivity()); // 活动 cashRecord.setActivity(cashCollection.getActivity()); // 活动
cashRecord.setGoodsName(cashCollection.getGoodsName()); //商品名称 cashRecord.setGoodsName(cashCollection.getGoodsName()); //商品名称
cashRecord.setGoodNum(cashCollection.getGoodNum()); //商品数量 cashRecord.setGoodNum(cashCollection.getGoodNum()); //商品数量
cashRecord.setPermanentGold(cashCollection.getPermanentGold()); //永久金币
cashRecord.setFreeGold(cashCollection.getFreeGold()); //免费金币
cashRecord.setPaymentCurrency(cashCollection.getPaymentCurrency()); //付款币种 cashRecord.setPaymentCurrency(cashCollection.getPaymentCurrency()); //付款币种
cashRecord.setPaymentAmount(cashCollection.getPaymentAmount()); //付款金额 cashRecord.setPaymentAmount(cashCollection.getPaymentAmount()); //付款金额
cashRecord.setReceivedMarket(cashCollection.getReceivedMarket()); //到账地区 cashRecord.setReceivedMarket(cashCollection.getReceivedMarket()); //到账地区

2
src/main/resources/cashMapper/CashAuditMapper.xml

@ -14,6 +14,6 @@
<select id="getAuditName" resultType="java.lang.String"> <select id="getAuditName" resultType="java.lang.String">
select a.admin_name from admin as a left join select a.admin_name from admin as a left join
cash_record cr on a.id=cr.audit_id cash_record cr on a.id=cr.audit_id
where a.id=#{auditId}
where a.id=#{auditId} limit 1
</select> </select>
</mapper> </mapper>

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

@ -7,12 +7,12 @@
useGeneratedKeys="true" keyProperty="id"> useGeneratedKeys="true" keyProperty="id">
insert into insert into
cash_record(order_type,jwcode,name,market,activity, cash_record(order_type,jwcode,name,market,activity,
order_code,goods_name,good_num,
order_code,goods_name,good_num,permanent_gold,free_gold,
payment_currency,payment_amount,received_market, payment_currency,payment_amount,received_market,
pay_type,pay_time,status,submitter_id, pay_type,pay_time,status,submitter_id,
voucher,remark) voucher,remark)
values(#{orderType},#{jwcode},#{name},#{market},#{activity}, values(#{orderType},#{jwcode},#{name},#{market},#{activity},
#{orderCode},#{goodsName},#{goodNum},#{paymentCurrency},
#{orderCode},#{goodsName},#{goodNum},#{permanentGold},#{freeGold},#{paymentCurrency},
#{paymentAmount},#{receivedMarket},#{payType},#{payTime}, #{paymentAmount},#{receivedMarket},#{payType},#{payTime},
#{status},#{submitterId},#{voucher},#{remark}) #{status},#{submitterId},#{voucher},#{remark})
</insert> </insert>
@ -166,7 +166,10 @@
</choose> </choose>
</select> </select>
<select id="selectAuditByOrderCode" resultType="com.example.demo.domain.entity.CashRecord"> <select id="selectAuditByOrderCode" resultType="com.example.demo.domain.entity.CashRecord">
select status,order_code from cash_record where order_code=#{orderCode}
select id, status,jwcode,name,market,activity,
order_code,bank_code,goods_name,good_num,permanent_gold,free_gold,
payment_currency,payment_amount,pay_type,pay_time,status,submitter_id,
voucher,remark from cash_record where order_code=#{orderCode}
</select> </select>
<!--根据精网号获取姓名--> <!--根据精网号获取姓名-->
<select id="getNameByJwcode" resultType="java.lang.String"> <select id="getNameByJwcode" resultType="java.lang.String">

Loading…
Cancel
Save