Pārlūkot izejas kodu

Merge branch 'test2' of jishutao/kede-server into prod

anderx 1 gadu atpakaļ
vecāks
revīzija
64af64549b
29 mainītis faili ar 991 papildinājumiem un 120 dzēšanām
  1. 8 0
      pom.xml
  2. 2 5
      src/main/java/com/goafanti/RD/controller/RDController.java
  3. 2 0
      src/main/java/com/goafanti/common/constant/AFTConstants.java
  4. 14 0
      src/main/java/com/goafanti/common/controller/PublicController.java
  5. 2 17
      src/main/java/com/goafanti/common/dao/UserMapper.java
  6. 2 1
      src/main/java/com/goafanti/common/mapper/UserArchivesMapper.xml
  7. 1 1
      src/main/java/com/goafanti/common/mapper/UserLockReleaseMapper.xml
  8. 97 73
      src/main/java/com/goafanti/common/mapper/UserMapper.xml
  9. 63 2
      src/main/java/com/goafanti/common/model/User.java
  10. 30 0
      src/main/java/com/goafanti/common/service/ImageService.java
  11. 7 0
      src/main/java/com/goafanti/core/mybatis/BaseMybatisDao.java
  12. 34 0
      src/main/java/com/goafanti/customer/bo/InputUserClueBo.java
  13. 86 0
      src/main/java/com/goafanti/customer/bo/InputUserClueList.java
  14. 34 0
      src/main/java/com/goafanti/customer/bo/InputUserClueTransferBo.java
  15. 9 0
      src/main/java/com/goafanti/customer/bo/OutSelectUserArchives.java
  16. 5 0
      src/main/java/com/goafanti/customer/bo/OutUserClueBo.java
  17. 72 0
      src/main/java/com/goafanti/customer/bo/OutUserClueExcel.java
  18. 96 0
      src/main/java/com/goafanti/customer/bo/OutUserClueList.java
  19. 90 0
      src/main/java/com/goafanti/customer/controller/UserClueApiController.java
  20. 3 1
      src/main/java/com/goafanti/customer/service/CustomerService.java
  21. 18 0
      src/main/java/com/goafanti/customer/service/UserClueService.java
  22. 3 3
      src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java
  23. 279 0
      src/main/java/com/goafanti/customer/service/impl/UserClueServiceImpl.java
  24. 12 7
      src/main/java/com/goafanti/customer/service/impl/UserOutboundServiceImpl.java
  25. 1 1
      src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java
  26. 2 0
      src/main/java/com/goafanti/order/controller/StatisticsApiController.java
  27. 4 5
      src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java
  28. 9 3
      src/main/resources/props/config_local.properties
  29. 6 1
      src/main/resources/props/config_test.properties

+ 8 - 0
pom.xml

@@ -461,6 +461,14 @@
 			<version>0.2.15</version>
 			<version>0.2.15</version>
 			<scope>compile</scope>
 			<scope>compile</scope>
 		</dependency>
 		</dependency>
+		<!--        orc智能识别-->
+		<!-- https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j -->
+<!--		<dependency>-->
+<!--			<groupId>net.sourceforge.tess4j</groupId>-->
+<!--			<artifactId>tess4j</artifactId>-->
+<!--			<version>5.8.0</version>-->
+<!--		</dependency>-->
+
 
 
 	</dependencies>
 	</dependencies>
 	<build>
 	<build>

+ 2 - 5
src/main/java/com/goafanti/RD/controller/RDController.java

