zx 2 týždňov pred
rodič
commit
928a5d2501

+ 106 - 0
fs-admin/src/main/java/com/fs/qw/controller/FsAppContactWayController.java

@@ -0,0 +1,106 @@
+package com.fs.qw.controller;
+
+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.qw.domain.FsAppContactWay;
+import com.fs.qw.service.IFsAppContactWayService;
+import com.fs.qw.vo.FsAppContactWayListVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * app客服活码上架Controller
+ *
+ * @author fs
+ * @date 2024-12-02
+ */
+@RestController
+@RequestMapping("/qw/appContactWay")
+public class FsAppContactWayController extends BaseController
+{
+    @Autowired
+    private IFsAppContactWayService fsAppContactWayService;
+
+    /**
+     * 查询app客服活码上架列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:appContactWay:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsAppContactWay fsAppContactWay)
+    {
+        startPage();
+        List<FsAppContactWayListVO> list = fsAppContactWayService.selectFsAppContactWayListVO(fsAppContactWay);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出app客服活码上架列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:appContactWay:export')")
+    @Log(title = "app客服活码上架", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsAppContactWay fsAppContactWay)
+    {
+        List<FsAppContactWay> list = fsAppContactWayService.selectFsAppContactWayList(fsAppContactWay);
+        ExcelUtil<FsAppContactWay> util = new ExcelUtil<FsAppContactWay>(FsAppContactWay.class);
+        return util.exportExcel(list, "app客服活码上架数据");
+    }
+
+    /**
+     * 获取app客服活码上架详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:appContactWay:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(fsAppContactWayService.selectFsAppContactWayById(id));
+    }
+
+    /**
+     * 新增app客服活码上架
+     */
+    @PreAuthorize("@ss.hasPermi('qw:appContactWay:add')")
+    @Log(title = "app客服活码上架", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsAppContactWay fsAppContactWay)
+    {
+        return toAjax(fsAppContactWayService.insertFsAppContactWay(fsAppContactWay));
+    }
+
+    /**
+     * 修改app客服活码上架
+     */
+    @PreAuthorize("@ss.hasPermi('qw:appContactWay:edit')")
+    @Log(title = "app客服活码上架", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsAppContactWay fsAppContactWay)
+    {
+        return toAjax(fsAppContactWayService.updateFsAppContactWay(fsAppContactWay));
+    }
+
+    /**
+     * 删除app客服活码上架
+     */
+    @PreAuthorize("@ss.hasPermi('qw:appContactWay:remove')")
+    @Log(title = "app客服活码上架", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fsAppContactWayService.deleteFsAppContactWayByIds(ids));
+    }
+
+
+    @Log(title = "活码上架", businessType = BusinessType.UPDATE)
+    @PostMapping("/updateIsShow")
+    public AjaxResult updateIsShow(@RequestBody FsAppContactWay fsAppContactWay)
+    {
+        return toAjax(fsAppContactWayService.updateFsAppContactWay(fsAppContactWay));
+    }
+}

+ 99 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwAppContactWayLogsController.java

