浏览代码

Merge remote-tracking branch 'origin/master'

zyp 1 天之前
父节点
当前提交
69f6a6264e
共有 30 个文件被更改,包括 674 次插入24 次删除
  1. 103 0
      fs-admin/src/main/java/com/fs/qw/controller/QwIpadServerController.java
  2. 118 0
      fs-admin/src/main/java/com/fs/qw/controller/QwIpadServerLogController.java
  3. 118 0
      fs-admin/src/main/java/com/fs/qw/controller/QwIpadServerUserController.java
  4. 18 0
      fs-qwhook-sop/src/main/java/com/fs/app/controller/ApisQwUserController.java
  5. 18 0
      fs-qwhook-sop/src/main/java/com/fs/app/controller/QwUserController.java
  6. 10 4
      fs-qwhook/src/main/java/com/fs/app/controller/ApisQwUserController.java
  7. 9 4
      fs-qwhook/src/main/java/com/fs/app/controller/QwUserController.java
  8. 1 0
      fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java
  9. 3 2
      fs-service/src/main/java/com/fs/huifuPay/service/test.java
  10. 9 0
      fs-service/src/main/java/com/fs/qw/mapper/QwIpadServerLogMapper.java
  11. 10 0
      fs-service/src/main/java/com/fs/qw/mapper/QwIpadServerUserMapper.java
  12. 21 0
      fs-service/src/main/java/com/fs/qw/param/IPadServerLogParam.java
  13. 15 0
      fs-service/src/main/java/com/fs/qw/param/IPadServerUserParam.java
  14. 21 0
      fs-service/src/main/java/com/fs/qw/param/QwExtCourseSopWatchLog.java
  15. 9 0
      fs-service/src/main/java/com/fs/qw/service/IQwIpadServerLogService.java
  16. 10 0
      fs-service/src/main/java/com/fs/qw/service/IQwIpadServerUserService.java
  17. 8 0
      fs-service/src/main/java/com/fs/qw/service/impl/QwIpadServerLogServiceImpl.java
  18. 8 0
      fs-service/src/main/java/com/fs/qw/service/impl/QwIpadServerUserServiceImpl.java
  19. 43 0
      fs-service/src/main/java/com/fs/qw/vo/QwIPadServerLogVO.java
  20. 38 0
      fs-service/src/main/java/com/fs/qw/vo/QwIPadServerUserVO.java
  21. 11 0
      fs-service/src/main/java/com/fs/sop/domain/QwSopTemp.java
  22. 3 2
      fs-service/src/main/java/com/fs/sop/mapper/SopUserLogsInfoMapper.java
  23. 2 1
      fs-service/src/main/java/com/fs/sop/service/ISopUserLogsInfoService.java
  24. 20 1
      fs-service/src/main/java/com/fs/sop/service/impl/QwSopTempServiceImpl.java
  25. 5 2
      fs-service/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java
  26. 1 0
      fs-service/src/main/resources/application-config-druid-jzzx.yml
  27. 1 0
      fs-service/src/main/resources/application-config-druid-sxjz.yml
  28. 1 0
      fs-service/src/main/resources/mapper/course/FsCourseWatchLogMapper.xml
  29. 20 4
      fs-service/src/main/resources/mapper/qw/QwIpadServerLogMapper.xml
  30. 20 4
      fs-service/src/main/resources/mapper/qw/QwIpadServerUserMapper.xml

+ 103 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwIpadServerController.java

