diff --git a/pom.xml b/pom.xml
index cdef4340..12c7ef1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,12 +29,19 @@
2.11.0
4.1.2
2.3
+ 1.18.12
-
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+
+
org.springframework.boot
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ClewController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ClewController.java
new file mode 100644
index 00000000..5aae5d77
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ClewController.java
@@ -0,0 +1,127 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.Clew;
+import com.ruoyi.system.service.IClewService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 线索Controller
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Controller
+@RequestMapping("/system/clew")
+public class ClewController extends BaseController
+{
+ private String prefix = "system/clew";
+
+ @Autowired
+ private IClewService clewService;
+
+ @RequiresPermissions("system:clew:view")
+ @GetMapping()
+ public String clew()
+ {
+ return prefix + "/clew";
+ }
+
+ /**
+ * 查询线索列表
+ */
+ @RequiresPermissions("system:clew:list")
+ @PostMapping("/list")
+ @ResponseBody
+ public TableDataInfo list(Clew clew)
+ {
+ startPage();
+ List list = clewService.selectClewList(clew);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出线索列表
+ */
+ @RequiresPermissions("system:clew:export")
+ @Log(title = "线索", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ @ResponseBody
+ public AjaxResult export(Clew clew)
+ {
+ List list = clewService.selectClewList(clew);
+ ExcelUtil util = new ExcelUtil(Clew.class);
+ return util.exportExcel(list, "线索数据");
+ }
+
+ /**
+ * 新增线索
+ */
+ @GetMapping("/add")
+ public String add()
+ {
+ return prefix + "/add";
+ }
+
+ /**
+ * 新增保存线索
+ */
+ @RequiresPermissions("system:clew:add")
+ @Log(title = "线索", businessType = BusinessType.INSERT)
+ @PostMapping("/add")
+ @ResponseBody
+ public AjaxResult addSave(Clew clew)
+ {
+ return toAjax(clewService.insertClew(clew));
+ }
+
+ /**
+ * 修改线索
+ */
+ @RequiresPermissions("system:clew:edit")
+ @GetMapping("/edit/{id}")
+ public String edit(@PathVariable("id") Long id, ModelMap mmap)
+ {
+ Clew clew = clewService.selectClewById(id);
+ mmap.put("clew", clew);
+ return prefix + "/edit";
+ }
+
+ /**
+ * 修改保存线索
+ */
+ @RequiresPermissions("system:clew:edit")
+ @Log(title = "线索", businessType = BusinessType.UPDATE)
+ @PostMapping("/edit")
+ @ResponseBody
+ public AjaxResult editSave(Clew clew)
+ {
+ return toAjax(clewService.updateClew(clew));
+ }
+
+ /**
+ * 删除线索
+ */
+ @RequiresPermissions("system:clew:remove")
+ @Log(title = "线索", businessType = BusinessType.DELETE)
+ @PostMapping( "/remove")
+ @ResponseBody
+ public AjaxResult remove(String ids)
+ {
+ return toAjax(clewService.deleteClewByIds(ids));
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanyAppController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanyAppController.java
new file mode 100644
index 00000000..7a38d07d
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanyAppController.java
@@ -0,0 +1,127 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.CompanyApp;
+import com.ruoyi.system.service.ICompanyAppService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 客户端Controller
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Controller
+@RequestMapping("/system/app")
+public class CompanyAppController extends BaseController
+{
+ private String prefix = "system/app";
+
+ @Autowired
+ private ICompanyAppService companyAppService;
+
+ @RequiresPermissions("system:app:view")
+ @GetMapping()
+ public String app()
+ {
+ return prefix + "/app";
+ }
+
+ /**
+ * 查询客户端列表
+ */
+ @RequiresPermissions("system:app:list")
+ @PostMapping("/list")
+ @ResponseBody
+ public TableDataInfo list(CompanyApp companyApp)
+ {
+ startPage();
+ List list = companyAppService.selectCompanyAppList(companyApp);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出客户端列表
+ */
+ @RequiresPermissions("system:app:export")
+ @Log(title = "客户端", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ @ResponseBody
+ public AjaxResult export(CompanyApp companyApp)
+ {
+ List list = companyAppService.selectCompanyAppList(companyApp);
+ ExcelUtil util = new ExcelUtil(CompanyApp.class);
+ return util.exportExcel(list, "客户端数据");
+ }
+
+ /**
+ * 新增客户端
+ */
+ @GetMapping("/add")
+ public String add()
+ {
+ return prefix + "/add";
+ }
+
+ /**
+ * 新增保存客户端
+ */
+ @RequiresPermissions("system:app:add")
+ @Log(title = "客户端", businessType = BusinessType.INSERT)
+ @PostMapping("/add")
+ @ResponseBody
+ public AjaxResult addSave(CompanyApp companyApp)
+ {
+ return toAjax(companyAppService.insertCompanyApp(companyApp));
+ }
+
+ /**
+ * 修改客户端
+ */
+ @RequiresPermissions("system:app:edit")
+ @GetMapping("/edit/{id}")
+ public String edit(@PathVariable("id") Long id, ModelMap mmap)
+ {
+ CompanyApp companyApp = companyAppService.selectCompanyAppById(id);
+ mmap.put("companyApp", companyApp);
+ return prefix + "/edit";
+ }
+
+ /**
+ * 修改保存客户端
+ */
+ @RequiresPermissions("system:app:edit")
+ @Log(title = "客户端", businessType = BusinessType.UPDATE)
+ @PostMapping("/edit")
+ @ResponseBody
+ public AjaxResult editSave(CompanyApp companyApp)
+ {
+ return toAjax(companyAppService.updateCompanyApp(companyApp));
+ }
+
+ /**
+ * 删除客户端
+ */
+ @RequiresPermissions("system:app:remove")
+ @Log(title = "客户端", businessType = BusinessType.DELETE)
+ @PostMapping( "/remove")
+ @ResponseBody
+ public AjaxResult remove(String ids)
+ {
+ return toAjax(companyAppService.deleteCompanyAppByIds(ids));
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanyController.java
new file mode 100644
index 00000000..9965b08c
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanyController.java
@@ -0,0 +1,127 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.Company;
+import com.ruoyi.system.service.ICompanyService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 广告主Controller
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Controller
+@RequestMapping("/system/company")
+public class CompanyController extends BaseController
+{
+ private String prefix = "system/company";
+
+ @Autowired
+ private ICompanyService companyService;
+
+ @RequiresPermissions("system:company:view")
+ @GetMapping()
+ public String company()
+ {
+ return prefix + "/company";
+ }
+
+ /**
+ * 查询广告主列表
+ */
+ @RequiresPermissions("system:company:list")
+ @PostMapping("/list")
+ @ResponseBody
+ public TableDataInfo list(Company company)
+ {
+ startPage();
+ List list = companyService.selectCompanyList(company);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出广告主列表
+ */
+ @RequiresPermissions("system:company:export")
+ @Log(title = "广告主", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ @ResponseBody
+ public AjaxResult export(Company company)
+ {
+ List list = companyService.selectCompanyList(company);
+ ExcelUtil util = new ExcelUtil(Company.class);
+ return util.exportExcel(list, "广告主数据");
+ }
+
+ /**
+ * 新增广告主
+ */
+ @GetMapping("/add")
+ public String add()
+ {
+ return prefix + "/add";
+ }
+
+ /**
+ * 新增保存广告主
+ */
+ @RequiresPermissions("system:company:add")
+ @Log(title = "广告主", businessType = BusinessType.INSERT)
+ @PostMapping("/add")
+ @ResponseBody
+ public AjaxResult addSave(Company company)
+ {
+ return toAjax(companyService.insertCompany(company));
+ }
+
+ /**
+ * 修改广告主
+ */
+ @RequiresPermissions("system:company:edit")
+ @GetMapping("/edit/{id}")
+ public String edit(@PathVariable("id") String id, ModelMap mmap)
+ {
+ Company company = companyService.selectCompanyById(id);
+ mmap.put("company", company);
+ return prefix + "/edit";
+ }
+
+ /**
+ * 修改保存广告主
+ */
+ @RequiresPermissions("system:company:edit")
+ @Log(title = "广告主", businessType = BusinessType.UPDATE)
+ @PostMapping("/edit")
+ @ResponseBody
+ public AjaxResult editSave(Company company)
+ {
+ return toAjax(companyService.updateCompany(company));
+ }
+
+ /**
+ * 删除广告主
+ */
+ @RequiresPermissions("system:company:remove")
+ @Log(title = "广告主", businessType = BusinessType.DELETE)
+ @PostMapping( "/remove")
+ @ResponseBody
+ public AjaxResult remove(String ids)
+ {
+ return toAjax(companyService.deleteCompanyByIds(ids));
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanySaleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanySaleController.java
new file mode 100644
index 00000000..55949af0
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/CompanySaleController.java
@@ -0,0 +1,127 @@
+package com.ruoyi.web.controller.system;
+
+import java.util.List;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.CompanySale;
+import com.ruoyi.system.service.ICompanySaleService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 广告主销售Controller
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Controller
+@RequestMapping("/system/sale")
+public class CompanySaleController extends BaseController
+{
+ private String prefix = "system/sale";
+
+ @Autowired
+ private ICompanySaleService companySaleService;
+
+ @RequiresPermissions("system:sale:view")
+ @GetMapping()
+ public String sale()
+ {
+ return prefix + "/sale";
+ }
+
+ /**
+ * 查询广告主销售列表
+ */
+ @RequiresPermissions("system:sale:list")
+ @PostMapping("/list")
+ @ResponseBody
+ public TableDataInfo list(CompanySale companySale)
+ {
+ startPage();
+ List list = companySaleService.selectCompanySaleList(companySale);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出广告主销售列表
+ */
+ @RequiresPermissions("system:sale:export")
+ @Log(title = "广告主销售", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ @ResponseBody
+ public AjaxResult export(CompanySale companySale)
+ {
+ List list = companySaleService.selectCompanySaleList(companySale);
+ ExcelUtil util = new ExcelUtil(CompanySale.class);
+ return util.exportExcel(list, "广告主销售数据");
+ }
+
+ /**
+ * 新增广告主销售
+ */
+ @GetMapping("/add")
+ public String add()
+ {
+ return prefix + "/add";
+ }
+
+ /**
+ * 新增保存广告主销售
+ */
+ @RequiresPermissions("system:sale:add")
+ @Log(title = "广告主销售", businessType = BusinessType.INSERT)
+ @PostMapping("/add")
+ @ResponseBody
+ public AjaxResult addSave(CompanySale companySale)
+ {
+ return toAjax(companySaleService.insertCompanySale(companySale));
+ }
+
+ /**
+ * 修改广告主销售
+ */
+ @RequiresPermissions("system:sale:edit")
+ @GetMapping("/edit/{id}")
+ public String edit(@PathVariable("id") Long id, ModelMap mmap)
+ {
+ CompanySale companySale = companySaleService.selectCompanySaleById(id);
+ mmap.put("companySale", companySale);
+ return prefix + "/edit";
+ }
+
+ /**
+ * 修改保存广告主销售
+ */
+ @RequiresPermissions("system:sale:edit")
+ @Log(title = "广告主销售", businessType = BusinessType.UPDATE)
+ @PostMapping("/edit")
+ @ResponseBody
+ public AjaxResult editSave(CompanySale companySale)
+ {
+ return toAjax(companySaleService.updateCompanySale(companySale));
+ }
+
+ /**
+ * 删除广告主销售
+ */
+ @RequiresPermissions("system:sale:remove")
+ @Log(title = "广告主销售", businessType = BusinessType.DELETE)
+ @PostMapping( "/remove")
+ @ResponseBody
+ public AjaxResult remove(String ids)
+ {
+ return toAjax(companySaleService.deleteCompanySaleByIds(ids));
+ }
+}
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 4cbeb8d0..d7c69003 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -16,7 +16,7 @@ ruoyi:
# 开发环境配置
server:
# 服务器的HTTP端口,默认为80
- port: 80
+ port: 8001
servlet:
# 应用的访问路径
context-path: /
diff --git a/ruoyi-admin/src/main/resources/templates/login.html b/ruoyi-admin/src/main/resources/templates/login.html
index 949a4dc8..162d6463 100644
--- a/ruoyi-admin/src/main/resources/templates/login.html
+++ b/ruoyi-admin/src/main/resources/templates/login.html
@@ -3,8 +3,8 @@
- 登录若依系统
-
+ 登录保无忧系统
+
@@ -26,10 +26,10 @@
-
![[ 若依 ]](../static/ruoyi.png)
+
![[ 保无忧 ]](../static/ruoyi.png)
-
欢迎使用 若依 后台管理系统
+
欢迎使用 保无忧 后台管理系统
- SpringBoot
- Mybatis
diff --git a/ruoyi-admin/src/main/resources/templates/system/app/add.html b/ruoyi-admin/src/main/resources/templates/system/app/add.html
new file mode 100644
index 00000000..4c92facb
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/app/add.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/app/app.html b/ruoyi-admin/src/main/resources/templates/system/app/app.html
new file mode 100644
index 00000000..780b82f3
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/app/app.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/app/edit.html b/ruoyi-admin/src/main/resources/templates/system/app/edit.html
new file mode 100644
index 00000000..24943bc1
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/app/edit.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/clew/add.html b/ruoyi-admin/src/main/resources/templates/system/clew/add.html
new file mode 100644
index 00000000..6b2432e1
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/clew/add.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/clew/clew.html b/ruoyi-admin/src/main/resources/templates/system/clew/clew.html
new file mode 100644
index 00000000..2e655d4a
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/clew/clew.html
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/clew/edit.html b/ruoyi-admin/src/main/resources/templates/system/clew/edit.html
new file mode 100644
index 00000000..04c32866
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/clew/edit.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/company/add.html b/ruoyi-admin/src/main/resources/templates/system/company/add.html
new file mode 100644
index 00000000..f60f96e8
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/company/add.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/company/company.html b/ruoyi-admin/src/main/resources/templates/system/company/company.html
new file mode 100644
index 00000000..4c2dbd4c
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/company/company.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/company/edit.html b/ruoyi-admin/src/main/resources/templates/system/company/edit.html
new file mode 100644
index 00000000..b02cbe37
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/company/edit.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/sale/add.html b/ruoyi-admin/src/main/resources/templates/system/sale/add.html
new file mode 100644
index 00000000..3b3f8e8b
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/sale/add.html
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/sale/edit.html b/ruoyi-admin/src/main/resources/templates/system/sale/edit.html
new file mode 100644
index 00000000..e4bfe7c8
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/sale/edit.html
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/templates/system/sale/sale.html b/ruoyi-admin/src/main/resources/templates/system/sale/sale.html
new file mode 100644
index 00000000..a2088c97
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/templates/system/sale/sale.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 39c65b8b..fe8cb7a5 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -95,6 +95,11 @@
javax.servlet-api
+
+ org.projectlombok
+ lombok
+
+
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Clew.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Clew.java
new file mode 100644
index 00000000..330398e6
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Clew.java
@@ -0,0 +1,125 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 线索对象 clew
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Data
+public class Clew extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键 */
+ private Long id;
+
+ /** 广告主 */
+ @Excel(name = "广告主")
+ private Long company;
+
+ /** 销售 */
+ @Excel(name = "销售")
+ private Long saleId;
+
+ /** 信息流 */
+ @Excel(name = "信息流")
+ private String infoFlow;
+
+ /** 下次跟进日期 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "下次跟进日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date nextTime;
+
+ /** 微信昵称 */
+ @Excel(name = "微信昵称")
+ private String wxName;
+
+ /** 手机号 */
+ @Excel(name = "手机号")
+ private String phone;
+
+ /** 债务类型 01.贷款 02.网贷 03.信用卡 04.其他 */
+ @Excel(name = "债务类型 01.贷款 02.网贷 03.信用卡 04.其他")
+ private String debtType;
+
+ /** 债务金额 */
+ @Excel(name = "债务金额")
+ private String debtMoney;
+
+ /** 推广来源 01.App 02.小程序 03.网页 */
+ @Excel(name = "推广来源 01.App 02.小程序 03.网页")
+ private String sourceType;
+
+ /** App来源 */
+ @Excel(name = "App来源")
+ private Long sourceApp;
+
+ /** 微信号 */
+ @Excel(name = "微信号")
+ private String wxAccount;
+
+ /** 客户状态 01.无 02.加微 */
+ @Excel(name = "客户状态 01.无 02.加微")
+ private String customerStatus;
+
+ /** 客户评级 01.无 02.无效 03.一般 04.重要 05.关键 */
+ @Excel(name = "客户评级 01.无 02.无效 03.一般 04.重要 05.关键")
+ private String customerLevel;
+
+ /** 是否长按识别二维码 0.否 1.是 */
+ @Excel(name = "是否长按识别二维码 0.否 1.是")
+ private String touchQrcode;
+
+ /** 跟进次数 */
+ @Excel(name = "跟进次数")
+ private Long contactNumber;
+
+ /** 是否触达 0.否 1.是 */
+ @Excel(name = "是否触达 0.否 1.是")
+ private String isTouch;
+
+ /** 是否加微 0.否 1.是 */
+ @Excel(name = "是否加微 0.否 1.是")
+ private String isAddWx;
+
+ /** 是否有效 0.否 1.是 */
+ @Excel(name = "是否有效 0.否 1.是")
+ private String isEffective;
+
+ /** 是否意向 0.否 1.是 */
+ @Excel(name = "是否意向 0.否 1.是")
+ private String isPlan;
+
+ /** 成交状态 0.未成交 1.已成交 */
+ @Excel(name = "成交状态 0.未成交 1.已成交")
+ private String isDeal;
+
+ /** 省份 */
+ @Excel(name = "省份")
+ private String provinceName;
+
+ /** 城市 */
+ @Excel(name = "城市")
+ private String cityName;
+
+ /** 姓名 */
+ @Excel(name = "姓名")
+ private String customerName;
+
+ /** 方便接电话时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "方便接电话时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date contactTime;
+
+ /** 其他联系方式 */
+ @Excel(name = "其他联系方式")
+ private String otherPhone;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Company.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Company.java
new file mode 100644
index 00000000..1e6a2eb8
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Company.java
@@ -0,0 +1,30 @@
+package com.ruoyi.system.domain;
+
+import lombok.Data;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 广告主对象 company
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Data
+public class Company extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键 */
+ private String id;
+
+ /** 广告主名称 */
+ @Excel(name = "广告主名称")
+ private String companyName;
+
+ /** 状态 0.启用 1.禁用 */
+ @Excel(name = "状态 0.启用 1.禁用")
+ private String status;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompanyApp.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompanyApp.java
new file mode 100644
index 00000000..d7fb7459
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompanyApp.java
@@ -0,0 +1,39 @@
+package com.ruoyi.system.domain;
+
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 客户端对象 company_app
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Data
+public class CompanyApp extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键 */
+ private Long id;
+
+ /** 广告主id */
+ @Excel(name = "广告主id")
+ private Long companyId;
+
+ /** 应用名称 */
+ @Excel(name = "应用名称")
+ private String appName;
+
+ /** app跳转的目标微信公众号 */
+ @Excel(name = "app跳转的目标微信公众号")
+ private String wxAppId;
+
+ /** 状态 0.启用 1.禁用 */
+ @Excel(name = "状态 0.启用 1.禁用")
+ private String status;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompanySale.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompanySale.java
new file mode 100644
index 00000000..0ff17880
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompanySale.java
@@ -0,0 +1,39 @@
+package com.ruoyi.system.domain;
+
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 广告主销售对象 company_sale
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Data
+public class CompanySale extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键 */
+ private Long id;
+
+ /** 客服名称 */
+ @Excel(name = "客服名称")
+ private String saleName;
+
+ /** 进量状态 0.禁止 1.启用 */
+ @Excel(name = "进量状态 0.禁止 1.启用")
+ private String isEnable;
+
+ /** 微信帐号 */
+ @Excel(name = "微信帐号")
+ private String wxAccount;
+
+ /** 微信二维码 */
+ @Excel(name = "微信二维码")
+ private String wxQrcode;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ClewMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ClewMapper.java
new file mode 100644
index 00000000..5d3dcfc5
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/ClewMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.Clew;
+
+/**
+ * 线索Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+public interface ClewMapper
+{
+ /**
+ * 查询线索
+ *
+ * @param id 线索主键
+ * @return 线索
+ */
+ public Clew selectClewById(Long id);
+
+ /**
+ * 查询线索列表
+ *
+ * @param clew 线索
+ * @return 线索集合
+ */
+ public List selectClewList(Clew clew);
+
+ /**
+ * 新增线索
+ *
+ * @param clew 线索
+ * @return 结果
+ */
+ public int insertClew(Clew clew);
+
+ /**
+ * 修改线索
+ *
+ * @param clew 线索
+ * @return 结果
+ */
+ public int updateClew(Clew clew);
+
+ /**
+ * 删除线索
+ *
+ * @param id 线索主键
+ * @return 结果
+ */
+ public int deleteClewById(Long id);
+
+ /**
+ * 批量删除线索
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteClewByIds(String[] ids);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanyAppMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanyAppMapper.java
new file mode 100644
index 00000000..e6237e2e
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanyAppMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.CompanyApp;
+
+/**
+ * 客户端Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+public interface CompanyAppMapper
+{
+ /**
+ * 查询客户端
+ *
+ * @param id 客户端主键
+ * @return 客户端
+ */
+ public CompanyApp selectCompanyAppById(Long id);
+
+ /**
+ * 查询客户端列表
+ *
+ * @param companyApp 客户端
+ * @return 客户端集合
+ */
+ public List selectCompanyAppList(CompanyApp companyApp);
+
+ /**
+ * 新增客户端
+ *
+ * @param companyApp 客户端
+ * @return 结果
+ */
+ public int insertCompanyApp(CompanyApp companyApp);
+
+ /**
+ * 修改客户端
+ *
+ * @param companyApp 客户端
+ * @return 结果
+ */
+ public int updateCompanyApp(CompanyApp companyApp);
+
+ /**
+ * 删除客户端
+ *
+ * @param id 客户端主键
+ * @return 结果
+ */
+ public int deleteCompanyAppById(Long id);
+
+ /**
+ * 批量删除客户端
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCompanyAppByIds(String[] ids);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanyMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanyMapper.java
new file mode 100644
index 00000000..5115cc48
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanyMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.Company;
+
+/**
+ * 广告主Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+public interface CompanyMapper
+{
+ /**
+ * 查询广告主
+ *
+ * @param id 广告主主键
+ * @return 广告主
+ */
+ public Company selectCompanyById(String id);
+
+ /**
+ * 查询广告主列表
+ *
+ * @param company 广告主
+ * @return 广告主集合
+ */
+ public List selectCompanyList(Company company);
+
+ /**
+ * 新增广告主
+ *
+ * @param company 广告主
+ * @return 结果
+ */
+ public int insertCompany(Company company);
+
+ /**
+ * 修改广告主
+ *
+ * @param company 广告主
+ * @return 结果
+ */
+ public int updateCompany(Company company);
+
+ /**
+ * 删除广告主
+ *
+ * @param id 广告主主键
+ * @return 结果
+ */
+ public int deleteCompanyById(String id);
+
+ /**
+ * 批量删除广告主
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCompanyByIds(String[] ids);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanySaleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanySaleMapper.java
new file mode 100644
index 00000000..c58847fc
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompanySaleMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.CompanySale;
+
+/**
+ * 广告主销售Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+public interface CompanySaleMapper
+{
+ /**
+ * 查询广告主销售
+ *
+ * @param id 广告主销售主键
+ * @return 广告主销售
+ */
+ public CompanySale selectCompanySaleById(Long id);
+
+ /**
+ * 查询广告主销售列表
+ *
+ * @param companySale 广告主销售
+ * @return 广告主销售集合
+ */
+ public List selectCompanySaleList(CompanySale companySale);
+
+ /**
+ * 新增广告主销售
+ *
+ * @param companySale 广告主销售
+ * @return 结果
+ */
+ public int insertCompanySale(CompanySale companySale);
+
+ /**
+ * 修改广告主销售
+ *
+ * @param companySale 广告主销售
+ * @return 结果
+ */
+ public int updateCompanySale(CompanySale companySale);
+
+ /**
+ * 删除广告主销售
+ *
+ * @param id 广告主销售主键
+ * @return 结果
+ */
+ public int deleteCompanySaleById(Long id);
+
+ /**
+ * 批量删除广告主销售
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteCompanySaleByIds(String[] ids);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IClewService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IClewService.java
new file mode 100644
index 00000000..8f085f11
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IClewService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.Clew;
+
+/**
+ * 线索Service接口
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+public interface IClewService
+{
+ /**
+ * 查询线索
+ *
+ * @param id 线索主键
+ * @return 线索
+ */
+ public Clew selectClewById(Long id);
+
+ /**
+ * 查询线索列表
+ *
+ * @param clew 线索
+ * @return 线索集合
+ */
+ public List selectClewList(Clew clew);
+
+ /**
+ * 新增线索
+ *
+ * @param clew 线索
+ * @return 结果
+ */
+ public int insertClew(Clew clew);
+
+ /**
+ * 修改线索
+ *
+ * @param clew 线索
+ * @return 结果
+ */
+ public int updateClew(Clew clew);
+
+ /**
+ * 批量删除线索
+ *
+ * @param ids 需要删除的线索主键集合
+ * @return 结果
+ */
+ public int deleteClewByIds(String ids);
+
+ /**
+ * 删除线索信息
+ *
+ * @param id 线索主键
+ * @return 结果
+ */
+ public int deleteClewById(Long id);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanyAppService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanyAppService.java
new file mode 100644
index 00000000..695be036
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanyAppService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.CompanyApp;
+
+/**
+ * 客户端Service接口
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+public interface ICompanyAppService
+{
+ /**
+ * 查询客户端
+ *
+ * @param id 客户端主键
+ * @return 客户端
+ */
+ public CompanyApp selectCompanyAppById(Long id);
+
+ /**
+ * 查询客户端列表
+ *
+ * @param companyApp 客户端
+ * @return 客户端集合
+ */
+ public List selectCompanyAppList(CompanyApp companyApp);
+
+ /**
+ * 新增客户端
+ *
+ * @param companyApp 客户端
+ * @return 结果
+ */
+ public int insertCompanyApp(CompanyApp companyApp);
+
+ /**
+ * 修改客户端
+ *
+ * @param companyApp 客户端
+ * @return 结果
+ */
+ public int updateCompanyApp(CompanyApp companyApp);
+
+ /**
+ * 批量删除客户端
+ *
+ * @param ids 需要删除的客户端主键集合
+ * @return 结果
+ */
+ public int deleteCompanyAppByIds(String ids);
+
+ /**
+ * 删除客户端信息
+ *
+ * @param id 客户端主键
+ * @return 结果
+ */
+ public int deleteCompanyAppById(Long id);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanySaleService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanySaleService.java
new file mode 100644
index 00000000..25cb2abc
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanySaleService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.CompanySale;
+
+/**
+ * 广告主销售Service接口
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+public interface ICompanySaleService
+{
+ /**
+ * 查询广告主销售
+ *
+ * @param id 广告主销售主键
+ * @return 广告主销售
+ */
+ public CompanySale selectCompanySaleById(Long id);
+
+ /**
+ * 查询广告主销售列表
+ *
+ * @param companySale 广告主销售
+ * @return 广告主销售集合
+ */
+ public List selectCompanySaleList(CompanySale companySale);
+
+ /**
+ * 新增广告主销售
+ *
+ * @param companySale 广告主销售
+ * @return 结果
+ */
+ public int insertCompanySale(CompanySale companySale);
+
+ /**
+ * 修改广告主销售
+ *
+ * @param companySale 广告主销售
+ * @return 结果
+ */
+ public int updateCompanySale(CompanySale companySale);
+
+ /**
+ * 批量删除广告主销售
+ *
+ * @param ids 需要删除的广告主销售主键集合
+ * @return 结果
+ */
+ public int deleteCompanySaleByIds(String ids);
+
+ /**
+ * 删除广告主销售信息
+ *
+ * @param id 广告主销售主键
+ * @return 结果
+ */
+ public int deleteCompanySaleById(Long id);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanyService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanyService.java
new file mode 100644
index 00000000..5c38c6a2
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompanyService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.Company;
+
+/**
+ * 广告主Service接口
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+public interface ICompanyService
+{
+ /**
+ * 查询广告主
+ *
+ * @param id 广告主主键
+ * @return 广告主
+ */
+ public Company selectCompanyById(String id);
+
+ /**
+ * 查询广告主列表
+ *
+ * @param company 广告主
+ * @return 广告主集合
+ */
+ public List selectCompanyList(Company company);
+
+ /**
+ * 新增广告主
+ *
+ * @param company 广告主
+ * @return 结果
+ */
+ public int insertCompany(Company company);
+
+ /**
+ * 修改广告主
+ *
+ * @param company 广告主
+ * @return 结果
+ */
+ public int updateCompany(Company company);
+
+ /**
+ * 批量删除广告主
+ *
+ * @param ids 需要删除的广告主主键集合
+ * @return 结果
+ */
+ public int deleteCompanyByIds(String ids);
+
+ /**
+ * 删除广告主信息
+ *
+ * @param id 广告主主键
+ * @return 结果
+ */
+ public int deleteCompanyById(String id);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClewServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClewServiceImpl.java
new file mode 100644
index 00000000..0df57371
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ClewServiceImpl.java
@@ -0,0 +1,97 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.ClewMapper;
+import com.ruoyi.system.domain.Clew;
+import com.ruoyi.system.service.IClewService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 线索Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Service
+public class ClewServiceImpl implements IClewService
+{
+ @Autowired
+ private ClewMapper clewMapper;
+
+ /**
+ * 查询线索
+ *
+ * @param id 线索主键
+ * @return 线索
+ */
+ @Override
+ public Clew selectClewById(Long id)
+ {
+ return clewMapper.selectClewById(id);
+ }
+
+ /**
+ * 查询线索列表
+ *
+ * @param clew 线索
+ * @return 线索
+ */
+ @Override
+ public List selectClewList(Clew clew)
+ {
+ return clewMapper.selectClewList(clew);
+ }
+
+ /**
+ * 新增线索
+ *
+ * @param clew 线索
+ * @return 结果
+ */
+ @Override
+ public int insertClew(Clew clew)
+ {
+ clew.setCreateTime(DateUtils.getNowDate());
+ return clewMapper.insertClew(clew);
+ }
+
+ /**
+ * 修改线索
+ *
+ * @param clew 线索
+ * @return 结果
+ */
+ @Override
+ public int updateClew(Clew clew)
+ {
+ clew.setUpdateTime(DateUtils.getNowDate());
+ return clewMapper.updateClew(clew);
+ }
+
+ /**
+ * 批量删除线索
+ *
+ * @param ids 需要删除的线索主键
+ * @return 结果
+ */
+ @Override
+ public int deleteClewByIds(String ids)
+ {
+ return clewMapper.deleteClewByIds(Convert.toStrArray(ids));
+ }
+
+ /**
+ * 删除线索信息
+ *
+ * @param id 线索主键
+ * @return 结果
+ */
+ @Override
+ public int deleteClewById(Long id)
+ {
+ return clewMapper.deleteClewById(id);
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanyAppServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanyAppServiceImpl.java
new file mode 100644
index 00000000..23f6ab61
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanyAppServiceImpl.java
@@ -0,0 +1,97 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.CompanyAppMapper;
+import com.ruoyi.system.domain.CompanyApp;
+import com.ruoyi.system.service.ICompanyAppService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 客户端Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Service
+public class CompanyAppServiceImpl implements ICompanyAppService
+{
+ @Autowired
+ private CompanyAppMapper companyAppMapper;
+
+ /**
+ * 查询客户端
+ *
+ * @param id 客户端主键
+ * @return 客户端
+ */
+ @Override
+ public CompanyApp selectCompanyAppById(Long id)
+ {
+ return companyAppMapper.selectCompanyAppById(id);
+ }
+
+ /**
+ * 查询客户端列表
+ *
+ * @param companyApp 客户端
+ * @return 客户端
+ */
+ @Override
+ public List selectCompanyAppList(CompanyApp companyApp)
+ {
+ return companyAppMapper.selectCompanyAppList(companyApp);
+ }
+
+ /**
+ * 新增客户端
+ *
+ * @param companyApp 客户端
+ * @return 结果
+ */
+ @Override
+ public int insertCompanyApp(CompanyApp companyApp)
+ {
+ companyApp.setCreateTime(DateUtils.getNowDate());
+ return companyAppMapper.insertCompanyApp(companyApp);
+ }
+
+ /**
+ * 修改客户端
+ *
+ * @param companyApp 客户端
+ * @return 结果
+ */
+ @Override
+ public int updateCompanyApp(CompanyApp companyApp)
+ {
+ companyApp.setUpdateTime(DateUtils.getNowDate());
+ return companyAppMapper.updateCompanyApp(companyApp);
+ }
+
+ /**
+ * 批量删除客户端
+ *
+ * @param ids 需要删除的客户端主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCompanyAppByIds(String ids)
+ {
+ return companyAppMapper.deleteCompanyAppByIds(Convert.toStrArray(ids));
+ }
+
+ /**
+ * 删除客户端信息
+ *
+ * @param id 客户端主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCompanyAppById(Long id)
+ {
+ return companyAppMapper.deleteCompanyAppById(id);
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanySaleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanySaleServiceImpl.java
new file mode 100644
index 00000000..9ced217a
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanySaleServiceImpl.java
@@ -0,0 +1,97 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.CompanySaleMapper;
+import com.ruoyi.system.domain.CompanySale;
+import com.ruoyi.system.service.ICompanySaleService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 广告主销售Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Service
+public class CompanySaleServiceImpl implements ICompanySaleService
+{
+ @Autowired
+ private CompanySaleMapper companySaleMapper;
+
+ /**
+ * 查询广告主销售
+ *
+ * @param id 广告主销售主键
+ * @return 广告主销售
+ */
+ @Override
+ public CompanySale selectCompanySaleById(Long id)
+ {
+ return companySaleMapper.selectCompanySaleById(id);
+ }
+
+ /**
+ * 查询广告主销售列表
+ *
+ * @param companySale 广告主销售
+ * @return 广告主销售
+ */
+ @Override
+ public List selectCompanySaleList(CompanySale companySale)
+ {
+ return companySaleMapper.selectCompanySaleList(companySale);
+ }
+
+ /**
+ * 新增广告主销售
+ *
+ * @param companySale 广告主销售
+ * @return 结果
+ */
+ @Override
+ public int insertCompanySale(CompanySale companySale)
+ {
+ companySale.setCreateTime(DateUtils.getNowDate());
+ return companySaleMapper.insertCompanySale(companySale);
+ }
+
+ /**
+ * 修改广告主销售
+ *
+ * @param companySale 广告主销售
+ * @return 结果
+ */
+ @Override
+ public int updateCompanySale(CompanySale companySale)
+ {
+ companySale.setUpdateTime(DateUtils.getNowDate());
+ return companySaleMapper.updateCompanySale(companySale);
+ }
+
+ /**
+ * 批量删除广告主销售
+ *
+ * @param ids 需要删除的广告主销售主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCompanySaleByIds(String ids)
+ {
+ return companySaleMapper.deleteCompanySaleByIds(Convert.toStrArray(ids));
+ }
+
+ /**
+ * 删除广告主销售信息
+ *
+ * @param id 广告主销售主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCompanySaleById(Long id)
+ {
+ return companySaleMapper.deleteCompanySaleById(id);
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanyServiceImpl.java
new file mode 100644
index 00000000..1657be32
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompanyServiceImpl.java
@@ -0,0 +1,97 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.CompanyMapper;
+import com.ruoyi.system.domain.Company;
+import com.ruoyi.system.service.ICompanyService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 广告主Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-05-15
+ */
+@Service
+public class CompanyServiceImpl implements ICompanyService
+{
+ @Autowired
+ private CompanyMapper companyMapper;
+
+ /**
+ * 查询广告主
+ *
+ * @param id 广告主主键
+ * @return 广告主
+ */
+ @Override
+ public Company selectCompanyById(String id)
+ {
+ return companyMapper.selectCompanyById(id);
+ }
+
+ /**
+ * 查询广告主列表
+ *
+ * @param company 广告主
+ * @return 广告主
+ */
+ @Override
+ public List selectCompanyList(Company company)
+ {
+ return companyMapper.selectCompanyList(company);
+ }
+
+ /**
+ * 新增广告主
+ *
+ * @param company 广告主
+ * @return 结果
+ */
+ @Override
+ public int insertCompany(Company company)
+ {
+ company.setCreateTime(DateUtils.getNowDate());
+ return companyMapper.insertCompany(company);
+ }
+
+ /**
+ * 修改广告主
+ *
+ * @param company 广告主
+ * @return 结果
+ */
+ @Override
+ public int updateCompany(Company company)
+ {
+ company.setUpdateTime(DateUtils.getNowDate());
+ return companyMapper.updateCompany(company);
+ }
+
+ /**
+ * 批量删除广告主
+ *
+ * @param ids 需要删除的广告主主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCompanyByIds(String ids)
+ {
+ return companyMapper.deleteCompanyByIds(Convert.toStrArray(ids));
+ }
+
+ /**
+ * 删除广告主信息
+ *
+ * @param id 广告主主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCompanyById(String id)
+ {
+ return companyMapper.deleteCompanyById(id);
+ }
+}
diff --git a/ruoyi-system/src/main/resources/mapper/system/ClewMapper.xml b/ruoyi-system/src/main/resources/mapper/system/ClewMapper.xml
new file mode 100644
index 00000000..ccaf2b03
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/ClewMapper.xml
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, company, sale_id, info_flow, next_time, wx_name, phone, debt_type, debt_money, source_type, source_app, wx_account, customer_status, customer_level, touch_qrcode, contact_number, is_touch, is_add_wx, is_effective, is_plan, is_deal, province_name, city_name, customer_name, contact_time, other_phone, create_time, create_by, update_by, update_time, remark from clew
+
+
+
+
+
+
+
+ insert into clew
+
+ company,
+ sale_id,
+ info_flow,
+ next_time,
+ wx_name,
+ phone,
+ debt_type,
+ debt_money,
+ source_type,
+ source_app,
+ wx_account,
+ customer_status,
+ customer_level,
+ touch_qrcode,
+ contact_number,
+ is_touch,
+ is_add_wx,
+ is_effective,
+ is_plan,
+ is_deal,
+ province_name,
+ city_name,
+ customer_name,
+ contact_time,
+ other_phone,
+ create_time,
+ create_by,
+ update_by,
+ update_time,
+ remark,
+
+
+ #{company},
+ #{saleId},
+ #{infoFlow},
+ #{nextTime},
+ #{wxName},
+ #{phone},
+ #{debtType},
+ #{debtMoney},
+ #{sourceType},
+ #{sourceApp},
+ #{wxAccount},
+ #{customerStatus},
+ #{customerLevel},
+ #{touchQrcode},
+ #{contactNumber},
+ #{isTouch},
+ #{isAddWx},
+ #{isEffective},
+ #{isPlan},
+ #{isDeal},
+ #{provinceName},
+ #{cityName},
+ #{customerName},
+ #{contactTime},
+ #{otherPhone},
+ #{createTime},
+ #{createBy},
+ #{updateBy},
+ #{updateTime},
+ #{remark},
+
+
+
+
+ update clew
+
+ company = #{company},
+ sale_id = #{saleId},
+ info_flow = #{infoFlow},
+ next_time = #{nextTime},
+ wx_name = #{wxName},
+ phone = #{phone},
+ debt_type = #{debtType},
+ debt_money = #{debtMoney},
+ source_type = #{sourceType},
+ source_app = #{sourceApp},
+ wx_account = #{wxAccount},
+ customer_status = #{customerStatus},
+ customer_level = #{customerLevel},
+ touch_qrcode = #{touchQrcode},
+ contact_number = #{contactNumber},
+ is_touch = #{isTouch},
+ is_add_wx = #{isAddWx},
+ is_effective = #{isEffective},
+ is_plan = #{isPlan},
+ is_deal = #{isDeal},
+ province_name = #{provinceName},
+ city_name = #{cityName},
+ customer_name = #{customerName},
+ contact_time = #{contactTime},
+ other_phone = #{otherPhone},
+ create_time = #{createTime},
+ create_by = #{createBy},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ remark = #{remark},
+
+ where id = #{id}
+
+
+
+ delete from clew where id = #{id}
+
+
+
+ delete from clew where id in
+
+ #{id}
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/CompanyAppMapper.xml b/ruoyi-system/src/main/resources/mapper/system/CompanyAppMapper.xml
new file mode 100644
index 00000000..237892e0
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/CompanyAppMapper.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, company_id, app_name, wx_app_id, status, create_time, create_by, update_by, update_time, remark from company_app
+
+
+
+
+
+
+
+ insert into company_app
+
+ company_id,
+ app_name,
+ wx_app_id,
+ status,
+ create_time,
+ create_by,
+ update_by,
+ update_time,
+ remark,
+
+
+ #{companyId},
+ #{appName},
+ #{wxAppId},
+ #{status},
+ #{createTime},
+ #{createBy},
+ #{updateBy},
+ #{updateTime},
+ #{remark},
+
+
+
+
+ update company_app
+
+ company_id = #{companyId},
+ app_name = #{appName},
+ wx_app_id = #{wxAppId},
+ status = #{status},
+ create_time = #{createTime},
+ create_by = #{createBy},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ remark = #{remark},
+
+ where id = #{id}
+
+
+
+ delete from company_app where id = #{id}
+
+
+
+ delete from company_app where id in
+
+ #{id}
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/CompanyMapper.xml b/ruoyi-system/src/main/resources/mapper/system/CompanyMapper.xml
new file mode 100644
index 00000000..c4e02fe5
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/CompanyMapper.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, company_name, status, create_by, create_time, update_by, update_time, remark from company
+
+
+
+
+
+
+
+ insert into company
+
+ company_name,
+ status,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ remark,
+
+
+ #{companyName},
+ #{status},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+ #{remark},
+
+
+
+
+ update company
+
+ company_name = #{companyName},
+ status = #{status},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ remark = #{remark},
+
+ where id = #{id}
+
+
+
+ delete from company where id = #{id}
+
+
+
+ delete from company where id in
+
+ #{id}
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/CompanySaleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/CompanySaleMapper.xml
new file mode 100644
index 00000000..57e379f5
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/CompanySaleMapper.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, sale_name, is_enable, wx_account, wx_qrcode, create_by, create_time, update_by, update_time, remark from company_sale
+
+
+
+
+
+
+
+ insert into company_sale
+
+ sale_name,
+ is_enable,
+ wx_account,
+ wx_qrcode,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ remark,
+
+
+ #{saleName},
+ #{isEnable},
+ #{wxAccount},
+ #{wxQrcode},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+ #{remark},
+
+
+
+
+ update company_sale
+
+ sale_name = #{saleName},
+ is_enable = #{isEnable},
+ wx_account = #{wxAccount},
+ wx_qrcode = #{wxQrcode},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ remark = #{remark},
+
+ where id = #{id}
+
+
+
+ delete from company_sale where id = #{id}
+
+
+
+ delete from company_sale where id in
+
+ #{id}
+
+
+
+
\ No newline at end of file