Quellcode durchsuchen

修了了计奖交易-统计页面

Pota1ovO vor 2 Jahren
Ursprung
Commit
ed8b1469c3

+ 3 - 1
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserGdTradeMapper.java

@@ -17,7 +17,9 @@ public interface KxsUserGdTradeMapper extends BaseMapper<KxsUserGdTrade> {
     /**
      * 获取广电卡激活量
      * @param userId 用户id
-     * @param date 日
+     * @param date 日期
+     * @param type 1 日  2 月  3查询当日及之前   4查询当月及之前
+     * @param totalType 0个人  1团队
      * @return
      */
     TotalTradeAmtVO getGdActCount(@Param("userId")Long userId, @Param("date")String date, @Param("type")Integer type,@Param("totalType") Integer totalType);

+ 70 - 42
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java

@@ -450,7 +450,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         String month = param.getMonth();//查询月
         Integer totalType = param.getTotalType();//查询类型 0个人 1团队
         Long userId = param.getUserId();
-        Integer getType = param.getGetType();//获取类型 1获取近七日 2获取半年
+        Integer getType = param.getGetType();//获取类型 1获取 2获取半年
         Integer tradeType = param.getTradeType();//1获取增量 2获取存量 3获取全部
         LocalDate now = LocalDate.now();
         String tableName = "";
@@ -458,35 +458,35 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         if (tradeType.equals(3)) {//获取全部
             tableName = PREFIX_TABLE_NAME; //全部
             if (getType.equals(2)) {//查询近半年
-                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName);
+                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName,tradeType);
                 return R.ok(statUserGetUserTradeStatListVOS);
             } else if (getType.equals(1)) {//查询月详细
-                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName);
+                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName,tradeType);
                 return R.ok(statUserGetUserTradeStatListVOS);
             }
         }else if (tradeType.equals(2)){
             tableName =  PREFIX_TABLE_NAME_BEFORE; //存量
             if (getType.equals(2)) {//查询近半年
-                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName);
+                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName,tradeType);
                 return R.ok(statUserGetUserTradeStatListVOS);
             } else if (getType.equals(1)) {//查询月详细
-                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName);
+                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName,tradeType);
                 return R.ok(statUserGetUserTradeStatListVOS);
             }
         }else if (tradeType.equals(1)){
             tableName = PREFIX_TABLE_NAME_AFTER; //增量
             if (getType.equals(2)) {//查询近半年
-                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName);
+                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName,tradeType);
                 return R.ok(statUserGetUserTradeStatListVOS);
             } else if (getType.equals(1)) {//查询月详细
-                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName);
+                ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName,tradeType);
                 return R.ok(statUserGetUserTradeStatListVOS);
             }
         }
         return R.failed("获取增存量类型错误");
     }
 
-    private ArrayList<StatUserGetUserTradeStatListVO> getUserGetUserTradeStatListVOSByDay(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times,String tableName) {
+    private ArrayList<StatUserGetUserTradeStatListVO> getUserGetUserTradeStatListVOSByDay(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times,String tableName,Integer tradeType) {
         //校验时间格式是yyyyMM
         AssertUtil.isyyyyMM(month);
         //判断month是否是本月  否则获取月份中全部日日期
@@ -519,18 +519,24 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         for (int i = times.size() - 1; i >= 0; i--) {
             String time = times.get(i);
             //查询交易额
-            KxsUserTrade myPosTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, lastTableName, 0, userId,time);
+            KxsUserTrade myPosTrade = null;
+            try {
+                //此处存在不存在表  跳过报错视为无数据
+                myPosTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, lastTableName, 0, userId,time);
+            }catch (Exception e){
+                log.info(e.getMessage());
+            }
             if(myPosTrade == null){
                 myPosTrade = new KxsUserTrade();
             }
-            StatUserGetUserTradeStatListVO statUserGetUserTradeStatListVO = getMonthTrade(totalType, userId, getType, statUserGetMyTradeDTO, myPosTrade, month,time, tableName);
+            StatUserGetUserTradeStatListVO statUserGetUserTradeStatListVO = getMonthTrade(totalType, userId, getType, statUserGetMyTradeDTO, myPosTrade, month,time, tableName, tradeType);
             statUserGetUserTradeStatListVO.setTime(time);
             statUserGetUserTradeStatListVOS.add(statUserGetUserTradeStatListVO);
         }
         return statUserGetUserTradeStatListVOS;
     }
 
