1. 将"预报名学生列表"和"预报名详情"两个逻辑抽成公共方法, 小程序后端新增"预报名学生列表"和"预报名详情"接口

2. 调整一些vo类和分页validate类到common包, 便于两个后端服务调用
This commit is contained in:
mirage 2026-03-03 09:57:02 +08:00
parent dc8cf616ac
commit ffc6e113c7
34 changed files with 315 additions and 394 deletions

View File

@ -7,11 +7,11 @@ import com.mdd.admin.validate.StudentInfoCreateValidate;
import com.mdd.admin.validate.StudentInfoUpdateValidate; import com.mdd.admin.validate.StudentInfoUpdateValidate;
import com.mdd.admin.validate.StudentInfoSearchValidate; import com.mdd.admin.validate.StudentInfoSearchValidate;
import com.mdd.admin.validate.commons.PageValidate; import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.StudentInfoListedVo;
import com.mdd.admin.vo.StudentInfoDetailVo; import com.mdd.admin.vo.StudentInfoDetailVo;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.validator.annotation.IDMust; import com.mdd.common.validator.annotation.IDMust;
import com.mdd.common.vo.student.StudentInfoListedVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;

View File

@ -5,10 +5,11 @@ import com.mdd.admin.service.IEnrollmentService;
import com.mdd.admin.validate.StudentInfoSearchValidate; import com.mdd.admin.validate.StudentInfoSearchValidate;
import com.mdd.admin.validate.commons.PageValidate; import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.EnrollmentDetailVo; import com.mdd.admin.vo.EnrollmentDetailVo;
import com.mdd.admin.vo.StudentInfoListedVo;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.service.EnrollmentService;
import com.mdd.common.validator.annotation.IDMust; import com.mdd.common.validator.annotation.IDMust;
import com.mdd.common.vo.student.StudentInfoListedVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -24,6 +25,8 @@ public class EnrollmentController {
@Resource @Resource
IEnrollmentService iEnrollmentService; IEnrollmentService iEnrollmentService;
@Resource
EnrollmentService enrollmentService;
@GetMapping("/preRegistrationList") @GetMapping("/preRegistrationList")
@ApiOperation(value = "预报名学生列表") @ApiOperation(value = "预报名学生列表")
@ -34,14 +37,14 @@ public class EnrollmentController {
// 约定 -1 表示预报名+报名 Service 层统一处理 // 约定 -1 表示预报名+报名 Service 层统一处理
searchValidate.setStudentStatus(-1); searchValidate.setStudentStatus(-1);
} }
PageResult<StudentInfoListedVo> list = iEnrollmentService.list(pageValidate, searchValidate); PageResult<StudentInfoListedVo> list = enrollmentService.list(pageValidate, searchValidate);
return AjaxResult.success(list); return AjaxResult.success(list);
} }
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperation(value = "预报名详情") @ApiOperation(value = "预报名详情")
public AjaxResult<EnrollmentDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) { public AjaxResult<EnrollmentDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
EnrollmentDetailVo detail = iEnrollmentService.detail(id); EnrollmentDetailVo detail = enrollmentService.detail(id);
return AjaxResult.success(detail); return AjaxResult.success(detail);
} }

View File

