Browse Source

Merge remote-tracking branch 'origin/master'

yfh 1 week ago
parent
commit
748c38c40d

+ 5 - 5
fs-company/src/main/java/com/fs/course/controller/FsCourseAnswerLogsController.java

@@ -105,26 +105,26 @@ public class FsCourseAnswerLogsController extends BaseController
         }
         }
         List<FsCourseAnswerLogsListVO> list = fsCourseAnswerLogsService.selectFsCourseAnswerLogsListVONew(param);
         List<FsCourseAnswerLogsListVO> list = fsCourseAnswerLogsService.selectFsCourseAnswerLogsListVONew(param);
         ExcelUtil<FsCourseAnswerLogsListVO> util = new ExcelUtil<FsCourseAnswerLogsListVO>(FsCourseAnswerLogsListVO.class);
         ExcelUtil<FsCourseAnswerLogsListVO> util = new ExcelUtil<FsCourseAnswerLogsListVO>(FsCourseAnswerLogsListVO.class);
-        return util.exportExcel(list, "答题日志数据");
+        return util.exportExcel(list, "答题记录数据");
     }
     }
 
 
     /**
     /**
-     * 导出答题日志列表
+     * 导出我的答题日志列表
      */
      */
     @PreAuthorize("@ss.hasPermi('course:courseAnswerLog:myExport')")
     @PreAuthorize("@ss.hasPermi('course:courseAnswerLog:myExport')")
-    @Log(title = "答题日志", businessType = BusinessType.EXPORT)
+    @Log(title = "我的答题日志", businessType = BusinessType.EXPORT)
     @GetMapping("/myExport")
     @GetMapping("/myExport")
     public AjaxResult myExport(FsCourseAnswerLogsParam param)
     public AjaxResult myExport(FsCourseAnswerLogsParam param)
     {
     {
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         param.setCompanyId( loginUser.getCompany().getCompanyId());
         param.setCompanyId( loginUser.getCompany().getCompanyId());
-
+        param.setCompanyUserId(loginUser.getUser().getUserId());
         if (param.getPhoneMk() != null && param.getPhoneMk() != "") {
         if (param.getPhoneMk() != null && param.getPhoneMk() != "") {
             param.setPhone(param.getPhoneMk());
             param.setPhone(param.getPhoneMk());
         }
         }
         List<FsCourseAnswerLogsListVO> list = fsCourseAnswerLogsService.selectFsCourseAnswerLogsListVONew(param);
         List<FsCourseAnswerLogsListVO> list = fsCourseAnswerLogsService.selectFsCourseAnswerLogsListVONew(param);
         ExcelUtil<FsCourseAnswerLogsListVO> util = new ExcelUtil<FsCourseAnswerLogsListVO>(FsCourseAnswerLogsListVO.class);
         ExcelUtil<FsCourseAnswerLogsListVO> util = new ExcelUtil<FsCourseAnswerLogsListVO>(FsCourseAnswerLogsListVO.class);
-        return util.exportExcel(list, "答题日志数据");
+        return util.exportExcel(list, "我的答题记录数据");
     }
     }
 
 
 //    /**
 //    /**

+ 10 - 0
fs-company/src/main/java/com/fs/user/FsUserAdminController.java

