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