@ -1,11 +1,5 @@
package com.mdd.admin.service; package com.mdd.admin.service;
import com.mdd.admin.validate.StudentInfoSearchValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.EnrollmentDetailVo;
import com.mdd.admin.vo.StudentInfoListedVo;
import com.mdd.common.core.PageResult;
import java.util.List; import java.util.List;
/** /**
@ -13,23 +7,6 @@ import java.util.List;
*/ */
public interface IEnrollmentService { public interface IEnrollmentService {
/**
* 预报名列表
*
* @param pageValidate 分页参数
* @param searchValidate 搜索参数
* @return PageResult<StudentInfoListedVo>
*/
PageResult<StudentInfoListedVo> list(PageValidate pageValidate, StudentInfoSearchValidate searchValidate);
/**
* 预报名详情
*
* @param id 主键ID
* @return EnrollmentDetailVo
*/
EnrollmentDetailVo detail(Integer id);
/** /**
* 学生入学状态更新 * 学生入学状态更新
* *

View File

@ -4,12 +4,9 @@ import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.StudentInfoCreateValidate; import com.mdd.admin.validate.StudentInfoCreateValidate;
import com.mdd.admin.validate.StudentInfoUpdateValidate; import com.mdd.admin.validate.StudentInfoUpdateValidate;
import com.mdd.admin.validate.StudentInfoSearchValidate; import com.mdd.admin.validate.StudentInfoSearchValidate;
import com.mdd.admin.vo.StudentInfoListedVo;
import com.mdd.admin.vo.StudentInfoDetailVo; import com.mdd.admin.vo.StudentInfoDetailVo;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.vo.student.StudentInfoListedVo;
import javax.validation.constraints.NotNull;
import java.util.List;
/** /**
* 学生信息服务接口类 * 学生信息服务接口类

View File

@ -1,31 +1,15 @@
package com.mdd.admin.service.impl; package com.mdd.admin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mdd.admin.service.IEnrollmentService; import com.mdd.admin.service.IEnrollmentService;
import com.mdd.admin.validate.StudentInfoSearchValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.EnrollmentDetailVo;
import com.mdd.admin.vo.StudentInfoListedVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.*; import com.mdd.common.entity.*;
import com.mdd.common.entity.Class;
import com.mdd.common.entity.admin.Admin;
import com.mdd.common.exception.OperateException; import com.mdd.common.exception.OperateException;
import com.mdd.common.mapper.*; import com.mdd.common.mapper.*;
import com.mdd.common.mapper.admin.AdminMapper;
import com.mdd.common.util.TimeUtils;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
/** /**
@ -36,144 +20,6 @@ public class EnrollmentServiceImpl extends ServiceImpl<StudentInfoMapper, Studen
@Resource @Resource
StudentInfoMapper studentInfoMapper; StudentInfoMapper studentInfoMapper;
@Autowired
private StudentBaseInfoMapper studentBaseInfoMapper;
@Autowired
private CollegeMapper collegeMapper;
@Autowired
private MajorMapper majorMapper;
@Autowired
private ClassMapper classMapper;
@Autowired
private AdminMapper adminMapper;
@Autowired
private TeacherMapper teacherMapper;
/**
* 预报名列表
*/
@Override
public PageResult<StudentInfoListedVo> list(PageValidate pageValidate, StudentInfoSearchValidate searchValidate) {
Integer page = pageValidate.getPage_no();
Integer limit = pageValidate.getPage_size();
QueryWrapper<StudentInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("student_id");
List<String> conditions = new ArrayList<>(Arrays.asList(
"like:studentNumber@student_number:str",
"=:collegeId@college_id:int",
"=:majorId@major_id:int",
"=:classId@class_id:int",
"=:grade:int",
"=:enrollmentYear@enrollment_year:int",
"=:studentStatus@student_status:int",
"like:dormitory:str",
"=:counselorId@counselor_id:int",
"=:academicWarnings@academic_warnings:int",
"=:isVerified@is_verified:int",
"=:verifiedBy@verified_by:int",
"=:recruitmentTeacherId@recruitment_teacher_id:int",
"=:receptionTeacherId@reception_teacher_id:int",
"datetime:createTimeStart-createTimeEnd@create_time:str"
));
if (searchValidate.getStudentStatus() != null && searchValidate.getStudentStatus() == -1) {
conditions.remove("=:studentStatus@student_status:int");
queryWrapper.in("student_status", 0, 1);
searchValidate.setStudentStatus(null);
}
studentInfoMapper.setSearch(queryWrapper, searchValidate, conditions.toArray(new String[0]));
IPage<StudentInfo> iPage = studentInfoMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<StudentInfoListedVo> list = new LinkedList<>();
for (StudentInfo item : iPage.getRecords()) {
StudentInfoListedVo vo = new StudentInfoListedVo();
BeanUtils.copyProperties(item, vo);
vo.setVerifiedTime(TimeUtils.timestampToDate(item.getVerifiedTime()));
StudentBaseInfo baseInfo = studentBaseInfoMapper.selectOne(
new QueryWrapper<StudentBaseInfo>()
.eq("student_id", item.getStudentId())
.last("limit 1"));
if (baseInfo != null) {
vo.setName(baseInfo.getName());
vo.setGender(baseInfo.getGender());
vo.setIdCard(baseInfo.getIdCard());
vo.setPreviousSchool(baseInfo.getPreviousSchool());
vo.setHeight(baseInfo.getHeight());
vo.setWeight(baseInfo.getWeight());
vo.setShoeSize(baseInfo.getShoeSize());
}
if (item.getCreateTime() != null) {
vo.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getCreateTime()));
}
if (item.getUpdateTime() != null) {
vo.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getUpdateTime()));
}
College college = collegeMapper.selectById(item.getCollegeId());
Major major = majorMapper.selectById(item.getMajorId());
Class clazz = classMapper.selectById(item.getClassId());
Admin counselor = adminMapper.selectById(item.getCounselorId());
Admin verifier = adminMapper.selectById(item.getVerifiedBy());
Teacher teacher = teacherMapper.selectById(item.getRecruitmentTeacherId());
vo.setCollegeName(college != null ? college.getCollegeName() : "");
vo.setMajorName(major != null ? major.getMajorName() : "");
vo.setClassName(clazz != null ? clazz.getClassName() : "");
vo.setCounselorName(counselor != null ? counselor.getName() : "");
vo.setVerifierName(verifier != null ? verifier.getName() : "");
vo.setRecruitmentTeacherName(teacher != null ? teacher.getTeacherName() : null);
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
* 预报名详情
*/
@Override
public EnrollmentDetailVo detail(Integer id) {
StudentInfo model = studentInfoMapper.selectOne(
new QueryWrapper<StudentInfo>()
.eq("student_id", id)
.last("limit 1"));
Assert.notNull(model, "数据不存在");
EnrollmentDetailVo vo = new EnrollmentDetailVo();
vo.setHighSchoolScore(model.getHighSchoolScore());
vo.setPreRegistrationAmount(model.getPreRegistrationAmount());
Major major = majorMapper.selectById(model.getMajorId());
vo.setMajorName(major != null ? major.getMajorName() : "");
Teacher teacher = teacherMapper.selectById(model.getRecruitmentTeacherId());
vo.setRecruitmentTeacherName(teacher != null ? teacher.getTeacherName() : "");
StudentBaseInfo baseInfo = studentBaseInfoMapper.selectOne(
new QueryWrapper<StudentBaseInfo>()
.eq("student_id", model.getStudentId())
.last("limit 1"));
if (baseInfo != null) {
vo.setName(baseInfo.getName());
vo.setGender(baseInfo.getGender());
vo.setIdCard(baseInfo.getIdCard());
vo.setPreviousSchool(baseInfo.getPreviousSchool());
vo.setHeight(baseInfo.getHeight());
vo.setWeight(baseInfo.getWeight());
vo.setShoeSize(baseInfo.getShoeSize());
}
return vo;
}
/** /**
* 更新学生入学状态 * 更新学生入学状态
*/ */

View File

@ -4,7 +4,7 @@ import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.mdd.admin.service.IIndexService; import com.mdd.admin.service.IIndexService;
import com.mdd.common.config.GlobalConfig; import com.mdd.common.config.GlobalConfig;
import com.mdd.common.service.EnrollmentStaticService; import com.mdd.common.service.EnrollmentService;
import com.mdd.common.util.ConfigUtils; import com.mdd.common.util.ConfigUtils;
import com.mdd.common.util.ListUtils; import com.mdd.common.util.ListUtils;
import com.mdd.common.util.UrlUtils; import com.mdd.common.util.UrlUtils;
@ -21,7 +21,7 @@ import java.util.*;
public class IndexServiceImpl implements IIndexService { public class IndexServiceImpl implements IIndexService {
@Resource @Resource
private EnrollmentStaticService enrollmentStaticService; private EnrollmentService enrollmentStaticService;
/** /**
* 控制台数据 * 控制台数据

View File

@ -9,7 +9,6 @@ import com.mdd.admin.service.IStudentInfoService;
import com.mdd.admin.validate.StudentInfoCreateValidate; import com.mdd.admin.validate.StudentInfoCreateValidate;
import com.mdd.admin.validate.StudentInfoUpdateValidate; import com.mdd.admin.validate.StudentInfoUpdateValidate;
import com.mdd.admin.validate.StudentInfoSearchValidate; import com.mdd.admin.validate.StudentInfoSearchValidate;
import com.mdd.admin.vo.StudentInfoListedVo;
import com.mdd.admin.vo.StudentInfoDetailVo; import com.mdd.admin.vo.StudentInfoDetailVo;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.entity.*; import com.mdd.common.entity.*;
@ -24,6 +23,7 @@ import java.time.format.DateTimeFormatter;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import com.mdd.common.util.*; import com.mdd.common.util.*;
import com.mdd.common.vo.student.StudentInfoListedVo;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@ -5,8 +5,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigDecimal;
@Data @Data
@ApiModel("学生信息搜素参数") @ApiModel("学生信息搜素参数")

View File

@ -2,25 +2,172 @@ package com.mdd.common.service;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.mdd.common.entity.StudentInfo; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mdd.common.entity.Teacher; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mdd.common.mapper.StudentInfoMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.common.mapper.TeacherMapper; import com.mdd.admin.validate.StudentInfoSearchValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.EnrollmentDetailVo;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.*;
import com.mdd.common.entity.Class;
import com.mdd.common.entity.admin.Admin;
import com.mdd.common.mapper.*;
import com.mdd.common.mapper.admin.AdminMapper;
import com.mdd.common.util.TimeUtils;
import com.mdd.common.vo.student.StudentInfoListedVo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@Service @Service
public class EnrollmentStaticService { public class EnrollmentService {
@Resource @Resource
private StudentInfoMapper studentInfoMapper; private StudentInfoMapper studentInfoMapper;
@Resource @Resource
private StudentBaseInfoMapper studentBaseInfoMapper;
@Resource
private TeacherMapper teacherMapper; private TeacherMapper teacherMapper;
@Resource
private ClassMapper classMapper;
@Resource
private CollegeMapper collegeMapper;
@Resource
private AdminMapper adminMapper;
@Resource
private MajorMapper majorMapper;
/**
* 预报名列表
*/
public PageResult<StudentInfoListedVo> list(PageValidate pageValidate, StudentInfoSearchValidate searchValidate) {
Integer page = pageValidate.getPage_no();
Integer limit = pageValidate.getPage_size();
QueryWrapper<StudentInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("student_id");
List<String> conditions = new ArrayList<>(Arrays.asList(
"like:studentNumber@student_number:str",
"=:collegeId@college_id:int",
"=:majorId@major_id:int",
"=:classId@class_id:int",
"=:grade:int",
"=:enrollmentYear@enrollment_year:int",
"=:studentStatus@student_status:int",
"like:dormitory:str",
"=:counselorId@counselor_id:int",
"=:academicWarnings@academic_warnings:int",
"=:isVerified@is_verified:int",
"=:verifiedBy@verified_by:int",
"=:recruitmentTeacherId@recruitment_teacher_id:int",
"=:receptionTeacherId@reception_teacher_id:int",
"datetime:createTimeStart-createTimeEnd@create_time:str"
));
if (searchValidate.getStudentStatus() != null && searchValidate.getStudentStatus() == -1) {
conditions.remove("=:studentStatus@student_status:int");
queryWrapper.in("student_status", 0, 1);
searchValidate.setStudentStatus(null);
}
studentInfoMapper.setSearch(queryWrapper, searchValidate, conditions.toArray(new String[0]));
IPage<StudentInfo> iPage = studentInfoMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<StudentInfoListedVo> list = new LinkedList<>();
for (StudentInfo item : iPage.getRecords()) {
StudentInfoListedVo vo = new StudentInfoListedVo();
BeanUtils.copyProperties(item, vo);
vo.setVerifiedTime(TimeUtils.timestampToDate(item.getVerifiedTime()));
StudentBaseInfo baseInfo = studentBaseInfoMapper.selectOne(
new QueryWrapper<StudentBaseInfo>()
.eq("student_id", item.getStudentId())
.last("limit 1"));
if (baseInfo != null) {
vo.setName(baseInfo.getName());
vo.setGender(baseInfo.getGender());
vo.setIdCard(baseInfo.getIdCard());
vo.setPreviousSchool(baseInfo.getPreviousSchool());
vo.setHeight(baseInfo.getHeight());
vo.setWeight(baseInfo.getWeight());
vo.setShoeSize(baseInfo.getShoeSize());
}
if (item.getCreateTime() != null) {
vo.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getCreateTime()));
}
if (item.getUpdateTime() != null) {
vo.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getUpdateTime()));
}
College college = collegeMapper.selectById(item.getCollegeId());
Major major = majorMapper.selectById(item.getMajorId());
Class clazz = classMapper.selectById(item.getClassId());
Admin counselor = adminMapper.selectById(item.getCounselorId());
Admin verifier = adminMapper.selectById(item.getVerifiedBy());
Teacher teacher = teacherMapper.selectById(item.getRecruitmentTeacherId());
vo.setCollegeName(college != null ? college.getCollegeName() : "");
vo.setMajorName(major != null ? major.getMajorName() : "");
vo.setClassName(clazz != null ? clazz.getClassName() : "");
vo.setCounselorName(counselor != null ? counselor.getName() : "");
vo.setVerifierName(verifier != null ? verifier.getName() : "");
vo.setRecruitmentTeacherName(teacher != null ? teacher.getTeacherName() : null);
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
* 预报名详情
*/
public EnrollmentDetailVo detail(Integer id) {
StudentInfo model = studentInfoMapper.selectOne(
new QueryWrapper<StudentInfo>()
.eq("student_id", id)
.last("limit 1"));
Assert.notNull(model, "数据不存在");
EnrollmentDetailVo vo = new EnrollmentDetailVo();
vo.setHighSchoolScore(model.getHighSchoolScore());
vo.setPreRegistrationAmount(model.getPreRegistrationAmount());
Major major = majorMapper.selectById(model.getMajorId());
vo.setMajorName(major != null ? major.getMajorName() : "");
Teacher teacher = teacherMapper.selectById(model.getRecruitmentTeacherId());
vo.setRecruitmentTeacherName(teacher != null ? teacher.getTeacherName() : "");
StudentBaseInfo baseInfo = studentBaseInfoMapper.selectOne(
new QueryWrapper<StudentBaseInfo>()
.eq("student_id", model.getStudentId())
.last("limit 1"));
if (baseInfo != null) {
vo.setName(baseInfo.getName());
vo.setGender(baseInfo.getGender());
vo.setIdCard(baseInfo.getIdCard());
vo.setPreviousSchool(baseInfo.getPreviousSchool());
vo.setHeight(baseInfo.getHeight());
vo.setWeight(baseInfo.getWeight());
vo.setShoeSize(baseInfo.getShoeSize());
}
return vo;
}
/** /**
* 构建招生统计数据 * 构建招生统计数据

View File

@ -1,4 +1,4 @@
package com.mdd.admin.vo; package com.mdd.common.vo.student;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -6,8 +6,6 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigDecimal;
import java.util.Date;
@Data @Data
@ApiModel("学生信息列表Vo") @ApiModel("学生信息列表Vo")

View File

@ -1,20 +1,11 @@
package com.mdd.front.controller; package com.mdd.front.controller;
import com.mdd.common.aop.NotLogin; import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.validator.annotation.IDMust;
import com.mdd.front.LikeFrontThreadLocal; import com.mdd.front.LikeFrontThreadLocal;
import com.mdd.front.service.IArticleService;
import com.mdd.front.service.IUserAccountLogService; import com.mdd.front.service.IUserAccountLogService;
import com.mdd.front.validate.article.ArticleCollectValidate;
import com.mdd.front.validate.article.ArticleSearchValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.users.UserAccountLogSearchValidate; import com.mdd.front.validate.users.UserAccountLogSearchValidate;
import com.mdd.front.vo.article.ArticleCateVo;
import com.mdd.front.vo.article.ArticleCollectVo;
import com.mdd.front.vo.article.ArticleDetailVo;
import com.mdd.front.vo.article.ArticleListedVo;
import com.mdd.front.vo.user.UserAccountListVo; import com.mdd.front.vo.user.UserAccountListVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -22,7 +13,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
@RestController @RestController
@RequestMapping("/api/account_log") @RequestMapping("/api/account_log")

View File

@ -1,5 +1,6 @@
package com.mdd.front.controller; package com.mdd.front.controller;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.aop.NotLogin; import com.mdd.common.aop.NotLogin;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
@ -8,7 +9,6 @@ import com.mdd.front.LikeFrontThreadLocal;
import com.mdd.front.service.IArticleService; import com.mdd.front.service.IArticleService;
import com.mdd.front.validate.article.ArticleCollectValidate; import com.mdd.front.validate.article.ArticleCollectValidate;
import com.mdd.front.validate.article.ArticleSearchValidate; import com.mdd.front.validate.article.ArticleSearchValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.article.ArticleCateVo; import com.mdd.front.vo.article.ArticleCateVo;
import com.mdd.front.vo.article.ArticleCollectVo; import com.mdd.front.vo.article.ArticleCollectVo;
import com.mdd.front.vo.article.ArticleDetailVo; import com.mdd.front.vo.article.ArticleDetailVo;
@ -31,7 +31,7 @@ public class ArticleController {
@NotLogin @NotLogin
@GetMapping("/cate") @GetMapping("/cate")
@ApiOperation(value="文章分类") @ApiOperation(value = "文章分类")
public AjaxResult<List<ArticleCateVo>> category() { public AjaxResult<List<ArticleCateVo>> category() {
List<ArticleCateVo> list = iArticleService.category(); List<ArticleCateVo> list = iArticleService.category();
return AjaxResult.success(list); return AjaxResult.success(list);
@ -39,7 +39,7 @@ public class ArticleController {
@NotLogin @NotLogin
@GetMapping("/lists") @GetMapping("/lists")
@ApiOperation(value="文章列表") @ApiOperation(value = "文章列表")
public AjaxResult<PageResult<ArticleListedVo>> lists(@Validated PageValidate pageValidate, public AjaxResult<PageResult<ArticleListedVo>> lists(@Validated PageValidate pageValidate,
@Validated ArticleSearchValidate searchValidate) { @Validated ArticleSearchValidate searchValidate) {
Integer userId = LikeFrontThreadLocal.getUserId(); Integer userId = LikeFrontThreadLocal.getUserId();
@ -50,7 +50,7 @@ public class ArticleController {
@NotLogin @NotLogin
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperation(value="文章详情") @ApiOperation(value = "文章详情")
public AjaxResult<ArticleDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) { public AjaxResult<ArticleDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
Integer userId = LikeFrontThreadLocal.getUserId(); Integer userId = LikeFrontThreadLocal.getUserId();
@ -59,7 +59,7 @@ public class ArticleController {
} }
@GetMapping("/collect") @GetMapping("/collect")
@ApiOperation(value="收藏列表") @ApiOperation(value = "收藏列表")
public AjaxResult<PageResult<ArticleCollectVo>> collect(@Validated PageValidate pageValidate) { public AjaxResult<PageResult<ArticleCollectVo>> collect(@Validated PageValidate pageValidate) {
Integer userId = LikeFrontThreadLocal.getUserId(); Integer userId = LikeFrontThreadLocal.getUserId();
@ -68,7 +68,7 @@ public class ArticleController {
} }
@PostMapping("/addCollect") @PostMapping("/addCollect")
@ApiOperation(value="收藏加入") @ApiOperation(value = "收藏加入")
public AjaxResult<Object> addCollect(@Validated @RequestBody ArticleCollectValidate collectValidate) { public AjaxResult<Object> addCollect(@Validated @RequestBody ArticleCollectValidate collectValidate) {
Integer articleId = collectValidate.getId(); Integer articleId = collectValidate.getId();
Integer userId = LikeFrontThreadLocal.getUserId(); Integer userId = LikeFrontThreadLocal.getUserId();
@ -78,7 +78,7 @@ public class ArticleController {
} }
@PostMapping("/cancelCollect") @PostMapping("/cancelCollect")
@ApiOperation(value="收藏取消") @ApiOperation(value = "收藏取消")
public AjaxResult<Object> cancelCollect(@Validated @RequestBody ArticleCollectValidate collectValidate) { public AjaxResult<Object> cancelCollect(@Validated @RequestBody ArticleCollectValidate collectValidate) {
Integer articleId = collectValidate.getId(); Integer articleId = collectValidate.getId();
Integer userId = LikeFrontThreadLocal.getUserId(); Integer userId = LikeFrontThreadLocal.getUserId();

View File

@ -1,10 +1,10 @@
package com.mdd.front.controller; package com.mdd.front.controller;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.front.LikeFrontThreadLocal; import com.mdd.front.LikeFrontThreadLocal;
import com.mdd.front.service.ILogsService; import com.mdd.front.service.ILogsService;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.RechargeRecordVo; import com.mdd.front.vo.RechargeRecordVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;

View File

@ -1,10 +1,10 @@
package com.mdd.front.controller; package com.mdd.front.controller;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.validator.annotation.IDMust; import com.mdd.common.validator.annotation.IDMust;
import com.mdd.front.service.IMajorService; import com.mdd.front.service.IMajorService;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.major.MajorSearchValidate; import com.mdd.front.validate.major.MajorSearchValidate;
import com.mdd.front.vo.major.MajorDetailVo; import com.mdd.front.vo.major.MajorDetailVo;
import com.mdd.front.vo.major.MajorListedVo; import com.mdd.front.vo.major.MajorListedVo;

View File

@ -1,11 +1,11 @@
package com.mdd.front.controller; package com.mdd.front.controller;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.front.LikeFrontThreadLocal; import com.mdd.front.LikeFrontThreadLocal;
import com.mdd.front.service.IRechargeService; import com.mdd.front.service.IRechargeService;
import com.mdd.front.validate.RechargeValidate; import com.mdd.front.validate.RechargeValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.RechargeConfigVo; import com.mdd.front.vo.RechargeConfigVo;
import com.mdd.front.vo.RechargeRecordVo; import com.mdd.front.vo.RechargeRecordVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;

View File

@ -1,42 +0,0 @@
package com.mdd.front.controller;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.service.EnrollmentStaticService;
import com.mdd.front.service.IStudentInfoService;
import com.mdd.front.validate.student.PreRegistrationStudentInfoValidate;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
@RestController
@RequestMapping("frontapi/student")
@Api(tags = "学生信息")
public class StudentInfoController {
@Resource
private IStudentInfoService iStudentInfoService;
@Resource
private EnrollmentStaticService enrollmentStaticService;
@PostMapping("/add")
@ApiOperation(value = "新增预报名学生信息")
public AjaxResult<Object> addPreRegistrationStudentInfo(@Validated @RequestBody PreRegistrationStudentInfoValidate studentInfoValidate) {
return iStudentInfoService.add(studentInfoValidate);
}
@PostMapping("/enrollmentStatistical")
@ApiOperation(value = "招生统计数据")
public AjaxResult<Map<String, Object>> buildEnrollmentStatistical() {
return AjaxResult.success(enrollmentStaticService.buildEnrollmentStats());
}
@GetMapping("/enrollmentTrend")
@ApiOperation(value = "招生趋势数据(带筛选条件)")
public AjaxResult<Map<String, Object>> buildEnrollmentTrend(@RequestParam("teacherId") Integer teacherId, @RequestParam("rangeType") String rangeType) {
return AjaxResult.success(enrollmentStaticService.buildEnrollmentTrend(teacherId, rangeType));
}
}

View File

@ -1,11 +1,11 @@
package com.mdd.front.controller; package com.mdd.front.controller;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.service.QrCodeService; import com.mdd.common.service.QrCodeService;
import com.mdd.common.validator.annotation.IDMust; import com.mdd.common.validator.annotation.IDMust;
import com.mdd.front.service.ITeacherService; import com.mdd.front.service.ITeacherService;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.teacher.TeacherSearchValidate; import com.mdd.front.validate.teacher.TeacherSearchValidate;
import com.mdd.front.vo.teacher.TeacherListedVo; import com.mdd.front.vo.teacher.TeacherListedVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;

View File

@ -0,0 +1,68 @@
package com.mdd.front.controller.enrollment;
import com.mdd.admin.validate.StudentInfoSearchValidate;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.vo.EnrollmentDetailVo;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult;
import com.mdd.common.service.EnrollmentService;
import com.mdd.common.validator.annotation.IDMust;
import com.mdd.common.vo.student.StudentInfoListedVo;
import com.mdd.front.service.IStudentInfoService;
import com.mdd.front.validate.student.PreRegistrationStudentInfoValidate;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
@RestController
@RequestMapping("frontapi/enrollment")
@Api(tags = "学生信息")
public class EnrollmentController {
@Resource
private IStudentInfoService iStudentInfoService;
@Resource
private EnrollmentService enrollmentService;
@GetMapping("/preRegistrationList")
@ApiOperation(value = "预报名学生列表")
public AjaxResult<PageResult<StudentInfoListedVo>> preRegistrationList(@Validated PageValidate pageValidate,
@Validated StudentInfoSearchValidate searchValidate) {
// 默认只查预报名0和报名1的学生
if (searchValidate.getStudentStatus() == null) {
// 约定 -1 表示预报名+报名 Service 层统一处理
searchValidate.setStudentStatus(-1);
}
PageResult<StudentInfoListedVo> list = enrollmentService.list(pageValidate, searchValidate);
return AjaxResult.success(list);
}
@GetMapping("/detail")
@ApiOperation(value = "预报名详情")
public AjaxResult<EnrollmentDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
EnrollmentDetailVo detail = enrollmentService.detail(id);
return AjaxResult.success(detail);
}
@PostMapping("/add")
@ApiOperation(value = "新增预报名学生信息")
public AjaxResult<Object> addPreRegistrationStudentInfo(@Validated @RequestBody PreRegistrationStudentInfoValidate studentInfoValidate) {
return iStudentInfoService.add(studentInfoValidate);
}
@PostMapping("/enrollmentStatistical")
@ApiOperation(value = "招生统计数据")
public AjaxResult<Map<String, Object>> buildEnrollmentStatistical() {
return AjaxResult.success(enrollmentService.buildEnrollmentStats());
}
@GetMapping("/enrollmentTrend")
@ApiOperation(value = "招生趋势数据(带筛选条件)")
public AjaxResult<Map<String, Object>> buildEnrollmentTrend(@RequestParam("teacherId") Integer teacherId, @RequestParam("rangeType") String rangeType) {
return AjaxResult.success(enrollmentService.buildEnrollmentTrend(teacherId, rangeType));
}
}

View File

@ -1,8 +1,8 @@
package com.mdd.front.service; package com.mdd.front.service;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.front.validate.article.ArticleSearchValidate; import com.mdd.front.validate.article.ArticleSearchValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.article.ArticleCateVo; import com.mdd.front.vo.article.ArticleCateVo;
import com.mdd.front.vo.article.ArticleCollectVo; import com.mdd.front.vo.article.ArticleCollectVo;
import com.mdd.front.vo.article.ArticleDetailVo; import com.mdd.front.vo.article.ArticleDetailVo;
@ -18,57 +18,57 @@ public interface IArticleService {
/** /**
* 文章分类 * 文章分类
* *
* @author fzr
* @return List<ArticleCateVo> * @return List<ArticleCateVo>
* @author fzr
*/ */
List<ArticleCateVo> category(); List<ArticleCateVo> category();
/** /**
* 文章分类 * 文章分类
* *
* @author fzr
* @param userId 用户ID * @param userId 用户ID
* @param pageValidate 分页参数 * @param pageValidate 分页参数
* @param searchValidate 搜索参数 * @param searchValidate 搜索参数
* @return PageResult<ArticleListVo> * @return PageResult<ArticleListVo>
* @author fzr
*/ */
PageResult<ArticleListedVo> list(Integer userId, PageValidate pageValidate, ArticleSearchValidate searchValidate); PageResult<ArticleListedVo> list(Integer userId, PageValidate pageValidate, ArticleSearchValidate searchValidate);
/** /**
* 文章详情 * 文章详情
* *
* @author fzr
* @param id 文章主键 * @param id 文章主键
* @param userId 用户ID * @param userId 用户ID
* @return ArticleDetailVo * @return ArticleDetailVo
* @author fzr
*/ */
ArticleDetailVo detail(Integer id, Integer userId); ArticleDetailVo detail(Integer id, Integer userId);
/** /**
* 文章收藏 * 文章收藏
* *
* @author fzr
* @param pageValidate 分页参数 * @param pageValidate 分页参数
* @param userId 用户ID * @param userId 用户ID
* @return PageResult<ArticleListVo> * @return PageResult<ArticleListVo>
* @author fzr
*/ */
PageResult<ArticleCollectVo> collect(PageValidate pageValidate, Integer userId); PageResult<ArticleCollectVo> collect(PageValidate pageValidate, Integer userId);
/** /**
* 加入收藏 * 加入收藏
* *
* @author fzr
* @param articleId 文章ID * @param articleId 文章ID
* @param userId 用户ID * @param userId 用户ID
* @author fzr
*/ */
void addCollect(Integer articleId, Integer userId); void addCollect(Integer articleId, Integer userId);
/** /**
* 取消收藏 * 取消收藏
* *
* @author fzr
* @param articleId 主键 * @param articleId 主键
* @param userId 用户ID * @param userId 用户ID
* @author fzr
*/ */
void cancelCollect(Integer articleId, Integer userId); void cancelCollect(Integer articleId, Integer userId);

