Commit 17632900 by 雷紫添

上传zip

parent bb9798b4
......@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
......@@ -24,13 +25,14 @@ import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/jccj")
public class JccjController {
@Autowired
private JccjService jccjService;
@RequestMapping(value = "/jccj/xxbs", method = {RequestMethod.POST, RequestMethod.GET})
public void queryDatas(HttpServletResponse response, @RequestBody Jccj jccj) {
@RequestMapping(value = "/xxbs", method = {RequestMethod.POST, RequestMethod.GET})
public void queryDatas(HttpServletResponse response, HttpServletRequest request, @RequestBody Jccj jccj) {
//1.验证是否非法调用(1.ip受限访问.2.加锁防止重复提交.3.文件名)
Map<String, Object> res = new HashMap<>();
res=jccjService.res(jccj);
......
......@@ -9,7 +9,7 @@ public class Jccj {
private String taskid;
private String xxsb_zip;
private String status_code;
private String message;
private String status_message;
/*1. user_id:请求人_公民身份号码,触发本次请求服务的用户身份证号码。必填。
2. user_dept:请求方_公安机关机构代码,触发本次请求服务的用户所在单位机构代码,采用《GA 380 公安机关机构代码编制规则》统一编制的代码。必填。
3. version:请求接口版本号,请求接口版本号,默认版本1.00。必填。
......@@ -62,12 +62,12 @@ public class Jccj {
this.status_code = status_code;
}
public String getMessage() {
return message;
public String getStatus_message() {
return status_message;
}
public void setMessage(String message) {
this.message = message;
public void setStatus_message(String status_message) {
this.status_message = status_message;
}
public String getUser_id() {
......
......@@ -16,6 +16,33 @@ public class Rycj {
private String user_id ;
private String user_dept ;
private String version ;
private String status_code ;
private String status_message ;
private String zxjgdm ;
public String getStatus_code() {
return status_code;
}
public void setStatus_code(String status_code) {
this.status_code = status_code;
}
public String getStatus_message() {
return status_message;
}
public void setStatus_message(String status_message) {
this.status_message = status_message;
}
public String getZxjgdm() {
return zxjgdm;
}
public void setZxjgdm(String zxjgdm) {
this.zxjgdm = zxjgdm;
}
public String getXxzjbh() {
return xxzjbh;
......
package com.founder.service;
import com.founder.model.Jccj;
import com.founder.model.Rycj;
import java.util.List;
......@@ -9,5 +10,5 @@ import java.util.Map;
public interface RycjService {
boolean insertRycj(Rycj rycj);
boolean insertRycj(Jccj jccj);
}
......@@ -7,6 +7,7 @@ import com.founder.dao.FaceDao;
import com.founder.model.Face;
import com.founder.model.Jccj;
import com.founder.service.AutoSeqService;
import com.founder.service.RycjService;
import com.founder.util.RequertUtil;
import com.founder.service.JccjService;
import org.apache.http.HttpStatus;
......@@ -34,22 +35,22 @@ import java.util.Map;
@Service
public class JccjServiceImpl implements JccjService {
@Autowired
private AutoSeqService autoSeqService;
private RycjService rycjService;
@Override
public Map<String, Object> res(Jccj jccj){
String noo= autoSeqService.xxzjbhFnVal("TB_ST_ASJ","1400000000000");
//1.验证是否非法调用
//2..将从采集平台获取的信息,在发送给公安部
// JSONObject jsonResult= requestByPost("http://api.xz.xz.ga/jccj/xxbs",jccj);
//2.公安部返回的信息jsonResult 中如果成功无误,保存到ftp服务器以及数据库,如果失败直接将失败信息返回
final Base64.Decoder decoder = Base64.getDecoder();
//获取zip包 进行入库
byte[] D=decoder.decode(jccj.getXxsb_zip());
RequertUtil.zi1(D);
//返回的信息入库并返回第三方
//3.公安部返回的信息jsonResult 中如果成功无误,保存到ftp服务器以及数据库,如果失败直接将失败信息返回
Boolean sf= rycjService.insertRycj(jccj);
//初版 暂时存入库
Map<String, Object> res = new HashMap<>();
res.put("taskid", "success");
res.put("tstatus_code", "登陆成功");
if(sf){
res.put("status_code", "010101");
res.put("message", "存入成功");}else{
res.put("status_code", "010102");
res.put("message", "存入失败");
}
return res;
}
......@@ -57,6 +58,11 @@ public class JccjServiceImpl implements JccjService {
public static JSONObject requestByPost(String url, Jccj jsonParamq) {
Map<String, Object> res = new HashMap<>();
res.put("xxsb_zip", jsonParamq.getXxsb_zip());
res.put("user_dept",jsonParamq.getUser_dept());
res.put("user_id",jsonParamq.getUser_id());
res.put("taskid",jsonParamq.getTaskid());
res.put("version",jsonParamq.getVersion());
JSONObject jsonParam= JSONObject.parseObject(JSON.toJSONString(res));
// post请求返回结果
CloseableHttpClient httpClient = HttpClients.createDefault();
......
package com.founder.service.impl;
import com.founder.dao.RycjDao;
import com.founder.model.Jccj;
import com.founder.model.Rycj;
import com.founder.service.AutoSeqService;
import com.founder.service.RycjService;
import com.founder.util.FtpUtil;
import com.founder.util.RequertUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Base64;
import java.util.Date;
@Service
public class RycjServiceImpl implements RycjService {
@Autowired
private RycjDao rycjDao;
@Autowired
private AutoSeqService autoSeqService;
@Value(value = "${ftpfilePath}")
private String ftpfilePath;
@Value(value = "${ftpserverip}")
private String ftpserverip;
@Value(value = "${ftpport}")
private int ftpport;
@Value(value = "${ftpuser}")
private String ftpuser;
@Value(value = "${ftppass}")
private String ftppass;
@Value(value = "${ftpbathPath}")
private String ftpbathPath;
@Override
public boolean insertRycj(Rycj rycj) {
public boolean insertRycj(Jccj jccj) {
Rycj rycj=new Rycj();
SimpleDateFormat sf = new SimpleDateFormat("yyyyMM");
String dateString = sf.format(new Date());
rycj.setXxzjbh( autoSeqService.xxzjbhFnVal("TB_ST_RYCJ",jccj.getUser_dept()));
rycj.setRycj_dzwjgs(".zip");
rycj.setRycj_dzwjwz(ftpfilePath+"/"+dateString+"/"+rycj.getXxzjbh()+rycj.getRycj_dzwjgs());
rycj.setRycj_jlsj(new Date());
rycj.setUser_id(jccj.getUser_id());
rycj.setUser_dept(jccj.getUser_dept());
rycj.setTaskid(jccj.getTaskid());
rycj.setVersion(jccj.getVersion());
rycj.setStatus_code(jccj.getStatus_code());
rycj.setStatus_message(jccj.getStatus_message());
final Base64.Decoder decoder = Base64.getDecoder();
//获取zip包 进行入库
byte[] data=decoder.decode(jccj.getXxsb_zip());
InputStream in = new ByteArrayInputStream(data);
boolean bool = false;
try {
int rows =rycjDao.insertRycj(rycj);
if (rows>0){
FtpUtil.uploadFile(ftpserverip,ftpport,ftpuser,ftppass,ftpbathPath,dateString,rycj.getTaskid(),in);
bool=true;
}
}catch (Exception e){
......
......@@ -27,6 +27,10 @@ public class test {
//编码
final String encodedText = encoder.encodeToString(buffer);
jccj.setXxsb_zip(encodedText);
jccj.setTaskid("JCXX-R1100000500002014070008");
jccj.setUser_id("142728188997588823");
jccj.setUser_dept("140000000000");
jccj.setVersion("1.00");
//发送,httpclient 包含zip包
JSONObject jsonResult= JccjServiceImpl.requestByPost("http://localhost/jccj/xxbs",jccj);
System.out.println(jsonResult.toJSONString());
......
......@@ -162,8 +162,8 @@ public class FtpUtil {
public static void main(String[] args) {
try {
FileInputStream in=new FileInputStream(new File("D:\\1.jpg"));
boolean flag = uploadFile("47.92.129.99", 4546, "ftpuser", "p@ssw0rd[123]", "/home/ftpuser/","/2016/", "gaigeming.jpg", in);
FileInputStream in=new FileInputStream(new File("D:\\JCXX-R1100000500002014070008.zip"));
boolean flag = uploadFile("47.92.129.99", 4546, "ftpuser", "p@ssw0rd[123]", "/home/ftpuser/","/2016/", "JCXX-R1100000500002014070008.zip", in);
System.out.println(flag);
} catch (FileNotFoundException e) {
e.printStackTrace();
......
......@@ -22,8 +22,8 @@ ftpserverip: 47.92.129.99
ftpport: 4546
ftpuser: ftpuser
ftppass: p@ssw0rd[123]
ftpbathPath: /home/ftpuser/www/xinjiangbingtuan/FZXZ
ftpfilePath: /xinjiangbingtuan/FZXZ
ftpbathPath: /home/ftpuser/www/neimeng/FZXZ
ftpfilePath: /niemeng/FZXZ
codemsg:
status:
......
......@@ -16,7 +16,11 @@
TASKID,
USER_ID,
USER_DEPT,
VERSION
VERSION,
STATUS_CODE,
STATUS_MESSAGE,
ZXJGDM
)VALUES (
<if test="xxzjbh != null">
#{xxzjbh},
......@@ -85,9 +89,27 @@
NULL ,
</if>
<if test="version != null">
#{version}
#{version},
</if>
<if test="version == null">
NULL,
</if>
<if test="status_code != null">
#{status_code},
</if>
<if test="version == null">
NULL,
</if>
<if test="status_message != null">
#{status_message},
</if>
<if test="status_message == null">
NULL,
</if>
<if test="zxjgdm != null">
#{zxjgm}
</if>
<if test="zxjgdm == null">
NULL
</if>
)
......
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