Commit 6f1df41c authored by licc's avatar licc

修改excel批量上传接口

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