@@ -0,0 +1,103 @@
+package com.fs.qw.controller;
+
+import java.util.List;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.qw.domain.QwIpadServer;
+import com.fs.qw.service.IQwIpadServerService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * ipad服务器Controller
+ *
+ * @author fs
+ * @date 2025-07-23
+ */
+@RestController
+@RequestMapping("/qw/qwIpadServer")
+public class QwIpadServerController extends BaseController
+{
+    @Autowired
+    private IQwIpadServerService qwIpadServerService;
+
+    /**
+     * 查询ipad服务器列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServer:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwIpadServer qwIpadServer)
+    {
+        startPage();
+        List<QwIpadServer> list = qwIpadServerService.selectQwIpadServerList(qwIpadServer);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出ipad服务器列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServer:export')")
+    @Log(title = "ipad服务器", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(QwIpadServer qwIpadServer)
+    {
+        List<QwIpadServer> list = qwIpadServerService.selectQwIpadServerList(qwIpadServer);
+        ExcelUtil<QwIpadServer> util = new ExcelUtil<QwIpadServer>(QwIpadServer.class);
+        return util.exportExcel(list, "ipad服务器数据");
+    }
+
+    /**
+     * 获取ipad服务器详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServer:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwIpadServerService.selectQwIpadServerById(id));
+    }
+
+    /**
+     * 新增ipad服务器
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServer:add')")
+    @Log(title = "ipad服务器", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwIpadServer qwIpadServer)
+    {
+        return toAjax(qwIpadServerService.insertQwIpadServer(qwIpadServer));
+    }
+
+    /**
+     * 修改ipad服务器
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServer:edit')")
+    @Log(title = "ipad服务器", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwIpadServer qwIpadServer)
+    {
+        return toAjax(qwIpadServerService.updateQwIpadServer(qwIpadServer));
+    }
+
+    /**
+     * 删除ipad服务器
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServer:remove')")
+    @Log(title = "ipad服务器", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwIpadServerService.deleteQwIpadServerByIds(ids));
+    }
+}

+ 118 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwIpadServerLogController.java

@@ -0,0 +1,118 @@
+package com.fs.qw.controller;
+
+import java.util.List;
+
+import com.fs.qw.param.IPadServerLogParam;
+import com.fs.qw.vo.QwIPadServerLogVO;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.qw.domain.QwIpadServerLog;
+import com.fs.qw.service.IQwIpadServerLogService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * ipad服务器日志Controller
+ *
+ * @author fs
+ * @date 2025-07-23
+ */
+@RestController
+@RequestMapping("/qw/qwIpadServerLog")
+public class QwIpadServerLogController extends BaseController
+{
+    @Autowired
+    private IQwIpadServerLogService qwIpadServerLogService;
+
+    /**
+     * 查询ipad服务器日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerLog:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwIpadServerLog qwIpadServerLog)
+    {
+        startPage();
+        List<QwIpadServerLog> list = qwIpadServerLogService.selectQwIpadServerLogList(qwIpadServerLog);
+        return getDataTable(list);
+    }
+
+    /**
+     * 查询ipad服务器日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerLog:list')")
+    @GetMapping("/ipadServerLogList")
+    public TableDataInfo ipadServerLogList(IPadServerLogParam iPadServerLogParam)
+    {
+        startPage();
+        List<QwIPadServerLogVO> list = qwIpadServerLogService.selectIpadServerLogList(iPadServerLogParam);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出ipad服务器日志列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerLog:export')")
+    @Log(title = "ipad服务器日志", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(IPadServerLogParam qwIpadServerLog)
+    {
+        List<QwIPadServerLogVO> list = qwIpadServerLogService.selectIpadServerLogList(qwIpadServerLog);
+        ExcelUtil<QwIPadServerLogVO> util = new ExcelUtil<QwIPadServerLogVO>(QwIPadServerLogVO.class);
+        return util.exportExcel(list, "ipad服务器日志数据");
+    }
+
+    /**
+     * 获取ipad服务器日志详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerLog:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwIpadServerLogService.selectQwIpadServerLogById(id));
+    }
+
+    /**
+     * 新增ipad服务器日志
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerLog:add')")
+    @Log(title = "ipad服务器日志", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwIpadServerLog qwIpadServerLog)
+    {
+        return toAjax(qwIpadServerLogService.insertQwIpadServerLog(qwIpadServerLog));
+    }
+
+    /**
+     * 修改ipad服务器日志
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerLog:edit')")
+    @Log(title = "ipad服务器日志", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwIpadServerLog qwIpadServerLog)
+    {
+        return toAjax(qwIpadServerLogService.updateQwIpadServerLog(qwIpadServerLog));
+    }
+
+    /**
+     * 删除ipad服务器日志
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerLog:remove')")
+    @Log(title = "ipad服务器日志", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwIpadServerLogService.deleteQwIpadServerLogByIds(ids));
+    }
+}

+ 118 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwIpadServerUserController.java

@@ -0,0 +1,118 @@
+package com.fs.qw.controller;
+
+import java.util.List;
+
+import com.fs.qw.param.IPadServerUserParam;
+import com.fs.qw.vo.QwIPadServerUserVO;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.fs.common.annotation.Log;
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.enums.BusinessType;
+import com.fs.qw.domain.QwIpadServerUser;
+import com.fs.qw.service.IQwIpadServerUserService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.common.core.page.TableDataInfo;
+
+/**
+ * ipad用户Controller
+ *
+ * @author fs
+ * @date 2025-07-23
+ */
+@RestController
+@RequestMapping("/qw/qwIpadServerUser")
+public class QwIpadServerUserController extends BaseController
+{
+    @Autowired
+    private IQwIpadServerUserService qwIpadServerUserService;
+
+    /**
+     * 查询ipad用户列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerUser:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(QwIpadServerUser qwIpadServerUser)
+    {
+        startPage();
+        List<QwIpadServerUser> list = qwIpadServerUserService.selectQwIpadServerUserList(qwIpadServerUser);
+        return getDataTable(list);
+    }
+
+    /**
+     * 查询ipad用户列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerUser:list')")
+    @GetMapping("/ipadServerUserList")
+    public TableDataInfo list(IPadServerUserParam iPadServerUserParam)
+    {
+        startPage();
+        List<QwIPadServerUserVO> list = qwIpadServerUserService.selectIpadServerUserList(iPadServerUserParam);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出ipad用户列表
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerUser:export')")
+    @Log(title = "ipad用户", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(IPadServerUserParam iPadServerUserParam)
+    {
+        List<QwIPadServerUserVO> list = qwIpadServerUserService.selectIpadServerUserList(iPadServerUserParam);
+        ExcelUtil<QwIPadServerUserVO> util = new ExcelUtil<QwIPadServerUserVO>(QwIPadServerUserVO.class);
+        return util.exportExcel(list, "ipad用户数据");
+    }
+
+    /**
+     * 获取ipad用户详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerUser:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(qwIpadServerUserService.selectQwIpadServerUserById(id));
+    }
+
+    /**
+     * 新增ipad用户
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerUser:add')")
+    @Log(title = "ipad用户", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QwIpadServerUser qwIpadServerUser)
+    {
+        return toAjax(qwIpadServerUserService.insertQwIpadServerUser(qwIpadServerUser));
+    }
+
+    /**
+     * 修改ipad用户
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerUser:edit')")
+    @Log(title = "ipad用户", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QwIpadServerUser qwIpadServerUser)
+    {
+        return toAjax(qwIpadServerUserService.updateQwIpadServerUser(qwIpadServerUser));
+    }
+
+    /**
+     * 删除ipad用户
+     */
+    @PreAuthorize("@ss.hasPermi('qw:qwIpadServerUser:remove')")
+    @Log(title = "ipad用户", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(qwIpadServerUserService.deleteQwIpadServerUserByIds(ids));
+    }
+}

+ 18 - 0
fs-qwhook-sop/src/main/java/com/fs/app/controller/ApisQwUserController.java

@@ -7,10 +7,13 @@ import com.fs.course.param.FsCourseListBySidebarParam;
 import com.fs.qw.domain.QwExternalContactInfo;
 import com.fs.qw.domain.QwUser;
 import com.fs.qw.param.ExternalContactDetailsParam;
+import com.fs.qw.param.QwExtCourseSopWatchLog;
 import com.fs.qw.service.IQwExternalContactInfoService;
 import com.fs.qw.service.IQwExternalContactService;
 import com.fs.qw.vo.ExternalContactDetailsVO;
 import com.fs.qw.vo.QwExternalListByHeavyVO;
+import com.fs.sop.service.ISopUserLogsInfoService;
+import com.fs.sop.vo.ExtCourseSopWatchLogVO;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
@@ -36,6 +39,9 @@ public class ApisQwUserController extends BaseController {
     @Autowired
     private IQwExternalContactInfoService qwExternalContactInfoService;
 
+    @Autowired
+    private ISopUserLogsInfoService iSopUserLogsInfoService;
+
     @GetMapping("/details")
     @ApiOperation("会员看课详情")
     public R getUserDetails(@ApiParam(value = "外部联系人id", required = true) @RequestParam Long contactId,
@@ -98,4 +104,16 @@ public class ApisQwUserController extends BaseController {
         PageInfo<QwExternalListByHeavyVO> result = new PageInfo<>(qwExternalListByHeavy);
         return R.ok().put("data", result);
     }
+
+    @PostMapping("/extCourseSopWatchLog")
+    @ApiOperation("获取外部联系人按照 营期天数 获取到的今天该看的课")
+    public R getExtCourseSopWatchLog(@RequestBody QwExtCourseSopWatchLog param) {
+
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        List<ExtCourseSopWatchLogVO> list = iSopUserLogsInfoService.getExtCourseSopWatchLog(param);
+        PageInfo<ExtCourseSopWatchLogVO> result = new PageInfo<>(list);
+
+        return R.ok().put("data", result);
+    }
+
 }

+ 18 - 0
fs-qwhook-sop/src/main/java/com/fs/app/controller/QwUserController.java

@@ -7,6 +7,7 @@ import com.fs.common.exception.CustomException;
 import com.fs.qw.domain.QwExternalContactInfo;
 import com.fs.qw.domain.QwTagGroup;
 import com.fs.qw.param.ExternalContactDetailsParam;
+import com.fs.qw.param.QwExtCourseSopWatchLog;
 import com.fs.qw.param.sidebar.ExternalContactInfoParam;
 import com.fs.qw.param.sidebar.TagGroupListParam;
 import com.fs.qw.param.sidebar.TagGroupUpdateParam;
@@ -17,6 +18,8 @@ import com.fs.qw.vo.ExternalContactDetailsVO;
 import com.fs.qw.vo.QwTagGroupListVO;
 import com.fs.qw.vo.sidebar.ExternalContactInfoVO;
 import com.fs.qw.vo.sidebar.ExternalContactTagVO;
+import com.fs.sop.service.ISopUserLogsInfoService;
+import com.fs.sop.vo.ExtCourseSopWatchLogVO;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
@@ -45,6 +48,9 @@ public class QwUserController extends BaseController {
     @Autowired
     private IQwTagGroupService qwTagGroupService;
 
+    @Autowired
+    private ISopUserLogsInfoService iSopUserLogsInfoService;
+
     @GetMapping("/details")
     @ApiOperation("会员看课详情")
     public R getUserDetails(@ApiParam(value = "外部联系人id", required = true) @RequestParam Long contactId,
@@ -81,6 +87,18 @@ public class QwUserController extends BaseController {
         return R.ok();
     }
 
+    @PostMapping("/extCourseSopWatchLog")
+    @ApiOperation("获取外部联系人按照 营期天数 获取到的今天该看的课")
+    public R getExtCourseSopWatchLog(@RequestBody QwExtCourseSopWatchLog param) {
+
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        List<ExtCourseSopWatchLogVO> list = iSopUserLogsInfoService.getExtCourseSopWatchLog(param);
+        PageInfo<ExtCourseSopWatchLogVO> result = new PageInfo<>(list);
+
+        return R.ok().put("data", result);
+    }
+
+
     @GetMapping("/externalContact")
     @ApiOperation("获取侧边栏外部联系人信息")
     public R getExternalContactInfo(@RequestParam(value = "qwExternalContactId") Long qwExternalContactId) {

+ 10 - 4
fs-qwhook/src/main/java/com/fs/app/controller/ApisQwUserController.java

@@ -3,12 +3,14 @@ package com.fs.app.controller;
 import com.fs.common.BeanCopyUtils;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.R;
+import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.exception.CustomException;
 import com.fs.course.param.FsCourseListBySidebarParam;
 import com.fs.qw.domain.QwExternalContactInfo;
 import com.fs.qw.domain.QwTagGroup;
 import com.fs.qw.domain.QwUser;
 import com.fs.qw.param.ExternalContactDetailsParam;
+import com.fs.qw.param.QwExtCourseSopWatchLog;
 import com.fs.qw.param.sidebar.ExternalContactInfoParam;
 import com.fs.qw.param.sidebar.TagGroupListParam;
 import com.fs.qw.param.sidebar.TagGroupUpdateParam;
@@ -119,11 +121,15 @@ public class ApisQwUserController extends BaseController {
     }
 
 
-    @GetMapping("/extCourseSopWatchLog")
+    @PostMapping("/extCourseSopWatchLog")
     @ApiOperation("获取外部联系人按照 营期天数 获取到的今天该看的课")
-    public R getExtCourseSopWatchLog(@RequestParam(value = "qwExternalContactId") Long qwExternalContactId) {
-        List<ExtCourseSopWatchLogVO> tagList = iSopUserLogsInfoService.getExtCourseSopWatchLog(qwExternalContactId);
-        return R.ok().put("data", tagList);
+    public R getExtCourseSopWatchLog(@RequestBody QwExtCourseSopWatchLog param) {
+
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        List<ExtCourseSopWatchLogVO> list = iSopUserLogsInfoService.getExtCourseSopWatchLog(param);
+        PageInfo<ExtCourseSopWatchLogVO> result = new PageInfo<>(list);
+
+        return R.ok().put("data", result);
     }
 
     @GetMapping("/externalContact")

+ 9 - 4
fs-qwhook/src/main/java/com/fs/app/controller/QwUserController.java

@@ -7,6 +7,7 @@ import com.fs.common.exception.CustomException;
 import com.fs.qw.domain.QwExternalContactInfo;
 import com.fs.qw.domain.QwTagGroup;
 import com.fs.qw.param.ExternalContactDetailsParam;
+import com.fs.qw.param.QwExtCourseSopWatchLog;
 import com.fs.qw.param.sidebar.ExternalContactInfoParam;
 import com.fs.qw.param.sidebar.TagGroupListParam;
 import com.fs.qw.param.sidebar.TagGroupUpdateParam;
@@ -86,11 +87,15 @@ public class QwUserController extends BaseController {
         return R.ok();
     }
 
-    @GetMapping("/extCourseSopWatchLog")
+    @PostMapping("/extCourseSopWatchLog")
     @ApiOperation("获取外部联系人按照 营期天数 获取到的今天该看的课")
-    public R getExtCourseSopWatchLog(@RequestParam(value = "qwExternalContactId") Long qwExternalContactId) {
-        List<ExtCourseSopWatchLogVO> tagList = iSopUserLogsInfoService.getExtCourseSopWatchLog(qwExternalContactId);
-        return R.ok().put("data", tagList);
+    public R getExtCourseSopWatchLog(@RequestBody QwExtCourseSopWatchLog param) {
+
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        List<ExtCourseSopWatchLogVO> list = iSopUserLogsInfoService.getExtCourseSopWatchLog(param);
+        PageInfo<ExtCourseSopWatchLogVO> result = new PageInfo<>(list);
+
+        return R.ok().put("data", result);
     }
 
     @GetMapping("/externalContact")

+ 1 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -1839,6 +1839,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
 
             //存看课记录
             courseWatchLogMapper.insertOrUpdateFsCourseWatchLog(watchLog);
+
         }catch (Exception e){
             logger.error("一键群发失败-插入观看记录失败:"+e.getMessage());
         }

+ 3 - 2
fs-service/src/main/java/com/fs/huifuPay/service/test.java

@@ -11,14 +11,15 @@ import java.util.Map;
 public class test {
     static HuiFuServiceImpl huiFuService = new HuiFuServiceImpl();
     public static void main(String[] args)throws Exception {
-        onlinePay();
+//        onlinePay();
+        createOrder();
     }
     public static void  createOrder()throws Exception {
         HuiFuCreateOrder order = new HuiFuCreateOrder();
         //    T_MINIAPP: 微信小程序
         //    A_NATIVE: 支付宝正扫
         order.setTradeType("A_NATIVE");
-       order.setOpenid("oeDjB69hXRKeiX7xfeOQv86VWYU0");
+       order.setOpenid("oCtcH7pwOWlPMBJJyQQQz32qq2og");
         order.setReqSeqId("inquiry-117");
         order.setTransAmt("0.01");
         // 商品描述

+ 9 - 0
fs-service/src/main/java/com/fs/qw/mapper/QwIpadServerLogMapper.java

@@ -2,6 +2,8 @@ package com.fs.qw.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fs.qw.domain.QwIpadServerLog;
+import com.fs.qw.param.IPadServerLogParam;
+import com.fs.qw.vo.QwIPadServerLogVO;
 
 import java.util.List;
 
@@ -28,6 +30,13 @@ public interface QwIpadServerLogMapper extends BaseMapper<QwIpadServerLog>{
      */
     List<QwIpadServerLog> selectQwIpadServerLogList(QwIpadServerLog qwIpadServerLog);
 
+    /**
+     * 查询iPad服务器日志列表及其公司名称用户名称
+     * @param iPadServerLogParam 查询参数
+     * @return ipad服务器日志集合
+     */
+    List<QwIPadServerLogVO> selectIpadServerLogList(IPadServerLogParam iPadServerLogParam);
+
     /**
      * 新增ipad服务器日志
      *

+ 10 - 0
fs-service/src/main/java/com/fs/qw/mapper/QwIpadServerUserMapper.java

@@ -2,6 +2,8 @@ package com.fs.qw.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fs.qw.domain.QwIpadServerUser;
+import com.fs.qw.param.IPadServerUserParam;
+import com.fs.qw.vo.QwIPadServerUserVO;
 import org.apache.ibatis.annotations.Delete;
 
 import java.util.List;
@@ -29,6 +31,14 @@ public interface QwIpadServerUserMapper extends BaseMapper<QwIpadServerUser>{
      */
     List<QwIpadServerUser> selectQwIpadServerUserList(QwIpadServerUser qwIpadServerUser);
 
+    /**
+     * 查询ipad用户列表
+     *
+     * @param iPadServerUserParam ipad用户
+     * @return ipad用户集合
+     */
+    List<QwIPadServerUserVO> selectIpadServerUserList(IPadServerUserParam iPadServerUserParam);
+
     /**
      * 新增ipad用户
      *

+ 21 - 0
fs-service/src/main/java/com/fs/qw/param/IPadServerLogParam.java

@@ -0,0 +1,21 @@
+package com.fs.qw.param;
+
+import lombok.Data;
+
+@Data
+public class IPadServerLogParam {
+
+    /** 类别 1 绑定 2 解绑 */
+    private Integer type;
+
+    /** 服务器名称 */
+    private String serverName;
+    /** 企微用户名称 */
+    private String qwUserName;
+    /** 企业名称 */
+    private String companyName;
+    /** 公司用户名称 */
+    private String companyUserName;
+
+
+}

+ 15 - 0
fs-service/src/main/java/com/fs/qw/param/IPadServerUserParam.java

@@ -0,0 +1,15 @@
+package com.fs.qw.param;
+
+import lombok.Data;
+
+@Data
+public class IPadServerUserParam {
+    /** 服务器名称 */
+    private String serverName;
+    /** 企微用户名称 */
+    private String qwUserName;
+    /** 企业名称 */
+    private String companyName;
+    /** 公司用户名称 */
+    private String companyUserName;
+}

+ 21 - 0
fs-service/src/main/java/com/fs/qw/param/QwExtCourseSopWatchLog.java

@@ -0,0 +1,21 @@
+package com.fs.qw.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class QwExtCourseSopWatchLog  implements Serializable {
+
+    @ApiModelProperty(value = "页码,默认为1", required = true)
+    private Integer pageNum = 1;
+
+    @ApiModelProperty(value = "页大小,默认为10", required = true)
+    private Integer pageSize = 10;
+
+
+    Long qwExternalContactId;
+
+
+}

+ 9 - 0
fs-service/src/main/java/com/fs/qw/service/IQwIpadServerLogService.java

@@ -2,6 +2,8 @@ package com.fs.qw.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fs.qw.domain.QwIpadServerLog;
+import com.fs.qw.param.IPadServerLogParam;
+import com.fs.qw.vo.QwIPadServerLogVO;
 
 import java.util.List;
 
@@ -28,6 +30,13 @@ public interface IQwIpadServerLogService extends IService<QwIpadServerLog>{
      */
     List<QwIpadServerLog> selectQwIpadServerLogList(QwIpadServerLog qwIpadServerLog);
 
+    /**
+     * 查询iPad服务器日志列表及其公司名称用户名称
+     * @param iPadServerLogParam 查询参数
+     * @return ipad服务器日志集合
+     */
+    List<QwIPadServerLogVO> selectIpadServerLogList(IPadServerLogParam iPadServerLogParam);
+
     /**
      * 新增ipad服务器日志
      *

+ 10 - 0
fs-service/src/main/java/com/fs/qw/service/IQwIpadServerUserService.java

@@ -2,6 +2,8 @@ package com.fs.qw.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fs.qw.domain.QwIpadServerUser;
+import com.fs.qw.param.IPadServerUserParam;
+import com.fs.qw.vo.QwIPadServerUserVO;
 
 import java.util.List;
 
@@ -28,6 +30,14 @@ public interface IQwIpadServerUserService extends IService<QwIpadServerUser>{
      */
     List<QwIpadServerUser> selectQwIpadServerUserList(QwIpadServerUser qwIpadServerUser);
 
+    /**
+     * 查询ipad用户列表
+     *
+     * @param iPadServerUserParam ipad用户
+     * @return ipad用户集合
+     */
+    List<QwIPadServerUserVO> selectIpadServerUserList(IPadServerUserParam iPadServerUserParam);
+
     /**
      * 新增ipad用户
      *

+ 8 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwIpadServerLogServiceImpl.java

@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fs.common.utils.DateUtils;
 import com.fs.qw.domain.QwIpadServerLog;
 import com.fs.qw.mapper.QwIpadServerLogMapper;
+import com.fs.qw.param.IPadServerLogParam;
 import com.fs.qw.service.IQwIpadServerLogService;
+import com.fs.qw.vo.QwIPadServerLogVO;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -42,6 +45,11 @@ public class QwIpadServerLogServiceImpl extends ServiceImpl<QwIpadServerLogMappe
         return baseMapper.selectQwIpadServerLogList(qwIpadServerLog);
     }
 
+    @Override
+    public List<QwIPadServerLogVO> selectIpadServerLogList(IPadServerLogParam iPadServerLogParam) {
+        return baseMapper.selectIpadServerLogList(iPadServerLogParam);
+    }
+
     /**
      * 新增ipad服务器日志
      *

+ 8 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwIpadServerUserServiceImpl.java

@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fs.common.utils.DateUtils;
 import com.fs.qw.domain.QwIpadServerUser;
 import com.fs.qw.mapper.QwIpadServerUserMapper;
+import com.fs.qw.param.IPadServerUserParam;
 import com.fs.qw.service.IQwIpadServerUserService;
+import com.fs.qw.vo.QwIPadServerUserVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -45,6 +48,11 @@ public class QwIpadServerUserServiceImpl extends ServiceImpl<QwIpadServerUserMap
         return baseMapper.selectQwIpadServerUserList(qwIpadServerUser);
     }
 
+    @Override
+    public List<QwIPadServerUserVO> selectIpadServerUserList(IPadServerUserParam iPadServerUserParam) {
+        return baseMapper.selectIpadServerUserList(iPadServerUserParam);
+    }
+
     /**
      * 新增ipad用户
      *

+ 43 - 0
fs-service/src/main/java/com/fs/qw/vo/QwIPadServerLogVO.java

@@ -0,0 +1,43 @@
+package com.fs.qw.vo;
+
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+@Data
+public class QwIPadServerLogVO {
+    /** $column.columnComment */
+    private Long id;
+
+    /** 服务器id */
+    private Long serverId;
+
+    /** 企微用户 */
+    private Long qwUserId;
+
+    /** 公司id */
+    private Long companyId;
+
+    /** 公司用户id */
+    private Long companyUserId;
+
+
+
+    /** 服务器名称 */
+    @Excel(name = "服务器")
+    private String serverName;
+    /** 企微用户名称 */
+    @Excel(name = "企微用户")
+    private String qwUserName;
+    /** 企业名称 */
+    @Excel(name = "公司")
+    private String companyName;
+    /** 公司用户名称 */
+    @Excel(name = "公司用户")
+    private String companyUserName;
+    /** 标题 */
+    @Excel(name = "标题")
+    private String tilie;
+    /** 类别 1 绑定 2 解绑 */
+    @Excel(name = "类别",readConverterExp = "1=绑定,2=解绑")
+    private Integer type;
+}

+ 38 - 0
fs-service/src/main/java/com/fs/qw/vo/QwIPadServerUserVO.java

@@ -0,0 +1,38 @@
+package com.fs.qw.vo;
+
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+@Data
+public class QwIPadServerUserVO {
+    /** id */
+    private Long id;
+
+    /** 服务器id */
+    private Long serverId;
+
+    /** 企微用户id */
+    private Long qwUserId;
+
+    /** 公司id */
+    private Long companyId;
+
+    /** 公司用户id */
+    private Long companyUserId;
+
+    /** 服务器名称 */
+    @Excel(name = "服务器")
+    private String serverName;
+
+    /** 企微用户名称 */
+    @Excel(name = "企微用户")
+    private String qwUserName;
+
+    /** 企业名称 */
+    @Excel(name = "公司")
+    private String companyName;
+
+    /** 公司用户名称 */
+    @Excel(name = "公司用户")
+    private String companyUserName;
+}

+ 11 - 0
fs-service/src/main/java/com/fs/sop/domain/QwSopTemp.java

@@ -39,6 +39,7 @@ public class QwSopTemp implements Serializable
     @Excel(name = "状态")
     private String status;
 
+
     /** 排序 */
     @Excel(name = "排序")
     private Integer sort;
@@ -49,7 +50,14 @@ public class QwSopTemp implements Serializable
 
     private Integer gap;
 
+    /**
+    * 是否开启官方群发
+    */
+    @TableField(exist = false)
+    private String openOfficial;
+
     private String corpId;
+
     /**
     * 模板类型
     */
@@ -77,4 +85,7 @@ public class QwSopTemp implements Serializable
     @TableField(exist = false)
     private List<String> timeList;
 
+    @TableField(exist = false)
+    private List<String> timeDesc;
+
 }

+ 3 - 2
fs-service/src/main/java/com/fs/sop/mapper/SopUserLogsInfoMapper.java

@@ -2,6 +2,7 @@ package com.fs.sop.mapper;
 
 import com.fs.common.annotation.DataSource;
 import com.fs.common.enums.DataSourceType;
+import com.fs.qw.param.QwExtCourseSopWatchLog;
 import com.fs.sop.domain.SopUserLogsInfo;
 import com.fs.sop.params.BatchSopUserLogsInfoParamU;
 import com.fs.sop.params.DeleteQwSopParam;
@@ -228,8 +229,8 @@ public interface SopUserLogsInfoMapper {
             "  LEFT JOIN qw_sop_temp_day qsts ON qs.temp_id = qsts.temp_id AND qsts.day_num = DATEDIFF(CURRENT_DATE, sul.start_time) + 1 \n" +
             "  LEFT JOIN qw_sop_temp_rules qstr ON qsts.id = qstr.day_id AND qstr.content_type = 2 \n" +
             "WHERE\n" +
-            "  suli.external_id = #{qwExtContactId} AND qstr.video_id IS NOT NULL \n" +
+            "  suli.external_id = #{data.qwExternalContactId} AND qstr.video_id IS NOT NULL \n" +
             "GROUP BY qsts.id, sul.start_time "+
             "</script>")
-    List<ExtCourseSopWatchLogVO> getExtCourseSopWatchLog(@Param("qwExtContactId") Long qwExternalContactId);
+    List<ExtCourseSopWatchLogVO> getExtCourseSopWatchLog(@Param("data") QwExtCourseSopWatchLog qwExternalContactId);
 }

+ 2 - 1
fs-service/src/main/java/com/fs/sop/service/ISopUserLogsInfoService.java

@@ -1,6 +1,7 @@
 package com.fs.sop.service;
 
 import com.fs.common.core.domain.R;
+import com.fs.qw.param.QwExtCourseSopWatchLog;
 import com.fs.sop.domain.SopUserLogsInfo;
 import com.fs.sop.params.BatchSopUserLogsInfoParam;
 import com.fs.sop.params.SendUserLogsInfoMsgParam;
@@ -73,5 +74,5 @@ public interface ISopUserLogsInfoService {
     public R sendUserLogsInfoMsg(SendUserLogsInfoMsgParam param);
     public R sendUserLogsInfoMsgType(SendUserLogsInfoMsgParam param);
 
-    public List<ExtCourseSopWatchLogVO> getExtCourseSopWatchLog(Long qwExternalContactId);
+    public List<ExtCourseSopWatchLogVO> getExtCourseSopWatchLog(QwExtCourseSopWatchLog qwExternalContactId);
 }

+ 20 - 1
fs-service/src/main/java/com/fs/sop/service/impl/QwSopTempServiceImpl.java

@@ -363,6 +363,7 @@ public class QwSopTempServiceImpl implements IQwSopTempService
         if(temp.getTime() == null){
             return;
         }
+
         FsUserCourse fsUserCourse = fsUserCourseMapper.selectFsUserCourseByCourseId(temp.getCourseId());
         temp.setProject(fsUserCourse.getProject());
         qwSopTempMapper.updateQwSopTemp(temp);
@@ -389,7 +390,12 @@ public class QwSopTempServiceImpl implements IQwSopTempService
                 QwSopTempRules rules = new QwSopTempRules();
                 rules.setTempId(temp.getId());
                 rules.setName(day.getName());
-                rules.setIsOfficial(sorts.get() == 0 ? "1" : "0");
+                if (temp.getOpenOfficial().equals("1")){
+                    rules.setIsOfficial(sorts.get() == 0 ? "1" : "0");
+                }else {
+                    rules.setIsOfficial("0");
+                }
+
                 rules.setTime(time);
                 rules.setContentType(2);
                 rules.setType(2);
@@ -423,6 +429,19 @@ public class QwSopTempServiceImpl implements IQwSopTempService
                     content2.setContent(JSON.toJSONString(setting2));
                     qwSopTempContents.add(content2);
                 }
+                if (sorts.get() > 0){
+
+                    QwSopTempContent content3 = new QwSopTempContent();
+                    content3.setTempId(temp.getId());
+                    content3.setContentType(3);
+                    QwSopTempSetting2.Content.Setting setting3 = new QwSopTempSetting2.Content.Setting();
+                    setting3.setValue(temp.getTimeDesc().get(sorts.get()-1));
+                    setting3.setContentType("1");
+                    content3.setContent(JSON.toJSONString(setting3));
+                    qwSopTempContents.add(content3);
+
+                }
+
                 rules.setSorts(sorts.getAndIncrement());
                 if(rules.getSorts() == 0){
                     rules.setCourseType(0);

+ 5 - 2
fs-service/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java

@@ -24,6 +24,7 @@ import com.fs.fastGpt.domain.FastGptChatReplaceWords;
 import com.fs.fastGpt.mapper.FastGptChatReplaceWordsMapper;
 import com.fs.qw.domain.*;
 import com.fs.qw.mapper.*;
+import com.fs.qw.param.QwExtCourseSopWatchLog;
 import com.fs.qw.param.QwExternalContactVOTime;
 import com.fs.qw.param.QwTagSearchParam;
 import com.fs.qw.service.IQwCompanyService;
@@ -598,7 +599,8 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                 }).filter(Objects::nonNull).collect(Collectors.toList());
 
 
-            } else {
+            }
+            else {
                 sopLogsList = groupList.stream().map(groupChat -> {
                     QwUser qwUser = qwUserMapper.selectQwUserByIdByWeComeText2(groupChat.getOwner(), groupChat.getCorpId());
                     QwSopLogs sopLogs = new QwSopLogs();
@@ -873,7 +875,7 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
     }
 
     @Override
-    public List<ExtCourseSopWatchLogVO> getExtCourseSopWatchLog(Long qwExternalContactId) {
+    public List<ExtCourseSopWatchLogVO> getExtCourseSopWatchLog(QwExtCourseSopWatchLog qwExternalContactId) {
 
         List<ExtCourseSopWatchLogVO> watchLogVOList = sopUserLogsInfoMapper.getExtCourseSopWatchLog(qwExternalContactId);
 
@@ -1136,6 +1138,7 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                     break;
                 //小程序单独
                 case "4":
+
                     addWatchLogIfNeeded(param.getSopId(), param.getVideoId(), param.getCourseId(),item.getFsUserId(), String.valueOf(qwUser.getId()), companyUserId, companyId,
                             item.getExternalId(),param.getStartTime(),dataTime );
 

+ 1 - 0
fs-service/src/main/resources/application-config-druid-jzzx.yml

@@ -87,6 +87,7 @@ headerImg:
   imgUrl: https://jiuzhouzaixian.obs.cn-southwest-2.myhuaweicloud.com/fs/20250623/1750665141214.png
 ipad:
   ipadUrl: http://ipad.jiuzhouzaixian.com
+  aiApi:
 wx_miniapp_temp:
   pay_order_temp_id: VXEvKaGNPFuJmhWK9O_QPrTZxe9umDCukq-maI8Vdek
   inquiry_temp_id: 9POPYeqhI48LOPvq-Rfoklze7H-9SlunJKh10Qt4_2I

+ 1 - 0
fs-service/src/main/resources/application-config-druid-sxjz.yml

@@ -80,6 +80,7 @@ headerImg:
   imgUrl: https://jz-cos-1356808054.cos.ap-chengdu.myqcloud.com/fs/20250515/0877754b59814ea8a428fa3697b20e68.png
 ipad:
   ipadUrl: http://ipad.cdwjyyh.com
+  aiApi:
 wx_miniapp_temp:
   pay_order_temp_id:
   inquiry_temp_id:

+ 1 - 0
fs-service/src/main/resources/mapper/course/FsCourseWatchLogMapper.xml

@@ -285,6 +285,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim suffixOverrides=",">
             <if test="updateTime != null">update_time = #{updateTime},</if>
         </trim>
+
     </insert>
 
 

+ 20 - 4
fs-service/src/main/resources/mapper/qw/QwIpadServerLogMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fs.qw.mapper.QwIpadServerLogMapper">
 
     <resultMap type="QwIpadServerLog" id="QwIpadServerLogResult">
@@ -31,6 +31,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
+    <select id="selectIpadServerLogList"  resultType="com.fs.qw.vo.QwIPadServerLogVO">
+        SELECT sl.id,sl.server_id,sl.qw_user_id,sl.company_id,sl.company_user_id,sl.tilie,sl.type,sl.create_time,s.title server_name,u.qw_user_name,c.company_name,cu.user_name company_user_name FROM qw_ipad_server_log sl
+        JOIN qw_ipad_server s ON sl.server_id = s.id
+        JOIN qw_user u ON sl.qw_user_id = u.id
+        JOIN company c ON sl.company_id = c.company_id
+        JOIN company_user cu ON sl.company_user_id = cu.user_id
+        <where>
+            <if test="serverName != null "> and s.title = #{serverName}</if>
+            <if test="qwUserName != null "> and u.qw_user_name = #{qwUserName}</if>
+            <if test="companyName != null "> and c.company_name = #{companyName}</if>
+            <if test="companyUserName != null "> and cu.user_name = #{companyUserName}</if>
+            <if test="type != null "> and sl.type = #{type}</if>
+        </where>
+        ORDER BY sl.create_time DESC
+    </select>
+
     <select id="selectQwIpadServerLogById" parameterType="Long" resultMap="QwIpadServerLogResult">
         <include refid="selectQwIpadServerLogVo"/>
         where id = #{id}
@@ -47,7 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="tilie != null">tilie,</if>
             <if test="type != null">type,</if>
             <if test="createTime != null">create_time,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
             <if test="serverId != null">#{serverId},</if>
@@ -57,7 +73,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="tilie != null">#{tilie},</if>
             <if test="type != null">#{type},</if>
             <if test="createTime != null">#{createTime},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateQwIpadServerLog" parameterType="QwIpadServerLog">

+ 20 - 4
fs-service/src/main/resources/mapper/qw/QwIpadServerUserMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fs.qw.mapper.QwIpadServerUserMapper">
 
     <resultMap type="QwIpadServerUser" id="QwIpadServerUserResult">
@@ -27,6 +27,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </where>
     </select>
 
+    <select id="selectIpadServerUserList"  resultType="com.fs.qw.vo.QwIPadServerUserVO">
+        SELECT su.id,su.server_id,su.qw_user_id,su.company_id,su.company_user_id,su.create_time,s.title server_name,u.qw_user_name,c.company_name,cu.user_name company_user_name FROM qw_ipad_server_user su
+        JOIN qw_ipad_server s ON su .server_id = s.id
+        JOIN qw_user u ON su .qw_user_id = u.id
+        JOIN company c ON su .company_id = c.company_id
+        JOIN company_user cu ON su.company_user_id = cu.user_id
+        <where>
+            <if test="serverName != null "> and s.title = #{serverName}</if>
+            <if test="qwUserName != null "> and u.qw_user_name = #{qwUserName}</if>
+            <if test="companyName != null "> and c.company_name = #{companyName}</if>
+            <if test="companyUserName != null "> and cu.user_name = #{companyUserName}</if>
+        </where>
+        ORDER BY su.create_time DESC
+    </select>
+
+
     <select id="selectQwIpadServerUserById" parameterType="Long" resultMap="QwIpadServerUserResult">
         <include refid="selectQwIpadServerUserVo"/>
         where id = #{id}
@@ -40,14 +56,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="companyId != null">company_id,</if>
             <if test="companyUserId != null">company_user_id,</if>
             <if test="createTime != null">create_time,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="serverId != null">#{serverId},</if>
             <if test="qwUserId != null">#{qwUserId},</if>
             <if test="companyId != null">#{companyId},</if>
             <if test="companyUserId != null">#{companyUserId},</if>
             <if test="createTime != null">#{createTime},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateQwIpadServerUser" parameterType="QwIpadServerUser">