From 154e2dfc6bb158ab3dcc19b5bd1e3884bc388795 Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Thu, 2 Nov 2023 11:02:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BF=E7=AD=96=E6=9D=A1=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PolicyRegulationsController.java | 36 +++++++++ .../kqapi/zzsfw/entity/entity/NdKqZzsfwPolicy.java | 64 ++++++++++++++++ .../kqapi/zzsfw/entity/vo/NdKqZzsfwPolicyVO.java | 59 ++++++++++++++ .../kqapi/zzsfw/manage/PolicyManage.java | 45 +++++++++++ .../kqapi/zzsfw/mapper/NdKqZzsfwPolicyMapper.java | 17 +++++ .../zzsfw/service/INdKqZzsfwPolicyService.java | 16 ++++ .../service/impl/NdKqZzsfwPolicyServiceImpl.java | 21 +++++ .../java/com/ningdatech/kqapi/menu/PolicyTest.java | 89 ++++++++++++++++++++++ 8 files changed, 347 insertions(+) create mode 100644 kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/PolicyRegulationsController.java create mode 100644 kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwPolicy.java create mode 100644 kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/NdKqZzsfwPolicyVO.java create mode 100644 kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/PolicyManage.java create mode 100644 kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/mapper/NdKqZzsfwPolicyMapper.java create mode 100644 kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/service/INdKqZzsfwPolicyService.java create mode 100644 kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/service/impl/NdKqZzsfwPolicyServiceImpl.java create mode 100644 kqapi/src/test/java/com/ningdatech/kqapi/menu/PolicyTest.java diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/PolicyRegulationsController.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/PolicyRegulationsController.java new file mode 100644 index 0000000..bd7e509 --- /dev/null +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/controller/PolicyRegulationsController.java @@ -0,0 +1,36 @@ +package com.ningdatech.kqapi.zzsfw.controller; + +import com.ningdatech.basic.model.PageVo; +import com.ningdatech.kqapi.zzsfw.entity.vo.NdKqZzsfwPolicyVO; +import com.ningdatech.kqapi.zzsfw.manage.PolicyManage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Classname PolicyRegulationsController + * @Description + * @Date 2023/11/2 9:55 + * @Author PoffyZhang + */ +@Slf4j +@Validated +@RestController +@RequestMapping("/api/v1/poclicy/") +@Api(value = "PolicyRegulationsController", tags = "柯桥-政策条例") +@RequiredArgsConstructor +public class PolicyRegulationsController { + private final PolicyManage policyManage; + + @ApiOperation(value = "政策条例分页列表", notes = "政策条例分页列表") + @GetMapping("/list") + public PageVo list(@RequestParam(defaultValue = "1") int pageNumber, @RequestParam(defaultValue = "10") int pageSize) { + return policyManage.list(pageNumber,pageSize); + } +} diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwPolicy.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwPolicy.java new file mode 100644 index 0000000..a46b3b0 --- /dev/null +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/entity/NdKqZzsfwPolicy.java @@ -0,0 +1,64 @@ +package com.ningdatech.kqapi.zzsfw.entity.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author ZPF + * @since 2023-11-02 + */ +@Data +@TableName("nd_kq_zzsfw_policy") +@ApiModel(value = "NdKqZzsfwPolicy对象", description = "") +public class NdKqZzsfwPolicy implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("id主键") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("数据同步时间") + private LocalDateTime createOn; + + @ApiModelProperty("抬头") + private String header; + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("二级标题") + private String secondTitle; + + @ApiModelProperty("适用地区") + private String regionName; + + @ApiModelProperty("责任部门") + private String department; + + @ApiModelProperty("发文日期") + private String issueDate; + + @ApiModelProperty("状态") + private String status; + + @ApiModelProperty("申报时间") + private String applyTime; + + @ApiModelProperty("在线咨询url") + private String onlineConsultationUrl; + + @ApiModelProperty("排序") + private Integer sort; +} diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/NdKqZzsfwPolicyVO.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/NdKqZzsfwPolicyVO.java new file mode 100644 index 0000000..87d73f7 --- /dev/null +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/entity/vo/NdKqZzsfwPolicyVO.java @@ -0,0 +1,59 @@ +package com.ningdatech.kqapi.zzsfw.entity.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author ZPF + * @since 2023-11-02 + */ +@Data +@ApiModel(value = "NdKqZzsfwPolicy VO", description = "") +public class NdKqZzsfwPolicyVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("id主键") + private Long id; + + @ApiModelProperty("数据同步时间") + private LocalDateTime createOn; + + @ApiModelProperty("抬头") + private String header; + + @ApiModelProperty("标题") + private String title; + + @ApiModelProperty("二级标题") + private String secondTitle; + + @ApiModelProperty("适用地区") + private String regionName; + + @ApiModelProperty("责任部门") + private String department; + + @ApiModelProperty("发文日期") + private String issueDate; + + @ApiModelProperty("状态") + private String status; + + @ApiModelProperty("申报时间") + private String applyTime; + + @ApiModelProperty("在线咨询url") + private String onlineConsultationUrl; + + @ApiModelProperty("排序") + private Integer sort; +} diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/PolicyManage.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/PolicyManage.java new file mode 100644 index 0000000..00312e9 --- /dev/null +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/manage/PolicyManage.java @@ -0,0 +1,45 @@ +package com.ningdatech.kqapi.zzsfw.manage; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ningdatech.basic.model.PageVo; +import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwPolicy; +import com.ningdatech.kqapi.zzsfw.entity.vo.NdKqZzsfwPolicyVO; +import com.ningdatech.kqapi.zzsfw.service.INdKqZzsfwPolicyService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Classname PolicyManage + * @Description + * @Date 2023/11/02 14:55 + * @Author PoffyZhang + */ +@Component +@Slf4j +@RequiredArgsConstructor +public class PolicyManage { + + private final INdKqZzsfwPolicyService policyService; + + + public PageVo list(int pageNumber, int pageSize) { + Page page = Page.of(pageNumber,pageSize); + policyService.page(page,Wrappers.lambdaQuery(NdKqZzsfwPolicy.class) + .orderByAsc(NdKqZzsfwPolicy::getSort)); + + if(CollUtil.isEmpty(page.getRecords())){ + return PageVo.empty(); + } + List res = page.getRecords().stream() + .map(p -> BeanUtil.copyProperties(p,NdKqZzsfwPolicyVO.class)) + .collect(Collectors.toList()); + return PageVo.of(res,page.getTotal()); + } +} diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/mapper/NdKqZzsfwPolicyMapper.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/mapper/NdKqZzsfwPolicyMapper.java new file mode 100644 index 0000000..7d26e08 --- /dev/null +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/mapper/NdKqZzsfwPolicyMapper.java @@ -0,0 +1,17 @@ +package com.ningdatech.kqapi.zzsfw.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwMenu; +import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwPolicy; + +/** + *

+ * Mapper 接口 + *

+ * + * @author ZPF + * @since 2023-10-27 + */ +public interface NdKqZzsfwPolicyMapper extends BaseMapper { + +} diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/service/INdKqZzsfwPolicyService.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/service/INdKqZzsfwPolicyService.java new file mode 100644 index 0000000..981b53d --- /dev/null +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/service/INdKqZzsfwPolicyService.java @@ -0,0 +1,16 @@ +package com.ningdatech.kqapi.zzsfw.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwPolicy; + +/** + *

+ * 服务类 + *

+ * + * @author ZPF + * @since 2023-10-27 + */ +public interface INdKqZzsfwPolicyService extends IService { + +} diff --git a/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/service/impl/NdKqZzsfwPolicyServiceImpl.java b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/service/impl/NdKqZzsfwPolicyServiceImpl.java new file mode 100644 index 0000000..5a565b4 --- /dev/null +++ b/kqapi/src/main/java/com/ningdatech/kqapi/zzsfw/service/impl/NdKqZzsfwPolicyServiceImpl.java @@ -0,0 +1,21 @@ +package com.ningdatech.kqapi.zzsfw.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwPolicy; +import com.ningdatech.kqapi.zzsfw.mapper.NdKqZzsfwPolicyMapper; +import com.ningdatech.kqapi.zzsfw.service.INdKqZzsfwPolicyService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author ZPF + * @since 2023-10-27 + */ +@Service +public class NdKqZzsfwPolicyServiceImpl extends ServiceImpl + implements INdKqZzsfwPolicyService { + +} diff --git a/kqapi/src/test/java/com/ningdatech/kqapi/menu/PolicyTest.java b/kqapi/src/test/java/com/ningdatech/kqapi/menu/PolicyTest.java new file mode 100644 index 0000000..bf3300f --- /dev/null +++ b/kqapi/src/test/java/com/ningdatech/kqapi/menu/PolicyTest.java @@ -0,0 +1,89 @@ +package com.ningdatech.kqapi.menu; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ningdatech.kqapi.AppTests; +import com.ningdatech.kqapi.zzsfw.entity.entity.DscSxAdsShareItemQltQlsxCommonIDVKq; +import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwMenu; +import com.ningdatech.kqapi.zzsfw.entity.entity.NdKqZzsfwPolicy; +import com.ningdatech.kqapi.zzsfw.service.IDscSxAdsShareItemQltQlsxCommonIDVKqService; +import com.ningdatech.kqapi.zzsfw.service.INdKqZzsfwMenuService; +import com.ningdatech.kqapi.zzsfw.service.INdKqZzsfwPolicyService; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Assert; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import java.io.FileInputStream; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Objects; + +/** + * @Classname MenuTest + * @Description + * @Date 2023/10/27 9:51 + * @Author PoffyZhang + */ +public class PolicyTest extends AppTests { + + @Autowired + private INdKqZzsfwPolicyService policyService; + + @Test + public void test() throws IOException { + FileInputStream fis = new FileInputStream("C:\\Users\\PoffyZhang\\Desktop\\政策条例摘录.xlsx"); + Workbook workbook = new XSSFWorkbook(fis); + Assert.assertNotNull(workbook); + Row row; + + policyService.remove(Wrappers.lambdaQuery(NdKqZzsfwPolicy.class)); + + if (workbook != null) { + //获取最大行数 + Sheet sheet = workbook.getSheetAt(0); + int rownum = sheet.getPhysicalNumberOfRows(); + //获取第一行 + row = sheet.getRow(0); + //获取最大列数 + Integer sort = 1; + for (int i = 2; i < rownum; i++) { + row = sheet.getRow(i); + if(row.getZeroHeight()){ + continue; + } + + String header = Objects.nonNull(row.getCell(0)) ? row.getCell(0).getStringCellValue() : null; + String title = Objects.nonNull(row.getCell(1)) ? row.getCell(1).getStringCellValue() : null; + String secondTitle = Objects.nonNull(row.getCell(2)) ? row.getCell(2).getStringCellValue() : null; + String regionName = Objects.nonNull(row.getCell(3)) ? row.getCell(3).getStringCellValue() : null; + String department = Objects.nonNull(row.getCell(4)) ? row.getCell(4).getStringCellValue() : null; + String issueDate = Objects.nonNull(row.getCell(5)) ? DateUtil.format(row.getCell(5).getDateCellValue(),"yyyy/MM/dd") : null; + String status = Objects.nonNull(row.getCell(7)) ? row.getCell(7).getStringCellValue() : null; + String applyTime = Objects.nonNull(row.getCell(8)) ? row.getCell(8).getStringCellValue() : null; + String url = Objects.nonNull(row.getCell(9)) ? row.getCell(9).getStringCellValue() : null; + + NdKqZzsfwPolicy policy = new NdKqZzsfwPolicy(); + policy.setHeader(header); + policy.setTitle(title); + policy.setSecondTitle(secondTitle); + policy.setRegionName(regionName); + policy.setDepartment(department); + policy.setIssueDate(issueDate); + policy.setStatus(status); + policy.setApplyTime(applyTime); + policy.setOnlineConsultationUrl(url); + policy.setCreateOn(LocalDateTime.now()); + policy.setSort(sort); + + policyService.save(policy); + + System.out.println("记数:" + (sort++)); + } + } + } + +}