wanghuan 3 år sedan
förälder
incheckning
beae8337f1
51 ändrade filer med 2512 tillägg och 154 borttagningar
  1. BIN
      jeecg-boot-base/jeecg-boot-base-api/jeecg-system-cloud-api/target/jeecg-system-cloud-api-3.2.0.jar
  2. BIN
      jeecg-boot-base/jeecg-boot-base-api/jeecg-system-local-api/target/jeecg-system-local-api-3.2.0.jar
  3. 22 22
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/WebSocketConfig.java
  4. 8 0
      jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
  5. BIN
      jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/config/shiro/ShiroConfig.class
  6. BIN
      jeecg-boot-base/jeecg-boot-base-core/target/jeecg-boot-base-core-3.2.0.jar
  7. BIN
      jeecg-boot-base/jeecg-boot-base-tools/target/jeecg-boot-base-tools-3.2.0.jar
  8. BIN
      jeecg-boot-module-demo/target/jeecg-boot-module-demo-3.2.0.jar
  9. 27 27
      jeecg-boot-module-system/src/main/java/org/jeecg/JeecgSystemApplication.java
  10. 155 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerAuditionController.java
  11. 209 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerFollowController.java
  12. 213 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerPotentialController.java
  13. 169 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerPublicController.java
  14. 155 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerVisitingController.java
  15. 124 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerAudition.java
  16. 80 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerFollow.java
  17. 101 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerFollowShow.java
  18. 210 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerPotential.java
  19. 210 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerPublic.java
  20. 123 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerVisiting.java
  21. 19 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerAuditionMapper.java
  22. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerFollowMapper.java
  23. 17 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerPotentialMapper.java
  24. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerPublicMapper.java
  25. 17 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerVisitingMapper.java
  26. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerAuditionMapper.xml
  27. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerFollowMapper.xml
  28. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerPotentialMapper.xml
  29. 8 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerPublicMapper.xml
  30. 7 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerVisitingMapper.xml
  31. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerAuditionService.java
  32. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerFollowService.java
  33. 22 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerPotentialService.java
  34. 15 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerPublicService.java
  35. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerVisitingService.java
  36. 19 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerAuditionServiceImpl.java
  37. 72 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerFollowServiceImpl.java
  38. 91 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerPotentialServiceImpl.java
  39. 72 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerPublicServiceImpl.java
  40. 19 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerVisitingServiceImpl.java
  41. 28 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/CommonController.java
  42. 28 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/test/controller/ShanksDemoController.java
  43. 2 2
      jeecg-boot-module-system/src/main/resources/application-dev.yml
  44. 2 2
      jeecg-boot-module-system/src/main/resources/application-prod.yml
  45. 2 2
      jeecg-boot-module-system/target/classes/application-dev.yml
  46. 2 2
      jeecg-boot-module-system/target/classes/application-prod.yml
  47. 1 1
      jeecg-boot-module-system/target/classes/application.yml
  48. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/JeecgSystemApplication.class
  49. BIN
      jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/CommonController.class
  50. 122 95
      jeecg-boot-module-system/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  51. 27 0
      jeecg-boot-module-system/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

BIN
jeecg-boot-base/jeecg-boot-base-api/jeecg-system-cloud-api/target/jeecg-system-cloud-api-3.2.0.jar


BIN
jeecg-boot-base/jeecg-boot-base-api/jeecg-system-local-api/target/jeecg-system-local-api-3.2.0.jar


+ 22 - 22
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/WebSocketConfig.java

@@ -1,22 +1,22 @@
-package org.jeecg.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.socket.server.standard.ServerEndpointExporter;
-
-/**
- * @Description: WebSocketConfig
- * @author: jeecg-boot
- */
-@Configuration
-public class WebSocketConfig {
-    /**
-     * 	注入ServerEndpointExporter,
-     * 	这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint
-     */
-    @Bean
-    public ServerEndpointExporter serverEndpointExporter() {
-        return new ServerEndpointExporter();
-    }
-
-}
+//package org.jeecg.config;
+//
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.socket.server.standard.ServerEndpointExporter;
+//
+///**
+// * @Description: WebSocketConfig
+// * @author: jeecg-boot
+// */
+//@Configuration
+//public class WebSocketConfig {
+//    /**
+//     * 	注入ServerEndpointExporter,
+//     * 	这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint
+//     */
+//    @Bean
+//    public ServerEndpointExporter serverEndpointExporter() {
+//        return new ServerEndpointExporter();
+//    }
+//
+//}

+ 8 - 0
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java

@@ -105,6 +105,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/**/*.pdf", "anon");
         filterChainDefinitionMap.put("/**/*.jpg", "anon");
         filterChainDefinitionMap.put("/**/*.png", "anon");
+        filterChainDefinitionMap.put("/**/*.jpeg", "anon");
         filterChainDefinitionMap.put("/**/*.ico", "anon");
 
         // update-begin--Author:sunjianlei Date:20190813 for:排除字体格式的后缀
@@ -146,6 +147,13 @@ public class ShiroConfig {
         //测试模块排除
         filterChainDefinitionMap.put("/test/seata/**", "anon");
 
+        //mili
+        filterChainDefinitionMap.put("/customer/**", "anon");
+        filterChainDefinitionMap.put("/customer/**/**", "anon");
+        filterChainDefinitionMap.put("/customer/customerPublic/list", "anon");
+        filterChainDefinitionMap.put("/sys/common/delUploadTemp", "anon");
+        filterChainDefinitionMap.put("/shanks/test/hello", "anon");
+
         // 添加自己的过滤器并且取名为jwt
         Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
         //如果cloudServer为空 则说明是单体 需要加载跨域配置【微服务跨域切换】

BIN
jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/config/shiro/ShiroConfig.class


BIN
jeecg-boot-base/jeecg-boot-base-core/target/jeecg-boot-base-core-3.2.0.jar


BIN
jeecg-boot-base/jeecg-boot-base-tools/target/jeecg-boot-base-tools-3.2.0.jar


BIN
jeecg-boot-module-demo/target/jeecg-boot-module-demo-3.2.0.jar


+ 27 - 27
jeecg-boot-module-system/src/main/java/org/jeecg/JeecgSystemApplication.java

@@ -23,30 +23,6 @@ import java.net.UnknownHostException;
 @Slf4j
 @SpringBootApplication
 @EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})
-public class JeecgSystemApplication extends SpringBootServletInitializer {
-
-    @Override
-    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
-        return application.sources(JeecgSystemApplication.class);
-    }
-
-    public static void main(String[] args) throws UnknownHostException {
-        ConfigurableApplicationContext application = SpringApplication.run(JeecgSystemApplication.class, args);
-        Environment env = application.getEnvironment();
-        String ip = InetAddress.getLocalHost().getHostAddress();
-        String port = env.getProperty("server.port");
-        String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path"));
-        log.info("\n----------------------------------------------------------\n\t" +
-                "Application Jeecg-Boot is running! Access URLs:\n\t" +
-                "Local: \t\thttp://localhost:" + port + path + "/\n\t" +
-                "External: \thttp://" + ip + ":" + port + path + "/\n\t" +
-                "Swagger文档: \thttp://" + ip + ":" + port + path + "/doc.html\n" +
-                "----------------------------------------------------------");
-
-    }
-
-}
-
 //public class JeecgSystemApplication extends SpringBootServletInitializer {
 //
 //    @Override
@@ -54,8 +30,32 @@ public class JeecgSystemApplication extends SpringBootServletInitializer {
 //        return application.sources(JeecgSystemApplication.class);
 //    }
 //
+//    public static void main(String[] args) throws UnknownHostException {
+//        ConfigurableApplicationContext application = SpringApplication.run(JeecgSystemApplication.class, args);
+//        Environment env = application.getEnvironment();
+//        String ip = InetAddress.getLocalHost().getHostAddress();
+//        String port = env.getProperty("server.port");
+//        String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path"));
+//        log.info("\n----------------------------------------------------------\n\t" +
+//                "Application Jeecg-Boot is running! Access URLs:\n\t" +
+//                "Local: \t\thttp://localhost:" + port + path + "/\n\t" +
+//                "External: \thttp://" + ip + ":" + port + path + "/\n\t" +
+//                "Swagger文档: \thttp://" + ip + ":" + port + path + "/doc.html\n" +
+//                "----------------------------------------------------------");
 //
-//    public static void main(String[] args) {
-//        SpringApplication.run(JeecgSystemApplication.class, args);
 //    }
-//}
+//
+//}
+
+public class JeecgSystemApplication extends SpringBootServletInitializer {
+
+    @Override
+    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+        return application.sources(JeecgSystemApplication.class);
+    }
+
+
+    public static void main(String[] args) {
+        SpringApplication.run(JeecgSystemApplication.class, args);
+    }
+}

+ 155 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerAuditionController.java

