| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- 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<JSONObject> aj_school = new ArrayList<>();
- List<Build_elec> schools = elecService.querySchool();
- for (int i=0; i<schools.size(); i++) {
- JSONObject resultJson1 = new JSONObject();
- resultJson1.put("school", schools.get(i).getSchool());
- List<Build_elec> builds = elecService.queryBuild(schools.get(i).getSchool());
- ArrayList<JSONObject> aj_build = new ArrayList();
- //resultJson1.put("builds", aj2);
- for (int j=0; j<builds.size(); j++){
- JSONObject resultJson2 = new JSONObject();
- resultJson2.put("building", builds.get(j).getBuild());
- List<Build_elec> floors = elecService.queryFloors(
- schools.get(i).getSchool(), builds.get(j).getBuild());
- ArrayList<JSONObject> aj_floor = new ArrayList();
- for (int k=0; k<floors.size(); k++){
- JSONObject resultJson3 = new JSONObject();
- resultJson3.put("floor", floors.get(k).getFloors());
- List<Build_elec> dom = elecService.queryDom(
- schools.get(i).getSchool(), builds.get(j).getBuild(), floors.get(k).getFloors());
- ArrayList adom = new ArrayList();
- for (int m=0; m<dom.size(); m++){
- adom.add(dom.get(m).getDom());
- }
- resultJson3.put("rooms", adom);
- aj_floor.add(resultJson3);
- }
- resultJson2.put("floors", aj_floor);
- aj_build.add(resultJson2);
- }
- resultJson1.put("builds", aj_build);
- aj_school.add(resultJson1);
- }
- String resultJson = JSONArray.fromObject(aj_school).toString();
- try {
- redisTemplate.delete("build");
- }catch (Exception e){
- System.out.println("build已清");
- }
- redisTemplate.opsForValue().set("build", resultJson);
- ResUtil.write("绑定成功", ServletActionContext.getResponse());
- return null;
- }
- // 返回楼栋信息
- public String elec() throws Exception {
- JSONObject resultJson = new JSONObject();
- try {
- String data = (String) redisTemplate.opsForValue().get("build");
- resultJson.put("mess", "返回成功");
- resultJson.put("data", data);
- }catch (Exception e){
- resultJson.put("mess", "获取数据异常");
- }
- ResUtil.write(resultJson, ServletActionContext.getResponse());
- return null;
- }
- // 查询剩余电量
- public String overElec() 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<Build_elec> 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<String, String> userMoney = gson.fromJson(data.toString(), new TypeToken<HashMap<String, String>>(){}.getType());
- double elcMoney = Double.parseDouble(userMoney.get("usablemoney"));
- Double amount = 0.00;
- List<Price> 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<Build_elec> 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<String> 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<HashMap<String, String>> user_elc = gson.fromJson(data.toString(), new TypeToken<List<HashMap<String, String>>>(){}.getType());
- if (user_elc==null){
- resultJson.put("mess", "未查询到数据");
- return null;
- }
- ArrayList<String> use_elc = new ArrayList<>();
- ArrayList<String> date_time = new ArrayList<>();
- for (int i=0; i<user_elc.size(); i++){
- use_elc.add(user_elc.get(i).get("zongPower"));
- date_time.add(user_elc.get(i).get("dataTime"));
- }
- resultJson.put("use_elc", use_elc);
- resultJson.put("date_time", date_time);
- resultJson.put("mess", "0");
- ResUtil.write(resultJson, ServletActionContext.getResponse());
- return null;
- }
- }
|