Procházet zdrojové kódy

update 客户管理修复

ct před 2 měsíci
rodič
revize
0b371dde86

+ 116 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyDeptController.java

@@ -0,0 +1,116 @@
+package com.fs.company;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.CompanyDept;
+import com.fs.company.service.ICompanyDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+@RestController
+@RequestMapping("/company/companyDept")
+public class CompanyDeptController extends BaseController
+{
+    @Autowired
+    private ICompanyDeptService companyDeptService;
+
+    /**
+     * 查询部门列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDept:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyDept companyDept)
+    {
+        startPage();
+        List<CompanyDept> list = companyDeptService.selectCompanyDeptList(companyDept);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出部门列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDept:export')")
+    @Log(title = "部门", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanyDept companyDept)
+    {
+        List<CompanyDept> list = companyDeptService.selectCompanyDeptList(companyDept);
+        ExcelUtil<CompanyDept> util = new ExcelUtil<CompanyDept>(CompanyDept.class);
+        return util.exportExcel(list, "companyDept");
+    }
+
+    /**
+     * 获取部门详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDept:query')")
+    @GetMapping(value = "/{deptId}")
+    public AjaxResult getInfo(@PathVariable("deptId") Long deptId)
+    {
+        return AjaxResult.success(companyDeptService.selectCompanyDeptById(deptId));
+    }
+
+    /**
+     * 新增部门
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDept:add')")
+    @Log(title = "部门", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanyDept companyDept)
+    {
+        return toAjax(companyDeptService.insertCompanyDept(companyDept));
+    }
+
+    /**
+     * 修改部门
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDept:edit')")
+    @Log(title = "部门", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanyDept companyDept)
+    {
+        return toAjax(companyDeptService.updateCompanyDept(companyDept));
+    }
+
+    /**
+     * 删除部门
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyDept:remove')")
+    @Log(title = "部门", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{deptIds}")
+    public AjaxResult remove(@PathVariable Long[] deptIds)
+    {
+        return toAjax(companyDeptService.deleteCompanyDeptByIds(deptIds));
+    }
+
+    /**
+     * 获取部门下拉树列表
+     */
+    @GetMapping("/treeselect")
+    public AjaxResult treeselect(CompanyDept dept)
+    {
+        dept.setStatus("0");
+        List<CompanyDept> depts = companyDeptService.selectCompanyDeptList(dept);
+        return AjaxResult.success(companyDeptService.buildDeptTreeSelect(depts));
+    }
+
+    /**
+     * 获取部门下拉树列表
+     */
+    @GetMapping("/treeselectByCompanyId/{companyId}")
+    public AjaxResult treeselectByCompanyId(@PathVariable("companyId") Long companyId)
+    {
+        CompanyDept dept = new CompanyDept();
+        dept.setStatus("0");
+        dept.setCompanyId(companyId);
+        List<CompanyDept> depts = companyDeptService.selectCompanyDeptList(dept);
+        return AjaxResult.success(companyDeptService.buildDeptTreeSelect(depts));
+    }
+}

+ 115 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyWxAccountController.java

@@ -0,0 +1,115 @@
+package com.fs.company;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.CompanyWxAccount;
+import com.fs.company.service.ICompanyWxAccountService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 企微账号Controller
+ * 
+ * @author fs
+ * @date 2024-12-09
+ */
+@RestController
+@RequestMapping("/company/companyWx")
+public class CompanyWxAccountController extends BaseController
+{
+    @Autowired
+    private ICompanyWxAccountService companyWxEnterpriseAccountService;
+
+    /**
+     * 查询企微账号列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyWx:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyWxAccount companyWxAccount)
+    {
+        startPage();
+        List<CompanyWxAccount> list = companyWxEnterpriseAccountService.selectCompanyWxAccountList(companyWxAccount);
+        return getDataTable(list);
+    }
+    /**
+     * 查询企微账号列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyWx:list')")
+    @GetMapping("/listAll")
+    public R listAll(CompanyWxAccount companyWxAccount){
+        List<CompanyWxAccount> list = companyWxEnterpriseAccountService.selectCompanyWxAccountList(companyWxAccount);
+        return R.ok().put("data", list);
+    }
+
+    /**
+     * 导出企微账号列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyWx:export')")
+    @Log(title = "企微账号", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanyWxAccount companyWxAccount)
+    {
+        List<CompanyWxAccount> list = companyWxEnterpriseAccountService.selectCompanyWxAccountList(companyWxAccount);
+        ExcelUtil<CompanyWxAccount> util = new ExcelUtil<CompanyWxAccount>(CompanyWxAccount.class);
+        return util.exportExcel(list, "companyWx");
+    }
+
+    /**
+     * 获取企微账号详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyWx:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(companyWxEnterpriseAccountService.selectCompanyWxAccountById(id));
+    }
+
+    /**
+     * 新增企微账号
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyWx:add')")
+    @Log(title = "企微账号", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanyWxAccount companyWxAccount)
+    {
+        return toAjax(companyWxEnterpriseAccountService.insertCompanyWxAccount(companyWxAccount));
+    }
+
+    /**
+     * 修改企微账号
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyWx:edit')")
+    @Log(title = "企微账号", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanyWxAccount companyWxAccount)
+    {
+        return toAjax(companyWxEnterpriseAccountService.updateCompanyWxAccount(companyWxAccount));
+    }
+
+    /**
+     * 删除企微账号
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyWx:remove')")
+    @Log(title = "企微账号", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(companyWxEnterpriseAccountService.deleteCompanyWxAccountByIds(ids));
+    }
+    /**
+     * 删除企微账号
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyWx:list')")
+	@GetMapping("/companyListAll")
+    public R companyListAll(){
+        return R.ok().put("data", companyWxEnterpriseAccountService.companyListAll());
+    }
+}

+ 125 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyWxClientController.java

@@ -0,0 +1,125 @@
+package com.fs.company;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.CompanyWxClient;
+import com.fs.company.service.ICompanyVoiceRoboticService;
+import com.fs.company.service.ICompanyWxClientService;
+import com.fs.company.vo.AddWxClientVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * 添加个微信账号Controller
+ * 
+ * @author fs
+ * @date 2024-12-09
+ */
+@RestController
+@RequestMapping("/company/companyClient")
+public class CompanyWxClientController extends BaseController
+{
+    @Autowired
+    private ICompanyWxClientService companyWxClientService;
+    @Autowired
+    private ICompanyVoiceRoboticService companyVoiceRoboticService;
+
+    /**
+     * 查询添加个微信账号列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyClient:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyWxClient companyWxClient){
+        startPage();
+        List<CompanyWxClient> list = companyWxClientService.selectCompanyWxClientList(companyWxClient);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出添加个微信账号列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyClient:export')")
+    @Log(title = "添加个微信账号", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanyWxClient companyWxClient)
+    {
+        List<CompanyWxClient> list = companyWxClientService.selectCompanyWxClientList(companyWxClient);
+        ExcelUtil<CompanyWxClient> util = new ExcelUtil<CompanyWxClient>(CompanyWxClient.class);
+        return util.exportExcel(list, "companyClient");
+    }
+
+    /**
+     * 获取添加个微信账号详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyClient:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(companyWxClientService.selectCompanyWxClientById(id));
+    }
+
+    /**
+     * 新增添加个微信账号
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyClient:add')")
+    @Log(title = "添加个微信账号", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanyWxClient companyWxClient)
+    {
+        return toAjax(companyWxClientService.insertCompanyWxClient(companyWxClient));
+    }
+
+    /**
+     * 修改添加个微信账号
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyClient:edit')")
+    @Log(title = "添加个微信账号", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanyWxClient companyWxClient)
+    {
+        return toAjax(companyWxClientService.updateCompanyWxClient(companyWxClient));
+    }
+
+    /**
+     * 删除添加个微信账号
+     */
+    @PreAuthorize("@ss.hasPermi('company:companyClient:remove')")
+    @Log(title = "添加个微信账号", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids){
+        return toAjax(companyWxClientService.deleteCompanyWxClientByIds(ids));
+    }
+
+
+    @PostMapping("/addWxClient")
+    @Transactional
+    public R addWxClient(@RequestBody AddWxClientVo vo){
+        companyVoiceRoboticService.addCompany(vo);
+        return R.ok();
+    }
+    @GetMapping("/addWxStatistics")
+    @Transactional
+    public R addWxStatistics(CompanyWxClient companyWxClient){
+        List<CompanyWxClient> clients = companyWxClientService.selectCompanyWxClientList(companyWxClient);
+        LocalDate now = LocalDate.now();
+        return R.ok()
+                .put("totalNum", clients.size())
+                .put("toDayAddNum", clients.stream().filter(e -> e.getIsAdd() == 1 && e.getAddTime() != null && e.getAddTime().toLocalDate().equals(now)).count());
+    }
+
+    @GetMapping("/toDayAddWxAccountList")
+    @Transactional
+    public R toDayAddWxAccountList(Long companyId, Long accountId){
+        return R.ok().put("data", companyWxClientService.toDayAddWxAccountList(companyId, accountId, 0));
+    }
+}

+ 104 - 0
fs-admin-saas/src/main/java/com/fs/company/CompanyWxDialogController.java

@@ -0,0 +1,104 @@
+package com.fs.company;
+
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.CompanyWxDialog;
+import com.fs.company.service.ICompanyWxDialogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 添加微信话术Controller
+ * 
+ * @author fs
+ * @date 2024-12-06
+ */
+@RestController
+@RequestMapping("/company/wxDialog")
+public class CompanyWxDialogController extends BaseController
+{
+    @Autowired
+    private ICompanyWxDialogService companyWxDialogService;
+
+    /**
+     * 查询添加微信话术列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:wxDialog:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CompanyWxDialog companyWxDialog)
+    {
+        startPage();
+        List<CompanyWxDialog> list = companyWxDialogService.selectCompanyWxDialogList(companyWxDialog);
+        return getDataTable(list);
+    }
+
+    @PreAuthorize("@ss.hasPermi('company:wxDialog:list')")
+    @GetMapping("/listAll")
+    public R listAll(CompanyWxDialog companyWxDialog){
+        return R.ok().put("data", companyWxDialogService.selectCompanyWxDialogList(companyWxDialog));
+    }
+
+    /**
+     * 导出添加微信话术列表
+     */
+    @PreAuthorize("@ss.hasPermi('company:wxDialog:export')")
+    @Log(title = "添加微信话术", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(CompanyWxDialog companyWxDialog)
+    {
+        List<CompanyWxDialog> list = companyWxDialogService.selectCompanyWxDialogList(companyWxDialog);
+        ExcelUtil<CompanyWxDialog> util = new ExcelUtil<CompanyWxDialog>(CompanyWxDialog.class);
+        return util.exportExcel(list, "wxDialog");
+    }
+
+    /**
+     * 获取添加微信话术详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('company:wxDialog:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(companyWxDialogService.selectCompanyWxDialogById(id));
+    }
+
+    /**
+     * 新增添加微信话术
+     */
+    @PreAuthorize("@ss.hasPermi('company:wxDialog:add')")
+    @Log(title = "添加微信话术", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CompanyWxDialog companyWxDialog)
+    {
+        return toAjax(companyWxDialogService.insertCompanyWxDialog(companyWxDialog));
+    }
+
+    /**
+     * 修改添加微信话术
+     */
+    @PreAuthorize("@ss.hasPermi('company:wxDialog:edit')")
+    @Log(title = "添加微信话术", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CompanyWxDialog companyWxDialog)
+    {
+        return toAjax(companyWxDialogService.updateCompanyWxDialog(companyWxDialog));
+    }
+
+    /**
+     * 删除添加微信话术
+     */
+    @PreAuthorize("@ss.hasPermi('company:wxDialog:remove')")
+    @Log(title = "添加微信话术", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(companyWxDialogService.deleteCompanyWxDialogByIds(ids));
+    }
+}

+ 15 - 15
fs-admin-saas/src/main/java/com/fs/crm/controller/CrmCustomerController.java

@@ -8,6 +8,7 @@ import com.fs.common.core.domain.entity.SysRole;
 import com.fs.common.core.domain.entity.SysUser;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
+import com.fs.common.utils.SecurityUtils;
 import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.poi.ExcelUtil;
@@ -214,21 +215,20 @@ public class CrmCustomerController extends BaseController
     @Autowired
     private ISysRoleService sysRoleService;
     private SysRole isCheckPermission() {
-//        SysRole sysRole = new SysRole();
-//        SysUser user = SecurityUtils.getLoginUser().getUser();
-//        boolean flag = user.isAdmin();
-//        if (flag) {
-//            sysRole.setIsCheckPhone(1);
-//            sysRole.setIsCheckAddress(1);
-//        } else {
-//            List<SysRole> roles = user.getRoles();
-//            if (roles != null && !roles.isEmpty()) {
-//                Long[] roleIds = roles.stream().map(SysRole::getRoleId).toArray(Long[]::new);
-//                return sysRoleService.getIsCheckPermission(roleIds);
-//            }
-//        }
-//        return sysRole;
-        throw new RuntimeException("未实现");
+        SysRole sysRole = new SysRole();
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        boolean flag = user.isAdmin();
+        if (flag) {
+            sysRole.setIsCheckPhone(1);
+            sysRole.setIsCheckAddress(1);
+        } else {
+            List<SysRole> roles = user.getRoles();
+            if (roles != null && !roles.isEmpty()) {
+                Long[] roleIds = roles.stream().map(SysRole::getRoleId).toArray(Long[]::new);
+                return sysRoleService.getIsCheckPermission(roleIds);
+            }
+        }
+        return sysRole;
     }