diff --git a/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusIntegralConsumeController.java b/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusIntegralConsumeController.java index c70ba92..6bbc65d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusIntegralConsumeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusIntegralConsumeController.java @@ -20,6 +20,7 @@ import java.sql.Wrapper; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 积分变更记录Controller @@ -62,7 +63,22 @@ public class BusIntegralConsumeController extends BaseController } startPage(); + busIntegralRecord.setIntegralType("sms"); List list1 = busIntegralRecordService.selectBusIntegralRecordList1(busIntegralRecord); + clearPage(); + startPage(); + busIntegralRecord.setIntegralType("AI"); + List list2 = busIntegralRecordService.selectBusIntegralRecordList1(busIntegralRecord); + clearPage(); + list1 = list1.stream().map(bean -> { + for(BusIntegralRecord busIntegralRecord1:list2){ + if(busIntegralRecord1.getAccount().equals(bean.getAccount())){ + bean.setAiIntegralUpdateNum(busIntegralRecord1.getIntegralUpdateNum()); + break; + } + } + return bean; + }).collect(Collectors.toList()); return getDataTable(list1); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusAgentInfo.java b/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusAgentInfo.java index f167452..a2b54f8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusAgentInfo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusAgentInfo.java @@ -119,6 +119,7 @@ public class BusAgentInfo extends BaseEntity @Excel(name = "手机号码") private String phoneNumber; private int aiRealTimeNum; + private int aiRealTimeNum1; private Long deptId; public Long getDeptId() { @@ -137,6 +138,14 @@ public class BusAgentInfo extends BaseEntity this.aiRealTimeNum = aiRealTimeNum; } + public int getAiRealTimeNum1() { + return aiRealTimeNum1; + } + + public void setAiRealTimeNum1(int aiRealTimeNum1) { + this.aiRealTimeNum1 = aiRealTimeNum1; + } + public String getPassword() { return password; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusIntegralRecord.java b/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusIntegralRecord.java index 0e7dac7..aad4712 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusIntegralRecord.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusIntegralRecord.java @@ -42,6 +42,14 @@ public class BusIntegralRecord extends BaseEntity @JSONField(ordinal = 4) private int integralUpdateNum; + @Excel(name = "积分变更数值") + @JSONField(ordinal = 5) + private int aiIntegralUpdateNum; + + @Excel(name = "账分类型") + @JSONField(ordinal = 6) + private String integralType; + /** 变更时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "变更时间", width = 30, dateFormat = "yyyy-MM-dd") @@ -51,6 +59,7 @@ public class BusIntegralRecord extends BaseEntity /** 积分余额 */ // @Excel(name = "积分余额") private int integralBalance; + private int aiIntegralBalance; private List agentAccount; @@ -62,6 +71,14 @@ public class BusIntegralRecord extends BaseEntity this.agentAccount = agentAccount; } + public int getAiIntegralUpdateNum() { + return aiIntegralUpdateNum; + } + + public void setAiIntegralUpdateNum(int aiIntegralUpdateNum) { + this.aiIntegralUpdateNum = aiIntegralUpdateNum; + } + /** 代理备注 */ // @Excel(name = "代理备注") private String agentRemark; @@ -159,6 +176,22 @@ public class BusIntegralRecord extends BaseEntity this.remark = remark; } + public String getIntegralType() { + return integralType; + } + + public void setIntegralType(String integralType) { + this.integralType = integralType; + } + + public int getAiIntegralBalance() { + return aiIntegralBalance; + } + + public void setAiIntegralBalance(int aiIntegralBalance) { + this.aiIntegralBalance = aiIntegralBalance; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiConsumer.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiConsumer.java index efb5831..d07bbbc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiConsumer.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiConsumer.java @@ -162,21 +162,33 @@ public class AiConsumer { if (listInfo.size() != 0) { System.out.println("15天拦截====================="); BusAgentInfo busAgentInfo = agentInfo; + BusIntegralRecord record = new BusIntegralRecord(); int a = 1; - int reduce = busAgentInfo.getAiDurationBalance() - a; - busAgentInfo.setAiDurationBalance(reduce); + if("AI".equals(busStoreInfo.getMarketingChannels())){ + int reduce = busAgentInfo.getAiRealTimeNum() - a; + busAgentInfo.setAiDurationBalance(reduce); + record.setIntegralType("AI"); + record.setAiIntegralBalance(reduce); + returnVisitInfo.setIsCharging("AI-0"); + }else if("sms".equals(busStoreInfo.getMarketingChannels())){ + int reduce = busAgentInfo.getAiDurationBalance() - a; + busAgentInfo.setAiDurationBalance(reduce); + record.setIntegralType("sms"); + record.setIntegralBalance(reduce); + returnVisitInfo.setIsCharging("sms-0"); + } +// int reduce = busAgentInfo.getAiDurationBalance() - a; +// busAgentInfo.setAiDurationBalance(reduce); agentInfoService.updateBusAgentInfo(busAgentInfo); - BusIntegralRecord record = new BusIntegralRecord(); record.setAccount(busAgentInfo.getAgentAccount()); record.setIntegralUpdateTime(new Date()); record.setUpdateType("消耗账分"); record.setIntegralUpdateNum(a); - record.setIntegralBalance(reduce); +// record.setIntegralBalance(reduce); record.setRemark(busOrderInfo.getPrivcyPhone()); record.setAgentRemark("其他"); integralRecordService.insertBusIntegralRecord(record); - returnVisitInfo.setIsCharging("其他"); }else { if("AI".equals(busStoreInfo.getMarketingChannels())){ aiService.sendAiTask(content,busOrderInfo); @@ -199,6 +211,7 @@ public class AiConsumer { record.setUpdateType("消耗账分"); record.setIntegralUpdateNum(a); record.setIntegralBalance(reduce); + record.setIntegralType("sms"); record.setRemark(busOrderInfo.getPrivcyPhone()); record.setAgentRemark("sms"); integralRecordService.insertBusIntegralRecord(record); diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiServiceImpl.java index 8a481ae..adffb04 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/AiServiceImpl.java @@ -263,12 +263,24 @@ public class AiServiceImpl implements IAiService { continue; } // int cha = agentInfoL.get(0).getAiDurationBalance() - agentInfoL.get(0).getAiRealTimeNum(); - int cha = agentInfo.getAiDurationBalance(); - if (cha < list.size()&&(cha - 1)>0) { - list.subList(0, cha - 1); - log.error("积分不足截取部分订单营销"); - agentInfo.setAiRealTimeNum(agentInfo.getAiDurationBalance()); - } else if(cha < 0){ + if("sms".equals(busStoreInfo.getMarketingChannels())){ + int cha = agentInfo.getAiDurationBalance();//短信-安全账分 + if (cha < list.size()&&(cha - 1)>0) { + list.subList(0, cha - 1); + log.error("安全账分不足截取部分订单营销"); + } else if(cha < 0){ + continue; + } + }else if("AI".equals(busStoreInfo.getMarketingChannels())){ + int cha = agentInfo.getAiRealTimeNum();//ai电话-普通账分 + if (cha < list.size()&&(cha - 1)>0) { + list.subList(0, cha - 1); + log.error("普通账分不足截取部分订单营销"); + } else if(cha < 0){ + continue; + } + }else{ + log.error(busStoreInfo.getStoreCode()+"营销异常"); continue; } for (BusOrderInfo busOrderInfo : newList) { @@ -404,9 +416,9 @@ public class AiServiceImpl implements IAiService { if (agentInfoL.size() > 0) { BusAgentInfo busAgentInfo = agentInfoL.get(0); int a = (Integer.valueOf(aiInfo.getTalktimes()) / 60) + 1; - int reduce = busAgentInfo.getAiDurationBalance() - a; - busAgentInfo.setAiDurationBalance(reduce); - busAgentInfo.setAiRealTimeNum(0); + int reduce = busAgentInfo.getAiRealTimeNum() - a; + busAgentInfo.setAiRealTimeNum(reduce); +// busAgentInfo.setAiRealTimeNum(0); agentInfoService.updateBusAgentInfo(busAgentInfo); BusIntegralRecord record = new BusIntegralRecord(); @@ -414,9 +426,10 @@ public class AiServiceImpl implements IAiService { record.setIntegralUpdateTime(new Date()); record.setUpdateType("消耗账分"); record.setIntegralUpdateNum(a); - record.setIntegralBalance(reduce); + record.setAiIntegralBalance(reduce); record.setRemark(orderInfo.getPrivcyPhone()); record.setAgentRemark("AI"); + record.setIntegralType("AI"); integralRecordService.insertBusIntegralRecord(record); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusAgentInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusAgentInfoServiceImpl.java index 11efa79..0dc34a7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusAgentInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusAgentInfoServiceImpl.java @@ -161,13 +161,30 @@ public class BusAgentInfoServiceImpl implements IBusAgentInfoService BusIntegralRecord record = new BusIntegralRecord(); record.setAccount(busAgentInfo.getAgentAccount()); record.setUpdateType("入账"); - record.setIntegralUpdateNum(busAgentInfo.getAiDurationBalance1()); - + int newValue = 0; BusAgentInfo temp = busAgentInfoMapper.selectBusAgentInfoById(busAgentInfo.getId()); - int oldValue = temp.getAiDurationBalance(); - int newValue = busAgentInfo.getAiDurationBalance1(); - busAgentInfo.setAiDurationBalance((oldValue+newValue)); - record.setIntegralBalance((oldValue+newValue)); + if(busAgentInfo.getAiDurationBalance1()!=0){ + record.setIntegralUpdateNum(busAgentInfo.getAiDurationBalance1()); + int oldValue = temp.getAiDurationBalance(); + newValue = busAgentInfo.getAiDurationBalance1(); + busAgentInfo.setAiDurationBalance((oldValue+newValue)); + record.setIntegralBalance((oldValue+newValue)); + record.setIntegralType("sms"); + record.setAiIntegralBalance(temp.getAiRealTimeNum()); + }else if(busAgentInfo.getAiRealTimeNum1()!=0){ + record.setIntegralUpdateNum(busAgentInfo.getAiRealTimeNum1()); + int oldValue = temp.getAiRealTimeNum(); + newValue = busAgentInfo.getAiRealTimeNum1(); + busAgentInfo.setAiRealTimeNum((oldValue+newValue)); + record.setAiIntegralBalance((oldValue+newValue)); + record.setIntegralType("AI"); + record.setIntegralBalance(temp.getAiDurationBalance()); + } + +// int oldValue = temp.getAiDurationBalance(); +// int newValue = busAgentInfo.getAiDurationBalance1(); +// busAgentInfo.setAiDurationBalance((oldValue+newValue)); +// record.setIntegralBalance((oldValue+newValue)); record.setIntegralUpdateTime(new Date()); record.setCreateUser(busAgentInfo.getSuperiorAgentAccount()); @@ -178,18 +195,35 @@ public class BusAgentInfoServiceImpl implements IBusAgentInfoService record1.setAccount(busAgentInfo.getSuperiorAgentAccount()); record1.setUpdateType("出账"); record1.setCreateUser(busAgentInfo.getAgentAccount()); - record1.setIntegralUpdateNum(busAgentInfo.getAiDurationBalance1()); +// record1.setIntegralUpdateNum(busAgentInfo.getAiDurationBalance1()); + if(busAgentInfo.getAiDurationBalance1()!=0){ + record1.setIntegralUpdateNum(busAgentInfo.getAiDurationBalance1()); + record1.setIntegralType("sms"); + }else if(busAgentInfo.getAiRealTimeNum1()!=0){ + record1.setIntegralUpdateNum(busAgentInfo.getAiRealTimeNum1()); + record1.setIntegralType("AI"); + } BusAgentInfo temp1 = busAgentInfoMapper.selectBusAgentInfoById(busAgentInfo.getSuperiorAgentCode()); if(busAgentInfo.getSuperiorAgentCode() == 1){ record1.setIntegralUpdateTime(new Date()); recordService.insertBusIntegralRecord(record1); return 1; } - int oldValue1 = temp1.getAiDurationBalance(); - record1.setIntegralBalance(oldValue1 - newValue); + if(busAgentInfo.getAiDurationBalance1()!=0){ + int oldValue1 = temp1.getAiDurationBalance(); + record1.setIntegralBalance(oldValue1 - newValue); + record1.setAiIntegralBalance(temp1.getAiRealTimeNum()); + temp1.setAiDurationBalance(oldValue1 - newValue); + }else if(busAgentInfo.getAiRealTimeNum1()!=0){ + int oldValue1 = temp1.getAiRealTimeNum(); + record1.setAiIntegralBalance(oldValue1 - newValue); + record1.setIntegralBalance(temp1.getAiDurationBalance()); + temp1.setAiRealTimeNum(oldValue1 - newValue); + } +// int oldValue1 = temp1.getAiDurationBalance(); +// record1.setIntegralBalance(oldValue1 - newValue); record1.setIntegralUpdateTime(new Date()); recordService.insertBusIntegralRecord(record1); - temp1.setAiDurationBalance(oldValue1 - newValue); busAgentInfoMapper.updateBusAgentInfo(temp1); return 1; diff --git a/ruoyi-system/src/main/resources/mapper/business/BusAgentInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/business/BusAgentInfoMapper.xml index 1085c8c..2d3a774 100644 --- a/ruoyi-system/src/main/resources/mapper/business/BusAgentInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/business/BusAgentInfoMapper.xml @@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, agent_account, agent_name, integral,create_time ,superior_agent_code, superior_agent_account, grant_store_num, operate_store_num, last_use_integral_num, last_positive_reviews_num, ai_duration_balance, last_login_time, last_login_ip, login_num, del_status from bus_agent_info + select id, agent_account, agent_name, integral,create_time ,superior_agent_code, superior_agent_account, grant_store_num, operate_store_num, last_use_integral_num, last_positive_reviews_num, ai_duration_balance, last_login_time, last_login_ip, login_num, del_status,ai_real_time_num from bus_agent_info