فهرست منبع

会员关联项目

Long 2 هفته پیش
والد
کامیت
a1c4f4ec0e

+ 2 - 3
fs-company-app/src/main/java/com/fs/app/controller/CompanyTagController.java

@@ -8,7 +8,6 @@ import com.fs.common.utils.StringUtils;
 import com.fs.company.domain.CompanyTag;
 import com.fs.company.service.ICompanyTagService;
 import com.fs.company.service.ICompanyTagUserService;
-import com.fs.company.vo.CompanyTagUserVO;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
@@ -81,10 +80,10 @@ public class CompanyTagController extends AppBaseController {
     @Login
     @GetMapping("/tagSubUsers")
     @ApiOperation("标签下会员列表")
-    public R tagSubUsers(@RequestParam List<Long> tagId) {
+    public R tagSubUsers(@RequestParam(required = false) List<Long> tagId) {
         Map<String, Object> params = new HashMap<>();
         params.put("tagIds", tagId);
-        params.put("companyId", getCompanyId());
+        params.put("companyUserId", getCompanyUserId());
         return R.ok().put("data", companyTagUserService.selectUserListByMap(params));
     }
 }

+ 14 - 1
fs-service-system/src/main/java/com/fs/company/service/impl/CompanyTagUserServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.company.service.impl;
 
+import com.fs.common.core.domain.entity.SysDictData;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.company.domain.CompanyTagUser;
@@ -12,6 +13,7 @@ import com.fs.store.domain.FsUser;
 import com.fs.store.mapper.FsUserMapper;
 import com.fs.store.param.h5.TagListParam;
 import com.fs.store.vo.h5.CompanyUserTagListVO;
+import com.fs.system.mapper.SysDictDataMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -35,6 +37,8 @@ public class CompanyTagUserServiceImpl implements ICompanyTagUserService
     private CompanyUserMapper  companyUserMapper;
     @Autowired
     private FsUserMapper fsUserMapper;
+    @Autowired
+    private SysDictDataMapper dictDataMapper;
 
     /**
      * 查询company
@@ -140,7 +144,16 @@ public class CompanyTagUserServiceImpl implements ICompanyTagUserService
      */
     @Override
     public List<CompanyTagUserVO> selectUserListByMap(Map<String, Object> params) {
-        return companyTagUserMapper.selectUserListByMap(params);
+        List<CompanyTagUserVO> companyTagUserVOS = companyTagUserMapper.selectUserListByMap(params);
+
+        // 项目
+        List<SysDictData> courseProject = dictDataMapper.selectDictDataByType("sys_course_project");
+        companyTagUserVOS.forEach(vo -> courseProject.stream()
+                .filter(c -> c.getDictValue().equals(vo.getProjectId().toString()))
+                .findFirst()
+                .ifPresent(c -> vo.setUserName(vo.getUserName() + "-" + (c.getDictLabel()))));
+
+        return companyTagUserVOS;
     }
 
     /**

+ 4 - 0
fs-service-system/src/main/java/com/fs/company/vo/CompanyTagUserVO.java

@@ -12,4 +12,8 @@ public class CompanyTagUserVO {
      * 用户昵称
      */
     private String userName;
+    /**
+     * 项目ID
+     */
+    private Long projectId;
 }

+ 20 - 2
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
 import com.fs.common.BeanCopyUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
+import com.fs.common.core.domain.entity.SysDictData;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.enums.BizResponseEnum;
 import com.fs.common.utils.DateUtils;
@@ -50,6 +51,7 @@ import com.fs.store.service.IFsStorePaymentService;
 import com.fs.store.service.IFsUserCompanyUserService;
 import com.fs.store.service.IFsUserService;
 import com.fs.store.service.cache.IFsUserCourseCacheService;
+import com.fs.system.mapper.SysDictDataMapper;
 import com.fs.system.service.ISysConfigService;
 import com.fs.voice.utils.StringUtil;
 import com.github.binarywang.wxpay.bean.transfer.TransferBillsResult;
@@ -177,6 +179,8 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
     private FsUserCourseCompanyUserTimeMapper companyUserTimeMapper;
     @Autowired
     private IFsUserCompanyUserService userCompanyUserService;
+    @Autowired
+    private SysDictDataMapper dictDataMapper;
 
     /**
      * 查询课堂视频
@@ -897,7 +901,14 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
 
     @Override
     public List<FsUserCourseVideoPageListVO> pageListCourseVideo(UserCourseVideoPageParam param) {
-        return fsUserCourseVideoMapper.selectFsUserCourseVideoPageList(param);
+        List<FsUserCourseVideoPageListVO> vos = fsUserCourseVideoMapper.selectFsUserCourseVideoPageList(param);
+        // 项目
+        List<SysDictData> courseProject = dictDataMapper.selectDictDataByType("sys_course_project");
+        vos.forEach(vo -> courseProject.stream()
+                .filter(c -> c.getDictValue().equals(vo.getProjectId().toString()))
+                .findFirst()
+                .ifPresent(c -> vo.setProjectName(c.getDictLabel())));
+        return vos;
     }
 
     @Override
@@ -1335,7 +1346,14 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
      */
     @Override
     public List<FsUserCourseVideoPageListVO> selectCourseVideoListByMap(Map<String, Object> params) {
-        return fsUserCourseVideoMapper.selectFsUserCourseVideoListByMap(params);
+        List<FsUserCourseVideoPageListVO> vos = fsUserCourseVideoMapper.selectFsUserCourseVideoListByMap(params);
+        // 项目
+        List<SysDictData> courseProject = dictDataMapper.selectDictDataByType("sys_course_project");
+        vos.forEach(vo -> courseProject.stream()
+                .filter(c -> c.getDictValue().equals(vo.getProjectId().toString()))
+                .findFirst()
+                .ifPresent(c -> vo.setProjectName(c.getDictLabel())));
+        return vos;
     }
 
     @Override

+ 2 - 0
fs-service-system/src/main/java/com/fs/course/vo/newfs/FsUserCourseVideoPageListVO.java

@@ -59,5 +59,7 @@ public class FsUserCourseVideoPageListVO extends BaseEntity {
 
     @ApiModelProperty(value = "项目ID")
     private Long projectId;
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
 
 }

+ 3 - 2
fs-service-system/src/main/java/com/fs/store/service/impl/FsUserCompanyUserServiceImpl.java

@@ -154,8 +154,9 @@ public class FsUserCompanyUserServiceImpl extends ServiceImpl<FsUserCompanyUserM
         userCompanyUser.setProjectId(projectId);
         userCompanyUser.setCompanyId(companyId);
         userCompanyUser.setCompanyUserId(companyUserId);
-        boolean hasBind = hasBind(userId, companyUserId);
-        userCompanyUser.setIsRepeatFans(hasBind ? 1 : 0);
+//        boolean hasBind = hasBind(userId, companyUserId);
+//        userCompanyUser.setIsRepeatFans(hasBind ? 1 : 0);
+        userCompanyUser.setIsRepeatFans(0);
         save(userCompanyUser);
     }
 

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

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fs.common.constant.HttpStatus;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
+import com.fs.common.core.domain.entity.SysDictData;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.DictUtils;
@@ -54,6 +55,7 @@ import com.fs.store.vo.FSUserVO;
 import com.fs.store.vo.FsCompanyUserListQueryVO;
 import com.fs.store.vo.FsUserTuiVO;
 import com.fs.store.vo.h5.*;
+import com.fs.system.mapper.SysDictDataMapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
@@ -133,6 +135,8 @@ public class FsUserServiceImpl implements IFsUserService
     private QwSessionMapper qwSessionMapper;
     @Autowired
     private QwExternalContactMapper qwExternalContactMapper;
