diff --git a/pom.xml b/pom.xml index 1588b9d5a..73a9ce6ca 100644 --- a/pom.xml +++ b/pom.xml @@ -36,6 +36,7 @@ 7.9.0 2.8.5 1.3.6 + 5.7.2 @@ -227,6 +228,13 @@ ${tlog.version} + + org.junit.jupiter + junit-jupiter-api + ${junit-jupiter.version} + test + + diff --git a/private-farm/pom.xml b/private-farm/pom.xml index f600abe7b..6a8c2cb5f 100644 --- a/private-farm/pom.xml +++ b/private-farm/pom.xml @@ -32,6 +32,11 @@ gson + + org.junit.jupiter + junit-jupiter + + \ No newline at end of file diff --git a/private-farm/src/main/java/com/jlt/csa/controller/FarmerContractController.java b/private-farm/src/main/java/com/jlt/csa/controller/FarmerContractController.java index 564439728..a3272f2a0 100644 --- a/private-farm/src/main/java/com/jlt/csa/controller/FarmerContractController.java +++ b/private-farm/src/main/java/com/jlt/csa/controller/FarmerContractController.java @@ -77,6 +77,7 @@ public class FarmerContractController extends BaseController @PostMapping public AjaxResult add(@RequestBody FarmerContract farmerContract) { + farmerContract.setCreateBy(getUsername()); return toAjax(farmerContractService.insertFarmerContract(farmerContract)); } @@ -88,6 +89,7 @@ public class FarmerContractController extends BaseController @PutMapping public AjaxResult edit(@RequestBody FarmerContract farmerContract) { + farmerContract.setUpdateBy(getUsername()); return toAjax(farmerContractService.updateFarmerContract(farmerContract)); } diff --git a/private-farm/src/main/java/com/jlt/csa/domain/FarmerContract.java b/private-farm/src/main/java/com/jlt/csa/domain/FarmerContract.java index 0ad358449..9765e7f59 100644 --- a/private-farm/src/main/java/com/jlt/csa/domain/FarmerContract.java +++ b/private-farm/src/main/java/com/jlt/csa/domain/FarmerContract.java @@ -1,7 +1,16 @@ package com.jlt.csa.domain; import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.Period; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.Date; +import java.util.TimeZone; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -37,8 +46,8 @@ public class FarmerContract extends BaseEntity @Excel(name = "合约账户金额") private BigDecimal balance; - /** 合约重量 */ - @Excel(name = "合约重量") + /** 合约斤数 */ + @Excel(name = "合约斤数") private BigDecimal weight; /** 合约拱棚年限 */ @@ -47,15 +56,15 @@ public class FarmerContract extends BaseEntity /** 激活方式 */ @Excel(name = "激活方式") - private String activateMode; + private String activateWay; /** 加入凭据号码 */ @Excel(name = "加入凭据号码") private String joinCredentialNo; - /** 加入日期 */ + /** 生效日期 */ @JsonFormat(pattern = "yyyy-MM-dd") - @Excel(name = "加入日期", width = 30, dateFormat = "yyyy-MM-dd") + @Excel(name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd") private Date joinDate; /** 到期日期 */ @@ -63,6 +72,10 @@ public class FarmerContract extends BaseEntity @Excel(name = "到期日期", width = 30, dateFormat = "yyyy-MM-dd") private Date dueDate; + /** 合约天数 */ + @Excel(name = "合约天数") + private Long days; + /** 状态(0正常 1停用) */ @Excel(name = "状态", readConverterExp = "0=正常,1=停用") private String status; @@ -70,6 +83,29 @@ public class FarmerContract extends BaseEntity /** 删除标志(0代表存在 2代表删除) */ private String delFlag; + /** + * 根据生效日期、到期天数计算天数,包含起止日,即两者相加+1 + * @return + */ + public Long countDays() { + if (joinDate == null) { + throw new RuntimeException("缺少生效日期!"); + } + + if (dueDate == null) { + throw new RuntimeException("缺少终止日期!"); + } + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate startDate = LocalDate.parse(simpleDateFormat.format(joinDate), dateTimeFormatter); + LocalDate endDate = LocalDate.parse(simpleDateFormat.format(dueDate), dateTimeFormatter); + + this.days = ChronoUnit.DAYS.between(startDate, endDate) + 1; + + return this.days; + } + public void setContractId(Long contractId) { this.contractId = contractId; @@ -133,14 +169,14 @@ public class FarmerContract extends BaseEntity { return archedYears; } - public void setActivateMode(String activateMode) + public void setActivateWay(String activateWay) { - this.activateMode = activateMode; + this.activateWay = activateWay; } - public String getActivateMode() + public String getActivateWay() { - return activateMode; + return activateWay; } public void setJoinCredentialNo(String joinCredentialNo) { @@ -174,7 +210,15 @@ public class FarmerContract extends BaseEntity this.status = status; } - public String getStatus() + public Long getDays() { + return days; + } + + public void setDays(Long days) { + this.days = days; + } + + public String getStatus() { return status; } @@ -198,7 +242,7 @@ public class FarmerContract extends BaseEntity .append("balance", getBalance()) .append("weight", getWeight()) .append("archedYears", getArchedYears()) - .append("activateMode", getActivateMode()) + .append("activateMode", getActivateWay()) .append("joinCredentialNo", getJoinCredentialNo()) .append("joinDate", getJoinDate()) .append("dueDate", getDueDate()) diff --git a/private-farm/src/main/java/com/jlt/csa/service/impl/FarmerContractServiceImpl.java b/private-farm/src/main/java/com/jlt/csa/service/impl/FarmerContractServiceImpl.java index 5c8c0c9a0..d32858c99 100644 --- a/private-farm/src/main/java/com/jlt/csa/service/impl/FarmerContractServiceImpl.java +++ b/private-farm/src/main/java/com/jlt/csa/service/impl/FarmerContractServiceImpl.java @@ -53,6 +53,7 @@ public class FarmerContractServiceImpl implements IFarmerContractService @Override public int insertFarmerContract(FarmerContract farmerContract) { + farmerContract.countDays(); farmerContract.setCreateTime(DateUtils.getNowDate()); return farmerContractMapper.insertFarmerContract(farmerContract); } @@ -66,6 +67,7 @@ public class FarmerContractServiceImpl implements IFarmerContractService @Override public int updateFarmerContract(FarmerContract farmerContract) { + farmerContract.countDays(); farmerContract.setUpdateTime(DateUtils.getNowDate()); return farmerContractMapper.updateFarmerContract(farmerContract); } diff --git a/private-farm/src/main/resources/mapper/csa/FarmerContractMapper.xml b/private-farm/src/main/resources/mapper/csa/FarmerContractMapper.xml index 99624c5aa..38f0df33e 100644 --- a/private-farm/src/main/resources/mapper/csa/FarmerContractMapper.xml +++ b/private-farm/src/main/resources/mapper/csa/FarmerContractMapper.xml @@ -12,10 +12,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + @@ -26,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select contract_id, farmer_id, member_name, coins, balance, weight, arched_years, activate_mode, join_credential_no, join_date, due_date, status, del_flag, create_by, create_time, update_by, update_time, remark from csa_farmer_contract + select contract_id, farmer_id, member_name, coins, balance, weight, arched_years, activate_way, join_credential_no, join_date, due_date, days, status, del_flag, create_by, create_time, update_by, update_time, remark from csa_farmer_contract