Commit d86e028f by kangxiaoshan

大后台

parent 1db9dcb0
...@@ -14,6 +14,7 @@ import org.springframework.http.HttpStatus; ...@@ -14,6 +14,7 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import security.annotation.CurrentAccount; import security.annotation.CurrentAccount;
import util.NewUserLogThread; import util.NewUserLogThread;
...@@ -74,7 +75,7 @@ public class ContractController { ...@@ -74,7 +75,7 @@ public class ContractController {
if(ValidateUtil.isValid(contractList)){ if(ValidateUtil.isValid(contractList)){
for (Contract c : contractList){ for (Contract c : contractList){
sb.append(c.getDs()).append(",").append(c.getContractCode()).append(",").append(c.getEmail()).append(",").append(c.getCustomerBody()).append(",").append(c.getSaleName()).append(",") sb.append(c.getDs()).append(",").append(c.getContractCode()).append(",").append(c.getEmail()).append(",").append(c.getCustomerBody()).append(",").append(c.getSaleName()).append(",")
.append(c.getStartDate()).append(",").append(c.getEndDate()).append(",").append(c.getPriceLevelName()).append(",").append(c.getMoney()).append(",").append(c.getRebateMoney()).append(",") .append(c.getStartDate()).append(",").append(c.getEndDate()).append(",").append(c.getPriceLevelName()).append(",").append(c.getMoney()).append(",").append(c.getPayMoney()).append(",")
.append(CONTRACT_STATUS.get(c.getStatus())).append("\r\n"); .append(CONTRACT_STATUS.get(c.getStatus())).append("\r\n");
} }
} }
...@@ -208,6 +209,7 @@ public class ContractController { ...@@ -208,6 +209,7 @@ public class ContractController {
Contract contract1 = service.update(loginAccount, contract); Contract contract1 = service.update(loginAccount, contract);
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改合同","",contract1.toString(), request, platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改合同","",contract1.toString(), request, platform);
userlog.start(); userlog.start();
return ResultModel.OK(contract1); return ResultModel.OK(contract1);
} }
...@@ -223,9 +225,8 @@ public class ContractController { ...@@ -223,9 +225,8 @@ public class ContractController {
@RequestMapping(value = "change", method = RequestMethod.POST) @RequestMapping(value = "change", method = RequestMethod.POST)
@ResponseBody @ResponseBody
public ResultModel change(@CurrentAccount User loginAccount, public ResultModel change(@CurrentAccount User loginAccount,
@RequestBody FlowChange flowChange,
@RequestBody ContractChange contract, HttpServletRequest request, @PathVariable String platform) { @RequestBody ContractChange contract, HttpServletRequest request, @PathVariable String platform) {
Contract contract1 = service.change(loginAccount, contract,flowChange); Contract contract1 = service.change(loginAccount, contract,null);
NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改套餐","",contract1.toString(), request, platform); NewUserLogThread userlog = new NewUserLogThread(loginAccount.getEmail(), loginAccount.getName(), OperateObjectTypeEnum.CUSTOMER.getKey(), contract1.getContractCode(), "修改套餐","",contract1.toString(), request, platform);
userlog.start(); userlog.start();
return ResultModel.OK(contract1); return ResultModel.OK(contract1);
...@@ -288,7 +289,6 @@ public class ContractController { ...@@ -288,7 +289,6 @@ public class ContractController {
@RequestMapping(value = "trade", method = RequestMethod.GET) @RequestMapping(value = "trade", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public ResultModel baseCreate( @PathVariable String platform) { public ResultModel baseCreate( @PathVariable String platform) {
return ResultModel.OK(service.getTradeData(platform)); return ResultModel.OK(service.getTradeData(platform));
} }
...@@ -317,6 +317,20 @@ public class ContractController { ...@@ -317,6 +317,20 @@ public class ContractController {
} }
/**
* 删除记录
* @param platform
* @param
* @return
*/
@RequestMapping(value = "change/del", method = RequestMethod.GET)
@ResponseBody
public ResultModel changesDel( @PathVariable String platform,String id,String type) {
return ResultModel.OK(service.changesDel(platform,id,type));
}
} }
...@@ -35,7 +35,7 @@ public class Contract { ...@@ -35,7 +35,7 @@ public class Contract {
private String status; private String status;
private String saleName; private String saleName;
private Long payMoney; private Long payMoney; // 回款金额
private Long invoice; // 开票次数 private Long invoice; // 开票次数
private BigDecimal invoiceMoney; // 发票金额 private BigDecimal invoiceMoney; // 发票金额
private String createName; // 创建人NAME private String createName; // 创建人NAME
...@@ -57,16 +57,21 @@ public class Contract { ...@@ -57,16 +57,21 @@ public class Contract {
*/ */
// private Long discountFlow; // 优惠流量 // private Long discountFlow; // 优惠流量
private Long discountTimeLong; // 优惠时长 private Long discountTimeLong; // 优惠时长
private BigDecimal rebateMoney; //回款金额 // private BigDecimal rebateMoney; //回款金额
private String customerShort;// 客户简称 private String customerShort;// 客户简称
private String customerThird;// 三方客户 private String customerThird;// 三方客户
private int tradeType; // 行业id private int tradeType; // 行业id
private Long relationContract;// 关联合同id private Long relationContract;// 关联合同id
// private String createrName; // 录入人
private String relationCode;// 关联合同编号 private String relationCode;// 关联合同编号
private String hasDiscount;// 是否有优惠 private String hasDiscount;// 是否有优惠
private String erroMessage;
@Id @Id
...@@ -259,9 +264,9 @@ public class Contract { ...@@ -259,9 +264,9 @@ public class Contract {
return invoice; return invoice;
} }
public BigDecimal getRebateMoney() { // public BigDecimal getRebateMoney() {
return rebateMoney; // return rebateMoney;
} // }
public BigDecimal getInvoiceMoney() { public BigDecimal getInvoiceMoney() {
return invoiceMoney; return invoiceMoney;
...@@ -271,9 +276,9 @@ public class Contract { ...@@ -271,9 +276,9 @@ public class Contract {
this.invoiceMoney = invoiceMoney; this.invoiceMoney = invoiceMoney;
} }
public void setRebateMoney(BigDecimal rebateMoney) { // public void setRebateMoney(BigDecimal rebateMoney) {
this.rebateMoney = rebateMoney; // this.rebateMoney = rebateMoney;
} // }
public void setInvoice(Long invoice) { public void setInvoice(Long invoice) {
this.invoice = invoice; this.invoice = invoice;
...@@ -343,6 +348,15 @@ public class Contract { ...@@ -343,6 +348,15 @@ public class Contract {
this.hasDiscount = hasDiscount; this.hasDiscount = hasDiscount;
} }
@Transient
public String getErroMessage() {
return erroMessage;
}
public void setErroMessage(String erroMessage) {
this.erroMessage = erroMessage;
}
public void setPriceLevelName(String priceLevelName) { public void setPriceLevelName(String priceLevelName) {
this.priceLevelName = priceLevelName; this.priceLevelName = priceLevelName;
} }
......
package common.model; package common.model;
import javax.persistence.Entity; import javax.persistence.*;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.Date; import java.util.Date;
/** /**
...@@ -30,6 +27,10 @@ public class ContractChange { ...@@ -30,6 +27,10 @@ public class ContractChange {
private Long createAccount; private Long createAccount;
private Date modifyTime; private Date modifyTime;
private Date createTime; private Date createTime;
private int delFlag = 0;
private Long extraFlow; // 优惠流量
private Long discountTimeLong; // 优惠时长
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
...@@ -176,4 +177,30 @@ public class ContractChange { ...@@ -176,4 +177,30 @@ public class ContractChange {
public void setMarke(String marke) { public void setMarke(String marke) {
this.marke = marke; this.marke = marke;
} }
public int getDelFlag() {
return delFlag;
}
public void setDelFlag(int delFlag) {
this.delFlag = delFlag;
}
@Transient
public Long getExtraFlow() {
return extraFlow;
}
public void setExtraFlow(Long extraFlow) {
this.extraFlow = extraFlow;
}
@Transient
public Long getDiscountTimeLong() {
return discountTimeLong;
}
public void setDiscountTimeLong(Long discountTimeLong) {
this.discountTimeLong = discountTimeLong;
}
} }
...@@ -25,6 +25,7 @@ public class ContractMoney { ...@@ -25,6 +25,7 @@ public class ContractMoney {
private Long createAccount; private Long createAccount;
private Date modifyTime; private Date modifyTime;
private Date createTime; private Date createTime;
private int delFlag = 0;
@Id @Id
@GeneratedValue @GeneratedValue
...@@ -139,4 +140,12 @@ public class ContractMoney { ...@@ -139,4 +140,12 @@ public class ContractMoney {
public void setPlatform(String platform) { public void setPlatform(String platform) {
this.platform = platform; this.platform = platform;
} }
public int getDelFlag() {
return delFlag;
}
public void setDelFlag(int delFlag) {
this.delFlag = delFlag;
}
} }
...@@ -13,8 +13,8 @@ public class FlowChange { ...@@ -13,8 +13,8 @@ public class FlowChange {
private Long discountTimeLong; // 优惠时长 private Long discountTimeLong; // 优惠时长
private Long discountFlow; // 优惠时长 private Long discountFlow; // 优惠时长
private Long modifyUser; private Long modifyUser;
private String modifyUname; private String modifyUname;//操作人
private String addDate; private String addDate; // ds
private Date addTime; private Date addTime;
private int DelFlag; private int DelFlag;
private String marke; //备注 private String marke; //备注
......
...@@ -13,7 +13,7 @@ import java.util.List; ...@@ -13,7 +13,7 @@ import java.util.List;
@Transactional @Transactional
public interface ContractChangeRepository extends JpaRepository<ContractChange, Long> { public interface ContractChangeRepository extends JpaRepository<ContractChange, Long> {
@Query(value="select * from contract_change where ds >= ?1 and ds <= ?2 and contract_code = ?3 order by ds desc",nativeQuery=true) @Query(value="select * from contract_change where ds >= ?1 and ds <= ?2 and contract_code = ?3 and del_flag is not true order by ds desc",nativeQuery=true)
List<ContractChange> findByDs(String startDate, String endDate, String code); List<ContractChange> findByDs(String startDate, String endDate, String code);
@Query(value="SELECT * from contract_change where platform = ?1 and email = ?2 and ds >= ?3 and ds <= ?4 order by ds desc",nativeQuery=true) @Query(value="SELECT * from contract_change where platform = ?1 and email = ?2 and ds >= ?3 and ds <= ?4 order by ds desc",nativeQuery=true)
......
...@@ -12,7 +12,7 @@ import java.util.List; ...@@ -12,7 +12,7 @@ import java.util.List;
@Transactional @Transactional
public interface ContractMoneyRepository extends JpaRepository<ContractMoney, Long> { public interface ContractMoneyRepository extends JpaRepository<ContractMoney, Long> {
@Query(value="select * from contract_money where ds >= ?1 and ds <= ?2 and contract_code = ?3 order by ds desc",nativeQuery=true) @Query(value="select * from contract_money where ds >= ?1 and ds <= ?2 and contract_code = ?3 and del_flag is not true order by ds desc",nativeQuery=true)
List<ContractMoney> findByDs(String startDate, String endDate, String code); List<ContractMoney> findByDs(String startDate, String endDate, String code);
@Query(value="select * from contract_money where ds >= ?1 and ds <= ?2 and platform = ?3 order by ds desc",nativeQuery=true) @Query(value="select * from contract_money where ds >= ?1 and ds <= ?2 and platform = ?3 order by ds desc",nativeQuery=true)
......
...@@ -8,6 +8,6 @@ import java.util.List; ...@@ -8,6 +8,6 @@ import java.util.List;
public interface FlowChangeRepository extends JpaRepository<FlowChange, Long> { public interface FlowChangeRepository extends JpaRepository<FlowChange, Long> {
@Query(value = "select * from flow_change where contract_code= 1? and add_date >=2? and add_date <= 3?",nativeQuery = true) @Query(value = "select * from flow_change where contract_code= ?3 and add_date >=?1 and add_date <= ?2 and del_flag is not true order by add_date desc",nativeQuery = true)
List<FlowChange> findByAddDate(String startDate, String endDate, String code); List<FlowChange> findByAddDate(String startDate, String endDate, String code);
} }
...@@ -62,4 +62,6 @@ public interface ContractService { ...@@ -62,4 +62,6 @@ public interface ContractService {
Map contractCodeCheck(String platform, String contractCode); Map contractCodeCheck(String platform, String contractCode);
List<FlowChange> findflowChange(String startDate, String endDate, String code); List<FlowChange> findflowChange(String startDate, String endDate, String code);
Object changesDel(String platform, String id, String type);
} }
\ No newline at end of file
...@@ -289,11 +289,15 @@ public class ContractServiceImpl implements ContractService { ...@@ -289,11 +289,15 @@ public class ContractServiceImpl implements ContractService {
return null; return null;
} }
Contract contractExist = contractRepository.findByCodePlatform(resource.getContractCode(), resource.getPlatform()); Contract contractExist = contractRepository.findByCode(resource.getContractCode());
if (contractExist != null) { if (contractExist != null) {
contractExist = new Contract();
// 合同编号已存在 // 合同编号已存在
return null; contractExist.setId(-100L);
contractExist.setErroMessage("合同编号已存在");
return contractExist;
} }
...@@ -542,78 +546,123 @@ public class ContractServiceImpl implements ContractService { ...@@ -542,78 +546,123 @@ public class ContractServiceImpl implements ContractService {
@Override @Override
public Contract update(User loginUser, Contract resource) { public Contract update(User loginUser, Contract resource) {
Map<Long, String> packageMap = getPackageMap();
Map<Long, String> saleMap = getSaleMap();
Contract contract = contractRepository.findOne(resource.getId());
ContractChange cc = new ContractChange();
cc.setType("update");
cc.setUser(loginUser.getId());
cc.setDs(DateUtil.getBeforeDays(0));
cc.setContent("");
cc.setEmail(contract.getEmail());
cc.setCompany(contract.getCustomerBody());
cc.setContractCode(contract.getContractCode());
Contract contract = contractRepository.findOne(resource.getId());
this.dealContractStatus(resource,loginUser,"update");
if (!resource.getStartDate().equals(contract.getStartDate())) { if(!contract.getContractCode().equals(resource.getContractCode())){
cc.setContent(cc.getContent() + "开始时间变更 : " + contract.getStartDate() + "-->" + resource.getStartDate()); Contract contractExist = contractRepository.findByCode(resource.getContractCode());
contract.setStartDate(resource.getStartDate()); if (contractExist != null) {
// if(DateUtil.getBeforeDays(0).compareTo(resource.getStartDate()) < 0){ // 合同编号已存在
// contract.setStatus("wait"); contractExist = new Contract();
// }else{ contractExist.setId(-100L);
// contract.setStatus("executing"); contractExist.setErroMessage("合同编号已存在");
// } return contractExist;
} }
if (!resource.getEndDate().equals(contract.getEndDate())) {
cc.setContent(cc.getContent() + " 结束时间变更 : " + contract.getEndDate() + "-->" + resource.getEndDate());
contract.setEndDate(resource.getEndDate());
} }
boolean newRebat = false; this.dealContractStatus(resource,loginUser,"update");
if (contract.getType().equals(ContractTypeEnum.MAIN.getKey()) && null != resource.getPriceLevel()) {
if (!resource.getPriceLevel().equals(contract.getPriceLevel())) {
cc.setContent(cc.getContent() + " 套餐变更:" + packageMap.get(contract.getPriceLevel()) + "-->" + packageMap.get(resource.getPriceLevel()));
newRebat = true;
contract.setPriceLevel(resource.getPriceLevel());
}
}
if (!resource.getMoney().equals(contract.getMoney())) { this.saveContractRelations(resource,contract.getId());
cc.setContent(cc.getContent() + " 金额变更: " + contract.getMoney() + "-->" + resource.getMoney());
newRebat = true;
contract.setMoney(resource.getMoney());
}
if (!resource.getRebateMoney().equals(contract.getRebateMoney())) { // contract.setStatus(resource.getStatus());
cc.setContent(cc.getContent() + " 回款金额变更: " + contract.getMoney() + "-->" + resource.getMoney()); // contract.setExtraFlow(resource.getExtraFlow());
newRebat = true; // contract.setTradeType(resource.getTradeType());
contract.setMoney(resource.getMoney()); // contract.setInvoiceMoney(resource.getInvoiceMoney());
// contract.setRelationContract(resource.getRelationContract());
// contract.setRebateMoney(resource.getRebateMoney());
// contract.setDiscountTimeLong(resource.getDiscountTimeLong());
resource.setCreateName(contract.getCreateName());
resource.setCreateAccount(contract.getCreateAccount());
resource.setCreateTime(contract.getCreateTime());
resource.setDs(contract.getDs());
resource.setProduct(contract.getProduct());
resource.setModifyTime(new Date());
if (null != loginUser) {
resource.setModifyAccount(loginUser.getId());
} }
resource.setModifyAccount(loginUser.getId());
resource.setId(contract.getId());
return contractRepository.save(resource);
if (!resource.getSale().equals(contract.getSale())) {
cc.setContent(cc.getContent() + "销售变更:" + saleMap.get(contract.getSale()) + "-->" + saleMap.get(resource.getSale()));
contract.setSale(resource.getSale());
} }
// if (newRebat && !"adi".equals(contract.getPlatform())) {
// Double rebat = getRebat(contract.getProduct(), contract.getPriceLevel().intValue(), contract.getMoney());
// BigDecimal bg = new BigDecimal(rebat);
// double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
//// contract.setRebate(f1);
// }
if (!resource.getSale().equals(contract.getSale())) { public Contract update_bak(User loginUser, Contract resource) {
cc.setContent(cc.getContent() + "销售变更:" + saleMap.get(contract.getSale()) + "-->" + saleMap.get(resource.getSale())); // Map<Long, String> packageMap = getPackageMap();
contract.setSale(resource.getSale()); // Map<Long, String> saleMap = getSaleMap();
} // Contract contract = contractRepository.findOne(resource.getId());
//
// ContractChange cc = new ContractChange();
// cc.setType("update");
// cc.setUser(loginUser.getId());
// cc.setDs(DateUtil.getBeforeDays(0));
// cc.setContent("");
// cc.setEmail(contract.getEmail());
// cc.setCompany(contract.getCustomerBody());
// cc.setContractCode(contract.getContractCode());
// this.dealContractStatus(resource,loginUser,"update");
// if (!resource.getStartDate().equals(contract.getStartDate())) {
// cc.setContent(cc.getContent() + "开始时间变更 : " + contract.getStartDate() + "-->" + resource.getStartDate());
// contract.setStartDate(resource.getStartDate());
//// if(DateUtil.getBeforeDays(0).compareTo(resource.getStartDate()) < 0){
//// contract.setStatus("wait");
//// }else{
//// contract.setStatus("executing");
//// }
// }
// if (!resource.getEndDate().equals(contract.getEndDate())) {
// cc.setContent(cc.getContent() + " 结束时间变更 : " + contract.getEndDate() + "-->" + resource.getEndDate());
// contract.setEndDate(resource.getEndDate());
// }
//
// boolean newRebat = false;
// if (contract.getType().equals(ContractTypeEnum.MAIN.getKey()) && null != resource.getPriceLevel()) {
// if (!resource.getPriceLevel().equals(contract.getPriceLevel())) {
// cc.setContent(cc.getContent() + " 套餐变更:" + packageMap.get(contract.getPriceLevel()) + "-->" + packageMap.get(resource.getPriceLevel()));
// newRebat = true;
// contract.setPriceLevel(resource.getPriceLevel());
// }
// }
//
// if (!resource.getMoney().equals(contract.getMoney())) {
// cc.setContent(cc.getContent() + " 金额变更: " + contract.getMoney() + "-->" + resource.getMoney());
// newRebat = true;
// contract.setMoney(resource.getMoney());
// }
//
// if (!resource.getRebateMoney().equals(contract.getRebateMoney())) {
// cc.setContent(cc.getContent() + " 回款金额变更: " + contract.getMoney() + "-->" + resource.getMoney());
// newRebat = true;
// contract.setMoney(resource.getMoney());
// }
//
// if (!resource.getSale().equals(contract.getSale())) {
// cc.setContent(cc.getContent() + "销售变更:" + saleMap.get(contract.getSale()) + "-->" + saleMap.get(resource.getSale()));
// contract.setSale(resource.getSale());
// }
//
//// if (newRebat && !"adi".equals(contract.getPlatform())) {
//// Double rebat = getRebat(contract.getProduct(), contract.getPriceLevel().intValue(), contract.getMoney());
//// BigDecimal bg = new BigDecimal(rebat);
//// double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
////// contract.setRebate(f1);
//// }
//
// if (!resource.getSale().equals(contract.getSale())) {
// cc.setContent(cc.getContent() + "销售变更:" + saleMap.get(contract.getSale()) + "-->" + saleMap.get(resource.getSale()));
// contract.setSale(resource.getSale());
// }
cc.setPlatform(contract.getPlatform()); // cc.setPlatform(contract.getPlatform());
contractChangeRepository.save(cc); // contractChangeRepository.save(cc);
//同步修改trackingio的数据 //同步修改trackingio的数据
// if (contract.getPlatform().equals("tkio") && resource.getType().equals("main")) { // if (contract.getPlatform().equals("tkio") && resource.getType().equals("main")) {
...@@ -650,38 +699,39 @@ public class ContractServiceImpl implements ContractService { ...@@ -650,38 +699,39 @@ public class ContractServiceImpl implements ContractService {
// //
// } // }
contract.setStatus(resource.getStatus()); // contract.setStatus(resource.getStatus());
contract.setExtraFlow(resource.getExtraFlow()); // contract.setExtraFlow(resource.getExtraFlow());
contract.setTradeType(resource.getTradeType()); // contract.setTradeType(resource.getTradeType());
contract.setInvoiceMoney(resource.getInvoiceMoney()); // contract.setInvoiceMoney(resource.getInvoiceMoney());
contract.setRelationContract(resource.getRelationContract()); // contract.setRelationContract(resource.getRelationContract());
contract.setRebateMoney(resource.getRebateMoney()); // contract.setRebateMoney(resource.getRebateMoney());
contract.setDiscountTimeLong(resource.getDiscountTimeLong()); // contract.setDiscountTimeLong(resource.getDiscountTimeLong());
//
contract.setModifyTime(new Date()); // contract.setModifyTime(new Date());
if (null != loginUser) { // if (null != loginUser) {
resource.setModifyAccount(loginUser.getId()); // resource.setModifyAccount(loginUser.getId());
} // }
//
//
this.saveContractRelations(resource,contract.getId()); // this.saveContractRelations(resource,contract.getId());
//
return contractRepository.save(contract); // return contractRepository.save(contract);
return null;
} }
private void dealContractStatus(Contract resource,User loginUser,String type){ private void dealContractStatus(Contract resource,User loginUser,String type){
if (resource.getRebateMoney() != null) { if (resource.getPayMoney() != null) {
if (resource.getMoney() == null) { if (resource.getMoney() == null) {
resource.setMoney(0L); resource.setMoney(0L);
} }
if (resource.getRebateMoney().compareTo(BigDecimal.ZERO) <= 0) { if (resource.getPayMoney().longValue() <= 0) {
//未回款 //未回款
resource.setStatus(ContractStatusEnum.MONEY_BACK_NONE.getKey()); resource.setStatus(ContractStatusEnum.MONEY_BACK_NONE.getKey());
}else if(resource.getRebateMoney().compareTo(new BigDecimal(resource.getMoney()+""))< 0){ }else if(resource.getPayMoney().longValue() < resource.getMoney().longValue()){
// 部分回款 // 部分回款
resource.setStatus(ContractStatusEnum.MONEY_BACK_PART.getKey()); resource.setStatus(ContractStatusEnum.MONEY_BACK_PART.getKey());
...@@ -707,8 +757,8 @@ public class ContractServiceImpl implements ContractService { ...@@ -707,8 +757,8 @@ public class ContractServiceImpl implements ContractService {
resource.setStatus(ContractStatusEnum.MONEY_BACK_NONE.getKey()); resource.setStatus(ContractStatusEnum.MONEY_BACK_NONE.getKey());
} }
if (resource.getRebateMoney() == null) { if (resource.getPayMoney() == null) {
resource.setRebateMoney(new BigDecimal(0)); resource.setPayMoney(0L);
} }
if (resource.getInvoiceMoney() == null) { if (resource.getInvoiceMoney() == null) {
...@@ -730,7 +780,7 @@ public class ContractServiceImpl implements ContractService { ...@@ -730,7 +780,7 @@ public class ContractServiceImpl implements ContractService {
if(resource.getDiscountTimeLong()> 0 || resource.getExtraFlow()> 0){ if(resource.getDiscountTimeLong()> 0 || resource.getExtraFlow()> 0){
//记录优惠信息 //记录优惠信息
saveFlowChange(resource,loginUser,type); saveFlowChange(resource,loginUser,type, resource.getDiscountTimeLong(), resource.getExtraFlow());
} }
} }
...@@ -763,15 +813,15 @@ public class ContractServiceImpl implements ContractService { ...@@ -763,15 +813,15 @@ public class ContractServiceImpl implements ContractService {
} }
// 保存优惠流量 优惠时长 记录 // 保存优惠流量 优惠时长 记录
private void saveFlowChange(Contract contract,User loginUser,String type){ private void saveFlowChange(Contract contract, User loginUser, String type, Long discountTimeLong, Long extraFlow){
if(!"save".equals(type)){ if(!"save".equals(type)){
return; return;
} }
FlowChange change = new FlowChange(); FlowChange change = new FlowChange();
change.setDiscountFlow(contract.getExtraFlow()); change.setDiscountFlow(extraFlow);
change.setDiscountTimeLong(contract.getDiscountTimeLong()); change.setDiscountTimeLong(discountTimeLong);
change.setAddDate(new DateTime().toString("yyyy-MM-dd")); change.setAddDate(new DateTime().toString("yyyy-MM-dd"));
change.setAddTime(new Date()); change.setAddTime(new Date());
change.setCompany(contract.getMyBodyName()); change.setCompany(contract.getMyBodyName());
...@@ -1027,9 +1077,9 @@ public class ContractServiceImpl implements ContractService { ...@@ -1027,9 +1077,9 @@ public class ContractServiceImpl implements ContractService {
public ContractMoney pay(User loginUser, ContractMoney resource) { public ContractMoney pay(User loginUser, ContractMoney resource) {
Contract contract = contractRepository.findByCode(resource.getContractCode()); Contract contract = contractRepository.findByCode(resource.getContractCode());
if (resource.getType().equals("pay")) { if (resource.getType().equals("pay")) {
contract.setPayMoney(contract.getPayMoney() + resource.getMoney()); contract.setPayMoney(contract.getPayMoney()+resource.getMoney());
} else { } else {
contract.setInvoice(contract.getInvoice() + resource.getMoney()); contract.setInvoiceMoney(contract.getInvoiceMoney().add(new BigDecimal(resource.getMoney().toString())) );
} }
if (contract.getType().equals(ContractTypeEnum.INCREMENT.getKey())) { if (contract.getType().equals(ContractTypeEnum.INCREMENT.getKey())) {
...@@ -1042,11 +1092,11 @@ public class ContractServiceImpl implements ContractService { ...@@ -1042,11 +1092,11 @@ public class ContractServiceImpl implements ContractService {
resource.setCreateTime(new Date()); resource.setCreateTime(new Date());
resource.setUser(loginUser.getId()); resource.setUser(loginUser.getId());
if (resource.getType().equals("pay") && contract.getPlatform().equals("tkio")) { // if (resource.getType().equals("pay") && contract.getPlatform().equals("tkio")) {
tkioAccountService.contractPay(loginUser, resource); // tkioAccountService.contractPay(loginUser, resource);
} else if (resource.getType().equals("pay") && contract.getPlatform().equals("io")) { // } else if (resource.getType().equals("pay") && contract.getPlatform().equals("io")) {
ioAccountService.contractPay(loginUser, resource); // ioAccountService.contractPay(loginUser, resource);
} // }
return contractMoneyRepository.save(resource); return contractMoneyRepository.save(resource);
} }
...@@ -1059,15 +1109,15 @@ public class ContractServiceImpl implements ContractService { ...@@ -1059,15 +1109,15 @@ public class ContractServiceImpl implements ContractService {
// resource.setContent("套餐变更 :" + packageMap.get(contract.getPriceLevel()) + "-->" + packageMap.get(resource.getLevel()) // resource.setContent("套餐变更 :" + packageMap.get(contract.getPriceLevel()) + "-->" + packageMap.get(resource.getLevel())
// + " 金额变更 :" + contract.getMoney() + "-->" + (resource.getMoney() + contract.getMoney())); // + " 金额变更 :" + contract.getMoney() + "-->" + (resource.getMoney() + contract.getMoney()));
resource.setContent(packageMap.get(contract.getPriceLevel()+"改为"+packageMap.get(resource.getLevel()))); resource.setContent(packageMap.get(contract.getPriceLevel())+"改为"+packageMap.get(resource.getLevel()));
resource.setContent(contract.getMoney()+"元改为"+resource.getMoney()+"元"); resource.setMarke(contract.getMoney()+"元改为"+resource.getMoney()+"元");
contract.setMoney(resource.getMoney() + contract.getMoney()); contract.setMoney(resource.getMoney() + contract.getMoney());
contract.setPriceLevel(resource.getLevel()); contract.setPriceLevel(resource.getLevel());
Double rebat = getRebat(contract.getProduct(), contract.getPriceLevel().intValue(), contract.getMoney()); // Double rebat = getRebat(contract.getProduct(), contract.getPriceLevel().intValue(), contract.getMoney());
BigDecimal bg = new BigDecimal(rebat); // BigDecimal bg = new BigDecimal(rebat);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); // double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
contract.setRebate(f1); // contract.setRebate(f1);
// //同步修改trackingio的数据 // //同步修改trackingio的数据
// if (contract.getPlatform().equals("tkio")) { // if (contract.getPlatform().equals("tkio")) {
...@@ -1076,10 +1126,17 @@ public class ContractServiceImpl implements ContractService { ...@@ -1076,10 +1126,17 @@ public class ContractServiceImpl implements ContractService {
// accountIOService.update(contract); // accountIOService.update(contract);
// } // }
}else if("give".equals(resource.getType())){ }else if("give".equals(resource.getType())){
//变更优惠 //变更优惠记录
this.saveFlowChange(contract,loginUser,"save"); this.saveFlowChange(contract,loginUser,"save",resource.getDiscountTimeLong(),resource.getExtraFlow());
contract.setExtraFlow(contract.getExtraFlow()+flowChange.getDiscountFlow()); // 累加 合同表中数据
contract.setDiscountTimeLong(contract.getDiscountTimeLong()+flowChange.getDiscountTimeLong());
if(resource.getExtraFlow()!=null){
contract.setExtraFlow(contract.getExtraFlow()+resource.getExtraFlow());
}
if(resource.getDiscountTimeLong()!=null){
contract.setDiscountTimeLong(contract.getDiscountTimeLong()+resource.getDiscountTimeLong());
}
} else { } else {
// //同步修改trackingio的数据 // //同步修改trackingio的数据
...@@ -1096,11 +1153,39 @@ public class ContractServiceImpl implements ContractService { ...@@ -1096,11 +1153,39 @@ public class ContractServiceImpl implements ContractService {
resource.setCreateTime(new Date()); resource.setCreateTime(new Date());
resource.setDs(DateUtil.getBeforeDays(0)); resource.setDs(DateUtil.getBeforeDays(0));
resource.setUser(loginUser.getId()); resource.setUser(loginUser.getId());
if(!"give".equals(resource.getType())){
contractChangeRepository.save(resource); contractChangeRepository.save(resource);
}
return contractRepository.save(contract); return contractRepository.save(contract);
} }
@Override
public Object changesDel(String platform, String id, String type) {
if("give".equals(type)){
// 优惠流量
FlowChange change = flowChangeRepository.findOne(Long.parseLong(id));
change.setDelFlag(1);
flowChangeRepository.save(change);
return change;
}else if("change".equals(type)){
//套餐变更
ContractChange contractChange = contractChangeRepository.findOne(Long.parseLong(id));
contractChange.setDelFlag(1);
contractChangeRepository.save(contractChange);
return contractChange;
}else{
ContractMoney contractMoney = contractMoneyRepository.findOne(Long.parseLong(id));
contractMoney.setDelFlag(1);
contractMoneyRepository.save(contractMoney);
return contractMoney;
}
}
@Override @Override
public List<ContractMoney> findPay(String startDate, String endDate, String code) { public List<ContractMoney> findPay(String startDate, String endDate, String code) {
List<User> sales = userRepository.findAll(); List<User> sales = userRepository.findAll();
...@@ -1157,14 +1242,17 @@ public class ContractServiceImpl implements ContractService { ...@@ -1157,14 +1242,17 @@ public class ContractServiceImpl implements ContractService {
if (contractMoney.getType().equals("pay")) { if (contractMoney.getType().equals("pay")) {
contract.setPayMoney(contract.getPayMoney() + resource.getMoney() - contractMoney.getMoney()); contract.setPayMoney(contract.getPayMoney() + resource.getMoney() - contractMoney.getMoney());
} else { } else {
contract.setInvoice(contract.getInvoice() + resource.getMoney() - contractMoney.getMoney()); // contract.setInvoice(contract.getInvoice() + resource.getMoney() - contractMoney.getMoney());
contract.setInvoiceMoney(contract.getInvoiceMoney().add(new BigDecimal(resource.getMoney())).subtract(new BigDecimal(contractMoney.getMoney())));
} }
Contract save = contractRepository.save(contract); Contract save = contractRepository.save(contract);
contractMoney.setModifyAccount(loginUser.getId()); contractMoney.setModifyAccount(loginUser.getId());
contractMoney.setModifyTime(new Date()); contractMoney.setModifyTime(new Date());
contractMoney.setMoney(resource.getMoney()); contractMoney.setMoney(resource.getMoney());
contractMoney.setDs(resource.getDs()); // contractMoney.setDs(resource.getDs());
contractMoneyRepository.save(contractMoney); contractMoneyRepository.save(contractMoney);
List<User> sales = userRepository.findAll(); List<User> sales = userRepository.findAll();
...@@ -1233,27 +1321,31 @@ public class ContractServiceImpl implements ContractService { ...@@ -1233,27 +1321,31 @@ public class ContractServiceImpl implements ContractService {
} }
List<ContractRelation> ids = null; List<ContractRelation> ids = null;
Contract contract = null;
if(!StringUtils.isEmpty(contractId)){ if(!StringUtils.isEmpty(contractId) && !contractId.equals("null")){
ids = contractRelationRepository.findRelationIdsMain(contractId); ids = contractRelationRepository.findRelationIdsMain(contractId);
contract = contractRepository.findOne(Long.parseLong(contractId));
} }
if (ids != null) { if (ids != null) {
Map<String,String> filterMap = new HashMap(); Map<String,String> filterMap = new HashMap();
for(ContractRelation relation : ids){ for(ContractRelation relation : ids){
if(contract!=null && !relation.getRelationId().equals(contract.getRelationContract())){
filterMap.put(relation.getRelationId()+"_",""); filterMap.put(relation.getRelationId()+"_","");
} }
}
List<Map> resultBefore = contractRepository.contractCodePlatform(plats); List<Map> resultBefore = contractRepository.contractCodePlatform(plats);
for (Map m : resultBefore) { for (Map m : resultBefore) {
String m_id = m.get("id").toString() + "_"; String m_id = m.get("id").toString() + "_";
if (filterMap.get(m_id) == null && !m_id.equals(contractId+"_")) { if (filterMap.get(m_id) == null && m_id.equals(contractId+"_")) {
result.add(m); result.add(m);
} }
} }
} else { } else {
result.addAll(contractRepository.contractCodePlatform(plats)); result.addAll(contractRepository.contractCodePlatform(plats));
} }
...@@ -1261,7 +1353,6 @@ public class ContractServiceImpl implements ContractService { ...@@ -1261,7 +1353,6 @@ public class ContractServiceImpl implements ContractService {
return result; return result;
} }
@Override @Override
public Map contractCodeCheck(String platform, String contractCode) { public Map contractCodeCheck(String platform, String contractCode) {
...@@ -1278,7 +1369,8 @@ public class ContractServiceImpl implements ContractService { ...@@ -1278,7 +1369,8 @@ public class ContractServiceImpl implements ContractService {
} }
public Map<Long, String> getPackageMap() { public Map<Long, String> getPackageMap() {
List<PackageType> typeList = packageTypeRepository.findAll(); // List<PackageType> typeList = packageTypeRepository.findAll();
List<PackageType> typeList = packageTypeRepository.findIsNewAll();
Map<Long, String> typeMap = new HashMap<>(); Map<Long, String> typeMap = new HashMap<>();
if (ValidateUtil.isValid(typeList)) { if (ValidateUtil.isValid(typeList)) {
for (PackageType s : typeList) { for (PackageType s : typeList) {
......
...@@ -39,6 +39,12 @@ public class ResultModel { ...@@ -39,6 +39,12 @@ public class ResultModel {
this.content = ""; this.content = "";
} }
public ResultModel(String erro) {
this.code = ResultStatus.FAILED.getCode();
this.message = erro;
this.content = "";
}
public ResultModel(ResultStatus status, Object content) { public ResultModel(ResultStatus status, Object content) {
this.code = status.getCode(); this.code = status.getCode();
this.message = status.getMessage(); this.message = status.getMessage();
...@@ -57,6 +63,10 @@ public class ResultModel { ...@@ -57,6 +63,10 @@ public class ResultModel {
return new ResultModel(error); return new ResultModel(error);
} }
public static ResultModel ERROR(String errorMessage) {
return new ResultModel(errorMessage);
}
public int getCode() { public int getCode() {
return code; return code;
} }
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
</filter-mapping> </filter-mapping>
<welcome-file-list> <welcome-file-list>
<welcome-file>/system/index.html</welcome-file> <welcome-file>/index.html</welcome-file>
</welcome-file-list> </welcome-file-list>
</web-app> </web-app>
\ No newline at end of file
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