Browse Source

新增限制项目分页列表

anderx 1 year ago
parent
commit
4bf4dc000b

+ 122 - 0
src/main/java/com/goafanti/business/bo/RestrictProjectPageList.java

@@ -1,4 +1,126 @@
 package com.goafanti.business.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
 public class RestrictProjectPageList {
+    private Integer id;
+    /**
+     * 客户名称
+     */
+    private String userName;
+    /**
+     * 项目名称
+     */
+    private String projectName;
+    /**
+     * 项目分类 0=公共限定,1=私有限定,2=签单限定
+     */
+    private Integer type;
+    /**
+     * 客户归属
+     */
+    private String userAdmin;
+    /**
+     * 项目归属
+     */
+    private String adminName;
+    /**
+     * 锁定时间
+     */
+    private Date lockTime;
+    /**
+     * 私有剩余天数
+     */
+    private Integer privateDays;
+    /**
+     * 签单剩余天数
+     */
+    private Integer SignDays;
+    /**
+     * 最后跟进时间
+     */
+    private Date lastFollowTime;
+
+    public Integer getPrivateDays() {
+        return privateDays;
+    }
+
+    public void setPrivateDays(Integer privateDays) {
+        this.privateDays = privateDays;
+    }
+
+    public Integer getSignDays() {
+        return SignDays;
+    }
+
+    public void setSignDays(Integer signDays) {
+        SignDays = signDays;
+    }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public String getUserAdmin() {
+        return userAdmin;
+    }
+
+    public void setUserAdmin(String userAdmin) {
+        this.userAdmin = userAdmin;
+    }
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    public Date getLockTime() {
+        return lockTime;
+    }
+
+    public void setLockTime(Date lockTime) {
+        this.lockTime = lockTime;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    public Date getLastFollowTime() {
+        return lastFollowTime;
+    }
+
+    public void setLastFollowTime(Date lastFollowTime) {
+        this.lastFollowTime = lastFollowTime;
+    }
 }

+ 5 - 0
src/main/java/com/goafanti/business/controller/RestrictProjectController.java

@@ -53,6 +53,11 @@ public class RestrictProjectController extends CertifyApiController {
         return res.data(restrictProjectService.update(id,type,takeAid));
     }
 
+    /**
+     * 限定项目分页列表
+     * @param in
+     * @return
+     */
     @RequestMapping(value = "/pageList", method = RequestMethod.GET)
     public Result<RestrictProjectPageList> pageList(InputRestrictProject in){
         Result res = res();

+ 20 - 0
src/main/java/com/goafanti/business/service/impl/RestrictProjectServiceImpl.java

@@ -14,8 +14,11 @@ import com.goafanti.core.shiro.token.TokenManager;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -90,9 +93,26 @@ public class RestrictProjectServiceImpl extends BaseMybatisDao<RestrictProjectMa
         Pagination<RestrictProjectPageList> page =
                 (Pagination<RestrictProjectPageList>) findPage("RestrictProjectList", "RestrictProjectCount",
                         param, in.getPageNo(), in.getPageSize());
+        pushPageList(page.getList());
         return page;
     }
 
+    private void pushPageList(List<RestrictProjectPageList> list) {
+        LocalDateTime now = LocalDateTime.now();
+        for (RestrictProjectPageList e : list) {
+            LocalDateTime lockTime = e.getLockTime().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDateTime();
+            if (e.getType()==1){
+                LocalDateTime endTime = lockTime.plusDays(30);
+                long between = ChronoUnit.DAYS.between(now, endTime);
+                e.setPrivateDays(between>0?(int)between:0);
+            }else if (e.getType()==2){
+                LocalDateTime endTime = lockTime.plusDays(270);
+                long between = ChronoUnit.DAYS.between(now, endTime);
+                e.setSignDays(between>0?(int)between:0);
+            }
+        }
+    }
+
     private void addUserLog(RestrictProject in, int i, String takeAid) {
         UserTransferLog log = new UserTransferLog();
         log.setUid(in.getUid());

+ 2 - 1
src/main/java/com/goafanti/common/mapper/RestrictProjectMapper.xml

@@ -129,7 +129,8 @@
         where a.restrict_status =1
     </select>
     <select id="RestrictProjectList" resultType="com.goafanti.business.bo.RestrictProjectPageList">
-        select a.id,b.nickname userName,c.bname projectName,a.`type` ,d.name userAdmin,d2.name adminName,a.lock_time ,a.last_follow_time
+        select a.id,b.nickname userName,c.bname projectName,a.`type` ,d.name userAdmin,d2.name adminName,a.lock_time lockTime,
+               a.last_follow_time lastFollowTime
         from restrict_project a
                  left join user b on a.uid =b.id left join business_project c on a.pid =c.id
                  left join admin d on b.aid =d.id left join admin d2 on a.aid =d2.id