-    private ArrayList<StatUserGetUserTradeStatListVO> getStatUserGetUserTradeStatListVOSByMonth(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times,String tableName) {
+    private ArrayList<StatUserGetUserTradeStatListVO> getStatUserGetUserTradeStatListVOSByMonth(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times,String tableName,Integer tradeType) {
         //近半年
         for (int i = 0; i < 6; i++) {
             // 计算过去半年每月月份
@@ -556,7 +562,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
                 if (myPosTrade == null){
                     myPosTrade = new KxsUserTrade();
                 }
-                StatUserGetUserTradeStatListVO statUserGetUserTradeStatListVO = getMonthTrade(totalType, userId, getType, statUserGetMyTradeDTO, myPosTrade, month,time, tableName);
+                StatUserGetUserTradeStatListVO statUserGetUserTradeStatListVO = getMonthTrade(totalType, userId, getType, statUserGetMyTradeDTO, myPosTrade, month,time, tableName,tradeType);
                 statUserGetUserTradeStatListVO.setTime(time);
                 statUserGetUserTradeStatListVOS.add(statUserGetUserTradeStatListVO);
             } catch (Exception e) {
@@ -566,7 +572,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         return statUserGetUserTradeStatListVOS;
     }
 
-    private StatUserGetUserTradeStatListVO getMonthTrade(Integer totalType, Long userId, Integer getType, StatUserGetMyTradeDTO statUserGetMyTradeDTO, KxsUserTrade kxsUserTrade,String month,String date,String tableName) {
+    private StatUserGetUserTradeStatListVO getMonthTrade(Integer totalType, Long userId, Integer getType, StatUserGetMyTradeDTO statUserGetMyTradeDTO, KxsUserTrade kxsUserTrade,String month,String date,String tableName,Integer tradeType) {
         BigDecimal helpDirectTradeAmt = kxsUserTrade.getHelpDirectTradeAmt() == null? BigDecimal.ZERO : kxsUserTrade.getHelpDirectTradeAmt();//扶贷
         BigDecimal helpDebitTradeAmt = kxsUserTrade.getHelpDebitTradeAmt() == null? BigDecimal.ZERO : kxsUserTrade.getHelpDebitTradeAmt();//扶借
 
@@ -589,7 +595,13 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
 
         //拼接表名
         tableName = tableName + month;
-        KxsUserTrade myCloudTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, tableName, 1, userId,"");
+        KxsUserTrade myCloudTrade = null;
+        try {
+            //存在表不存在的月份,跳过报错视为无数据
+            myCloudTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, tableName, 1, userId,"");
+        }catch (Exception e){
+            log.info(e.getMessage());
+        }
         if(myCloudTrade == null){
             myCloudTrade = new KxsUserTrade();
         }
@@ -615,44 +627,60 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         //云闪付交易额
         statUserGetUserTradeStatListVO.setCloudAmunt(posAmount);
         totalAmount = totalAmount.add(posAmount);
-        //助力宝交易额
-        TotalTradeAmtVO TotalTradeAmtVO  = kxsZlbTradeMapper.getZlbTrade(userId, String.valueOf(date), getType, totalType);
-        TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
+        if (!tradeType.equals(2)){//存量不存在以下数据
+            //助力宝交易额
+            TotalTradeAmtVO TotalTradeAmtVO  = kxsZlbTradeMapper.getZlbTrade(userId, String.valueOf(date), getType, totalType);
+            TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
-        BigDecimal zlbAmt = TotalTradeAmtVO.getZlbAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getZlbAmt();
-        statUserGetUserTradeStatListVO.setZlbAmount(zlbAmt);
-        totalAmount = totalAmount.add(zlbAmt);
 
-        //来客吧交易额
-        TotalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, String.valueOf(date), getType, totalType);
-        TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
-
-        BigDecimal lkbActAmt = TotalTradeAmtVO.getLkbActAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbActAmt();
-        statUserGetUserTradeStatListVO.setLkbActivityAmount(lkbActAmt);
-        totalAmount = totalAmount.add(lkbActAmt);
+            BigDecimal zlbAmt = TotalTradeAmtVO.getZlbAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getZlbAmt();
+            statUserGetUserTradeStatListVO.setZlbAmount(zlbAmt);
+            totalAmount = totalAmount.add(zlbAmt);
 
+            //来客吧交易额
+            TotalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, String.valueOf(date), getType, totalType);
+            TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
-        BigDecimal lkbAmt = TotalTradeAmtVO.getLkbAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbAmt();
-        statUserGetUserTradeStatListVO.setLkbAmount(lkbAmt);
-        totalAmount = totalAmount.add(lkbAmt);
-        //广电话费
-        TotalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, String.valueOf(date), getType, totalType);
-        TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
+            BigDecimal lkbActAmt = TotalTradeAmtVO.getLkbActAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbActAmt();
+            statUserGetUserTradeStatListVO.setLkbActivityAmount(lkbActAmt);
+            totalAmount = totalAmount.add(lkbActAmt);
 
-        BigDecimal gdAmount = TotalTradeAmtVO.getGdAmount() == null ?  BigDecimal.ZERO : TotalTradeAmtVO.getGdAmount();
-        statUserGetUserTradeStatListVO.setGdTelephoneCharge(gdAmount);
-        totalAmount = totalAmount.add(gdAmount);
 
+            BigDecimal lkbAmt = TotalTradeAmtVO.getLkbAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbAmt();
+            statUserGetUserTradeStatListVO.setLkbAmount(lkbAmt);
+            totalAmount = totalAmount.add(lkbAmt);
+            //广电话费
+            TotalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, String.valueOf(date), getType, totalType);
+            TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
-        //广电激活量
-        TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), getType, totalType);
-        TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
+            BigDecimal gdAmount = TotalTradeAmtVO.getGdAmount() == null ?  BigDecimal.ZERO : TotalTradeAmtVO.getGdAmount();
+            statUserGetUserTradeStatListVO.setGdTelephoneCharge(gdAmount);
+            totalAmount = totalAmount.add(gdAmount);
 
-        BigDecimal gdActAmt = BigDecimal.valueOf(TotalTradeAmtVO.getGdCount() != null ? TotalTradeAmtVO.getGdCount() * 10000 : 0);
-        statUserGetUserTradeStatListVO.setGdActivityAmount(gdActAmt);
-        totalAmount = totalAmount.add(gdActAmt);
+            if (tradeType.equals(3)){//广电获取全部
+                //广电激活量
+                if(getType == 1){
+                    TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), 3, totalType);
+                }else {
+                    TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), 4, totalType);
+                }
+                TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
 
+                BigDecimal gdActAmt = BigDecimal.valueOf(TotalTradeAmtVO.getGdCount() != null ? TotalTradeAmtVO.getGdCount() * 10000 : 0);
+                statUserGetUserTradeStatListVO.setGdActivityAmount(gdActAmt);
+                totalAmount = totalAmount.add(gdActAmt);
+            }
+            if (tradeType.equals(1)){//广电获取增量  只获取当前时间
+                //广电激活量
+                TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), getType, totalType);
+                TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
+
+                BigDecimal gdActAmt = BigDecimal.valueOf(TotalTradeAmtVO.getGdCount() != null ? TotalTradeAmtVO.getGdCount() * 10000 : 0);
+                statUserGetUserTradeStatListVO.setGdActivityAmount(gdActAmt);
+                totalAmount = totalAmount.add(gdActAmt);
+            }
+        }
         //总额
         statUserGetUserTradeStatListVO.setTotalAmount(totalAmount);
 

+ 17 - 6
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserGdTradeMapper.xml

@@ -17,6 +17,9 @@
         <result column="total_type" property="totalType" />
 
     </resultMap>
+
+
+
     <select id="getGdActCount" resultType="com.kxs.stat.api.vo.TotalTradeAmtVO">
         SELECT SUM(act_num) as gdCount
         FROM kxs_user_act_trade
@@ -24,12 +27,20 @@
             and brand_id = 14
             and total_type = #{totalType}
             and user_id = #{userId}
-            <if test="type == 1">
-                and trade_date = #{date}
-            </if>
-            <if test="type == 2">
-                and trade_month = #{date}
-            </if>
+            <choose>
+                <when test="type == 1">
+                    AND trade_date = #{date}
+                </when>
+                <when test="type == 2">
+                    AND trade_month = #{date}
+                </when>
+                <when test="type == 3">
+                    AND  <![CDATA[ trade_date <=  #{date} ]]>
+                </when>
+                <when test="type == 4">
+                    AND <![CDATA[ trade_month <= #{date} ]]>
+                </when>
+            </choose>
         </where>
     </select>
     <select id="getGdTrade" resultType="com.kxs.stat.api.vo.TotalTradeAmtVO">

+ 5 - 2
kxs-store/kxs-store-api/src/main/java/com/kxs/store/api/vo/kxsapp/storeRecycle/StoreRecycleMachineListVO.java

@@ -106,7 +106,10 @@ public class StoreRecycleMachineListVO implements Serializable {
     @Schema(description = "寄回机具数量")
     private List<RecycleInfoVO> snList;
 
-
-	
+    /**
+     * 修改时间
+     */
+    @Schema(description = "修改时间")
+    private LocalDateTime updateTime;
 
 }

+ 21 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/dto/kxsapp/ConcealParentDTO.java

@@ -0,0 +1,21 @@
+package com.kxs.user.api.dto.kxsapp;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+/**
+ * 隐藏推荐关系dto
+ */
+@Data
+public class ConcealParentDTO {
+    /**
+     * 用户id
+     */
+    @NotNull(message = "用户id不能为空")
+    private Long userId;
+    /**
+     * 隐藏推荐关系  0默认  1隐藏
+     */
+    @NotNull(message = "关系不能为空")
+    private Integer hiddenLevel;
+}

+ 5 - 1
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/user/UserMyUserDetailVO.java

@@ -108,7 +108,11 @@ public class UserMyUserDetailVO implements Serializable {
 
 
 
-
+    /**
+     * 新增时间
+     */
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
 
 	
 

+ 5 - 1
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/user/UserMyUserListVO.java

@@ -63,7 +63,11 @@ public class UserMyUserListVO implements Serializable {
     private Object realTime;
 
 
-
+    /**
+     * 达标状态 0 未达标 1达标
+     */
+    @Schema(description = "达标状态")
+    private Object reachStatus = 0;
 
 
 	

+ 6 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/userLevel/LevelsVO.java

@@ -42,4 +42,10 @@ public class LevelsVO implements Serializable {
      */
     @Schema(description = "职级")
     private Integer level;
+
+    /**
+     * 开始时间
+     */
+    @Schema(description = "开始时间")
+    private LocalDateTime startTime;
 }

+ 20 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/KxsUserController.java

@@ -4,6 +4,7 @@ package com.kxs.user.biz.controller.kxsapp;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.kxs.common.core.util.R;
 import com.kxs.common.security.annotation.Inner;
+import com.kxs.user.api.dto.kxsapp.ConcealParentDTO;
 import com.kxs.user.api.dto.kxsapp.user.*;
 import com.kxs.user.api.model.KxsUser;
 import com.kxs.user.api.model.KxsUserReal;
@@ -301,7 +302,26 @@ public class KxsUserController {
     public R myUserList(@ParameterObject Page<KxsUser> page, @Valid @ParameterObject UserMyUserListDTO param) {
         return R.ok(kxsUserService.myUserList(page,param));
     }
+    /**
+     * 未实名列表
+     *
+     * @param page 分页对象
+     * @return 未实名创客列表
+     */
+    @GetMapping("/notRealUser")
+    public R notRealUser(@ParameterObject Page<KxsUser> page) {
+        return R.ok(kxsUserService.notRealUser(page));
+    }
 
+    /**
+     * 隐藏推荐关系
+     *
+     * @return 隐藏推荐关系
+     */
+    @PostMapping("/concealParent")
+    public R concealParent(@Valid @RequestBody ConcealParentDTO concealParentDTO) {
+        return kxsUserService.concealParent(concealParentDTO);
+    }
 
     /**
      * 用户统计

+ 14 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsUserService.java

@@ -3,6 +3,7 @@ package com.kxs.user.biz.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kxs.common.core.util.R;
 import com.kxs.product.api.vo.kxsapp.excel.ExistPayPwdVO;
+import com.kxs.user.api.dto.kxsapp.ConcealParentDTO;
 import com.kxs.user.api.dto.kxsapp.app.ForgetPwdDTO;
 import com.kxs.user.api.dto.kxsapp.app.RegisterDTO;
 import com.kxs.user.api.dto.kxsapp.user.*;
@@ -251,5 +252,18 @@ public interface KxsUserService extends IService<KxsUser> {
      * @return
      */
     boolean validUserVerify(Long userId);
+
+    /**
+     * 未实名创客列表
+     * @param page
+     * @return
+     */
+    Object notRealUser(Page<KxsUser> page);
+    /**
+     * 隐藏推荐关系
+     *
+     * @return 隐藏推荐关系
+     */
+    R concealParent(ConcealParentDTO concealParentDTO);
 }
 

+ 23 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsUserServiceImpl.java

@@ -28,6 +28,7 @@ import com.kxs.store.api.model.KxsWarehouseLimit;
 import com.kxs.system.api.feign.RemoteUserMsgService;
 import com.kxs.system.api.model.KxsUserMsg;
 import com.kxs.system.api.util.MsgTemplateUtil;
+import com.kxs.user.api.dto.kxsapp.ConcealParentDTO;
 import com.kxs.user.api.dto.kxsapp.app.ForgetPwdDTO;
 import com.kxs.user.api.dto.kxsapp.app.RegisterDTO;
 import com.kxs.user.api.dto.kxsapp.user.*;
@@ -451,8 +452,28 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
 
     }
 
+    @Override
+    public Object notRealUser(Page<KxsUser> page) {
+        Long id = SecurityUtils.getUser().getId();
+        return baseMapper.selectPage(page,Wrappers.<KxsUser>query().lambda().eq(KxsUser::getRealStatus,0).eq(KxsUser::getPid,id));
+    }
 
-
+    @Override
+    public R concealParent(ConcealParentDTO concealParentDTO) {
+        Long id = SecurityUtils.getUser().getId();
+        Long userId = concealParentDTO.getUserId();
+         Integer hiddenLevel = concealParentDTO.getHiddenLevel();
+        KxsUser kxsUser = baseMapper.selectById(userId);
+        if (kxsUser == null){
+            return R.failed("非法参数,用户不存在");
+        }
+        if (kxsUser.getPid().equals(Integer.parseInt(id.toString()))){
+            return R.failed("非法参数,不可修改非您系统内用户关系");
+        }
+        kxsUser.setHiddenLevel(hiddenLevel);
+        updateById(kxsUser);
+        return R.ok();
+    }
 
 
     @Override
@@ -671,6 +692,7 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
             levelsVO.setLevelName("预设职级");
             levelsVO.setLevel(userPresetLog.getPresetLevel());
             levelsVO.setExpiredDate(userPresetLog.getEndTime());
+            levelsVO.setStartTime(userPresetLog.getStartTime());
             if(userPresetLog.getEndTime().isBefore(LocalDateTime.now())){
                 levelsVO.setStatus(0);
             }else{