Commit 9dc2bb7f by kangxiaoshan

Merge branch 'manager_new' into 31762_bugfix

parents b5dce634 ca9d7978
......@@ -4,7 +4,7 @@
/.classpath
/.project
/.externalToolBuilders
/.idea/
.idea/
/node_modules/
/dist/
!/src/main/webapp/WEB-INF
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -11,8 +11,11 @@
</webroots>
</configuration>
</facet>
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
......@@ -79,7 +82,7 @@
<orderEntry type="module-library">
<library name="Maven: com.alibaba:jconsole:1.8.0">
<CLASSES>
<root url="jar://E:/Java/jdk1.8.0_65/lib/jconsole.jar!/" />
<root url="jar://D:/Program Files/Java/jdk1.8.0_181/lib/jconsole.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
......@@ -88,7 +91,7 @@
<orderEntry type="module-library">
<library name="Maven: com.alibaba:tools:1.8.0">
<CLASSES>
<root url="jar://E:/Java/jdk1.8.0_65/lib/tools.jar!/" />
<root url="jar://D:/Program Files/Java/jdk1.8.0_181/lib/tools.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
......
......@@ -50,12 +50,12 @@ public class ContractController {
@Autowired
private ContractService service;
@RequestMapping(value = "find", method = RequestMethod.GET)
@ResponseBody
public ResultModel findAll(@CurrentAccount User loginAccount, @PathVariable String platform,
@RequestParam String startDate, @RequestParam String endDate) {
return ResultModel.OK(service.findAll(loginAccount,startDate, endDate, platform));
return ResultModel.OK(service.findAllContract(loginAccount,startDate, endDate, platform));
}
@RequestMapping(value = "export", method = RequestMethod.GET,produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
......@@ -161,8 +161,9 @@ public class ContractController {
@RequestMapping(value = "find/code", method = RequestMethod.GET)
@ResponseBody
public ResultModel findCode(@CurrentAccount User loginAccount, @RequestParam String code) {
return ResultModel.OK(service.getContractCode(code));
public ResultModel findCode(@CurrentAccount User loginAccount, @RequestParam String code,@PathVariable String platform,String company) {
return ResultModel.OK(service.getContractCode(code,platform,company));
}
@RequestMapping(value = "find/pricelevel", method = RequestMethod.GET)
......@@ -264,10 +265,26 @@ public class ContractController {
@ResponseBody
public ResultModel build(@RequestBody Contract contract, HttpServletRequest request) {
// ContractSendEmailThread email = new ContractSendEmailThread(contract);
// email.start();
logger.error("tkiio---------------" + contract);
return ResultModel.OK(service.build(contract));
}
@RequestMapping(value = "trade", method = RequestMethod.POST)
@ResponseBody
public ResultModel baseCreate(@RequestBody Contract contract, @PathVariable String platform) {
return ResultModel.OK(service.getTradeData(platform));
}
@RequestMapping(value = "code/all", method = RequestMethod.POST)
@ResponseBody
public ResultModel contractCodeAll(@RequestBody Contract contract, @PathVariable String platform) {
return ResultModel.OK(service.contractCodeAll(platform));
}
}
......@@ -113,4 +113,7 @@ public class LoginController {
return ResultModel.OK(true);
}
}
......@@ -16,7 +16,7 @@ public class Contract {
private String myBodyName;
private String myBodyCode;
private String customerBody;
private String email;
private String email; //客户主账号
private String contractCode;
//是否首次签约
private String contractType;
......@@ -24,16 +24,18 @@ public class Contract {
private String endDate;
//套餐
private Long priceLevel;
private Long money;
private Double rebate;
private String priceLevelName;
private Long money; //合同金额
private Double rebate; //
private Long sale;
//产品trackingio or adi ...
private String platform;
private String status;
private String saleName;
private String priceLevelName;
private Long payMoney;
private Long invoice;
private Long invoice; // 发票金额
private String createName;
//合同类型 主套餐 or 增值套餐
private String type;
......@@ -48,6 +50,23 @@ public class Contract {
private String ds;
private Boolean virtual;
/**
* 新增字段
*/
// private Long catogrey; //行业
private Long discountFlow; // 优惠流量
private Long discountTimeLong; // 优惠时长
private Double rebateMoney; //回款金额
private String customerShort;// 客户简称
private String customerThird;// 三方客户
private int tradeType; // 行业id
private Long relationContract;// 关联合同id
private String createrName; // 录入人
@Id
@GeneratedValue
public Long getId() {
......@@ -300,6 +319,70 @@ public class Contract {
this.createName = createName;
}
public Long getDiscountFlow() {
return discountFlow;
}
public void setDiscountFlow(Long discountFlow) {
this.discountFlow = discountFlow;
}
public Long getDiscountTimeLong() {
return discountTimeLong;
}
public void setDiscountTimeLong(Long discountTimeLong) {
this.discountTimeLong = discountTimeLong;
}
public Double getRebateMoney() {
return rebateMoney;
}
public void setRebateMoney(Double rebateMoney) {
this.rebateMoney = rebateMoney;
}
public String getCustomerShort() {
return customerShort;
}
public void setCustomerShort(String customerShort) {
this.customerShort = customerShort;
}
public String getCustomerThird() {
return customerThird;
}
public void setCustomerThird(String customerThird) {
this.customerThird = customerThird;
}
public int getTradeType() {
return tradeType;
}
public void setTradeType(int tradeType) {
this.tradeType = tradeType;
}
public Long getRelationContract() {
return relationContract;
}
public void setRelationContract(Long relationContract) {
this.relationContract = relationContract;
}
public String getCreaterName() {
return createrName;
}
public void setCreaterName(String createrName) {
this.createrName = createrName;
}
@Override
public String toString() {
return "Contract{" +
......
package common.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Transient;
import java.util.Date;
/**
* Created .
* 合同 关联信息
*/
@Entity
public class ContractRelation {
private Long id;
private Long mainContract;
private Long relationId;
private Date createTime;
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getMainContract() {
return mainContract;
}
public void setMainContract(Long mainContract) {
this.mainContract = mainContract;
}
public Long getRelationId() {
return relationId;
}
public void setRelationId(Long relationId) {
this.relationId = relationId;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
package common.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class TradeType {
private Long id;
private Long parentId;
private String name;
private String code;
private String platform;
private int sort;
@Id
@GeneratedValue
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getPlatform() {
return platform;
}
public void setPlatform(String platform) {
this.platform = platform;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
}
package common.repository;
import common.model.ContractRelation;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* 合同 关联信息
*/
public interface ContractRelationRepository extends JpaRepository<ContractRelation, Long> {
}
......@@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigInteger;
import java.util.List;
import java.util.Map;
@Transactional
public interface ContractRepository extends JpaRepository<Contract, Long> {
......@@ -47,4 +48,13 @@ public interface ContractRepository extends JpaRepository<Contract, Long> {
@Query(value="SELECT * from contract where end_date <= ?1 and (status <> 'end' or status <> 'cancel')",nativeQuery=true)
List<Contract> findByEndDate(String endDate);
@Query(value = "select count(*) from contract where platform = ?1",nativeQuery = true)
BigInteger findcountContract(String platform);
@Query(value = "select new map( c.id as id, c.contractCode as contractCode ) from Contract c where c.platform = ?1")
Map contractCodePlatform(String platform);
@Query(value = "select * from contract where platform = ?1 and contract_code = ?2",nativeQuery = true)
Contract findByCodePlatform(String contractCode, String platform);
}
package common.repository;
import common.model.TradeType;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
@Transactional
public interface TradeTypeRepsitory extends JpaRepository<TradeType, Long>{
}
......@@ -48,4 +48,12 @@ public interface ContractService {
List<ContractMoney> findPayAll(String startDate, String endDate, String platform);
Contract build(Contract contract);
String getContractCode(String code, String platform, String company);
List<TradeType> getTradeData(String platform);
Map contractCodeAll(String platform);
List<Contract> findAllContract(User loginAccount, String startDate, String endDate, String platform);
}
\ No newline at end of file
......@@ -85,6 +85,14 @@ public class ContractServiceImpl implements ContractService{
@Autowired
ADIAccountService adiAccountService;
@Autowired
TradeTypeRepsitory tradeTypeRepsitory;
@Autowired
ContractRelationRepository contractRelationRepository;
@Override
public Map<String, Object> checkAccount(String email, String platfrom) {
Map<String, Object> map = new HashMap<>();
......@@ -169,6 +177,23 @@ public class ContractServiceImpl implements ContractService{
}
@Override
public String getContractCode(String code, String platform, String company) {
BigInteger countContract = contractRepository.findcountContract(platform);
String lastCode = "";
int codeInt = countContract.intValue();
if(codeInt < 9){
lastCode = "0"+(codeInt+1);
}else{
lastCode = ""+(codeInt+1);
}
return company+"-"+platform+"-"+DateUtil.getDays2(0)+"-"+lastCode;
}
@Override
public List findSetmeal(String platform) {
List list = new ArrayList();
if("adi".equals(platform)){
......@@ -239,6 +264,47 @@ public class ContractServiceImpl implements ContractService{
}
@Override
public Contract create(User loginUser, Contract resource) {
if(resource ==null){
return null;
}
Contract contractExist = contractRepository.findByCodePlatform(resource.getContractCode(),resource.getPlatform());
if(contractExist!=null){
// 合同编号已存在
return null;
}
resource.setPayMoney(0L);
resource.setInvoice(0L);
resource.setStatus(ContractStatusEnum.EXECUTING.getKey());
resource.setCreateTime(new Date());
if(null != loginUser) {
resource.setCreateAccount(loginUser.getId());
resource.setCreaterName(loginUser.getName());
}
resource = contractRepository.save(resource);
if(resource.getRelationContract()>0){
//保存关联合同信息
ContractRelation relation = new ContractRelation();
relation.setCreateTime(new Date());
relation.setMainContract(resource.getId());
relation.setRelationId(resource.getRelationContract());
contractRelationRepository.save(relation);
}
if(true){
return resource;
}
// 老的逻辑
String contractCode = getContractCode(resource.getMyBodyCode());
if(!contractCode.equals(resource.getContractCode())){
......@@ -288,6 +354,7 @@ public class ContractServiceImpl implements ContractService{
if(null != loginUser) {
resource.setCreateAccount(loginUser.getId());
resource.setCreaterName(loginUser.getName());
}
resource.setCreateTime(new Date());
......@@ -489,6 +556,28 @@ public class ContractServiceImpl implements ContractService{
}
@Override
public List<Contract> findAllContract(User loginAccount, String startDate, String endDate, String platform) {
List<Contract> contractList ;
if(!loginAccount.getRole().equals(RoleEnum.MANAGER.getKey())){
//非 管理员
List<User> userList = userService.findAllSons(loginAccount.getId());
List<Long> idList = new ArrayList<>();
idList.add(loginAccount.getId());
for(User u : userList){
idList.add(u.getId());
}
contractList = contractRepository.findByDsAndRoile(startDate, endDate, platform, idList);
}else{
contractList = contractRepository.findByDs(startDate, endDate, platform);
}
return contractList;
}
@Override
public Contract findOne(String code) {
List<Contract> result = new ArrayList<>();
......@@ -710,7 +799,19 @@ public class ContractServiceImpl implements ContractService{
return result;
}
@Override
public List<TradeType> getTradeData(String platform) {
return tradeTypeRepsitory.findAll();
}
@Override
public Map contractCodeAll(String platform) {
return contractRepository.contractCodePlatform(platform);
}
public Map<Long, String> getPackageMap(){
List<PackageType> typeList = packageTypeRepository.findAll();
......
......@@ -353,5 +353,10 @@ public class UserServiceImpl implements UserService {
return result;
}
public static void main(String[] args) {
System.out.println(CipherUtil.generatePassword("111111"));
}
}
package track.service.impl;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import tkio.model.AccountRestrict4Web;
import track.model.Account;
import track.model.App;
import track.repository.MeasureRepository;
import track.repository.TrackAppRepository;
import track.service.TrackAccountFlowRestrictService;
import util.Constant;
import util.DateUtil;
import util.HttpClientUtil;
import util.ValidateUtil;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
/**
* Created by song on 2017/10/19.
......
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