Commit 6f1df41c authored by licc's avatar licc

修改excel批量上传接口

parent 4844a190
...@@ -6,8 +6,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -6,8 +6,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/**
* @author 86187
*/
public interface SchemeMapper extends BaseMapper<SchemeInfo> { public interface SchemeMapper extends BaseMapper<SchemeInfo> {
int add(SchemeInfo schemeInfo); int add(SchemeInfo schemeInfo);
List<SchemeInfo> getList(Map<String,Object> map); List<SchemeInfo> getList(Map<String,Object> map);
int count();
} }
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
</sql> </sql>
<insert id="add" parameterType="cn.wisenergy.model.app.SchemeInfo" keyProperty="id" <insert id="add" parameterType="cn.wisenergy.model.app.SchemeInfo" keyProperty="id"
keyColumn="id" useGeneratedKeys="true"> keyColumn="id" useGeneratedKeys="true">
insert into insert into
<include refid="table"/> <include refid="table"/>
(<include refid="cols_exclude_id"/>) (<include refid="cols_exclude_id"/>)
...@@ -58,7 +58,6 @@ ...@@ -58,7 +58,6 @@
</insert> </insert>
<select id="getList" parameterType="map" resultType="cn.wisenergy.model.app.SchemeInfo"> <select id="getList" parameterType="map" resultType="cn.wisenergy.model.app.SchemeInfo">
select select
<include refid="cols_all"/> <include refid="cols_all"/>
...@@ -66,12 +65,18 @@ ...@@ -66,12 +65,18 @@
<include refid="table"/> <include refid="table"/>
<where> <where>
is_delete=0 is_delete=0
<if test=" userId != null">
user_id=#{userId}
</if>
limit #{startNum},#{endNum} limit #{startNum},#{endNum}
order by create_time desc order by create_time desc
</where> </where>
</select> </select>
<select id="count" resultType="java.lang.Integer">
select count(1)
from
<include refid="table"/>
<where>
is_delete=0
</where>
</select>
</mapper> </mapper>
...@@ -100,8 +100,10 @@ ...@@ -100,8 +100,10 @@
</delete> </delete>
<select id="getById" resultMap="userMap"> <select id="getById" resultMap="userMap">
select <include refid="cols_all"/> select
from <include refid="table"/> <include refid="cols_all"/>
from
<include refid="table"/>
<where> <where>
user_id=#{userId} user_id=#{userId}
</where> </where>
......
package cn.wisenergy.model.app; package cn.wisenergy.model.app;
import cn.wisenergy.model.common.BaseEntity; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
...@@ -12,10 +11,10 @@ import java.util.Date; ...@@ -12,10 +11,10 @@ import java.util.Date;
/** /**
* @author 86187 * @author 86187
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
@ApiModel(value = "SchemeInfo") @ApiModel(value = "SchemeInfo")
public class SchemeInfo extends BaseEntity implements Serializable { @TableName("scheme")
public class SchemeInfo implements Serializable {
private static final long serialVersionUID = 7020644673356401949L; private static final long serialVersionUID = 7020644673356401949L;
/** /**
* 方案id * 方案id
...@@ -43,4 +42,23 @@ public class SchemeInfo extends BaseEntity implements Serializable { ...@@ -43,4 +42,23 @@ public class SchemeInfo extends BaseEntity implements Serializable {
"5:专科专业分类6:专科美术一批 7:专科文学编导一批 8:专科体育一批", name = "type") "5:专科专业分类6:专科美术一批 7:专科文学编导一批 8:专科体育一批", name = "type")
private Integer type; private Integer type;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private Date createTime;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
private Date updateTime;
/**
* 删除标记
*/
@ApiModelProperty("是否删除 1,删除;0,未删除")
private Integer isDelete;
} }
package cn.wisenergy.model.vo; package cn.wisenergy.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* @ Description: 方案查询Vo *@ Description: 方案列表查询Vo
* @ Author : 86187 *@ Author : 86187
* @ Date : 2021/1/13 14:53 *@ Date : 2021/1/25 11:30
* @author 86187
*/ */
@Data @Data
@ApiModel(value = "SchemeQueryVo") @ApiModel("SchemeQueryVo")
public class SchemeQueryVo implements Serializable { public class SchemeQueryVo implements Serializable {
private static final long serialVersionUID = 2326078022046306092L;
private static final long serialVersionUID = 717382532110305837L;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id", name = "userId")
private Integer userId;
/**
* 专业ids
*/
@ApiModelProperty(value = "专业ids,如'1,2,3,4,5,6...'", name = "professionIds")
private String professionIds;
/** /**
* 文化课成绩 * 起始页
*/ */
@ApiModelProperty(value = "文化课成绩", name = "cultureGrade") @ApiModelProperty(value = "起始页", name = "pageNo")
private String cultureGrade; private Integer pageNo;
/** /**
* 专业课成绩 * 页大小
*/ */
@ApiModelProperty(value = "专业课成绩", name = "majorGrade") @ApiModelProperty(value = "页大小", name = "pageSize")
private String majorGrade; private Integer pageSize;
private Integer startNum;
private Integer endNum;
} }
package cn.wisenergy.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @ Description: 方案查询Vo
* @ Author : 86187
* @ Date : 2021/1/13 14:53
* @author 86187
*/
@Data
@ApiModel(value = "SchemeQueryVo")
public class SchemeVo implements Serializable {
private static final long serialVersionUID = 717382532110305837L;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id", name = "userId")
private Integer userId;
/**
* 专业ids
*/
@ApiModelProperty(value = "专业ids,如'1,2,3,4,5,6...'", name = "professionIds")
private String professionIds;
/**
* 文化课成绩
*/
@ApiModelProperty(value = "文化课成绩", name = "cultureGrade")
private String cultureGrade;
/**
* 专业课成绩
*/
@ApiModelProperty(value = "专业课成绩", name = "majorGrade")
private String majorGrade;
}
package cn.wisenergy.service.app; package cn.wisenergy.service.app;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.SchemeInfo;
import cn.wisenergy.model.vo.SchemeQueryVo; import cn.wisenergy.model.vo.SchemeQueryVo;
import cn.wisenergy.model.vo.SchemeVo;
import cn.wisenergy.model.vo.VolunteerVo; import cn.wisenergy.model.vo.VolunteerVo;
import com.sun.org.apache.xpath.internal.operations.Bool; import com.github.pagehelper.PageInfo;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/** /**
...@@ -19,10 +17,10 @@ public interface SchemeService { ...@@ -19,10 +17,10 @@ public interface SchemeService {
/** /**
* 方案查询 * 方案查询
* @param schemeQueryVo 查询参数 * @param schemeVo 查询参数
* @return 方案查询结果列表 * @return 方案查询结果列表
*/ */
R<VolunteerVo> getList(SchemeQueryVo schemeQueryVo); R<VolunteerVo> getList(SchemeVo schemeVo);
/** /**
* 根据方案id,删除方案 * 根据方案id,删除方案
...@@ -30,4 +28,11 @@ public interface SchemeService { ...@@ -30,4 +28,11 @@ public interface SchemeService {
* @return * @return
*/ */
R<Boolean> deleteById(Integer schemeId); R<Boolean> deleteById(Integer schemeId);
/**
* 方案列表查询
* @param schemeVo 查询参数
* @return 方案查询结果列表
*/
R<PageInfo<SchemeInfo>> getSchemeList(SchemeQueryVo schemeVo);
} }
package cn.wisenergy.service.app.impl; package cn.wisenergy.service.app.impl;
import cn.wisenergy.common.constant.CommonAttributes;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.common.utils.StringUtil; import cn.wisenergy.common.utils.StringUtil;
import cn.wisenergy.mapper.*; import cn.wisenergy.mapper.*;
...@@ -7,13 +8,12 @@ import cn.wisenergy.model.app.*; ...@@ -7,13 +8,12 @@ import cn.wisenergy.model.app.*;
import cn.wisenergy.model.enums.SchemeTypeEnums; import cn.wisenergy.model.enums.SchemeTypeEnums;
import cn.wisenergy.model.enums.StudentClassEnum; import cn.wisenergy.model.enums.StudentClassEnum;
import cn.wisenergy.model.enums.StudentType; import cn.wisenergy.model.enums.StudentType;
import cn.wisenergy.model.vo.SchemeQueryVo; import cn.wisenergy.model.vo.*;
import cn.wisenergy.model.vo.VolunteerVo;
import cn.wisenergy.service.app.SchemeService; import cn.wisenergy.service.app.SchemeService;
import cn.wisenergy.service.app.UserVolunteerService; import cn.wisenergy.service.app.UserVolunteerService;
import cn.wisenergy.service.app.VolunteerService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -39,6 +39,9 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp ...@@ -39,6 +39,9 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
@Autowired @Autowired
private UsersMapper usersMapper; private UsersMapper usersMapper;
@Autowired
private SchemeMapper schemeMapper;
@Autowired @Autowired
private ScoreInfoMapper scoreInfoMapper; private ScoreInfoMapper scoreInfoMapper;
...@@ -61,7 +64,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp ...@@ -61,7 +64,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
private UserVolunteerService userVolunteerService; private UserVolunteerService userVolunteerService;
@Override @Override
public R<VolunteerVo> getList(SchemeQueryVo queryVo) { public R<VolunteerVo> getList(SchemeVo queryVo) {
log.info("volunteer-service[]SchemeServiceImpl[]getList[]input.param.queryVo:" + queryVo); log.info("volunteer-service[]SchemeServiceImpl[]getList[]input.param.queryVo:" + queryVo);
if (null == queryVo || null == queryVo.getUserId() || null == queryVo.getCultureGrade()) { if (null == queryVo || null == queryVo.getUserId() || null == queryVo.getCultureGrade()) {
return R.error("入参为空!"); return R.error("入参为空!");
...@@ -260,6 +263,27 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp ...@@ -260,6 +263,27 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
return R.ok(0, true); return R.ok(0, true);
} }
@Override
public R<PageInfo<SchemeInfo>> getSchemeList(SchemeQueryVo schemeVo) {
log.info("volunteer-service[]SchemeServiceImpl[]getSchemeList[]input.param.schemeVo:" + schemeVo);
if (null == schemeVo) {
return R.error("入参为空!");
}
pageHandle(schemeVo);
int total = schemeMapper.count();
Map<String, Object> map = new HashMap<>(16);
map.put("startNum", schemeVo.getStartNum());
map.put("endNum", schemeVo.getEndNum());
List<SchemeInfo> list = schemeMapper.getList(map);
PageInfo<SchemeInfo> info = new PageInfo<>();
info.setPageSize(schemeVo.getPageSize());
info.setPageNum(schemeVo.getPageNo());
info.setTotal(total);
info.setList(list);
return R.ok(info);
}
/** /**
* 保存方案查询记录和关联关系 * 保存方案查询记录和关联关系
...@@ -569,12 +593,12 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp ...@@ -569,12 +593,12 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
/** /**
* 获取专业名称 * 获取专业名称
* *
* @param schemeQueryVo 专业参数 * @param schemeVo 专业参数
* @return 专业名称列表 * @return 专业名称列表
*/ */
private List<String> getProfessionName(SchemeQueryVo schemeQueryVo) { private List<String> getProfessionName(SchemeVo schemeVo) {
//把字符专ids业转为数组 //把字符专ids业转为数组
List<Integer> professionIds = StringUtil.strToArray(schemeQueryVo.getProfessionIds()); List<Integer> professionIds = StringUtil.strToArray(schemeVo.getProfessionIds());
return professionMapper.getNameByIds(professionIds); return professionMapper.getNameByIds(professionIds);
} }
...@@ -595,4 +619,26 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp ...@@ -595,4 +619,26 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
map.put("downGrade", min); map.put("downGrade", min);
return volunteerMapper.getFillList(map); return volunteerMapper.getFillList(map);
} }
/**
* 分页处理方法
*
* @param schemeVo 参数
*/
private void pageHandle(SchemeQueryVo schemeVo) {
Integer pageNum = schemeVo.getPageNo();
Integer pageSize = schemeVo.getPageSize();
if (null == pageSize || pageSize == 0) {
pageSize = 10;
}
if (null == pageNum || pageNum == 0) {
pageNum = 1;
}
Integer endNum = pageSize;
Integer startNum = (pageNum - CommonAttributes.NUM_ONE) * pageSize;
schemeVo.setEndNum(endNum);
schemeVo.setStartNum(startNum);
schemeVo.setPageNo(pageNum);
schemeVo.setPageSize(pageSize);
}
} }
...@@ -23,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -23,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @ Description: 用户接口实现 * @ Description: 用户接口实现
...@@ -53,7 +54,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -53,7 +54,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
log.info("volunteer_service[]UserServiceImpl[]getUserList[]input.param.queryVo:" + queryVo); log.info("volunteer_service[]UserServiceImpl[]getUserList[]input.param.queryVo:" + queryVo);
pageHandle(queryVo); pageHandle(queryVo);
//创建参数容器 //创建参数容器
HashMap<String, Object> map = new HashMap<>(4); Map<String, Object> map = new HashMap<>(4);
//将参数放入容器中 //将参数放入容器中
map.put("pageNo", queryVo.getPageNo() - 1); map.put("pageNo", queryVo.getPageNo() - 1);
......
...@@ -86,12 +86,17 @@ public class VolunteerServiceImpl extends ServiceImpl<VolunteerMapper, Volunteer ...@@ -86,12 +86,17 @@ public class VolunteerServiceImpl extends ServiceImpl<VolunteerMapper, Volunteer
} }
//2.读取数据进行入库操作 //2.读取数据进行入库操作
EasyExcel.read(file.getInputStream(), Volunteer.class, excelListener).sheet().doRead(); EasyExcel.read(file.getInputStream(), Volunteer.class, excelListener).sheet().doRead();
List<Volunteer> sult = excelListener.getList(); List<Volunteer> list = excelListener.getList();
log.info("返回的excel集合:" + sult);
log.info("返回的excel集合:" + sult);
for (Volunteer volunteer : sult) {
} //3、保存方案和志愿信息
SchemeInfo schemeInfo = new SchemeInfo();
schemeInfo.setSchemeName("本科一批");
schemeInfo.setType(1);
schemeInfo.setUploadTime(new Date());
schemeInfo.setIsDelete(0);
saveSchemeAndVolunteer(schemeInfo, list);
log.info("导入方案数据成功!");
} }
@Override @Override
...@@ -113,14 +118,19 @@ public class VolunteerServiceImpl extends ServiceImpl<VolunteerMapper, Volunteer ...@@ -113,14 +118,19 @@ public class VolunteerServiceImpl extends ServiceImpl<VolunteerMapper, Volunteer
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void saveSchemeAndVolunteer(SchemeInfo schemeInfo, List<Volunteer> list) { public void saveSchemeAndVolunteer(SchemeInfo schemeInfo, List<Volunteer> list) {
//1、保存方案信息 //1、保存方案信息
int count = schemeMapper.insert(schemeInfo); int count = schemeMapper.add(schemeInfo);
if (count == 0) { if (count == 0) {
throw new RuntimeException("保存方案信息失败!"); throw new RuntimeException("保存方案信息失败!");
} }
//保存志愿信息 //保存志愿信息
for (Volunteer volunteer : list) { for (Volunteer volunteer : list) {
volunteer.setSchemeId(schemeInfo.getId());
volunteer.setType(schemeInfo.getType());
}
boolean bool = volunteerService.saveBatch(list);
if (!bool) {
throw new RuntimeException("保存志愿信息失败!");
} }
} }
......
...@@ -4,9 +4,11 @@ import cn.wisenergy.common.expection.BaseException; ...@@ -4,9 +4,11 @@ import cn.wisenergy.common.expection.BaseException;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.model.app.SchemeInfo; import cn.wisenergy.model.app.SchemeInfo;
import cn.wisenergy.model.vo.SchemeQueryVo; import cn.wisenergy.model.vo.SchemeQueryVo;
import cn.wisenergy.model.vo.SchemeVo;
import cn.wisenergy.model.vo.VolunteerVo; import cn.wisenergy.model.vo.VolunteerVo;
import cn.wisenergy.service.app.SchemeService; import cn.wisenergy.service.app.SchemeService;
import cn.wisenergy.service.app.VolunteerService; import cn.wisenergy.service.app.VolunteerService;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -40,7 +42,7 @@ public class SchemeController { ...@@ -40,7 +42,7 @@ public class SchemeController {
@ApiOperation(value = "方案查询", notes = "方案查询", httpMethod = "GET") @ApiOperation(value = "方案查询", notes = "方案查询", httpMethod = "GET")
@ApiImplicitParam(name = "queryVo", value = "志愿查询参数", dataType = "SchemeQueryVo") @ApiImplicitParam(name = "queryVo", value = "志愿查询参数", dataType = "SchemeQueryVo")
@GetMapping("/getList") @GetMapping("/getList")
public R<VolunteerVo> getList(SchemeQueryVo queryVo) { public R<VolunteerVo> getList(SchemeVo queryVo) {
log.info("volunteer-service[]SchemeController[]getList[]input.param.queryVo:" + queryVo); log.info("volunteer-service[]SchemeController[]getList[]input.param.queryVo:" + queryVo);
if (null == queryVo) { if (null == queryVo) {
return R.error("入参为空!"); return R.error("入参为空!");
...@@ -84,4 +86,17 @@ public class SchemeController { ...@@ -84,4 +86,17 @@ public class SchemeController {
return scheme; return scheme;
} }
@ApiOperation(value = "获取方案列表", notes = "获取方案列表", httpMethod = "GET")
@ApiImplicitParam(name = "queryVo", value = "查询参数", dataType = "SchemeQueryVo")
@GetMapping("/getSchemeList")
public R<PageInfo<SchemeInfo>> getSchemeList(SchemeQueryVo queryVo) {
log.info("volunteer-service[]SchemeController[]getSchemeList[]input.param.queryVo:" + queryVo);
if (null == queryVo) {
return R.error("入参为空!");
}
return schemeService.getSchemeList(queryVo);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment