微信报告
This commit is contained in:
parent
8f7d21a82f
commit
717ea7bbdc
|
@ -1,22 +1,35 @@
|
||||||
package org.dromara.scale.controller.wx;
|
package org.dromara.scale.controller.wx;
|
||||||
|
|
||||||
|
import cn.hutool.core.io.FileUtil;
|
||||||
|
import cn.hutool.core.io.IoUtil;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.domain.R;
|
import org.dromara.common.core.domain.R;
|
||||||
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
|
import org.dromara.common.core.utils.file.FileUtils;
|
||||||
|
import org.dromara.common.log.annotation.Log;
|
||||||
|
import org.dromara.common.log.enums.BusinessType;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.scale.domain.bo.BaseQueryBo;
|
||||||
import org.dromara.scale.domain.bo.ReservationOrderBo;
|
import org.dromara.scale.domain.bo.ReservationOrderBo;
|
||||||
import org.dromara.scale.domain.bo.SysScaleBo;
|
import org.dromara.scale.domain.bo.SysScaleBo;
|
||||||
import org.dromara.scale.domain.vo.ReservationOrderVo;
|
import org.dromara.scale.domain.vo.*;
|
||||||
import org.dromara.scale.domain.vo.StatisticNumVo;
|
import org.dromara.scale.service.IArchiveService;
|
||||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
|
||||||
import org.dromara.scale.domain.vo.SysScaleVo;
|
|
||||||
import org.dromara.scale.service.IMyService;
|
import org.dromara.scale.service.IMyService;
|
||||||
|
import org.dromara.scale.service.ISysEvaluationRecordService;
|
||||||
|
import org.dromara.scale.utils.AsposeUtil;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -33,6 +46,8 @@ import java.util.List;
|
||||||
public class WxMyController extends BaseController {
|
public class WxMyController extends BaseController {
|
||||||
|
|
||||||
private final IMyService myService;
|
private final IMyService myService;
|
||||||
|
private final IArchiveService archiveService;
|
||||||
|
private final ISysEvaluationRecordService sysEvaluationRecordService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取各数量数量
|
* 获取各数量数量
|
||||||
|
@ -81,4 +96,37 @@ public class WxMyController extends BaseController {
|
||||||
public TableDataInfo<SysEvaluationRecordVo> personalList(PageQuery pageQuery) {
|
public TableDataInfo<SysEvaluationRecordVo> personalList(PageQuery pageQuery) {
|
||||||
return myService.queryPersonalEvaluationRecordPageList(pageQuery);
|
return myService.queryPersonalEvaluationRecordPageList(pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取档案静态列表
|
||||||
|
*/
|
||||||
|
@GetMapping("/archive/pageList")
|
||||||
|
public TableDataInfo<ArchiveStatisticVo> statisticPageList(Long userId, PageQuery pageQuery) {
|
||||||
|
return archiveService.queryStatisticPageList(userId, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出量测记录列表
|
||||||
|
*/
|
||||||
|
@Log(title = "个人量测记录", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/evaluation/record/export")
|
||||||
|
public void export(BaseQueryBo bo, HttpServletResponse response) throws Exception {
|
||||||
|
String filePath = sysEvaluationRecordService.getWordTemplate(bo);
|
||||||
|
File pdf = FileUtil.createTempFile(".pdf", true);
|
||||||
|
String pdfPath = pdf.getPath();
|
||||||
|
File pdfFile = new File(pdfPath);
|
||||||
|
AsposeUtil.wordToPdf(filePath, pdfFile);
|
||||||
|
FileUtils.setAttachmentResponseHeader(response, bo.getNickName() + "的报告" + "-" + bo.getScaleName());
|
||||||
|
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8");
|
||||||
|
try (InputStream inputStream = new FileInputStream(pdfFile)) {
|
||||||
|
int available = inputStream.available();
|
||||||
|
IoUtil.copy(inputStream, response.getOutputStream(), available);
|
||||||
|
response.setContentLength(available);
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new ServiceException(e.getMessage());
|
||||||
|
} finally {
|
||||||
|
FileUtil.del(filePath);
|
||||||
|
FileUtil.del(pdfPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ public class ActivityEnterBo extends BaseEntity {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "不能为空", groups = {EditGroup.class})
|
//@NotNull(message = "不能为空", groups = {EditGroup.class})
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package org.dromara.scale.service.impl;
|
package org.dromara.scale.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
@ -17,6 +18,7 @@ import org.dromara.scale.service.IActivityEnterService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -111,16 +113,18 @@ public class ActivityEnterServiceImpl implements IActivityEnterService {
|
||||||
@Override
|
@Override
|
||||||
public Boolean updateByBo(ActivityEnterBo bo) {
|
public Boolean updateByBo(ActivityEnterBo bo) {
|
||||||
Long userId = LoginHelper.getUserId();
|
Long userId = LoginHelper.getUserId();
|
||||||
|
Long activityId = bo.getActivityId();
|
||||||
boolean exists = baseMapper.exists(new LambdaQueryWrapper<ActivityEnter>()
|
boolean exists = baseMapper.exists(new LambdaQueryWrapper<ActivityEnter>()
|
||||||
.eq(ActivityEnter::getActivityId, bo.getActivityId())
|
.eq(ActivityEnter::getActivityId, activityId)
|
||||||
.eq(ActivityEnter::getCreateBy, userId));
|
.eq(ActivityEnter::getCreateBy, userId));
|
||||||
if (!exists) {
|
if (!exists) {
|
||||||
throw new ServiceException("签到失败,请先报名活动");
|
throw new ServiceException("签到失败,请先报名活动");
|
||||||
}
|
}
|
||||||
ActivityEnter update = MapstructUtils.convert(bo, ActivityEnter.class);
|
return baseMapper.update(new LambdaUpdateWrapper<ActivityEnter>()
|
||||||
update.setStatus(1);
|
.set(ActivityEnter::getStatus, 1)
|
||||||
validEntityBeforeSave(update);
|
.set(ActivityEnter::getUpdateTime, new Date())
|
||||||
return baseMapper.updateById(update) > 0;
|
.eq(ActivityEnter::getActivityId, activityId)
|
||||||
|
.eq(ActivityEnter::getCreateBy, userId)) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
u.user_type
|
u.user_type
|
||||||
from sys_user u
|
from sys_user u
|
||||||
left join sys_dept d on d.dept_id = u.dept_id
|
left join sys_dept d on d.dept_id = u.dept_id
|
||||||
where u.user_type = 'student'
|
where u.user_type = 'app_user'
|
||||||
<if test="query.nickName != null and query.nickName != ''">
|
<if test="query.nickName != null and query.nickName != ''">
|
||||||
and u.nick_name like CONCAT('%', #{query.nickName}, '%')
|
and u.nick_name like CONCAT('%', #{query.nickName}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
Loading…
Reference in New Issue