Commit 8b085178 by lzxry

流量同步bug

parent b8ceff10
package common.model; package common.model;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
/** /**
...@@ -10,8 +11,9 @@ import javax.persistence.Id; ...@@ -10,8 +11,9 @@ import javax.persistence.Id;
*/ */
@Entity @Entity
public class TkioFlow { public class TkioFlow {
@Id @Id
@GeneratedValue
private Long id;
private String ds; private String ds;
private String email; private String email;
private String contractCode; private String contractCode;
...@@ -57,4 +59,12 @@ public class TkioFlow { ...@@ -57,4 +59,12 @@ public class TkioFlow {
public void setCostFlow(Long costFlow) { public void setCostFlow(Long costFlow) {
this.costFlow = costFlow; this.costFlow = costFlow;
} }
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
} }
...@@ -7,12 +7,11 @@ import org.springframework.data.jpa.repository.Query; ...@@ -7,12 +7,11 @@ import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger;
public interface TkioFlowRepository extends JpaRepository<TkioFlow, Long> { public interface TkioFlowRepository extends JpaRepository<TkioFlow, Long> {
@Query(value = "select sum(flow) from tkio_flow where email = ?1 and contract_code = ?2", nativeQuery = true) @Query(value = "select sum(flow) from tkio_flow where email = ?1 and contract_code = ?2", nativeQuery = true)
Long sumFlowByEmailAndContractCode(String email, String contractCode); BigDecimal sumFlowByEmailAndContractCode(String email, String contractCode);
@Transactional @Transactional
@Modifying @Modifying
......
...@@ -16,6 +16,7 @@ import tkio.repository.AppRepository; ...@@ -16,6 +16,7 @@ import tkio.repository.AppRepository;
import tkio.service.AccountFlowRestrictService; import tkio.service.AccountFlowRestrictService;
import util.DateUtil; import util.DateUtil;
import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -92,6 +93,7 @@ public class TrackingFlowTask { ...@@ -92,6 +93,7 @@ public class TrackingFlowTask {
TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contracts.get(0)); TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contracts.get(0));
if (tkioFlow != null) { if (tkioFlow != null) {
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
} }
} else { } else {
//多个合同 //多个合同
...@@ -125,10 +127,14 @@ public class TrackingFlowTask { ...@@ -125,10 +127,14 @@ public class TrackingFlowTask {
if (tkioFlow != null && i < contractsArray.length - 1 && tkioFlow.getCostFlow() !=null && tkioFlow.getCostFlow() > 0L) {//处理成本流量,如果超出了,依次算在下一个合同上 if (tkioFlow != null && i < contractsArray.length - 1 && tkioFlow.getCostFlow() !=null && tkioFlow.getCostFlow() > 0L) {//处理成本流量,如果超出了,依次算在下一个合同上
clickNum = BigInteger.valueOf(tkioFlow.getCostFlow()); clickNum = BigInteger.valueOf(tkioFlow.getCostFlow());
tkioFlow.setCostFlow(null); tkioFlow.setCostFlow(null);
if(tkioFlow.getFlow()>0){
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
}
} else { } else {
if (tkioFlow != null) { if (tkioFlow != null) {
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
} }
break; break;
} }
...@@ -156,6 +162,7 @@ public class TrackingFlowTask { ...@@ -156,6 +162,7 @@ public class TrackingFlowTask {
TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contractsArray[j]); TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contractsArray[j]);
if (tkioFlow != null) { if (tkioFlow != null) {
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
} }
break; break;
} }
...@@ -164,6 +171,7 @@ public class TrackingFlowTask { ...@@ -164,6 +171,7 @@ public class TrackingFlowTask {
TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, correlationContract.get(0)); TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, correlationContract.get(0));
if (tkioFlow != null) { if (tkioFlow != null) {
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
} }
} }
...@@ -172,7 +180,7 @@ public class TrackingFlowTask { ...@@ -172,7 +180,7 @@ public class TrackingFlowTask {
} }
} }
if (tkioFlowList.size() > 0) { if (tkioFlowList.size() > 0) {
tkioFlowRepository.save(tkioFlowList); //tkioFlowRepository.save(tkioFlowList);
} }
calculationFlow.setStatus(2); calculationFlow.setStatus(2);
calculationFlowRepository.save(calculationFlow); calculationFlowRepository.save(calculationFlow);
...@@ -211,6 +219,7 @@ public class TrackingFlowTask { ...@@ -211,6 +219,7 @@ public class TrackingFlowTask {
TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contracts.get(0)); TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contracts.get(0));
if(tkioFlow!=null){ if(tkioFlow!=null){
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
} }
}else{//多个合同 }else{//多个合同
//看昨日被哪几个合同包含了 //看昨日被哪几个合同包含了
...@@ -240,13 +249,17 @@ public class TrackingFlowTask { ...@@ -240,13 +249,17 @@ public class TrackingFlowTask {
for (int i = 0; i < contractsArray.length; i++) { for (int i = 0; i < contractsArray.length; i++) {
TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contractsArray[i]); TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contractsArray[i]);
if(tkioFlow!=null&& i<contractsArray.length-1 && tkioFlow.getCostFlow()>0L){//处理成本流量,如果超出了,依次算在下一个合同上 if(tkioFlow!=null&& i<contractsArray.length-1 && tkioFlow.getCostFlow()!=null && tkioFlow.getCostFlow()>0L){//处理成本流量,如果超出了,依次算在下一个合同上
clickNum = BigInteger.valueOf(tkioFlow.getCostFlow()); clickNum = BigInteger.valueOf(tkioFlow.getCostFlow());
tkioFlow.setCostFlow(null); tkioFlow.setCostFlow(null);
if(tkioFlow.getFlow()>0) {
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
}
}else{ }else{
if(tkioFlow!=null){ if(tkioFlow!=null){
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
} }
break; break;
} }
...@@ -274,6 +287,7 @@ public class TrackingFlowTask { ...@@ -274,6 +287,7 @@ public class TrackingFlowTask {
TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contractsArray[j]); TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, contractsArray[j]);
if(tkioFlow!=null){ if(tkioFlow!=null){
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
} }
break; break;
} }
...@@ -285,6 +299,7 @@ public class TrackingFlowTask { ...@@ -285,6 +299,7 @@ public class TrackingFlowTask {
TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, correlationContract.get(0)); TkioFlow tkioFlow = getTkioFlow(clickNum, yesterday, correlationContract.get(0));
if(tkioFlow!=null){ if(tkioFlow!=null){
tkioFlowList.add(tkioFlow); tkioFlowList.add(tkioFlow);
tkioFlowRepository.save(tkioFlow);
} }
} }
...@@ -296,7 +311,7 @@ public class TrackingFlowTask { ...@@ -296,7 +311,7 @@ public class TrackingFlowTask {
} }
if(tkioFlowList.size()>0){ if(tkioFlowList.size()>0){
tkioFlowRepository.save(tkioFlowList); //tkioFlowRepository.save(tkioFlowList);
} }
} }
...@@ -334,13 +349,13 @@ public class TrackingFlowTask { ...@@ -334,13 +349,13 @@ public class TrackingFlowTask {
tkioFlow.setCostFlow(clickNum.longValue()); tkioFlow.setCostFlow(clickNum.longValue());
}else{ }else{
//查看历史总消耗流量是否超出 //查看历史总消耗流量是否超出
Long totalFlow = tkioFlowRepository.sumFlowByEmailAndContractCode(contract.getEmail(),contract.getContractCode()); BigDecimal totalFlow = tkioFlowRepository.sumFlowByEmailAndContractCode(contract.getEmail(),contract.getContractCode());
if(totalFlow!=null){ if(totalFlow!=null){
Double contractTrackFlow = contract.getTrackFlow() * 4; Double contractTrackFlow = contract.getTrackFlow() * 10000;
if(contractTrackFlow.longValue()-totalFlow-clickNum.longValue()>=0){ if(contractTrackFlow.longValue()-totalFlow.longValue()-clickNum.longValue()>=0){
tkioFlow.setFlow(clickNum.longValue()); tkioFlow.setFlow(clickNum.longValue());
}else{ }else{
tkioFlow.setFlow(contractTrackFlow.longValue() - totalFlow); tkioFlow.setFlow(contractTrackFlow.longValue() - totalFlow.longValue());
tkioFlow.setCostFlow(clickNum.longValue()-tkioFlow.getFlow()); tkioFlow.setCostFlow(clickNum.longValue()-tkioFlow.getFlow());
} }
}else{ }else{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment