package com.happy.action; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.happy.Model.Build_elec; import com.happy.Model.Price; import com.happy.Until.ResUtil; import com.happy.Until.ResponseUtil; import com.happy.service.ConsumeService; import com.happy.service.ElecService; import com.happy.service.RechargeService; import com.happy.service.UserService; import com.opensymphony.xwork2.ActionSupport; import net.sf.json.JSONArray; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import testExport.DataClient; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; public class Build extends ActionSupport implements ServletRequestAware { private HttpServletRequest request; public HttpServletResponse response; public String roomSelect; @Resource public ElecService elecService; @Resource public UserService userService; @Resource public ConsumeService consumeService; @Resource public RechargeService rechargeService; @Autowired public RedisTemplate redisTemplate; public String getRoomSelect() { return roomSelect; } public void setRoomSelect(String roomSelect) { this.roomSelect = roomSelect; } 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 bd_elec() throws Exception { ArrayList aj_school = new ArrayList<>(); List schools = elecService.querySchool(); for (int i=0; i builds = elecService.queryBuild(schools.get(i).getSchool()); ArrayList aj_build = new ArrayList(); //resultJson1.put("builds", aj2); for (int j=0; j floors = elecService.queryFloors( schools.get(i).getSchool(), builds.get(j).getBuild()); ArrayList aj_floor = new ArrayList(); for (int k=0; k dom = elecService.queryDom( schools.get(i).getSchool(), builds.get(j).getBuild(), floors.get(k).getFloors()); ArrayList adom = new ArrayList(); for (int m=0; m spl = elecService.queryUser_id(school, room); if (spl == null){ resultJson.put("mess", "未查询到户号!"); ResUtil.write(resultJson, ServletActionContext.getResponse()); return null; } String user_id = spl.get(0).getUser_id().replace("\n","").replace("\r",""); DataClient.getToken(); JSONObject jb = DataClient.getAccountInfo(user_id); if (jb == null){ resultJson.put("mess", "未查询到户号!"); ResUtil.write(resultJson, ServletActionContext.getResponse()); return null; } Object data = jb.get("data"); Gson gson=new Gson(); HashMap userMoney = gson.fromJson(data.toString(), new TypeToken>(){}.getType()); double elcMoney = Double.parseDouble(userMoney.get("usablemoney")); Double amount = 0.00; List elcPrice = consumeService.water_price("电费"); amount = elcMoney / elcPrice.get(0).getPrice() ; System.out.println(amount); JSONObject j2 = new JSONObject(); j2.put("mess", "0"); j2.put("amount", amount); ResUtil.write(j2, ServletActionContext.getResponse()); return null; } // 查询每个月电费 public String getMonthBill() throws Exception { JSONObject resultJson = new JSONObject(); if (roomSelect==null){ resultJson.put("mess", "请选择房间号!"); ResUtil.write(resultJson, ServletActionContext.getResponse()); return null; } String school = roomSelect.substring(0, 5); String room = roomSelect.substring(5); List spl = elecService.queryUser_id(school, room); if (spl == null){ resultJson.put("mess", "未查询到户号!"); ResUtil.write(resultJson, ServletActionContext.getResponse()); return null; } String user_id = spl.get(0).getUser_id(); DataClient.getToken(); List dateList = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM"); for (int i=0; i>-12; i--){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH,i); dateList.add(simpleDateFormat.format(calendar.getTime())); } String da = JSONArray.fromObject(dateList).toString(); JSONObject json = DataClient.getMonthBill(user_id, da); Gson gson=new Gson(); Object data=null; try { data = json.get("data"); }catch (Exception e){ resultJson.put("mess", "未查询到数据"); ResUtil.write(resultJson, ServletActionContext.getResponse()); return null; } List> user_elc = gson.fromJson(data.toString(), new TypeToken>>(){}.getType()); if (user_elc==null){ resultJson.put("mess", "未查询到数据"); return null; } ArrayList use_elc = new ArrayList<>(); ArrayList date_time = new ArrayList<>(); for (int i=0; i