Просмотр исходного кода

Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_his_scrm_java

caoliqin 1 неделя назад
Родитель
Сommit
1d5f8ec986
17 измененных файлов с 779 добавлено и 2 удалено
  1. 16 0
      fs-admin/src/main/java/com/fs/company/controller/CompanyUserController.java
  2. 133 0
      fs-admin/src/main/java/com/fs/fastGpt/FastGptChatMsgController.java
  3. 116 0
      fs-admin/src/main/java/com/fs/fastGpt/FastGptChatMsgLogsController.java
  4. 121 0
      fs-admin/src/main/java/com/fs/fastGpt/FastGptChatSessionController.java
  5. 83 0
      fs-admin/src/main/java/com/fs/qw/controller/QwTagGroupController.java
  6. 7 1
      fs-company/src/main/java/com/fs/company/controller/qw/QwSopController.java
  7. 108 0
      fs-company/src/main/java/com/fs/hisStore/controller/FsStoreOrderItemScrmController.java
  8. 8 1
      fs-company/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java
  9. 151 0
      fs-company/src/main/java/com/fs/hisStore/controller/FsStoreScrmController.java
  10. 5 0
      fs-qwhook-sop/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java
  11. 5 0
      fs-qwhook/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java
  12. 3 0
      fs-service/src/main/java/com/fs/company/mapper/CompanyMapper.java
  13. 3 0
      fs-service/src/main/java/com/fs/company/service/ICompanyUserService.java
  14. 8 0
      fs-service/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java
  15. 6 0
      fs-service/src/main/java/com/fs/course/mapper/FsUserCourseVideoMapper.java
  16. 3 0
      fs-service/src/main/java/com/fs/course/param/FsCourseListBySidebarParam.java
  17. 3 0
      fs-service/src/main/java/com/fs/hisStore/vo/FsStoreOrderExportVO.java

+ 16 - 0
fs-admin/src/main/java/com/fs/company/controller/CompanyUserController.java

@@ -9,10 +9,12 @@ import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.his.vo.OptionsVO;
 import com.fs.qw.dto.UserProjectDTO;
+import com.fs.qw.vo.QwUserVO;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -198,4 +200,18 @@ public class CompanyUserController extends BaseController
         List<OptionsVO> companyUserList = companyUserService.selectCompanyUserListByMap(params);
         return R.ok().put("data", new PageInfo<>(companyUserList));
     }
+    @GetMapping("/getQwAllUserList/{id}/{companyId}")
+    public R getQwAllUserList(@PathVariable("id") String corpId,@PathVariable("companyId") Long companyId)
+    {
+
+        List<QwUserVO> list = companyUserService.selectCompanyQwUserList(corpId,companyId);
+        return  R.ok().put("data",list);
+    }
+    @GetMapping("/getCompanyList/{id}")
+    public R getCompanyList(@PathVariable("id") String corpId)
+    {
+
+        List<Company> list = companyUserService.getCompanyList(corpId);
+        return  R.ok().put("data",list);
+    }
 }

+ 133 - 0
fs-admin/src/main/java/com/fs/fastGpt/FastGptChatMsgController.java

@@ -0,0 +1,133 @@
+package com.fs.fastGpt;
+
+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.fastGpt.domain.FastGptChatMsg;
+import com.fs.fastGpt.param.FastGptChatMsgListCParam;
+import com.fs.fastGpt.service.IFastGptChatMsgLogsService;
+import com.fs.fastGpt.service.IFastGptChatMsgService;
+import com.fs.fastGpt.vo.FastGptChatMsgListCVO;
+//import com.fs.framework.security.LoginUser;
+//import com.fs.framework.service.TokenService;
+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-10
+ */
+@RestController
+@RequestMapping("/fastGpt/fastGptChatMsg")
+public class FastGptChatMsgController extends BaseController
+{
+    @Autowired
+    private IFastGptChatMsgService fastGptChatMsgService;
+
+//    @Autowired
+//    private TokenService tokenService;
+
+    @Autowired
+    private IFastGptChatMsgLogsService iFastGptChatMsgLogsService;
+
+    /**
+     * 查询聊天记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsg:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FastGptChatMsgListCParam param)
+    {
+        startPage();
+//        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+//        param.setCompanyId(loginUser.getCompany().getCompanyId());
+
+        List<FastGptChatMsgListCVO> list = fastGptChatMsgService.selectFastGptChatMsgListCVO(param);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出聊天记录列表
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsg:export')")
+    @Log(title = "聊天记录", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FastGptChatMsg fastGptChatMsg)
+    {
+        List<FastGptChatMsg> list = fastGptChatMsgService.selectFastGptChatMsgList(fastGptChatMsg);
+        ExcelUtil<FastGptChatMsg> util = new ExcelUtil<FastGptChatMsg>(FastGptChatMsg.class);
+        return util.exportExcel(list, "聊天记录数据");
+    }
+
+    /**
+     * 获取聊天记录详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsg:query')")
+    @GetMapping(value = "/{msgId}")
+    public AjaxResult getInfo(@PathVariable("msgId") Long msgId)
+    {
+        return AjaxResult.success(fastGptChatMsgService.selectFastGptChatMsgVOByMsgId(msgId));
+    }
+
+//    /**
+//     * 新增聊天记录
+//     */
+//    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsg:add')")
+//    @Log(title = "聊天记录", businessType = BusinessType.INSERT)
+//    @PostMapping
+//    public AjaxResult add(@RequestBody FastGptChatMsg fastGptChatMsg)
+//    {
+//        return toAjax(fastGptChatMsgService.insertFastGptChatMsg(fastGptChatMsg));
+//    }
+
+//    /**
+//     * 修改聊天记录
+//     */
+//    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsg:edit')")
+//    @Log(title = "聊天记录", businessType = BusinessType.UPDATE)
+//    @PutMapping
+//    public AjaxResult edit(@RequestBody FastGptChatMsg param)
+//    {
+//        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+//        FastGptChatMsg fastGptChatMsg = fastGptChatMsgService.selectFastGptChatMsgByMsgId(param.getMsgId());
+//
+//        FastGptChatMsgLogs logs = new FastGptChatMsgLogs();
+//
+//        logs.setMsgId(param.getMsgId());
+//        logs.setLogsType(2);
+//        if (param.getContent()!=null&&!param.getContent().equals("")){
+//            logs.setContent(param.getContent());
+//        }
+//        if (param.getStatus()!=null){
+//            logs.setLogsType(1);
+//        }
+//        String userContent = fastGptChatMsgService.selectUserContent(fastGptChatMsg.getMsgId(), fastGptChatMsg.getUserId(),fastGptChatMsg.getRoleId());
+//        logs.setSContent(fastGptChatMsg.getContent());
+//        logs.setUserContent(userContent);
+//        logs.setCompanyUserId(loginUser.getUser().getUserId());
+//        logs.setCreateBy(loginUser.getUser().getNickName());
+//        logs.setCompanyId(loginUser.getCompany().getCompanyId());
+//
+//        iFastGptChatMsgLogsService.insertFastGptChatMsgLogs(logs);
+//
+//        return toAjax(fastGptChatMsgService.updateFastGptChatMsg(param));
+//    }
+
+//    /**
+//     * 删除聊天记录
+//     */
+//    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsg:remove')")
+//    @Log(title = "聊天记录", businessType = BusinessType.DELETE)
+//	@DeleteMapping("/{msgIds}")
+//    public AjaxResult remove(@PathVariable Long[] msgIds)
+//    {
+//        return toAjax(fastGptChatMsgService.deleteFastGptChatMsgByMsgIds(msgIds));
+//    }
+}

+ 116 - 0
fs-admin/src/main/java/com/fs/fastGpt/FastGptChatMsgLogsController.java

