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 userMap = gson.fromJson(msg.toString(), new TypeToken>(){}.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(){}.getType()); List lv = messMap.getList(); for (int i=0; i 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 visitors = userService.queryByTime(time); if (visitors!=null){ for (int i=0; i(){}.getType()); d2 = userMap.getData(); List 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(){}.getType()); d3 = userMap.getData(); List 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; } }