Commit 025bd0fb authored by liaoanyuan's avatar liaoanyuan

增加用户信息导出功能

parent 6b1f8929
...@@ -41,6 +41,13 @@ public interface UsersMapper extends BaseMapper<User> { ...@@ -41,6 +41,13 @@ public interface UsersMapper extends BaseMapper<User> {
*/ */
int delById(@Param("id") Integer id); int delById(@Param("id") Integer id);
/**
*
* @param id 用户id
* @return 用户信息
*/
User getById(@Param("id") Integer id);
int countByPhoneAnsUserId(@Param("phone") String phone, @Param("userId") Integer userId); int countByPhoneAnsUserId(@Param("phone") String phone, @Param("userId") Integer userId);
List<User> getList(Map<String, Object> map); List<User> getList(Map<String, Object> map);
......
...@@ -92,6 +92,14 @@ ...@@ -92,6 +92,14 @@
where id = #{id} where id = #{id}
</delete> </delete>
<select id="getById" resultMap="userMap">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>id = #{id}</where>
</select>
<select id="countByPhoneAnsUserId" resultType="java.lang.Integer"> <select id="countByPhoneAnsUserId" resultType="java.lang.Integer">
SELECT COUNT(1) SELECT COUNT(1)
FROM FROM
...@@ -118,7 +126,9 @@ ...@@ -118,7 +126,9 @@
<if test="phone != null">and phone like ('%' #{phone} '%')</if> <if test="phone != null">and phone like ('%' #{phone} '%')</if>
order by create_time desc order by create_time desc
limit #{pageNo},#{pageSize} <if test="pageNo != null">
limit #{pageNo},#{pageSize}
</if>
</where> </where>
</select> </select>
......
...@@ -48,6 +48,13 @@ public class Volunteer implements Serializable { ...@@ -48,6 +48,13 @@ public class Volunteer implements Serializable {
@ApiModelProperty(value = "方案id", name = "schemeId") @ApiModelProperty(value = "方案id", name = "schemeId")
private Integer schemeId; private Integer schemeId;
/**
* 用户名称
*/
@ApiModelProperty(name = "name", value = "用户名")
@ExcelProperty(value = "用户名")
private String userName;
/** /**
* 专业名称 * 专业名称
*/ */
...@@ -90,6 +97,7 @@ public class Volunteer implements Serializable { ...@@ -90,6 +97,7 @@ public class Volunteer implements Serializable {
@ExcelProperty(value = "计划数") @ExcelProperty(value = "计划数")
private Integer planNum; private Integer planNum;
/** /**
* 计划投档数 * 计划投档数
*/ */
......
...@@ -68,4 +68,7 @@ public class UserCommitDto implements Serializable { ...@@ -68,4 +68,7 @@ public class UserCommitDto implements Serializable {
*/ */
@ApiModelProperty(value = "学生成绩信息", name = "scoreInfo") @ApiModelProperty(value = "学生成绩信息", name = "scoreInfo")
private ScoreInfo scoreInfo; private ScoreInfo scoreInfo;
@ApiModelProperty(value = "flag:1:添加 2:编辑", name = "scoreInfo")
private Integer flag;
} }
package cn.wisenergy.model.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
@Data
@ApiModel(value = "UserDto")
@NoArgsConstructor
@AllArgsConstructor
@Builder
//内容高度
@ContentRowHeight(25)
//表头行高度
@HeadRowHeight(25)
//列的宽度
@ColumnWidth(25)
public class UserDto implements Serializable {
private static final long serialVersionUID = 68008573682224495L;
/**
* 注册时间
*/
@ApiModelProperty(value = "注册时间", name = "registerTime")
@ExcelProperty(value = "注册时间")
private Date registerTime;
/**
* 登录来源
*/
@ApiModelProperty(name ="source",value = "登录来源:1 PC,2 WAP")
@ExcelProperty(value = "注册来源")
private String source;
/**
* 用户名称
*/
@ApiModelProperty(value = "用户名称", name = "userName")
@ExcelProperty(value = "用户名称")
private String userName;
/**
* 性别 0:男 1:女
*/
@ApiModelProperty(value = "性别 0:男 1:女", name = "sex")
@ExcelProperty(value = "性别")
private String sex;
/**
* 考生类型 1:文化课考生 2:美术生 3:体育生 4:文学编导考生
*/
@ApiModelProperty(value = "考生类型 1:文化课考生 2:美术生 3:体育生 4:文学编导考生", name = "examType")
@ExcelProperty(value = "考生类型")
private String examType;
/**
* 手机
*/
@ApiModelProperty(value = "手机号", name = "phone")
@ExcelProperty(value = "手机号")
private String phone;
/**
* 学校
*/
@ApiModelProperty(name = "school", value = "毕业院校")
@ExcelProperty(value = "毕业院校")
private String school;
/**
* 文化成绩
*/
@ApiModelProperty(value = "文化成绩", name = "cultureGrade")
@ExcelProperty(value = "文化成绩")
private String cultureGrade;
/**
* 专业成绩
*/
@ApiModelProperty(value = "专业成绩", name = "majorGrade")
@ExcelProperty(value = "专业成绩")
private String majorGrade;
/**
* 用户剩余查询次数
*/
@ApiModelProperty(value = "用户剩余查询次数", name = "queryLimit")
@ExcelProperty(value = "用户剩余查询次数")
private Integer queryLimit;
/**
* 用户微信充值总金额
*/
@ApiModelProperty(value ="用户微信充值总金额",name = "WeChatMoney")
@ExcelProperty(value = "用户微信充值总金额")
private String weChatMoney;
/**
* 用户支付宝充值总金额
*/
@ApiModelProperty(value ="用户支付宝充值总金额",name = "AlipayMoney")
@ExcelProperty(value = "用户支付宝充值总金额")
private String alipayMoney;
/**
* 用户充值次数
*/
@ApiModelProperty(value ="充值卡充值总次数",name = "RechargeTimes")
@ExcelProperty(value = "充值卡充值总次数")
private int rechargeTimes;
/**
* 用户最后登陆时间
*/
@ApiModelProperty(value = "用户最后登陆时间", name = "lastLoginTime")
@ExcelProperty(value = "用户最后登陆时间")
private Date lastLoginTime;
}
package cn.wisenergy.model.dto; package cn.wisenergy.model.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
...@@ -15,6 +22,15 @@ import java.util.Date; ...@@ -15,6 +22,15 @@ import java.util.Date;
*/ */
@Data @Data
@ApiModel(value = "UserInfoDto") @ApiModel(value = "UserInfoDto")
@NoArgsConstructor
@AllArgsConstructor
@Builder
//内容高度
@ContentRowHeight(25)
//表头行高度
@HeadRowHeight(25)
//列的宽度
@ColumnWidth(25)
public class UserInfoDto implements Serializable { public class UserInfoDto implements Serializable {
private static final long serialVersionUID = 4791446858538524520L; private static final long serialVersionUID = 4791446858538524520L;
...@@ -29,90 +45,112 @@ public class UserInfoDto implements Serializable { ...@@ -29,90 +45,112 @@ public class UserInfoDto implements Serializable {
* 用户名称 * 用户名称
*/ */
@ApiModelProperty(value = "用户名称", name = "userName") @ApiModelProperty(value = "用户名称", name = "userName")
@ExcelProperty(value = "用户名称")
private String userName; private String userName;
/** /**
* 性别 0:男 1:女 * 性别 0:男 1:女
*/ */
@ApiModelProperty(value = "性别 0:男 1:女", name = "sex") @ApiModelProperty(value = "性别 0:男 1:女", name = "sex")
@ExcelProperty(value = "性别")
private Integer sex; private Integer sex;
/** /**
* 考生类型 1:文化课考生 2:美术生 3:体育生 4:文学编导考生 * 考生类型 1:文化课考生 2:美术生 3:体育生 4:文学编导考生
*/ */
@ApiModelProperty(value = "考生类型 1:文化课考生 2:美术生 3:体育生 4:文学编导考生", name = "examType") @ApiModelProperty(value = "考生类型 1:文化课考生 2:美术生 3:体育生 4:文学编导考生", name = "examType")
@ExcelProperty(value = "考生类型")
private Integer examType; private Integer examType;
/** /**
* 登录来源 * 登录来源
*/ */
@ApiModelProperty(name ="source",value = "登录来源:1 PC,2 WAP") @ApiModelProperty(name ="source",value = "登录来源:1 PC,2 WAP")
@ExcelProperty(value = "登录来源")
private Integer source; private Integer source;
/** /**
* 手机 * 手机
*/ */
@ApiModelProperty(value = "手机号", name = "phone") @ApiModelProperty(value = "手机号", name = "phone")
@ExcelProperty(value = "手机号")
private String phone; private String phone;
/**
* 学校
*/
@ApiModelProperty(name = "school", value = "毕业院校")
@ExcelProperty(value = "毕业院校")
private String school;
/** /**
* 文化成绩 * 文化成绩
*/ */
@ApiModelProperty(value = "文化成绩", name = "cultureGrade") @ApiModelProperty(value = "文化成绩", name = "cultureGrade")
@ExcelProperty(value = "文化成绩")
private String cultureGrade; private String cultureGrade;
/** /**
* 专业成绩 * 专业成绩
*/ */
@ApiModelProperty(value = "专业成绩", name = "majorGrade") @ApiModelProperty(value = "专业成绩", name = "majorGrade")
@ExcelProperty(value = "专业成绩")
private String majorGrade; private String majorGrade;
/** /**
* 用户剩余查询次数 * 用户剩余查询次数
*/ */
@ApiModelProperty(value = "用户剩余查询次数", name = "queryLimit") @ApiModelProperty(value = "用户剩余查询次数", name = "queryLimit")
@ExcelProperty(value = "用户剩余查询次数")
private Integer queryLimit; private Integer queryLimit;
/** /**
* 用户充值总金额 * 用户充值总金额
*/ */
@ApiModelProperty(value = "用户充值总金额", name = "moneyAmount") @ApiModelProperty(value = "用户充值总金额", name = "moneyAmount")
@ExcelProperty(value = "用户充值总金额")
private String moneyAmount; private String moneyAmount;
/** /**
* 用户充值次数 * 用户充值次数
*/ */
@ApiModelProperty(value ="充值卡充值总次数",name = "RechargeTimes") @ApiModelProperty(value ="充值卡充值总次数",name = "RechargeTimes")
@ExcelProperty(value = "充值卡充值总次数")
private int rechargeTimes; private int rechargeTimes;
/** /**
* 用户微信充值总金额 * 用户微信充值总金额
*/ */
@ApiModelProperty(value ="用户微信充值总金额",name = "WeChatMoney") @ApiModelProperty(value ="用户微信充值总金额",name = "WeChatMoney")
@ExcelProperty(value = "用户微信充值总金额")
private String weChatMoney; private String weChatMoney;
/** /**
* 用户支付宝充值总金额 * 用户支付宝充值总金额
*/ */
@ApiModelProperty(value ="用户支付宝充值总金额",name = "AlipayMoney") @ApiModelProperty(value ="用户支付宝充值总金额",name = "AlipayMoney")
@ExcelProperty(value = "用户支付宝充值总金额")
private String alipayMoney; private String alipayMoney;
/** /**
* ip * ip
*/ */
@ApiModelProperty(value = "ip", name = "ip") @ApiModelProperty(value = "ip", name = "ip")
@ExcelProperty(value = "ip")
private String ip; private String ip;
/** /**
* 注册时间 * 注册时间
*/ */
@ApiModelProperty(value = "注册时间", name = "registerTime") @ApiModelProperty(value = "注册时间", name = "registerTime")
@ExcelProperty(value = "注册时间")
private Date registerTime; private Date registerTime;
/** /**
* 用户最后登陆时间 * 用户最后登陆时间
*/ */
@ApiModelProperty(value = "用户最后登陆时间", name = "lastLoginTime") @ApiModelProperty(value = "用户最后登陆时间", name = "lastLoginTime")
@ExcelProperty(value = "用户最后登陆时间")
private Date lastLoginTime; private Date lastLoginTime;
......
...@@ -9,6 +9,7 @@ import cn.wisenergy.model.vo.UserQueryVo; ...@@ -9,6 +9,7 @@ import cn.wisenergy.model.vo.UserQueryVo;
import cn.wisenergy.model.vo.UserShowVo; import cn.wisenergy.model.vo.UserShowVo;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
/** /**
...@@ -66,6 +67,14 @@ public interface UserService { ...@@ -66,6 +67,14 @@ public interface UserService {
*/ */
User getByPhone(String phone); User getByPhone(String phone);
/**
* 导出excel
* @param queryVo 用户
* @param response
* @return Excel数据
*/
R<Boolean> createExcel(UserQueryVo queryVo, HttpServletResponse response);
R<List<User>> test(); R<List<User>> test();
} }
...@@ -5,8 +5,10 @@ import cn.wisenergy.common.utils.DateUtil; ...@@ -5,8 +5,10 @@ import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.SchemeRecordMapper; import cn.wisenergy.mapper.SchemeRecordMapper;
import cn.wisenergy.mapper.UserVolunteerMapper; import cn.wisenergy.mapper.UserVolunteerMapper;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.mapper.VolunteerMapper; import cn.wisenergy.mapper.VolunteerMapper;
import cn.wisenergy.model.app.SchemeQueryRecord; import cn.wisenergy.model.app.SchemeQueryRecord;
import cn.wisenergy.model.app.User;
import cn.wisenergy.model.app.UserVolunteer; import cn.wisenergy.model.app.UserVolunteer;
import cn.wisenergy.model.app.Volunteer; import cn.wisenergy.model.app.Volunteer;
import cn.wisenergy.model.vo.SchemeRecordQueryVo; import cn.wisenergy.model.vo.SchemeRecordQueryVo;
...@@ -49,6 +51,9 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch ...@@ -49,6 +51,9 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
@Autowired @Autowired
private VolunteerMapper volunteerMapper; private VolunteerMapper volunteerMapper;
@Autowired
private UsersMapper usersMapper;
@Override @Override
public R<SchemeQueryRecord> add(SchemeQueryRecord scheme) { public R<SchemeQueryRecord> add(SchemeQueryRecord scheme) {
log.info("volunteer-service[]SchemeRecordServiceImpl[]getById[]input.param.scheme:" + scheme); log.info("volunteer-service[]SchemeRecordServiceImpl[]getById[]input.param.scheme:" + scheme);
...@@ -139,6 +144,10 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch ...@@ -139,6 +144,10 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
return R.error("入参为空!"); return R.error("入参为空!");
} }
//获取用户信息
User byId = usersMapper.getById(userId);
String name=byId.getUserName();
//1、根据用户id和方案记录id,获取志愿ids //1、根据用户id和方案记录id,获取志愿ids
QueryWrapper<UserVolunteer> queryWrapper = new QueryWrapper<>(); QueryWrapper<UserVolunteer> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", userId); queryWrapper.eq("user_id", userId);
...@@ -177,7 +186,7 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch ...@@ -177,7 +186,7 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
// 4.向文档中添加内容 // 4.向文档中添加内容
PdfUtil pdfUtil = new PdfUtil(); PdfUtil pdfUtil = new PdfUtil();
pdfUtil.generatePDF(document, result,format); pdfUtil.generatePDF(document, result,name,format);
// 5.关闭文档 // 5.关闭文档
document.close(); document.close();
...@@ -215,6 +224,10 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch ...@@ -215,6 +224,10 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
return R.error("入参为空!"); return R.error("入参为空!");
} }
//获取用户信息
User byId = usersMapper.getById(userId);
String name=byId.getUserName();
//1、根据用户id和方案记录id,获取志愿ids //1、根据用户id和方案记录id,获取志愿ids
QueryWrapper<UserVolunteer> queryWrapper = new QueryWrapper<>(); QueryWrapper<UserVolunteer> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", userId); queryWrapper.eq("user_id", userId);
...@@ -245,6 +258,7 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch ...@@ -245,6 +258,7 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
List<Volunteer> resultBo = result.stream().filter(Objects::nonNull) List<Volunteer> resultBo = result.stream().filter(Objects::nonNull)
.map(t -> { .map(t -> {
return Volunteer.builder() return Volunteer.builder()
.userName(name)
.majorName(t.getMajorName()) .majorName(t.getMajorName())
.academy(t.getAcademy()) .academy(t.getAcademy())
.courseDemand(t.getCourseDemand()) .courseDemand(t.getCourseDemand())
......
package cn.wisenergy.service.app.impl; package cn.wisenergy.service.app.impl;
import cn.hutool.system.UserInfo;
import cn.wisenergy.common.constant.CommonAttributes; import cn.wisenergy.common.constant.CommonAttributes;
import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.R; import cn.wisenergy.common.utils.R;
import cn.wisenergy.mapper.*; import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*; import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.UserCommitDto; import cn.wisenergy.model.dto.UserCommitDto;
import cn.wisenergy.model.dto.UserDto;
import cn.wisenergy.model.dto.UserInfoDto; import cn.wisenergy.model.dto.UserInfoDto;
import cn.wisenergy.model.vo.UserInfoVo; import cn.wisenergy.model.vo.UserInfoVo;
import cn.wisenergy.model.vo.UserQueryVo; import cn.wisenergy.model.vo.UserQueryVo;
import cn.wisenergy.model.vo.UserShowVo; import cn.wisenergy.model.vo.UserShowVo;
import cn.wisenergy.service.app.UserService; import cn.wisenergy.service.app.UserService;
import cn.wisenergy.service.common.VolunteerManager; import cn.wisenergy.service.common.VolunteerManager;
import com.alibaba.excel.EasyExcel;
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 com.github.pagehelper.PageInfo;
...@@ -18,15 +22,14 @@ import lombok.extern.slf4j.Slf4j; ...@@ -18,15 +22,14 @@ import lombok.extern.slf4j.Slf4j;
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;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import javax.servlet.http.HttpServletResponse;
import java.util.HashMap; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
import java.util.Map;
/** /**
* @author 86187
* @ Description: 用户接口实现 * @ Description: 用户接口实现
* @ Author : 86187 * @ Author : 86187
* @ Date : 2021/1/6 16:11 * @ Date : 2021/1/6 16:11
...@@ -53,8 +56,6 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -53,8 +56,6 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Autowired @Autowired
protected VolunteerManager volunteerManager; protected VolunteerManager volunteerManager;
private static final int ERROR_CODE = 1;
@Override @Override
public R<PageInfo<UserInfoDto>> getUserList(UserQueryVo queryVo) { public R<PageInfo<UserInfoDto>> getUserList(UserQueryVo queryVo) {
log.info("volunteer_service[]UserServiceImpl[]getUserList[]input.param.queryVo:" + queryVo); log.info("volunteer_service[]UserServiceImpl[]getUserList[]input.param.queryVo:" + queryVo);
...@@ -63,8 +64,11 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -63,8 +64,11 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
Map<String, Object> map = new HashMap<>(4); Map<String, Object> map = new HashMap<>(4);
//将参数放入容器中 //将参数放入容器中
map.put("pageNo", (queryVo.getPageNo() - 1) * queryVo.getPageSize());
map.put("pageSize", queryVo.getPageSize()); if (null!=queryVo.getPageNo()||null!=queryVo.getPageSize()){
map.put("pageNo", (queryVo.getPageNo() - 1) * queryVo.getPageSize());
map.put("pageSize", queryVo.getPageSize());
}
map.put("startTime", queryVo.getStartTime()); map.put("startTime", queryVo.getStartTime());
map.put("endTime", queryVo.getEndTime()); map.put("endTime", queryVo.getEndTime());
map.put("userName", queryVo.getUserName()); map.put("userName", queryVo.getUserName());
...@@ -82,19 +86,19 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -82,19 +86,19 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
ScoreInfo scoreInfo = scoreInfoMapper.getByUserId(user.getId()); ScoreInfo scoreInfo = scoreInfoMapper.getByUserId(user.getId());
if (null != scoreInfo) { if (null != scoreInfo) {
userInfoDto.setCultureGrade(scoreInfo.getCultureGrade().toString()); userInfoDto.setCultureGrade(scoreInfo.getCultureGrade().toString());
userInfoDto.setMajorGrade(null == scoreInfo.getMajorGrade() ? "" : scoreInfo.getMajorGrade().toString()); userInfoDto.setMajorGrade(null==scoreInfo.getMajorGrade()?"":scoreInfo.getMajorGrade().toString());
} }
LoginRecord loginRecord = loginRecordMapper.getById(user.getId()); LoginRecord loginRecord = loginRecordMapper.getById(user.getId());
if (null != loginRecord) { if (null != loginRecord) {
userInfoDto.setLastLoginTime(loginRecord.getUpdateTime()); userInfoDto.setLastLoginTime(loginRecord.getUpdateTime());
userInfoDto.setIp(loginRecord.getIp()); userInfoDto.setIp(loginRecord.getIp());
} }
UserLimit userLimit = userLimitMapper.getByUserId(user.getId()); UserLimit userLimit = userLimitMapper.getByUserId(user.getId());
if (null != userLimit) { if (null != userLimit) {
userInfoDto.setQueryLimit(userLimit.getUsableLimit()); userInfoDto.setQueryLimit(userLimit.getUsableLimit());
} }
List<PayRecord> byId = payRecordMapper.getById(user.getId()); List<PayRecord> byId = payRecordMapper.getById(user.getId());
//计算充值卡充值次数 //计算充值卡充值次数
Integer rechargeTimes = 0; Integer rechargeTimes = 0;
...@@ -125,21 +129,21 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -125,21 +129,21 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
userInfoDto.setAlipayMoney(String.valueOf(alipayMoney)); userInfoDto.setAlipayMoney(String.valueOf(alipayMoney));
userInfoDto.setRechargeTimes(rechargeTimes); userInfoDto.setRechargeTimes(rechargeTimes);
//将消息进行同步 //将消息进行同步
BeanUtils.copyProperties(user, userInfoDto); BeanUtils.copyProperties(user, userInfoDto);
userInfoDto.setUserId(user.getId()); userInfoDto.setUserId(user.getId());
userInfoDto.setRegisterTime(user.getCreateTime()); userInfoDto.setRegisterTime(user.getCreateTime());
list.add(userInfoDto); list.add(userInfoDto);
} }
PageInfo<UserInfoDto> info = new PageInfo<>(); PageInfo<UserInfoDto> info = new PageInfo<>();
info.setPageSize(queryVo.getPageSize()); info.setPageSize(null==queryVo.getPageSize()?0:queryVo.getPageSize());
info.setPageNum(queryVo.getPageNo()); info.setPageNum(null==queryVo.getPageNo()?0:queryVo.getPageNo());
info.setTotal(usersMapper.getUserNumbers(map)); info.setTotal(usersMapper.getUserNumbers(map));
info.setList(list); info.setList(list);
return R.ok(info); return R.ok(info);
} }
@Override @Override
...@@ -166,24 +170,8 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -166,24 +170,8 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
//3、要提交的用户的成绩信息 //3、要提交的用户的成绩信息
ScoreInfo scoreInfo = userInfo.getScoreInfo(); ScoreInfo scoreInfo = userInfo.getScoreInfo();
//检查副科
R<Boolean> checkScore = volunteerManager.checkScore(scoreInfo);
if (null != checkScore && checkScore.getCode() == ERROR_CODE) {
return R.error(checkScore.getMessage());
}
ScoreInfo flagStatus = scoreInfoMapper.getByUserId(user.getId());
int flag;
if (null == flagStatus) {
//新增
flag = 1;
} else {
//编辑
flag = 2;
}
//4、更新用户信息和保存用户成绩 //4、更新用户信息和保存用户成绩
boolean bool = volunteerManager.updateAndSaveUserInfo(user, scoreInfo,flag); boolean bool = volunteerManager.updateAndSaveUserInfo(user, scoreInfo,userInfo.getFlag());
if (!bool) { if (!bool) {
return R.error("添加用户信息失败!"); return R.error("添加用户信息失败!");
} }
...@@ -220,13 +208,6 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -220,13 +208,6 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
//3、要提交的用户的成绩信息 //3、要提交的用户的成绩信息
ScoreInfo scoreInfo = scoreInfoMapper.getByUserId(userDto.getUserId()); ScoreInfo scoreInfo = scoreInfoMapper.getByUserId(userDto.getUserId());
//检查副科
R<Boolean> checkScore = volunteerManager.checkScore(userDto.getScoreInfo());
if (null != checkScore && checkScore.getCode() == ERROR_CODE) {
return R.error(checkScore.getMessage());
}
scoreInfo.setUserId(userDto.getUserId()); scoreInfo.setUserId(userDto.getUserId());
scoreInfo.setBiologyGrade(userDto.getScoreInfo().getBiologyGrade()); scoreInfo.setBiologyGrade(userDto.getScoreInfo().getBiologyGrade());
scoreInfo.setChemistryGrade(userDto.getScoreInfo().getChemistryGrade()); scoreInfo.setChemistryGrade(userDto.getScoreInfo().getChemistryGrade());
...@@ -286,13 +267,61 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -286,13 +267,61 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
return null; return null;
} }
@Override
public R<Boolean> createExcel(UserQueryVo queryVo, HttpServletResponse response) {
log.info("UserServiceImpl[].createExcel[].input.param:"+queryVo);
queryVo.setPageSize(null);
queryVo.setPageNo(null);
//生成Excel
try {
// 设置内容格式 以及 编码方式
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
List<UserInfoDto> list=getUserList(queryVo).getData().getList();
// 使用java8新特性的stream流去处理数据,把空的数据过滤掉
List<UserDto> resultBo = list.stream().filter(Objects::nonNull)
.map(t -> {
return UserDto.builder()
.registerTime(t.getRegisterTime())
.source(t.getSource()==1?"PC":"APP")
.userName(t.getUserName())
.phone(t.getPhone())
.lastLoginTime(t.getLastLoginTime())
.school(t.getSchool())
.examType(t.getExamType()==1?"文化生":t.getExamType()==2?"美术生":t.getExamType()==3?"体育生":"文学编导考生")
.sex(t.getSex()==0?"男":"女")
.rechargeTimes(t.getRechargeTimes())
.weChatMoney(t.getWeChatMoney())
.alipayMoney(t.getAlipayMoney())
.lastLoginTime(t.getLastLoginTime())
.cultureGrade(t.getCultureGrade())
.majorGrade(t.getMajorGrade())
.build();
}).collect(Collectors.toList());
//创建文件名称
Long lon = System.currentTimeMillis();
response.setHeader("Content-disposition", "attachment;filename=" + lon + ".xlsx");
// sheet名称
EasyExcel.write(response.getOutputStream(), UserDto.class).sheet(lon.toString()).doWrite(resultBo);
return R.ok(0,true);
} catch (Exception e) {
return R.ok(1,false);
}
}
@Override @Override
public R<List<User>> test() { public R<List<User>> test() {
List<String> names = new ArrayList<>(); List<String> names=new ArrayList<>();
names.add("黎楚川"); names.add("黎楚川");
names.add("陈成"); names.add("陈成");
names.add("雷青松"); names.add("雷青松");
List<User> list = usersMapper.test(names); List<User> list=usersMapper.test(names);
return R.ok(list); return R.ok(list);
} }
......
...@@ -116,7 +116,7 @@ public class WxPayServiceImpl implements WxPayService { ...@@ -116,7 +116,7 @@ public class WxPayServiceImpl implements WxPayService {
jsonObject.put("description", "充值"); jsonObject.put("description", "充值");
jsonObject.put("out_trade_no", tradeNo); jsonObject.put("out_trade_no", tradeNo);
jsonObject.put("notify_url", WxCommon.NOTIFY_URL); jsonObject.put("notify_url", WxCommon.NOTIFY_URL);
jsonObject.put("amount", payPageDto); jsonObject.put("amount", payPageDto.getTotal());
String sign = null; String sign = null;
try { try {
sign = SignDemo.getToken(method, httpurl, jsonObject.toJSONString(), nonceStr, timestamp); sign = SignDemo.getToken(method, httpurl, jsonObject.toJSONString(), nonceStr, timestamp);
......
...@@ -44,12 +44,12 @@ public class PdfUtil implements Serializable { ...@@ -44,12 +44,12 @@ public class PdfUtil implements Serializable {
// 生成PDF文件 // 生成PDF文件
public void generatePDF(Document document, List<Volunteer> list, String queryRecordTime) throws Exception { public void generatePDF(Document document, List<Volunteer> list,String name, String queryRecordTime) throws Exception {
// 表格 // 表格
PdfPTable table = createTable(new float[] { 40,80,80, 80, 80, 80, 80, 80, 40, 40, 40 }); PdfPTable table = createTable(new float[] { 40,80,80, 80, 80, 80, 80, 80, 40, 40, 40 });
table.addCell(createCell("查询时间:"+queryRecordTime,headfont,Element.ALIGN_LEFT, 11, false)); table.addCell(createCell("查询时间:"+queryRecordTime+" "+"用户名:"+name,headfont,Element.ALIGN_LEFT, 11, false));
table.addCell(createCell("序号", keyfont, Element.ALIGN_CENTER)); table.addCell(createCell("序号", keyfont, Element.ALIGN_CENTER));
table.addCell(createCell("专业", keyfont, Element.ALIGN_CENTER)); table.addCell(createCell("专业", keyfont, Element.ALIGN_CENTER));
table.addCell(createCell("院校", keyfont, Element.ALIGN_CENTER)); table.addCell(createCell("院校", keyfont, Element.ALIGN_CENTER));
......
...@@ -14,6 +14,7 @@ import cn.wisenergy.web.shiro.JwtUtil; ...@@ -14,6 +14,7 @@ import cn.wisenergy.web.shiro.JwtUtil;
import com.github.pagehelper.PageInfo; 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.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
...@@ -21,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -21,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
...@@ -126,4 +128,17 @@ public class UserController { ...@@ -126,4 +128,17 @@ public class UserController {
return R.ok(token); return R.ok(token);
} }
@ApiOperation(value = "用户Excel导出",notes = "方案Excel导出",httpMethod = "POST")
@ApiImplicitParam(name = "queryVo", value = "用户信息", dataType = "UserQueryVo")
@PostMapping(value = "/createExcel")
public R<Boolean> createExcel(@RequestBody UserQueryVo queryVo, HttpServletResponse response){
log.info("UserController[]createExcel[]input.param.userId,recordId:" + queryVo);
if (null == queryVo) {
return R.error("入参为空!");
}
return userService.createExcel(queryVo,response);
}
} }
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