@@ -0,0 +1,116 @@
+package com.fs.fastGpt;
+
+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.fastGpt.domain.FastGptChatMsgLogs;
+import com.fs.fastGpt.param.FastGptChatMsgLogsListParam;
+import com.fs.fastGpt.service.IFastGptChatMsgLogsService;
+import com.fs.fastGpt.vo.FastGptChatMsgLogsListCVO;
+import com.fs.fastGpt.vo.FastGptChatMsgLogsVO;
+//import com.fs.framework.security.LoginUser;
+//import com.fs.framework.service.TokenService;
+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-10
+ */
+@RestController
+@RequestMapping("/fastGpt/fastGptChatMsgLogs")
+public class FastGptChatMsgLogsController extends BaseController
+{
+    @Autowired
+    private IFastGptChatMsgLogsService fastGptChatMsgLogsService;
+
+//    @Autowired
+//    private TokenService tokenService;
+
+    /**
+     * 查询聊天记录日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsgLogs:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FastGptChatMsgLogs fastGptChatMsgLogs)
+    {
+        startPage();
+        List<FastGptChatMsgLogsVO> list = fastGptChatMsgLogsService.selectFastGptChatMsgLogsListVO(fastGptChatMsgLogs);
+        return getDataTable(list);
+    }
+
+//    @GetMapping("/logsList")
+//    public R list(FastGptChatMsgLogsListParam param)
+//    {
+//        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+//        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+//        param.setCompanyId(loginUser.getCompany().getCompanyId());
+//
+//        List<FastGptChatMsgLogsListCVO> list= fastGptChatMsgLogsService.selectFastGptChatMsgLogsListCVO(param);
+//        PageInfo<FastGptChatMsgLogsListCVO> listPageInfo=new PageInfo<>(list);
+//        return R.ok().put("data",listPageInfo);
+//    }
+    /**
+     * 导出聊天记录日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsgLogs:export')")
+    @Log(title = "聊天记录日志", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FastGptChatMsgLogsListParam param)
+    {
+        List<FastGptChatMsgLogsListCVO> list = fastGptChatMsgLogsService.selectFastGptChatMsgLogsListCVO(param);
+        ExcelUtil<FastGptChatMsgLogsListCVO> util = new ExcelUtil<FastGptChatMsgLogsListCVO>(FastGptChatMsgLogsListCVO.class);
+        return util.exportExcel(list, "聊天记录日志数据");
+    }
+
+    /**
+     * 获取聊天记录日志详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsgLogs:query')")
+    @GetMapping(value = "/{logsId}")
+    public AjaxResult getInfo(@PathVariable("logsId") Long logsId)
+    {
+        return AjaxResult.success(fastGptChatMsgLogsService.selectFastGptChatMsgLogsByLogsId(logsId));
+    }
+
+    /**
+     * 新增聊天记录日志
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsgLogs:add')")
+    @Log(title = "聊天记录日志", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FastGptChatMsgLogs fastGptChatMsgLogs)
+    {
+        return toAjax(fastGptChatMsgLogsService.insertFastGptChatMsgLogs(fastGptChatMsgLogs));
+    }
+
+    /**
+     * 修改聊天记录日志
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsgLogs:edit')")
+    @Log(title = "聊天记录日志", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FastGptChatMsgLogs fastGptChatMsgLogs)
+    {
+        return toAjax(fastGptChatMsgLogsService.updateFastGptChatMsgLogs(fastGptChatMsgLogs));
+    }
+
+    /**
+     * 删除聊天记录日志
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatMsgLogs:remove')")
+    @Log(title = "聊天记录日志", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{logsIds}")
+    public AjaxResult remove(@PathVariable Long[] logsIds)
+    {
+        return toAjax(fastGptChatMsgLogsService.deleteFastGptChatMsgLogsByLogsIds(logsIds));
+    }
+}

+ 121 - 0
fs-admin/src/main/java/com/fs/fastGpt/FastGptChatSessionController.java

@@ -0,0 +1,121 @@
+package com.fs.fastGpt;
+
+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.fastGpt.domain.FastGptChatSession;
+import com.fs.fastGpt.param.FastGptChatSessionParam;
+import com.fs.fastGpt.service.IFastGptChatMsgService;
+import com.fs.fastGpt.service.IFastGptChatSessionService;
+import com.fs.fastGpt.vo.FastGptChatMsgCVO;
+import com.fs.fastGpt.vo.FastGptChatSessionCVO;
+import com.fs.fastGpt.vo.FastGptChatSessionListCVO;
+//import com.fs.framework.security.LoginUser;
+//import com.fs.framework.service.TokenService;
+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-10
+ */
+@RestController
+@RequestMapping("/fastGpt/fastGptChatSession")
+public class FastGptChatSessionController extends BaseController
+{
+    @Autowired
+    private IFastGptChatSessionService fastGptChatSessionService;
+
+//    @Autowired
+//    private TokenService tokenService;
+
+    @Autowired
+    private IFastGptChatMsgService fastGptChatMsgService;
+
+
+    /**
+     * 查询对话关系列表
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatSession:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FastGptChatSessionParam param)
+    {
+        startPage();
+//        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+//        param.setCompanyId(loginUser.getCompany().getCompanyId());
+        List<FastGptChatSessionListCVO> list = fastGptChatSessionService.selectFastGptChatSessionListCVO(param);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出对话关系列表
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatSession:export')")
+    @Log(title = "对话关系", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FastGptChatSession fastGptChatSession)
+    {
+        List<FastGptChatSession> list = fastGptChatSessionService.selectFastGptChatSessionList(fastGptChatSession);
+        ExcelUtil<FastGptChatSession> util = new ExcelUtil<FastGptChatSession>(FastGptChatSession.class);
+        return util.exportExcel(list, "对话关系数据");
+    }
+
+    /**
+     * 获取对话关系详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatSession:query')")
+    @GetMapping(value = "/{sessionId}")
+    public R getInfo(@PathVariable("sessionId") Long sessionId)
+    {
+        FastGptChatSessionCVO sessionCVO = fastGptChatSessionService.selectFastGptChatSessionCVOBySessionId(sessionId);
+
+        List<FastGptChatMsgCVO> list = fastGptChatMsgService.selectFastGptChatMsgCVOBySessionId(sessionId,sessionCVO.getUserId());
+
+        return R.ok().put("data",sessionCVO).put("list",list);
+    }
+
+    /**
+     * 新增对话关系
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatSession:add')")
+    @Log(title = "对话关系", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FastGptChatSession fastGptChatSession)
+    {
+        return toAjax(fastGptChatSessionService.insertFastGptChatSession(fastGptChatSession));
+    }
+
+    /**
+     * 修改对话关系
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatSession:edit')")
+    @Log(title = "对话关系", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FastGptChatSession fastGptChatSession)
+    {
+        FastGptChatSession session = new FastGptChatSession();
+        session.setSessionId(fastGptChatSession.getSessionId());
+        session.setIsArtificial(fastGptChatSession.getIsArtificial());
+        return toAjax(fastGptChatSessionService.updateFastGptChatSession(session));
+    }
+
+    /**
+     * 删除对话关系
+     */
+    @PreAuthorize("@ss.hasPermi('fastGpt:fastGptChatSession:remove')")
+    @Log(title = "对话关系", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{sessionIds}")
+    public AjaxResult remove(@PathVariable Long[] sessionIds)
+    {
+        return toAjax(fastGptChatSessionService.deleteFastGptChatSessionBySessionIds(sessionIds));
+    }
+}

+ 83 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwTagGroupController.java

@@ -1,12 +1,19 @@
 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.QwTagGroup;
 import com.fs.qw.service.IQwTagGroupService;
+import com.fs.qw.vo.QwTagGroupAddParam;
 import com.fs.qw.vo.QwTagGroupListVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -50,4 +57,80 @@ public class QwTagGroupController extends BaseController
         List<QwTagGroupListVO> list = qwTagGroupService.selectQwTagGroupListVO(qwTagGroup);
         return getDataTable(list);
     }
+
+    @PreAuthorize("@ss.hasPermi('qw:tagGroup:sync')")
+    @Log(title = "同步标签", businessType = BusinessType.INSERT)
+    @PostMapping("/syncTag/{corpId}")
+    public R syncTag(@PathVariable("corpId") String corpId)
+    {
+
+        return qwTagGroupService.syncQwTagGroup(corpId);
+    }
+    /**
+     * 查询企微客户标签组列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tagGroup:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwTagGroup qwTagGroup)
+    {
+        startPage();
+
+        List<QwTagGroupListVO> list = qwTagGroupService.selectQwTagGroupListVO(qwTagGroup);
+        return getDataTable(list);
+    }
+    /**
+     * 获取企微客户标签组详细信息
+     */
+//    @PreAuthorize("@ss.hasPermi('qw:tagGroup:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwTagGroupService.selectQwTagGroupByIdVO(id));
+    }
+    /**
+     * 删除企微客户标签组
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tagGroup:remove')")
+    @Log(title = "企微客户标签组", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R remove(@PathVariable Long[] ids)
+    {
+
+        return qwTagGroupService.deleteQwTagGroupByIds(ids);
+    }
+    /**
+     * 新增企微客户标签组
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tagGroup:add')")
+    @Log(title = "企微客户标签组", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwTagGroupAddParam qwTagGroup)
+    {
+
+        return toAjax(qwTagGroupService.insertQwTagGroupParam(qwTagGroup));
+    }
+    /**
+     * 修改企微客户标签组
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tagGroup:edit')")
+    @Log(title = "企微客户标签组", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwTagGroupAddParam qwTagGroup)
+    {
+
+        return toAjax(qwTagGroupService.updateQwTagGroupParam(qwTagGroup));
+    }
+    /**
+     * 导出企微客户标签组列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:tagGroup:export')")
+    @Log(title = "企微客户标签组", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwTagGroup qwTagGroup)
+    {
+
+        List<QwTagGroup> list = qwTagGroupService.selectQwTagGroupList(qwTagGroup);
+        ExcelUtil<QwTagGroup> util = new ExcelUtil<QwTagGroup>(QwTagGroup.class);
+        return util.exportExcel(list, "企微客户标签组数据");
+    }
 }

+ 7 - 1
fs-company/src/main/java/com/fs/company/controller/qw/QwSopController.java

@@ -8,6 +8,7 @@ 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.CloudHostUtils;
 import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.poi.ExcelUtil;
 import com.fs.company.service.impl.CompanyDeptServiceImpl;
@@ -180,7 +181,12 @@ public class QwSopController extends BaseController
     @GetMapping(value = "/videoList/{id}")
     public R videoList(@PathVariable("id") Long id)
     {
-        List<OptionsVO> optionsVOS = fsUserCourseVideoMapper.selectFsUserCourseVodeAllList(id);
+        List<OptionsVO> optionsVOS;
+        if (CloudHostUtils.hasCloudHostName("木易华康")) {
+            optionsVOS = fsUserCourseVideoMapper.selectFsUserCourseVideoAllListV2(id);
+        } else {
+            optionsVOS = fsUserCourseVideoMapper.selectFsUserCourseVodeAllList(id);
+        }
         return R.ok().put("list", optionsVOS);
     }
 

+ 108 - 0
fs-company/src/main/java/com/fs/hisStore/controller/FsStoreOrderItemScrmController.java

@@ -0,0 +1,108 @@
+package com.fs.hisStore.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.hisStore.domain.FsStoreOrderItemScrm;
+import com.fs.hisStore.service.IFsStoreOrderItemScrmService;
+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 2022-03-21
+ */
+@RestController
+@RequestMapping("/store/store/storeOrderItem")
+public class FsStoreOrderItemScrmController extends BaseController
+{
+    @Autowired
+    private IFsStoreOrderItemScrmService fsStoreOrderItemService;
+
+    /**
+     * 查询订单详情列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeOrderItem:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsStoreOrderItemScrm fsStoreOrderItem)
+    {
+        startPage();
+        List<FsStoreOrderItemScrm> list = fsStoreOrderItemService.selectFsStoreOrderItemList(fsStoreOrderItem);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出订单详情列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeOrderItem:export')")
+    @Log(title = "订单详情", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(FsStoreOrderItemScrm fsStoreOrderItem)
+    {
+        List<FsStoreOrderItemScrm> list = fsStoreOrderItemService.selectFsStoreOrderItemList(fsStoreOrderItem);
+        ExcelUtil<FsStoreOrderItemScrm> util = new ExcelUtil<FsStoreOrderItemScrm>(FsStoreOrderItemScrm.class);
+        return util.exportExcel(list, "storeOrderItem");
+    }
+
+    /**
+     * 获取订单详情详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeOrderItem:query')")
+    @GetMapping(value = "/{itemId}")
+    public AjaxResult getInfo(@PathVariable("itemId") Long itemId)
+    {
+        return AjaxResult.success(fsStoreOrderItemService.selectFsStoreOrderItemById(itemId));
+    }
+
+    /**
+     * 新增订单详情
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeOrderItem:add')")
+    @Log(title = "订单详情", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsStoreOrderItemScrm fsStoreOrderItem)
+    {
+        return toAjax(fsStoreOrderItemService.insertFsStoreOrderItem(fsStoreOrderItem));
+    }
+
+    /**
+     * 修改订单详情
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeOrderItem:edit')")
+    @Log(title = "订单详情", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsStoreOrderItemScrm fsStoreOrderItem)
+    {
+        return toAjax(fsStoreOrderItemService.updateFsStoreOrderItem(fsStoreOrderItem));
+    }
+
+    /**
+     * 删除订单详情
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeOrderItem:remove')")
+    @Log(title = "订单详情", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{itemIds}")
+    public AjaxResult remove(@PathVariable Long[] itemIds)
+    {
+        return toAjax(fsStoreOrderItemService.deleteFsStoreOrderItemByIds(itemIds));
+    }
+
+    /**
+     * 修改订单数量及总价
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeOrderItem:updateNum')")
+    @Log(title = "订单详情修改订单数量", businessType = BusinessType.UPDATE)
+    @PutMapping("/updateNum")
+    public AjaxResult updateNum(@RequestBody FsStoreOrderItemScrm fsStoreOrderItem)
+    {
+        return toAjax(fsStoreOrderItemService.updateFsStoreOrderItemNum(fsStoreOrderItem));
+    }
+}

+ 8 - 1
fs-company/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -512,5 +512,12 @@ public class FsStoreOrderScrmController extends BaseController
         int count = fsStoreOrderService.batchAuditOrder(param);
         return R.ok("成功审核 " + count + " 条订单");
     }
-
+    /**
+     * 修改订单itemJson
+     */
+    @Log(title = "修改订单itemJson", businessType = BusinessType.UPDATE)
+    @GetMapping("/updateStoreOrderItemJson/{orderId}/{backendEditProductType}")
+    public AjaxResult updateStoreOrderItemJson(@PathVariable("orderId") Long orderId,@PathVariable("backendEditProductType") Integer backendEditProductType) {
+        return toAjax(fsStoreOrderService.updateStoreOrderItemJson(orderId,backendEditProductType));
+    }
 }

+ 151 - 0
fs-company/src/main/java/com/fs/hisStore/controller/FsStoreScrmController.java

@@ -0,0 +1,151 @@
+package com.fs.hisStore.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.ParseUtils;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.his.param.FsStoreAuditParam;
+import com.fs.hisStore.domain.FsStoreScrm;
+import com.fs.hisStore.service.IFsStoreScrmService;
+import com.fs.hisStore.utils.StoreAuditLogUtil;
+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 2023-06-15
+ */
+@RestController
+@RequestMapping("/store/his/store")
+public class FsStoreScrmController extends BaseController
+{
+    @Autowired
+    private IFsStoreScrmService fsStoreService;
+
+    @Autowired
+    private StoreAuditLogUtil storeAuditLogUtil;
+
+    /**
+     * 查询店铺管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:his:store:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FsStoreScrm fsStore)
+    {
+        startPage();
+        List<FsStoreScrm> list = fsStoreService.selectFsStoreList(fsStore);
+        for (FsStoreScrm store : list) {
+            store.setPhone(ParseUtils.parsePhone(store.getPhone()));
+        }
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出店铺管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('store:his:store:export')")
+    @Log(title = "店铺管理", businessType = BusinessType.EXPORT,logParam = {"店铺","导出店铺信息"},isStoreLog = true)
+    @GetMapping("/export")
+    public AjaxResult export(FsStoreScrm fsStore)
+    {
+        storeAuditLogUtil.generateOperId();
+        List<FsStoreScrm> list = fsStoreService.selectFsStoreList(fsStore);
+        for (FsStoreScrm store : list) {
+            store.setPhone(ParseUtils.parsePhone(store.getPhone()));
+        }
+        ExcelUtil<FsStoreScrm> util = new ExcelUtil<FsStoreScrm>(FsStoreScrm.class);
+        return util.exportExcel(list, "店铺管理数据");
+    }
+
+    /**
+     * 获取店铺管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('store:his:store:query')")
+    @GetMapping(value = "/{storeId}")
+    public AjaxResult getInfo(@PathVariable("storeId") Long storeId)
+    {
+        FsStoreScrm fsStore = fsStoreService.selectFsStoreByStoreId(storeId);
+        fsStore.setPhone(ParseUtils.parsePhone(fsStore.getPhone()));
+        return AjaxResult.success(fsStore);
+    }
+
+    /**
+     * 新增店铺管理
+     */
+    @PreAuthorize("@ss.hasPermi('store:his:store:add')")
+    @Log(title = "店铺管理", businessType = BusinessType.INSERT,logParam = {"店铺","新增店铺信息"},isStoreLog = true)
+    @PostMapping
+    public AjaxResult add(@RequestBody FsStoreScrm fsStore)
+    {
+        storeAuditLogUtil.addOperLog(fsStoreService.insertFsStore(fsStore));
+        return AjaxResult.success();
+    }
+
+    /**
+     * 修改店铺管理
+     */
+    @PreAuthorize("@ss.hasPermi('store:his:store:edit')")
+    @Log(title = "店铺管理", businessType = BusinessType.UPDATE,logParam = {"店铺","修改店铺信息"},isStoreLog = true)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FsStoreScrm fsStore)
+    {
+
+        if (fsStore.getPhone()!=null&&fsStore.getPhone().contains("*")){
+            fsStore.setPhone(null);
+        }
+        return toAjax(fsStoreService.updateFsStore(fsStore));
+    }
+
+    /**
+     * 删除店铺管理
+     */
+    @PreAuthorize("@ss.hasPermi('store:his:store:remove')")
+    @Log(title = "店铺管理", businessType = BusinessType.DELETE,logParam = {"店铺","删除店铺信息"},isStoreLog = true)
+	@DeleteMapping("/{storeIds}")
+    public AjaxResult remove(@PathVariable Long[] storeIds)
+    {
+        return toAjax(fsStoreService.deleteFsStoreByStoreIds(storeIds));
+    }
+
+    /**
+     * 店铺审核
+     */
+    @PreAuthorize("@ss.hasPermi('store:his:store:audit')")
+    @Log(title = "店铺审核", businessType = BusinessType.AUDIT,logParam = {"店铺","店铺审核"},isStoreLog = true
+    ,logParamExpression = "#p0.getIsAudit()==1?new String[]{'店铺','店铺审核通过'}: new String[]{'店铺','店铺审核退回'}")
+    @PutMapping("/audit")
+    public AjaxResult audit(@RequestBody FsStoreAuditParam fsStore)
+    {
+        return toAjax(fsStoreService.updateFsStoreAudit(fsStore));
+    }
+
+    /**
+     * 重置店铺密码
+     * */
+    @PreAuthorize("@ss.hasPermi('store:his:store:refresh')")
+    @Log(title = "店铺管理", businessType = BusinessType.UPDATE,logParam = {"店铺","重置店铺密码"},isStoreLog = true)
+    @PutMapping("/refresh/{storeId}")
+    public AjaxResult refresh(@PathVariable Long storeId)
+    {
+        return toAjax(fsStoreService.refreshFsStore(storeId));
+    }
+
+
+    /**
+     * 店铺审核日志
+     * */
+    @PreAuthorize("@ss.hasPermi('store:his:store:auditLog')")
+    @GetMapping("/auditLog/{storeId}")
+    public R auditLog(@PathVariable Long storeId){
+        return R.ok().put("auditLog",storeAuditLogUtil.selectOperLogByMainId(storeId));
+    }
+}

