xufenglei
2018-07-11 3bfdde73c91647e59687b49758a54df5a0d0962d
src/main/java/com/moral/controller/MobileController.java
@@ -9,17 +9,38 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.moral.common.util.Crypto;
import com.moral.entity.*;
import com.moral.entity.adapter.EquDeviceAdapter;
import com.moral.service.*;
import com.moral.util.MessageUtils;
import com.taobao.api.ApiException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.cglib.beans.BeanMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.moral.common.bean.AppData;
import com.moral.common.bean.ResultBean;
import com.moral.common.util.Crypto;
import com.moral.entity.Account;
import com.moral.entity.Device;
import com.moral.entity.MonitorPoint;
import com.moral.entity.OperateUser;
import com.moral.entity.Organization;
import com.moral.entity.Profession;
import com.moral.entity.adapter.EquDeviceAdapter;
import com.moral.service.AccountService;
import com.moral.service.DeviceService;
import com.moral.service.HistoryService;
import com.moral.service.MonitorPointService;
import com.moral.service.OperateUserService;
import com.moral.service.OrganizationService;
import com.moral.service.ProfessionService;
import com.moral.util.MessageUtils;
import com.taobao.api.ApiException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
/**
 * The Class MobileController.
@@ -27,6 +48,7 @@
@RestController
@RequestMapping("mobile")
@CrossOrigin(origins = "*", maxAge = 3600)
@Api(tags = "Mobile", description = "APP接口")
public class MobileController {
   /** The operate user service. */
@@ -47,6 +69,12 @@
   @Resource
   private ProfessionService professionService;
   @Resource
   private AccountService accountService;
   @Resource
   private HistoryService historyService;
   /**
    * Mobile login.登录
@@ -74,7 +102,14 @@
      OperateUser operateUser = operateUserService.updatePassword(uid,password,newpassword);
      return new AppData<OperateUser>(operateUser); 
   }
   /**
    * 根据 设备id 来获取设备信息
    */
   @RequestMapping("deviceInfo")
   public AppData<Device> deviceInfo(Integer id){
      Device device = deviceService.queryById(id);
      return  new AppData<Device>(device);
   }
   /**
    *
    * @param equDeviceAdapter
@@ -82,7 +117,7 @@
    */
   @RequestMapping("reportDevice")
   public AppData<String> installDevice(EquDeviceAdapter equDeviceAdapter) {
      deviceService.saveOrUpdateDevice(equDeviceAdapter.toDevice());
      deviceService.addOrModify(equDeviceAdapter.toDevice());
      return new AppData<String>("");
   }
@@ -243,4 +278,53 @@
      List<Profession> professions = professionService.getProfessiontList();
      return new AppData<List<Profession>>(professions);
   }
   @GetMapping("login")
   @ApiOperation(value = "公司用户登录", notes = "公司用户登录")
   @ApiImplicitParams(value = {
         @ApiImplicitParam(name = "account", value = "账号", required = true, paramType = "query", dataType = "String"),
         @ApiImplicitParam(name = "password", value = "密码", required = true, paramType = "query", dataType = "String")
   })
   public ResultBean<Account> companyLogin(HttpServletRequest request){
      Map<String, Object> parameters = getParametersStartingWith(request, null);
      Account account = accountService.companyLogin(parameters);
      return new ResultBean<Account>(account);
   }
   @GetMapping("devices")
   @ApiOperation(value = "获取设备信息")
   @ApiImplicitParams(value = {
         @ApiImplicitParam(name = "organizationId", value = "组织Id", required = true, paramType = "query", dataType = "String"),
   })
   public ResultBean<List<Device>> getDevicesByOrganizationId(HttpServletRequest request){
      Map<String, Object> parameters = getParametersStartingWith(request, null);
      List<Device> devices = deviceService.getDevicesByOrganizationId(parameters);
      return new ResultBean<List<Device>>(devices);
   }
   @GetMapping("sensors")
   @ApiOperation(value = "获取设备传感器信息")
   @ApiImplicitParams(value = {
         @ApiImplicitParam(name = "deviceVersionId", value = "设备版本Id", required = true, paramType = "query", dataType = "int"),
         @ApiImplicitParam(name = "mac", value = "设备mac", required = true, paramType = "query", dataType = "String"),
         @ApiImplicitParam(name = "deviceId", value = "设备id", required = true, paramType = "query", dataType = "int"),
   })
   public ResultBean<List<Map<String, Object>>> getSensorsDataByDevice(HttpServletRequest request){
      Map<String, Object> parameters = getParametersStartingWith(request, null);
      List<Map<String, Object>> sensors = historyService.getSensorsDataByDevice(parameters);
      return new ResultBean<List<Map<String, Object>>>(sensors);
   }
   @GetMapping("sensor")
   @ApiOperation(value = "获取单一传感器数据")
   @ApiImplicitParams(value = {
         @ApiImplicitParam(name = "mac", value = "设备mac", required = true, paramType = "query", dataType = "String"),
         @ApiImplicitParam(name = "sensorKey", value = "传感器key", required = true, paramType = "query", dataType = "String"),
         @ApiImplicitParam(name = "size", value = "获取数据条数", required = true, paramType = "query", dataType = "int"),
   })
   public ResultBean<List<Map<String, Object>>> getSensorDataBySensorKey(HttpServletRequest request){
      Map<String, Object> parameters = getParametersStartingWith(request, null);
      List<Map<String, Object>> sensors = historyService.getSensorDataBySensorKey(parameters);
      return new ResultBean<List<Map<String, Object>>>(sensors);
   }
}