@@ -85,7 +85,6 @@ public class RDController extends BaseApiController {
     /**
     /**
      * 	Excel批量导入
      * 	Excel批量导入
      *
      *
-     * @return
      */
      */
     @RequestMapping(value = "/import" , method = RequestMethod.POST)
     @RequestMapping(value = "/import" , method = RequestMethod.POST)
     public Result importTemplate(@RequestParam(value = "file", required = false) MultipartFile file) {
     public Result importTemplate(@RequestParam(value = "file", required = false) MultipartFile file) {
@@ -107,13 +106,11 @@ public class RDController extends BaseApiController {
     /**
     /**
      * 	批量导入回款模版
      * 	批量导入回款模版
      *
      *
-     * @return
      */
      */
     @RequestMapping(value = "/downloadTemplate", method = RequestMethod.GET)
     @RequestMapping(value = "/downloadTemplate", method = RequestMethod.GET)
     public void downloadTemplate(HttpServletResponse response) {
     public void downloadTemplate(HttpServletResponse response) {
-        Result res = new Result();
-        StringBuffer url= new StringBuffer(uploadPath);
-        url=url.append("/tmp").append("/RD_details_template.xlsx");
+        StringBuilder url= new StringBuilder(uploadPath);
+        url.append("/tmp").append("/RD_details_template.xlsx");
         try {
         try {
             response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
             response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
             FileUtils.setAttachmentResponseHeader(response, url.toString(),"研发活动导入模版.xlsx");
             FileUtils.setAttachmentResponseHeader(response, url.toString(),"研发活动导入模版.xlsx");

+ 2 - 0
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -69,6 +69,8 @@ public class AFTConstants {
 	public static final String  FINANCE_MANAGER						= "997";
 	public static final String  FINANCE_MANAGER						= "997";
 	/** 营销经理 */
 	/** 营销经理 */
 	public static final String  SALESMAN_MANAGER                    = "996";
 	public static final String  SALESMAN_MANAGER                    = "996";
+	/** 营销经理 */
+	public static final String  CLUE_MANAGER                    = "986";
 	/** 客服营销员 */
 	/** 客服营销员 */
 	public static final String  CUSTOMER_SERVICE_SALESMAN     		= "960";
 	public static final String  CUSTOMER_SERVICE_SALESMAN     		= "960";
 	/**	技术员 */
 	/**	技术员 */

+ 14 - 0
src/main/java/com/goafanti/common/controller/PublicController.java

@@ -9,6 +9,7 @@ import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.enums.UserType;
 import com.goafanti.common.enums.UserType;
 import com.goafanti.common.model.User;
 import com.goafanti.common.model.User;
 import com.goafanti.common.service.DistrictGlossoryService;
 import com.goafanti.common.service.DistrictGlossoryService;
+import com.goafanti.common.service.ImageService;
 import com.goafanti.common.service.IndustryCategoryService;
 import com.goafanti.common.service.IndustryCategoryService;
 import com.goafanti.common.service.PovertyService;
 import com.goafanti.common.service.PovertyService;
 import com.goafanti.common.utils.*;
 import com.goafanti.common.utils.*;
@@ -96,6 +97,8 @@ public class PublicController extends CertifyApiController {
 	private OrderProjectService orderProjectService;
 	private OrderProjectService orderProjectService;
 	@Resource
 	@Resource
 	private UserOutboundService userOutboundService;
 	private UserOutboundService userOutboundService;
+	@Resource
+	private ImageService imageService;
 
 
 	@Value(value = "${patentTemplate}")
 	@Value(value = "${patentTemplate}")
 	private String					patentTemplate		= null;
 	private String					patentTemplate		= null;
@@ -988,4 +991,15 @@ public class PublicController extends CertifyApiController {
 		System.out.println(in);
 		System.out.println(in);
 		return new Result<>().data(userOutboundService.pushCallCompleted(in));
 		return new Result<>().data(userOutboundService.pushCallCompleted(in));
 	}
 	}
+
+
+//	/**
+//	 * OCR识别
+//	 */
+//	@PostMapping("/OCR")
+//	@ResponseBody
+//	public Result ImageOCR(@RequestParam(value = "file", required = false) MultipartFile file) {
+//
+//		return new Result<>().data(imageService.ImageOCR(file));
+//	}
 }
 }

+ 2 - 17
src/main/java/com/goafanti/common/dao/UserMapper.java

@@ -23,7 +23,7 @@ import java.util.Map;
  * (User)表数据库访问层
  * (User)表数据库访问层
  *
  *
  * @author makejava
  * @author makejava
- * @since 2024-11-19 15:44:01
+ * @since 2024-11-28 15:18:27
  */
  */
 public interface UserMapper {
 public interface UserMapper {
 
 
@@ -37,13 +37,6 @@ public interface UserMapper {
 
 
 
 
 
 
-    /**
-     * 统计总行数
-     *
-     * @param user 查询条件
-     * @return 总行数
-     */
-    int findUserCount(User user);
 
 
     /**
     /**
      * 新增数据
      * 新增数据
@@ -55,14 +48,7 @@ public interface UserMapper {
 
 
 
 
 
 
-    /**
-     * 批量新增或按主键更新数据(MyBatis原生foreach方法)
-     *
-     * @param entities List<User> 实例对象列表
-     * @return 影响行数
-     * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
-     */
-    int insertOrUpdateBatch(@Param("entities") List<User> entities);
+
 
 
     /**
     /**
      * 修改数据
      * 修改数据
@@ -316,4 +302,3 @@ public interface UserMapper {
     int selectUserLevel(String aid);
     int selectUserLevel(String aid);
 }
 }
 
 
-

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

@@ -299,7 +299,8 @@
     <select id="selectUserArchivesList" resultType="com.goafanti.customer.bo.OutSelectUserArchives">
     <select id="selectUserArchivesList" resultType="com.goafanti.customer.bo.OutSelectUserArchives">
         select a.id , a.nickname ,d1.name as  province ,d2.name as  city ,d3.name area ,a.sign_bills signBills,
         select a.id , a.nickname ,d1.name as  province ,d2.name as  city ,d3.name area ,a.sign_bills signBills,
         a.share_type as shareType ,d.channel_type as channelType ,e.enterprise_count as enterpriseCount,
         a.share_type as shareType ,d.channel_type as channelType ,e.enterprise_count as enterpriseCount,
-        c.name contactName,f.name adminName,e.channel_indicators as channelIndicators,e.update_time as updateTime,
+        c.name contactName,c.mobile contactMobile,
+        f.name adminName,e.channel_indicators as channelIndicators,e.update_time as updateTime,
         e.interview_ideas as interviewIdeas ,b.intended_project as intendedProject,
         e.interview_ideas as interviewIdeas ,b.intended_project as intendedProject,
         e.interview_distribution as interviewDistribution, g.name depName,
         e.interview_distribution as interviewDistribution, g.name depName,
         ic.name as  industry ,b.business_scope as businessScope ,e.financial_data as financialData,
         ic.name as  industry ,b.business_scope as businessScope ,e.financial_data as financialData,

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

@@ -518,7 +518,7 @@
   </update>
   </update>
   <select id="selectByUidGetCount" resultType="java.lang.Integer">
   <select id="selectByUidGetCount" resultType="java.lang.Integer">
   select count(*) from user_lock_release
   select count(*) from user_lock_release
-  	where `type` =1 and status=0 and aid = #{aid} and uid= #{uid}
+  	where `type` =0 and status=0 and aid = #{aid} and uid= #{uid}
   </select>
   </select>
   <update id="updateReleaseUser">
   <update id="updateReleaseUser">
   update t_order_new a ,user b ,user_business  c
   update t_order_new a ,user b ,user_business  c

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 97 - 73
src/main/java/com/goafanti/common/mapper/UserMapper.xml


+ 63 - 2
src/main/java/com/goafanti/common/model/User.java

@@ -7,10 +7,10 @@ import java.util.Date;
  * (User)实体类
  * (User)实体类
  *
  *
  * @author makejava
  * @author makejava
- * @since 2024-11-19 15:44:01
+ * @since 2024-12-02 11:37:11
  */
  */
 public class User implements  AftUser{
 public class User implements  AftUser{
-    private static final long serialVersionUID = 703046321551159676L;
+    private static final long serialVersionUID = 896145436195951740L;
 
 
     private String id;
     private String id;
     /**
     /**
@@ -181,6 +181,26 @@ public class User implements  AftUser{
      * 外呼状态 0=未呼叫,1=呼叫中
      * 外呼状态 0=未呼叫,1=呼叫中
      */
      */
     private Integer callStatus;
     private Integer callStatus;
+    /**
+     * 线索客户 0=否,1=是
+     */
+    private Integer clueStatus;
+    /**
+     * 线索客户 0=待分配,1=已分配,2=已回退,3=待处理,4=已领取
+     */
+    private Integer clueProcess;
+    /**
+     * 线索导入时间
+     */
+    private Date clueTime;
+    /**
+     * 线索录入人
+     */
+    private String clueAid;
+    /**
+     * 线索转交时间
+     */
+    private Date clueTransferTime;
 
 
 
 
     public String getId() {
     public String getId() {
@@ -526,5 +546,46 @@ public class User implements  AftUser{
     public void setCallStatus(Integer callStatus) {
     public void setCallStatus(Integer callStatus) {
         this.callStatus = callStatus;
         this.callStatus = callStatus;
     }
     }
+
+    public Integer getClueStatus() {
+        return clueStatus;
+    }
+
+    public void setClueStatus(Integer clueStatus) {
+        this.clueStatus = clueStatus;
+    }
+
+    public Integer getClueProcess() {
+        return clueProcess;
+    }
+
+    public void setClueProcess(Integer clueProcess) {
+        this.clueProcess = clueProcess;
+    }
+
+    public Date getClueTime() {
+        return clueTime;
+    }
+
+    public void setClueTime(Date clueTime) {
+        this.clueTime = clueTime;
+    }
+
+    public String getClueAid() {
+        return clueAid;
+    }
+
+    public void setClueAid(String clueAid) {
+        this.clueAid = clueAid;
+    }
+
+    public Date getClueTransferTime() {
+        return clueTransferTime;
+    }
+
+    public void setClueTransferTime(Date clueTransferTime) {
+        this.clueTransferTime = clueTransferTime;
+    }
+
 }
 }
 
 

+ 30 - 0
src/main/java/com/goafanti/common/service/ImageService.java

@@ -0,0 +1,30 @@
+package com.goafanti.common.service;
+
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+@Service
+public class ImageService {
+
+    private static final String DATA_PATH = "D:\\tessdata";
+    private static final String LANGUAGE = "chi_sim";
+
+
+    public Object ImageOCR(MultipartFile file) {
+        String result = null;
+//        try {
+//            byte[] bytes = file.getBytes();
+//            BufferedImage image = ImageIO.read(new ByteArrayInputStream(bytes));
+//            ITesseract instance = new Tesseract();
+//            instance.setDatapath(DATA_PATH);
+//            instance.setLanguage(LANGUAGE);
+//            result = instance.doOCR(image);
+//            System.out.println(result);
+//            result=result.replaceAll("\\r|\\n","-").replaceAll(" ","");
+//            System.out.println(result);
+//        } catch (IOException | TesseractException e) {
+//            throw new RuntimeException(e);
+//        }
+        return result;
+    }
+}

+ 7 - 0
src/main/java/com/goafanti/core/mybatis/BaseMybatisDao.java

@@ -165,6 +165,13 @@ public class BaseMybatisDao<T> extends SqlSessionDaoSupport {
 		return findList(DEFAULT_SQL_ID, params, pageNo, pageSize);
 		return findList(DEFAULT_SQL_ID, params, pageNo, pageSize);
 	}
 	}
 
 
+	public Pagination<?> findPage(String sqlId, String countId, Object params) {
+		Map<String, Object> map = BeanUtilsExt.pushMap(params);
+		Integer pageNo=(Integer) map.get("pageNo");
+		Integer pageSize=(Integer) map.get("pageSize");
+		return findPage(sqlId, countId, map, pageNo, pageSize);
+	}
+
 
 
 	public Pagination<?> findPage(String sqlId, String countId, Object params, Integer pageNo,
 	public Pagination<?> findPage(String sqlId, String countId, Object params, Integer pageNo,
 								  Integer pageSize) {
 								  Integer pageSize) {

+ 34 - 0
src/main/java/com/goafanti/customer/bo/InputUserClueBo.java

@@ -0,0 +1,34 @@
+package com.goafanti.customer.bo;
+
+public class InputUserClueBo {
+
+    private String userName;
+
+    private String contacts;
+
+    private String contactMobile;
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getContacts() {
+        return contacts;
+    }
+
+    public void setContacts(String contacts) {
+        this.contacts = contacts;
+    }
+
+    public String getContactMobile() {
+        return contactMobile;
+    }
+
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
+}

+ 86 - 0
src/main/java/com/goafanti/customer/bo/InputUserClueList.java

@@ -0,0 +1,86 @@
+package com.goafanti.customer.bo;
+
+public class InputUserClueList {
+
+    private Integer shiroType;
+    private Integer clueProcess;
+    private String aid;
+    private String belongName;
+    private String startTime;
+    private String endTime;
+    private String userName;
+    private Integer pageSize;
+    private Integer pageNo;
+
+    public String getBelongName() {
+        return belongName;
+    }
+
+    public void setBelongName(String belongName) {
+        this.belongName = belongName;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public Integer getClueProcess() {
+        return clueProcess;
+    }
+
+    public void setClueProcess(Integer clueProcess) {
+        this.clueProcess = clueProcess;
+    }
+
+    public Integer getShiroType() {
+        return shiroType;
+    }
+
+    public void setShiroType(Integer shiroType) {
+        this.shiroType = shiroType;
+    }
+
+    public String getAid() {
+        return aid;
+    }
+
+    public void setAid(String aid) {
+        this.aid = aid;
+    }
+
+    public Integer getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public Integer getPageNo() {
+        return pageNo;
+    }
+
+    public void setPageNo(Integer pageNo) {
+        this.pageNo = pageNo;
+    }
+}

+ 34 - 0
src/main/java/com/goafanti/customer/bo/InputUserClueTransferBo.java

@@ -0,0 +1,34 @@
+package com.goafanti.customer.bo;
+
+public class InputUserClueTransferBo {
+    private String uid;
+    private String transferId;
+    /**
+     * 0=转交, 1退回线索客户,2=移除线索客户,3=领取线索客户
+     */
+    private Integer type;
+
+    public String getUid() {
+        return uid;
+    }
+
+    public void setUid(String uid) {
+        this.uid = uid;
+    }
+
+    public String getTransferId() {
+        return transferId;
+    }
+
+    public void setTransferId(String transferId) {
+        this.transferId = transferId;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+}

+ 9 - 0
src/main/java/com/goafanti/customer/bo/OutSelectUserArchives.java

@@ -29,6 +29,7 @@ public class OutSelectUserArchives {
     private String industry;
     private String industry;
     @Excel(name = "联系人")
     @Excel(name = "联系人")
     private String contactName;
     private String contactName;
+    private String contactMobile;
     @Excel(name = "所属人")
     @Excel(name = "所属人")
     private String adminName;
     private String adminName;
     @Excel(name = "意向合作项目")
     @Excel(name = "意向合作项目")
@@ -58,6 +59,14 @@ public class OutSelectUserArchives {
     private Date updateTime;
     private Date updateTime;
     private String publicContent;
     private String publicContent;
 
 
+    public String getContactMobile() {
+        return contactMobile;
+    }
+
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
+
     public String getPublicContent() {
     public String getPublicContent() {
         return publicContent;
         return publicContent;
     }
     }

+ 5 - 0
src/main/java/com/goafanti/customer/bo/OutUserClueBo.java

@@ -0,0 +1,5 @@
+package com.goafanti.customer.bo;
+
+public class OutUserClueBo {
+
+}

+ 72 - 0
src/main/java/com/goafanti/customer/bo/OutUserClueExcel.java

@@ -0,0 +1,72 @@
+package com.goafanti.customer.bo;
+
+import com.goafanti.common.utils.excel.Excel;
+
+public class OutUserClueExcel {
+    private String id;
+    @Excel(name = "客户姓名")
+    private String nickname;
+    @Excel(name = "联系人")
+    private String contacts;
+    @Excel(name = "联系人手机号")
+    private String contactMobile;
+    private String adminName;
+    private String clueProcess;
+    private String clueTime;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getNickname() {
+        return nickname;
+    }
+
+    public void setNickname(String nickname) {
+        this.nickname = nickname;
+    }
+
+    public String getContacts() {
+        return contacts;
+    }
+
+    public void setContacts(String contacts) {
+        this.contacts = contacts;
+    }
+
+    public String getContactMobile() {
+        return contactMobile;
+    }
+
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName;
+    }
+
+    public String getClueProcess() {
+        return clueProcess;
+    }
+
+    public void setClueProcess(String clueProcess) {
+        this.clueProcess = clueProcess;
+    }
+
+    public String getClueTime() {
+        return clueTime;
+    }
+
+    public void setClueTime(String clueTime) {
+        this.clueTime = clueTime;
+    }
+}

+ 96 - 0
src/main/java/com/goafanti/customer/bo/OutUserClueList.java

@@ -0,0 +1,96 @@
+package com.goafanti.customer.bo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.goafanti.common.utils.excel.Excel;
+
+import java.util.Date;
+
+public class OutUserClueList {
+
+    private String id;
+    @Excel(name = "客户姓名")
+    private String nickname;
+    @Excel(name = "联系人")
+    private String contacts;
+    @Excel(name = "联系人手机号")
+    private String contactMobile;
+    private String adminName;
+    private String clueAname;
+    private String clueProcess;
+    private Date clueTime;
+    private Date clueTransferTime;
+
+    public String getClueAname() {
+        return clueAname;
+    }
+
+    public void setClueAname(String clueAname) {
+        this.clueAname = clueAname;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    public Date getClueTransferTime() {
+        return clueTransferTime;
+    }
+
+    public void setClueTransferTime(Date clueTransferTime) {
+        this.clueTransferTime = clueTransferTime;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getNickname() {
+        return nickname;
+    }
+
+    public void setNickname(String nickname) {
+        this.nickname = nickname;
+    }
+
+    public String getContacts() {
+        return contacts;
+    }
+
+    public void setContacts(String contacts) {
+        this.contacts = contacts;
+    }
+
+    public String getContactMobile() {
+        return contactMobile;
+    }
+
+    public void setContactMobile(String contactMobile) {
+        this.contactMobile = contactMobile;
+    }
+
+    public String getAdminName() {
+        return adminName;
+    }
+
+    public void setAdminName(String adminName) {
+        this.adminName = adminName;
+    }
+
+    public String getClueProcess() {
+        return clueProcess;
+    }
+
+    public void setClueProcess(String clueProcess) {
+        this.clueProcess = clueProcess;
+    }
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    public Date getClueTime() {
+        return clueTime;
+    }
+
+    public void setClueTime(Date clueTime) {
+        this.clueTime = clueTime;
+    }
+}

+ 90 - 0
src/main/java/com/goafanti/customer/controller/UserClueApiController.java

@@ -0,0 +1,90 @@
+package com.goafanti.customer.controller;
+
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.utils.excel.NewExcelUtil;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.customer.bo.*;
+import com.goafanti.customer.service.UserClueService;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/admin/userClue")
+public class UserClueApiController extends BaseApiController{
+
+	@Resource
+	private UserClueService userClueService;
+	@Value(value = "${upload.path}")
+	private String			uploadPath	= null;
+
+
+	/**
+	 * 客户线索列表
+	 * @param in
+	 * @return
+	 */
+	@GetMapping("/list")
+	public Result<Pagination<OutUserClueList>> list(InputUserClueList in) {
+		return new Result(userClueService.list(in));
+	}
+
+	/**
+	 * 导入客户线索
+	 * @return
+	 */
+	@PostMapping("/import")
+	public Result importUserClue( @RequestParam(value = "file", required = false) MultipartFile file) {
+		NewExcelUtil<OutUserClueExcel> excelUtil=new NewExcelUtil<>(OutUserClueExcel.class);
+		List<OutUserClueExcel> list =null;
+        try {
+            list=excelUtil.importExcel(file.getInputStream(),1);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+		Result res = new Result();
+		return res.data(userClueService.pushImportUserClue(list));
+	}
+
+	/**
+	 * 导出客户线索模版
+	 * @return
+	 */
+	@GetMapping("/exportTemplate")
+	public Result exportList( ) {
+		NewExcelUtil<OutUserClueExcel> excelUtil=new NewExcelUtil<>(OutUserClueExcel.class);
+		return excelUtil.exportExcel(null,"客户线索模版",uploadPath);
+	}
+
+	/**
+	 * 新增客户线索
+	 * @return
+	 */
+	@PostMapping("/add")
+	public Result add( InputUserClueBo in) {
+		Result res = new Result();
+		return res.data(userClueService.add(in));
+	}
+
+
+	/**
+	 * 线索客户转移
+	 * @param in type 0=转交, 1退回线索客户,2=移除线索客户,3=领取线索客户
+	 * @return
+	 */
+	@PostMapping("/transfer")
+	public Result transfer( InputUserClueTransferBo in) {
+		Result res = new Result();
+		if (in.getType()==0&&in.getTransferId()==null){
+			res.getError().add(buildError("转移编号不能为空"));
+			return res;
+		}
+		return res.data(userClueService.updateTransfer(in));
+	}
+
+
+}

+ 3 - 1
src/main/java/com/goafanti/customer/service/CustomerService.java

@@ -118,7 +118,9 @@ public interface CustomerService {
 	int addCustomer(InputAddCustomer in)  throws BusinessException;
 	int addCustomer(InputAddCustomer in)  throws BusinessException;
 
 
 
 
-	/**
+    void checkUserName(InputAddCustomer in);
+
+    /**
 	 * 查询单位客户详情
 	 * 查询单位客户详情
 	 * @param uid 用户ID
 	 * @param uid 用户ID
 	 * @return
 	 * @return

+ 18 - 0
src/main/java/com/goafanti/customer/service/UserClueService.java

@@ -0,0 +1,18 @@
+package com.goafanti.customer.service;
+
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.customer.bo.*;
+
+import java.util.List;
+import java.util.Map;
+
+public interface UserClueService {
+    Pagination<OutUserClueList> list(InputUserClueList in);
+
+    Object add(InputUserClueBo in);
+
+
+    Map<String, Object> pushImportUserClue(List<OutUserClueExcel> list);
+
+    Object updateTransfer(InputUserClueTransferBo in);
+}

+ 3 - 3
src/main/java/com/goafanti/customer/service/impl/CustomerServiceImpl.java

@@ -504,8 +504,8 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 	}
 	}
 
 
 
 
-
-    private void checkUserName(InputAddCustomer in) {
+	@Override
+	public void checkUserName(InputAddCustomer in) {
 		if (!userMapper.checkUser("", in.getName(), "", in.getType(), null, null).isEmpty())
 		if (!userMapper.checkUser("", in.getName(), "", in.getType(), null, null).isEmpty())
 			throw new BusinessException(new Error(ErrorConstants.CUSTOMER_ALREADY_EXIST, in.getName(), ""));
 			throw new BusinessException(new Error(ErrorConstants.CUSTOMER_ALREADY_EXIST, in.getName(), ""));
 		String name2=null;
 		String name2=null;
@@ -1387,6 +1387,7 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 			if (use.getSignBills()==0){
 			if (use.getSignBills()==0){
 				user.setShareType(AFTConstants.USER_SHARE_PRIVATE);
 				user.setShareType(AFTConstants.USER_SHARE_PRIVATE);
 				addUserLock(uid, TokenManager.getAdminId(), now, uList); // 指定用户锁定客户
 				addUserLock(uid, TokenManager.getAdminId(), now, uList); // 指定用户锁定客户
+				organizationContactBookMapper.updateAdmin(uid,aid);
 			}else if (use.getSignBills()==1){
 			}else if (use.getSignBills()==1){
 				user.setShareType(AFTConstants.USER_SHARE_SIGN);
 				user.setShareType(AFTConstants.USER_SHARE_SIGN);
 			}
 			}
@@ -1394,7 +1395,6 @@ public class CustomerServiceImpl extends BaseMybatisDao<UserMapper> implements C
 			user.setSource(2);// 客户来源设置为领取
 			user.setSource(2);// 客户来源设置为领取
 			addUserTransferLog(uid, TokenManager.getAdminId(), null,1, null, now, uList);
 			addUserTransferLog(uid, TokenManager.getAdminId(), null,1, null, now, uList);
 			updateUserMid(aid,uid,0,null);
 			updateUserMid(aid,uid,0,null);
-//			organizationContactBookMapper.updateAdmin(uid,aid);
 			//转交
 			//转交
 		} else if (typeFlag) {
 		} else if (typeFlag) {
 			if (!isUs) {
 			if (!isUs) {

+ 279 - 0
src/main/java/com/goafanti/customer/service/impl/UserClueServiceImpl.java

@@ -0,0 +1,279 @@
+package com.goafanti.customer.service.impl;
+
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.dao.*;
+import com.goafanti.common.enums.IdentityProcess;
+import com.goafanti.common.enums.UserLevel;
+import com.goafanti.common.error.BusinessException;
+import com.goafanti.common.model.*;
+import com.goafanti.common.utils.PasswordUtil;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.mybatis.page.Pagination;
+import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.customer.bo.*;
+import com.goafanti.customer.service.UserClueService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+@Service
+public class UserClueServiceImpl extends BaseMybatisDao<UserMapper> implements UserClueService {
+
+    @Resource
+    private UserMapper userMapper;
+    @Resource
+    private UserMidMapper userMidMapper;
+    @Resource
+    private UserTransferLogMapper userTransferLogMapper;
+    @Resource
+    private AdminMapper adminMapper;
+    @Resource
+    private UserLockReleaseMapper userLockReleaseMapper;
+    @Resource
+    private UserNamesMapper userNamesMapper;
+    @Resource
+    private OrganizationContactBookMapper organizationContactBookMapper;
+    @Resource
+    private OrganizationIdentityMapper organizationIdentityMapper;
+
+
+
+
+    @Resource(name = "passwordUtil")
+    private PasswordUtil					passwordUtil;
+
+    @Override
+    public Pagination<OutUserClueList> list(InputUserClueList in) {
+        if (TokenManager.hasRole(AFTConstants.SUPERADMIN)){
+            in.setShiroType(0);
+        }
+        if (in.getShiroType()==null){
+            in.setShiroType(2);
+        }
+        in.setAid(TokenManager.getAdminId());
+        if(in.getEndTime()!=null)in.setEndTime(in.getEndTime()+ " 23:59:59");
+        return (Pagination<OutUserClueList>)findPage("selectUserClueList", "selectUserClueCount", in);
+    }
+
+    @Override
+    public Object add(InputUserClueBo in) throws BusinessException{
+        User user = new User();
+        Date now = new Date();
+        String aid= TokenManager.getAdminId();
+        String uid = UUID.randomUUID().toString();
+        String identifyId = UUID.randomUUID().toString();
+        user.setId(uid);
+        user.setSource(1);// 客户来源为录入
+        user.setIdentifyName(in.getUserName());
+        user.setNickname(in.getUserName());
+        user.setUsername(in.getUserName());
+        user.setStatus(AFTConstants.USER_STATUS_NORMAL);
+        user.setShareType(1);
+        user.setAid(TokenManager.getAdminId());
+        user.setClueAid(TokenManager.getAdminId());
+//		user.setAid("1");
+        user.setType(1);
+        user.setLvl(UserLevel.CERTIFIED.getCode());
+        user.setCreateTime(now);
+        user.setTransferTime(now);
+        user.setUpdateTime(now);
+        user.setSignBills(0);
+        user.setNewChannel(0);
+        user.setMobile(in.getContactMobile());
+        user.setPassword(AFTConstants.INITIALPASSWORD);
+        user.setInformationMaintainer(TokenManager.getAdminId());
+        double f = 0;
+        user.setIntegrity(f);
+//		user.setInformationMaintainer("1");
+        user.setChannel(0);
+        user.setClueProcess(0);
+        user.setClueStatus(1);
+        user.setClueTime(now);
+        passwordUtil.encryptPassword(user);
+        String aname = adminMapper.queryById(TokenManager.getAdminId()).getName();
+        UserMid um=new UserMid();
+        um.setAid(user.getAid());
+        um.setUid(uid);
+        userMidMapper.insertSelective(um);
+        // 创建企业认证信息
+        OrganizationIdentity oi = new OrganizationIdentity();
+        oi.setUnitName(in.getUserName());
+        oi.setId(identifyId);
+        oi.setUid(uid);
+        oi.setContacts(in.getContacts());
+        oi.setContactMobile(in.getContactMobile());
+        oi.setHighTechZone(AFTConstants.NO);
+        oi.setInternational(AFTConstants.NO);
+        oi.setListed(AFTConstants.NO);
+        oi.setAuditStatus(IdentityProcess.SUCCESS.getCode()); // 实名企业
+        organizationIdentityMapper.insert(oi);
+        userMapper.insertSelective(user);
+        UserNames un=new UserNames();
+        un.setUid(uid);
+        un.setAid(aid);
+        un.setName(user.getNickname());
+        userNamesMapper.insertSelective(un);
+        // 新增企业联系人
+        OrganizationContactBook cob = new OrganizationContactBook();
+        cob.setAid(TokenManager.getAdminId());
+        cob.setAname(aname);
+        cob.setId(UUID.randomUUID().toString());
+        cob.setUid(uid);
+        cob.setName(in.getContacts());
+        cob.setMobile(in.getContactMobile());
+        cob.setMajor(AFTConstants.YES);
+        organizationContactBookMapper.insert(cob);
+        addUserTransferLog(user,22,null);
+        return 1;
+    }
+
+    @Override
+    public Map<String, Object> pushImportUserClue(List<OutUserClueExcel> list) {
+        StringBuilder msg = new StringBuilder();
+        int size=0;
+        for (OutUserClueExcel e : list) {
+            try {
+                checkMobile(e.getContactMobile());
+                checkContacts(e.getContacts());
+                //判定客户名称
+                checkUserName(e.getNickname());
+            }catch (BusinessException ex){
+                size++;
+                msg.append("<br/>客户[").append(e.getNickname()).append("]导入失败,原因:").append(ex.getMessage()).append(" ");
+                continue;
+            }
+            InputUserClueBo inUserClueBo = new InputUserClueBo();
+            inUserClueBo.setUserName(e.getNickname());
+            inUserClueBo.setContactMobile(e.getContactMobile());
+            inUserClueBo.setContacts(e.getContacts());
+            try {
+                add(inUserClueBo);
+            }catch (Exception ex){
+                size++;
+                msg.append("<br/>客户[").append(e.getNickname()).append("]新增异常。 ");
+            }
+        }
+
+        Map<String,Object> map = new HashMap();
+        map.put("errorCount",size);
+        if (size==0){
+            msg.append("客户导入成功.");
+        }
+        map.put("msg",msg);
+        return map;
+    }
+
+    private void checkContacts(String contacts) throws BusinessException {
+        String nameReg="[\\u4e00-\\u9fa5]+.*";
+        Pattern  pattern =Pattern.compile(nameReg);
+        Matcher matcher = pattern.matcher(contacts);
+        if (!matcher.matches()){
+            throw new BusinessException("联系人名称名称格式不正确");
+        }
+    }
+
+    private void checkMobile(String contactMobile) throws BusinessException{
+        String mobileReg="[1-9]\\d{10}";
+        String mobileReg2="^0\\d{2,3}-?\\d{7,8}$";
+        Pattern  pattern =Pattern.compile(mobileReg);
+        Matcher matcher = pattern.matcher(contactMobile);
+        if (!matcher.matches()){
+            Pattern  pattern2 =Pattern.compile(mobileReg2);
+            Matcher matcher2 = pattern2.matcher(contactMobile);
+            if (!matcher2.matches()){
+                throw new BusinessException("手机号格式不正确");
+            }
+        }
+
+    }
+
+
+
+    @Override
+    public Object updateTransfer(InputUserClueTransferBo in) {
+        String[] split = in.getUid().split(",");
+        for (String uid : split) {
+            userTransfer(uid,in);
+        }
+        return 1;
+    }
+
+    private void userTransfer(String uid,InputUserClueTransferBo in) {
+        User user = userMapper.queryById(uid);
+        Date date = new Date();
+        if (!user.getAid().equals(TokenManager.getAdminId())){
+            throw new BusinessException("只能操作所属客户");
+        }
+        String aid=in.getTransferId();
+        int type = 0;
+        if (in.getType()==0){
+            user.setAid(in.getTransferId());
+            user.setClueProcess(1);
+            user.setClueTransferTime(date);
+            type=23;
+        }else if (in.getType()==1){
+            user.setClueProcess(2);
+            user.setAid(user.getClueAid());
+            type=24;
+            aid=user.getClueAid();
+        }else if (in.getType()==2){
+            user.setClueProcess(3);
+            user.setTransferTime(date);
+            userMapper.update(user);
+            type=25;
+        }else if (in.getType()==3){
+            user.setClueProcess(4);
+            user.setShareType(0);
+            user.setTransferTime(date);
+            type=26;
+            if (userLockReleaseMapper.selectByUidGetCount(aid,user.getId())==0){
+                UserLockRelease ulr=new UserLockRelease();
+                ulr.setId(UUID.randomUUID().toString());
+                ulr.setAid(TokenManager.getAdminId());
+                ulr.setUid(user.getId());
+                ulr.setLockTime(date);
+                ulr.setStatus(0);
+                ulr.setType(0);
+                userLockReleaseMapper.insert(ulr);
+            }
+            organizationContactBookMapper.updateAdmin(user.getId(),TokenManager.getAdminId());
+        }
+        userMapper.update(user);
+        addUserTransferLog(user,type,aid);
+    }
+
+    /**
+     *
+     * @param user 客户信息
+     * @param type  22=导入线索客户,23=转交线索客户,24=退回线索客户,25=移除线索客户,26=领取线索客户
+     */
+    private void addUserTransferLog(User user,Integer type,String transferId) {
+        UserTransferLog u = new UserTransferLog();
+        u.setUid(user.getId());
+        u.setAid(TokenManager.getAdminId());
+        if (type==23||type==24){
+            u.setTakeAid(transferId);
+        }
+        u.setType(type);
+        userTransferLogMapper.insertSelective(u);
+    }
+
+
+    private void checkUserName(String name) throws BusinessException{
+        if (!userMapper.checkUser("", name, "", 1, null, null).isEmpty())
+            throw new BusinessException("客户已经存在");
+        String name2=null;
+        if (name.contains("(")){
+            name2=name.replace("(","(").replace(")",")");
+        }else if (name.contains("(")){
+            name2=name.replace("(","(").replace(")",")");
+        }
+        if (name2!=null){
+            if (!userMapper.checkUser("", name2, "", 1, null, null).isEmpty())
+                throw new BusinessException("客户已经存在");
+        }
+    }
+}

+ 12 - 7
src/main/java/com/goafanti/customer/service/impl/UserOutboundServiceImpl.java

@@ -18,6 +18,7 @@ import com.goafanti.customer.bo.InputCallNumber;
 import com.goafanti.customer.bo.InputUserCallList;
 import com.goafanti.customer.bo.InputUserCallList;
 import com.goafanti.customer.service.UserOutboundService;
 import com.goafanti.customer.service.UserOutboundService;
 import org.apache.shiro.crypto.hash.SimpleHash;
 import org.apache.shiro.crypto.hash.SimpleHash;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.web.socket.TextMessage;
 import org.springframework.web.socket.TextMessage;
 
 
@@ -26,13 +27,17 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
-@Service("userOutboundService")
+@Service
 public class UserOutboundServiceImpl extends BaseMybatisDao<CallLogMapper> implements UserOutboundService {
 public class UserOutboundServiceImpl extends BaseMybatisDao<CallLogMapper> implements UserOutboundService {
-    static final String customer="C322";
-    static final String seq="20241101";
-    static final String pwd="084332D02CCF7B42461F34155AC8754F";
-    static final String version= "2.0.6";
-    static final String default_url ="https://webmc.zb-sx.cn:1443";
+    @Value(value = "${zbtx.customer}")
+    private final String	 customer=null;
+    @Value(value = "${zbtx.seq}")
+    private final String	 seq=null;
+    @Value(value = "${zbtx.pwd}")
+    private final String	 pwd=null;
+    @Value(value = "${zbtx.version}")
+    private final String	 version=null;
+    private final String	 default_url ="https://webmc.zb-sx.cn:1443";
 
 
 
 
 
 
@@ -65,7 +70,7 @@ public class UserOutboundServiceImpl extends BaseMybatisDao<CallLogMapper> imple
 
 
     private Map<String, Object> getAuthentication() {
     private Map<String, Object> getAuthentication() {
         Map<String,Object> authentication=new HashMap<>();
         Map<String,Object> authentication=new HashMap<>();
-        authentication.put("customer","C322");
+        authentication.put("customer",customer);
         long timeMillis = System.currentTimeMillis();
         long timeMillis = System.currentTimeMillis();
         authentication.put("timestamp",timeMillis);
         authentication.put("timestamp",timeMillis);
         authentication.put("seq",seq);
         authentication.put("seq",seq);

+ 1 - 1
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -1298,7 +1298,7 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             int count = 0;
             int count = 0;
             if(!expenseAccounts.isEmpty()){
             if(!expenseAccounts.isEmpty()){
                 for (ExpenseAccount e2 : expenseAccounts) {
                 for (ExpenseAccount e2 : expenseAccounts) {
-                    if(e2.getOrderNo()!=null){
+                    if(e2!=null&& e2.getOrderNo()!=null){
                         count++;
                         count++;
                     }
                     }
                 }
                 }

+ 2 - 0
src/main/java/com/goafanti/order/controller/StatisticsApiController.java

@@ -206,8 +206,10 @@ public class StatisticsApiController extends CertifyApiController {
 		in.setPageNo(1);
 		in.setPageNo(1);
 		Pagination<OutOrderProject> p = userStaticticsService.orderProject(in);
 		Pagination<OutOrderProject> p = userStaticticsService.orderProject(in);
 		List<OutOrderProject> list = (List<OutOrderProject>) p.getList();
 		List<OutOrderProject> list = (List<OutOrderProject>) p.getList();
+
 		NewExcelUtil<OutOrderProject> excelUtil=new NewExcelUtil<>(OutOrderProject.class);
 		NewExcelUtil<OutOrderProject> excelUtil=new NewExcelUtil<>(OutOrderProject.class);
 		return excelUtil.OrderMergeAndExportExcel(list,"订单项目数据统计表",uploadPath);
 		return excelUtil.OrderMergeAndExportExcel(list,"订单项目数据统计表",uploadPath);
+//		return excelUtil.exportExcel(list,"订单项目数据统计表",uploadPath);
 	}
 	}
 
 
 
 

+ 4 - 5
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -2011,13 +2011,13 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 			TOrderNew tOrderNew=tOrderNewMapper.getOrderNewDetail(t.getOrderNo());
 			TOrderNew tOrderNew=tOrderNewMapper.getOrderNewDetail(t.getOrderNo());
 			orderAmount=tOrderNew.getTotalAmount();
 			orderAmount=tOrderNew.getTotalAmount();
 		}
 		}
-
 		List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(t.getOrderNo(),3);
 		List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(t.getOrderNo(),3);
 		List<OutNewOrderDunBo> tOrderDuns = newOrderDunMapper.selectListNewOrderDun(t.getOrderNo(),null);
 		List<OutNewOrderDunBo> tOrderDuns = newOrderDunMapper.selectListNewOrderDun(t.getOrderNo(),null);
 		BigDecimal taskAmount=new BigDecimal(0);
 		BigDecimal taskAmount=new BigDecimal(0);
 		for (TOrderTaskBo tOrderTaskBo : tOrderTaskBos) {
 		for (TOrderTaskBo tOrderTaskBo : tOrderTaskBos) {
-			if (tOrderTaskBo.getCommodityPrice()!=null)
-			taskAmount=taskAmount.add(tOrderTaskBo.getCommodityPrice());
+			if (tOrderTaskBo.getCommodityPrice()!=null){
+				taskAmount=taskAmount.add(tOrderTaskBo.getCommodityPrice());
+			}
 		}
 		}
 		BigDecimal dunAmount=new BigDecimal(0);
 		BigDecimal dunAmount=new BigDecimal(0);
 		for (OutNewOrderDunBo tOrderDun : tOrderDuns) {
 		for (OutNewOrderDunBo tOrderDun : tOrderDuns) {
@@ -2033,8 +2033,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 
 	/**
 	/**
 	 * 获取催款数据
 	 * 获取催款数据
-	 * @throws IOException
-	 */
+     */
 	@Override
 	@Override
 	public Result exportOrderDunData(String name, String orderNo, String contractNo, String starTime, String endTime, Integer specially, String aid, String adminName,
 	public Result exportOrderDunData(String name, String orderNo, String contractNo, String starTime, String endTime, Integer specially, String aid, String adminName,
 									 String depId, Integer newStatus, Integer approval, Integer amountStatus, Integer memberType,
 									 String depId, Integer newStatus, Integer approval, Integer amountStatus, Integer memberType,

+ 9 - 3
src/main/resources/props/config_local.properties

@@ -1,10 +1,10 @@
 dev.name=local
 dev.name=local
 jdbc.driverClassName=com.mysql.jdbc.Driver
 jdbc.driverClassName=com.mysql.jdbc.Driver
 
 
-static.host=//static.jishutao.com/1.3.29
-#static.host=//172.16.1.187/1.3.29
+static.host=//static.jishutao.com/1.3.31
+#static.host=//172.16.1.187/1.3.31
 
 
-#jdbc.url=jdbc\:mysql://localhost:3306/aft20240430?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
+#jdbc.url=jdbc\:mysql://localhost:3306/aft20241122?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 #jdbc.url=jdbc\:mysql://localhost:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 #jdbc.url=jdbc\:mysql://localhost:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 #jdbc.username=root
 #jdbc.username=root
 #jdbc.password=123456
 #jdbc.password=123456
@@ -93,3 +93,9 @@ easemob.client.secret=YXA61NHE0renI5N8gEgizoI5ivM9SYE
 jiguang.appKey=dbcea43366e038073452a04e
 jiguang.appKey=dbcea43366e038073452a04e
 jiguang.masterSecret=59792298288e4f635c737def
 jiguang.masterSecret=59792298288e4f635c737def
 jiguang.pushUrl=https://api.jpush.cn/v3/push
 jiguang.pushUrl=https://api.jpush.cn/v3/push
+#\u667A\u535A\u5929\u4E0B
+
+zbtx.customer=C328
+zbtx.seq=20241101
+zbtx.pwd=4321DD4A51B24C79FD1BE405A9D6AD98
+zbtx.version=2.0.6

+ 6 - 1
src/main/resources/props/config_test.properties

@@ -1,5 +1,5 @@
 dev.name=test
 dev.name=test
-static.host=//static.jishutao.com/1.3.29
+static.host=//static.jishutao.com/1.3.31
 #Driver
 #Driver
 jdbc.driverClassName=com.mysql.jdbc.Driver
 jdbc.driverClassName=com.mysql.jdbc.Driver
 jdbc.url=jdbc:mysql://127.0.0.1:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 jdbc.url=jdbc:mysql://127.0.0.1:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
@@ -84,3 +84,8 @@ easemob.client.secret=YXA61NHE0renI5N8gEgizoI5ivM9SYE
 jiguang.appKey=dbcea43366e038073452a04e
 jiguang.appKey=dbcea43366e038073452a04e
 jiguang.masterSecret=59792298288e4f635c737def
 jiguang.masterSecret=59792298288e4f635c737def
 jiguang.pushUrl=https://api.jpush.cn/v3/push
 jiguang.pushUrl=https://api.jpush.cn/v3/push
+#\u667A\u535A\u5929\u4E0B
+zbtx.customer=C328
+zbtx.seq=20241101
+zbtx.pwd=4321DD4A51B24C79FD1BE405A9D6AD98
+zbtx.version=2.0.6