View File

@ -1,9 +1,5 @@
package com.mdd.front.service; package com.mdd.front.service;
import com.mdd.common.core.PageResult;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.article.ArticleListedVo;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -15,42 +11,42 @@ public interface IIndexService {
/** /**
* 首页 * 首页
* *
* @author fzr
* @return Map<String, Object> * @return Map<String, Object>
* @author fzr
*/ */
Map<String, Object> index(); Map<String, Object> index();
/** /**
* 装修 * 装修
* *
* @author fzr
* @param id 装修ID * @param id 装修ID
* @return Map<String, Object> * @return Map<String, Object>
* @author fzr
*/ */
Map<String, Object> decorate(Integer id); Map<String, Object> decorate(Integer id);
/** /**
* 配置 * 配置
* *
* @author fzr
* @return Map<String, Object> * @return Map<String, Object>
* @author fzr
*/ */
Map<String, Object> config(); Map<String, Object> config();
/** /**
* 政策 * 政策
* *
* @author fzr
* @param type 类型 service=服务协议,privacy=隐私协议 * @param type 类型 service=服务协议,privacy=隐私协议
* @return Map<String, Object> * @return Map<String, Object>
* @author fzr
*/ */
Map<String, String> policy(String type); Map<String, String> policy(String type);
/** /**
* 热搜 * 热搜
* *
* @author fzr
* @return List<String> * @return List<String>
* @author fzr
*/ */
List<String> hotSearch(); List<String> hotSearch();

View File

@ -1,7 +1,7 @@
package com.mdd.front.service; package com.mdd.front.service;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.RechargeRecordVo; import com.mdd.front.vo.RechargeRecordVo;
/** /**

View File

@ -1,7 +1,7 @@
package com.mdd.front.service; package com.mdd.front.service;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.major.MajorSearchValidate; import com.mdd.front.validate.major.MajorSearchValidate;
import com.mdd.front.vo.major.MajorDetailVo; import com.mdd.front.vo.major.MajorDetailVo;
import com.mdd.front.vo.major.MajorListedVo; import com.mdd.front.vo.major.MajorListedVo;

View File

@ -1,8 +1,8 @@
package com.mdd.front.service; package com.mdd.front.service;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.front.validate.RechargeValidate; import com.mdd.front.validate.RechargeValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.RechargeConfigVo; import com.mdd.front.vo.RechargeConfigVo;
import com.mdd.front.vo.RechargeRecordVo; import com.mdd.front.vo.RechargeRecordVo;
@ -16,19 +16,19 @@ public interface IRechargeService {
/** /**
* 充值配置 * 充值配置
* *
* @author fzr
* @param userId 用户ID * @param userId 用户ID
* @return RechargeConfigVo * @return RechargeConfigVo
* @author fzr
*/ */
RechargeConfigVo config(Integer userId); RechargeConfigVo config(Integer userId);
/** /**
* 充值记录 * 充值记录
* *
* @author fzr
* @param userId 用户ID * @param userId 用户ID
* @param pageValidate 分页参数 * @param pageValidate 分页参数
* @return PageResult<RechargeRecordVo> * @return PageResult<RechargeRecordVo>
* @author fzr
*/ */
PageResult<RechargeRecordVo> record(Integer userId, PageValidate pageValidate); PageResult<RechargeRecordVo> record(Integer userId, PageValidate pageValidate);
@ -43,11 +43,11 @@ public interface IRechargeService {
Map<String, Object> placeOrder(Integer userId, Integer terminal, RechargeValidate rechargeValidate); Map<String, Object> placeOrder(Integer userId, Integer terminal, RechargeValidate rechargeValidate);
/** /**
* @notes 阿里支付后更新状态
* @return array * @return array
* @throws @\think\db\exception\DataNotFoundException * @throws @\think\db\exception\DataNotFoundException
* @throws @\think\db\exception\DbException * @throws @\think\db\exception\DbException
* @throws @\think\db\exception\ModelNotFoundException * @throws @\think\db\exception\ModelNotFoundException
* @notes 阿里支付后更新状态
* @author damonyuan * @author damonyuan
*/ */
void updatePayOrderStatusToPaid(String outTradeNo, String tradeNo); void updatePayOrderStatusToPaid(String outTradeNo, String tradeNo);

View File

@ -1,10 +1,10 @@
package com.mdd.front.service; package com.mdd.front.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.entity.Teacher; import com.mdd.common.entity.Teacher;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.teacher.TeacherSearchValidate; import com.mdd.front.validate.teacher.TeacherSearchValidate;
import com.mdd.front.vo.teacher.TeacherListedVo; import com.mdd.front.vo.teacher.TeacherListedVo;

View File

@ -1,11 +1,9 @@
package com.mdd.front.service; package com.mdd.front.service;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.users.*; import com.mdd.front.validate.users.*;
import com.mdd.front.vo.user.UserAccountListVo; import com.mdd.front.vo.user.UserAccountListVo;
import com.mdd.front.vo.user.UserCenterVo;
import com.mdd.front.vo.user.UserInfoVo;
/** /**
* 用户服务接口类 * 用户服务接口类
@ -13,8 +11,8 @@ import com.mdd.front.vo.user.UserInfoVo;
public interface IUserAccountLogService { public interface IUserAccountLogService {
/** /**
* @notes 获取列表
* @return array * @return array
* @notes 获取列表
* @author damonyuan * @author damonyuan
*/ */
PageResult<UserAccountListVo> lists(PageValidate pageValidate, UserAccountLogSearchValidate searchValidate); PageResult<UserAccountListVo> lists(PageValidate pageValidate, UserAccountLogSearchValidate searchValidate);

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper; import com.github.yulichang.query.MPJQueryWrapper;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.config.GlobalConfig; import com.mdd.common.config.GlobalConfig;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.entity.article.Article; import com.mdd.common.entity.article.Article;
@ -19,7 +20,6 @@ import com.mdd.common.util.TimeUtils;
import com.mdd.common.util.UrlUtils; import com.mdd.common.util.UrlUtils;
import com.mdd.front.service.IArticleService; import com.mdd.front.service.IArticleService;
import com.mdd.front.validate.article.ArticleSearchValidate; import com.mdd.front.validate.article.ArticleSearchValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.article.ArticleCateVo; import com.mdd.front.vo.article.ArticleCateVo;
import com.mdd.front.vo.article.ArticleCollectVo; import com.mdd.front.vo.article.ArticleCollectVo;
import com.mdd.front.vo.article.ArticleDetailVo; import com.mdd.front.vo.article.ArticleDetailVo;
@ -50,8 +50,8 @@ public class ArticleServiceImpl implements IArticleService {
/** /**
* 文章分类 * 文章分类
* *
* @author fzr
* @return List<ArticleCateVo> * @return List<ArticleCateVo>
* @author fzr
*/ */
@Override @Override
public List<ArticleCateVo> category() { public List<ArticleCateVo> category() {
@ -63,7 +63,7 @@ public class ArticleServiceImpl implements IArticleService {
.orderByDesc(Arrays.asList("sort", "id"))); .orderByDesc(Arrays.asList("sort", "id")));
List<ArticleCateVo> list = new LinkedList<>(); List<ArticleCateVo> list = new LinkedList<>();
for (ArticleCate category: articleCateVos) { for (ArticleCate category : articleCateVos) {
ArticleCateVo vo = new ArticleCateVo(); ArticleCateVo vo = new ArticleCateVo();
BeanUtils.copyProperties(category, vo); BeanUtils.copyProperties(category, vo);
list.add(vo); list.add(vo);
@ -75,14 +75,14 @@ public class ArticleServiceImpl implements IArticleService {
/** /**
* 文章列表 * 文章列表
* *
* @author fzr
* @param userId 用户ID * @param userId 用户ID
* @param pageValidate 分页参数 * @param pageValidate 分页参数
* @param searchValidate 搜索参数 * @param searchValidate 搜索参数
* @return PageResult<ArticleListVo> * @return PageResult<ArticleListVo>
* @author fzr
*/ */
@Override @Override
public PageResult<ArticleListedVo> list( Integer userId, PageValidate pageValidate, ArticleSearchValidate searchValidate) { public PageResult<ArticleListedVo> list(Integer userId, PageValidate pageValidate, ArticleSearchValidate searchValidate) {
Integer pageNo = pageValidate.getPage_no(); Integer pageNo = pageValidate.getPage_no();
Integer pageSize = pageValidate.getPage_size(); Integer pageSize = pageValidate.getPage_size();
@ -153,17 +153,17 @@ public class ArticleServiceImpl implements IArticleService {
/** /**
* 文章详情 * 文章详情
* *
* @author fzr
* @param id 文章主键 * @param id 文章主键
* @param userId 用户ID * @param userId 用户ID
* @return ArticleDetailVo * @return ArticleDetailVo
* @author fzr
*/ */
@Override @Override
public ArticleDetailVo detail(Integer id, Integer userId) { public ArticleDetailVo detail(Integer id, Integer userId) {
Article article = articleMapper.selectOne(new QueryWrapper<Article>() Article article = articleMapper.selectOne(new QueryWrapper<Article>()
.eq("id", id) .eq("id", id)
.eq("is_show", 1) .eq("is_show", 1)
.isNull("delete_time" ) .isNull("delete_time")
.last("limit 1")); .last("limit 1"));
Assert.notNull(article, "数据不存在!"); Assert.notNull(article, "数据不存在!");
@ -192,10 +192,10 @@ public class ArticleServiceImpl implements IArticleService {
/** /**
* 收藏列表 * 收藏列表
* *
* @author fzr
* @param pageValidate 分页参数 * @param pageValidate 分页参数
* @param userId 用户ID * @param userId 用户ID
* @return PageResult<ArticleCollectVo> * @return PageResult<ArticleCollectVo>
* @author fzr
*/ */
@Override @Override
public PageResult<ArticleCollectVo> collect(PageValidate pageValidate, Integer userId) { public PageResult<ArticleCollectVo> collect(PageValidate pageValidate, Integer userId) {
@ -228,9 +228,9 @@ public class ArticleServiceImpl implements IArticleService {
/** /**
* 加入收藏 * 加入收藏
* *
* @author fzr
* @param articleId 主键 * @param articleId 主键
* @param userId 用户ID * @param userId 用户ID
* @author fzr
*/ */
@Override @Override
public void addCollect(Integer articleId, Integer userId) { public void addCollect(Integer articleId, Integer userId) {
@ -259,9 +259,9 @@ public class ArticleServiceImpl implements IArticleService {
/** /**
* 取消收藏 * 取消收藏
* *
* @author fzr
* @param articleId 文章ID * @param articleId 文章ID
* @param userId 用户ID * @param userId 用户ID
* @author fzr
*/ */
@Override @Override
public void cancelCollect(Integer articleId, Integer userId) { public void cancelCollect(Integer articleId, Integer userId) {

View File

@ -3,13 +3,13 @@ package com.mdd.front.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.entity.log.UserAccountLog; import com.mdd.common.entity.log.UserAccountLog;
import com.mdd.common.enums.LogMoneyEnum; import com.mdd.common.enums.LogMoneyEnum;
import com.mdd.common.mapper.log.UserAccountLogMapper; import com.mdd.common.mapper.log.UserAccountLogMapper;
import com.mdd.common.util.TimeUtils; import com.mdd.common.util.TimeUtils;
import com.mdd.front.service.ILogsService; import com.mdd.front.service.ILogsService;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.RechargeRecordVo; import com.mdd.front.vo.RechargeRecordVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@ -3,6 +3,7 @@ package com.mdd.front.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.entity.College; import com.mdd.common.entity.College;
import com.mdd.common.entity.Major; import com.mdd.common.entity.Major;
@ -10,7 +11,6 @@ import com.mdd.common.mapper.CollegeMapper;
import com.mdd.common.mapper.MajorMapper; import com.mdd.common.mapper.MajorMapper;
import com.mdd.common.util.TimeUtils; import com.mdd.common.util.TimeUtils;
import com.mdd.front.service.IMajorService; import com.mdd.front.service.IMajorService;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.major.MajorSearchValidate; import com.mdd.front.validate.major.MajorSearchValidate;
import com.mdd.front.vo.major.MajorDetailVo; import com.mdd.front.vo.major.MajorDetailVo;
import com.mdd.front.vo.major.MajorListedVo; import com.mdd.front.vo.major.MajorListedVo;

View File

@ -1,9 +1,9 @@
package com.mdd.front.service.impl; package com.mdd.front.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.entity.RechargeOrder; import com.mdd.common.entity.RechargeOrder;
import com.mdd.common.entity.user.User; import com.mdd.common.entity.user.User;
@ -17,9 +17,7 @@ import com.mdd.common.util.ConfigUtils;
import com.mdd.common.util.StringUtils; import com.mdd.common.util.StringUtils;
import com.mdd.common.util.TimeUtils; import com.mdd.common.util.TimeUtils;
import com.mdd.front.service.IRechargeService; import com.mdd.front.service.IRechargeService;
import com.mdd.front.service.IUserAccountLogService;
import com.mdd.front.validate.RechargeValidate; import com.mdd.front.validate.RechargeValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.RechargeConfigVo; import com.mdd.front.vo.RechargeConfigVo;
import com.mdd.front.vo.RechargeRecordVo; import com.mdd.front.vo.RechargeRecordVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -49,9 +47,9 @@ public class RechargeServiceImpl implements IRechargeService {
/** /**
* 充值配置 * 充值配置
* *
* @author fzr
* @param userId 用户ID * @param userId 用户ID
* @return RechargeConfigVo * @return RechargeConfigVo
* @author fzr
*/ */
@Override @Override
public RechargeConfigVo config(Integer userId) { public RechargeConfigVo config(Integer userId) {
@ -68,10 +66,10 @@ public class RechargeServiceImpl implements IRechargeService {
/** /**
* 充值记录 * 充值记录
* *
* @author fzr
* @param userId 用户ID * @param userId 用户ID
* @param pageValidate 分页参数 * @param pageValidate 分页参数
* @return PageResult<RechargeRecordVo> * @return PageResult<RechargeRecordVo>
* @author fzr
*/ */
@Override @Override
public PageResult<RechargeRecordVo> record(Integer userId, PageValidate pageValidate) { public PageResult<RechargeRecordVo> record(Integer userId, PageValidate pageValidate) {
@ -102,11 +100,11 @@ public class RechargeServiceImpl implements IRechargeService {
/** /**
* 创建充值订单 * 创建充值订单
* *
* @author fzr
* @param userId 用户ID * @param userId 用户ID
* @param terminal 设备端 * @param terminal 设备端
* @param rechargeValidate 参数 * @param rechargeValidate 参数
* @return Map<String, Object> * @return Map<String, Object>
* @author fzr
*/ */
@Override @Override
public Map<String, Object> placeOrder(Integer userId, Integer terminal, RechargeValidate rechargeValidate) { public Map<String, Object> placeOrder(Integer userId, Integer terminal, RechargeValidate rechargeValidate) {

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.AjaxResult; import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.entity.College; import com.mdd.common.entity.College;
@ -12,7 +13,6 @@ import com.mdd.common.mapper.CollegeMapper;
import com.mdd.common.mapper.TeacherMapper; import com.mdd.common.mapper.TeacherMapper;
import com.mdd.common.util.*; import com.mdd.common.util.*;
import com.mdd.front.service.ITeacherService; import com.mdd.front.service.ITeacherService;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.teacher.TeacherSearchValidate; import com.mdd.front.validate.teacher.TeacherSearchValidate;
import com.mdd.front.vo.teacher.TeacherListedVo; import com.mdd.front.vo.teacher.TeacherListedVo;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;

View File

@ -1,51 +1,23 @@
package com.mdd.front.service.impl; package com.mdd.front.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.common.config.GlobalConfig; import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.common.core.PageResult; import com.mdd.common.core.PageResult;
import com.mdd.common.entity.article.Article;
import com.mdd.common.entity.log.UserAccountLog; import com.mdd.common.entity.log.UserAccountLog;
import com.mdd.common.entity.user.User;
import com.mdd.common.entity.user.UserAuth;
import com.mdd.common.enums.AccountLogEnum; import com.mdd.common.enums.AccountLogEnum;
import com.mdd.common.enums.ClientEnum;
import com.mdd.common.enums.NoticeEnum;
import com.mdd.common.enums.UserEnum;
import com.mdd.common.exception.OperateException;
import com.mdd.common.mapper.log.UserAccountLogMapper; import com.mdd.common.mapper.log.UserAccountLogMapper;
import com.mdd.common.mapper.user.UserAuthMapper;
import com.mdd.common.mapper.user.UserMapper;
import com.mdd.common.plugin.notice.NoticeCheck;
import com.mdd.common.plugin.wechat.WxMnpDriver;
import com.mdd.common.util.*; import com.mdd.common.util.*;
import com.mdd.front.LikeFrontThreadLocal;
import com.mdd.front.service.IUserAccountLogService; import com.mdd.front.service.IUserAccountLogService;
import com.mdd.front.service.IUserService;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.users.*; import com.mdd.front.validate.users.*;
import com.mdd.front.vo.article.ArticleListedVo;
import com.mdd.front.vo.user.UserAccountListVo; import com.mdd.front.vo.user.UserAccountListVo;
import com.mdd.front.vo.user.UserCenterVo;
import com.mdd.front.vo.user.UserInfoVo;
import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 用户服务实现类 * 用户服务实现类

View File

@ -1,25 +0,0 @@
package com.mdd.front.validate.common;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import java.io.Serializable;
@Data
@ApiModel("分页参数")
public class PageValidate implements Serializable {
private static final long serialVersionUID = 1L;
// 当前分页
@DecimalMin(value = "1", message = "pageNo参数必须大于0的数字")
public Integer page_no = 1;
// 每页条数
@DecimalMin(value = "1", message = "pageSize参数必须是大于0的数字")
@DecimalMax(value = "60", message = "pageSize参数必须是小于60的数字")
private Integer page_size = 20;
}