+ 5 - 0
fs-qwhook-sop/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
+import com.fs.common.utils.CloudHostUtils;
 import com.fs.course.domain.FsUserCourse;
 import com.fs.course.param.FsCourseLinkCreateParam;
 import com.fs.course.param.FsCourseLinkMiniParam;
@@ -85,6 +86,10 @@ public class FsUserCourseVideoController {
             return R.error("课程id不能为空");
         }
 
+        if (CloudHostUtils.hasCloudHostName("木易华康")) {
+            param.setIsOnPut(0);
+        }
+
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
         List<FsCourseVideoListBySidebarVO> videoListBySidebar = fsUserCourseVideoService.getFsCourseVideoListBySidebar(param);
         PageInfo<FsCourseVideoListBySidebarVO> result = new PageInfo<>(videoListBySidebar);

+ 5 - 0
fs-qwhook/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
+import com.fs.common.utils.CloudHostUtils;
 import com.fs.course.domain.FsUserCourse;
 import com.fs.course.param.FsCourseLinkCreateParam;
 import com.fs.course.param.FsCourseLinkMiniParam;
@@ -86,6 +87,10 @@ public class FsUserCourseVideoController {
             return R.error("课程id不能为空");
         }
 
+        if (CloudHostUtils.hasCloudHostName("木易华康")) {
+            param.setIsOnPut(0);
+        }
+
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
         List<FsCourseVideoListBySidebarVO> videoListBySidebar = fsUserCourseVideoService.getFsCourseVideoListBySidebar(param);
         PageInfo<FsCourseVideoListBySidebarVO> result = new PageInfo<>(videoListBySidebar);

