Browse Source

第二次提交

master
李世鹏 3 years ago
parent
commit
01b999dd16
  1. 6
      pom.xml
  2. 5
      src/main/java/org/springblade/ftpdemo/controller/DockingController.java
  3. 2
      src/main/java/org/springblade/ftpdemo/entity/NbmsEntApply.java
  4. 16
      src/main/java/org/springblade/ftpdemo/service/IdentificationIp.java
  5. 8
      src/main/java/org/springblade/ftpdemo/service/Method.java
  6. 115
      src/main/java/org/springblade/ftpdemo/service/impl/MethodImpl.java
  7. 32
      src/main/java/org/springblade/ftpdemo/task/IdentificationUp.java
  8. 76
      src/main/java/org/springblade/ftpdemo/task/IdentificationUpTask.java

6
pom.xml

@ -129,6 +129,12 @@
<groupId>com.github.whvcse</groupId>
<artifactId>easy-captcha</artifactId>
</dependency>
<!-- org.apache.common.io提供了对FTP的开发 -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.54</version>
</dependency>
<!-- Mybatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>

5
src/main/java/org/springblade/ftpdemo/controller/DockingController.java

@ -3,7 +3,8 @@ package org.springblade.ftpdemo.controller;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
import cn.hutool.core.date.DateUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.ftpdemo.util.Encrypt;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
@ -152,7 +153,7 @@ public class DockingController {
throw new RuntimeException(e);
}
// 要上传的目录
String upSrc = "/001/"+ DateUtil.format(DateUtil.date(),"yyyyMMdd");
String upSrc = "/001/"+ DateUtil.format(DateUtil.now(),"yyyyMMdd");
System.out.println("目录地址"+upSrc);
// 确保目录一定存在

2
src/main/java/org/springblade/ftpdemo/entity/NbmsEntApply.java

