| 
					
				 | 
			
			
				@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.app.annotation.Login; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.app.config.ImageStorageConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.app.param.FsUserProjectUpdateParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.app.param.FsUserTagUpdateParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.app.param.FsUserUpdateParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.common.core.domain.R; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -12,18 +13,21 @@ import com.fs.common.core.domain.ResponseResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.common.exception.ServiceException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.common.utils.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.company.domain.CompanyUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.fs.company.service.ICompanyTagUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.company.dto.UserProjectDTO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.company.service.ICompanyUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.param.newfs.FsUserCourseBeMemberImageParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.param.newfs.FsUserCourseBeMemberParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.service.IFsUserCourseService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.course.vo.newfs.FsCourseAnalysisVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.domain.FsUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.store.domain.FsUserCompanyUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.param.h5.CourseAnalysisParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.param.h5.FsUserPageListParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.param.h5.TagListParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.param.h5.UserStatisticsCommonParam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.store.service.IFsUserCompanyUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.service.IFsUserCourseCountService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.fs.store.service.IFsUserProjectTagService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.service.IFsUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.store.vo.h5.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.fs.system.service.ISysConfigService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -58,9 +62,6 @@ public class FsUserController extends AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ICompanyUserService companyUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private ICompanyTagUserService companyTagUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ImageStorageConfig imageConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -73,10 +74,16 @@ public class FsUserController extends AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private ISysConfigService configService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private IFsUserCompanyUserService userCompanyUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private IFsUserProjectTagService userProjectTagService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Login 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/pageList") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation("用户会员分页列表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ResponseResult<PageInfo<FsUserPageListVO>> pageList(@RequestBody FsUserPageListParam param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.debug("用户会员分页列表 param: {}", JSON.toJSONString(param)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         param.setUserId(Long.parseLong(getUserId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //        PageHelper.startPage(param.getPageNum(), param.getPageSize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PageInfo<FsUserPageListVO> fsUserPageListVOPageInfo = fsUserService.selectFsUserPageList(param); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -113,9 +120,10 @@ public class FsUserController extends AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @GetMapping("/tagList") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation("用户会员标签列表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ResponseResult<PageInfo<CompanyUserTagListVO>> getTagList(TagListParam param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.debug("用户会员标签列表 param: {}", JSON.toJSONString(param)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         param.setUserId(Long.parseLong(getUserId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PageHelper.startPage(param.getPageNum(), param.getPageSize()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<CompanyUserTagListVO> tagList = companyTagUserService.getTagList(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CompanyUserTagListVO> tagList = userProjectTagService.getTagList(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PageInfo<CompanyUserTagListVO> pageInfo = new PageInfo<>(tagList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ResponseResult.ok(pageInfo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -123,22 +131,18 @@ public class FsUserController extends AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Login 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/disabled") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation("批量禁用会员") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public ResponseResult<Boolean> disabledUser(@ApiParam(value = "联系人id集合", required = true) @RequestBody String[] ids) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Boolean r = fsUserService.disabledUser(ids, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResponseResult<Boolean> disabledUser(@ApiParam(value = "联系人id集合", required = true) @RequestBody List<UserProjectDTO> ids) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.debug("批量禁用会员 ids: {}", JSON.toJSONString(ids)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Boolean r = userCompanyUserService.batchUpdateUserProjectStatus(ids, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ResponseResult.ok(r); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Login 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/enabled") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation("批量启用会员") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public ResponseResult<Boolean> enabledUser(@ApiParam(value = "联系人id集合", required = true) @RequestBody String[] ids) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 如果存在重粉的数据,则禁止启用,需要提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        long companyUserId = Long.parseLong(getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Integer count = fsUserService.selectFsUserByUserIds(ids, companyUserId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(count > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return ResponseResult.fail(400, "重粉会员不能移除小黑屋"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Boolean r = fsUserService.disabledUser(ids, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResponseResult<Boolean> enabledUser(@ApiParam(value = "联系人id集合", required = true) @RequestBody List<UserProjectDTO> ids) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.debug("批量启用会员 ids: {}", JSON.toJSONString(ids)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Boolean r = userCompanyUserService.batchUpdateUserProjectStatus(ids, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ResponseResult.ok(r); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -245,26 +249,41 @@ public class FsUserController extends AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Login 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @ApiOperation("修改用户备注、姓名") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiOperation("修改用户姓名") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/changeUserInfo") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ResponseResult<Object> changeUserInfo(@Valid @RequestBody FsUserUpdateParam param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        log.debug("修改用户备注、姓名 param:{}", JSON.toJSONString(param)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.debug("修改用户姓名 param:{}", JSON.toJSONString(param)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FsUser fsUser = fsUserService.selectFsUserById(param.getFsUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (Objects.isNull(fsUser)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             throw new ServiceException("用户不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fsUser.setNickname(param.getNickName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        fsUser.setRemark(param.getRemark()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fsUserService.updateFsUser(fsUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ResponseResult.ok(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Login 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ApiOperation("修改用户项目备注") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @PostMapping("/changeUserRemark") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResponseResult<Object> changeUserProjectRemark(@Valid @RequestBody FsUserProjectUpdateParam param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.debug("修改用户备注 param:{}", JSON.toJSONString(param)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FsUserCompanyUser userCompanyUser = userCompanyUserService.selectFsUserCompanyUserById(param.getUserCompanyUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (Objects.isNull(userCompanyUser)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new ServiceException("用户不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userCompanyUser.setRemark(param.getRemark()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userCompanyUserService.updateFsUserCompanyUser(userCompanyUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResponseResult.ok(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Login 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation("修改用户标签") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/changeUserTags") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ResponseResult<Object> changeUserTags(@Valid @RequestBody FsUserTagUpdateParam param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        companyTagUserService.changeUserTags(param.getFsUserIds(), param.getTagIds(), getCompanyId(), getCompanyUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.debug("修改用户标签 param:{}", JSON.toJSONString(param)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userProjectTagService.addUserProjectTag(param.getUserCompanyUserIds(), param.getTagIds()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return ResponseResult.ok(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -306,6 +325,7 @@ public class FsUserController extends AppBaseController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @ApiOperation("会员关联绑定销售") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @PostMapping("/beMember") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public ResponseResult<Boolean> becomeMember(@Valid @RequestBody FsUserCourseBeMemberParam param) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log.debug("会员关联绑定销售 param:{}", JSON.toJSONString(param)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return fsUserService.becomeMember(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |