change 4 éve
szülő
commit
6592b46992
16 módosított fájl, 854 hozzáadás és 2 törlés
  1. 17 2
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/exam/ExamArrangementController.java
  2. 5 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementQueryBo.java
  3. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamArrangementService.java
  4. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamArrangementStudentService.java
  5. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementServiceImpl.java
  6. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamArrangementVo.java
  7. 110 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamUserVo.java
  8. 81 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserAddBo.java
  9. 104 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserEditBo.java
  10. 100 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserQueryBo.java
  11. 91 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/User.java
  12. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java
  13. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserService.java
  14. 115 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserServiceImpl.java
  15. 108 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserVo.java
  16. 32 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

+ 17 - 2
zhongzheng-admin/src/main/java/com/zhongzheng/controller/exam/ExamArrangementController.java

@@ -3,6 +3,7 @@ package com.zhongzheng.controller.exam;
 import java.util.List;
 import java.util.Arrays;
 
+import com.zhongzheng.modules.exam.vo.ExamUserVo;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -54,6 +55,20 @@ public class ExamArrangementController extends BaseController {
         return getDataTable(list);
     }
 
+
+
+    /**
+     * 查询学员考试安排
+     */
+    @ApiOperation("查询学员考试安排列表")
+    @PreAuthorize("@ss.hasPermi('modules.exam:arrangement:list')")
+    @GetMapping("/listExamUser")
+    public TableDataInfo<ExamUserVo> listUser(ExamArrangementQueryBo bo) {
+        startPage();
+        List<ExamUserVo> list = iExamArrangementService.queryUserList(bo);
+        return getDataTable(list);
+    }
+
     /**
      * 导出考试安排,包含考试指引列表
      */
@@ -105,8 +120,8 @@ public class ExamArrangementController extends BaseController {
     @ApiOperation("删除考试安排,包含考试指引")
     @PreAuthorize("@ss.hasPermi('modules.exam:arrangement:remove')")
     @Log(title = "考试安排,包含考试指引" , businessType = BusinessType.DELETE)
-    @PostMapping("/{ids}")
-    public AjaxResult<Void> remove(@PathVariable Long[] ids) {
+    @PostMapping("deleteExam")
+    public AjaxResult<Void> remove(@RequestBody Long[] ids) {
         return toAjax(iExamArrangementService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0);
     }
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/bo/ExamArrangementQueryBo.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.exam.bo;
 
+import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -100,4 +101,8 @@ public class ExamArrangementQueryBo extends BaseEntity {
 	@ApiModelProperty("申领证书")
 	private String certificate;
 
+	/** 身份证号 */
+	@ApiModelProperty("身份证号")
+	private String idCard;
+
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamArrangementService.java

@@ -6,6 +6,7 @@ import com.zhongzheng.modules.exam.bo.ExamArrangementQueryBo;
 import com.zhongzheng.modules.exam.bo.ExamArrangementAddBo;
 import com.zhongzheng.modules.exam.bo.ExamArrangementEditBo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.exam.vo.ExamUserVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -49,4 +50,6 @@ public interface IExamArrangementService extends IService<ExamArrangement> {
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+	List<ExamUserVo> queryUserList(ExamArrangementQueryBo bo);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/IExamArrangementStudentService.java

@@ -1,11 +1,13 @@
 package com.zhongzheng.modules.exam.service;
 
+import com.zhongzheng.modules.exam.bo.ExamArrangementQueryBo;
 import com.zhongzheng.modules.exam.domain.ExamArrangementStudent;
 import com.zhongzheng.modules.exam.vo.ExamArrangementStudentVo;
 import com.zhongzheng.modules.exam.bo.ExamArrangementStudentQueryBo;
 import com.zhongzheng.modules.exam.bo.ExamArrangementStudentAddBo;
 import com.zhongzheng.modules.exam.bo.ExamArrangementStudentEditBo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.exam.vo.ExamUserVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -49,4 +51,6 @@ public interface IExamArrangementStudentService extends IService<ExamArrangement
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    List<ExamUserVo> queryUserList(ExamArrangementQueryBo bo);
 }

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementServiceImpl.java

@@ -2,8 +2,12 @@ package com.zhongzheng.modules.exam.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.modules.exam.service.IExamArrangementStudentService;
 import com.zhongzheng.modules.exam.service.IExamArrangementTimeService;
 import com.zhongzheng.modules.exam.vo.ExamArrangementTimeVo;
+import com.zhongzheng.modules.exam.vo.ExamUserVo;
+import com.zhongzheng.modules.user.service.IUserService;
+import com.zhongzheng.modules.user.vo.UserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -36,6 +40,12 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
     @Autowired
     private IExamArrangementTimeService examArrangementTimeService;
 
+    @Autowired
+    private IUserService userService;
+
+    @Autowired
+    private IExamArrangementStudentService examArrangementStudentService;
+
     @Override
     public ExamArrangementVo queryById(Long id){
         ExamArrangement db = this.baseMapper.selectById(id);
@@ -131,4 +141,11 @@ public class ExamArrangementServiceImpl extends ServiceImpl<ExamArrangementMappe
         }
         return this.removeByIds(ids);
     }
+
+    @Override
+    public List<ExamUserVo> queryUserList(ExamArrangementQueryBo bo) {
+
+        List<ExamUserVo> examUserVos = examArrangementStudentService.queryUserList(bo);
+        return null;
+    }
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamArrangementVo.java

@@ -2,6 +2,7 @@ package com.zhongzheng.modules.exam.vo;
 
 import com.zhongzheng.common.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhongzheng.modules.user.vo.UserVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 110 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/vo/ExamUserVo.java

@@ -0,0 +1,110 @@
+package com.zhongzheng.modules.exam.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 用户视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+@Data
+@ApiModel("用户视图对象")
+public class ExamUserVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long userId;
+
+	/** 账号 */
+	@Excel(name = "账号")
+	@ApiModelProperty("账号")
+	private String userAccout;
+	/** 昵称 */
+	@Excel(name = "昵称")
+	@ApiModelProperty("昵称")
+	private String nickname;
+	/** 真实姓名 */
+	@Excel(name = "真实姓名")
+	@ApiModelProperty("真实姓名")
+	private String realname;
+	/** 性别 */
+	@Excel(name = "性别")
+	@ApiModelProperty("性别")
+	private Integer sex;
+	/** 身份证号 */
+	@Excel(name = "身份证号")
+	@ApiModelProperty("身份证号")
+	private String idCard;
+	/** 手机号码 */
+	@Excel(name = "手机号码")
+	@ApiModelProperty("手机号码")
+	private String telphone;
+	/** 用户等级 */
+	@Excel(name = "用户等级")
+	@ApiModelProperty("用户等级")
+	private Integer userLevel;
+	/** 出生日期 */
+	@Excel(name = "出生日期")
+	@ApiModelProperty("出生日期")
+	private String userBirth;
+	/** 教育层次 */
+	@Excel(name = "教育层次")
+	@ApiModelProperty("教育层次")
+	private String eduLevel;
+	/** 学校ID */
+	@Excel(name = "学校ID")
+	@ApiModelProperty("学校ID")
+	private Long schoolId;
+	/** 专业 */
+	@Excel(name = "专业")
+	@ApiModelProperty("专业")
+	private String major;
+	/** 入学时间 */
+	@Excel(name = "入学时间")
+	@ApiModelProperty("入学时间")
+	private Long entranceTime;
+	/** $column.columnComment */
+	@Excel(name = "入学时间")
+	@ApiModelProperty("$column.columnComment")
+	private String openId;
+	/** 学籍证明照片 */
+	@Excel(name = "学籍证明照片")
+	@ApiModelProperty("学籍证明照片")
+	private String studentCertificateImg;
+	/** 身份证人像照 */
+	@Excel(name = "身份证人像照")
+	@ApiModelProperty("身份证人像照")
+	private String idCardImg1;
+	/** 身份证国徽照 */
+	@Excel(name = "身份证国徽照")
+	@ApiModelProperty("身份证国徽照")
+	private String idCardImg2;
+	/** 国家 */
+	@Excel(name = "国家")
+	@ApiModelProperty("国家")
+	private String country;
+	/** 省份 */
+	@Excel(name = "省份")
+	@ApiModelProperty("省份")
+	private String province;
+	/** 城市 */
+	@Excel(name = "城市")
+	@ApiModelProperty("城市")
+	private String city;
+	/** 用户积分 */
+	@Excel(name = "用户积分")
+	@ApiModelProperty("用户积分")
+	private Long integral;
+
+	/** 考试安排,包含考试指引视图对象 */
+	@Excel(name = "考试安排,包含考试指引视图对象")
+	@ApiModelProperty("考试安排,包含考试指引视图对象")
+	private ExamArrangementVo examArrangementVo;
+
+}

+ 81 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserAddBo.java

@@ -0,0 +1,81 @@
+package com.zhongzheng.modules.user.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 用户添加对象 user
+ *
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+@Data
+@ApiModel("用户添加对象")
+public class UserAddBo {
+
+    /** 账号 */
+    @ApiModelProperty("账号")
+    private String userAccout;
+    /** 昵称 */
+    @ApiModelProperty("昵称")
+    private String nickname;
+    /** 真实姓名 */
+    @ApiModelProperty("真实姓名")
+    private String realname;
+    /** 性别 */
+    @ApiModelProperty("性别")
+    private Integer sex;
+    /** 身份证号 */
+    @ApiModelProperty("身份证号")
+    private String idCard;
+    /** 手机号码 */
+    @ApiModelProperty("手机号码")
+    private String telphone;
+    /** 用户等级 */
+    @ApiModelProperty("用户等级")
+    private Integer userLevel;
+    /** 出生日期 */
+    @ApiModelProperty("出生日期")
+    private String userBirth;
+    /** 教育层次 */
+    @ApiModelProperty("教育层次")
+    private String eduLevel;
+    /** 学校ID */
+    @ApiModelProperty("学校ID")
+    private Long schoolId;
+    /** 专业 */
+    @ApiModelProperty("专业")
+    private String major;
+    /** 入学时间 */
+    @ApiModelProperty("入学时间")
+    private Long entranceTime;
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private String openId;
+    /** 学籍证明照片 */
+    @ApiModelProperty("学籍证明照片")
+    private String studentCertificateImg;
+    /** 身份证人像照 */
+    @ApiModelProperty("身份证人像照")
+    private String idCardImg1;
+    /** 身份证国徽照 */
+    @ApiModelProperty("身份证国徽照")
+    private String idCardImg2;
+    /** 国家 */
+    @ApiModelProperty("国家")
+    private String country;
+    /** 省份 */
+    @ApiModelProperty("省份")
+    private String province;
+    /** 城市 */
+    @ApiModelProperty("城市")
+    private String city;
+    /** 用户积分 */
+    @ApiModelProperty("用户积分")
+    private Long integral;
+}

+ 104 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserEditBo.java

@@ -0,0 +1,104 @@
+package com.zhongzheng.modules.user.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 用户编辑对象 user
+ *
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+@Data
+@ApiModel("用户编辑对象")
+public class UserEditBo {
+
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long userId;
+
+    /** 账号 */
+    @ApiModelProperty("账号")
+    private String userAccout;
+
+    /** 昵称 */
+    @ApiModelProperty("昵称")
+    private String nickname;
+
+    /** 真实姓名 */
+    @ApiModelProperty("真实姓名")
+    private String realname;
+
+    /** 性别 */
+    @ApiModelProperty("性别")
+    private Integer sex;
+
+    /** 身份证号 */
+    @ApiModelProperty("身份证号")
+    private String idCard;
+
+    /** 手机号码 */
+    @ApiModelProperty("手机号码")
+    private String telphone;
+
+    /** 用户等级 */
+    @ApiModelProperty("用户等级")
+    private Integer userLevel;
+
+    /** 出生日期 */
+    @ApiModelProperty("出生日期")
+    private String userBirth;
+
+    /** 教育层次 */
+    @ApiModelProperty("教育层次")
+    private String eduLevel;
+
+    /** 学校ID */
+    @ApiModelProperty("学校ID")
+    private Long schoolId;
+
+    /** 专业 */
+    @ApiModelProperty("专业")
+    private String major;
+
+    /** 入学时间 */
+    @ApiModelProperty("入学时间")
+    private Long entranceTime;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private String openId;
+
+    /** 学籍证明照片 */
+    @ApiModelProperty("学籍证明照片")
+    private String studentCertificateImg;
+
+    /** 身份证人像照 */
+    @ApiModelProperty("身份证人像照")
+    private String idCardImg1;
+
+    /** 身份证国徽照 */
+    @ApiModelProperty("身份证国徽照")
+    private String idCardImg2;
+
+    /** 国家 */
+    @ApiModelProperty("国家")
+    private String country;
+
+    /** 省份 */
+    @ApiModelProperty("省份")
+    private String province;
+
+    /** 城市 */
+    @ApiModelProperty("城市")
+    private String city;
+
+    /** 用户积分 */
+    @ApiModelProperty("用户积分")
+    private Long integral;
+}

+ 100 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserQueryBo.java

@@ -0,0 +1,100 @@
+package com.zhongzheng.modules.user.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 用户分页查询对象 user
+ *
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("用户分页查询对象")
+public class UserQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 账号 */
+	@ApiModelProperty("账号")
+	private String userAccout;
+	/** 昵称 */
+	@ApiModelProperty("昵称")
+	private String nickname;
+	/** 真实姓名 */
+	@ApiModelProperty("真实姓名")
+	private String realname;
+	/** 性别 */
+	@ApiModelProperty("性别")
+	private Integer sex;
+	/** 身份证号 */
+	@ApiModelProperty("身份证号")
+	private String idCard;
+	/** 手机号码 */
+	@ApiModelProperty("手机号码")
+	private String telphone;
+	/** 用户等级 */
+	@ApiModelProperty("用户等级")
+	private Integer userLevel;
+	/** 出生日期 */
+	@ApiModelProperty("出生日期")
+	private String userBirth;
+	/** 教育层次 */
+	@ApiModelProperty("教育层次")
+	private String eduLevel;
+	/** 学校ID */
+	@ApiModelProperty("学校ID")
+	private Long schoolId;
+	/** 专业 */
+	@ApiModelProperty("专业")
+	private String major;
+	/** 入学时间 */
+	@ApiModelProperty("入学时间")
+	private Long entranceTime;
+	/** $column.columnComment */
+	@ApiModelProperty("$column.columnComment")
+	private String openId;
+	/** 学籍证明照片 */
+	@ApiModelProperty("学籍证明照片")
+	private String studentCertificateImg;
+	/** 身份证人像照 */
+	@ApiModelProperty("身份证人像照")
+	private String idCardImg1;
+	/** 身份证国徽照 */
+	@ApiModelProperty("身份证国徽照")
+	private String idCardImg2;
+	/** 国家 */
+	@ApiModelProperty("国家")
+	private String country;
+	/** 省份 */
+	@ApiModelProperty("省份")
+	private String province;
+	/** 城市 */
+	@ApiModelProperty("城市")
+	private String city;
+	/** 用户积分 */
+	@ApiModelProperty("用户积分")
+	private Long integral;
+
+}

+ 91 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/User.java

@@ -0,0 +1,91 @@
+package com.zhongzheng.modules.user.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 用户对象 user
+ * 
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("user")
+public class User implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** $column.columnComment */
+    @TableId(value = "user_id")
+    private Long userId;
+
+    /** 账号 */
+    private String userAccout;
+
+    /** 昵称 */
+    private String nickname;
+
+    /** 真实姓名 */
+    private String realname;
+
+    /** 性别 */
+    private Integer sex;
+
+    /** 身份证号 */
+    private String idCard;
+
+    /** 手机号码 */
+    private String telphone;
+
+    /** 用户等级 */
+    private Integer userLevel;
+
+    /** 出生日期 */
+    private String userBirth;
+
+    /** 教育层次 */
+    private String eduLevel;
+
+    /** 学校ID */
+    private Long schoolId;
+
+    /** 专业 */
+    private String major;
+
+    /** 入学时间 */
+    private Long entranceTime;
+
+    /** $column.columnComment */
+    private String openId;
+
+    /** 学籍证明照片 */
+    private String studentCertificateImg;
+
+    /** 身份证人像照 */
+    private String idCardImg1;
+
+    /** 身份证国徽照 */
+    private String idCardImg2;
+
+    /** 国家 */
+    private String country;
+
+    /** 省份 */
+    private String province;
+
+    /** 城市 */
+    private String city;
+
+    /** 用户积分 */
+    private Long integral;
+
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.user.mapper;
+
+import com.zhongzheng.modules.user.domain.User;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 用户Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+public interface UserMapper extends BaseMapper<User> {
+
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.user.service;
+
+import com.zhongzheng.modules.user.domain.User;
+import com.zhongzheng.modules.user.vo.UserVo;
+import com.zhongzheng.modules.user.bo.UserQueryBo;
+import com.zhongzheng.modules.user.bo.UserAddBo;
+import com.zhongzheng.modules.user.bo.UserEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 用户Service接口
+ *
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+public interface IUserService extends IService<User> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	UserVo queryById(Long userId);
+
+	/**
+	 * 查询列表
+	 */
+	List<UserVo> queryList(UserQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入用户
+	 * @param bo 用户新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(UserAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改用户
+	 * @param bo 用户编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(UserEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 115 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserServiceImpl.java

@@ -0,0 +1,115 @@
+package com.zhongzheng.modules.user.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.user.bo.UserAddBo;
+import com.zhongzheng.modules.user.bo.UserQueryBo;
+import com.zhongzheng.modules.user.bo.UserEditBo;
+import com.zhongzheng.modules.user.domain.User;
+import com.zhongzheng.modules.user.mapper.UserMapper;
+import com.zhongzheng.modules.user.vo.UserVo;
+import com.zhongzheng.modules.user.service.IUserService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 用户Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+@Service
+public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
+
+    @Override
+    public UserVo queryById(Long userId){
+        User db = this.baseMapper.selectById(userId);
+        return BeanUtil.toBean(db, UserVo.class);
+    }
+
+    @Override
+    public List<UserVo> queryList(UserQueryBo bo) {
+        LambdaQueryWrapper<User> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getUserAccout()), User::getUserAccout, bo.getUserAccout());
+        lqw.like(StrUtil.isNotBlank(bo.getNickname()), User::getNickname, bo.getNickname());
+        lqw.like(StrUtil.isNotBlank(bo.getRealname()), User::getRealname, bo.getRealname());
+        lqw.eq(bo.getSex() != null, User::getSex, bo.getSex());
+        lqw.eq(StrUtil.isNotBlank(bo.getIdCard()), User::getIdCard, bo.getIdCard());
+        lqw.eq(StrUtil.isNotBlank(bo.getTelphone()), User::getTelphone, bo.getTelphone());
+        lqw.eq(bo.getUserLevel() != null, User::getUserLevel, bo.getUserLevel());
+        lqw.eq(StrUtil.isNotBlank(bo.getUserBirth()), User::getUserBirth, bo.getUserBirth());
+        lqw.eq(StrUtil.isNotBlank(bo.getEduLevel()), User::getEduLevel, bo.getEduLevel());
+        lqw.eq(bo.getSchoolId() != null, User::getSchoolId, bo.getSchoolId());
+        lqw.eq(StrUtil.isNotBlank(bo.getMajor()), User::getMajor, bo.getMajor());
+        lqw.eq(bo.getEntranceTime() != null, User::getEntranceTime, bo.getEntranceTime());
+        lqw.eq(StrUtil.isNotBlank(bo.getOpenId()), User::getOpenId, bo.getOpenId());
+        lqw.eq(StrUtil.isNotBlank(bo.getStudentCertificateImg()), User::getStudentCertificateImg, bo.getStudentCertificateImg());
+        lqw.eq(StrUtil.isNotBlank(bo.getIdCardImg1()), User::getIdCardImg1, bo.getIdCardImg1());
+        lqw.eq(StrUtil.isNotBlank(bo.getIdCardImg2()), User::getIdCardImg2, bo.getIdCardImg2());
+        lqw.eq(StrUtil.isNotBlank(bo.getCountry()), User::getCountry, bo.getCountry());
+        lqw.eq(StrUtil.isNotBlank(bo.getProvince()), User::getProvince, bo.getProvince());
+        lqw.eq(StrUtil.isNotBlank(bo.getCity()), User::getCity, bo.getCity());
+        lqw.eq(bo.getIntegral() != null, User::getIntegral, bo.getIntegral());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<UserVo> entity2Vo(Collection<User> collection) {
+        List<UserVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, UserVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<User> page = (Page<User>)collection;
+            Page<UserVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(UserAddBo bo) {
+        User add = BeanUtil.toBean(bo, User.class);
+        validEntityBeforeSave(add);
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(UserEditBo bo) {
+        User update = BeanUtil.toBean(bo, User.class);
+        validEntityBeforeSave(update);
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(User entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 108 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserVo.java

@@ -0,0 +1,108 @@
+package com.zhongzheng.modules.user.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 用户视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-05-25
+ */
+@Data
+@ApiModel("用户视图对象")
+public class UserVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long userId;
+
+	/** 账号 */
+	@Excel(name = "账号")
+	@ApiModelProperty("账号")
+	private String userAccout;
+	/** 昵称 */
+	@Excel(name = "昵称")
+	@ApiModelProperty("昵称")
+	private String nickname;
+	/** 真实姓名 */
+	@Excel(name = "真实姓名")
+	@ApiModelProperty("真实姓名")
+	private String realname;
+	/** 性别 */
+	@Excel(name = "性别")
+	@ApiModelProperty("性别")
+	private Integer sex;
+	/** 身份证号 */
+	@Excel(name = "身份证号")
+	@ApiModelProperty("身份证号")
+	private String idCard;
+	/** 手机号码 */
+	@Excel(name = "手机号码")
+	@ApiModelProperty("手机号码")
+	private String telphone;
+	/** 用户等级 */
+	@Excel(name = "用户等级")
+	@ApiModelProperty("用户等级")
+	private Integer userLevel;
+	/** 出生日期 */
+	@Excel(name = "出生日期")
+	@ApiModelProperty("出生日期")
+	private String userBirth;
+	/** 教育层次 */
+	@Excel(name = "教育层次")
+	@ApiModelProperty("教育层次")
+	private String eduLevel;
+	/** 学校ID */
+	@Excel(name = "学校ID")
+	@ApiModelProperty("学校ID")
+	private Long schoolId;
+	/** 专业 */
+	@Excel(name = "专业")
+	@ApiModelProperty("专业")
+	private String major;
+	/** 入学时间 */
+	@Excel(name = "入学时间")
+	@ApiModelProperty("入学时间")
+	private Long entranceTime;
+	/** $column.columnComment */
+	@Excel(name = "入学时间")
+	@ApiModelProperty("$column.columnComment")
+	private String openId;
+	/** 学籍证明照片 */
+	@Excel(name = "学籍证明照片")
+	@ApiModelProperty("学籍证明照片")
+	private String studentCertificateImg;
+	/** 身份证人像照 */
+	@Excel(name = "身份证人像照")
+	@ApiModelProperty("身份证人像照")
+	private String idCardImg1;
+	/** 身份证国徽照 */
+	@Excel(name = "身份证国徽照")
+	@ApiModelProperty("身份证国徽照")
+	private String idCardImg2;
+	/** 国家 */
+	@Excel(name = "国家")
+	@ApiModelProperty("国家")
+	private String country;
+	/** 省份 */
+	@Excel(name = "省份")
+	@ApiModelProperty("省份")
+	private String province;
+	/** 城市 */
+	@Excel(name = "城市")
+	@ApiModelProperty("城市")
+	private String city;
+	/** 用户积分 */
+	@Excel(name = "用户积分")
+	@ApiModelProperty("用户积分")
+	private Long integral;
+
+}

+ 32 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.system.mapper.UserMapper">
+
+    <resultMap type="com.zhongzheng.modules.user.domain.User" id="UserResult">
+        <result property="userId" column="user_id"/>
+        <result property="userAccout" column="user_accout"/>
+        <result property="nickname" column="nickname"/>
+        <result property="realname" column="realname"/>
+        <result property="sex" column="sex"/>
+        <result property="idCard" column="id_card"/>
+        <result property="telphone" column="telphone"/>
+        <result property="userLevel" column="user_level"/>
+        <result property="userBirth" column="user_birth"/>
+        <result property="eduLevel" column="edu_level"/>
+        <result property="schoolId" column="school_id"/>
+        <result property="major" column="major"/>
+        <result property="entranceTime" column="entrance_time"/>
+        <result property="openId" column="open_id"/>
+        <result property="studentCertificateImg" column="student_certificate_img"/>
+        <result property="idCardImg1" column="id_card_img1"/>
+        <result property="idCardImg2" column="id_card_img2"/>
+        <result property="country" column="country"/>
+        <result property="province" column="province"/>
+        <result property="city" column="city"/>
+        <result property="integral" column="integral"/>
+    </resultMap>
+
+
+</mapper>