@ -6,11 +6,13 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@TableName("nbms_ent_apply")
@Data
public class NbmsEntApply implements Serializable {
private static final long serialVersionUID = 1L;

16
src/main/java/org/springblade/ftpdemo/service/IdentificationIp.java

@ -13,13 +13,15 @@ import java.io.File;
*/
public class IdentificationIp {
public static void main(String[] args) throws Exception {
MethodImpl method = new MethodImpl();
String fileName = "d://aaa//test.txt";
// 要上传的目录
String upSrc = "/002/" + DateUtil.format(DateUtil.now(), "yyyyMMdd");
// 表名(文件名的一部分)
String tableName = "SDQN-basic_identification_ip-";
method.upMethod(fileName, upSrc,tableName);
// MethodImpl method = new MethodImpl();
// String fileName = "d://aaa//test.txt";
// // 要上传的目录
// String upSrc = "/002/" + DateUtil.format(DateUtil.now(), "yyyyMMdd");
// // 表名(文件名的一部分)
// String tableName = "SDQN-basic_identification_ip-";
// // 操作类型为新增
// String operationName = "-add.bin";
// method.upMethod(fileName, upSrc, tableName, operationName);
}

8
src/main/java/org/springblade/ftpdemo/service/Method.java

@ -1,10 +1,14 @@
package org.springblade.ftpdemo.service;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* @author laifeng
* @since 2022/11/27
*/
public interface Method {
void upMethod(String readFile, String upSrc,String tableName) throws Exception;
String creatFile();
void upMethod(String readFile, String upSrc,String tableName,String operationName) throws Exception;
Boolean creatIdentificationUpFile(Integer type,String yyyyMMdd,String yyyyMMddToday) throws IOException;
}

115
src/main/java/org/springblade/ftpdemo/service/impl/MethodImpl.java

@ -1,19 +1,46 @@
package org.springblade.ftpdemo.service.impl;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.ftpdemo.cache.CodeCache;
import org.springblade.ftpdemo.controller.SSHRemoteCall;
import org.springblade.ftpdemo.entity.NbmsEntApply;
import org.springblade.ftpdemo.service.Method;
import org.springblade.ftpdemo.service.NbmsEntApplyServcie;
import org.springblade.ftpdemo.util.Constant;
import org.springblade.ftpdemo.util.Encrypt;
import org.springframework.stereotype.Service;
import java.io.*;
import java.util.Date;
import java.util.List;
/**
* @author laifeng
* @since 2022/11/27
*/
@Service
@AllArgsConstructor
public class MethodImpl implements Method {
private final NbmsEntApplyServcie nbmsEntApplyServcie;
String companyCode; //标识码企业前缀
String companyName; // 标识解析节点经营主体名称
String level; // 标识解析系统级别
String accessProvince; // 接入省份
String accessCity; // 接入地市
String registerTime; // 注册时间
String categoryA; // 经营主体行业门类
String categoryB; // 经营主体行业大类
String companyType; // 公司性质
String serviceProfession; //节点服务行业
String startIP = "223.99.228.240";
String endIP = "223.99.228.240";
String position = "中国山东省济南市自由贸易试验区济南片区颖秀路2299号";
@Override
public void upMethod(String readFile, String upSrc,String tableName) throws Exception {
public void upMethod(String readFile, String upSrc, String tableName, String operationName) throws Exception {
File file = new File(readFile);
@ -33,7 +60,7 @@ public class MethodImpl implements Method {
// 生成文件名
String dateStr = Long.toString(System.currentTimeMillis()); // 生成13位时间戳
String fileName = tableName + dateStr + "-all.bin";
String fileName = tableName + dateStr + operationName;
String src = "D:\\aaa\\" + fileName;
// 写入文件
FileOutputStream stream = new FileOutputStream(src);
@ -58,12 +85,71 @@ public class MethodImpl implements Method {
}
/**
* 生成三 标识解析企业主体信息上报文件
* @param type 0 代表注册 1 代表修改
* @return
*/
@Override
public String creatFile() {
public Boolean creatIdentificationUpFile(Integer type,String yyyyMMdd,String yyyyMMddToday) throws IOException {
return null;
List<NbmsEntApply> list =null;
// 新增操作
if (type==0) {
list = nbmsEntApplyServcie.lambdaQuery().eq(NbmsEntApply::getFirstAuditStatus, 2)
.eq(NbmsEntApply::getApplyType, 1)
.eq(NbmsEntApply::getApplyStep,4)
.ge(NbmsEntApply::getUpdateDate,yyyyMMdd)
.le(NbmsEntApply::getUpdateDate,yyyyMMddToday)
.list();
}
// 修改操作
if (type==1){
list = nbmsEntApplyServcie.lambdaQuery().eq(NbmsEntApply::getFirstAuditStatus, 2)
.eq(NbmsEntApply::getApplyType, 2)
.eq(NbmsEntApply::getApplyType, 3)
.eq(NbmsEntApply::getApplyStep,4)
.ge(NbmsEntApply::getUpdateDate,yyyyMMdd)
.le(NbmsEntApply::getUpdateDate,yyyyMMddToday)
.list();
}
// 创建输出流
FileOutputStream stream = new FileOutputStream("d://aaa//test.txt");
if (Func.isNotEmpty(list)) {
for (NbmsEntApply nbmsEnapply : list) {
companyCode = nbmsEnapply.getEntPrefix();
companyName = nbmsEnapply.getOrgName();
level = "4";
accessProvince = nbmsEnapply.getOrgAddrProvince();
accessProvince = CodeCache.codeMap.get(accessProvince);
accessCity = nbmsEnapply.getOrgAddrCity();
accessCity = CodeCache.codeMap.get(accessCity);
registerTime = DateUtil.format(nbmsEnapply.getUpdateDate(), "yyyy-MM-dd HH:mm:ss");
categoryA = nbmsEnapply.getIndustrySpecific();
categoryA = CodeCache.codeMap.get(categoryA);
categoryB = nbmsEnapply.getIndustryCategory();
categoryB = CodeCache.codeMap.get(categoryB);
companyType = judge(nbmsEnapply.getOrgNature());
serviceProfession = categoryB;
String template = companyCode + "|" + companyName + "|" + level + "|" + accessProvince + "|" + accessCity + "|" + registerTime + "|" + categoryA + "|" + categoryB + "|" + companyType + "|" + serviceProfession + "\n";
byte[] bytes = template.getBytes();
stream.write(bytes);
}
stream.flush();
stream.close();
return true;
}
return false;
}
// private void deleteFile(String src) {
//
// System.out.println(src);
@ -71,4 +157,25 @@ public class MethodImpl implements Method {
// boolean delete = file.delete();
// System.out.println(delete);
// }
private String judge(int companyType) {
//单位性质,国有控股、民营控股、外商控股、事业单位、民营非盈利
if (companyType == 1) {
return "国有控股";
}
if (companyType == 2) {
return "民营控股";
}
if (companyType == 3) {
return "外商控股";
}
if (companyType == 4) {
return "事业单位";
}
if (companyType == 5) {
return "民营非盈利";
}
return null;
}
}

32
src/main/java/org/springblade/ftpdemo/task/IdentificationUp.java

@ -1,32 +0,0 @@
package org.springblade.ftpdemo.task;
import org.springblade.ftpdemo.entity.NbmsEntApply;
import org.springblade.ftpdemo.service.NbmsEntApplyServcie;
import lombok.AllArgsConstructor;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 标识解析企业主体信息上报
* @author laifeng
* @since 2022/11/29
*/
@Component
@EnableScheduling
@AllArgsConstructor
public class IdentificationUp {
private final NbmsEntApplyServcie service;
@Scheduled(cron = "0 0/5 * * * ?")
public void refreshAliDeviceStatus() {
// 查询昨日新增注册
List<NbmsEntApply> list = service.lambdaQuery().eq(NbmsEntApply::getFirstAuditStatus, 2)
.eq(NbmsEntApply::getApplyType, 1)
.eq(NbmsEntApply::getApplyStep,4)
.list();
}
}

76
src/main/java/org/springblade/ftpdemo/task/IdentificationUpTask.java

@ -0,0 +1,76 @@
package org.springblade.ftpdemo.task;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.ftpdemo.service.Method;
import org.springblade.ftpdemo.service.NbmsEntApplyServcie;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.util.Date;
/**
* 标识解析企业主体信息上报
*
* @author laifeng
* @since 2022/11/29
*/
@Component
@EnableScheduling
@AllArgsConstructor
public class IdentificationUpTask {
private final NbmsEntApplyServcie nbmsEntApplyServcie;
private final Method method;
@Scheduled(cron = "0 0/1 * * * ?")
public void refreshAliDeviceStatus() {
// 检测新增并上传
packMethod(0);
// 检测更新并上传
packMethod(1);
}
private void packMethod(Integer type) {
// 时间格式化
Date now = DateUtil.now();
Date date = DateUtil.minusDays(now, 1);
String yyyyMMdd = DateUtil.format(date, "yyyyMMdd");
String yyyyMMddToday = DateUtil.format(now, "yyyyMMdd");
Boolean temp = false;
try {
temp = method.creatIdentificationUpFile(type, yyyyMMdd, yyyyMMddToday);
} catch (IOException e) {
throw new RuntimeException(e);
}
// 如果没有生成文件,可直接结束
if (!temp) {
return;
}
String fileName = "d://aaa//test.txt";
// 要上传的目录
String upSrc = "/001/" + yyyyMMdd;
// 表名(文件名的一部分)
String tableName = "SDQN-basic_identification_ip-";
String operationName = "";
if (type == 0) {
// 操作类型为新增
operationName = "-add.bin";
}
if (type == 1) {
// 操作类型为更新
operationName = "-update.bin";
}
try {
method.upMethod(fileName, upSrc, tableName, operationName);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
Loading…
Cancel
Save