+ 3 - 0
fs-service/src/main/java/com/fs/company/mapper/CompanyMapper.java

@@ -250,4 +250,7 @@ public interface CompanyMapper
             " `status` != 0   " +
             " and is_del != 1 ")
     List<CompanyVO> getCompanyDropList();
+
+    @Select("select company_id,company_name from company where FIND_IN_SET( company_id , (select company_ids from qw_company where corp_id = #{corpId})) ")
+    List<Company> getCompanyList(@Param("corpId") String corpId);
 }

+ 3 - 0
fs-service/src/main/java/com/fs/company/service/ICompanyUserService.java

@@ -1,6 +1,7 @@
 package com.fs.company.service;
 
 import com.fs.common.core.domain.R;
+import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.param.CompanyUserAreaParam;
 import com.fs.company.param.CompanyUserCodeParam;
@@ -273,4 +274,6 @@ public interface ICompanyUserService {
      * @return
      */
     List<CompanyUser> getDataScopeCompanyUser(Long companyUserId);
+
+    List<Company> getCompanyList(String corpId);
 }

+ 8 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyUserServiceImpl.java

@@ -127,6 +127,8 @@ public class CompanyUserServiceImpl implements ICompanyUserService
 
     @Autowired
     private CompanyRoleMapper companyRoleMapper;
