Commit 20db4cc7 authored by qinhu's avatar qinhu

国标

parent 08eb116b
package cn.wise.sc.cement.business.controller;
import cn.wise.sc.cement.business.entity.Chinastd;
import cn.wise.sc.cement.business.entity.Chinastdcode;
import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.service.IChinastdService;
import cn.wise.sc.cement.business.service.IChinastdcodeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.List;
/**
* <p>
* 国标爬虫表 前端控制器
* </p>
*
* @author ztw
* @since 2020-12-09
*/
@CrossOrigin
@Api(tags = "国标")
@RestController
@RequestMapping("/business/chinastd")
public class ChinastdController {
@Autowired
IChinastdcodeService iChinastdcodeService;
@Autowired
IChinastdService iChinastdService;
@PostMapping
public BaseResponse<Chinastdcode> save(Chinastdcode chinastdcode) {
iChinastdcodeService.save(chinastdcode);
return BaseResponse.okData(chinastdcode);
}
@GetMapping("/page")
@ApiOperation("标准列表")
public BaseResponse<Page<Chinastd>> page(PageQuery pageQuery) {
Page<Chinastd> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
QueryWrapper<Chinastd> qw = new QueryWrapper<>();
qw.lambda()
.or(arg -> arg.eq(Chinastd::getInuse, 1).eq(Chinastd::getStatus, "废止"));
return BaseResponse.okData(iChinastdService.page(page, qw));
}
@GetMapping("/update/page")
@ApiOperation("查新历史")
public BaseResponse<Page<Chinastd>> pageUp(PageQuery pageQuery) {
Page<Chinastd> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
QueryWrapper<Chinastd> qw = new QueryWrapper<>();
qw.lambda().eq(Chinastd::getInuse, 0)
.eq(Chinastd::getStatus, "现行");
return BaseResponse.okData(iChinastdService.page(page, qw));
}
@GetMapping("/all/page")
@ApiOperation("更新记录")
public BaseResponse<Page<Chinastd>> pageAll(PageQuery pageQuery) {
Page<Chinastd> page = new Page<>(pageQuery.getPageNo(), pageQuery.getPageSize());
return BaseResponse.okData(iChinastdService.page(page));
}
@PostMapping("/{id}")
@ApiOperation("更新记录(勾选)")
@Transactional(rollbackFor = Exception.class)
public BaseResponse<Boolean> update(@PathVariable("id") Long id) {
Chinastd chinastd = iChinastdService.getById(id);
if (chinastd == null) {
return BaseResponse.okData(false);
}
//获取前缀
String code = chinastd.getCode().split("-")[0];
QueryWrapper<Chinastd> qw = new QueryWrapper<>();
qw.lambda().like(Chinastd::getCode, code);
List<Chinastd> list = iChinastdService.list(qw);
list.forEach(arg -> {
if (arg.getId().intValue() == id) {
arg.setInuse(true);
} else {
arg.setInuse(false);
}
});
return BaseResponse.okData(iChinastdService.updateBatchById(list));
}
@PostMapping("/chinastdcode")
@ApiOperation("新增国标检索")
public BaseResponse<Boolean> saveChinastdcode(@RequestBody Chinastdcode chinastdcode) {
return BaseResponse.okData(iChinastdcodeService.save(chinastdcode));
}
@GetMapping("/list")
@ApiOperation("国标检测标准列表")
public BaseResponse<List<Chinastdcode>> list() {
return BaseResponse.okData(iChinastdcodeService.list());
}
@PostMapping("/run/sh")
@ApiOperation("手动触发更新")
public void run() throws IOException {
final String shUrl = "/usr/bin/python3 /opt/chinastd_spider.py";
Runtime.getRuntime().exec(shUrl);
}
}
package cn.wise.sc.cement.business.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 国标爬虫表
* </p>
*
* @author ztw
* @since 2020-12-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Chinastd implements Serializable {
private static final long serialVersionUID=1L;
@TableId(type = IdType.AUTO)
private Long id;
/**
* 国标号
*/
private String code;
/**
* 名字
*/
private String title;
/**
* 标准类型: 行业标准/国家标准
*/
private String stdtype;
/**
* 状态: 现行/废止
*/
private String status;
/**
* 颁布时间
*/
private String publictime;
/**
* 0:实验室未使用,1实验室使用
*/
private Boolean inuse;
/**
* 执行时间
*/
private String starttime;
}
package cn.wise.sc.cement.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2020-12-09
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Chinastdcode implements Serializable {
private static final long serialVersionUID=1L;
/**
* 自增id
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 标准前缀
*/
private String codeprefix;
/**
* 标准名字
*/
private String stdname;
/**
* 状态:0.使用 1. 删除
*/
private Integer status;
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.Chinastd;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 国标爬虫表 Mapper 接口
* </p>
*
* @author ztw
* @since 2020-12-09
*/
public interface ChinastdMapper extends BaseMapper<Chinastd> {
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.Chinastdcode;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-12-09
*/
public interface ChinastdcodeMapper extends BaseMapper<Chinastdcode> {
}
<?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="cn.wise.sc.cement.business.mapper.ChinastdMapper">
</mapper>
<?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="cn.wise.sc.cement.business.mapper.ChinastdcodeMapper">
</mapper>
package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.Chinastd;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 国标爬虫表 服务类
* </p>
*
* @author ztw
* @since 2020-12-09
*/
public interface IChinastdService extends IService<Chinastd> {
}
package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.Chinastdcode;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2020-12-09
*/
public interface IChinastdcodeService extends IService<Chinastdcode> {
}
package cn.wise.sc.cement.business.service.impl;
import cn.wise.sc.cement.business.entity.Chinastd;
import cn.wise.sc.cement.business.mapper.ChinastdMapper;
import cn.wise.sc.cement.business.service.IChinastdService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 国标爬虫表 服务实现类
* </p>
*
* @author ztw
* @since 2020-12-09
*/
@Service
public class ChinastdServiceImpl extends ServiceImpl<ChinastdMapper, Chinastd> implements IChinastdService {
}
package cn.wise.sc.cement.business.service.impl;
import cn.wise.sc.cement.business.entity.Chinastdcode;
import cn.wise.sc.cement.business.mapper.ChinastdcodeMapper;
import cn.wise.sc.cement.business.service.IChinastdcodeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2020-12-09
*/
@Service
public class ChinastdcodeServiceImpl extends ServiceImpl<ChinastdcodeMapper, Chinastdcode> implements IChinastdcodeService {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment