Browse Source

月度期刊统计分页、修改1.1

master
Jinyuanyuan 3 months ago
parent
commit
673553e212
  1. 12
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPeriodicallabController.java
  2. 15
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPeriodicallabCountController.java
  3. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPeriodicallabMapper.java
  4. 24
      huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouPeriodicallabMapper.xml
  5. 6
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallab.java
  6. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallabCount.java
  7. 10
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPeriodicallabCountService.java
  8. 5
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPeriodicallabService.java
  9. 54
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabCountServiceImpl.java
  10. 33
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabServiceImpl.java
  11. 17
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/PeriodicallabCountOV.java
  12. 26
      huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/PeriodicallabPageOV.java

12
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPeriodicallabController.java

@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easy.admin.common.api.vo.Result;
import com.easy.admin.common.core.exception.EasyException;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallab;
import com.easy.admin.modules.huzhou.entity.HuzhouRegulationlab;
import com.easy.admin.modules.huzhou.service.IHuzhouPeriodicallabService;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage;
import com.easy.admin.modules.huzhou.vo.PeriodicallabPageOV;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -100,13 +102,5 @@ public class HuzhouPeriodicallabController {
public void batchdownloadPeriodicallabFiles(HuzhouPeriodicallab periodicallab, HttpServletResponse response){
periodicallabService.batchdownloadPeriodicallabFiles(periodicallab,response);
}
//统计分页
@GetMapping("/countPeriodicallabPage")
public Result<?> countPeriodicallabPage(PeriodicallabCountPage periodicallab,
@RequestParam(name="sortOrder", defaultValue="desc") String sortOrder,
@RequestParam(name="current", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize){
IPage<PeriodicallabCountPage> pageList = periodicallabService.countPeriodicallabPage(periodicallab,sortOrder, pageNo, pageSize);
return Result.ok(pageList);
}
}

15
huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPeriodicallabCountController.java

@ -1,20 +1,13 @@
package com.easy.admin.modules.huzhou.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.easy.admin.common.api.vo.Result;
import com.easy.admin.common.core.exception.EasyException;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallab;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallabCount;
import com.easy.admin.modules.huzhou.service.IHuzhouPeriodicallabCountService;
import com.easy.admin.modules.huzhou.service.IHuzhouPeriodicallabService;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountOV;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@RestController
@ -32,10 +25,11 @@ public class HuzhouPeriodicallabCountController {
*/
@GetMapping("/periodicallabCountPageList")
public Result<?> periodicallabCountPageList(HuzhouPeriodicallabCount periodicallabCount,
@RequestParam(name="sortOrder",defaultValue="") String orderDir,
@RequestParam(name="current", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize){
Page<PeriodicallabCountOV> pageList = periodicallabCountService.getPeriodicallabCountPageList(periodicallabCount, pageNo, pageSize);
Page<HuzhouPeriodicallabCount> pageList = periodicallabCountService.getPeriodicallabCountPageList(periodicallabCount, orderDir,pageNo, pageSize);
return Result.ok(pageList);
}
@ -52,8 +46,6 @@ public class HuzhouPeriodicallabCountController {
/**
* 添加月度期刊
* @param file
* @param periodicallab
* @return
* @throws IOException
*/
@ -65,8 +57,6 @@ public class HuzhouPeriodicallabCountController {
/**
* 修改阅读期刊
* @param file
* @param periodicallab
* @return
* @throws IOException
*/
@ -81,7 +71,6 @@ public class HuzhouPeriodicallabCountController {
/**
* 删除阅读期刊
* @param periodicallab
* @return
* @throws IOException
*/

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPeriodicallabMapper.java

@ -11,5 +11,5 @@ import org.apache.ibatis.annotations.Param;
public interface HuzhouPeriodicallabMapper extends BaseMapper<HuzhouPeriodicallab> {
IPage<PeriodicallabCountPage> getPeriodicalCountPage(Page page, @Param("info") PeriodicallabCountPage info, @Param("orderBy") String orderBy);
}

24
huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouPeriodicallabMapper.xml

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.easy.admin.modules.huzhou.dao.HuzhouPeriodicallabMapper">
<resultMap id="countPageMap" type="com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage">
<result property="workplace" column="workplace" jdbcType="VARCHAR"/>
<result property="adminDivision" column="adminDivision" jdbcType="VARCHAR"/>
<result property="number" column="number" jdbcType="NUMERIC"/>
</resultMap>
<select id="getPeriodicalCountPage" resultMap="countPageMap">
select COUNT(*) as number,duty_workplace as workplace,admin_division as adminDivision from huzhou_periodicallab
<where>
<if test="info.adminDivision!=null and info.adminDivision!=''">
<bind name="tempStr" value="'%' + info.adminDivision + '%'" />
and u.admin_division like #{tempStr}
</if>
<if test="info.workplace!=null and info.workplace!=''">
<bind name="tempStr1" value="'%' + info.workplace + '%'" />
and u.duty_workplace like #{tempStr1}
</if>
</where>
group by duty_workplace,adminDivision
</select>
</mapper>

6
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallab.java

@ -16,8 +16,6 @@ import java.util.Date;
* @since 2024-02-29 11:03:40
*/
@Data
@Accessors(chain = true)
@Builder(toBuilder = true)
public class HuzhouPeriodicallab extends BaseEntity implements Serializable {
private static final long serialVersionUID = -50005828024123796L;
/**
@ -62,10 +60,6 @@ public class HuzhouPeriodicallab extends BaseEntity implements Serializable {
*/
private String status;
private String workplace;
private String adminDivision;
}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallabCount.java

@ -28,7 +28,7 @@ public class HuzhouPeriodicallabCount extends BaseEntity implements Serializable
*/
private String id;
private String workplace;
private String dutyWorkplace;
private String adminDivision;

10
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPeriodicallabCountService.java

@ -1,19 +1,11 @@
package com.easy.admin.modules.huzhou.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallab;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallabCount;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountOV;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public interface IHuzhouPeriodicallabCountService extends IService<HuzhouPeriodicallabCount> {
Page<PeriodicallabCountOV> getPeriodicallabCountPageList(HuzhouPeriodicallabCount periodicallabCount, Integer pageNo,
Page<HuzhouPeriodicallabCount> getPeriodicallabCountPageList(HuzhouPeriodicallabCount periodicallabCount, String orderDir,Integer pageNo,
Integer pageSize);
Boolean addPeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount);
Boolean modifyPeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount);

5
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPeriodicallabService.java

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallab;
import com.easy.admin.modules.huzhou.entity.HuzhouRegulationlab;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage;
import com.easy.admin.modules.huzhou.vo.PeriodicallabPageOV;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
@ -13,7 +14,7 @@ import java.io.IOException;
public interface IHuzhouPeriodicallabService extends IService<HuzhouPeriodicallab> {
Page<HuzhouPeriodicallab> getPeriodicallabPageList(HuzhouPeriodicallab periodicallab, Integer pageNo,
Integer pageSize);
Integer pageSize);
void addPeriodicallab(MultipartFile file,HuzhouPeriodicallab periodicallab) throws IOException;
Boolean modifyPeriodicallab(MultipartFile file, HuzhouPeriodicallab periodicallab) throws IOException;
@ -21,5 +22,5 @@ public interface IHuzhouPeriodicallabService extends IService<HuzhouPeriodicalla
void batchdownloadPeriodicallabFiles(HuzhouPeriodicallab periodicallab,HttpServletResponse response);
IPage<PeriodicallabCountPage> countPeriodicallabPage(PeriodicallabCountPage periodicallab, String sortOrder, Integer pageNo, Integer pageSize);
}

54
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabCountServiceImpl.java

@ -1,39 +1,17 @@
package com.easy.admin.modules.huzhou.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.easy.admin.auth.model.SysUser;
import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.modules.huzhou.dao.HuzhouPeriodicallabCountMapper;
import com.easy.admin.modules.huzhou.dao.HuzhouPeriodicallabMapper;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallab;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallabCount;
import com.easy.admin.modules.huzhou.service.IHuzhouPeriodicallabCountService;
import com.easy.admin.modules.huzhou.service.IHuzhouPeriodicallabService;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountOV;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage;
import com.easy.admin.util.ShiroUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import java.util.Objects;
@Service
public class HuzhouPeriodicallabCountServiceImpl extends ServiceImpl<HuzhouPeriodicallabCountMapper, HuzhouPeriodicallabCount> implements IHuzhouPeriodicallabCountService {
@ -41,30 +19,22 @@ public class HuzhouPeriodicallabCountServiceImpl extends ServiceImpl<HuzhouPerio
@Autowired
HuzhouPeriodicallabCountMapper periodicallabCountMapper;
@Override
public Page<PeriodicallabCountOV> getPeriodicallabCountPageList(HuzhouPeriodicallabCount periodicallabCount, Integer pageNo, Integer pageSize) {
public Page<HuzhouPeriodicallabCount> getPeriodicallabCountPageList(HuzhouPeriodicallabCount periodicallabCount,String orderDir, Integer pageNo, Integer pageSize) {
LambdaQueryWrapper<HuzhouPeriodicallabCount> queryWrapper = new LambdaQueryWrapper<>();
Page<HuzhouPeriodicallabCount> page = new Page<>(pageNo, pageSize);
String workplace = periodicallabCount.getWorkplace();
String workplace = periodicallabCount.getDutyWorkplace();
String adminDivision = periodicallabCount.getAdminDivision();
queryWrapper.like(StringUtils.isNotBlank(workplace),HuzhouPeriodicallabCount::getWorkplace,workplace);
queryWrapper.like(StringUtils.isNotBlank(workplace),HuzhouPeriodicallabCount::getDutyWorkplace,workplace);
queryWrapper.eq(StringUtils.isNotBlank(adminDivision),HuzhouPeriodicallabCount::getAdminDivision,adminDivision);
Page<HuzhouPeriodicallabCount> periodicallabCountPage = this.page(page, queryWrapper);
List<HuzhouPeriodicallabCount> records = periodicallabCountPage.getRecords();
List<PeriodicallabCountOV> newRecords=new ArrayList<>();
for(HuzhouPeriodicallabCount r:records){
PeriodicallabCountOV ov = new PeriodicallabCountOV();
BeanUtils.copyProperties(r,ov);
if(r.getEditNumber() == null){
ov.setShowNumber(r.getCountNumber());
}else {
ov.setShowNumber(r.getEditNumber());
}
newRecords.add(ov);
if(Objects.equals(orderDir, "descend")){
queryWrapper.orderByDesc(HuzhouPeriodicallabCount::getCountNumber);
} else if (Objects.equals(orderDir, "ascend")){
queryWrapper.orderByAsc(HuzhouPeriodicallabCount::getCountNumber);
}
Page<PeriodicallabCountOV> result=new Page<>();
result.setRecords(newRecords).setTotal(periodicallabCountPage.getTotal()).setCurrent(periodicallabCountPage.getCurrent()).setSize(periodicallabCountPage.getSize());
Page<HuzhouPeriodicallabCount> result = this.page(page, queryWrapper);
return result;
}
@ -88,7 +58,7 @@ public class HuzhouPeriodicallabCountServiceImpl extends ServiceImpl<HuzhouPerio
@Override
public String findId(String workplace) {
LambdaQueryWrapper<HuzhouPeriodicallabCount> query = new LambdaQueryWrapper<>();
query.eq(StringUtils.isNotBlank(workplace),HuzhouPeriodicallabCount::getWorkplace,workplace);
query.eq(StringUtils.isNotBlank(workplace),HuzhouPeriodicallabCount::getDutyWorkplace,workplace);
List<?> result = periodicallabCountMapper.selectObjs(query);
return result == null || result.isEmpty() ? null : (String) result.get(0);
}

33
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabServiceImpl.java

@ -9,9 +9,11 @@ import com.easy.admin.common.util.CommonUtils;
import com.easy.admin.modules.huzhou.dao.HuzhouPeriodicallabMapper;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallab;
import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallabCount;
import com.easy.admin.modules.huzhou.entity.HuzhouRegulationlab;
import com.easy.admin.modules.huzhou.service.IHuzhouPeriodicallabCountService;
import com.easy.admin.modules.huzhou.service.IHuzhouPeriodicallabService;
import com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage;
import com.easy.admin.modules.huzhou.vo.PeriodicallabPageOV;
import com.easy.admin.util.ShiroUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -43,19 +45,20 @@ public class HuzhouPeriodicallabServiceImpl extends ServiceImpl<HuzhouPeriodical
IHuzhouPeriodicallabCountService periodicallabCountService;
@Override
public Page<HuzhouPeriodicallab> getPeriodicallabPageList(HuzhouPeriodicallab periodicallab,
Integer pageNo,
Integer pageSize) {
Integer pageNo,
Integer pageSize) {
LambdaQueryWrapper<HuzhouPeriodicallab> queryWrapper = new LambdaQueryWrapper<>();
Page<HuzhouPeriodicallab> huzhouPeriodicallabPage = new Page<>(pageNo, pageSize);
String periodicallabName = periodicallab.getName();
String documentName = periodicallab.getDocumentName();
String periodicallabPeriods = periodicallab.getPeriods();
queryWrapper.like(StringUtils.isNotBlank(periodicallabName),HuzhouPeriodicallab::getName,periodicallabName);
queryWrapper.eq(StringUtils.isNotBlank(periodicallabPeriods),HuzhouPeriodicallab::getPeriods,periodicallabPeriods);
String periods = periodicallab.getPeriods();
Date publishTime = periodicallab.getPublishTime();
queryWrapper.like(StringUtils.isNotBlank(documentName),HuzhouPeriodicallab::getDocumentName,documentName);
queryWrapper.like(StringUtils.isNotBlank(periodicallabName),HuzhouPeriodicallab::getName,periodicallabName);
queryWrapper.eq(StringUtils.isNotBlank(periods),HuzhouPeriodicallab::getPeriods,periods);
if(publishTime!=null){
queryWrapper.eq(HuzhouPeriodicallab::getPublishTime,publishTime);
}
Page<HuzhouPeriodicallab> page = this.page(huzhouPeriodicallabPage, queryWrapper);
return page;
}
@ -64,10 +67,6 @@ public class HuzhouPeriodicallabServiceImpl extends ServiceImpl<HuzhouPeriodical
public void addPeriodicallab(MultipartFile file, HuzhouPeriodicallab periodicallab) throws IOException {
addFile(file,periodicallab);
this.save(periodicallab);
String workplace = periodicallab.getWorkplace();
String id = periodicallabCountService.findId(workplace);
int num = periodicallabCountService.getById(id).getCountNumber() + 1;
periodicallabCountService.modifyPeriodicallabCount(HuzhouPeriodicallabCount.builder().id(id).countNumber(num).build());
}
@Override
@ -93,10 +92,6 @@ public class HuzhouPeriodicallabServiceImpl extends ServiceImpl<HuzhouPeriodical
File file = new File(periodicallab.getDocumentPath());
if(file.delete()){
this.removeById(id);
String workplace = periodicallabMapper.selectById(id).getWorkplace();
String periodicallabCountId = periodicallabCountService.findId(workplace);
int num=periodicallabCountService.getById(periodicallabCountId).getCountNumber()-1;
periodicallabCountService.modifyPeriodicallabCount(HuzhouPeriodicallabCount.builder().id(periodicallabCountId).countNumber(num).build());
return Boolean.TRUE;
}
@ -133,12 +128,6 @@ public class HuzhouPeriodicallabServiceImpl extends ServiceImpl<HuzhouPeriodical
}
}
@Override
public IPage<PeriodicallabCountPage> countPeriodicallabPage(PeriodicallabCountPage periodicallab, String sortOrder, Integer pageNo, Integer pageSize) {
Page<HuzhouPeriodicallab> page = new Page<>(pageNo, pageSize);
IPage<PeriodicallabCountPage> result = periodicallabMapper.getPeriodicalCountPage(page, periodicallab, sortOrder);
return result;
}
private void addFile(MultipartFile file,HuzhouPeriodicallab periodicallab) throws IOException {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");

17
huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/PeriodicallabCountOV.java

@ -6,20 +6,7 @@ import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
@Builder(toBuilder = true)
public class PeriodicallabCountOV {
/**
* id
*/
private String id;
private String workplace;
private String adminDivision;
private Integer countNumber;
private Integer editNumber;
private Integer showNumber;
}

26
huzhou/src/main/java/com/easy/admin/modules/huzhou/vo/PeriodicallabPageOV.java

@ -0,0 +1,26 @@
package com.easy.admin.modules.huzhou.vo;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
@Data
@Accessors(chain = true)
@Builder(toBuilder = true)
public class PeriodicallabPageOV {
private String id;
/**
* 期刊名称
*/
private String name;
/**
* 期数
*/
private String periods;
private Date publishTime;
}
Loading…
Cancel
Save