| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- package com.happy.action;
- import com.alibaba.fastjson.JSONObject;
- import com.alipay.api.domain.InsCertificate;
- import com.google.gson.Gson;
- import com.google.gson.reflect.TypeToken;
- import com.happy.Model.*;
- import com.happy.common.http.HttpsClient;
- import com.happy.common.http.TimeExchange;
- import com.happy.service.userService;
- import com.happy.unitil.CreateSign1;
- import com.happy.unitil.GetHttpParam;
- import com.happy.unitil.ResUtil;
- import com.opensymphony.xwork2.ActionSupport;
- import org.apache.struts2.ServletActionContext;
- import org.apache.struts2.interceptor.ServletRequestAware;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- public class InfoAction extends ActionSupport implements ServletRequestAware {
- private HttpServletRequest request;
- public HttpServletResponse response;
- @Resource
- public userService userService;
- public HttpServletRequest getRequest() {
- return request;
- }
- public void setRequest(HttpServletRequest request) {
- this.request = request;
- }
- public void setServletRequest(HttpServletRequest request) {
- this.request = request;
- }
- public HttpServletResponse getResponse() {
- return response;
- }
- public void setResponse(HttpServletResponse response) {
- this.response = response;
- }
- public String index(){
- return "list";
- }
- // 从微卡下载访客
- public String insertIn(){
- System.out.println("开始下载");
- String msg = HttpsClient.sendPost(
- "https://open.wecard.qq.com/cgi-bin/oauth2/token?app_key="+
- "4AE0333C42903337&app_secret=08376122777FF135E9AFE60EF4B5702D&grant_type=client_credentials&scope=base&ocode=1015730314", "");
- Gson gson=new Gson();
- HashMap<String, String> userMap = gson.fromJson(msg.toString(), new TypeToken<HashMap<String, String>>(){}.getType());
- String token = userMap.get("access_token");
- Calendar cal = Calendar.getInstance();
- // 往前多少天的访客
- cal.add(Calendar.DATE, -1);
- String time1 = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss").format(cal.getTime());
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
- String time2 = df.format(new Date());
- String created_at_min = String.valueOf(TimeExchange.StringToTimestamp(time1));
- String created_at_max = String.valueOf(TimeExchange.StringToTimestamp(time2));
- String message = HttpsClient.sendPost("https://open.wecard.qq.com/app-visit/open/get-appt-list?access_token="
- +token+"&created_at_min="
- +created_at_min+"&created_at_max="
- +created_at_max+""
- , "");
- System.out.println("访客信息: ");
- System.out.println(message);
- Message messMap = gson.fromJson(message.toString(), new TypeToken<Message>(){}.getType());
- List<Visitor> lv = messMap.getList();
- for (int i=0; i<lv.size(); i++){
- List<Visitor> lvi = userService.queryByCard(lv.get(i).getCard_number(), lv.get(i).getCreated_time());
- if (lvi == null) {
- Visitor vs = new Visitor();
- vs.setVisitor_name(lv.get(i).getVisitor_name());
- vs.setVisitor_phone(lv.get(i).getVisitor_phone().replaceAll("\\(\\+86\\)", ""));
- vs.setReason(lv.get(i).getExtra_fields().get("访问事由").toString());
- System.out.println("访问事由");
- System.out.println(lv.get(i).getExtra_fields().get("访问事由"));
- vs.setStatus(lv.get(i).getStatus());
- vs.setStatus_with_time(lv.get(i).getStatus_with_time());
- vs.setCard_number(lv.get(i).getCard_number());
- vs.setVisited_at(lv.get(i).getVisited_at());
- vs.setId_card_img(lv.get(i).getId_card_img());
- vs.setCreated_time(lv.get(i).getCreated_time());
- vs.setVisit_start_time(lv.get(i).getVisit_start_time());
- vs.setVisit_end_time(lv.get(i).getVisit_end_time());
- vs.setMember_name(lv.get(i).getMember_name());
- vs.setMember_phone(lv.get(i).getMember_phone().replaceAll("\\(\\+86\\)", ""));
- vs.setMember_org(lv.get(i).getMember_org());
- try {
- vs.setCar_number(lv.get(i).getExtra_fields().get("车牌号").toString());
- }catch (Exception e){
- vs.setCar_number("不开车");
- }
- vs.setTime(TimeExchange.TimestampToDate(Integer.parseInt(lv.get(i).getCreated_time())).toString());
- userService.insertInfo(vs);
- }else {
- System.out.println("重复");
- }
- }
- JSONObject json = new JSONObject();
- json.put("msg", "下载成功");
- ResUtil.writeJson(ServletActionContext.getResponse(), json.toString());
- return null;
- }
- // 查询访客列表
- public String queryVisitor(){
- return null;
- }
- // 写到第三方接口
- public String insertOut(){
- JSONObject json = new JSONObject();
- JSONObject js = new JSONObject();
- Calendar cal = Calendar.getInstance();
- // 往前多少天的访客
- cal.add(Calendar.DATE, 1);
- String time = new SimpleDateFormat( "yyyy-MM-dd").format(cal.getTime());
- System.out.println(time);
- List<Visitor> visitors = userService.queryByTime(time);
- if (visitors!=null){
- for (int i=0; i<visitors.size(); i++){
- if(!visitors.get(i).getCar_number().equals("不开车")) {
- System.out.println(visitors.get(i).getCar_number());
- String ukey = "6VMZEC5C6HZM7EO8";
- JSONObject datas = new JSONObject();
- datas.put("car_number", visitors.get(i).getCar_number());
- datas.put("begin_time", visitors.get(i).getVisit_start_time());
- datas.put("end_time", visitors.get(i).getVisit_end_time());
- datas.put("mobile", visitors.get(i).getVisitor_phone());
- // 生成带签名的字符串并使用MD5生成签名,然后转大写
- String sign = datas.toJSONString() + "key=" + ukey;
- sign = CreateSign1.MD5(sign).toUpperCase();
- json.put("service_name", "visitor_sync");
- json.put("sign", sign);
- json.put("park_id", "10033845");
- json.put("data", datas);
- String msg = HttpsClient.sendJson("http://istparking.sciseetech.com/public/visitor/do", json);
- System.out.println(msg);
- userService.updateVisiState(visitors.get(i).getCar_number(), visitors.get(i).getVisit_start_time(), visitors.get(i).getVisit_end_time());
- js.put("msg", msg);
- ResUtil.writeJson(ServletActionContext.getResponse(), js.toString());
- }
- }
- }else {
- js.put("msg", "今日没有访客");
- ResUtil.writeJson(ServletActionContext.getResponse(), js.toString());
- }
- return null;
- }
- // 入停车场
- public String InPart(){
- System.out.println("入场");
- JSONObject resultjson = new JSONObject();
- Gson gson=new Gson();
- JSONObject json = GetHttpParam.getHttpParam(request);
- System.out.println("json: "+json);
- if (json == null){
- resultjson.put("msg", "请传入参数");
- ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
- return null;
- }
- Inschool userMap = null;
- Data2 d2 = null;
- try{
- userMap = gson.fromJson(json.toString(), new TypeToken<Inschool>(){}.getType());
- d2 = userMap.getData();
- List<Data2> data2 = userService.queryInByCar(d2.getCar_number(), d2.getIn_time());
- if (data2 != null){
- resultjson.put("msg", "入场已导入!");
- ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
- return null;
- }
- userService.insertSchool(d2);
- }catch (Exception e){
- System.out.println("解析异常");
- resultjson.put("msg", "参数格式有误!");
- ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
- return null;
- }
- return null;
- }
- // 出停车场
- public String OutPart(){
- System.out.println("出场");
- JSONObject resultjson = new JSONObject();
- Gson gson=new Gson();
- JSONObject json = GetHttpParam.getHttpParam(request);
- System.out.println("json: "+json);
- if (json == null){
- resultjson.put("msg", "请传入参数");
- ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
- return null;
- }
- OutSchool userMap = null;
- Data3 d3 = null;
- try{
- userMap = gson.fromJson(json.toString(), new TypeToken<OutSchool>(){}.getType());
- d3 = userMap.getData();
- List<Data3> data3 = userService.queryOutByCar(d3.getCar_number(), d3.getOut_time());
- if (data3 != null){
- resultjson.put("msg", "出场已导入!");
- ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
- return null;
- }
- userService.insertOutSchool(d3);
- } catch (Exception e){
- System.out.println("解析异常");
- resultjson.put("msg", "参数格式有误!");
- ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
- return null;
- }
- return null;
- }
- }
|