@@ -45,6 +45,16 @@ public class FsUserAdminController extends BaseController {
     public TableDataInfo pageList(@RequestBody FsUserPageListParam param) {
     public TableDataInfo pageList(@RequestBody FsUserPageListParam param) {
 //        startPage();
 //        startPage();
 
 
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        param.setCompanyId(loginUser.getCompany().getCompanyId());
+        return fsUserService.selectFsUserPageListNew(param);
+    }
+
+    @PreAuthorize("@ss.hasPermi('user:fsUser:myList')")
+    @PostMapping("/myList")
+    @ApiOperation("我的会员列表(与移动端使用的相同查询)")
+    public TableDataInfo pageMyList(@RequestBody FsUserPageListParam param) {
+
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         param.setCompanyId(loginUser.getCompany().getCompanyId());
         param.setCompanyId(loginUser.getCompany().getCompanyId());
         param.setCompanyUserId(String.valueOf(loginUser.getUser().getUserId()));
         param.setCompanyUserId(String.valueOf(loginUser.getUser().getUserId()));

+ 9 - 1
fs-service-system/src/main/java/com/fs/course/param/FsCourseAnswerLogsParam.java

@@ -5,7 +5,7 @@ import com.fs.common.core.domain.BaseEntity;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 
 
-import java.util.Date;
+import java.util.Set;
 
 
 @EqualsAndHashCode(callSuper = true)
 @EqualsAndHashCode(callSuper = true)
 @Data
 @Data
@@ -60,4 +60,12 @@ public class FsCourseAnswerLogsParam  extends BaseEntity  {
 
 
     private Long pageNum;
     private Long pageNum;
     private Long pageSize;
     private Long pageSize;
+    /**
+     * 用户(昵称_id组合)
+     */
+    private String userName;
+    /**
+     * 用户id
+     */
+    private Set<Long> userIds;
 }
 }

+ 15 - 1
fs-service-system/src/main/java/com/fs/course/service/impl/FsCourseAnswerLogsServiceImpl.java

@@ -23,11 +23,12 @@ import com.fs.store.service.cache.IFsUserCacheService;
 import com.fs.store.service.cache.IFsUserCourseCacheService;
 import com.fs.store.service.cache.IFsUserCourseCacheService;
 import com.hc.openapi.tool.util.StringUtils;
 import com.hc.openapi.tool.util.StringUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.util.Collections;
 import java.util.Collections;
 import java.util.List;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * 答题日志Service业务层处理
  * 答题日志Service业务层处理
@@ -50,6 +51,9 @@ public class FsCourseAnswerLogsServiceImpl implements IFsCourseAnswerLogsService
     private final ICompanyCacheService companyCacheService;
     private final ICompanyCacheService companyCacheService;
 
 
     private final ICompanyUserCacheService companyUserCacheService;
     private final ICompanyUserCacheService companyUserCacheService;
+
+    private final IFsUserService fsUserService;
+
     /**
     /**
      * 查询答题日志
      * 查询答题日志
      *
      *
@@ -86,6 +90,16 @@ public class FsCourseAnswerLogsServiceImpl implements IFsCourseAnswerLogsService
 
 
     @Override
     @Override
     public List<FsCourseAnswerLogsListVO> selectFsCourseAnswerLogsListVONew(FsCourseAnswerLogsParam param) {
     public List<FsCourseAnswerLogsListVO> selectFsCourseAnswerLogsListVONew(FsCourseAnswerLogsParam param) {
+
+        if(StringUtils.isNotEmpty(param.getUserName())){
+            List<FsUser> fsUsers = fsUserService.selectFsUserListByJointUserNameKey(param.getUserName());
+            if(fsUsers.isEmpty()) {
+                return Collections.emptyList();
+            }
+            Set<Long> userIds = fsUsers.stream().map(FsUser::getUserId).collect(Collectors.toSet());
+            param.setUserIds(userIds);
+        }
+
         List<FsCourseAnswerLogsListVO> data = fsCourseAnswerLogsMapper.selectFsCourseAnswerLogsListVONew(param);
         List<FsCourseAnswerLogsListVO> data = fsCourseAnswerLogsMapper.selectFsCourseAnswerLogsListVONew(param);
         for (FsCourseAnswerLogsListVO datum : data) {
         for (FsCourseAnswerLogsListVO datum : data) {
             FsUserCourseVideo fsUserCourseVideo = fsUserCourseVideoCacheService.selectFsUserCourseVideoByVideoId(datum.getVideoId());
             FsUserCourseVideo fsUserCourseVideo = fsUserCourseVideoCacheService.selectFsUserCourseVideoByVideoId(datum.getVideoId());

+ 3 - 2
fs-service-system/src/main/java/com/fs/course/vo/FsCourseAnswerLogsListVO.java

@@ -18,7 +18,7 @@ public class FsCourseAnswerLogsListVO {
     /**
     /**
     * 小程序用户名
     * 小程序用户名
     */
     */
-    @Excel(name = "用户")
+    @Excel(name = "用户", sort = 1)
     private String userName;
     private String userName;
     private String fsAvatar;
     private String fsAvatar;
     /**
     /**
@@ -37,7 +37,7 @@ public class FsCourseAnswerLogsListVO {
     /**
     /**
     * 视频名称
     * 视频名称
     */
     */
-    @Excel(name = "视频名称",width = 70)
+    @Excel(name = "小节名称",width = 70)
     private String videoName;
     private String videoName;
     /**
     /**
     * 是否全部正确 0否 1是
     * 是否全部正确 0否 1是
@@ -86,6 +86,7 @@ public class FsCourseAnswerLogsListVO {
     /**
     /**
      * 项目名称
      * 项目名称
      */
      */
+    @Excel(name = "项目", sort = 2)
     private String projectName;
     private String projectName;
 
 
     private Date sTime;
     private Date sTime;

+ 1 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsUserMapper.java

@@ -317,4 +317,5 @@ public interface FsUserMapper
 
 
     List<FsUserWatchCourseStatistics> selectFsUserDetail();
     List<FsUserWatchCourseStatistics> selectFsUserDetail();
 
 
+    List<FsUser> selectFsUserListByJointUserNameKey(String userNameKey);
 }
 }

+ 0 - 3
fs-service-system/src/main/java/com/fs/store/param/h5/FsUserPageListParam.java

@@ -72,8 +72,5 @@ public class FsUserPageListParam implements Serializable {
      */
      */
     private Long pcLoginUserId;
     private Long pcLoginUserId;
 
 
-
-
-
 }
 }
 
 

+ 7 - 0
fs-service-system/src/main/java/com/fs/store/service/IFsUserService.java

@@ -253,4 +253,11 @@ public interface IFsUserService
      */
      */
     void setRepeatFansTag(FsUserCourseBeMemberParam param);
     void setRepeatFansTag(FsUserCourseBeMemberParam param);
 
 
+    /**
+     * 根据组合key(用户昵称+id)查询用户信息
+     * @param userNameKey (用户昵称+id)
+     * @return
+     */
+    List<FsUser> selectFsUserListByJointUserNameKey(String userNameKey);
+
 }
 }

+ 11 - 6
fs-service-system/src/main/java/com/fs/store/service/impl/FsUserServiceImpl.java

@@ -520,12 +520,12 @@ public class FsUserServiceImpl implements IFsUserService
     @Override
     @Override
     public TableDataInfo selectFsUserPageListNew(FsUserPageListParam param) {
     public TableDataInfo selectFsUserPageListNew(FsUserPageListParam param) {
         // 找出下级销售
         // 找出下级销售
-        String companyUserId = param.getCompanyUserId();
-        if(companyUserId != null) {
-            Long companyUser = Long.parseLong(companyUserId);
-            Set<Long> userIds = companyUserCacheService.selectUserAllCompanyUserId(companyUser);
-            param.setCompanyUserIds(userIds);
-        }
+//        String companyUserId = param.getCompanyUserId();
+//        if(companyUserId != null) {
+//            Long companyUser = Long.parseLong(companyUserId);
+//            Set<Long> userIds = companyUserCacheService.selectUserAllCompanyUserId(companyUser);
+//            param.setCompanyUserIds(userIds);
+//        }
 
 
         List<FsUserPageListVO> fsUserPageListVOS = fsUserMapper.selectFsUserPageListNew(param);
         List<FsUserPageListVO> fsUserPageListVOS = fsUserMapper.selectFsUserPageListNew(param);
         Map<Long, CompanyTag> tagMap = companyTagCacheService.queryAllTagMap();
         Map<Long, CompanyTag> tagMap = companyTagCacheService.queryAllTagMap();
@@ -999,6 +999,11 @@ public class FsUserServiceImpl implements IFsUserService
         }
         }
     }
     }
 
 
