|
@@ -2,6 +2,7 @@ package com.fs.store.service.impl;
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.fs.common.constant.HttpStatus;
|
|
|
import com.fs.common.core.domain.R;
|
|
@@ -34,6 +35,7 @@ import com.fs.store.dto.FsUserTransferParamDTO;
|
|
|
import com.fs.store.enums.BillDetailEnum;
|
|
|
import com.fs.store.mapper.FsStoreOrderMapper;
|
|
|
import com.fs.store.mapper.FsStoreProductAttrValueMapper;
|
|
|
+import com.fs.store.mapper.FsUserCompanyUserMapper;
|
|
|
import com.fs.store.mapper.FsUserMapper;
|
|
|
import com.fs.store.param.SelectCusListPageParam;
|
|
|
import com.fs.store.param.h5.CourseAnalysisParam;
|
|
@@ -108,6 +110,9 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
@Autowired
|
|
|
private ICompanyTagCacheService companyTagCacheService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private FsUserCompanyUserMapper fsUserCompanyUserMapper;
|
|
|
/**
|
|
|
* 查询用户
|
|
|
*
|
|
@@ -442,7 +447,27 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
@Override
|
|
|
public List<FsUserPageListVO> selectFsUserPageList(FsUserPageListParam param) {
|
|
|
- return fsUserMapper.selectFsUserPageList(param);
|
|
|
+ List<FsUserPageListVO> fsUserPageListVOS = fsUserMapper.selectFsUserPageList(param);
|
|
|
+
|
|
|
+ // 获取当前销售所有重粉会员
|
|
|
+ List<FsUserCompanyUser> fsUserCompanyUsers = fsUserCompanyUserMapper.selectRepeatUser(param.getUserId());
|
|
|
+
|
|
|
+ if(!fsUserCompanyUsers.isEmpty()){
|
|
|
+ List<Long> userIds = fsUserCompanyUsers.stream().map(FsUserCompanyUser::getUserId).collect(Collectors.toList());
|
|
|
+ // 获取会员所属的重粉销售
|
|
|
+ List<FsUserCompanyUser> repeatCompanyUserNames = fsUserCompanyUserMapper.selectRepeatCompanyUserName(userIds);
|
|
|
+ Map<Long, String> map = repeatCompanyUserNames.stream().collect(Collectors.toMap(FsUserCompanyUser::getUserId, FsUserCompanyUser::getRepeatCompanyUserName));
|
|
|
+
|
|
|
+ return fsUserPageListVOS.stream().map(v -> {
|
|
|
+ FsUserPageListVO fsUserPageListVO = new FsUserPageListVO();
|
|
|
+ BeanUtils.copyProperties(v, fsUserPageListVO);
|
|
|
+ fsUserPageListVO.setRepeatCompanyUserName(map.get(v.getUserId()));
|
|
|
+ return fsUserPageListVO;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ } else {
|
|
|
+ return fsUserPageListVOS;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -535,6 +560,11 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Integer selectFsUserByUserIds(String[] userIds) {
|
|
|
+ return fsUserMapper.selectFsUserByUserIds(userIds);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Boolean disabledUser(String[] ids, boolean status) {
|
|
|
boolean result;
|
|
@@ -740,31 +770,38 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public ResponseResult<Boolean> becomeMember(FsUserCourseBeMemberParam param) {
|
|
|
//查询用户
|
|
|
- FsUser fsUser = fsUserMapper.selectFsUserById(param.getUserId());
|
|
|
+ FsUser fsUser = fsUserMapper.selectFsUserById(param.getUserId());
|
|
|
if (Objects.isNull(fsUser)){
|
|
|
- return ResponseResult.fail(401,"未授权");
|
|
|
- }
|
|
|
- if (fsUser.getCompanyUserId() != null && !param.getCompanyUserId().equals(fsUser.getCompanyUserId())){
|
|
|
- return ResponseResult.fail(500,"该用户已成为其他销售会员");
|
|
|
+ return ResponseResult.fail(404,"当前用户信息不存在");
|
|
|
}
|
|
|
|
|
|
//判断该销售是否存在
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getCompanyUserId());
|
|
|
if (Objects.isNull(companyUser)){
|
|
|
- return ResponseResult.fail(500,"销售不存在");
|
|
|
+ return ResponseResult.fail(405,"销售不存在");
|
|
|
}
|
|
|
|
|
|
- // 关联销售
|
|
|
- fsUser.setCompanyId(param.getCompanyId());
|
|
|
- fsUser.setCompanyUserId(param.getCompanyUserId());
|
|
|
+ // 判断是否绑定了销售
|
|
|
+ FsUserCompanyUser fsUserCompanyUser = getFsUserCompanyUser(param, fsUser);
|
|
|
+ QueryWrapper<FsUserCompanyUser> queryWrapper = new QueryWrapper<FsUserCompanyUser>().eq("user_id", param.getUserId()).eq("company_user_id", param.getCompanyUserId());
|
|
|
+ Integer i = fsUserCompanyUserMapper.selectCount(queryWrapper);
|
|
|
+ if(i == 0) {
|
|
|
+ fsUserCompanyUserMapper.insertFsUserCompanyUser(fsUserCompanyUser);
|
|
|
+ }
|
|
|
|
|
|
+ // 关联销售
|
|
|
+ if(fsUser.getCompanyUserId() == null) {
|
|
|
+ fsUser.setCompanyId(param.getCompanyId());
|
|
|
+ fsUser.setCompanyUserId(param.getCompanyUserId());
|
|
|
+ }
|
|
|
// 特殊(需求设计:需要根据公司是否开启黑名单来设置会员初始化的状态)
|
|
|
Company company = null;
|
|
|
if(param.getCompanyId() != null) {
|
|
|
company = companyMapper.selectCompanyById(param.getCompanyId());
|
|
|
}
|
|
|
// isDefaultBlack 值为1 ,表示需要加入小黑屋,否则不加
|
|
|
- fsUser.setStatus((company != null ? company.getFsUserIsDefaultBlack() : 0) == 1 ? 0 : 1);
|
|
|
+ int isDefaultBlack = company != null ? company.getFsUserIsDefaultBlack() : 0;
|
|
|
+ fsUser.setStatus(isDefaultBlack == 1 ? 0 : 1);
|
|
|
fsUserMapper.updateFsUser(fsUser);
|
|
|
|
|
|
// 不为空则添加新标签
|
|
@@ -784,9 +821,29 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
companyTagUser.setCreateTime(new Date());
|
|
|
companyTagUserMapper.insertCompanyTagUser(companyTagUser);
|
|
|
}
|
|
|
+
|
|
|
+ //如果是设置了需要进入小黑屋,则需要返回提示,否则正常返回
|
|
|
+ if(isDefaultBlack == 1){
|
|
|
+ return ResponseResult.fail(402, "已成功注册,待管理审核");
|
|
|
+ }
|
|
|
return ResponseResult.ok(Boolean.TRUE);
|
|
|
}
|
|
|
|
|
|
+ // 判断是否绑定了销售
|
|
|
+ private static FsUserCompanyUser getFsUserCompanyUser(FsUserCourseBeMemberParam param, FsUser fsUser) {
|
|
|
+ FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();
|
|
|
+ // 判断是否绑定了销售,如果已绑定,则需要标识为重粉,且放黑名单
|
|
|
+ if (fsUser.getCompanyUserId() != null && !fsUser.getCompanyUserId().equals(param.getCompanyUserId())) {
|
|
|
+ fsUserCompanyUser.setIsRepeatFans(1);
|
|
|
+ } else {
|
|
|
+ fsUserCompanyUser.setIsRepeatFans(0);
|
|
|
+ }
|
|
|
+ fsUserCompanyUser.setUserId(param.getUserId());
|
|
|
+ fsUserCompanyUser.setCompanyId(param.getCompanyId());
|
|
|
+ fsUserCompanyUser.setCompanyUserId(param.getCompanyUserId());
|
|
|
+ return fsUserCompanyUser;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询会员选项列表
|
|
|
* @param params 参数
|