+    @Autowired
+    private SysDictDataMapper dictDataMapper; 
 
     /**
      * 查询用户
@@ -473,6 +477,13 @@ public class FsUserServiceImpl implements IFsUserService
 
         List<FsUserPageListVO> fsUserPageListVOS = fsUserMapper.selectFsUserPageList(param);
 
+        // 项目
+        List<SysDictData> courseProject = dictDataMapper.selectDictDataByType("sys_course_project");
+        fsUserPageListVOS.forEach(vo -> courseProject.stream()
+                .filter(c -> c.getDictValue().equals(vo.getProjectId().toString()))
+                .findFirst()
+                .ifPresent(c -> vo.setProjectName(c.getDictLabel())));
+
         // 获取当前销售所有重粉会员
         List<FsUserCompanyUser> fsUserCompanyUsers = userCompanyUserService.selectRepeatUser(param.getUserId());
 

+ 2 - 0
fs-service-system/src/main/java/com/fs/store/vo/h5/FsUserPageListVO.java

@@ -95,5 +95,7 @@ public class FsUserPageListVO {
 
     @ApiModelProperty(value = "项目ID")
     private Long projectId;
+    @ApiModelProperty(value = "项目名称")
+    private String projectName;
 
 }

+ 6 - 4
fs-service-system/src/main/resources/mapper/company/CompanyTagUserMapper.xml

@@ -105,12 +105,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectUserListByMap" resultType="com.fs.company.vo.CompanyTagUserVO">
         select
             fu.user_id,
+            ucu.project_id,
             fu.nickname as userName
-        from company_tag_user ctu
-        inner join fs_user fu on fu.user_id = ctu.user_id
-        where ctu.company_id = #{params.companyId} and
+        from fs_user fu
+        left join company_tag_user ctu on fu.user_id = ctu.user_id and ctu.company_user_id = #{params.companyUserId}
+        left join fs_user_company_user ucu on ucu.user_id = fu.user_id
+        where ucu.company_user_id = #{params.companyUserId}
         <foreach collection="params.tagIds" item="tagId" open="(" separator="or" close=")">
-            find_in_set(#{tagId}, ctu.tag_ids)
+            and find_in_set(#{tagId}, ctu.tag_ids)
         </foreach>
     </select>
 

+ 2 - 1
fs-service-system/src/main/resources/mapper/course/FsUserCourseVideoMapper.xml

@@ -251,7 +251,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             fcpd.period_id,
             fcpd.id,
             if(ccut.start_date_time is null, fcpd.start_date_time, ccut.start_date_time) as startDateTime,
-            if(ccut.end_date_time is null, fcpd.end_date_time, ccut.end_date_time) as endDateTime
+            if(ccut.end_date_time is null, fcpd.end_date_time, ccut.end_date_time) as endDateTime,
+            video.project_id
         FROM `fs_user_course_video` video
         left join fs_user_course_period_days fcpd on fcpd.video_id = video.video_id
         left join fs_user_course_period fcp on fcp.period_id = fcpd.period_id

+ 5 - 4
fs-service-system/src/main/resources/mapper/store/FsUserMapper.xml

@@ -539,7 +539,8 @@
         GROUP_CONCAT(DISTINCT company_tag.tag) AS tag,
         GROUP_CONCAT(DISTINCT company_tag.tag_id) AS tagIds,
         company_user.nick_name as companyUserNickName,
-        fs_user_company_user.is_repeat_fans
+        fs_user_company_user.is_repeat_fans,
+        fs_user_company_user.project_id
         FROM
         fs_user
         LEFT JOIN fs_user_course_count ON fs_user.user_id = fs_user_course_count.user_id
@@ -556,10 +557,10 @@
         </if>
         <choose>
             <when test = "isBlack">
-                AND (fs_user.status = 0 or fs_user_company_user.is_repeat_fans = 1)
+                AND (fs_user.status = 0)
             </when>
             <otherwise>
-                AND (fs_user.status = 1 and fs_user_company_user.is_repeat_fans = 0)
+                AND (fs_user.status = 1)
             </otherwise>
         </choose>
         <if test="keyword != null and keyword !='' ">
@@ -616,7 +617,7 @@
             </choose>
         </if>
 
-        group by fs_user.user_id
+        group by fs_user.user_id, fs_user_company_user.project_id
 
         <if test="continueMissCourseSort != null and continueMissCourseSort !='' ">
             order by