微信报告

This commit is contained in:
cjw 2024-10-14 10:21:46 +08:00
parent 8f7d21a82f
commit 717ea7bbdc
4 changed files with 63 additions and 11 deletions

View File

@ -1,22 +1,35 @@
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 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.TableDataInfo;
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.SysScaleBo;
import org.dromara.scale.domain.vo.ReservationOrderVo;
import org.dromara.scale.domain.vo.StatisticNumVo;
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
import org.dromara.scale.domain.vo.SysScaleVo;
import org.dromara.scale.domain.vo.*;
import org.dromara.scale.service.IArchiveService;
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.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
/**
@ -33,6 +46,8 @@ import java.util.List;
public class WxMyController extends BaseController {
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) {
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);
}
}
}

View File

@ -23,7 +23,7 @@ public class ActivityEnterBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = {EditGroup.class})
//@NotNull(message = "不能为空", groups = {EditGroup.class})
private Long id;
/**

View File

@ -1,6 +1,7 @@
package org.dromara.scale.service.impl;
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.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
@ -17,6 +18,7 @@ import org.dromara.scale.service.IActivityEnterService;
import org.springframework.stereotype.Service;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -111,16 +113,18 @@ public class ActivityEnterServiceImpl implements IActivityEnterService {
@Override
public Boolean updateByBo(ActivityEnterBo bo) {
Long userId = LoginHelper.getUserId();
Long activityId = bo.getActivityId();
boolean exists = baseMapper.exists(new LambdaQueryWrapper<ActivityEnter>()
.eq(ActivityEnter::getActivityId, bo.getActivityId())
.eq(ActivityEnter::getActivityId, activityId)
.eq(ActivityEnter::getCreateBy, userId));
if (!exists) {
throw new ServiceException("签到失败,请先报名活动");
}
ActivityEnter update = MapstructUtils.convert(bo, ActivityEnter.class);
update.setStatus(1);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
return baseMapper.update(new LambdaUpdateWrapper<ActivityEnter>()
.set(ActivityEnter::getStatus, 1)
.set(ActivityEnter::getUpdateTime, new Date())
.eq(ActivityEnter::getActivityId, activityId)
.eq(ActivityEnter::getCreateBy, userId)) > 0;
}
/**

View File

@ -15,7 +15,7 @@
u.user_type
from sys_user u
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 != ''">
and u.nick_name like CONCAT('%', #{query.nickName}, '%')
</if>