Parcourir la source

fix 学员资料变更

tanzh il y a 3 ans
Parent
commit
cdb4a540b1

+ 13 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/grade/ClassStudentController.java

@@ -8,6 +8,7 @@ import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.common.core.redis.RedisCache;
 import com.zhongzheng.common.enums.BusinessType;
 import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
 import com.zhongzheng.modules.grade.bo.*;
 import com.zhongzheng.modules.grade.service.IClassGradeInterfaceService;
 import com.zhongzheng.modules.grade.service.IClassGradeService;
@@ -211,4 +212,16 @@ public class ClassStudentController extends BaseController {
     public AjaxResult pushPeriod(@RequestBody List<ClassGradeUserQueryBo>  list) {
         return AjaxResult.success(iClassGradeUserService.pushOfficialPeriodMore(list));
     }
+
+    /**
+     * 学员资料变更列表
+     */
+    @ApiOperation("学员资料变更列表")
+    @PreAuthorize("@ss.hasPermi('system:update:list')")
+    @GetMapping("/userChangeInfoList")
+    public TableDataInfo<UserUpdateVo> userChangeInfoList(ConsoleQueryBo bo) {
+        startPage();
+        List<UserUpdateVo> list = iUserUpdateService.listUserChangeInfo(bo);
+        return getDataTable(list);
+    }
 }

+ 8 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -13,6 +13,7 @@ import com.github.pagehelper.Page;
 import com.zhongzheng.common.constant.Constants;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.domain.entity.SysUser;
+import com.zhongzheng.common.core.domain.model.LoginUser;
 import com.zhongzheng.common.core.redis.RedisCache;
 import com.zhongzheng.common.enums.UserStatus;
 import com.zhongzheng.common.exception.BaseException;
@@ -109,6 +110,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Autowired
     private ICourseSubjectService iCourseSubjectService;
 
+    @Autowired
+    private TokenService tokenService;
+
 
     @Override
     public UserVo queryById(Long userId) {
@@ -252,8 +256,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     public Boolean updateByEditBo(UserEditBo bo) throws IllegalAccessException {
         User update = BeanUtil.toBean(bo, User.class);
         validEntityBeforeUpdate(update);
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
         update.setUpdateTime(DateUtils.getNowTime());
         UserUpdateAddBo userUpdateAddBo = new UserUpdateAddBo();
+        userUpdateAddBo.setModifierName(loginUser.getUsername());
         UserVo oldUser = queryById(bo.getUserId());
         if (!StringUtils.isBlank(update.getRealname())){
             if(!oldUser.getRealname().equals(update.getRealname())){
@@ -793,6 +799,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         userUpdateAddBo.setUserId(bo.getUserId());
         userUpdateAddBo.setTelphone(update.getTelphone());
         if (userUpdateAddBo != null) {
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+            userUpdateAddBo.setModifierName(loginUser.getUsername());
             userUpdateService.insertByAddBo(userUpdateAddBo);
         }
         return this.updateById(update);

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/vo/ClassGradeVo.java

@@ -171,7 +171,7 @@ public class ClassGradeVo {
 
 	/** 报名已推送人数 */
 	@ApiModelProperty("报名已推送人数")
-	private Integer learnStatusNum;
+	private Integer officialStatusNum;
 
 	/** 学时审核通过人数 */
 	@ApiModelProperty("学时审核通过人数")

+ 3 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserUpdateAddBo.java

@@ -39,5 +39,7 @@ public class UserUpdateAddBo {
     /** 1已读 2未读 */
     @ApiModelProperty("1已读 2未读")
     private Integer status;
-
+    /** 修改人名称 */
+    @ApiModelProperty("修改人名称")
+    private String modifierName;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserUpdateMapper.java

@@ -15,4 +15,5 @@ import java.util.List;
  */
 public interface UserUpdateMapper extends BaseMapper<UserUpdate> {
     List<UserUpdateVo> getLastThree(ConsoleQueryBo bo);
+    List<UserUpdateVo> selectChangeInfo(ConsoleQueryBo bo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserUpdateService.java

@@ -52,4 +52,6 @@ public interface IUserUpdateService extends IService<UserUpdate> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+	List<UserUpdateVo> listUserChangeInfo(ConsoleQueryBo bo);
 }

+ 27 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserUpdateServiceImpl.java

@@ -6,6 +6,9 @@ import cn.hutool.core.util.StrUtil;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
+import com.zhongzheng.modules.grade.domain.ClassGradeUser;
+import com.zhongzheng.modules.grade.service.IClassGradeUserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -33,6 +36,9 @@ import java.util.stream.Collectors;
 @Service
 public class UserUpdateServiceImpl extends ServiceImpl<UserUpdateMapper, UserUpdate> implements IUserUpdateService {
 
+    @Autowired
+    private IClassGradeUserService iClassGradeUserService;
+
     @Override
     public UserUpdateVo queryById(Long id){
         UserUpdate db = this.baseMapper.selectById(id);
@@ -114,4 +120,25 @@ public class UserUpdateServiceImpl extends ServiceImpl<UserUpdateMapper, UserUpd
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public List<UserUpdateVo> listUserChangeInfo(ConsoleQueryBo bo) {
+        List<UserUpdateVo> userUpdateVos = baseMapper.selectChangeInfo(bo);
+        userUpdateVos.forEach(userUpdate->{
+            LambdaQueryWrapper<ClassGradeUser> lqw = Wrappers.lambdaQuery();
+            lqw.eq(Validator.isNotEmpty(userUpdate.getUserId()), ClassGradeUser::getUserId, userUpdate.getUserId());
+            lqw.orderByDesc(ClassGradeUser::getOfficialStatusTime);
+            lqw.last("limit 1");
+            ClassGradeUser classGradeUser = iClassGradeUserService.getOne(lqw);
+            userUpdate.setLastApplyPushTime(classGradeUser.getOfficialStatusTime());
+
+            lqw.clear();
+            lqw.eq(Validator.isNotEmpty(userUpdate.getUserId()), ClassGradeUser::getUserId, userUpdate.getUserId());
+            lqw.orderByDesc(ClassGradeUser::getPeriodPlushTime);
+            lqw.last("limit 1");
+            classGradeUser = iClassGradeUserService.getOne(lqw);
+            userUpdate.setLastPeriodPlushTime(classGradeUser.getPeriodPlushTime());
+        });
+        return baseMapper.selectChangeInfo(bo);
+    }
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserUpdateVo.java

@@ -50,4 +50,13 @@ public class UserUpdateVo {
 
 	@ApiModelProperty("最新的真实姓名")
 	private String nowRealname;
+
+	@ApiModelProperty("修改人姓名")
+	private String modifierName;
+
+	@ApiModelProperty("最后一次报名推送时间")
+	private Long lastApplyPushTime;
+
+	@ApiModelProperty("最后一次学时推送时间")
+	private Long lastPeriodPlushTime;
 }

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -50,7 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="interfacePushName" column="interface_push_name"/>
         <result property="studentNum" column="student_num"/>
         <result property="officialLearningUrl" column="official_learning_url"/>
-        <result property="learnStatusNum" column="learn_status_num"/>
+        <result property="officialStatusNum" column="official_status_num"/>
         <result property="periodStatusNum" column="period_status_num"/>
         <result property="periodPlushNum" column="period_plush_num"/>
     </resultMap>
@@ -175,7 +175,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             (SELECT area_name FROM apply_areas a where a.area_id = g.areas_id) as area_name,
             (SELECT area_name FROM apply_areas a where a.area_id = g.city_id) as city_name,
             (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1) as student_num,
-            (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and learn_status =1) as learn_status_num,
+            (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and official_status =1) as official_status_num,
             (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and period_status =1) as period_status_num,
             (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and period_plush =1) as period_plush_num
         FROM

+ 23 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserUpdateMapper.xml

@@ -21,6 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="idCard" column="id_card"/>
         <result property="telphone" column="telphone"/>
         <result property="nowRealname" column="now_realname"/>
+        <result property="modifierName" column="modifierName"/>
     </resultMap>
 
     <select id="getLastThree" parameterType="com.zhongzheng.modules.base.bo.ConsoleQueryBo" resultMap="UserUpdateVoResult">
@@ -45,4 +46,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             uu.id DESC
             LIMIT 3
     </select>
+
+    <select id="selectChangeInfo" parameterType="com.zhongzheng.modules.base.bo.ConsoleQueryBo" resultMap="UserUpdateVoResult">
+        SELECT
+        uu.*,
+        u.realname AS now_realname
+        FROM
+        `order` o
+        LEFT JOIN order_goods og ON o.order_sn = og.order_sn
+        LEFT JOIN goods g ON og.goods_id = g.goods_id
+        LEFT JOIN user_update uu on o.user_id = uu.user_id
+        LEFT JOIN `user` u ON uu.user_id = u.user_id
+        WHERE
+        uu.user_id IS NOT NULL
+        AND
+        og.pay_status IN ( 2, 3, 4 )
+        AND og.refund_status != 2
+        <if test="businessId != null">
+            AND g.business_id = #{businessId}
+        </if>
+        ORDER BY
+        uu.id DESC
+    </select>
 </mapper>