@@ -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<NdKqZzsfwPolicyVO> list(@RequestParam(defaultValue = "1") int pageNumber, @RequestParam(defaultValue = "10") int pageSize) { | |||||
return policyManage.list(pageNumber,pageSize); | |||||
} | |||||
} |
@@ -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; | |||||
/** | |||||
* <p> | |||||
* | |||||
* </p> | |||||
* | |||||
* @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; | |||||
} |
@@ -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; | |||||
/** | |||||
* <p> | |||||
* | |||||
* </p> | |||||
* | |||||
* @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; | |||||
} |
@@ -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<NdKqZzsfwPolicyVO> list(int pageNumber, int pageSize) { | |||||
Page<NdKqZzsfwPolicy> page = Page.of(pageNumber,pageSize); | |||||
policyService.page(page,Wrappers.lambdaQuery(NdKqZzsfwPolicy.class) | |||||
.orderByAsc(NdKqZzsfwPolicy::getSort)); | |||||
if(CollUtil.isEmpty(page.getRecords())){ | |||||
return PageVo.empty(); | |||||
} | |||||
List<NdKqZzsfwPolicyVO> res = page.getRecords().stream() | |||||
.map(p -> BeanUtil.copyProperties(p,NdKqZzsfwPolicyVO.class)) | |||||
.collect(Collectors.toList()); | |||||
return PageVo.of(res,page.getTotal()); | |||||
} | |||||
} |
@@ -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; | |||||
/** | |||||
* <p> | |||||
* Mapper 接口 | |||||
* </p> | |||||
* | |||||
* @author ZPF | |||||
* @since 2023-10-27 | |||||
*/ | |||||
public interface NdKqZzsfwPolicyMapper extends BaseMapper<NdKqZzsfwPolicy> { | |||||
} |
@@ -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; | |||||
/** | |||||
* <p> | |||||
* 服务类 | |||||
* </p> | |||||
* | |||||
* @author ZPF | |||||
* @since 2023-10-27 | |||||
*/ | |||||
public interface INdKqZzsfwPolicyService extends IService<NdKqZzsfwPolicy> { | |||||
} |
@@ -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; | |||||
/** | |||||
* <p> | |||||
* 服务实现类 | |||||
* </p> | |||||
* | |||||
* @author ZPF | |||||
* @since 2023-10-27 | |||||
*/ | |||||
@Service | |||||
public class NdKqZzsfwPolicyServiceImpl extends ServiceImpl<NdKqZzsfwPolicyMapper, NdKqZzsfwPolicy> | |||||
implements INdKqZzsfwPolicyService { | |||||
} |
@@ -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++)); | |||||
} | |||||
} | |||||
} | |||||
} |