@@ -0,0 +1,99 @@
+package com.fs.qw.controller;
+
+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.qw.domain.QwAppContactWayLogs;
+import com.fs.qw.param.QwAppContactWayLogsParam;
+import com.fs.qw.service.IQwAppContactWayLogsService;
+import com.fs.qw.vo.QwAppContactWayLogsListVO;
+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-19
+ */
+@RestController
+@RequestMapping("/qw/qwAppContactWayLogs")
+public class QwAppContactWayLogsController extends BaseController
+{
+    @Autowired
+    private IQwAppContactWayLogsService qwAppContactWayLogsService;
+
+    /**
+     * 查询联系我日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwAppContactWayLogs:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwAppContactWayLogsParam qwAppContactWayLogs)
+    {
+        startPage();
+        List<QwAppContactWayLogsListVO> list = qwAppContactWayLogsService.selectQwAppContactWayLogsListVO(qwAppContactWayLogs);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出联系我日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwAppContactWayLogs:export')")
+    @Log(title = "联系我日志", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwAppContactWayLogsParam qwAppContactWayLogs)
+    {
+        List<QwAppContactWayLogsListVO> list = qwAppContactWayLogsService.selectQwAppContactWayLogsListVO(qwAppContactWayLogs);
+        ExcelUtil<QwAppContactWayLogsListVO> util = new ExcelUtil<QwAppContactWayLogsListVO>(QwAppContactWayLogsListVO.class);
+        return util.exportExcel(list, "联系我日志数据");
+    }
+
+    /**
+     * 获取联系我日志详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwAppContactWayLogs:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwAppContactWayLogsService.selectQwAppContactWayLogsById(id));
+    }
+
+    /**
+     * 新增联系我日志
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwAppContactWayLogs:add')")
+    @Log(title = "联系我日志", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwAppContactWayLogs qwAppContactWayLogs)
+    {
+        return toAjax(qwAppContactWayLogsService.insertQwAppContactWayLogs(qwAppContactWayLogs));
+    }
+
+    /**
+     * 修改联系我日志
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwAppContactWayLogs:edit')")
+    @Log(title = "联系我日志", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwAppContactWayLogs qwAppContactWayLogs)
+    {
+        return toAjax(qwAppContactWayLogsService.updateQwAppContactWayLogs(qwAppContactWayLogs));
+    }
+
+    /**
+     * 删除联系我日志
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwAppContactWayLogs:remove')")
+    @Log(title = "联系我日志", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwAppContactWayLogsService.deleteQwAppContactWayLogsByIds(ids));
+    }
+}

+ 106 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwCompanyController.java

@@ -0,0 +1,106 @@
+package com.fs.qw.controller;
+
+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.qw.domain.QwCompany;
+import com.fs.qw.service.IQwCompanyService;
+import com.fs.qw.vo.QwOptionsVO;
+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-10-09
+ */
+@RestController
+@RequestMapping("/qw/qwCompany")
+public class QwCompanyController extends BaseController
+{
+    @Autowired
+    private IQwCompanyService qwCompanyService;
+
+    /**
+     * 查询企微主体列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwCompany:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwCompany qwCompany)
+    {
+        startPage();
+        List<QwCompany> list = qwCompanyService.selectQwCompanyList(qwCompany);
+        return getDataTable(list);
+    }
+
+
+    @GetMapping("/all")
+    public R all()
+    {
+        List<QwOptionsVO> list = qwCompanyService.selectQwCompanyListOptionsVO();
+        return R.ok().put("data", list);
+    }
+    /**
+     * 导出企微主体列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwCompany:export')")
+    @Log(title = "企微主体", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwCompany qwCompany)
+    {
+        List<QwCompany> list = qwCompanyService.selectQwCompanyList(qwCompany);
+        ExcelUtil<QwCompany> util = new ExcelUtil<QwCompany>(QwCompany.class);
+        return util.exportExcel(list, "企微主体数据");
+    }
+
+    /**
+     * 获取企微主体详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwCompany:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwCompanyService.selectQwCompanyById(id));
+    }
+
+    /**
+     * 新增企微主体
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwCompany:add')")
+    @Log(title = "企微主体", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwCompany qwCompany)
+    {
+        return toAjax(qwCompanyService.insertQwCompany(qwCompany));
+    }
+
+    /**
+     * 修改企微主体
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwCompany:edit')")
+    @Log(title = "企微主体", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwCompany qwCompany)
+    {
+        return toAjax(qwCompanyService.updateQwCompany(qwCompany));
+    }
+
+    /**
+     * 删除企微主体
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwCompany:remove')")
+    @Log(title = "企微主体", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwCompanyService.deleteQwCompanyByIds(ids));
+    }
+}

+ 126 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwInformationController.java

@@ -0,0 +1,126 @@
+package com.fs.qw.controller;
+
+import com.alibaba.fastjson.JSONObject;
+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.TimeUtils;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.qw.domain.QwInformation;
+import com.fs.qw.param.QwStatisticsParam;
+import com.fs.qw.service.IQwInformationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 信息流管理Controller
+ *
+ * @author fs
+ * @date 2024-11-11
+ */
+@RestController
+@RequestMapping("/qw/qwInformation")
+public class QwInformationController extends BaseController
+{
+    @Autowired
+    private IQwInformationService qwInformationService;
+
+    /**
+     * 查询信息流管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwInformation:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwInformation qwInformation)
+    {
+        startPage();
+        List<QwInformation> list = qwInformationService.selectQwInformationList(qwInformation);
+        return getDataTable(list);
+    }
+    @GetMapping("/statistics")
+    public R statistics(QwStatisticsParam param)
+    {
+//        List<QwWayStatisticsListVO> list= qwContactWayService.QwWayStatisticsListVO(param);
+        TimeUtils.TimeEntity timeEntity= TimeUtils.parseTime(param.getType().toString(),param.getStartTime(),param.getEndTime());
+        timeEntity.setCompanyId(param.getId());
+        Integer cycleNum = timeEntity.getCycleNum();
+        Integer beginTime = timeEntity.getBeginTime();
+        List<Integer> timeList = new ArrayList<>();
+        for (int i = 1; i <= cycleNum; i++) {
+            timeList.add(beginTime);
+            beginTime = TimeUtils.formatTime(beginTime);
+        }
+        List<JSONObject> jsonObjectList = qwInformationService.selectQwWayStatisticsCounts(timeEntity.toMap());
+        List<String> dates = jsonObjectList.stream().map(jsonObject -> jsonObject.getString("type")).collect(Collectors.toList());
+        List<Integer> addNum = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("addNum")).collect(Collectors.toList());
+        List<Integer> deleteNum = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("deleteNum")).collect(Collectors.toList());
+        List<Integer> num = jsonObjectList.stream().map(jsonObject -> jsonObject.getInteger("num")).collect(Collectors.toList());
+        return R.ok().put("list",jsonObjectList).put("dates",dates).put("addNum",addNum).put("deleteNum",deleteNum).put("num",num);
+
+    }
+    /**
+     * 导出信息流管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwInformation:export')")
+    @Log(title = "信息流管理", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwInformation qwInformation)
+    {
+        List<QwInformation> list = qwInformationService.selectQwInformationList(qwInformation);
+        ExcelUtil<QwInformation> util = new ExcelUtil<QwInformation>(QwInformation.class);
+        return util.exportExcel(list, "信息流管理数据");
+    }
+
+    /**
+     * 获取信息流管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwInformation:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwInformationService.selectQwInformationById(id));
+    }
+
+    /**
+     * 新增信息流管理
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwInformation:add')")
+    @Log(title = "信息流管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwInformation qwInformation)
+    {
+        return toAjax(qwInformationService.insertQwInformation(qwInformation));
+    }
+
+    /**
+     * 修改信息流管理
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwInformation:edit')")
+    @Log(title = "信息流管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwInformation qwInformation)
+    {
+        qwInformation.setAddNum(null);
+        qwInformation.setNum(null);
+        qwInformation.setDeleteNum(null);
+        return toAjax(qwInformationService.updateQwInformation(qwInformation));
+    }
+
+    /**
+     * 删除信息流管理
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwInformation:remove')")
+    @Log(title = "信息流管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwInformationService.deleteQwInformationByIds(ids));
+    }
+}

+ 102 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwSopTempController.java

@@ -0,0 +1,102 @@
+package com.fs.qw.controller;
+
+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.sop.domain.QwSopTemp;
+import com.fs.sop.service.IQwSopTempService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * sop模板Controller
+ *
+ * @author fs
+ * @date 2024-09-26
+ */
+@RestController
+@RequestMapping("/qw/sopTemp")
+public class QwSopTempController extends BaseController
+{
+    @Autowired
+    private IQwSopTempService qwSopTempService;
+    /**
+     * 查询sop模板列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(QwSopTemp qwSopTemp)
+    {
+        startPage();
+        List<QwSopTemp> list = qwSopTempService.selectQwSopTempList(qwSopTemp);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出sop模板列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:sopTemp:export')")
+    @Log(title = "sop模板", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwSopTemp qwSopTemp)
+    {
+        List<QwSopTemp> list = qwSopTempService.selectQwSopTempList(qwSopTemp);
+        ExcelUtil<QwSopTemp> util = new ExcelUtil<QwSopTemp>(QwSopTemp.class);
+        return util.exportExcel(list, "sop模板数据");
+    }
+
+    /**
+     * 获取sop模板详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(qwSopTempService.selectQwSopTempById(id));
+    }
+
+    /**
+     * 新增sop模板
+     */
+    @PreAuthorize("@ss.hasPermi('qw:sopTemp:add')")
+    @Log(title = "sop模板", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwSopTemp qwSopTemp)
+    {
+        return toAjax(qwSopTempService.insertQwSopTemp(qwSopTemp));
+    }
+
+    /**
+     * 修改sop模板
+     */
+    @PreAuthorize("@ss.hasPermi('qw:sopTemp:edit')")
+    @Log(title = "sop模板", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwSopTemp qwSopTemp)
+    {
+
+        SimpleDateFormat slf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        qwSopTemp.setUpdateTime(slf.format(new Date()));
+        return toAjax(qwSopTempService.updateQwSopTemp(qwSopTemp));
+    }
+
+    /**
+     * 删除sop模板
+     */
+    @PreAuthorize("@ss.hasPermi('qw:sopTemp:remove')")
+    @Log(title = "sop模板", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        ;
+//        qwSopTempService.deleteQwSopTempByIds(ids);
+        return toAjax(qwSopTempService.updateQwSopTempByIds(ids));
+    }
+}

+ 102 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwTagController.java

@@ -0,0 +1,102 @@
+package com.fs.qw.controller;
+
+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.qw.domain.QwTag;
+import com.fs.qw.param.QwTagParam;
+import com.fs.qw.service.IQwTagService;
+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-06-20
+ */
+@RestController
+@RequestMapping("/qw/tag")
+public class QwTagController extends BaseController
+{
+    @Autowired
+    private IQwTagService qwTagService;
+    /**
+     * 查询企微客户标签列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(QwTag qwTag)
+    {
+        startPage();
+
+        List<QwTag> list = qwTagService.selectQwTagList(qwTag);
+        return getDataTable(list);
+    }
+
+    @PostMapping("/searchTags")
+    public TableDataInfo  searchTags(@RequestBody QwTagParam tagParam)
+    {
+        return getDataTable(qwTagService.searchTags(tagParam));
+    }
+    /**
+     * 导出企微客户标签列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tag:export')")
+    @Log(title = "企微客户标签", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwTag qwTag)
+    {
+        List<QwTag> list = qwTagService.selectQwTagList(qwTag);
+        ExcelUtil<QwTag> util = new ExcelUtil<QwTag>(QwTag.class);
+        return util.exportExcel(list, "企微客户标签数据");
+    }
+
+    /**
+     * 获取企微客户标签详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tag:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwTagService.selectQwTagById(id));
+    }
+
+    /**
+     * 新增企微客户标签
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tag:add')")
+    @Log(title = "企微客户标签", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwTag qwTag)
+    {
+        return toAjax(qwTagService.insertQwTag(qwTag));
+    }
+
+    /**
+     * 修改企微客户标签
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tag:edit')")
+    @Log(title = "企微客户标签", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwTag qwTag)
+    {
+        return toAjax(qwTagService.updateQwTag(qwTag));
+    }
+
+    /**
+     * 删除企微客户标签
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tag:remove')")
+    @Log(title = "企微客户标签", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwTagService.deleteQwTagByIds(ids));
+    }
+}

+ 27 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwUserController.java

@@ -0,0 +1,27 @@
+package com.fs.qw.controller;
+
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.qw.service.IQwUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 企微用户Controller
+ *
+ * @author fs
+ * @date 2024-06-20
+ */
+@RestController
+@RequestMapping("/qw/user")
+public class QwUserController extends BaseController {
+    @Autowired
+    private IQwUserService qwUserService;
+
+    @GetMapping("/getQwUserAll")
+    public AjaxResult getQwUserAll(){
+        return AjaxResult.success(qwUserService.getQwUserAll());
+    }
+}

+ 107 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwWorkLinkController.java

@@ -0,0 +1,107 @@
+package com.fs.qw.controller;
+
+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.qw.domain.QwWorkLink;
+import com.fs.qw.service.IQwWorkLinkService;
+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 2025-01-10
+ */
+@RestController
+@RequestMapping("/qw/workLink")
+public class QwWorkLinkController extends BaseController
+{
+    @Autowired
+    private IQwWorkLinkService qwWorkLinkService;
+
+    /**
+     * 查询企微获客链接管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLink:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwWorkLink qwWorkLink)
+    {
+        startPage();
+        List<QwWorkLink> list = qwWorkLinkService.selectQwWorkLinkList(qwWorkLink);
+        return getDataTable(list);
+    }
+
+    /**
+     * 查询企微获客链接管理列表-不分页
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLink:listAll')")
+    @GetMapping("/listAll")
+    public AjaxResult listAll(QwWorkLink qwWorkLink)
+    {
+        List<QwWorkLink> qwWorkLinks = qwWorkLinkService.selectQwWorkLinkListAll(qwWorkLink);
+        return AjaxResult.success(qwWorkLinks);
+    }
+
+    /**
+     * 导出企微获客链接管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLink:export')")
+    @Log(title = "企微获客链接管理", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwWorkLink qwWorkLink)
+    {
+        List<QwWorkLink> list = qwWorkLinkService.selectQwWorkLinkList(qwWorkLink);
+        ExcelUtil<QwWorkLink> util = new ExcelUtil<QwWorkLink>(QwWorkLink.class);
+        return util.exportExcel(list, "企微获客链接管理数据");
+    }
+
+    /**
+     * 获取企微获客链接管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLink:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwWorkLinkService.selectQwWorkLinkById(id));
+    }
+
+    /**
+     * 新增企微获客链接管理
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLink:add')")
+    @Log(title = "企微获客链接管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwWorkLink qwWorkLink)
+    {
+        return toAjax(qwWorkLinkService.insertQwWorkLink(qwWorkLink));
+    }
+
+    /**
+     * 修改企微获客链接管理
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLink:edit')")
+    @Log(title = "企微获客链接管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwWorkLink qwWorkLink){
+        return toAjax(qwWorkLinkService.updateQwWorkLink(qwWorkLink));
+    }
+
+    /**
+     * 删除企微获客链接管理
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLink:remove')")
+    @Log(title = "企微获客链接管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwWorkLinkService.deleteQwWorkLinkByIds(ids));
+    }
+}

+ 97 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwWorkLinkUserController.java

@@ -0,0 +1,97 @@
+package com.fs.qw.controller;
+
+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.qw.domain.QwWorkLinkUser;
+import com.fs.qw.service.IQwWorkLinkUserService;
+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 2025-01-10
+ */
+@RestController
+@RequestMapping("/qw/workLinkUser")
+public class QwWorkLinkUserController extends BaseController
+{
+    @Autowired
+    private IQwWorkLinkUserService qwWorkLinkUserService;
+
+    /**
+     * 查询企微获客链接用户关联列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLinkUser:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwWorkLinkUser qwWorkLinkUser)
+    {
+        startPage();
+        List<QwWorkLinkUser> list = qwWorkLinkUserService.selectQwWorkLinkUserList(qwWorkLinkUser);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出企微获客链接用户关联列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLinkUser:export')")
+    @Log(title = "企微获客链接用户关联", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwWorkLinkUser qwWorkLinkUser)
+    {
+        List<QwWorkLinkUser> list = qwWorkLinkUserService.selectQwWorkLinkUserList(qwWorkLinkUser);
+        ExcelUtil<QwWorkLinkUser> util = new ExcelUtil<QwWorkLinkUser>(QwWorkLinkUser.class);
+        return util.exportExcel(list, "企微获客链接用户关联数据");
+    }
+
+    /**
+     * 获取企微获客链接用户关联详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLinkUser:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwWorkLinkUserService.selectQwWorkLinkUserById(id));
+    }
+
+    /**
+     * 新增企微获客链接用户关联
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLinkUser:add')")
+    @Log(title = "企微获客链接用户关联", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwWorkLinkUser qwWorkLinkUser)
+    {
+        return toAjax(qwWorkLinkUserService.insertQwWorkLinkUser(qwWorkLinkUser));
+    }
+
+    /**
+     * 修改企微获客链接用户关联
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLinkUser:edit')")
+    @Log(title = "企微获客链接用户关联", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwWorkLinkUser qwWorkLinkUser)
+    {
+        return toAjax(qwWorkLinkUserService.updateQwWorkLinkUser(qwWorkLinkUser));
+    }
+
+    /**
+     * 删除企微获客链接用户关联
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workLinkUser:remove')")
+    @Log(title = "企微获客链接用户关联", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwWorkLinkUserService.deleteQwWorkLinkUserByIds(ids));
+    }
+}

+ 110 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwWorkUserController.java

@@ -0,0 +1,110 @@
+package com.fs.qw.controller;
+
+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.qw.domain.QwWorkUser;
+import com.fs.qw.service.IQwWorkUserService;
+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 2025-01-10
+ */
+@RestController
+@RequestMapping("/qw/workUser")
+public class QwWorkUserController extends BaseController
+{
+    @Autowired
+    private IQwWorkUserService qwWorkUserService;
+
+    /**
+     * 查询企微获客添加的用户列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workUser:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwWorkUser qwWorkUser)
+    {
+        startPage();
+        List<QwWorkUser> list = qwWorkUserService.selectQwWorkUserList(qwWorkUser);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出企微获客添加的用户列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workUser:export')")
+    @Log(title = "企微获客添加的用户", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwWorkUser qwWorkUser)
+    {
+        List<QwWorkUser> list = qwWorkUserService.selectQwWorkUserList(qwWorkUser);
+        ExcelUtil<QwWorkUser> util = new ExcelUtil<QwWorkUser>(QwWorkUser.class);
+        return util.exportExcel(list, "企微获客添加的用户数据");
+    }
+
+    /**
+     * 获取企微获客添加的用户详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workUser:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwWorkUserService.selectQwWorkUserById(id));
+    }
+
+    /**
+     * 新增企微获客添加的用户
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workUser:add')")
+    @Log(title = "企微获客添加的用户", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwWorkUser qwWorkUser)
+    {
+        return toAjax(qwWorkUserService.insertQwWorkUser(qwWorkUser));
+    }
+
+    /**
+     * 修改企微获客添加的用户
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workUser:edit')")
+    @Log(title = "企微获客添加的用户", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwWorkUser qwWorkUser)
+    {
+        return toAjax(qwWorkUserService.updateQwWorkUser(qwWorkUser));
+    }
+
+    /**
+     * 删除企微获客添加的用户
+     */
+    @PreAuthorize("@ss.hasPermi('qw:workUser:remove')")
+    @Log(title = "企微获客添加的用户", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwWorkUserService.deleteQwWorkUserByIds(ids));
+    }
+
+
+//    @GetMapping("/syncUsers")
+    public R syncUsers(){
+        qwWorkUserService.syncUsers();
+        return R.ok();
+    }
+//    @GetMapping("/uploadBd")
+    public R uploadBd(){
+        qwWorkUserService.uploadBd();
+        return R.ok();
+    }
+}

+ 54 - 0
fs-admin/src/main/java/com/fs/qw/controller/SopUserLogsController.java

@@ -0,0 +1,54 @@
+package com.fs.qw.controller;
+
+
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.page.TableDataInfo;
+import com.fs.qw.param.SopUserLogsVO;
+import com.fs.sop.params.SopUserLogsParam;
+import com.fs.sop.service.ISopUserLogsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * sopUserLogsController
+ *
+ * @author fs
+ * @date 2024-12-27
+ */
+@RestController
+@RequestMapping("/qwSop/sopUserLogs")
+public class SopUserLogsController extends BaseController
+{
+    @Autowired
+    private ISopUserLogsService sopUserLogsService;
+
+    /**
+     * 查询sopUserLogs列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(SopUserLogsParam sopUserLogs)
+    {
+        startPage();
+        List<SopUserLogsVO> list = sopUserLogsService.selectSopUserLogsList(sopUserLogs);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 获取sopUserLogs详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:sop:list')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(sopUserLogsService.selectSopUserLogsById(id));
+    }
+
+}

+ 72 - 0
fs-admin/src/main/java/com/fs/qw/controller/SopUserLogsInfoController.java

@@ -0,0 +1,72 @@
+package com.fs.qw.controller;
+
+
+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.sop.domain.SopUserLogsInfo;
+import com.fs.sop.params.SendUserLogsInfoMsgParam;
+import com.fs.sop.service.ISopUserLogsInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * sopUserLogsInfoController
+ *
+ * @author fs
+ * @date 2024-12-27
+ */
+@RestController
+@RequestMapping("/qwSop/sopUserLogsInfo")
+public class SopUserLogsInfoController extends BaseController
+{
+    @Autowired
+    private ISopUserLogsInfoService sopUserLogsInfoService;
+
+    /**
+     * 查询sopUserLogsInfo列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(SopUserLogsInfo sopUserLogsInfo)
+    {
+        startPage();
+        List<SopUserLogsInfo> list = sopUserLogsInfoService.selectSopUserLogsInfoList(sopUserLogsInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 获取sopUserLogsInfo详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(sopUserLogsInfoService.selectSopUserLogsInfoById(id));
+    }
+
+    /**
+     * 修改sopUserLogsInfo
+     */
+    @Log(title = "updateSopUserLogsInfo", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public R edit(@RequestBody SopUserLogsInfo sopUserLogsInfo)
+    {
+        return sopUserLogsInfoService.updateSopUserLogsInfoToTime(sopUserLogsInfo);
+    }
+
+    /**
+     * 一键群发sopUserLogsInfo
+     */
+    @PreAuthorize("@ss.hasPermi('qw:sopUserLogsInfo:msg')")
+    @Log(title = "sendMsgSopUserLogsInfo", businessType = BusinessType.INSERT,isSaveRequestData=false)
+    @PostMapping("/sendUserLogsInfoMsg")
+    public R sendUserLogsInfoMsg(@RequestBody SendUserLogsInfoMsgParam param)
+    {
+        return sopUserLogsInfoService.sendUserLogsInfoMsg(param);
+    }
+}

+ 126 - 0
fs-admin/src/main/java/com/fs/qw/qwTask/qwTask.java

@@ -0,0 +1,126 @@
+package com.fs.qw.qwTask;
+
+import com.fs.course.service.IFsUserCourseService;
+import com.fs.qw.mapper.QwCompanyMapper;
+import com.fs.qw.service.IQwExternalContactService;
+import com.fs.qw.service.IQwGroupMsgService;
+import com.fs.qw.service.impl.QwUserServiceImpl;
+import com.fs.qw.vo.QwOptionsVO;
+import com.fs.sop.service.ISopUserLogsService;
+import com.fs.sop.service.impl.QwSopLogsServiceImpl;
+import com.fs.sop.service.impl.QwSopServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component("qwTask")
+public class qwTask {
+
+    @Autowired
+    private QwSopServiceImpl qwSopService;
+
+    @Autowired
+    private QwSopLogsServiceImpl qwSopLogsService;
+
+    @Autowired
+    private IQwGroupMsgService qwGroupMsgService;
+
+    @Autowired
+    private ISopUserLogsService sopUserLogsService;
+    @Autowired
+    private IQwExternalContactService qwExternalContactService;
+    @Autowired
+    private QwUserServiceImpl qwUserServiceImpl;
+    @Autowired
+    QwCompanyMapper qwCompanyMapper;
+
+    @Autowired
+    private IFsUserCourseService iFsUserCourseService;
+
+    //正在使用
+    public void qwExternalContact()
+    {
+        qwExternalContactService.qwExternalContactSync();
+    }
+    public void syncQwUser()
+    {  List<QwOptionsVO> vos = qwCompanyMapper.selectQwCompanyListOptionsVO();
+        for (QwOptionsVO vo : vos) {
+            qwUserServiceImpl.syncQwUser(vo.getCorpId());
+        }
+
+    }
+    //正在使用
+    public void qwExternalContactAddAndDel()
+    {
+        qwExternalContactService.qwExternalContactSyncAddAndDel();
+    }
+    //正在使用
+    public void qwExternalContactSyncAddRedis()
+    {
+        qwExternalContactService.qwExternalContactSyncAddRedis();
+    }
+    //正在使用
+    public void qwExternalContactAddRedis()
+    {
+        qwExternalContactService.qwExternalContactAddRedis();
+    }
+    //正在使用
+    public void qwExternalContactAddAndDelByRedis()
+    {
+        qwExternalContactService.qwExternalContactAddAndDelByRedis();
+    }
+    //正在使用
+    public void qwExternalContactAddTag()
+    {
+        qwExternalContactService.qwExternalContactAddCourseTag();
+    }
+
+    /**
+    * 定时任务 将 qw_sop任务 符合条件的录入到sop_user_Logs(clickHouse)
+    */
+    public void qwCheckSopRuleTime()
+    {
+        qwSopService.checkSopRuleTime();
+    }
+
+    /**
+    * 定时任务 将 clickHouse的sopUserLogs(营期表)按每小时的巡回 录入clickHouse的qw_sop_logs(消息发送表)
+    */
+    public void selectSopUserLogsListByTime(){
+        sopUserLogsService.selectSopUserLogsListByTime();
+    }
+
+    /**
+    * 定时 发送 通过调用 企业微信接口 发送的 SOP 群发消息
+    */
+    public void SendQwApiSopLogTimer(){
+        qwSopLogsService.checkQwSopLogs();
+    }
+
+    /**
+    * 定时获取 通过调用 企业微信接口 发送的 SOP 客户群发消息 的反馈结果
+    */
+    public void GetQwApiSopLogResultTimer(){
+        qwSopLogsService.qwSopLogsResult();
+    }
+
+    /**
+    * 定时群发API接口的 客户/群 群发
+    */
+    public void sendQwGroupMsgTask(){
+        qwGroupMsgService.qwGroupMsgTask();
+    }
+
+    /**
+    *  定时更新 待发送中已经算过期了的不能发的消息
+    */
+    public void updateQwSopLogsBySendStatusTask(){
+        qwSopLogsService.updateQwSopLogsBySendStatus();
+    }
+
+    /**
+     * 2天跑一次 将 课程的封面 上传企业微信 并上传到redis
+     */
+
+}

+ 9 - 24
fs-qw-api/src/main/resources/application-dev.yml

@@ -6,12 +6,10 @@ spring:
         host: localhost
         # 端口,默认为6379
         port: 6379
-        # 数据库索引
-        database: 0
         # 密码
         password:
         # 连接超时时间
-        timeout: 20s
+        timeout: 10s
         lettuce:
             pool:
                 # 连接池中的最小空闲连接
@@ -23,33 +21,21 @@ spring:
                 # #连接池最大阻塞等待时间(使用负值表示没有限制)
                 max-wait: -1ms
     datasource:
-        clickhouse:
-            type: com.alibaba.druid.pool.DruidDataSource
-#            driverClassName: ru.yandex.clickhouse.ClickHouseDriver
-            driverClassName: com.clickhouse.jdbc.ClickHouseDriver
-            url: jdbc:clickhouse://1.14.104.71:8123/sop_test?compress=0&use_server_time_zone=true&use_client_time_zone=false&timezone=Asia/Shanghai
-            username: default
-            password: rt2024
-            initialSize: 10
-            maxActive: 100
-            minIdle: 10
-            maxWait: 6000
         mysql:
             type: com.alibaba.druid.pool.DruidDataSource
             driverClassName: com.mysql.cj.jdbc.Driver
             druid:
                 # 主库数据源
                 master:
-                    url: jdbc:mysql://42.194.245.189:3306/rt_fs_his?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-                    username: root
-                    password: YJF_2024
+                    url: jdbc:mysql://139.186.77.83:3306/ylrz_scrm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                    username: Rtroot
+                    password: Rtroot
                 # 从库数据源
                 slave:
                     # 从数据源开关/默认关闭
-                    enabled: false
-                    url:
-                    username:
-                    password:
+                    url: jdbc:mysql://139.186.77.83:3306/ylrz_scrm?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                    username: Rtroot
+                    password: Rtroot
                 # 初始连接数
                 initialSize: 5
                 # 最小连接池数量
@@ -77,8 +63,8 @@ spring:
                     allow:
                     url-pattern: /druid/*
                     # 控制台管理用户名和密码
-                    login-username: fs
-                    login-password: 123456
+                    login-username:
+                    login-password:
                 filter:
                     stat:
                         enabled: true
@@ -148,4 +134,3 @@ rocketmq:
         group: test-group
         access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
         secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
-

+ 0 - 57
fs-qw-api/src/main/resources/application-druid-bly.yml

@@ -1,57 +0,0 @@
-# 数据源配置
-spring:
-    datasource:
-        type: com.alibaba.druid.pool.DruidDataSource
-        driverClassName: com.mysql.cj.jdbc.Driver
-        druid:
-            # 主库数据源
-            master:
-                url: jdbc:mysql://cq-cdb-95qvu08p.sql.tencentcdb.com:63998/fs_his_rt?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-                username: root
-                password: Rtyy_2023
-            # 从库数据源
-            slave:
-                # 从数据源开关/默认关闭
-                enabled: false
-                url:
-                username:
-                password:
-            # 初始连接数
-            initialSize: 5
-            # 最小连接池数量
-            minIdle: 10
-            # 最大连接池数量
-            maxActive: 20
-            # 配置获取连接等待超时的时间
-            maxWait: 60000
-            # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
-            timeBetweenEvictionRunsMillis: 60000
-            # 配置一个连接在池中最小生存的时间,单位是毫秒
-            minEvictableIdleTimeMillis: 300000
-            # 配置一个连接在池中最大生存的时间,单位是毫秒
-            maxEvictableIdleTimeMillis: 900000
-            # 配置检测连接是否有效
-            validationQuery: SELECT 1 FROM DUAL
-            testWhileIdle: true
-            testOnBorrow: false
-            testOnReturn: false
-            webStatFilter:
-                enabled: true
-            statViewServlet:
-                enabled: true
-                # 设置白名单,不填则允许所有访问
-                allow:
-                url-pattern: /druid/*
-                # 控制台管理用户名和密码
-                login-username: fs
-                login-password: 123456
-            filter:
-                stat:
-                    enabled: true
-                    # 慢SQL记录
-                    log-slow-sql: true
-                    slow-sql-millis: 1000
-                    merge-sql: true
-                wall:
-                    config:
-                        multi-statement-allow: true

+ 0 - 91
fs-qw-api/src/main/resources/application-druid.yml

@@ -1,91 +0,0 @@
-# 数据源配置
-spring:
-    # redis 配置
-    redis:
-        # 地址  localhost
-        host: 127.0.0.1
-        # 端口,默认为6379
-        port: 6379
-        # 数据库索引
-        database: 0
-        # 密码
-        password:
-        #        password:
-        # 连接超时时间
-        timeout: 10s
-        lettuce:
-            pool:
-                # 连接池中的最小空闲连接
-                min-idle: 0
-                # 连接池中的最大空闲连接
-                max-idle: 8
-                # 连接池的最大数据库连接数
-                max-active: 8
-                # #连接池最大阻塞等待时间(使用负值表示没有限制)
-                max-wait: -1ms
-    datasource:
-        clickhouse:
-            type: com.alibaba.druid.pool.DruidDataSource
-            driverClassName: com.clickhouse.jdbc.ClickHouseDriver
-            url: jdbc:clickhouse://cc-2vc8zzo26w0l7m2l6.public.clickhouse.ads.aliyuncs.com/sop?compress=0&use_server_time_zone=true&use_client_time_zone=false&timezone=Asia/Shanghai
-            username: rt_2024
-            password: Yzx_19860213
-            initialSize: 10
-            maxActive: 100
-            minIdle: 10
-            maxWait: 6000
-        mysql:
-            type: com.alibaba.druid.pool.DruidDataSource
-            driverClassName: com.mysql.cj.jdbc.Driver
-            druid:
-                # 主库数据源
-                master:
-                    url: jdbc:mysql://cq-cdb-95qvu08p.sql.tencentcdb.com:63998/fs_his?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-                    username: root
-                    password: Rtyy_2023
-                # 从库数据源
-                slave:
-                    # 从数据源开关/默认关闭
-                    enabled: false
-                    url:
-                    username:
-                    password:
-                # 初始连接数
-                initialSize: 5
-                # 最小连接池数量
-                minIdle: 10
-                # 最大连接池数量
-                maxActive: 20
-                # 配置获取连接等待超时的时间
-                maxWait: 60000
-                # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
-                timeBetweenEvictionRunsMillis: 60000
-                # 配置一个连接在池中最小生存的时间,单位是毫秒
-                minEvictableIdleTimeMillis: 300000
-                # 配置一个连接在池中最大生存的时间,单位是毫秒
-                maxEvictableIdleTimeMillis: 900000
-                # 配置检测连接是否有效
-                validationQuery: SELECT 1 FROM DUAL
-                testWhileIdle: true
-                testOnBorrow: false
-                testOnReturn: false
-                webStatFilter:
-                    enabled: true
-                statViewServlet:
-                    enabled: true
-                    # 设置白名单,不填则允许所有访问
-                    allow:
-                    url-pattern: /druid/*
-                    # 控制台管理用户名和密码
-                    login-username: fs
-                    login-password: 123456
-                filter:
-                    stat:
-                        enabled: true
-                        # 慢SQL记录
-                        log-slow-sql: true
-                        slow-sql-millis: 1000
-                        merge-sql: true
-                    wall:
-                        config:
-                            multi-statement-allow: true