+    @Override
+    public List<FsUser> selectFsUserListByJointUserNameKey(String userNameKey) {
+        return fsUserMapper.selectFsUserListByJointUserNameKey(userNameKey);
+    }
+
     // 添加关系表数据
     // 添加关系表数据
     private static FsUserCompanyUser getFsUserCompanyUser(FsUserCourseBeMemberParam param, FsUser fsUser) {
     private static FsUserCompanyUser getFsUserCompanyUser(FsUserCourseBeMemberParam param, FsUser fsUser) {
         FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();
         FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();

+ 9 - 0
fs-service-system/src/main/resources/mapper/course/FsCourseAnswerLogsMapper.xml

@@ -55,6 +55,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="courseId != null">
             <if test="courseId != null">
                 cal_inner.course_id = #{courseId}
                 cal_inner.course_id = #{courseId}
             </if>
             </if>
+            <if test="videoId != null and videoId != '' ">
+                AND cal_inner.video_id = #{videoId}
+            </if>
             <if test="companyUserId != null">
             <if test="companyUserId != null">
                 AND cal_inner.company_user_id = #{companyUserId}
                 AND cal_inner.company_user_id = #{companyUserId}
             </if>
             </if>
@@ -70,6 +73,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="sTime != null and eTime != null">
             <if test="sTime != null and eTime != null">
                 AND cal_inner.create_time BETWEEN #{sTime} AND #{eTime}
                 AND cal_inner.create_time BETWEEN #{sTime} AND #{eTime}
             </if>
             </if>
+            <if test="userIds != null and userIds.size() > 0">
+                and cal_inner.user_id in
+            <foreach collection="userIds"  open="(" close=")" separator="," item="userId" index="index">
+                #{userId}
+            </foreach>
+            </if>
         </where>
         </where>
         ORDER BY cal_inner.log_id DESC
         ORDER BY cal_inner.log_id DESC
         LIMIT ${(pageNum-1)*pageSize}, ${pageSize}
         LIMIT ${(pageNum-1)*pageSize}, ${pageSize}

+ 29 - 3
fs-service-system/src/main/resources/mapper/store/FsUserMapper.xml

@@ -480,6 +480,12 @@
         fs_user
         fs_user
         <where>
         <where>
             fs_user.is_del = 0
             fs_user.is_del = 0
+            <if test="companyId != null">
+                AND fs_user.company_id = #{companyId}
+            </if>
+            <if test="companyUserId != null and companyUserId != '' ">
+                AND fs_user.company_user_id = #{companyUserId}
+            </if>
             <if test="registerStartTime != null and registerStartTime !='' ">
             <if test="registerStartTime != null and registerStartTime !='' ">
                 AND fs_user.create_time &gt;= #{registerStartTime}
                 AND fs_user.create_time &gt;= #{registerStartTime}
             </if>
             </if>
@@ -493,10 +499,10 @@
                 </foreach>
                 </foreach>
             </if>
             </if>
             <if test="nickname != null and nickname != ''">
             <if test="nickname != null and nickname != ''">
-                AND fs_user.nickname like concat(#{nickname},'%')
+                AND fs_user.nickname like concat('%', #{nickname},'%')
             </if>
             </if>
             <if test="phone != null and phone != ''">
             <if test="phone != null and phone != ''">
-                AND fs_user.phone = #{phone}
+                AND fs_user.phone like concat('%', #{phone},'%')
             </if>
             </if>
         </where>
         </where>
         limit ${(pageNum-1)*pageSize},${pageSize}
         limit ${(pageNum-1)*pageSize},${pageSize}
@@ -1491,6 +1497,12 @@
         fs_user
         fs_user
         <where>
         <where>
             fs_user.is_del = 0
             fs_user.is_del = 0
+            <if test="companyId != null">
+                AND fs_user.company_id = #{companyId}
+            </if>
+            <if test="companyUserId != null and companyUserId != '' ">
+                AND fs_user.company_user_id = #{companyUserId}
+            </if>
             <if test="registerStartTime != null and registerStartTime !='' ">
             <if test="registerStartTime != null and registerStartTime !='' ">
                 AND fs_user.create_time &gt;= #{registerStartTime}
                 AND fs_user.create_time &gt;= #{registerStartTime}
             </if>
             </if>
@@ -1507,7 +1519,7 @@
                 AND fs_user.nickname like concat(#{nickname},'%')
                 AND fs_user.nickname like concat(#{nickname},'%')
             </if>
             </if>
             <if test="phone != null and phone!=''">
             <if test="phone != null and phone!=''">
-                AND fs_user.phone = #{phone}
+                AND fs_user.phone like concat('%', #{phone},'%')
             </if>
             </if>
         </where>
         </where>
     </select>
     </select>
@@ -1699,4 +1711,18 @@
         fs_user.company_user_id, date(fs_user.create_time)
         fs_user.company_user_id, date(fs_user.create_time)
     </select>
     </select>
 
 
+
+    <select id="selectFsUserListByJointUserNameKey" parameterType="FsUser" resultMap="FsUserResult">
+        <include refid="selectFsUserVo"/>
+        <where>
+            <if test="userName != null  and userName != ''">
+                AND (
+                nickname like concat('%', #{userName}, '%')
+                or  user_id LIKE concat('%',#{userName},'%')
+                )
+            </if>
+        </where>
+        order by user_id desc
+    </select>
+
 </mapper>
 </mapper>