|
@@ -6,6 +6,8 @@ import java.math.BigInteger;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
|
+import java.util.concurrent.ExecutionException;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -19,6 +21,7 @@ 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.core.redis.RedisCache;
|
|
|
import com.fs.common.param.LoginMaWxParam;
|
|
|
import com.fs.common.utils.DateUtils;
|
|
|
import com.fs.common.utils.DictUtils;
|
|
@@ -103,9 +106,9 @@ import static com.fs.hisStore.enums.BillDetailEnum.CATEGORY_3;
|
|
|
* @date 2023-06-07
|
|
|
*/
|
|
|
@Service
|
|
|
-public class FsUserServiceImpl implements IFsUserService
|
|
|
-{
|
|
|
- Logger logger= LoggerFactory.getLogger(getClass());;
|
|
|
+public class FsUserServiceImpl implements IFsUserService {
|
|
|
+ Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
+ ;
|
|
|
@Autowired
|
|
|
private FsUserMapper fsUserMapper;
|
|
|
@Autowired
|
|
@@ -155,6 +158,9 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
@Autowired
|
|
|
private CompanyRoleMapper companyRoleMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private RedisCache redisCache;
|
|
|
@Autowired
|
|
|
private IFsUserProjectTagService userProjectTagService;
|
|
|
|
|
@@ -177,8 +183,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
* @return 用户
|
|
|
*/
|
|
|
@Override
|
|
|
- public FsUser selectFsUserByUserId(Long userId)
|
|
|
- {
|
|
|
+ public FsUser selectFsUserByUserId(Long userId) {
|
|
|
return fsUserMapper.selectFsUserByUserId(userId);
|
|
|
}
|
|
|
|
|
@@ -199,8 +204,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
* @return 用户
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<FsUser> selectFsUserList(FsUser fsUser)
|
|
|
- {
|
|
|
+ public List<FsUser> selectFsUserList(FsUser fsUser) {
|
|
|
return fsUserMapper.selectFsUserList(fsUser);
|
|
|
}
|
|
|
|
|
@@ -212,10 +216,9 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public int insertFsUser(FsUser fsUser)
|
|
|
- {
|
|
|
+ public int insertFsUser(FsUser fsUser) {
|
|
|
fsUser.setCreateTime(DateUtils.getNowDate());
|
|
|
- if (StringUtils.isNotEmpty(fsUser.getPhone())){
|
|
|
+ if (StringUtils.isNotEmpty(fsUser.getPhone())) {
|
|
|
fsUser.setPhone(encryptPhone(fsUser.getPhone()));
|
|
|
}
|
|
|
int i = fsUserMapper.insertFsUser(fsUser);
|
|
@@ -234,12 +237,11 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int updateFsUser(FsUser fsUser)
|
|
|
- {
|
|
|
+ public int updateFsUser(FsUser fsUser) {
|
|
|
fsUser.setUpdateTime(DateUtils.getNowDate());
|
|
|
- if (fsUser.getPhone()!=null&&fsUser.getPhone().length()==11&&fsUser.getPhone().matches("\\d+")){
|
|
|
+ if (fsUser.getPhone() != null && fsUser.getPhone().length() == 11 && fsUser.getPhone().matches("\\d+")) {
|
|
|
fsUser.setPhone(encryptPhone(fsUser.getPhone()));
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
fsUser.setPhone(null);
|
|
|
}
|
|
|
return fsUserMapper.updateFsUser(fsUser);
|
|
@@ -252,8 +254,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int deleteFsUserByUserIds(Long[] userIds)
|
|
|
- {
|
|
|
+ public int deleteFsUserByUserIds(Long[] userIds) {
|
|
|
for (Long userId : userIds) {
|
|
|
fsUserMapper.updateFsUserByUserId(userId);
|
|
|
}
|
|
@@ -267,8 +268,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
- public int deleteFsUserByUserId(Long userId)
|
|
|
- {
|
|
|
+ public int deleteFsUserByUserId(Long userId) {
|
|
|
return fsUserMapper.updateFsUserByUserId(userId);
|
|
|
}
|
|
|
|
|
@@ -318,6 +318,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
public List<FsUserExportListVO> selectFsUserExportListVO(FsUserParam fsUser) {
|
|
|
return fsUserMapper.selectFsUserExportListVO(fsUser);
|
|
|
}
|
|
|
+
|
|
|
@Autowired
|
|
|
private FsUserIntegralLogsMapper integralLogsMapper;
|
|
|
|
|
@@ -326,9 +327,9 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public void addUserIntegral(BigDecimal payMoney,Long userId,Long orderId ,Integer orderType) {
|
|
|
- String json =configService.selectConfigByKey("his.integral");
|
|
|
- IntegralConfig config = JSONUtil.toBean(json,IntegralConfig.class);
|
|
|
+ public void addUserIntegral(BigDecimal payMoney, Long userId, Long orderId, Integer orderType) {
|
|
|
+ String json = configService.selectConfigByKey("his.integral");
|
|
|
+ IntegralConfig config = JSONUtil.toBean(json, IntegralConfig.class);
|
|
|
|
|
|
int points = payMoney.intValue() * config.getIntegralRatio();
|
|
|
|
|
@@ -348,7 +349,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
/**
|
|
|
* 判断是否节气套餐包
|
|
|
*/
|
|
|
- private boolean isSolarTerm(Long orderId ,Integer orderType) {
|
|
|
+ private boolean isSolarTerm(Long orderId, Integer orderType) {
|
|
|
if (orderType == 2) {
|
|
|
FsStoreOrder fsStoreOrder = fsStoreOrderMapper.selectFsStoreOrderByOrderId(orderId);
|
|
|
if (Objects.nonNull(fsStoreOrder.getPackageId())) {
|
|
@@ -369,34 +370,34 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public void followAddIntegral(Long userId,Long orderId) {
|
|
|
+ public void followAddIntegral(Long userId, Long orderId) {
|
|
|
FsUser fsUser = fsUserMapper.selectFsUserByUserId(userId);
|
|
|
- if(fsUser!=null){
|
|
|
- String json =configService.selectConfigByKey("his.integral");
|
|
|
- IntegralConfig config= JSONUtil.toBean(json,IntegralConfig.class);
|
|
|
- Integer todayTotalIntegral= integralLogsMapper.selectTodayTotalIntegral(config.getIntegralTypeByOneDay(),userId);
|
|
|
- if (todayTotalIntegral==null){
|
|
|
- todayTotalIntegral=0;
|
|
|
+ if (fsUser != null) {
|
|
|
+ String json = configService.selectConfigByKey("his.integral");
|
|
|
+ IntegralConfig config = JSONUtil.toBean(json, IntegralConfig.class);
|
|
|
+ Integer todayTotalIntegral = integralLogsMapper.selectTodayTotalIntegral(config.getIntegralTypeByOneDay(), userId);
|
|
|
+ if (todayTotalIntegral == null) {
|
|
|
+ todayTotalIntegral = 0;
|
|
|
}
|
|
|
- if (todayTotalIntegral!=null&&todayTotalIntegral>=config.getIntegralByOneDay()){
|
|
|
+ if (todayTotalIntegral != null && todayTotalIntegral >= config.getIntegralByOneDay()) {
|
|
|
return;
|
|
|
}
|
|
|
- Long integral = config.getIntegralFollow()+0L;
|
|
|
- FsUser u = new FsUser();
|
|
|
- u.setUserId(userId);
|
|
|
- u.setIntegral(fsUser.getIntegral()+integral);
|
|
|
- fsUserMapper.updateFsUser(u);
|
|
|
- logger.info("用户{}获取积分{}",fsUser.getUserId(),integral);
|
|
|
- //写入日志
|
|
|
- FsUserIntegralLogs logs = new FsUserIntegralLogs();
|
|
|
- logs.setIntegral(integral.longValue());
|
|
|
- logs.setBusinessType(4);
|
|
|
- logs.setUserId(userId);
|
|
|
- logs.setBalance(u.getIntegral());
|
|
|
- logs.setLogType(6);
|
|
|
- logs.setBusinessId(orderId.toString());
|
|
|
- logs.setCreateTime(new Date());
|
|
|
- integralLogsMapper.insertFsUserIntegralLogs(logs);
|
|
|
+ Long integral = config.getIntegralFollow() + 0L;
|
|
|
+ FsUser u = new FsUser();
|
|
|
+ u.setUserId(userId);
|
|
|
+ u.setIntegral(fsUser.getIntegral() + integral);
|
|
|
+ fsUserMapper.updateFsUser(u);
|
|
|
+ logger.info("用户{}获取积分{}", fsUser.getUserId(), integral);
|
|
|
+ //写入日志
|
|
|
+ FsUserIntegralLogs logs = new FsUserIntegralLogs();
|
|
|
+ logs.setIntegral(integral.longValue());
|
|
|
+ logs.setBusinessType(4);
|
|
|
+ logs.setUserId(userId);
|
|
|
+ logs.setBalance(u.getIntegral());
|
|
|
+ logs.setLogType(6);
|
|
|
+ logs.setBusinessId(orderId.toString());
|
|
|
+ logs.setCreateTime(new Date());
|
|
|
+ integralLogsMapper.insertFsUserIntegralLogs(logs);
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -404,26 +405,26 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
@Transactional
|
|
|
public void subIntegral(Long userId) {
|
|
|
FsUser fsUser = fsUserMapper.selectFsUserByUserId(userId);
|
|
|
- if(fsUser!=null&&fsUser.getIntegral()!=0){
|
|
|
+ if (fsUser != null && fsUser.getIntegral() != 0) {
|
|
|
Long integral = fsUser.getIntegral();
|
|
|
fsUser.setIntegral(0L);
|
|
|
fsUserMapper.updateFsUser(fsUser);
|
|
|
- logger.info("用户{}扣除积分{}",fsUser.getUserId(),0-integral);
|
|
|
+ logger.info("用户{}扣除积分{}", fsUser.getUserId(), 0 - integral);
|
|
|
FsUserIntegralLogs logs = new FsUserIntegralLogs();
|
|
|
- logs.setIntegral(0-integral);
|
|
|
+ logs.setIntegral(0 - integral);
|
|
|
logs.setUserId(userId);
|
|
|
logs.setBalance(0L);
|
|
|
logs.setLogType(7);
|
|
|
logs.setCreateTime(new Date());
|
|
|
integralLogsMapper.insertFsUserIntegralLogs(logs);
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public FsUserFollowDoctorVO getUserFollowDoctorAndOrderId(Long userId) {
|
|
|
FsUserFollowDoctorVO fsUserFollowDoctorVO = fsStoreOrderMapper.selectFsFollowDoctorIdByUserId(userId);
|
|
|
- if (fsUserFollowDoctorVO!=null&&fsUserFollowDoctorVO.getFollowDoctorId()!=null){
|
|
|
+ if (fsUserFollowDoctorVO != null && fsUserFollowDoctorVO.getFollowDoctorId() != null) {
|
|
|
Long followId = fsFollowMapper.selectFsFollowByStoreOrderId(fsUserFollowDoctorVO.getOrderId());
|
|
|
fsUserFollowDoctorVO.setFollowId(followId);
|
|
|
}
|
|
@@ -438,34 +439,34 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public void subUserIntegral(Long userId,Long orderId ,Integer orderType) {
|
|
|
- FsUser fsUser = fsUserMapper.selectFsUserByUserId(userId);
|
|
|
- if(fsUser!=null){
|
|
|
- FsUserIntegralLogs maps=new FsUserIntegralLogs();
|
|
|
- maps.setLogType(2);
|
|
|
- maps.setBusinessType(orderType);
|
|
|
- maps.setBusinessId(orderId.toString());
|
|
|
- List<FsUserIntegralLogs> logsList=integralLogsMapper.selectFsUserIntegralLogsList(maps);
|
|
|
- if(logsList.size()>0){
|
|
|
- for (FsUserIntegralLogs userLogs : logsList) {
|
|
|
- fsUser.setIntegral(fsUser.getIntegral()-userLogs.getIntegral());
|
|
|
- fsUserMapper.updateFsUser(fsUser);
|
|
|
- logger.info("用户{}扣除积分{}",fsUser.getUserId(),userLogs.getIntegral());
|
|
|
- //写入日志
|
|
|
- FsUserIntegralLogs logs = new FsUserIntegralLogs();
|
|
|
- logs.setIntegral(-logsList.get(0).getIntegral());
|
|
|
- logs.setUserId(userId);
|
|
|
- logs.setBalance(fsUser.getIntegral());
|
|
|
- logs.setBusinessType(orderType);
|
|
|
- logs.setLogType(4);
|
|
|
- logs.setBusinessId(orderId.toString());
|
|
|
- logs.setCreateTime(new Date());
|
|
|
- integralLogsMapper.insertFsUserIntegralLogs(logs);
|
|
|
- }
|
|
|
+ public void subUserIntegral(Long userId, Long orderId, Integer orderType) {
|
|
|
+ FsUser fsUser = fsUserMapper.selectFsUserByUserId(userId);
|
|
|
+ if (fsUser != null) {
|
|
|
+ FsUserIntegralLogs maps = new FsUserIntegralLogs();
|
|
|
+ maps.setLogType(2);
|
|
|
+ maps.setBusinessType(orderType);
|
|
|
+ maps.setBusinessId(orderId.toString());
|
|
|
+ List<FsUserIntegralLogs> logsList = integralLogsMapper.selectFsUserIntegralLogsList(maps);
|
|
|
+ if (logsList.size() > 0) {
|
|
|
+ for (FsUserIntegralLogs userLogs : logsList) {
|
|
|
+ fsUser.setIntegral(fsUser.getIntegral() - userLogs.getIntegral());
|
|
|
+ fsUserMapper.updateFsUser(fsUser);
|
|
|
+ logger.info("用户{}扣除积分{}", fsUser.getUserId(), userLogs.getIntegral());
|
|
|
+ //写入日志
|
|
|
+ FsUserIntegralLogs logs = new FsUserIntegralLogs();
|
|
|
+ logs.setIntegral(-logsList.get(0).getIntegral());
|
|
|
+ logs.setUserId(userId);
|
|
|
+ logs.setBalance(fsUser.getIntegral());
|
|
|
+ logs.setBusinessType(orderType);
|
|
|
+ logs.setLogType(4);
|
|
|
+ logs.setBusinessId(orderId.toString());
|
|
|
+ logs.setCreateTime(new Date());
|
|
|
+ integralLogsMapper.insertFsUserIntegralLogs(logs);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -486,7 +487,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
user.setIsVip(0);
|
|
|
user.setVipStartDate(null);
|
|
|
user.setVipEndDate(null);
|
|
|
- if (fsUserMapper.updateFsUser(user)>0){
|
|
|
+ if (fsUserMapper.updateFsUser(user) > 0) {
|
|
|
return R.ok("清除成功");
|
|
|
}
|
|
|
return R.error("清除vip失败");
|
|
@@ -534,7 +535,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
map.put("tagName", "重粉");
|
|
|
List<CompanyTag> companyTags = companyTagMapper.selectCompanyTagListByMap(map);
|
|
|
Long tagId;
|
|
|
- if(companyTags == null || companyTags.isEmpty()){
|
|
|
+ if (companyTags == null || companyTags.isEmpty()) {
|
|
|
CompanyTag companyTag = new CompanyTag();
|
|
|
companyTag.setCompanyId(param.getCompanyId());
|
|
|
companyTag.setTag("重粉");
|
|
@@ -548,7 +549,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
companyTagUserParam.setUserId(param.getUserId());
|
|
|
companyTagUserParam.setTagIds(tagId.toString());
|
|
|
List<CompanyTagUser> companyTagUsers = companyTagUserMapper.selectCompanyTagUserList(companyTagUserParam);
|
|
|
- if(companyTagUsers == null || companyTagUsers.isEmpty()){
|
|
|
+ if (companyTagUsers == null || companyTagUsers.isEmpty()) {
|
|
|
CompanyTagUser companyTagUser = new CompanyTagUser();
|
|
|
companyTagUser.setUserId(param.getUserId());
|
|
|
companyTagUser.setCompanyId(param.getCompanyId());
|
|
@@ -562,12 +563,12 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
@Override
|
|
|
public PageInfo<FsUserPageListVO> selectFsUserPageList(FsUserPageListParam param) {
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getUserId());
|
|
|
- if (companyUser!=null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
param.setUserId(0L);
|
|
|
param.setCompanyId(companyUser.getCompanyId());
|
|
|
}
|
|
|
//筛选问题
|
|
|
- if (StringUtils.isNotBlank(param.getCompanyUserId())){
|
|
|
+ if (StringUtils.isNotBlank(param.getCompanyUserId())) {
|
|
|
param.setUserId(Long.valueOf(param.getCompanyUserId()));
|
|
|
}
|
|
|
|
|
@@ -586,7 +587,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
List<SysDictData> courseProject = dictDataMapper.selectDictDataByType("sys_course_project");
|
|
|
for (FsUserPageListVO fsUserPageListVO : fsUserPageListVOS) {
|
|
|
if (courseProject != null && !courseProject.isEmpty()) {
|
|
|
- if (fsUserPageListVO.getProjectId() != null){
|
|
|
+ if (fsUserPageListVO.getProjectId() != null) {
|
|
|
// 项目
|
|
|
courseProject.stream()
|
|
|
.filter(c -> c.getDictValue().equals(fsUserPageListVO.getProjectId().toString()))
|
|
@@ -594,15 +595,15 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
.ifPresent(c -> fsUserPageListVO.setProjectName(c.getDictLabel()));
|
|
|
}
|
|
|
}
|
|
|
- if (StringUtils.isEmpty(fsUserPageListVO.getNickname())){
|
|
|
+ if (StringUtils.isEmpty(fsUserPageListVO.getNickname())) {
|
|
|
fsUserPageListVO.setNickname("用户暂未授权昵称");
|
|
|
}
|
|
|
|
|
|
//解密
|
|
|
- if(fsUserPageListVO.getPhone() != null && fsUserPageListVO.getPhone() != ""){
|
|
|
- if (fsUserPageListVO.getPhone().length()>11){
|
|
|
+ if (fsUserPageListVO.getPhone() != null && fsUserPageListVO.getPhone() != "") {
|
|
|
+ if (fsUserPageListVO.getPhone().length() > 11) {
|
|
|
fsUserPageListVO.setPhone(decryptPhoneMk(fsUserPageListVO.getPhone()));
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
fsUserPageListVO.setPhone(fsUserPageListVO.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
|
|
|
}
|
|
|
}
|
|
@@ -616,7 +617,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
String[] splitTag = tag.split(",");
|
|
|
StringBuilder newTag = new StringBuilder();
|
|
|
for (String s : splitTag) {
|
|
|
- if(!"重粉".equals(s)){
|
|
|
+ if (!"重粉".equals(s)) {
|
|
|
newTag.append(s);
|
|
|
}
|
|
|
}
|
|
@@ -655,7 +656,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
public TableDataInfo selectFsUserPageListNew(FsUserPageListParam param) {
|
|
|
// 找出下级销售
|
|
|
String companyUserId = param.getCompanyUserId();
|
|
|
- if(StringUtils.isNotBlank(companyUserId)) {
|
|
|
+ if (StringUtils.isNotBlank(companyUserId)) {
|
|
|
Long companyUser = Long.parseLong(companyUserId);
|
|
|
Set<Long> userIds = companyUserCacheService.selectUserAllCompanyUserId(companyUser);
|
|
|
if (userIds != null || userIds.size() <= 1) {
|
|
@@ -672,34 +673,34 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
//获取会员的最新的看课状态和最后看课时间
|
|
|
Set<Long> userIds = fsUserPageListVOS.stream().map(FsUserPageListVO::getUserId).collect(Collectors.toSet());
|
|
|
List<FsUserLastCount> fsUserCourseCounts = Collections.emptyList();
|
|
|
- if(!userIds.isEmpty()){
|
|
|
+ if (!userIds.isEmpty()) {
|
|
|
fsUserCourseCounts = fsUserCourseCountMapper.selectUserLastCount(userIds);
|
|
|
}
|
|
|
Map<Long, FsUserLastCount> countMap = fsUserCourseCounts.stream().collect(Collectors.toMap(FsUserLastCount::getUserId, Function.identity()));
|
|
|
|
|
|
for (FsUserPageListVO item : fsUserPageListVOS) {
|
|
|
- if(item.getCompanyUserId() != null) {
|
|
|
+ if (item.getCompanyUserId() != null) {
|
|
|
String companyUserName = companyUserCacheService.selectCompanyUserNameUserById(item.getCompanyUserId());
|
|
|
- if(companyUserName != null) {
|
|
|
+ if (companyUserName != null) {
|
|
|
item.setCompanyUserNickName(companyUserName);
|
|
|
}
|
|
|
}
|
|
|
- if(item.getPhone() != null) {
|
|
|
+ if (item.getPhone() != null) {
|
|
|
item.setPhone(ParseUtils.parsePhone(item.getPhone()));
|
|
|
}
|
|
|
- if(item.getStatus() != null) {
|
|
|
+ if (item.getStatus() != null) {
|
|
|
String userStatus = DictUtils.getDictLabel("user_status", String.valueOf(item.getStatus()));
|
|
|
- if(StringUtils.isNotBlank(userStatus)){
|
|
|
+ if (StringUtils.isNotBlank(userStatus)) {
|
|
|
item.setStatusText(userStatus);
|
|
|
}
|
|
|
}
|
|
|
- if(item.getUserId() != null) {
|
|
|
+ if (item.getUserId() != null) {
|
|
|
FsUserCourseCount byUserId = fsUserCourseCountCacheService.findByUserId(item.getUserId());
|
|
|
- if(byUserId != null) {
|
|
|
+ if (byUserId != null) {
|
|
|
item.setWatchCourseCount(byUserId.getWatchCourseCount());
|
|
|
item.setMissCourseCount(byUserId.getMissCourseCount());
|
|
|
item.setMissCourseStatus(byUserId.getMissCourseStatus());
|
|
|
- if(StringUtils.isNotEmpty(byUserId.getPartCourseCount())){
|
|
|
+ if (StringUtils.isNotEmpty(byUserId.getPartCourseCount())) {
|
|
|
item.setPartCourseCount(new BigDecimal(byUserId.getPartCourseCount()).longValue());
|
|
|
}
|
|
|
// item.setCourseCountStatus(byUserId.getStatus());
|
|
@@ -708,25 +709,25 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
item.setLastWatchDate(byUserId.getLastWatchDate());
|
|
|
}
|
|
|
FsUserLastCount fsUserCourseCount = countMap.get(item.getUserId());
|
|
|
- if(fsUserCourseCount != null){
|
|
|
+ if (fsUserCourseCount != null) {
|
|
|
item.setCourseCountStatus(fsUserCourseCount.getStatus());
|
|
|
}
|
|
|
String userTagByUserId = companyTagCacheService
|
|
|
- .findUserTagByUserId(item.getUserId(),item.getCompanyUserId());
|
|
|
- if(StringUtils.isNotEmpty(userTagByUserId)) {
|
|
|
+ .findUserTagByUserId(item.getUserId(), item.getCompanyUserId());
|
|
|
+ if (StringUtils.isNotEmpty(userTagByUserId)) {
|
|
|
String[] split = userTagByUserId.split(",");
|
|
|
Set<String> tagNames = new HashSet<>();
|
|
|
for (String tag : split) {
|
|
|
- if(StringUtils.isNotBlank(tag)) {
|
|
|
+ if (StringUtils.isNotBlank(tag)) {
|
|
|
Long tagL = Long.parseLong(tag);
|
|
|
CompanyTag companyTag = tagMap.get(tagL);
|
|
|
- if(companyTag != null) {
|
|
|
+ if (companyTag != null) {
|
|
|
tagNames.add(companyTag.getTag());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
item.setTagIds(userTagByUserId);
|
|
|
- item.setTag(String.join(",",tagNames));
|
|
|
+ item.setTag(String.join(",", tagNames));
|
|
|
}
|
|
|
|
|
|
// 是否宠粉
|
|
@@ -737,10 +738,10 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
}
|
|
|
|
|
|
// 解密
|
|
|
- if(item.getPhone() != null && item.getPhone() != ""){
|
|
|
- if (item.getPhone().length()>11){
|
|
|
+ if (item.getPhone() != null && item.getPhone() != "") {
|
|
|
+ if (item.getPhone().length() > 11) {
|
|
|
item.setPhone(decryptPhoneMk(item.getPhone()));
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
item.setPhone(item.getPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2"));
|
|
|
}
|
|
|
}
|
|
@@ -755,14 +756,15 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
rspData.setTotal(this.selectFsUserCount(param));
|
|
|
return rspData;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public Long selectFsUserCount(FsUserPageListParam param) {
|
|
|
return fsUserMapper.selectFsUserPageListCount(param);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Long selectFsUserCount(int type,Long companyId,Long companyUserId) {
|
|
|
- return fsUserMapper.selectFsUserCount(type,companyId,companyUserId);
|
|
|
+ public Long selectFsUserCount(int type, Long companyId, Long companyUserId) {
|
|
|
+ return fsUserMapper.selectFsUserCount(type, companyId, companyUserId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -780,7 +782,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
// 判断是否是管理员
|
|
|
Long companyId = null;
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(userId);
|
|
|
- if (companyUser != null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
userId = 0L;
|
|
|
companyId = companyUser.getCompanyId();
|
|
|
}
|
|
@@ -803,13 +805,13 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
@Override
|
|
|
public UserDetailsVO getUserDetails(Long userId, Long fsUserId, String dateTag, Long userCompanyId) {
|
|
|
- UserDetailsVO countWatchCourse = fsUserMapper.getCountWatchCourse(userId, fsUserId, dateTag,userCompanyId);
|
|
|
+ UserDetailsVO countWatchCourse = fsUserMapper.getCountWatchCourse(userId, fsUserId, dateTag, userCompanyId);
|
|
|
FsUserCompanyUser fsUserCompanyUser = userCompanyUserService.selectFsUserCompanyUserById(userCompanyId);
|
|
|
|
|
|
UserDetailsVO countAnswer = fsUserMapper.getCountAnswer(fsUserCompanyUser.getCompanyUserId(), fsUserId, dateTag);
|
|
|
UserDetailsVO countRedPacket = fsUserMapper.getCountRedPacket(fsUserCompanyUser.getCompanyUserId(), fsUserId, dateTag);
|
|
|
UserDetailsVO vo = new UserDetailsVO();
|
|
|
- if (countWatchCourse != null){
|
|
|
+ if (countWatchCourse != null) {
|
|
|
BeanUtils.copyProperties(countWatchCourse, vo);
|
|
|
}
|
|
|
if (countRedPacket != null) {
|
|
@@ -835,7 +837,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
// 判断是否是管理员
|
|
|
Long companyId = null;
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(userId);
|
|
|
- if (companyUser != null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
userId = 0L;
|
|
|
companyId = companyUser.getCompanyId();
|
|
|
}
|
|
@@ -856,12 +858,12 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
// 判断是否是管理员
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getUserId());
|
|
|
- if (companyUser != null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
param.setUserId(0L);
|
|
|
}
|
|
|
//统计课程数据详情,在查询统计详情的时候需要显示
|
|
|
Map<String, Long> courseDetailsMap = fsUserMapper.countCourseDetailsNew(param);
|
|
|
- if(courseDetailsMap != null && courseDetailsMap.get("courseNum") != null && courseDetailsMap.get("videoNum") != null && courseDetailsMap.get("courseUserNum") != null){
|
|
|
+ if (courseDetailsMap != null && courseDetailsMap.get("courseNum") != null && courseDetailsMap.get("videoNum") != null && courseDetailsMap.get("courseUserNum") != null) {
|
|
|
userStatisticsVO.setCourseNum(Integer.parseInt(courseDetailsMap.get("courseNum").toString()))
|
|
|
.setVideoNum(Integer.parseInt(courseDetailsMap.get("videoNum").toString()))
|
|
|
.setCourseUserNum(Integer.parseInt(courseDetailsMap.get("courseUserNum").toString()));
|
|
@@ -874,7 +876,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
// 判断是否是管理员
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getUserId());
|
|
|
- if (companyUser != null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
param.setUserId(0L);
|
|
|
param.setCompanyId(companyUser.getCompanyId());
|
|
|
}
|
|
@@ -909,7 +911,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
// 获取红包统计
|
|
|
Map<String, Object> redPacketMap = fsUserMapper.countUserRedPacket(param);
|
|
|
- if(redPacketMap != null && redPacketMap.get("redPacketNum") != null && redPacketMap.get("redPacketAmount") != null) {
|
|
|
+ if (redPacketMap != null && redPacketMap.get("redPacketNum") != null && redPacketMap.get("redPacketAmount") != null) {
|
|
|
fsUserStatisticsVO.setRedPacketNum(Integer.parseInt(redPacketMap.get("redPacketNum").toString()))
|
|
|
.setRedPacketAmount(new BigDecimal(redPacketMap.get("redPacketAmount").toString()));
|
|
|
}
|
|
@@ -922,15 +924,15 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
// 判断是否是管理员
|
|
|
Long companyId = null;
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(userId);
|
|
|
- if (companyUser != null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
userId = 0L;
|
|
|
companyId = companyUser.getCompanyId();
|
|
|
}
|
|
|
- if(type == 1){
|
|
|
+ if (type == 1) {
|
|
|
//按完播率
|
|
|
listVO = fsUserMapper.countUserRankingByComplete(userId, companyId, startTime, endTime, periodId, videoId, order);
|
|
|
}
|
|
|
- if(type == 2){
|
|
|
+ if (type == 2) {
|
|
|
//按正确率
|
|
|
listVO = fsUserMapper.countUserRankingByRight(userId, companyId, startTime, endTime, periodId, videoId, order);
|
|
|
}
|
|
@@ -942,15 +944,15 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
// 判断是否是管理员
|
|
|
Long companyId = null;
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(userId);
|
|
|
- if (companyUser != null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
userId = 0L;
|
|
|
companyId = companyUser.getCompanyId();
|
|
|
}
|
|
|
List<FsCourseRankingVO> list = Collections.emptyList();
|
|
|
- if(type == 1){
|
|
|
+ if (type == 1) {
|
|
|
list = fsUserMapper.countCourseRankingByComplete(userId, companyId, startTime, endTime, periodId, videoId, order);
|
|
|
}
|
|
|
- if(type == 2){
|
|
|
+ if (type == 2) {
|
|
|
list = fsUserMapper.countCourseRankingByRight(userId, companyId, startTime, endTime, periodId, videoId, order);
|
|
|
}
|
|
|
|
|
@@ -961,7 +963,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
public List<FsUserGraphicStatisticsVO> graphicStatistics(UserStatisticsCommonParam param) {
|
|
|
FsUserStatisticsVO userStatistics = getUserStatistics(param);
|
|
|
List<FsUserGraphicStatisticsVO> list = new ArrayList<>();
|
|
|
- list.add(new FsUserGraphicStatisticsVO("观看人数",userStatistics.getCourseWatchNum(), userStatistics.getCourseWatchNum()));
|
|
|
+ list.add(new FsUserGraphicStatisticsVO("观看人数", userStatistics.getCourseWatchNum(), userStatistics.getCourseWatchNum()));
|
|
|
list.add(new FsUserGraphicStatisticsVO("完播人数", userStatistics.getCourseCompleteNum(), userStatistics.getCourseCompleteNum()));
|
|
|
list.add(new FsUserGraphicStatisticsVO("答题人数", userStatistics.getAnswerNum(), userStatistics.getAnswerNum()));
|
|
|
list.add(new FsUserGraphicStatisticsVO("正确人数", userStatistics.getAnswerRightNum(), userStatistics.getAnswerRightNum()));
|
|
@@ -1015,7 +1017,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
countVO.setRedPacketNum(redPacketVO.getRedPacketNum())
|
|
|
.setRedPacketAmount(redPacketVO.getRedPacketAmount() != null ? redPacketVO.getRedPacketAmount() : new BigDecimal(BigInteger.ZERO));
|
|
|
countVO.setAnswerNum(answerVO.getAnswerNum()).setAnswerRightNum(answerVO.getAnswerRightNum())
|
|
|
- .setAnswerRightRate(answerVO.getAnswerRightRate()!=null ? answerVO.getAnswerRightRate() : new BigDecimal(BigInteger.ZERO));
|
|
|
+ .setAnswerRightRate(answerVO.getAnswerRightRate() != null ? answerVO.getAnswerRightRate() : new BigDecimal(BigInteger.ZERO));
|
|
|
allVO.setCountVO(countVO);
|
|
|
return allVO;
|
|
|
}).collect(Collectors.toList());
|
|
@@ -1026,7 +1028,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
// 判断是否是管理员
|
|
|
Long companyId = null;
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(userId);
|
|
|
- if (companyUser != null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
companyUserId = String.valueOf(0);
|
|
|
companyId = companyUser.getCompanyId();
|
|
|
}
|
|
@@ -1044,25 +1046,25 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
public ResponseResult<Boolean> becomeMember(FsUserCourseBeMemberParam param) {
|
|
|
//查询用户
|
|
|
FsUser fsUser = fsUserMapper.selectFsUserById(param.getUserId());
|
|
|
- if (Objects.isNull(fsUser)){
|
|
|
- return ResponseResult.fail(404,"当前用户信息不存在");
|
|
|
+ if (Objects.isNull(fsUser)) {
|
|
|
+ return ResponseResult.fail(404, "当前用户信息不存在");
|
|
|
}
|
|
|
|
|
|
//判断该销售是否存在
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getCompanyUserId());
|
|
|
- if (Objects.isNull(companyUser)){
|
|
|
- return ResponseResult.fail(405,"销售不存在");
|
|
|
+ if (Objects.isNull(companyUser)) {
|
|
|
+ return ResponseResult.fail(405, "销售不存在");
|
|
|
}
|
|
|
// 通过字段值判断该销售是否允许注册会员
|
|
|
- if(companyUser.getIsAllowedAllRegister() != null && companyUser.getIsAllowedAllRegister() == 0){
|
|
|
- return ResponseResult.fail(407,"不允许注册会员,请联系管理员");
|
|
|
+ if (companyUser.getIsAllowedAllRegister() != null && companyUser.getIsAllowedAllRegister() == 0) {
|
|
|
+ return ResponseResult.fail(407, "不允许注册会员,请联系管理员");
|
|
|
}
|
|
|
|
|
|
// 逻辑调整:如果会员已经绑定了销售,直接提示,不添加重粉数据了-2025年6月16日14点53分
|
|
|
// 逻辑调整:会员与销售的绑定关系通过中间表关联 /20250625 17:13
|
|
|
FsUserCompanyUser userCompanyUser = userCompanyUserService.selectByUserIdAndProjectId(fsUser.getUserId(), param.getProjectId());
|
|
|
- if (Objects.nonNull(userCompanyUser) && !userCompanyUser.getCompanyUserId().equals(param.getCompanyUserId())){
|
|
|
- return ResponseResult.fail(500,"该用户("+fsUser.getUserId() + ")已成为其他销售会员");
|
|
|
+ if (Objects.nonNull(userCompanyUser) && !userCompanyUser.getCompanyUserId().equals(param.getCompanyUserId())) {
|
|
|
+ return ResponseResult.fail(500, "该用户(" + fsUser.getUserId() + ")已成为其他销售会员");
|
|
|
}
|
|
|
|
|
|
// 特殊(需求设计:需要根据公司是否开启黑名单来设置会员初始化的状态)
|
|
@@ -1071,7 +1073,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
int isDefaultBlack = company != null ? company.getFsUserIsDefaultBlack() : 0;
|
|
|
|
|
|
// 添加关系表数据
|
|
|
- if (Objects.isNull(userCompanyUser)){
|
|
|
+ if (Objects.isNull(userCompanyUser)) {
|
|
|
int defaultStatus = isDefaultBlack == 1 ? 0 : 1;
|
|
|
userCompanyUser = userCompanyUserService.bindRelationship(param.getUserId(), param.getProjectId(), companyUser.getCompanyId(), companyUser.getUserId(), defaultStatus);
|
|
|
}
|
|
@@ -1087,7 +1089,7 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
// }
|
|
|
|
|
|
//如果是设置了需要进入小黑屋,则需要返回提示,否则正常返回
|
|
|
- if(isDefaultBlack == 1){
|
|
|
+ if (isDefaultBlack == 1) {
|
|
|
return ResponseResult.fail(402, "已成功注册,待管理审核");
|
|
|
}
|
|
|
return ResponseResult.ok(Boolean.TRUE);
|
|
@@ -1100,28 +1102,28 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
BeanUtils.copyProperties(fsUser, item);
|
|
|
item.setNickname(fsUser.getNickName());
|
|
|
Map<Long, CompanyTag> tagMap = companyTagCacheService.queryAllTagMap();
|
|
|
- if(item.getPhone() != null) {
|
|
|
+ if (item.getPhone() != null) {
|
|
|
item.setPhone(ParseUtils.parsePhone(item.getPhone()));
|
|
|
}
|
|
|
String userTagByUserId = null;
|
|
|
- if (item.getUserId()!=null && item.getCompanyUserId() != null){
|
|
|
+ if (item.getUserId() != null && item.getCompanyUserId() != null) {
|
|
|
userTagByUserId = companyTagCacheService
|
|
|
- .findUserTagByUserId(item.getUserId(),item.getCompanyUserId());
|
|
|
+ .findUserTagByUserId(item.getUserId(), item.getCompanyUserId());
|
|
|
}
|
|
|
- if(StringUtils.isNotEmpty(userTagByUserId)) {
|
|
|
+ if (StringUtils.isNotEmpty(userTagByUserId)) {
|
|
|
String[] split = userTagByUserId.split(",");
|
|
|
Set<String> tagNames = new HashSet<>();
|
|
|
for (String tag : split) {
|
|
|
- if(StringUtils.isNotBlank(tag)) {
|
|
|
+ if (StringUtils.isNotBlank(tag)) {
|
|
|
Long tagL = Long.parseLong(tag);
|
|
|
CompanyTag companyTag = tagMap.get(tagL);
|
|
|
- if(companyTag != null) {
|
|
|
+ if (companyTag != null) {
|
|
|
tagNames.add(companyTag.getTag());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
item.setTagIds(userTagByUserId);
|
|
|
- item.setTag(String.join(",",tagNames));
|
|
|
+ item.setTag(String.join(",", tagNames));
|
|
|
}
|
|
|
return item;
|
|
|
}
|
|
@@ -1129,26 +1131,26 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public void addMoney(FsStoreOrderScrm order) {
|
|
|
- FsUserBillScrm map=new FsUserBillScrm();
|
|
|
+ FsUserBillScrm map = new FsUserBillScrm();
|
|
|
map.setCategory(CATEGORY_3.getValue());
|
|
|
map.setBusinessId(order.getId().toString());
|
|
|
map.setBillType(1);
|
|
|
- List<FsUserBillScrm> list=billService.selectFsUserBillList(map);
|
|
|
- if(list!=null&&list.size()>0){
|
|
|
- for(FsUserBillScrm bill:list){
|
|
|
- FsUser tuiUser= fsUserMapper.selectFsUserByIdForUpdate(bill.getUserId());
|
|
|
- if(tuiUser!=null){
|
|
|
- FsUser tuiUserMap=new FsUser();
|
|
|
+ List<FsUserBillScrm> list = billService.selectFsUserBillList(map);
|
|
|
+ if (list != null && list.size() > 0) {
|
|
|
+ for (FsUserBillScrm bill : list) {
|
|
|
+ FsUser tuiUser = fsUserMapper.selectFsUserByIdForUpdate(bill.getUserId());
|
|
|
+ if (tuiUser != null) {
|
|
|
+ FsUser tuiUserMap = new FsUser();
|
|
|
tuiUserMap.setUserId(tuiUser.getUserId());
|
|
|
tuiUserMap.setNowMoney(tuiUser.getNowMoney().add(new BigDecimal(bill.getNumber())));
|
|
|
tuiUserMap.setBrokeragePrice(tuiUser.getBrokeragePrice().subtract(new BigDecimal(bill.getNumber())));
|
|
|
fsUserMapper.updateFsUser(tuiUserMap);
|
|
|
- billService.addBill(tuiUserMap.getUserId(), CATEGORY_3.getValue(),0, BillDetailEnum.TYPE_6.getDesc(),bill.getNumber().doubleValue(),tuiUserMap.getBrokeragePrice().doubleValue(),"订单分佣金",order.getId().toString(),bill.getTuiUserId());
|
|
|
- billService.addBill(tuiUserMap.getUserId(), CATEGORY_1.getValue(),1,BillDetailEnum.TYPE_5.getDesc(),bill.getNumber().doubleValue(),tuiUserMap.getNowMoney().doubleValue(),"订单分佣金",order.getId().toString(),bill.getTuiUserId());
|
|
|
+ billService.addBill(tuiUserMap.getUserId(), CATEGORY_3.getValue(), 0, BillDetailEnum.TYPE_6.getDesc(), bill.getNumber().doubleValue(), tuiUserMap.getBrokeragePrice().doubleValue(), "订单分佣金", order.getId().toString(), bill.getTuiUserId());
|
|
|
+ billService.addBill(tuiUserMap.getUserId(), CATEGORY_1.getValue(), 1, BillDetailEnum.TYPE_5.getDesc(), bill.getNumber().doubleValue(), tuiUserMap.getNowMoney().doubleValue(), "订单分佣金", order.getId().toString(), bill.getTuiUserId());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- FsStoreOrderScrm orderMap=new FsStoreOrderScrm();
|
|
|
+ FsStoreOrderScrm orderMap = new FsStoreOrderScrm();
|
|
|
orderMap.setId(order.getId());
|
|
|
orderMap.setTuiUserMoneyStatus(1);
|
|
|
storeOrderMapper.updateFsStoreOrder(orderMap);
|
|
@@ -1185,18 +1187,26 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
|
|
|
// 判断是否是管理员
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getUserId());
|
|
|
- if (companyUser != null && companyUser.isAdmin()){
|
|
|
+ if (companyUser != null && companyUser.isAdmin()) {
|
|
|
param.setUserId(0L);
|
|
|
param.setCompanyId(companyUser.getCompanyId());
|
|
|
}
|
|
|
- // 获取课程统计
|
|
|
- Map<String, Long> couserMap = fsUserMapper.countUserCourse2(param);
|
|
|
- if (couserMap != null) {
|
|
|
- fsUserStatisticsVO.setCourseWatchNum(couserMap.get("courseWatchNum").intValue()).setCourseCompleteNum(couserMap.get("courseCompleteNum").intValue());
|
|
|
|
|
|
- if (couserMap.get("courseCompleteNum") != null && couserMap.get("courseWatchNum") > 0) {
|
|
|
- int courseCompleteRate = BigDecimal.valueOf(couserMap.get("courseCompleteNum"))
|
|
|
- .divide(BigDecimal.valueOf(couserMap.get("courseWatchNum")), 2, RoundingMode.HALF_UP)
|
|
|
+
|
|
|
+ Map<String, Object> map = fsUserMapper.countUserStats(
|
|
|
+ param
|
|
|
+ );
|
|
|
+ // 获取课程统计
|
|
|
+// Map<String, Long> courseMap = fsUserMapper.countUserCourse2(param);
|
|
|
+ if (map != null) {
|
|
|
+ fsUserStatisticsVO.setCourseWatchNum(Integer.valueOf(map.getOrDefault("courseWatchNum", 0L).toString()))
|
|
|
+ .setCourseCompleteNum(Integer.valueOf(map.getOrDefault("courseCompleteNum", 0L).toString()));
|
|
|
+
|
|
|
+ Long completeNum = (Long) map.get("courseCompleteNum");
|
|
|
+ Long watchNum = (Long) map.get("courseWatchNum");
|
|
|
+ if (completeNum != null && watchNum != null && watchNum > 0) {
|
|
|
+ int courseCompleteRate = BigDecimal.valueOf(completeNum)
|
|
|
+ .divide(BigDecimal.valueOf(watchNum), 2, RoundingMode.HALF_UP)
|
|
|
.multiply(BigDecimal.valueOf(100))
|
|
|
.intValue();
|
|
|
fsUserStatisticsVO.setCourseCompleteRate(courseCompleteRate);
|
|
@@ -1204,13 +1214,16 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
}
|
|
|
|
|
|
// 获取答题统计
|
|
|
- Map<String, Long> answerMap = fsUserMapper.countUserAnswer(param);
|
|
|
- if (answerMap != null) {
|
|
|
- fsUserStatisticsVO.setAnswerNum(answerMap.get("answerNum").intValue()).setAnswerRightNum(answerMap.get("answerRightNum").intValue());
|
|
|
+// Map<String, Long> answerMap = fsUserMapper.countUserAnswer(param);
|
|
|
+ if (map != null) {
|
|
|
+ Long answerRightNum = (Long) map.get("answerRightNum");
|
|
|
+ Long answerNum = (Long) map.get("answerNum");
|
|
|
|
|
|
- if (answerMap.get("answerRightNum") != null && answerMap.get("answerNum") > 0) {
|
|
|
- int answerCompleteRate = BigDecimal.valueOf(answerMap.get("answerRightNum"))
|
|
|
- .divide(BigDecimal.valueOf(answerMap.get("answerNum")), 2, RoundingMode.HALF_UP)
|
|
|
+ fsUserStatisticsVO.setAnswerNum(answerNum.intValue()).setAnswerRightNum(answerRightNum.intValue());
|
|
|
+
|
|
|
+ if (answerRightNum != null && answerNum != null && answerNum > 0) {
|
|
|
+ int answerCompleteRate = BigDecimal.valueOf(answerRightNum)
|
|
|
+ .divide(BigDecimal.valueOf(answerNum), 2, RoundingMode.HALF_UP)
|
|
|
.multiply(BigDecimal.valueOf(100))
|
|
|
.intValue();
|
|
|
fsUserStatisticsVO.setAnswerRightRate(answerCompleteRate);
|
|
@@ -1218,13 +1231,18 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
}
|
|
|
|
|
|
// 获取红包统计
|
|
|
- Map<String, Object> redPacketMap = fsUserMapper.countUserRedPacket(param);
|
|
|
- if(redPacketMap != null && redPacketMap.get("redPacketNum") != null && redPacketMap.get("redPacketAmount") != null) {
|
|
|
- fsUserStatisticsVO.setRedPacketNum(Integer.parseInt(redPacketMap.get("redPacketNum").toString()))
|
|
|
- .setRedPacketAmount(new BigDecimal(redPacketMap.get("redPacketAmount").toString()));
|
|
|
+// Map<String, Object> redPacketMap = fsUserMapper.countUserRedPacket(param);
|
|
|
+ if (map != null) {
|
|
|
+ Object numObj = map.get("redPacketNum");
|
|
|
+ Object amtObj = map.get("redPacketAmount");
|
|
|
+ if (numObj != null && amtObj != null) {
|
|
|
+ fsUserStatisticsVO.setRedPacketNum(Integer.parseInt(numObj.toString()))
|
|
|
+ .setRedPacketAmount(new BigDecimal(amtObj.toString()));
|
|
|
+ }
|
|
|
}
|
|
|
return fsUserStatisticsVO;
|
|
|
}
|
|
|
+
|
|
|
private static FsUserCompanyUser getFsUserCompanyUser(FsUserCourseBeMemberParam param, FsUser fsUser) {
|
|
|
FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();
|
|
|
// 判断是否绑定了销售,如果已绑定,则需要标识为重粉,且放黑名单
|
|
@@ -1238,10 +1256,12 @@ public class FsUserServiceImpl implements IFsUserService
|
|
|
fsUserCompanyUser.setCompanyUserId(param.getCompanyUserId());
|
|
|
return fsUserCompanyUser;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public List<FsCompanyUserListQueryVO> selectFsCompanyUserListQuery(FsUser fsUser) {
|
|
|
return fsUserMapper.selectFsCompanyUserListQuery(fsUser);
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public List<FsUser> getUserListLimit(FsUser fsUser) {
|
|
|
return fsUserMapper.selectFsUserListLimit(fsUser);
|