Przeglądaj źródła

将Date类型改为LocalDateTime类型
修改转化商机的错误业务逻辑
修改取消关注的错误业务逻辑

云殇忆 1 rok temu
rodzic
commit
f5d1e1ecc5
26 zmienionych plików z 275 dodań i 57 usunięć
  1. 1 0
      benyun-core/src/main/java/com/benyun/core/dao/AttentionPoolDao.java
  2. 2 1
      benyun-core/src/main/java/com/benyun/core/dao/BusinessOpportunitiesDao.java
  3. 10 3
      benyun-core/src/main/java/com/benyun/core/entity/AttentionPool.java
  4. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/AttentionPoolStatistics.java
  5. 18 4
      benyun-core/src/main/java/com/benyun/core/entity/Brand.java
  6. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/BrandCity.java
  7. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/BrandProvince.java
  8. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/BrandStatistics.java
  9. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/BrandZone.java
  10. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/BusinessOpportunitiesClue.java
  11. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/FollowUpRecord.java
  12. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/AttentionPoolBo.java
  13. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/AttentionPoolStatisticsBo.java
  14. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/BrandInfo.java
  15. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/BrandProvinceBo.java
  16. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/BrandSearch.java
  17. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/BrandSimilar.java
  18. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/BrandTotal.java
  19. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/BusinessOpportunitiesClueBo.java
  20. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/FollowUpRecordBo.java
  21. 10 2
      benyun-core/src/main/java/com/benyun/core/entity/bo/Info.java
  22. 28 9
      benyun-core/src/main/java/com/benyun/core/service/impl/AttentionPoolServiceImpl.java
  23. 9 3
      benyun-core/src/main/java/com/benyun/core/service/impl/BusinessOpportunitiesServiceImpl.java
  24. 9 0
      benyun-core/src/main/resources/mapper/AttentionPoolMapper.xml
  25. 17 2
      benyun-core/src/main/resources/mapper/BusinessOpportunitiesMapper.xml
  26. 11 1
      ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java

+ 1 - 0
benyun-core/src/main/java/com/benyun/core/dao/AttentionPoolDao.java

@@ -12,6 +12,7 @@ public interface AttentionPoolDao extends BaseMapper<AttentionPool> {
     int searchCountByUserId(String userId);
     List<AttentionPool> searchByMulti(@Param("text") String text, @Param("userId") String userId);
     int deleteByAttentionIdAndUserId(@Param("attentionId") String attentionId, @Param("userId") String userId);
+    AttentionPool searchByAttentionIdAndUserId(@Param("attentionId") String attentionId, @Param("userId") String userId);
     AttentionPool searchByBrandIdOrWdIdAndUserId(@Param("brandId") String brandId, @Param("wdId") String wdId, @Param("userId") String userId);
     int deleteByBrandIdOrWdIdAndUserId(@Param("brandId") String brandId, @Param("wdId") String wdId, @Param("userId") String userId);
 }

+ 2 - 1
benyun-core/src/main/java/com/benyun/core/dao/BusinessOpportunitiesDao.java

@@ -10,7 +10,8 @@ import java.util.List;
 @Mapper
 public interface BusinessOpportunitiesDao extends BaseMapper<BusinessOpportunitiesClue> {
     int searchCountByUserId(@Param("userId") String userId);
-    BusinessOpportunitiesClue searchByAttentionIdAndUserId(@Param("attentionId") String attentionId, @Param("userId") String userId);
+    BusinessOpportunitiesClue searchByClueIdOrAttentionIdAndUserId(@Param("clueId") String clueId, @Param("attentionId") String attentionId, @Param("userId") String userId);
     int deleteByAttentionIdAndUserId(@Param("attentionId")String attentionId, @Param("userId") String userId);
     List<BusinessOpportunitiesClue> searchAllByMulti(@Param("text") String text, @Param("userId") String userId);
+    int updateFollowUpCountByClueIdAndUserId(@Param("clueId") String clueId, @Param("count") Integer count , @Param("userId") String userId);
 }

+ 10 - 3
benyun-core/src/main/java/com/benyun/core/entity/AttentionPool.java

@@ -2,10 +2,14 @@ package com.benyun.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("bl_attention_pool")
@@ -29,5 +33,8 @@ public class AttentionPool{
     @TableField("user_id")
     private String userId;
     @TableField("attention_time")
-    private Date attentionTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime attentionTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/AttentionPoolStatistics.java

@@ -2,9 +2,14 @@ package com.benyun.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("bl_attention_pool_statistics")
@@ -22,5 +27,8 @@ public class AttentionPoolStatistics {
     @TableField("user_id")
     private String userId;
     @TableField("stat_time")
-    private Date statTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime statTime;
 }

+ 18 - 4
benyun-core/src/main/java/com/benyun/core/entity/Brand.java

@@ -3,10 +3,15 @@ package com.benyun.core.entity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import com.ruoyi.common.core.domain.BaseEntity;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("ddt_origin_brand")
@@ -36,15 +41,24 @@ public class Brand extends BaseEntity {
     @TableField("telephone")
     private String telephone;
     @TableField("create_data")
-    private Date createDate;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime createDate;
     @TableField("audit")
     private Long audit;
     @TableField("collect_person")
     private String collectPerson;
     @TableField("collect_time")
-    private Date collectTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime collectTime;
     @TableField("enter_time")
-    private Date enterTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime enterTime;
     @TableField("hash")
     private String hash;
 

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/BrandCity.java

@@ -1,9 +1,14 @@
 package com.benyun.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("bl_brand_city_distribution")
@@ -15,5 +20,8 @@ public class BrandCity {
     private Float lat;
     private Float lng;
     private Integer disCount;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/BrandProvince.java

@@ -1,9 +1,14 @@
 package com.benyun.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("bl_brand_province_distribution")
@@ -15,5 +20,8 @@ public class BrandProvince {
     private Float lat;
     private Float lng;
     private Integer disCount;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/BrandStatistics.java

@@ -1,9 +1,14 @@
 package com.benyun.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("bl_brand_statistics")
@@ -18,5 +23,8 @@ public class BrandStatistics {
     private int pauseBusinessCount;
     private int noBusinessCount;
     private int total;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/BrandZone.java

@@ -1,9 +1,14 @@
 package com.benyun.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("bl_brand_zone_distribution")
@@ -19,5 +24,8 @@ public class BrandZone {
     private Float lng;
     private Integer disCount;
     private Float avgScore;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/BusinessOpportunitiesClue.java

@@ -2,9 +2,14 @@ package com.benyun.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("bl_business_opportunities_clue")
@@ -22,5 +27,8 @@ public class BusinessOpportunitiesClue {
     @TableField("user_id")
     private String userId;
     @TableField("create_time")
-    private Date createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime createTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/FollowUpRecord.java

@@ -2,9 +2,14 @@ package com.benyun.core.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("bl_follow_up_record")
@@ -22,5 +27,8 @@ public class FollowUpRecord {
     @TableField("user_id")
     private String userId;
     @TableField("follow_time")
-    private Date followTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime followTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/AttentionPoolBo.java

@@ -1,8 +1,13 @@
 package com.benyun.core.entity.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 public class AttentionPoolBo {
@@ -12,5 +17,8 @@ public class AttentionPoolBo {
     private String wdName;
     private String wdAddrInfo;
     private String brandName;
-    private Date attentionTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime attentionTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/AttentionPoolStatisticsBo.java

@@ -1,8 +1,13 @@
 package com.benyun.core.entity.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 public class AttentionPoolStatisticsBo {
@@ -10,5 +15,8 @@ public class AttentionPoolStatisticsBo {
     private Integer clueCount;
     private Integer onlineCount;
     private Integer offlineCount;
-    private Date time;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime time;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/BrandInfo.java

@@ -1,9 +1,14 @@
 package com.benyun.core.entity.bo;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("ddt_origin_brand")
@@ -17,5 +22,8 @@ public class BrandInfo {
     private String addrInfo;
     private String addrCode;
     private String telephone;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/BrandProvinceBo.java

@@ -1,8 +1,13 @@
 package com.benyun.core.entity.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 public class BrandProvinceBo {
@@ -12,5 +17,8 @@ public class BrandProvinceBo {
     private String location;
     private Integer count;
     private String ratio;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/BrandSearch.java

@@ -1,8 +1,13 @@
 package com.benyun.core.entity.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 public class BrandSearch {
@@ -14,5 +19,8 @@ public class BrandSearch {
     private Integer coverCityCount;
     private Integer total;
     private Integer attention;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/BrandSimilar.java

@@ -1,9 +1,14 @@
 package com.benyun.core.entity.bo;
 
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 @TableName("ddt_origin_brand")
@@ -11,5 +16,8 @@ public class BrandSimilar {
     private String brandId;
     private String brandName;
     private String brandImg;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/BrandTotal.java

@@ -1,13 +1,21 @@
 package com.benyun.core.entity.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 public class BrandTotal {
     private String brandId;
     private String brandName;
     private int total;
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/BusinessOpportunitiesClueBo.java

@@ -1,8 +1,13 @@
 package com.benyun.core.entity.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 public class BusinessOpportunitiesClueBo {
@@ -11,5 +16,8 @@ public class BusinessOpportunitiesClueBo {
     private String contact;
     private String telephone;
     private Integer followUpCount;
-    private Date createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime createTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/FollowUpRecordBo.java

@@ -1,8 +1,13 @@
 package com.benyun.core.entity.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 public class FollowUpRecordBo {
@@ -10,5 +15,8 @@ public class FollowUpRecordBo {
     private String way;
     private String content;
     private String person;
-    private Date followTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime followTime;
 }

+ 10 - 2
benyun-core/src/main/java/com/benyun/core/entity/bo/Info.java

@@ -1,13 +1,21 @@
 package com.benyun.core.entity.bo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 
 @Data
 public class Info {
     private String addrCode;
     private Float avgScore;
     private Integer count;
-    private Date time;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime time;
 }

+ 28 - 9
benyun-core/src/main/java/com/benyun/core/service/impl/AttentionPoolServiceImpl.java

@@ -12,8 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
@@ -54,21 +54,20 @@ public class AttentionPoolServiceImpl implements AttentionPoolService {
 
     @Override
     public int cancelAttention(String attentionId, String userId) {
-        BusinessOpportunitiesClue clue = businessOpportunitiesDao.searchByAttentionIdAndUserId(attentionId, userId);
+        BusinessOpportunitiesClue clue = businessOpportunitiesDao.searchByClueIdOrAttentionIdAndUserId(null, attentionId, userId);
         if (clue != null){
             List<FollowUpRecord> followUpRecords = followUpDao.searchAllByClueIdAndUserId(clue.getClueId(), userId);
             if (!followUpRecords.isEmpty())
                 followUpDao.deleteByClueIdAndUserId(clue.getClueId(), userId);
             businessOpportunitiesDao.deleteByAttentionIdAndUserId(attentionId, userId);
         }
-        int deleteAttention = attentionPoolDao.deleteByAttentionIdAndUserId(attentionId, userId);
-        return deleteAttention;
+        return attentionPoolDao.deleteByAttentionIdAndUserId(attentionId, userId);
     }
 
     @Override
     public int turnBusinessOpportunities(TurnBusinessOpportunitiesVo turnVo, String userId) {
-        BusinessOpportunitiesClue clue1 = businessOpportunitiesDao.searchByAttentionIdAndUserId(turnVo.getAttentionId(), userId);
-        if (clue1 == null)
+        AttentionPool pool = attentionPoolDao.searchByAttentionIdAndUserId(turnVo.getAttentionId(), userId);
+        if (pool == null)
             return 0;
         BusinessOpportunitiesClue clue = new BusinessOpportunitiesClue();
         clue.setClueId(UUID.randomUUID().toString().replace("-",""));
@@ -77,7 +76,7 @@ public class AttentionPoolServiceImpl implements AttentionPoolService {
         clue.setTelephone(turnVo.getTelephone());
         clue.setFollowUpCount(0);
         clue.setUserId(userId);
-        clue.setCreateTime(new Date());
+        clue.setCreateTime(LocalDateTime.now());
         return businessOpportunitiesDao.insert(clue);
     }
 
@@ -103,12 +102,22 @@ public class AttentionPoolServiceImpl implements AttentionPoolService {
         pool.setWdName("");
         pool.setWdAddrInfo("");
         pool.setUserId(userId);
-        pool.setAttentionTime(new Date());
+        pool.setAttentionTime(LocalDateTime.now());
         return attentionPoolDao.insert(pool);
     }
 
     @Override
     public int cancelBrand(String brnadId, String userId) {
+        AttentionPool attentionPool = attentionPoolDao.searchByBrandIdOrWdIdAndUserId(brnadId, null, userId);
+        if (attentionPool == null)
+            return 1;
+        BusinessOpportunitiesClue clue = businessOpportunitiesDao.searchByClueIdOrAttentionIdAndUserId(null, attentionPool.getAttentionId(), userId);
+        if (clue != null){
+            if (followUpDao.deleteByClueIdAndUserId(clue.getClueId(), userId) == 0)
+                return 0;
+            if (businessOpportunitiesDao.deleteByAttentionIdAndUserId(attentionPool.getAttentionId(),userId) == 0)
+                return 0;
+        }
         return attentionPoolDao.deleteByBrandIdOrWdIdAndUserId(brnadId,null,userId);
     }
 
@@ -150,12 +159,22 @@ public class AttentionPoolServiceImpl implements AttentionPoolService {
             pool.setBrandName("");
         }
         pool.setUserId(userId);
-        pool.setAttentionTime(new Date());
+        pool.setAttentionTime(LocalDateTime.now());
         return attentionPoolDao.insert(pool);
     }
 
     @Override
     public int cancelWdInfo(String wdId, String userId) {
+        AttentionPool attentionPool = attentionPoolDao.searchByBrandIdOrWdIdAndUserId(null, wdId, userId);
+        if (attentionPool == null)
+            return 1;
+        BusinessOpportunitiesClue clue = businessOpportunitiesDao.searchByClueIdOrAttentionIdAndUserId(null, attentionPool.getAttentionId(), userId);
+        if (clue != null){
+            if (followUpDao.deleteByClueIdAndUserId(clue.getClueId(), userId) == 0)
+                return 0;
+            if (businessOpportunitiesDao.deleteByAttentionIdAndUserId(attentionPool.getAttentionId(),userId) == 0)
+                return 0;
+        }
         return attentionPoolDao.deleteByBrandIdOrWdIdAndUserId(null,wdId,userId);
     }
 }

+ 9 - 3
benyun-core/src/main/java/com/benyun/core/service/impl/BusinessOpportunitiesServiceImpl.java

@@ -14,8 +14,8 @@ import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
@@ -67,6 +67,9 @@ public class BusinessOpportunitiesServiceImpl implements BusinessOpportunitiesSe
 
     @Override
     public int addFollow(AddFollowRecordVo addVo, String userId) {
+        BusinessOpportunitiesClue clue = businessOpportunitiesDao.searchByClueIdOrAttentionIdAndUserId(addVo.getClueId(),null, userId);
+        if (clue == null)
+            return 0;
         FollowUpRecord record = new FollowUpRecord();
         record.setRecordId(UUID.randomUUID().toString().replace("-",""));
         record.setClueId(addVo.getClueId());
@@ -74,7 +77,10 @@ public class BusinessOpportunitiesServiceImpl implements BusinessOpportunitiesSe
         record.setFollowPerson(addVo.getPerson());
         record.setFollowWay(addVo.getWay());
         record.setUserId(userId);
-        record.setFollowTime(new Date());
-        return followUpDao.insert(record);
+        record.setFollowTime(LocalDateTime.now());
+        if (followUpDao.insert(record) == 1){
+            return businessOpportunitiesDao.updateFollowUpCountByClueIdAndUserId(clue.getClueId(), clue.getFollowUpCount() + 1, userId);
+        }
+        return 0;
     }
 }

+ 9 - 0
benyun-core/src/main/resources/mapper/AttentionPoolMapper.xml

@@ -67,4 +67,13 @@
             and wd_id = #{wdId}
         </if>
     </select>
+    <select id="searchByAttentionIdAndUserId" resultMap="AttentionPoolResult">
+        select * from `bl_attention_pool`
+        <trim prefix="where" prefixOverrides="and">
+            <if test="userId != null">
+                user_id = #{userId}
+            </if>
+            and attention_id = #{attentionId}
+        </trim>
+    </select>
 </mapper>

+ 17 - 2
benyun-core/src/main/resources/mapper/BusinessOpportunitiesMapper.xml

@@ -12,6 +12,16 @@
         <result property="userId" column="user_id"/>
         <result property="createTime" column="create_time"/>
     </resultMap>
+    <update id="updateFollowUpCountByClueIdAndUserId">
+        UPDATE `bl_business_opportunities_clue`
+        SET follow_up_count = #{count}
+        <trim prefix="where" prefixOverrides="and">
+            <if test="userId != null">
+                user_id = #{userId}
+            </if>
+            and clue_id = #{clueId}
+        </trim>
+    </update>
     <delete id="deleteByAttentionIdAndUserId">
         delete from `bl_business_opportunities_clue`
         <trim prefix="where" prefixOverrides="and">
@@ -29,13 +39,18 @@
             </if>
         </where>
     </select>
-    <select id="searchByAttentionIdAndUserId" resultMap="ClueResult">
+    <select id="searchByClueIdOrAttentionIdAndUserId" resultMap="ClueResult">
         select * from `bl_business_opportunities_clue`
         <trim prefix="where" prefixOverrides="and">
             <if test="userId != null">
                 user_id = #{userId}
             </if>
-            and attention_id = #{attentionId}
+            <if test="clueId != null">
+                and clue_id = #{clueId}
+            </if>
+            <if test="attentionId != null">
+                and attention_id = #{attentionId}
+            </if>
         </trim>
     </select>
     <select id="searchAllByMulti" resultMap="ClueResult">

+ 11 - 1
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java

@@ -2,11 +2,18 @@ package com.ruoyi.common.core.domain;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -51,7 +58,10 @@ public class BaseEntity implements Serializable {
      * 更新时间
      */
     @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Date updateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonSerialize(using = LocalDateTimeSerializer.class)
+    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
+    private LocalDateTime updateTime;
 
     /**
      * 请求参数