diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPeriodicallabCountController.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPeriodicallabCountController.java new file mode 100644 index 0000000..aba7837 --- /dev/null +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouPeriodicallabCountController.java @@ -0,0 +1,97 @@ +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 +@RequestMapping("/huzhouPeriodicallabCount") +public class HuzhouPeriodicallabCountController { + @Autowired + private IHuzhouPeriodicallabCountService periodicallabCountService; + + /** + * 查询月度期刊分页 + * @param periodicallabCount 条件 + * @param pageNo 分页 + * @param pageSize 页码 + * @return + */ + @GetMapping("/periodicallabCountPageList") + public Result periodicallabCountPageList(HuzhouPeriodicallabCount periodicallabCount, + @RequestParam(name="current", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize){ + + Page pageList = periodicallabCountService.getPeriodicallabCountPageList(periodicallabCount, pageNo, pageSize); + return Result.ok(pageList); + } + + /** + * 根据id获取详情月度期刊 + * @param id + * @return + */ + @GetMapping("/getperiodicallabById") + public Result getperiodicallabCountById(String id){ + HuzhouPeriodicallabCount byId = periodicallabCountService.getById(id); + return Result.ok(byId); + } + + /** + * 添加月度期刊 + * @param file + * @param periodicallab + * @return + * @throws IOException + */ + @PostMapping("/addPeriodicallabCount") + public Result addPeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount){ + periodicallabCountService.addPeriodicallabCount(periodicallabCount); + return Result.ok("新增成功"); + } + + /** + * 修改阅读期刊 + * @param file + * @param periodicallab + * @return + * @throws IOException + */ + @PostMapping("/modifyPeriodicallabCount") + public Result modifyPeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount){ + Boolean aBoolean = periodicallabCountService.modifyPeriodicallabCount(periodicallabCount); + if(aBoolean){ + return Result.ok("修改成功"); + } + throw new EasyException("修改失败"); + } + + /** + * 删除阅读期刊 + * @param periodicallab + * @return + * @throws IOException + */ + @PostMapping("/deletePeriodicallabCount") + public Result deletePeriodicallabCount(@RequestBody HuzhouPeriodicallabCount periodicallabCount){ + Boolean aBoolean = periodicallabCountService.deletePeriodicallabCount(periodicallabCount); + if(aBoolean){ + return Result.ok("删除成功"); + } + throw new EasyException("删除失败"); + } + +} diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPeriodicallabCountMapper.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPeriodicallabCountMapper.java new file mode 100644 index 0000000..201233e --- /dev/null +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/HuzhouPeriodicallabCountMapper.java @@ -0,0 +1,14 @@ +package com.easy.admin.modules.huzhou.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallab; +import com.easy.admin.modules.huzhou.entity.HuzhouPeriodicallabCount; +import com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage; +import org.apache.ibatis.annotations.Param; + +public interface HuzhouPeriodicallabCountMapper extends BaseMapper { + + +} diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallab.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallab.java index b628982..7060c79 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallab.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallab.java @@ -1,7 +1,9 @@ package com.easy.admin.modules.huzhou.entity; import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Builder; import lombok.Data; +import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; @@ -14,6 +16,8 @@ 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; /** diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallabCount.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallabCount.java new file mode 100644 index 0000000..74e7fc6 --- /dev/null +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/entity/HuzhouPeriodicallabCount.java @@ -0,0 +1,41 @@ +package com.easy.admin.modules.huzhou.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.models.security.SecurityScheme; +import lombok.Builder; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * (HuzhouPeriodicallab)实体类 + * + * @author makejava + * @since 2024-02-29 11:03:40 + */ +@Data +@Accessors(chain = true) +@Builder(toBuilder = true) +public class HuzhouPeriodicallabCount extends BaseEntity implements Serializable { + private static final long serialVersionUID = -50005828024123796L; + + /** + + * id + */ + private String id; + + private String workplace; + + private String adminDivision; + + private Integer countNumber; + + private Integer editNumber; + + +} + diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPeriodicallabCountService.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPeriodicallabCountService.java new file mode 100644 index 0000000..90e3cfd --- /dev/null +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouPeriodicallabCountService.java @@ -0,0 +1,24 @@ +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 { + Page getPeriodicallabCountPageList(HuzhouPeriodicallabCount periodicallabCount, Integer pageNo, + Integer pageSize); + Boolean addPeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount); + Boolean modifyPeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount); + + Boolean deletePeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount); + + String findId(String workplace); + } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabCountServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabCountServiceImpl.java new file mode 100644 index 0000000..5d1bf0b --- /dev/null +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabCountServiceImpl.java @@ -0,0 +1,95 @@ +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; + +@Service +public class HuzhouPeriodicallabCountServiceImpl extends ServiceImpl implements IHuzhouPeriodicallabCountService { + + @Autowired + HuzhouPeriodicallabCountMapper periodicallabCountMapper; + @Override + public Page getPeriodicallabCountPageList(HuzhouPeriodicallabCount periodicallabCount, Integer pageNo, Integer pageSize) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + Page page = new Page<>(pageNo, pageSize); + String workplace = periodicallabCount.getWorkplace(); + String adminDivision = periodicallabCount.getAdminDivision(); + + queryWrapper.like(StringUtils.isNotBlank(workplace),HuzhouPeriodicallabCount::getWorkplace,workplace); + queryWrapper.eq(StringUtils.isNotBlank(adminDivision),HuzhouPeriodicallabCount::getAdminDivision,adminDivision); + + Page periodicallabCountPage = this.page(page, queryWrapper); + List records = periodicallabCountPage.getRecords(); + List 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); + } + Page result=new Page<>(); + result.setRecords(newRecords).setTotal(periodicallabCountPage.getTotal()).setCurrent(periodicallabCountPage.getCurrent()).setSize(periodicallabCountPage.getSize()); + + return result; + } + + @Override + public Boolean addPeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount) { + return this.save(periodicallabCount); + } + + @Override + public Boolean modifyPeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount) { + return this.updateById(periodicallabCount); + } + + @Override + public Boolean deletePeriodicallabCount(HuzhouPeriodicallabCount periodicallabCount) { + String id=periodicallabCount.getId(); + return this.removeById(id); + } + + @Override + public String findId(String workplace) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(StringUtils.isNotBlank(workplace),HuzhouPeriodicallabCount::getWorkplace,workplace); + List result = periodicallabCountMapper.selectObjs(query); + return result == null || result.isEmpty() ? null : (String) result.get(0); + } +} diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabServiceImpl.java index 8d91ebf..8138a3a 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouPeriodicallabServiceImpl.java @@ -8,6 +8,8 @@ import com.easy.admin.auth.model.SysUser; 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.service.IHuzhouPeriodicallabCountService; import com.easy.admin.modules.huzhou.service.IHuzhouPeriodicallabService; import com.easy.admin.modules.huzhou.vo.PeriodicallabCountPage; import com.easy.admin.util.ShiroUtil; @@ -36,6 +38,9 @@ public class HuzhouPeriodicallabServiceImpl extends ServiceImpl getPeriodicallabPageList(HuzhouPeriodicallab periodicallab, Integer pageNo, @@ -59,6 +64,10 @@ public class HuzhouPeriodicallabServiceImpl extends ServiceImpl