This commit is contained in:
linfso 2025-03-14 18:08:08 +08:00
parent 27c3caa694
commit ac900593f1
6 changed files with 83 additions and 24 deletions

View File

@ -710,6 +710,31 @@ public class EmisCommonController extends EmisBaseController
}
/**
* 自动出账触发
* @return
*/
@GetMapping("/autoDoCreditTrigger")
public AjaxResult autoDoCreditTrigger(){
String lockKey="autoDoCreditTrigger";
log.info("autoDoCreditTrigger start");
// 加锁查询
redissonService.lock(lockKey,300);
try{
emisBaseService.autoDoCredit();
}catch(Exception ex){
ex.printStackTrace();
log.error("autoDoCreditTrigger exception:"+ex.getMessage());
}
log.info("autoDoCreditTrigger end");
redissonService.unlock(lockKey);
return AjaxResult.success("发送成功");
}
/**
* 单独出账

View File

@ -76,8 +76,13 @@ public interface EmisCreditCustomerMapper extends BaseMapper<EmisCreditCustomer>
*/
public int updateEmisCreditCustomer(EmisCreditCustomer emisCreditCustomer);
public int changeBalance(@Param("accCode") String accCode,@Param("changeMoney") BigDecimal changeMoney);
/**
* 改变使用金额
* @param id
* @param useMoney
* @return
*/
public int updateUseMoney(@Param("id") Long id,@Param("useMoney") BigDecimal useMoney);
/**
* 删除

View File

@ -73,7 +73,15 @@ public interface EmisCreditSalesmenMapper extends BaseMapper<EmisCreditSalesmen>
*/
public int updateEmisCreditSalesmen(EmisCreditSalesmen emisCreditSalesmen);
public int changeBalance(@Param("accCode") String accCode, @Param("changeMoney") BigDecimal changeMoney);
/**
* 改变占用额度
* @param id
* @param useMoney
* @return
*/
public int updateUseMoney(@Param("id") Long id,@Param("useMoney") BigDecimal useMoney);
/**
* 删除

View File

@ -353,10 +353,7 @@ public class EmisBaseService {
Map useMoneyMap=emisCreditCustomerMapper.getUseMoneyMap(item0);
BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney");
EmisCreditCustomer upd = new EmisCreditCustomer();
upd.setId(item0.getId());
upd.setUseMoney(useMoney);
emisCreditCustomerMapper.updateEmisCreditCustomer(upd);
emisCreditCustomerMapper.updateUseMoney(item0.getId(),useMoney);
}
} else if ("1".equals(oldPaymentType) || "3".equals(oldPaymentType)) {
// 现金额度占用
@ -368,10 +365,7 @@ public class EmisBaseService {
Map useMoneyMap=emisCreditSalesmenMapper.getUseMoneyMap(item0);
BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney");
EmisCreditSalesmen upd = new EmisCreditSalesmen();
upd.setId(item0.getId());
upd.setUseMoney(useMoney);
emisCreditSalesmenMapper.updateEmisCreditSalesmen(upd);
emisCreditSalesmenMapper.updateUseMoney(item0.getId(),useMoney);
}
}
}
@ -392,10 +386,7 @@ public class EmisBaseService {
Map useMoneyMap=emisCreditCustomerMapper.getUseMoneyMap(item0);
BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney");
EmisCreditCustomer upd = new EmisCreditCustomer();
upd.setId(item0.getId());
upd.setUseMoney(useMoney);
emisCreditCustomerMapper.updateEmisCreditCustomer(upd);
emisCreditCustomerMapper.updateUseMoney(item0.getId(),useMoney);
}
} else if ("1".equals(newPaymentType) || "3".equals(newPaymentType)) {
// 现金额度占用
@ -405,11 +396,7 @@ public class EmisBaseService {
// 获取已使用金额
Map useMoneyMap=emisCreditSalesmenMapper.getUseMoneyMap(item0);
BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney");
EmisCreditSalesmen upd = new EmisCreditSalesmen();
upd.setId(item0.getId());
upd.setUseMoney(useMoney);
emisCreditSalesmenMapper.updateEmisCreditSalesmen(upd);
emisCreditSalesmenMapper.updateUseMoney(item0.getId(),useMoney);
}
}
@ -1471,6 +1458,40 @@ public class EmisBaseService {
}
}
/**
* 每日自动计算额度
*/
public void autoDoCredit() {
// 计算销售员额度
EmisCreditSalesmen querySalesmen = new EmisCreditSalesmen();
List<EmisCreditSalesmen> listSalemen = emisCreditSalesmenMapper.selectEmisCreditSalesmenList(querySalesmen);
if(!CollectionUtil.isEmpty(listSalemen)){
for(EmisCreditSalesmen item:listSalemen){
try {
Map useMoneyMap=emisCreditSalesmenMapper.getUseMoneyMap(item);
BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney");
emisCreditSalesmenMapper.updateUseMoney(item.getId(),useMoney);
}catch (Exception ex){
ex.printStackTrace();
}
}
}
// 计算月结额度
EmisCreditCustomer queryCreditCustomer= new EmisCreditCustomer();
List<EmisCreditCustomer> listCreditCustomer = emisCreditCustomerMapper.selectEmisCreditCustomerList(queryCreditCustomer);
if(!CollectionUtil.isEmpty(listCreditCustomer)){
for(EmisCreditCustomer item:listCreditCustomer){
try {
Map useMoneyMap=emisCreditCustomerMapper.getUseMoneyMap(item);
BigDecimal useMoney = (BigDecimal)useMoneyMap.get("useMoney");
emisCreditCustomerMapper.updateUseMoney(item.getId(),useMoney);
}catch (Exception ex){
ex.printStackTrace();
}
}
}
}
@Transactional

View File

@ -214,8 +214,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<update id="changeBalance" >
update emis_credit_customer set use_money = use_money + #{changeMoney} where acc_code = #{accCode}
<update id="updateUseMoney" >
update emis_credit_customer set use_money = #{useMoney} where id = #{id}
</update>

View File

@ -182,8 +182,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<update id="changeBalance" >
update emis_credit_salesmen set use_money = use_money + #{changeMoney} where acc_code = #{accCode}
<update id="updateUseMoney" >
update emis_credit_salesmen set use_money = #{useMoney} where id = #{id}
</update>
<delete id="deleteEmisCreditSalesmenById" parameterType="Long">