@@ -0,0 +1,155 @@
+package org.jeecg.modules.miliCustomer.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.miliCustomer.entity.CustomerAudition;
+import org.jeecg.modules.miliCustomer.service.ICustomerAuditionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+ /**
+ * @Description: 试听管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-12
+ * @Version: V1.0
+ */
+@Api(tags="试听管理")
+@RestController
+@RequestMapping("/customer/customerAudition")
+@Slf4j
+public class CustomerAuditionController extends JeecgController<CustomerAudition, ICustomerAuditionService> {
+	@Autowired
+	private ICustomerAuditionService customerAuditionService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param customerAudition
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "试听管理-分页列表查询")
+	@ApiOperation(value="试听管理-分页列表查询", notes="试听管理-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CustomerAudition>> queryPageList(CustomerAudition customerAudition,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<CustomerAudition> queryWrapper = QueryGenerator.initQueryWrapper(customerAudition, req.getParameterMap());
+		Page<CustomerAudition> page = new Page<CustomerAudition>(pageNo, pageSize);
+		IPage<CustomerAudition> pageList = customerAuditionService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param customerAudition
+	 * @return
+	 */
+	@AutoLog(value = "试听管理-添加")
+	@ApiOperation(value="试听管理-添加", notes="试听管理-添加")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CustomerAudition customerAudition) {
+		customerAuditionService.save(customerAudition);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param customerAudition
+	 * @return
+	 */
+	@AutoLog(value = "试听管理-编辑")
+	@ApiOperation(value="试听管理-编辑", notes="试听管理-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CustomerAudition customerAudition) {
+		customerAuditionService.updateById(customerAudition);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "试听管理-通过id删除")
+	@ApiOperation(value="试听管理-通过id删除", notes="试听管理-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		customerAuditionService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "试听管理-批量删除")
+	@ApiOperation(value="试听管理-批量删除", notes="试听管理-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.customerAuditionService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "试听管理-通过id查询")
+	@ApiOperation(value="试听管理-通过id查询", notes="试听管理-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CustomerAudition> queryById(@RequestParam(name="id",required=true) String id) {
+		CustomerAudition customerAudition = customerAuditionService.getById(id);
+		if(customerAudition==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(customerAudition);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param customerAudition
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CustomerAudition customerAudition) {
+        return super.exportXls(request, customerAudition, CustomerAudition.class, "试听管理");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CustomerAudition.class);
+    }
+
+}

+ 209 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerFollowController.java

@@ -0,0 +1,209 @@
+package org.jeecg.modules.miliCustomer.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.miliCustomer.entity.CustomerFollow;
+import org.jeecg.modules.miliCustomer.entity.CustomerFollowShow;
+import org.jeecg.modules.miliCustomer.entity.CustomerPotential;
+import org.jeecg.modules.miliCustomer.mapper.CustomerPotentialMapper;
+import org.jeecg.modules.miliCustomer.service.ICustomerFollowService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 潜客跟进信息
+ * @Author: jeecg-boot
+ * @Date:   2022-07-20
+ * @Version: V1.0
+ */
+@Api(tags="潜客跟进信息")
+@RestController
+@RequestMapping("/customer/customerFollow")
+@Slf4j
+public class CustomerFollowController extends JeecgController<CustomerFollow, ICustomerFollowService> {
+	@Autowired
+	private ICustomerFollowService customerFollowService;
+
+	@Autowired
+	private CustomerPotentialMapper customerPotentialMapper;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param customerFollow
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "潜客跟进信息-分页列表查询")
+	@ApiOperation(value="潜客跟进信息-分页列表查询", notes="潜客跟进信息-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CustomerFollow>> queryPageList(CustomerFollow customerFollow,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<CustomerFollow> queryWrapper = QueryGenerator.initQueryWrapper(customerFollow, req.getParameterMap());
+		Page<CustomerFollow> page = new Page<CustomerFollow>(pageNo, pageSize);
+		IPage<CustomerFollow> pageList = customerFollowService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param customerFollow
+	 * @return
+	 */
+	@AutoLog(value = "潜客跟进信息-添加")
+	@ApiOperation(value="潜客跟进信息-添加", notes="潜客跟进信息-添加")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CustomerFollow customerFollow) {
+		customerFollowService.save(customerFollow);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param customerFollow
+	 * @return
+	 */
+	@AutoLog(value = "潜客跟进信息-编辑")
+	@ApiOperation(value="潜客跟进信息-编辑", notes="潜客跟进信息-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CustomerFollow customerFollow) {
+		customerFollowService.updateById(customerFollow);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "潜客跟进信息-通过id删除")
+	@ApiOperation(value="潜客跟进信息-通过id删除", notes="潜客跟进信息-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		customerFollowService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "潜客跟进信息-批量删除")
+	@ApiOperation(value="潜客跟进信息-批量删除", notes="潜客跟进信息-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.customerFollowService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "潜客跟进信息-通过id查询")
+	@ApiOperation(value="潜客跟进信息-通过id查询", notes="潜客跟进信息-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CustomerFollow> queryById(@RequestParam(name="id",required=true) String id) {
+		CustomerFollow customerFollow = customerFollowService.getById(id);
+		if(customerFollow==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(customerFollow);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param customerFollow
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CustomerFollow customerFollow) {
+        return super.exportXls(request, customerFollow, CustomerFollow.class, "潜客跟进信息");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CustomerFollow.class);
+    }
+
+
+	 /**
+	  *   添加
+	  *
+	  * @param
+	  * @return
+	  */
+	 @AutoLog(value = "潜客跟进信息-添加")
+	 @ApiOperation(value="潜客跟进信息-添加", notes="潜客跟进信息-添加")
+	 @PostMapping(value = "/addFollow")
+	 public Result<String> addFollow(@RequestBody HashMap obj) throws ParseException {
+		 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+		 CustomerFollow customerFollow = new CustomerFollow();
+		 customerFollow.setFollowContent((String) obj.get("schoolDistrictId"));
+		 customerFollow.setCpId((String) obj.get("cpId"));
+		 customerFollow.setFollowType((String) obj.get("followType"));
+		 customerFollow.setFollowContent((String) obj.get("followContent"));
+		 customerFollow.setFollowPic((String) obj.get("followPic"));
+		 customerFollow.setSalesCode((String) obj.get("salesCode"));
+		 customerFollow.setCreateBy((String) obj.get("createBy"));
+		 customerFollowService.save(customerFollow);
+		 CustomerPotential customerPotential = new CustomerPotential();
+		 customerPotential.setId(customerFollow.getCpId());
+		 customerPotential.setLastFollowTime(new Date());
+		 Date nextTemp = sdf.parse((String) obj.get("nextFollowTime"));
+		 customerPotential.setNextFollowTime(nextTemp);
+		 customerPotentialMapper.updateById(customerPotential);
+		 return Result.OK("添加成功!");
+	 }
+
+	/**
+	 *   添加
+	 *
+	 * @param
+	 * @return
+	 */
+	@AutoLog(value = "潜客跟进信息-详情查询")
+	@ApiOperation(value="潜客跟进信息-详情查询", notes="潜客跟进信息-详情查询")
+	@PostMapping(value = "/followDetail")
+	public List<CustomerFollowShow> followDetail(@RequestBody HashMap obj) {
+		List<CustomerFollowShow> follows  = customerFollowService.followDetail((String) obj.get("cp_id"));
+		return follows;
+	}
+}

+ 213 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerPotentialController.java

@@ -0,0 +1,213 @@
+package org.jeecg.modules.miliCustomer.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.miliCustomer.entity.CustomerAudition;
+import org.jeecg.modules.miliCustomer.entity.CustomerPotential;
+import org.jeecg.modules.miliCustomer.entity.CustomerVisiting;
+import org.jeecg.modules.miliCustomer.service.ICustomerPotentialService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+ /**
+ * @Description: 潜客管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-05
+ * @Version: V1.0
+ */
+@Api(tags="潜客管理")
+@RestController
+@RequestMapping("/customer/customerPotential")
+@Slf4j
+public class CustomerPotentialController extends JeecgController<CustomerPotential, ICustomerPotentialService> {
+	@Autowired
+	private ICustomerPotentialService customerPotentialService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param customerPotential
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "潜客管理-分页列表查询")
+	@ApiOperation(value="潜客管理-分页列表查询", notes="潜客管理-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CustomerPotential>> queryPageList(CustomerPotential customerPotential,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<CustomerPotential> queryWrapper = QueryGenerator.initQueryWrapper(customerPotential, req.getParameterMap());
+		Page<CustomerPotential> page = new Page<CustomerPotential>(pageNo, pageSize);
+		IPage<CustomerPotential> pageList = customerPotentialService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param customerPotential
+	 * @return
+	 */
+	@AutoLog(value = "潜客管理-添加")
+	@ApiOperation(value="潜客管理-添加", notes="潜客管理-添加")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CustomerPotential customerPotential) {
+		customerPotentialService.save(customerPotential);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param customerPotential
+	 * @return
+	 */
+	@AutoLog(value = "潜客管理-编辑")
+	@ApiOperation(value="潜客管理-编辑", notes="潜客管理-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CustomerPotential customerPotential) {
+		customerPotentialService.updateById(customerPotential);
+		return Result.OK("编辑成功!");
+	}
+
+	 /**
+	  *  编辑
+	  *
+	  * @param customerPotential
+	  * @return
+	  */
+	 @AutoLog(value = "潜客管理-签约")
+	 @ApiOperation(value="潜客管理-签约", notes="潜客管理-签约")
+	 @RequestMapping(value = "/sign", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<String> sign(@RequestBody CustomerPotential customerPotential) {
+		 customerPotentialService.sign(customerPotential);
+		 return Result.OK("报名成功!");
+	 }
+
+
+	 /**
+	  *  编辑
+	  *
+	  * @param customerPotential
+	  * @return
+	  */
+	 @AutoLog(value = "潜客管理-签约")
+	 @ApiOperation(value="潜客管理-签约", notes="潜客管理-签约")
+	 @RequestMapping(value = "/statusEdit", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<String> statusEdit(@RequestBody CustomerPotential customerPotential) {
+		 customerPotentialService.statusEdit(customerPotential);
+		 return Result.OK("编辑成功!");
+	 }
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "潜客管理-通过id删除")
+	@ApiOperation(value="潜客管理-通过id删除", notes="潜客管理-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		customerPotentialService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "潜客管理-批量删除")
+	@ApiOperation(value="潜客管理-批量删除", notes="潜客管理-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.customerPotentialService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "潜客管理-通过id查询")
+	@ApiOperation(value="潜客管理-通过id查询", notes="潜客管理-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CustomerPotential> queryById(@RequestParam(name="id",required=true) String id) {
+		CustomerPotential customerPotential = customerPotentialService.getById(id);
+		if(customerPotential==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(customerPotential);
+	}
+
+	 /**
+	  * 增加来访记录
+	  *
+	  * @param customerVisiting
+	  * @return
+	  */
+	 @AutoLog(value = "潜客管理-预约来访")
+	 @ApiOperation(value="潜客管理-预约来访", notes="潜客管理-预约来访")
+	 @PostMapping(value = "/addVisit")
+	 public Result<String> addVisit(@RequestBody CustomerVisiting customerVisiting) {
+		 Result<String> customerPotential = customerPotentialService.addVisit(customerVisiting);
+		 return customerPotential;
+	 }
+
+	 /**
+	  * 增加来访记录
+	  *
+	  * @param customerAudition
+	  * @return
+	  */
+	 @AutoLog(value = "潜客管理-预约试听")
+	 @ApiOperation(value="潜客管理-预约试听", notes="潜客管理-预约试听")
+	 @PostMapping(value = "/addAudition")
+	 public Result<String> addAudition(@RequestBody CustomerAudition customerAudition) {
+		 Result<String> customerPotential = customerPotentialService.addAudition(customerAudition);
+		 return customerPotential;
+	 }
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param customerPotential
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CustomerPotential customerPotential) {
+        return super.exportXls(request, customerPotential, CustomerPotential.class, "潜客管理");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CustomerPotential.class);
+    }
+
+}

+ 169 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerPublicController.java

@@ -0,0 +1,169 @@
+package org.jeecg.modules.miliCustomer.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.miliCustomer.entity.CustomerPublic;
+import org.jeecg.modules.miliCustomer.service.ICustomerPublicService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+ /**
+ * @Description: 公池管理
+ * @Author: jeecg-boot
+ * @Date:   2022-06-27
+ * @Version: V1.0
+ */
+@Api(tags="公池管理")
+@RestController
+@RequestMapping("/customer/customerPublic")
+@Slf4j
+public class CustomerPublicController extends JeecgController<CustomerPublic, ICustomerPublicService> {
+	@Autowired
+	private ICustomerPublicService customerPublicService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param customerPublic
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "公池管理-分页列表查询")
+	@ApiOperation(value="公池管理-分页列表查询", notes="公池管理-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CustomerPublic>> queryPageList(CustomerPublic customerPublic,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		System.out.println("==========????==========");
+		QueryWrapper<CustomerPublic> queryWrapper = QueryGenerator.initQueryWrapper(customerPublic, req.getParameterMap());
+		Page<CustomerPublic> page = new Page<CustomerPublic>(pageNo, pageSize);
+		IPage<CustomerPublic> pageList = customerPublicService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param customerPublic
+	 * @return
+	 */
+	@AutoLog(value = "公池管理-添加")
+	@ApiOperation(value="公池管理-添加", notes="公池管理-添加")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CustomerPublic customerPublic) {
+		customerPublicService.save(customerPublic);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param customerPublic
+	 * @return
+	 */
+	@AutoLog(value = "公池管理-编辑")
+	@ApiOperation(value="公池管理-编辑", notes="公池管理-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CustomerPublic customerPublic) {
+		customerPublicService.updateById(customerPublic);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "公池管理-通过id删除")
+	@ApiOperation(value="公池管理-通过id删除", notes="公池管理-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		customerPublicService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "公池管理-批量删除")
+	@ApiOperation(value="公池管理-批量删除", notes="公池管理-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.customerPublicService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "公池管理-通过id查询")
+	@ApiOperation(value="公池管理-通过id查询", notes="公池管理-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CustomerPublic> queryById(@RequestParam(name="id",required=true) String id) {
+		CustomerPublic customerPublic = customerPublicService.getById(id);
+		if(customerPublic==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(customerPublic);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param customerPublic
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CustomerPublic customerPublic) {
+        return super.exportXls(request, customerPublic, CustomerPublic.class, "公池管理");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CustomerPublic.class);
+    }
+
+	 /**
+	  *   顾问分配
+	  *
+	  * @param
+	  * @return
+	  */
+	 @AutoLog(value = "公池管理-顾问分配")
+	 @ApiOperation(value="公池管理-顾问分配", notes="公池管理-顾问分配")
+	 @RequestMapping(value = "/appoint", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<String> appoint(@RequestBody CustomerPublic customerPublic) {
+		 customerPublicService.appoint(customerPublic);
+		 return Result.OK("分配成功!");
+	 }
+}

+ 155 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerVisitingController.java

@@ -0,0 +1,155 @@
+package org.jeecg.modules.miliCustomer.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.miliCustomer.entity.CustomerVisiting;
+import org.jeecg.modules.miliCustomer.service.ICustomerVisitingService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+ /**
+ * @Description: 来访管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-12
+ * @Version: V1.0
+ */
+@Api(tags="来访管理")
+@RestController
+@RequestMapping("/customer/customerVisiting")
+@Slf4j
+public class CustomerVisitingController extends JeecgController<CustomerVisiting, ICustomerVisitingService> {
+	@Autowired
+	private ICustomerVisitingService customerVisitingService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param customerVisiting
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "来访管理-分页列表查询")
+	@ApiOperation(value="来访管理-分页列表查询", notes="来访管理-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CustomerVisiting>> queryPageList(CustomerVisiting customerVisiting,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<CustomerVisiting> queryWrapper = QueryGenerator.initQueryWrapper(customerVisiting, req.getParameterMap());
+		Page<CustomerVisiting> page = new Page<CustomerVisiting>(pageNo, pageSize);
+		IPage<CustomerVisiting> pageList = customerVisitingService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param customerVisiting
+	 * @return
+	 */
+	@AutoLog(value = "来访管理-添加")
+	@ApiOperation(value="来访管理-添加", notes="来访管理-添加")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CustomerVisiting customerVisiting) {
+		customerVisitingService.save(customerVisiting);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param customerVisiting
+	 * @return
+	 */
+	@AutoLog(value = "来访管理-编辑")
+	@ApiOperation(value="来访管理-编辑", notes="来访管理-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CustomerVisiting customerVisiting) {
+		customerVisitingService.updateById(customerVisiting);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "来访管理-通过id删除")
+	@ApiOperation(value="来访管理-通过id删除", notes="来访管理-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		customerVisitingService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "来访管理-批量删除")
+	@ApiOperation(value="来访管理-批量删除", notes="来访管理-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.customerVisitingService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "来访管理-通过id查询")
+	@ApiOperation(value="来访管理-通过id查询", notes="来访管理-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CustomerVisiting> queryById(@RequestParam(name="id",required=true) String id) {
+		CustomerVisiting customerVisiting = customerVisitingService.getById(id);
+		if(customerVisiting==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(customerVisiting);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param customerVisiting
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CustomerVisiting customerVisiting) {
+        return super.exportXls(request, customerVisiting, CustomerVisiting.class, "来访管理");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CustomerVisiting.class);
+    }
+
+}

+ 124 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerAudition.java

@@ -0,0 +1,124 @@
+package org.jeecg.modules.miliCustomer.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 试听管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-13
+ * @Version: V1.0
+ */
+@Data
+@TableName("customer_audition")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="customer_audition对象", description="试听管理")
+public class CustomerAudition implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**校区ID*/
+	@Excel(name = "校区ID", width = 15, dictTable = "school_organization", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "school_organization", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "校区ID")
+    private Integer schoolDistrictId;
+	/**潜客ID*/
+	@Excel(name = "潜客ID", width = 15)
+    @ApiModelProperty(value = "潜客ID")
+    private String cpId;
+	/**潜客姓名*/
+	@Excel(name = "潜客姓名", width = 15)
+    @ApiModelProperty(value = "潜客姓名")
+    private String cpName;
+	/**潜客手机*/
+	@Excel(name = "潜客手机", width = 15)
+    @ApiModelProperty(value = "潜客手机")
+    private String cpPhone;
+	/**预约日期*/
+    //Shanks 前端传入没有修改时分秒 format先去掉HH:mm:ss
+	@Excel(name = "预约日期", width = 20, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "预约日期")
+    private Date auditionTime;
+	/**来访状态*/
+	@Excel(name = "来访状态", width = 15)
+    @ApiModelProperty(value = "来访状态")
+    private String auditionStatus;
+	/**到访日期*/
+	@Excel(name = "到访日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "到访日期")
+    private Date realAuditionTime;
+	/**顾问*/
+	@Excel(name = "顾问", width = 15)
+    @ApiModelProperty(value = "顾问")
+    private String salesCode;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    private transient String markString;
+
+    private byte[] mark;
+
+    public byte[] getMark(){
+        if(markString==null){
+            return null;
+        }
+        try {
+            return markString.getBytes("UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public String getMarkString(){
+        if(mark==null || mark.length==0){
+            return "";
+        }
+        try {
+            return new String(mark,"UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+}

+ 80 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerFollow.java

@@ -0,0 +1,80 @@
+package org.jeecg.modules.miliCustomer.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 潜客跟进信息
+ * @Author: jeecg-boot
+ * @Date:   2022-07-20
+ * @Version: V1.0
+ */
+@Data
+@TableName("customer_follow")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="customer_follow对象", description="潜客跟进信息")
+public class CustomerFollow implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**校区ID*/
+	@Excel(name = "校区ID", width = 15)
+    @ApiModelProperty(value = "校区ID")
+    private Integer schoolDistrictId;
+	/**潜客ID*/
+	@Excel(name = "潜客ID", width = 15)
+    @ApiModelProperty(value = "潜客ID")
+    private String cpId;
+	/**跟进类别*/
+    @Excel(name = "跟进类别", width = 15)
+    @ApiModelProperty(value = "跟进类别")
+    private String followType;
+	/**跟进内容*/
+	@Excel(name = "跟进内容", width = 15)
+    @ApiModelProperty(value = "跟进内容")
+    private String followContent;
+	/**图片*/
+	@Excel(name = "图片", width = 15)
+    @ApiModelProperty(value = "图片")
+    private String followPic;
+	/**顾问code*/
+	@Excel(name = "顾问code", width = 15)
+    @ApiModelProperty(value = "顾问code")
+    private String salesCode;
+
+}

+ 101 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerFollowShow.java

@@ -0,0 +1,101 @@
+package org.jeecg.modules.miliCustomer.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 潜客跟进信息
+ * @Author: jeecg-boot
+ * @Date:   2022-07-20
+ * @Version: V1.0
+ */
+@Data
+@TableName("customer_follow")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="customer_follow对象", description="潜客跟进信息")
+public class CustomerFollowShow implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**校区ID*/
+	@Excel(name = "校区ID", width = 15)
+    @ApiModelProperty(value = "校区ID")
+    private Integer schoolDistrictId;
+	/**潜客ID*/
+	@Excel(name = "潜客ID", width = 15)
+    @ApiModelProperty(value = "潜客ID")
+    private String cpId;
+	/**跟进类别*/
+    @Excel(name = "跟进类别", width = 15)
+    @ApiModelProperty(value = "跟进类别")
+    private String followType;
+	/**跟进内容*/
+	@Excel(name = "跟进内容", width = 15)
+    @ApiModelProperty(value = "跟进内容")
+    private String followContent;
+	/**图片*/
+	@Excel(name = "图片", width = 15)
+    @ApiModelProperty(value = "图片")
+    private String followPic;
+	/**顾问code*/
+	@Excel(name = "顾问code", width = 15)
+    @ApiModelProperty(value = "顾问code")
+    private String salesCode;
+
+    /**顾问name*/
+    @Excel(name = "顾问name", width = 15)
+    @ApiModelProperty(value = "顾问name")
+    private String salesName;
+
+    /**校区name*/
+    @Excel(name = "校区name", width = 15)
+    @ApiModelProperty(value = "校区name")
+    private String schoolDistrictName;
+
+    /**潜客name*/
+    @Excel(name = "潜客name", width = 15)
+    @ApiModelProperty(value = "潜客name")
+    private String cpName;
+
+    @Excel(name = "图片列表", width = 15)
+    @ApiModelProperty(value = "图片列表")
+    private HashMap picList;
+
+}

+ 210 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerPotential.java

@@ -0,0 +1,210 @@
+package org.jeecg.modules.miliCustomer.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * @Description: 潜客管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-05
+ * @Version: V1.0
+ */
+@Data
+@TableName("customer_potential")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="customer_potential对象", description="潜客管理")
+public class CustomerPotential implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private java.lang.String sysOrgCode;
+	/**校区ID*/
+	@Excel(name = "校区ID", width = 15, dictTable = "school_organization", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "school_organization", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "校区ID")
+    private java.lang.Integer schoolDistrictId;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+    @ApiModelProperty(value = "姓名")
+    private java.lang.String name;
+	/**昵称*/
+	@Excel(name = "昵称", width = 15)
+    @ApiModelProperty(value = "昵称")
+    private java.lang.String nickname;
+	/**性别*/
+	@Excel(name = "性别", width = 15, dicCode = "sex")
+	@Dict(dicCode = "sex")
+    @ApiModelProperty(value = "性别")
+    private java.lang.Integer sex;
+	/**家长姓名*/
+	@Excel(name = "家长姓名", width = 15)
+    @ApiModelProperty(value = "家长姓名")
+    private java.lang.String contactName;
+	/**家长电话*/
+	@Excel(name = "家长电话", width = 15)
+    @ApiModelProperty(value = "家长电话")
+    private java.lang.String contactPhone;
+	/**备选联系人1*/
+	@Excel(name = "备选联系人1", width = 15)
+    @ApiModelProperty(value = "备选联系人1")
+    private java.lang.String contact1Name;
+	/**备选联系人1电话*/
+	@Excel(name = "备选联系人1电话", width = 15)
+    @ApiModelProperty(value = "备选联系人1电话")
+    private java.lang.String contact1Phone;
+	/**备选联系人2*/
+	@Excel(name = "备选联系人2", width = 15)
+    @ApiModelProperty(value = "备选联系人2")
+    private java.lang.String contact2Name;
+	/**备选联系人2电话*/
+	@Excel(name = "备选联系人2电话", width = 15)
+    @ApiModelProperty(value = "备选联系人2电话")
+    private java.lang.String contact2Phone;
+	/**年龄*/
+	@Excel(name = "年龄", width = 15)
+    @ApiModelProperty(value = "年龄")
+    private java.lang.Integer age;
+	/**生日*/
+	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "生日")
+    private java.util.Date birthday;
+	/**学校*/
+	@Excel(name = "学校", width = 15, dictTable = "school_school", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "school_school", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "学校")
+    private java.lang.String school;
+	/**年级*/
+	@Excel(name = "年级", width = 15, dicCode = "grade")
+	@Dict(dicCode = "grade")
+    @ApiModelProperty(value = "年级")
+    private java.lang.String grade;
+	/**班级*/
+	@Excel(name = "班级", width = 15)
+    @ApiModelProperty(value = "班级")
+    private java.lang.String classes;
+	/**身份证*/
+	@Excel(name = "身份证", width = 15)
+    @ApiModelProperty(value = "身份证")
+    private java.lang.String idCard;
+	/**住址*/
+	@Excel(name = "住址", width = 15)
+    @ApiModelProperty(value = "住址")
+    private java.lang.String address;
+	/**渠道类型*/
+	@Excel(name = "渠道类型", width = 15, dictTable = "promotion_channel", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "promotion_channel", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "渠道类型")
+    private java.lang.String channelType;
+	/**意向课程*/
+	@Excel(name = "意向课程", width = 15, dictTable = "school_curriculum", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "school_curriculum", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "意向课程")
+    private java.lang.String intendedCourse;
+	/**意向度*/
+	@Excel(name = "意向度", width = 15, dicCode = "intention_status")
+	@Dict(dicCode = "intention_status")
+    @ApiModelProperty(value = "意向度")
+    private java.lang.Integer intendedDegress;
+	/**顾问*/
+	@Excel(name = "顾问", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    @ApiModelProperty(value = "顾问")
+    private java.lang.String saleCode;
+	/**推荐人*/
+	@Excel(name = "推荐人", width = 15)
+    @ApiModelProperty(value = "推荐人")
+    private java.lang.String referencesPhone;
+	/**采单员*/
+	@Excel(name = "采单员", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    @ApiModelProperty(value = "采单员")
+    private java.lang.String collectinoCode;
+	/**状态*/
+	@Excel(name = "状态", width = 15, dicCode = "pc_status")
+	@Dict(dicCode = "pc_status")
+    @ApiModelProperty(value = "状态")
+    private java.lang.Integer status;
+	/**跟进状态*/
+	@Excel(name = "跟进状态", width = 15, dicCode = "pc_follow_status")
+	@Dict(dicCode = "pc_follow_status")
+    @ApiModelProperty(value = "跟进状态")
+    private java.lang.Integer followStatus;
+	/**上次跟进*/
+	@Excel(name = "上次跟进", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "上次跟进")
+    private java.util.Date lastFollowTime;
+	/**下次跟进*/
+	@Excel(name = "下次跟进", width = 20, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "下次跟进")
+    private java.util.Date nextFollowTime;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    private transient java.lang.String markString;
+
+    private byte[] mark;
+
+    public byte[] getMark(){
+        if(markString==null){
+            return null;
+        }
+        try {
+            return markString.getBytes("UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public String getMarkString(){
+        if(mark==null || mark.length==0){
+            return "";
+        }
+        try {
+            return new String(mark,"UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+}

+ 210 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerPublic.java

@@ -0,0 +1,210 @@
+package org.jeecg.modules.miliCustomer.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 公池管理
+ * @Author: jeecg-boot
+ * @Date:   2022-06-27
+ * @Version: V1.0
+ */
+@Data
+@TableName("customer_public")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="customer_public对象", description="公池管理")
+public class CustomerPublic implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**校区ID*/
+	@Excel(name = "校区ID", width = 15, dictTable = "school_organization", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "school_organization", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "校区ID")
+    private Integer schoolDistrictId;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+    @ApiModelProperty(value = "姓名")
+    private String name;
+	/**昵称*/
+	@Excel(name = "昵称", width = 15)
+    @ApiModelProperty(value = "昵称")
+    private String nickname;
+	/**性别*/
+	@Excel(name = "性别", width = 15, dicCode = "sex")
+	@Dict(dicCode = "sex")
+    @ApiModelProperty(value = "性别")
+    private Integer sex;
+	/**家长姓名*/
+	@Excel(name = "家长姓名", width = 15)
+    @ApiModelProperty(value = "家长姓名")
+    private String contactName;
+	/**家长电话*/
+	@Excel(name = "家长电话", width = 15)
+    @ApiModelProperty(value = "家长电话")
+    private String contactPhone;
+	/**备选联系人1*/
+	@Excel(name = "备选联系人1", width = 15)
+    @ApiModelProperty(value = "备选联系人1")
+    private String contact1Name;
+	/**备选联系人1电话*/
+	@Excel(name = "备选联系人1电话", width = 15)
+    @ApiModelProperty(value = "备选联系人1电话")
+    private String contact1Phone;
+	/**备选联系人2*/
+	@Excel(name = "备选联系人2", width = 15)
+    @ApiModelProperty(value = "备选联系人2")
+    private String contact2Name;
+	/**备选联系人2电话*/
+	@Excel(name = "备选联系人2电话", width = 15)
+    @ApiModelProperty(value = "备选联系人2电话")
+    private String contact2Phone;
+	/**年龄*/
+	@Excel(name = "年龄", width = 15)
+    @ApiModelProperty(value = "年龄")
+    private Integer age;
+	/**生日*/
+	@Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "生日")
+    private Date birthday;
+	/**学校*/
+	@Excel(name = "学校", width = 15, dictTable = "school_school", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "school_school", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "学校")
+    private String school;
+	/**年级*/
+	@Excel(name = "年级", width = 15, dicCode = "grade")
+	@Dict(dicCode = "grade")
+    @ApiModelProperty(value = "年级")
+    private String grade;
+	/**班级*/
+	@Excel(name = "班级", width = 15)
+    @ApiModelProperty(value = "班级")
+    private String classes;
+	/**身份证*/
+	@Excel(name = "身份证", width = 15)
+    @ApiModelProperty(value = "身份证")
+    private String idCard;
+	/**住址*/
+	@Excel(name = "住址", width = 15)
+    @ApiModelProperty(value = "住址")
+    private String address;
+	/**渠道类型*/
+	@Excel(name = "渠道类型", width = 15, dictTable = "promotion_channel", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "promotion_channel", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "渠道类型")
+    private String channelType;
+	/**意向课程*/
+	@Excel(name = "意向课程", width = 15, dictTable = "school_curriculum", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "school_curriculum", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "意向课程")
+    private String intendedCourse;
+	/**意向度*/
+	@Excel(name = "意向度", width = 15)
+    @ApiModelProperty(value = "意向度")
+    private Integer intendedDegress;
+	/**顾问*/
+	@Excel(name = "顾问", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    @ApiModelProperty(value = "顾问")
+    private String saleCode;
+	/**推荐人*/
+	@Excel(name = "推荐人", width = 15)
+    @ApiModelProperty(value = "推荐人")
+    private String referencesPhone;
+	/**采单员*/
+	@Excel(name = "采单员", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    @ApiModelProperty(value = "采单员")
+    private String collectinoCode;
+	/**状态*/
+	@Excel(name = "状态", width = 15, dicCode = "pc_status")
+	@Dict(dicCode = "pc_status")
+    @ApiModelProperty(value = "状态")
+    private Integer status;
+	/**跟进状态*/
+	@Excel(name = "跟进状态", width = 15, dicCode = "pc_follow_status")
+	@Dict(dicCode = "pc_follow_status")
+    @ApiModelProperty(value = "跟进状态")
+    private Integer followStatus;
+	/**上次跟进*/
+	@Excel(name = "上次跟进", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "上次跟进")
+    private Date lastFollowTime;
+	/**下次跟进*/
+	@Excel(name = "下次跟进", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "下次跟进")
+    private Date nextFollowTime;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    private transient String markString;
+
+    private byte[] mark;
+
+    public byte[] getMark(){
+        if(markString==null){
+            return null;
+        }
+        try {
+            return markString.getBytes("UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public String getMarkString(){
+        if(mark==null || mark.length==0){
+            return "";
+        }
+        try {
+            return new String(mark,"UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+}

+ 123 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerVisiting.java

@@ -0,0 +1,123 @@
+package org.jeecg.modules.miliCustomer.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+
+/**
+ * @Description: 来访管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-13
+ * @Version: V1.0
+ */
+@Data
+@TableName("customer_visiting")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="customer_visiting对象", description="来访管理")
+public class CustomerVisiting implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+	/**所属部门*/
+    @ApiModelProperty(value = "所属部门")
+    private String sysOrgCode;
+	/**校区ID*/
+	@Excel(name = "校区ID", width = 15, dictTable = "school_organization", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "school_organization", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "校区ID")
+    private Integer schoolDistrictId;
+	/**潜客ID*/
+	@Excel(name = "潜客ID", width = 15)
+    @ApiModelProperty(value = "潜客ID")
+    private String cpId;
+	/**潜客姓名*/
+	@Excel(name = "潜客姓名", width = 15)
+    @ApiModelProperty(value = "潜客姓名")
+    private String cpName;
+	/**潜客手机*/
+	@Excel(name = "潜客手机", width = 15)
+    @ApiModelProperty(value = "潜客手机")
+    private String cpPhone;
+	/**预约日期*/
+	@Excel(name = "预约日期", width = 20, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "预约日期")
+    private Date visitingTime;
+	/**来访状态*/
+	@Excel(name = "来访状态", width = 15)
+    @ApiModelProperty(value = "来访状态")
+    private String visitingStatus;
+	/**到访日期*/
+	@Excel(name = "到访日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "到访日期")
+    private Date realVisitingTime;
+	/**顾问*/
+	@Excel(name = "顾问", width = 15)
+    @ApiModelProperty(value = "顾问")
+    private String salesCode;
+	/**备注*/
+	@Excel(name = "备注", width = 15)
+    private transient String markString;
+
+    private byte[] mark;
+
+    public byte[] getMark(){
+        if(markString==null){
+            return null;
+        }
+        try {
+            return markString.getBytes("UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public String getMarkString(){
+        if(mark==null || mark.length==0){
+            return "";
+        }
+        try {
+            return new String(mark,"UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+}

+ 19 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerAuditionMapper.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.miliCustomer.mapper;
+
+import java.util.Date;
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.miliCustomer.entity.CustomerAudition;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.miliCustomer.entity.CustomerVisiting;
+
+/**
+ * @Description: 试听管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-12
+ * @Version: V1.0
+ */
+public interface CustomerAuditionMapper extends BaseMapper<CustomerAudition> {
+    public CustomerAudition getAuditionByIdTime(@Param("cp_id") String cp_id, @Param("audition_time") Date audition_time);
+}

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerFollowMapper.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.miliCustomer.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.miliCustomer.entity.CustomerFollow;
+import org.jeecg.modules.miliCustomer.entity.CustomerFollowShow;
+
+import java.util.List;
+
+/**
+ * @Description: 潜客跟进信息
+ * @Author: jeecg-boot
+ * @Date:   2022-07-20
+ * @Version: V1.0
+ */
+public interface CustomerFollowMapper extends BaseMapper<CustomerFollow> {
+    public List<CustomerFollowShow> followDetail(@Param("cp_id") String cp_id);
+}

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerPotentialMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.miliCustomer.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.miliCustomer.entity.CustomerPotential;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 潜客管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-05
+ * @Version: V1.0
+ */
+public interface CustomerPotentialMapper extends BaseMapper<CustomerPotential> {
+    public CustomerPotential  getCustomerByNameAndPhone(@Param("name") String name,@Param("contact_phone") String contact_phone);
+}

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerPublicMapper.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.miliCustomer.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.miliCustomer.entity.CustomerPotential;
+import org.jeecg.modules.miliCustomer.entity.CustomerPublic;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 公池管理
+ * @Author: jeecg-boot
+ * @Date:   2022-06-27
+ * @Version: V1.0
+ */
+public interface CustomerPublicMapper extends BaseMapper<CustomerPublic> {
+    public CustomerPublic getCustomerByNameAndPhone(@Param("name") String name, @Param("contact_phone") String contact_phone);
+}

+ 17 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerVisitingMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.miliCustomer.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.miliCustomer.entity.CustomerVisiting;
+
+import java.util.Date;
+
+/**
+ * @Description: 来访管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-12
+ * @Version: V1.0
+ */
+public interface CustomerVisitingMapper extends BaseMapper<CustomerVisiting> {
+    public CustomerVisiting getVisitByIdTime(@Param("cp_id") String cp_id, @Param("visiting_time") Date visiting_time);
+}

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerAuditionMapper.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.miliCustomer.mapper.CustomerAuditionMapper">
+    <select id="getAuditionByIdTime" resultType="org.jeecg.modules.miliCustomer.entity.CustomerAudition">
+        select * from customer_audition  where cp_id = #{cp_id} and date_format(audition_time,'%Y-%m-%d') = date_format(#{audition_time},'%Y-%m-%d')
+    </select>
+</mapper>

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerFollowMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.miliCustomer.mapper.CustomerFollowMapper">
+    <select id="followDetail" parameterType="String" resultType="org.jeecg.modules.miliCustomer.entity.CustomerFollowShow">
+        SELECT
+            customer_follow.*,
+            sys_user.realname salesName,
+            school_organization.`name` schoolDistrictName,
+            customer_potential.`name` cpName
+        FROM
+            customer_follow
+            LEFT JOIN sys_user ON customer_follow.sales_code = sys_user.username
+            LEFT JOIN school_organization ON customer_follow.school_district_id = school_organization.id
+            LEFT JOIN customer_potential ON customer_follow.cp_id = customer_potential.id
+        WHERE
+        cp_id = #{cp_id}
+    </select>
+</mapper>

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerPotentialMapper.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.miliCustomer.mapper.CustomerPotentialMapper">
+    <select id="getCustomerByNameAndPhone" resultType="org.jeecg.modules.miliCustomer.entity.CustomerPotential">
+        select * from  customer_potential  where name = #{name} and contact_phone = #{contact_phone}
+    </select>
+</mapper>

+ 8 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerPublicMapper.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.miliCustomer.mapper.CustomerPublicMapper">
+    <!-- 根据用户名查询 -->
+    <select id="getCustomerByNameAndPhone" resultType="org.jeecg.modules.miliCustomer.entity.CustomerPublic">
+        select * from customer_public  where name = #{name} and contact_phone = #{contact_phone}
+    </select>
+</mapper>

+ 7 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/xml/CustomerVisitingMapper.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.miliCustomer.mapper.CustomerVisitingMapper">
+    <select id="getVisitByIdTime" resultType="org.jeecg.modules.miliCustomer.entity.CustomerVisiting">
+        select * from customer_visiting  where cp_id = #{cp_id} and date_format(visiting_time,'%Y-%m-%d') = date_format(#{visiting_time},'%Y-%m-%d')
+    </select>
+</mapper>

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerAuditionService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.miliCustomer.service;
+
+import org.jeecg.modules.miliCustomer.entity.CustomerAudition;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 试听管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-12
+ * @Version: V1.0
+ */
+public interface ICustomerAuditionService extends IService<CustomerAudition> {
+
+}

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerFollowService.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.miliCustomer.service;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.miliCustomer.entity.CustomerFollow;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.miliCustomer.entity.CustomerFollowShow;
+
+import java.util.List;
+
+/**
+ * @Description: 潜客跟进信息
+ * @Author: jeecg-boot
+ * @Date:   2022-07-20
+ * @Version: V1.0
+ */
+public interface ICustomerFollowService extends IService<CustomerFollow> {
+    public List<CustomerFollowShow> followDetail(String cp_id);
+}

+ 22 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerPotentialService.java

@@ -0,0 +1,22 @@
+package org.jeecg.modules.miliCustomer.service;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.miliCustomer.entity.CustomerAudition;
+import org.jeecg.modules.miliCustomer.entity.CustomerPotential;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.miliCustomer.entity.CustomerPublic;
+import org.jeecg.modules.miliCustomer.entity.CustomerVisiting;
+
+/**
+ * @Description: 潜客管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-05
+ * @Version: V1.0
+ */
+public interface ICustomerPotentialService extends IService<CustomerPotential> {
+
+    public Result<String> sign(CustomerPotential customerPotential);
+    public Result<String> statusEdit(CustomerPotential customerPotential);
+    public Result<String> addVisit(CustomerVisiting customerVisiting);
+    public Result<String> addAudition(CustomerAudition customerAudition);
+}

+ 15 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerPublicService.java

@@ -0,0 +1,15 @@
+package org.jeecg.modules.miliCustomer.service;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.miliCustomer.entity.CustomerPublic;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 公池管理
+ * @Author: jeecg-boot
+ * @Date:   2022-06-27
+ * @Version: V1.0
+ */
+public interface ICustomerPublicService extends IService<CustomerPublic> {
+    public  Result<String> appoint(CustomerPublic customerPublic);
+}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerVisitingService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.miliCustomer.service;
+
+import org.jeecg.modules.miliCustomer.entity.CustomerVisiting;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 来访管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-12
+ * @Version: V1.0
+ */
+public interface ICustomerVisitingService extends IService<CustomerVisiting> {
+
+}

+ 19 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerAuditionServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.miliCustomer.service.impl;
+
+import org.jeecg.modules.miliCustomer.entity.CustomerAudition;
+import org.jeecg.modules.miliCustomer.mapper.CustomerAuditionMapper;
+import org.jeecg.modules.miliCustomer.service.ICustomerAuditionService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 试听管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-12
+ * @Version: V1.0
+ */
+@Service
+public class CustomerAuditionServiceImpl extends ServiceImpl<CustomerAuditionMapper, CustomerAudition> implements ICustomerAuditionService {
+
+}

+ 72 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerFollowServiceImpl.java

@@ -0,0 +1,72 @@
+package org.jeecg.modules.miliCustomer.service.impl;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.miliCustomer.entity.CustomerFollow;
+import org.jeecg.modules.miliCustomer.entity.CustomerFollowShow;
+import org.jeecg.modules.miliCustomer.mapper.CustomerFollowMapper;
+import org.jeecg.modules.miliCustomer.mapper.CustomerPublicMapper;
+import org.jeecg.modules.miliCustomer.service.ICustomerFollowService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: 潜客跟进信息
+ * @Author: jeecg-boot
+ * @Date:   2022-07-20
+ * @Version: V1.0
+ */
+@Service
+public class CustomerFollowServiceImpl extends ServiceImpl<CustomerFollowMapper, CustomerFollow> implements ICustomerFollowService {
+    @Autowired
+    private CustomerFollowMapper customerFollowMapper;
+
+    @Value(value = "${jeecg.path.webapp}")
+    private String webapp;
+
+    public List<CustomerFollowShow> followDetail(String cp_id) {
+        List<CustomerFollowShow> customerFollowShows = customerFollowMapper.followDetail(cp_id);
+        // 增加 发布路径?传list
+        List<CustomerFollowShow> customerFollowShowsReturn = new ArrayList<>();
+        int key = 0;
+        for(CustomerFollowShow customerFollowShow:customerFollowShows) {
+            key ++;
+            if (customerFollowShow.getFollowPic() != null && !customerFollowShow.getFollowPic().equals("")) {
+//                List<HashMap> picReturnTemp = new ArrayList<HashMap>();
+                HashMap mapTemp = new HashMap();
+                if(customerFollowShow.getFollowPic().indexOf(",") != -1) {
+                    // 拼路径
+                    List<String> picListTemp = Arrays.asList(customerFollowShow.getFollowPic().split(","));
+                    List<HashMap> pathList = new ArrayList<HashMap>();
+                    mapTemp.put("key", key);
+                    for(int i = 0; i <picListTemp.size();i++) {
+                        String path = webapp + "/" + picListTemp.get(i);
+                        HashMap url = new HashMap();
+                        url.put("imgUrl",path);
+                        pathList.add(url);
+                    }
+                    mapTemp.put("imgPath", pathList);
+                    mapTemp.put("more",true);
+                } else {
+                    mapTemp.put("key", key);
+                    HashMap url = new HashMap();
+                    String path = webapp + "/" + customerFollowShow.getFollowPic();
+                    url.put("imgUrl",path);
+                    mapTemp.put("imgPath", url);
+                    mapTemp.put("more",false);
+                }
+//                picReturnTemp.add(mapTemp);
+                customerFollowShow.setPicList(mapTemp);
+            }
+            customerFollowShowsReturn.add(customerFollowShow);
+        }
+        return customerFollowShowsReturn;
+    }
+}

+ 91 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerPotentialServiceImpl.java

@@ -0,0 +1,91 @@
+package org.jeecg.modules.miliCustomer.service.impl;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.miliCustomer.entity.CustomerAudition;
+import org.jeecg.modules.miliCustomer.entity.CustomerPotential;
+import org.jeecg.modules.miliCustomer.entity.CustomerPublic;
+import org.jeecg.modules.miliCustomer.entity.CustomerVisiting;
+import org.jeecg.modules.miliCustomer.mapper.CustomerAuditionMapper;
+import org.jeecg.modules.miliCustomer.mapper.CustomerPotentialMapper;
+import org.jeecg.modules.miliCustomer.mapper.CustomerPublicMapper;
+import org.jeecg.modules.miliCustomer.mapper.CustomerVisitingMapper;
+import org.jeecg.modules.miliCustomer.service.ICustomerPotentialService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * @Description: 潜客管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-05
+ * @Version: V1.0
+ */
+@Service
+public class CustomerPotentialServiceImpl extends ServiceImpl<CustomerPotentialMapper, CustomerPotential> implements ICustomerPotentialService {
+    @Autowired
+    private CustomerPublicMapper customerPublicMapper;
+    @Autowired
+    private CustomerPotentialMapper customerPotentialMapper;
+    @Autowired
+    private CustomerVisitingMapper customerVisitingMapper;
+    @Autowired
+    private CustomerAuditionMapper customerAuditionMapper;
+
+    public Result<String> sign(CustomerPotential customerPotential){
+        customerPotentialMapper.updateById(customerPotential);
+        CustomerPublic customerPublic = customerPublicMapper.getCustomerByNameAndPhone(customerPotential.getName(),customerPotential.getContactPhone());
+        customerPublic.setStatus(customerPotential.getStatus());
+        customerPublic.setFollowStatus(customerPotential.getFollowStatus());
+        customerPublicMapper.updateById(customerPublic);
+        return Result.OK("报名成功!");
+    }
+
+    public Result<String> statusEdit(CustomerPotential customerPotential){
+        customerPotentialMapper.updateById(customerPotential);
+        CustomerPublic customerPublic = customerPublicMapper.getCustomerByNameAndPhone(customerPotential.getName(),customerPotential.getContactPhone());
+        customerPublic.setStatus(customerPotential.getStatus());
+        customerPublic.setFollowStatus(customerPotential.getFollowStatus());
+        customerPublicMapper.updateById(customerPublic);
+        return Result.OK("编辑成功!");
+    }
+
+
+    public Result<String> addVisit(CustomerVisiting customerVisiting){
+        //判断重复预约
+        CustomerVisiting customerVisitingQ =customerVisitingMapper.getVisitByIdTime(customerVisiting.getCpId(),customerVisiting.getVisitingTime());
+        if(customerVisitingQ == null){
+            CustomerPotential customerPotential = new CustomerPotential();
+            customerPotential.setId(customerVisiting.getCpId());
+            customerPotential.setFollowStatus(2);
+            customerPotentialMapper.updateById(customerPotential);
+            customerVisiting.setCreateBy("system");
+            customerVisiting.setCreateTime(new Date());
+            customerVisitingMapper.insert(customerVisiting);
+            return Result.OK("预约来访成功!");
+        }else {
+            return Result.error("客户已预约!");
+        }
+    }
+
+    public Result<String> addAudition(CustomerAudition customerAudition){
+        //判断重复预约
+        CustomerAudition customerAuditionQ =customerAuditionMapper.getAuditionByIdTime(customerAudition.getCpId(),customerAudition.getAuditionTime());
+        if(customerAuditionQ == null){
+            CustomerPotential customerPotential = new CustomerPotential();
+            customerPotential.setId(customerAudition.getCpId());
+            customerPotential.setFollowStatus(5);
+            customerPotentialMapper.updateById(customerPotential);
+            customerAudition.setCreateBy("system");
+            customerAudition.setCreateTime(new Date());
+            customerAuditionMapper.insert(customerAudition);
+            return Result.OK("预约试听成功!");
+        }else {
+            return Result.error("客户已预约!");
+        }
+    }
+
+}

+ 72 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerPublicServiceImpl.java

@@ -0,0 +1,72 @@
+package org.jeecg.modules.miliCustomer.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.miliCustomer.entity.CustomerPotential;
+import org.jeecg.modules.miliCustomer.entity.CustomerPublic;
+import org.jeecg.modules.miliCustomer.mapper.CustomerPotentialMapper;
+import org.jeecg.modules.miliCustomer.mapper.CustomerPublicMapper;
+import org.jeecg.modules.miliCustomer.service.ICustomerPublicService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description: 公池管理
+ * @Author: jeecg-boot
+ * @Date:   2022-06-27
+ * @Version: V1.0
+ */
+@Service
+public class CustomerPublicServiceImpl extends ServiceImpl<CustomerPublicMapper, CustomerPublic> implements ICustomerPublicService {
+    @Autowired
+    private CustomerPublicMapper customerPublicMapper;
+    @Autowired
+    private CustomerPotentialMapper customerPotentialMapper;
+
+    public Result<String> appoint(CustomerPublic customerPublic){
+        CustomerPublic customerPublicNew = customerPublicMapper.selectById(customerPublic.getId());
+        customerPublicMapper.updateById(customerPublic);
+        // 判断是否有记录
+        CustomerPotential customerPotentialQ = customerPotentialMapper.getCustomerByNameAndPhone(customerPublicNew.getName(),customerPublicNew.getContactPhone());
+        if (customerPotentialQ != null) {
+            customerPotentialQ.setSaleCode(customerPublic.getSaleCode());
+            customerPotentialMapper.updateById(customerPotentialQ);
+        } else {
+            CustomerPotential customerPotential = new CustomerPotential();
+            customerPotential.setSysOrgCode(customerPublicNew.getSysOrgCode());
+            customerPotential.setSchoolDistrictId(customerPublicNew.getSchoolDistrictId());
+            customerPotential.setName(customerPublicNew.getName());
+            customerPotential.setNickname(customerPublicNew.getNickname());
+            customerPotential.setSex(customerPublicNew.getSex());
+            customerPotential.setContactName(customerPublicNew.getContactName());
+            customerPotential.setContactPhone(customerPublicNew.getContactPhone());
+            customerPotential.setContact1Name(customerPublicNew.getContact1Name());
+            customerPotential.setContact1Phone(customerPublicNew.getContact1Phone());
+            customerPotential.setContact2Name(customerPublicNew.getContact2Name());
+            customerPotential.setContact2Phone(customerPublicNew.getContact2Phone());
+            customerPotential.setAge(customerPublicNew.getAge());
+            customerPotential.setBirthday(customerPublicNew.getBirthday());
+            customerPotential.setSchool(customerPublicNew.getSchool());
+            customerPotential.setGrade(customerPublicNew.getGrade());
+            customerPotential.setClasses(customerPublicNew.getClasses());
+            customerPotential.setIdCard(customerPublicNew.getIdCard());
+            customerPotential.setAddress(customerPublicNew.getAddress());
+            customerPotential.setChannelType(customerPublicNew.getChannelType());
+            customerPotential.setIntendedCourse(customerPublicNew.getIntendedCourse());
+            customerPotential.setIntendedDegress(customerPublicNew.getIntendedDegress());
+            customerPotential.setSaleCode(customerPublic.getSaleCode());
+            customerPotential.setReferencesPhone(customerPublicNew.getReferencesPhone());
+            customerPotential.setCollectinoCode(customerPublicNew.getCollectinoCode());
+            customerPotential.setStatus(customerPublicNew.getStatus());
+            customerPotential.setFollowStatus(customerPublicNew.getFollowStatus());
+            customerPotential.setLastFollowTime(customerPublicNew.getLastFollowTime());
+            customerPotential.setNextFollowTime(customerPublicNew.getNextFollowTime());
+            customerPotential.setMark(customerPublicNew.getMark());
+            customerPotentialMapper.insert(customerPotential);
+        }
+        return Result.OK("分配成功!");
+    }
+
+
+
+}

+ 19 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerVisitingServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.miliCustomer.service.impl;
+
+import org.jeecg.modules.miliCustomer.entity.CustomerVisiting;
+import org.jeecg.modules.miliCustomer.mapper.CustomerVisitingMapper;
+import org.jeecg.modules.miliCustomer.service.ICustomerVisitingService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 来访管理
+ * @Author: jeecg-boot
+ * @Date:   2022-07-12
+ * @Version: V1.0
+ */
+@Service
+public class CustomerVisitingServiceImpl extends ServiceImpl<CustomerVisitingMapper, CustomerVisiting> implements ICustomerVisitingService {
+
+}

+ 28 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/CommonController.java

@@ -1,8 +1,10 @@
 package org.jeecg.modules.system.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
+import net.sf.json.JSONString;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
@@ -16,6 +18,7 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.server.ServletServerHttpRequest;
+import org.springframework.stereotype.Component;
 import org.springframework.util.AntPathMatcher;
 import org.springframework.util.FileCopyUtils;
 import org.springframework.web.bind.annotation.*;
@@ -28,6 +31,9 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+
 /**
  * <p>
  * 用户表 前端控制器
@@ -43,7 +49,6 @@ public class CommonController {
 
     @Value(value = "${jeecg.path.upload}")
     private String uploadpath;
-
     /**
      * 本地:local minio:minio 阿里:alioss
      */
@@ -161,6 +166,28 @@ public class CommonController {
         }
         return "";
     }
+    /**
+     * 本地文件上传
+     * @param bizPath  自定义路径
+     * @return
+     */
+    @PostMapping(value = "/delUploadTemp")
+    public String delUploadTemp(@RequestBody List<String> bizPath ) {
+//      uploadpath
+        String ctxPath = uploadpath;
+        try {
+            for(int i = 0; i < bizPath.size(); i++) {
+                File delFile = new File(ctxPath +"/"+ bizPath.get(i));
+                if (!delFile.delete()) {
+                    System.out.println("Failed to delete the file: " + ctxPath +"/"+ bizPath.get(i));
+                }
+            }
+        }catch (Exception ex) {
+            ex.printStackTrace();
+            return ex.getMessage();
+        }
+        return null;
+    }
 
 //	@PostMapping(value = "/upload2")
 //	public Result<?> upload2(HttpServletRequest request, HttpServletResponse response) {

+ 28 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/test/controller/ShanksDemoController.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.test.controller;
+
+
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/shanks/test")
+@Slf4j
+public class ShanksDemoController {
+
+    /**
+     * hello world
+     *
+     * @param
+     * @return
+     */
+    @GetMapping(value = "/hello")
+    public Result<String> hello() {
+        Result<String> result = new Result<String>();
+        result.setResult("Hello World!");
+        result.setSuccess(true);
+        return result;
+    }
+}

+ 2 - 2
jeecg-boot-module-system/src/main/resources/application-dev.yml

@@ -187,9 +187,9 @@ jeecg:
   uploadType: local
   path:
     #文件上传根目录 设置
-    upload: /opt/upFiles
+    upload: /Users/shanks/Downloads/jeecgboot/upFiles
     #webapp文件路径
-    webapp: /opt/webapp
+    webapp: http://admin.milicode.cn/jeecgboot/pic
   shiro:
     excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
   #阿里云oss存储和大鱼短信秘钥配置

+ 2 - 2
jeecg-boot-module-system/src/main/resources/application-prod.yml

@@ -187,9 +187,9 @@ jeecg:
   uploadType: alioss
   path:
     #文件上传根目录 设置
-    upload: /opt/jeecg-boot/upload
+    upload: /usr/local/nginx/html/jeecgboot/pic
     #webapp文件路径
-    webapp: /opt/jeecg-boot/webapp
+    webapp: http://admin.milicode.cn/jeecgboot/pic
   shiro:
     excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/api/getUserInfo,/sys/randomImage/**
   #阿里云oss存储和大鱼短信秘钥配置

+ 2 - 2
jeecg-boot-module-system/target/classes/application-dev.yml

@@ -187,9 +187,9 @@ jeecg:
   uploadType: local
   path:
     #文件上传根目录 设置
-    upload: /opt/upFiles
+    upload: /Users/shanks/Downloads/jeecgboot/upFiles
     #webapp文件路径
-    webapp: /opt/webapp
+    webapp: http://admin.milicode.cn/jeecgboot/pic
   shiro:
     excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
   #阿里云oss存储和大鱼短信秘钥配置

+ 2 - 2
jeecg-boot-module-system/target/classes/application-prod.yml

@@ -187,9 +187,9 @@ jeecg:
   uploadType: alioss
   path:
     #文件上传根目录 设置
-    upload: /opt/jeecg-boot/upload
+    upload: /usr/local/nginx/html/jeecgboot/pic
     #webapp文件路径
-    webapp: /opt/jeecg-boot/webapp
+    webapp: http://admin.milicode.cn/jeecgboot/pic
   shiro:
     excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/api/getUserInfo,/sys/randomImage/**
   #阿里云oss存储和大鱼短信秘钥配置

+ 1 - 1
jeecg-boot-module-system/target/classes/application.yml

@@ -2,4 +2,4 @@ spring:
   application:
     name: jeecg-system
   profiles:
-    active: 'dev'
+    active: 'prod'

BIN
jeecg-boot-module-system/target/classes/org/jeecg/JeecgSystemApplication.class


BIN
jeecg-boot-module-system/target/classes/org/jeecg/modules/system/controller/CommonController.class


+ 122 - 95
jeecg-boot-module-system/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -1,160 +1,209 @@
 org/jeecg/modules/system/controller/SysRoleController.class
-org/jeecg/modules/system/mapper/SysLogMapper.class
 org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.class
-org/jeecg/modules/message/handle/enums/SendMsgStatusEnum.class
-org/jeecg/modules/system/mapper/SysDepartRoleUserMapper.class
 org/jeecg/modules/system/service/ISysUserService.class
 org/jeecg/modules/system/entity/SysUserAgent.class
-org/jeecg/modules/system/entity/SysDictItem.class
-org/jeecg/modules/system/mapper/SysDataSourceMapper.class
 org/jeecg/modules/system/model/ThirdLoginModel.class
 org/jeecg/modules/oss/service/IOSSFileService.class
 org/jeecg/modules/system/service/ISysRoleIndexService.class
-org/jeecg/modules/quartz/controller/QuartzJobController.class
+org/jeecg/modules/miliCustomer/entity/CustomerPublic.class
 org/jeecg/modules/system/entity/SysDict.class
 org/jeecg/config/init/TomcatFactoryConfig.class
-org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.class
-org/jeecg/modules/system/controller/SysDepartController$2.class
+org/jeecg/modules/miliCustomer/mapper/CustomerPublicMapper.class
 org/jeecg/modules/system/util/SecurityUtil.class
 org/jeecg/modules/system/entity/SysDepartRolePermission.class
 org/jeecg/modules/system/service/ISysFillRuleService.class
-org/jeecg/modules/system/service/ISysDepartRoleUserService.class
-org/jeecg/modules/system/service/ISysDepartRolePermissionService.class
 org/jeecg/modules/system/vo/SysUserRoleVO.class
-org/jeecg/modules/message/service/impl/SysMessageServiceImpl.class
 org/jeecg/modules/cas/util/CASServiceUtil$1.class
-org/jeecg/modules/oss/controller/OSSFileController.class
-org/jeecg/modules/system/service/ISysUserRoleService.class
-org/jeecg/modules/system/service/ISysPermissionService.class
 org/jeecg/modules/system/entity/SysRoleIndex.class
 org/jeecg/modules/system/entity/SysDataLog.class
 org/jeecg/modules/system/mapper/SysAnnouncementMapper.class
-org/jeecg/modules/api/controller/SystemAPIController.class
-org/jeecg/modules/system/mapper/SysThirdAccountMapper.class
 org/jeecg/modules/system/vo/thirdapp/SyncInfoVo.class
-org/jeecg/modules/system/entity/SysDepartRoleUser.class
-org/jeecg/modules/message/entity/SysMessageTemplate.class
 org/jeecg/modules/system/entity/SysDepart.class
-org/jeecg/modules/system/entity/SysAnnouncementSend.class
 org/jeecg/modules/system/entity/SysGatewayRoute.class
 org/jeecg/config/init/CodeGenerateDbConfig.class
-org/jeecg/modules/system/mapper/SysDepartRolePermissionMapper.class
-org/jeecg/modules/message/handle/impl/WxSendMsgHandle.class
 org/jeecg/modules/system/service/impl/SysLogServiceImpl.class
 org/jeecg/modules/system/service/ISysDataLogService.class
 org/jeecg/modules/cas/util/XmlUtils$1.class
-org/jeecg/modules/system/service/ISysAnnouncementSendService.class
-org/jeecg/modules/system/controller/SysDepartRoleController.class
 org/jeecg/modules/monitor/service/impl/RedisServiceImpl.class
 org/jeecg/modules/system/service/impl/SysPositionServiceImpl.class
 org/jeecg/modules/system/security/DictQueryBlackListHandler.class
-org/jeecg/modules/system/mapper/SysUserAgentMapper.class
 org/jeecg/modules/system/controller/SysDictController.class
 org/jeecg/config/init/SystemInitListener.class
 org/jeecg/modules/system/controller/ThirdAppController.class
-org/jeecg/modules/system/service/ISysLogService.class
 org/jeecg/modules/system/util/XSSUtils.class
 org/jeecg/modules/system/controller/SysTenantController.class
 org/jeecg/modules/system/controller/SysAnnouncementSendController.class
-org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.class
 org/jeecg/modules/system/service/ISysDepartRoleService.class
-org/jeecg/modules/system/vo/SysUserDepVo.class
 org/jeecg/modules/system/model/DepartIdModel.class
-org/jeecg/modules/system/mapper/SysDepartPermissionMapper.class
-org/jeecg/modules/system/entity/SysDepartRole.class
 org/jeecg/modules/system/entity/SysThirdAccount.class
-org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.class
 org/jeecg/modules/message/service/ISysMessageTemplateService.class
-org/jeecg/modules/system/service/ISysUserAgentService.class
 org/jeecg/modules/system/service/impl/SysThirdAccountServiceImpl.class
-org/jeecg/modules/system/service/ISysCheckRuleService.class
 org/jeecg/modules/system/service/ISysPermissionDataRuleService.class
+org/jeecg/modules/miliCustomer/entity/CustomerVisiting.class
 org/jeecg/modules/system/controller/SysDepartController.class
 org/jeecg/modules/quartz/job/SampleParamJob.class
 org/jeecg/modules/monitor/controller/ActuatorRedisController.class
 org/jeecg/modules/system/mapper/SysPositionMapper.class
 org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.class
+org/jeecg/modules/system/controller/SysFillRuleController.class
+org/jeecg/modules/miliCustomer/service/ICustomerVisitingService.class
+org/jeecg/modules/system/mapper/SysDictItemMapper.class
+org/jeecg/modules/oss/mapper/OSSFileMapper.class
+org/jeecg/modules/miliCustomer/service/ICustomerPotentialService.class
+org/jeecg/modules/miliCustomer/service/impl/CustomerPublicServiceImpl.class
+org/jeecg/modules/message/entity/SysMessage.class
+org/jeecg/modules/system/model/TreeModel.class
+org/jeecg/modules/system/controller/SysDepartPermissionController.class
+org/jeecg/modules/system/service/impl/SysDepartRoleUserServiceImpl.class
+org/jeecg/modules/system/mapper/SysDataLogMapper.class
+org/jeecg/modules/system/service/ISysRolePermissionService.class
+org/jeecg/modules/system/controller/SysRoleIndexController.class
+org/jeecg/modules/oss/entity/OSSFile.class
+org/jeecg/modules/system/mapper/SysCategoryMapper.class
+org/jeecg/modules/system/model/SysDictTree.class
+org/jeecg/modules/miliCustomer/controller/CustomerPotentialController.class
+org/jeecg/modules/system/service/ISysPositionService.class
+org/jeecg/modules/system/service/ISysDataSourceService.class
+org/jeecg/modules/system/service/impl/SysTenantServiceImpl.class
+org/jeecg/modules/miliCustomer/mapper/CustomerFollowMapper.class
+org/jeecg/modules/system/vo/SysUserOnlineVO.class
+org/jeecg/modules/miliCustomer/service/ICustomerPublicService.class
+org/jeecg/modules/system/mapper/SysRolePermissionMapper.class
+org/jeecg/modules/cas/util/CASServiceUtil.class
+org/jeecg/modules/system/service/ISysGatewayRouteService.class
+org/jeecg/modules/system/entity/SysAnnouncement.class
+org/jeecg/modules/system/vo/thirdapp/JdtDepartmentTreeVo.class
+org/jeecg/modules/system/mapper/SysRoleIndexMapper.class
+org/jeecg/modules/system/entity/SysCheckRule.class
+org/jeecg/modules/system/service/impl/SysDepartRolePermissionServiceImpl.class
+org/jeecg/modules/system/entity/SysRole.class
+org/jeecg/modules/miliCustomer/service/impl/CustomerAuditionServiceImpl.class
+org/jeecg/modules/miliCustomer/controller/CustomerVisitingController.class
+org/jeecg/modules/monitor/domain/RedisInfo.class
+org/jeecg/modules/message/job/SendMsgJob.class
+org/jeecg/modules/system/entity/SysPermissionDataRule.class
+org/jeecg/modules/system/vo/SysDictPage.class
+org/jeecg/modules/system/entity/SysTenant.class
+org/jeecg/modules/monitor/service/RedisService.class
+org/jeecg/modules/system/mapper/SysUserRoleMapper.class
+org/jeecg/modules/system/mapper/SysPermissionDataRuleMapper.class
+org/jeecg/modules/system/mapper/SysUserDepartMapper.class
+org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.class
+org/jeecg/modules/message/websocket/TestSocketController.class
+org/jeecg/modules/system/service/impl/SysGatewayRouteServiceImpl.class
+org/jeecg/modules/system/mapper/SysDictMapper.class
+org/jeecg/modules/system/service/ISysUserDepartService.class
+org/jeecg/modules/system/model/TreeSelectModel.class
+org/jeecg/modules/system/service/impl/SysCheckRuleServiceImpl.class
+org/jeecg/modules/message/service/impl/SysMessageTemplateServiceImpl.class
+org/jeecg/modules/ngalain/service/impl/NgAlainServiceImpl.class
+org/jeecg/modules/system/controller/SysCheckRuleController.class
+org/jeecg/modules/system/vo/thirdapp/JwDepartmentTreeVo.class
+org/jeecg/modules/ngalain/service/NgAlainService.class
+org/jeecg/modules/miliCustomer/service/ICustomerAuditionService.class
+org/jeecg/modules/system/mapper/SysGatewayRouteMapper.class
+org/jeecg/modules/miliCustomer/service/ICustomerFollowService.class
+org/jeecg/modules/system/mapper/SysPermissionMapper.class
+org/jeecg/modules/message/handle/impl/SmsSendMsgHandle.class
+org/jeecg/modules/system/service/impl/SysDataLogServiceImpl.class
+org/jeecg/config/init/TomcatFactoryConfig$1.class
+org/jeecg/modules/system/service/impl/SysPermissionDataRuleImpl.class
+org/jeecg/modules/system/service/ISysAnnouncementService.class
+org/jeecg/modules/miliCustomer/service/impl/CustomerPotentialServiceImpl.class
+org/jeecg/modules/system/controller/SysDictItemController.class
+org/jeecg/JeecgOneGUI.class
+org/jeecg/modules/system/model/SysLoginModel.class
+org/jeecg/modules/system/rule/OrderNumberRule.class
+org/jeecg/modules/message/mapper/SysMessageTemplateMapper.class
+org/jeecg/modules/system/service/impl/SysRoleIndexServiceImpl.class
+org/jeecg/modules/system/service/ISysDictService.class
+org/jeecg/modules/system/controller/SysDataSourceController.class
+org/jeecg/modules/message/mapper/SysMessageMapper.class
+org/jeecg/modules/system/mapper/SysLogMapper.class
+org/jeecg/modules/miliCustomer/entity/CustomerFollowShow.class
+org/jeecg/modules/miliCustomer/service/impl/CustomerVisitingServiceImpl.class
+org/jeecg/modules/message/handle/enums/SendMsgStatusEnum.class
+org/jeecg/modules/miliCustomer/controller/CustomerFollowController.class
+org/jeecg/modules/system/mapper/SysDepartRoleUserMapper.class
+org/jeecg/modules/miliCustomer/controller/CustomerAuditionController.class
+org/jeecg/modules/system/entity/SysDictItem.class
+org/jeecg/modules/system/mapper/SysDataSourceMapper.class
+org/jeecg/modules/quartz/controller/QuartzJobController.class
+org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.class
+org/jeecg/modules/system/controller/SysDepartController$2.class
+org/jeecg/modules/system/service/ISysDepartRoleUserService.class
+org/jeecg/modules/system/service/ISysDepartRolePermissionService.class
+org/jeecg/modules/message/service/impl/SysMessageServiceImpl.class
+org/jeecg/modules/miliCustomer/mapper/CustomerVisitingMapper.class
+org/jeecg/modules/oss/controller/OSSFileController.class
+org/jeecg/modules/system/service/ISysUserRoleService.class
+org/jeecg/modules/system/service/ISysPermissionService.class
+org/jeecg/modules/api/controller/SystemAPIController.class
+org/jeecg/modules/system/mapper/SysThirdAccountMapper.class
+org/jeecg/modules/system/entity/SysDepartRoleUser.class
+org/jeecg/modules/message/entity/SysMessageTemplate.class
+org/jeecg/modules/system/entity/SysAnnouncementSend.class
+org/jeecg/modules/system/mapper/SysDepartRolePermissionMapper.class
+org/jeecg/modules/message/handle/impl/WxSendMsgHandle.class
+org/jeecg/modules/system/service/ISysAnnouncementSendService.class
+org/jeecg/modules/system/controller/SysDepartRoleController.class
+org/jeecg/modules/test/controller/ShanksDemoController.class
+org/jeecg/modules/system/mapper/SysUserAgentMapper.class
+org/jeecg/modules/system/service/ISysLogService.class
+org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.class
+org/jeecg/modules/system/vo/SysUserDepVo.class
+org/jeecg/modules/system/mapper/SysDepartPermissionMapper.class
+org/jeecg/modules/system/entity/SysDepartRole.class
+org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.class
+org/jeecg/modules/system/service/ISysUserAgentService.class
+org/jeecg/modules/system/service/ISysCheckRuleService.class
+org/jeecg/modules/miliCustomer/controller/CustomerPublicController.class
 org/jeecg/modules/system/util/PermissionDataUtil.class
 org/jeecg/modules/message/websocket/SocketHandler.class
-org/jeecg/modules/system/controller/SysFillRuleController.class
 org/jeecg/modules/message/service/ISysMessageService.class
 org/jeecg/modules/system/service/ISysCategoryService.class
 org/jeecg/modules/system/service/ISysRoleService.class
-org/jeecg/modules/system/mapper/SysDictItemMapper.class
+org/jeecg/modules/miliCustomer/entity/CustomerAudition.class
 org/jeecg/modules/message/controller/SysMessageController.class
-org/jeecg/modules/oss/mapper/OSSFileMapper.class
 org/jeecg/config/jimureport/JimuReportTokenService.class
 org/jeecg/modules/system/vo/SysDepartUsersVO.class
 org/jeecg/modules/oss/service/impl/OSSFileServiceImpl.class
-org/jeecg/modules/message/entity/SysMessage.class
 org/jeecg/modules/system/model/SysPermissionTree.class
 org/jeecg/modules/system/entity/SysUserRole.class
 org/jeecg/modules/system/model/SysDepartTreeModel.class
 org/jeecg/modules/system/model/SysUserSysDepartModel.class
-org/jeecg/modules/system/model/TreeModel.class
-org/jeecg/modules/system/controller/SysDepartPermissionController.class
-org/jeecg/modules/system/service/impl/SysDepartRoleUserServiceImpl.class
 org/jeecg/modules/cas/controller/CasClientController.class
 org/jeecg/modules/cas/util/XmlUtils$CustomAttributeHandler.class
-org/jeecg/modules/system/mapper/SysDataLogMapper.class
-org/jeecg/modules/system/service/ISysRolePermissionService.class
 org/jeecg/modules/system/model/DuplicateCheckVo.class
-org/jeecg/modules/system/controller/SysRoleIndexController.class
+org/jeecg/modules/miliCustomer/mapper/CustomerPotentialMapper.class
 org/jeecg/modules/system/mapper/SysCheckRuleMapper.class
 org/jeecg/modules/system/controller/ThirdLoginController.class
 org/jeecg/modules/system/service/impl/SysRolePermissionServiceImpl.class
-org/jeecg/modules/oss/entity/OSSFile.class
-org/jeecg/modules/system/mapper/SysCategoryMapper.class
 org/jeecg/modules/message/util/PushMsgUtil.class
-org/jeecg/modules/system/model/SysDictTree.class
 org/jeecg/modules/message/handle/ISendMsgHandle.class
 org/jeecg/modules/system/controller/SysDataLogController.class
-org/jeecg/modules/system/service/ISysPositionService.class
 org/jeecg/modules/system/service/impl/SysFillRuleServiceImpl.class
-org/jeecg/modules/system/service/ISysDataSourceService.class
-org/jeecg/modules/system/service/impl/SysTenantServiceImpl.class
 org/jeecg/modules/system/service/impl/ImportFileServiceImpl.class
 org/jeecg/modules/system/mapper/SysTenantMapper.class
 org/jeecg/modules/message/entity/MsgParams.class
 org/jeecg/modules/system/entity/SysRolePermission.class
-org/jeecg/modules/system/vo/SysUserOnlineVO.class
 org/jeecg/modules/cas/util/XmlUtils$2.class
 org/jeecg/modules/system/controller/SysUserAgentController.class
 org/jeecg/modules/system/mapper/SysUserMapper.class
-org/jeecg/modules/system/mapper/SysRolePermissionMapper.class
-org/jeecg/modules/cas/util/CASServiceUtil.class
 org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.class
 org/jeecg/modules/system/rule/OrgCodeRule.class
-org/jeecg/modules/system/service/ISysGatewayRouteService.class
 org/jeecg/modules/quartz/service/IQuartzJobService.class
-org/jeecg/modules/system/entity/SysAnnouncement.class
 org/jeecg/modules/system/controller/SysUserOnlineController.class
 org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.class
 org/jeecg/modules/system/service/impl/SysUserAgentServiceImpl.class
-org/jeecg/modules/system/vo/thirdapp/JdtDepartmentTreeVo.class
 org/jeecg/modules/system/controller/SysAnnouncementController.class
-org/jeecg/modules/system/mapper/SysRoleIndexMapper.class
-org/jeecg/modules/system/entity/SysCheckRule.class
-org/jeecg/modules/system/service/impl/SysDepartRolePermissionServiceImpl.class
-org/jeecg/modules/system/entity/SysRole.class
 org/jeecg/modules/system/controller/SysDepartController$1.class
-org/jeecg/modules/monitor/domain/RedisInfo.class
-org/jeecg/modules/message/job/SendMsgJob.class
-org/jeecg/modules/system/entity/SysPermissionDataRule.class
 org/jeecg/modules/system/service/impl/SysUserRoleServiceImpl.class
-org/jeecg/modules/system/vo/SysDictPage.class
-org/jeecg/modules/system/entity/SysTenant.class
-org/jeecg/modules/monitor/service/RedisService.class
 org/jeecg/modules/message/websocket/WebSocket.class
-org/jeecg/modules/system/mapper/SysUserRoleMapper.class
 org/jeecg/modules/system/entity/SysCategory.class
 org/jeecg/modules/quartz/job/AsyncJob.class
-org/jeecg/modules/system/mapper/SysPermissionDataRuleMapper.class
-org/jeecg/modules/system/mapper/SysUserDepartMapper.class
 org/jeecg/modules/system/service/impl/SysDepartPermissionServiceImpl.class
 org/jeecg/modules/system/controller/DuplicateCheckController.class
-org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.class
-org/jeecg/modules/message/websocket/TestSocketController.class
 org/jeecg/modules/system/util/FindsDepartsChildrenUtil.class
 org/jeecg/modules/system/controller/SysPositionController.class
 org/jeecg/modules/system/entity/SysDepartPermission.class
@@ -163,25 +212,18 @@ org/jeecg/modules/system/entity/SysPosition.class
 org/jeecg/modules/monitor/exception/RedisConnectException.class
 org/jeecg/modules/system/entity/SysDataSource.class
 org/jeecg/modules/system/service/impl/SysBaseApiImpl.class
-org/jeecg/modules/system/service/impl/SysGatewayRouteServiceImpl.class
 org/jeecg/modules/system/service/impl/SysUserServiceImpl.class
 org/jeecg/JeecgSystemApplication.class
-org/jeecg/modules/system/mapper/SysDictMapper.class
 org/jeecg/modules/system/service/impl/SysUserDepartServiceImpl.class
-org/jeecg/modules/system/service/ISysUserDepartService.class
 org/jeecg/modules/system/controller/SysPermissionController.class
-org/jeecg/modules/system/model/TreeSelectModel.class
 org/jeecg/modules/message/handle/enums/SendMsgTypeEnum.class
-org/jeecg/modules/system/service/impl/SysCheckRuleServiceImpl.class
 org/jeecg/modules/system/service/ISysThirdAccountService.class
 org/jeecg/modules/message/controller/SysMessageTemplateController.class
 org/jeecg/modules/system/entity/SysFillRule.class
-org/jeecg/modules/message/service/impl/SysMessageTemplateServiceImpl.class
 org/jeecg/modules/system/model/AnnouncementSendModel.class
+org/jeecg/modules/miliCustomer/entity/CustomerPotential.class
 org/jeecg/modules/system/entity/SysUserDepart.class
 org/jeecg/modules/system/entity/SysUser.class
-org/jeecg/modules/ngalain/service/impl/NgAlainServiceImpl.class
-org/jeecg/modules/system/controller/SysCheckRuleController.class
 org/jeecg/modules/system/service/impl/SysDepartRoleServiceImpl.class
 org/jeecg/JeecgOneToMainUtil.class
 org/jeecg/modules/system/controller/SysUserController.class
@@ -189,47 +231,32 @@ org/jeecg/modules/quartz/job/SampleJob.class
 org/jeecg/modules/system/service/impl/SysDepartServiceImpl.class
 org/jeecg/modules/system/controller/SysGatewayRouteController.class
 org/jeecg/modules/system/controller/SysCategoryController.class
-org/jeecg/modules/system/vo/thirdapp/JwDepartmentTreeVo.class
+org/jeecg/modules/miliCustomer/service/impl/CustomerFollowServiceImpl.class
 org/jeecg/modules/system/util/RandImageUtil.class
 org/jeecg/modules/system/controller/SysUploadController.class
-org/jeecg/modules/ngalain/service/NgAlainService.class
 org/jeecg/modules/system/mapper/SysDepartMapper.class
 org/jeecg/modules/system/service/ISysDepartService.class
-org/jeecg/modules/system/mapper/SysGatewayRouteMapper.class
-org/jeecg/modules/system/mapper/SysPermissionMapper.class
-org/jeecg/modules/message/handle/impl/SmsSendMsgHandle.class
-org/jeecg/modules/system/service/impl/SysDataLogServiceImpl.class
+org/jeecg/modules/miliCustomer/entity/CustomerFollow.class
 org/jeecg/modules/quartz/mapper/QuartzJobMapper.class
 org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.class
 org/jeecg/modules/system/service/ISysTenantService.class
 org/jeecg/modules/quartz/entity/QuartzJob.class
-org/jeecg/config/init/TomcatFactoryConfig$1.class
+org/jeecg/modules/miliCustomer/mapper/CustomerAuditionMapper.class
 org/jeecg/modules/system/service/impl/SysRoleServiceImpl.class
 org/jeecg/modules/cas/util/XmlUtils.class
-org/jeecg/modules/system/service/impl/SysPermissionDataRuleImpl.class
 org/jeecg/modules/system/mapper/SysDepartRoleMapper.class
 org/jeecg/modules/system/service/impl/SysDictItemServiceImpl.class
-org/jeecg/modules/system/service/ISysAnnouncementService.class
 org/jeecg/modules/system/service/ISysDepartPermissionService.class
-org/jeecg/modules/system/controller/SysDictItemController.class
-org/jeecg/JeecgOneGUI.class
 org/jeecg/modules/system/controller/SysLogController.class
 org/jeecg/modules/monitor/service/impl/MailHealthIndicator.class
 org/jeecg/modules/system/rule/CategoryCodeRule.class
 org/jeecg/modules/system/service/ISysDictItemService.class
-org/jeecg/modules/system/model/SysLoginModel.class
 org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.class
-org/jeecg/modules/system/rule/OrderNumberRule.class
 org/jeecg/modules/system/mapper/SysFillRuleMapper.class
-org/jeecg/modules/message/mapper/SysMessageTemplateMapper.class
 org/jeecg/modules/system/entity/SysPermission.class
 org/jeecg/modules/system/controller/CommonController.class
 org/jeecg/modules/system/mapper/SysRoleMapper.class
-org/jeecg/modules/system/service/impl/SysRoleIndexServiceImpl.class
-org/jeecg/modules/system/service/ISysDictService.class
-org/jeecg/modules/system/controller/SysDataSourceController.class
 org/jeecg/modules/system/entity/SysLog.class
 org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.class
 org/jeecg/modules/system/service/impl/SysDictServiceImpl.class
 org/jeecg/modules/system/service/IThirdAppService.class
-org/jeecg/modules/message/mapper/SysMessageMapper.class

+ 27 - 0
jeecg-boot-module-system/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,4 +1,6 @@
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/test/controller/ShanksDemoController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/ISendMsgHandle.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerPublicMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwDepartmentTreeVo.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysPositionService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysCategoryMapper.java
@@ -10,12 +12,14 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/SampleJob.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysAnnouncement.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDictItemController.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerPotentialMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/service/ISysMessageService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserRoleServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDictService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/entity/OSSFile.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysRoleIndexServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/mapper/OSSFileMapper.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerAuditionServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/OrderNumberRule.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysFillRuleMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java
@@ -34,9 +38,11 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/DuplicateCheckController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/jimureport/JimuReportTokenService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUserRole.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerPublic.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/SampleParamJob.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysUser.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerVisitingController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDepartRolePermissionMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/ImportFileServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysRoleMapper.java
@@ -46,6 +52,7 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDepartRoleController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/ngalain/service/NgAlainService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysAnnouncementSend.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerVisiting.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/cas/controller/CasClientController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionDataRuleImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysCheckRuleController.java
@@ -61,6 +68,7 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysRoleIndexService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysRolePermission.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerAuditionMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysGatewayRouteServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/handle/impl/EmailSendMsgHandle.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDictServiceImpl.java
@@ -71,6 +79,7 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDictMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/CategoryCodeRule.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartPermissionServiceImpl.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerFollowService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysRoleIndexController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/monitor/service/impl/RedisServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/util/PushMsgUtil.java
@@ -81,6 +90,7 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/controller/SysMessageController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysCheckRuleServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/controller/SystemAPIController.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerPotentialController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/SysLoginModel.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/SysDepartUsersVO.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDataLogController.java
@@ -94,9 +104,13 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysFillRuleController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDictItemServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementMapper.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerFollowController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/thirdapp/JdtDepartmentTreeVo.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerPublicService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysLog.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerPublicController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/SysUserRoleVO.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/controller/CustomerAuditionController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartRoleServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java
@@ -105,12 +119,14 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/DepartIdModel.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/websocket/TestSocketController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDepartRoleMapper.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerFollow.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppDingtalkServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/JeecgOneGUI.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/init/SystemInitListener.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/util/FindsDepartsChildrenUtil.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/rule/OrgCodeRule.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDictItemMapper.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerVisitingMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysThirdAccountServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/entity/QuartzJob.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysTenant.java
@@ -142,10 +158,14 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/service/impl/QuartzJobServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysPermissionDataRuleMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/mapper/CustomerFollowMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerFollowServiceImpl.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerPotentialService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/monitor/domain/RedisInfo.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDepartPermission.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerAudition.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysPermissionDataRuleService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysAnnouncementSendMapper.java
@@ -186,6 +206,7 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/SysPermissionTree.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/AnnouncementSendModel.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerVisitingService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/ThirdAppWechatEnterpriseServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDictItemService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartPermissionService.java
@@ -194,6 +215,7 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/service/impl/SysMessageServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysRolePermissionServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysPermissionDataRule.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerPotentialServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysLogServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysCategory.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/thirdapp/SyncInfoVo.java
@@ -201,23 +223,28 @@
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDepartRoleUser.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysGatewayRouteMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartRoleService.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerPotential.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/ThirdLoginModel.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/entity/MsgParams.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysCategoryController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/message/controller/SysMessageTemplateController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/util/SecurityUtil.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerVisitingServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDataLogService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDepartPermissionMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysRoleServiceImpl.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/entity/CustomerFollowShow.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDictItem.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/job/AsyncJob.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/monitor/service/RedisService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/quartz/mapper/QuartzJobMapper.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysGatewayRouteController.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/ICustomerAuditionService.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/SysUserSysDepartModel.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysUserOnlineController.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/vo/SysUserOnlineVO.java
+/Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/miliCustomer/service/impl/CustomerPublicServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDataLog.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java
 /Users/shanks/project/ZhuMi/jeecg-boot-master/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/service/IOSSFileService.java