| 
					
				 | 
			
			
				@@ -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); 
			 |