+    @Autowired
+    private CompanyMapper companyMapper;
 
 
     /**
@@ -1120,4 +1122,10 @@ public class CompanyUserServiceImpl implements ICompanyUserService
         }
         return companyUsers;
     }
+
+    @Override
+    public List<Company> getCompanyList(String corpId) {
+        return companyMapper.getCompanyList(corpId);
+
+    }
 }

+ 6 - 0
fs-service/src/main/java/com/fs/course/mapper/FsUserCourseVideoMapper.java

@@ -152,6 +152,9 @@ public interface FsUserCourseVideoMapper extends BaseMapper<FsUserCourseVideo> {
     @Select("select video_id dict_value, title dict_label  from fs_user_course_video where course_id=#{id} and is_del = 0 order by course_sort")
     List<OptionsVO> selectFsUserCourseVodeAllList(Long id);
 
+    @Select("select video_id dict_value, title dict_label  from fs_user_course_video where course_id=#{id} and is_del = 0 and is_on_put = 0 order by course_sort, video_id")
+    List<OptionsVO> selectFsUserCourseVideoAllListV2(@Param("id") Long id);
+
     @Select({"<script> " +
             "select v.*,p.red_packet_money company_red_packet_money from fs_user_course_video v " +
             "LEFT JOIN fs_user_course_video_red_package p on p.video_id= v.video_id and p.company_id =#{maps.companyId} and p.data_type = 1 " +
@@ -211,6 +214,9 @@ public interface FsUserCourseVideoMapper extends BaseMapper<FsUserCourseVideo> {
             "        <if test=\"data.keyword != null and data.keyword !='' \">\n" +
             "            AND v.title LIKE concat('%',#{data.keyword},'%')\n" +
             "        </if>" +
+            "        <if test=\"data.isOnPut != null\">\n" +
+            "            AND v.is_on_put = #{data.isOnPut}\n" +
+            "        </if>" +
             "order by v.course_sort asc, v.video_id asc " +
             "</script>")
     List<FsCourseVideoListBySidebarVO> getFsCourseVideoListBySidebar(@Param("data") FsCourseListBySidebarParam param);

+ 3 - 0
fs-service/src/main/java/com/fs/course/param/FsCourseListBySidebarParam.java

@@ -41,4 +41,7 @@ public class FsCourseListBySidebarParam implements Serializable {
      * 用于过滤用户当日应该看课的视频id
      */
     private List<Long> videoIds;
+
+    // 是否上架 0:上架,1:下架
+    private Integer isOnPut;
 }

+ 3 - 0
fs-service/src/main/java/com/fs/hisStore/vo/FsStoreOrderExportVO.java

@@ -273,4 +273,7 @@ public class FsStoreOrderExportVO implements Serializable
 
     @Excel(name = "是否审核")
     private String isAudit;
+
+    @Excel(name = "订单备注")
+    private String orderRemark;
 }