From 21173f7ae60b1c598720c87ab966ea42b3d72c6a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 28 二月 2022 13:12:57 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/sc/manager/controller/AppController.java | 221 ++++++++++++++++++++++++++++---------------------------
1 files changed, 112 insertions(+), 109 deletions(-)
diff --git a/src/main/java/com/zy/sc/manager/controller/AppController.java b/src/main/java/com/zy/sc/manager/controller/AppController.java
index b4d6ab1..c8fd7a6 100644
--- a/src/main/java/com/zy/sc/manager/controller/AppController.java
+++ b/src/main/java/com/zy/sc/manager/controller/AppController.java
@@ -1,21 +1,32 @@
package com.zy.sc.manager.controller;
+import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
import com.core.common.R;
+import com.core.common.SnowflakeIdWorker;
+import com.core.exception.CoolException;
import com.zy.sc.common.service.GeoService;
import com.zy.sc.common.web.BaseController;
+import com.zy.sc.manager.controller.param.MobileIssueParam;
+import com.zy.sc.manager.controller.result.AppHostIssueVo;
+import com.zy.sc.manager.controller.result.AppIssueVo;
+import com.zy.sc.manager.entity.Issue;
import com.zy.sc.manager.entity.IssueType;
+import com.zy.sc.manager.service.IssueService;
import com.zy.sc.manager.service.IssueTypeService;
import com.zy.sc.system.entity.Host;
import com.zy.sc.system.service.HostService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
-import java.util.List;
+import java.util.*;
/**
* Created by vincent on 2021/12/20
@@ -25,10 +36,16 @@
@RequestMapping("app")
public class AppController extends BaseController {
+ public static final String REGEX_MOBILE = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";
+
@Autowired
private HostService hostService;
@Autowired
private IssueTypeService issueTypeService;
+ @Autowired
+ private IssueService issueService;
+ @Autowired
+ private SnowflakeIdWorker snowflakeIdWorker;
@Autowired
private GeoService geoService;
@@ -50,115 +67,101 @@
return R.ok().add(issueTypes);
}
-// @RequestMapping("/sensor/save/auth")
-// @ManagerAuth(memo = "绉诲姩绔坊鍔犺澶�")
-// public R issueSave(MobileSensorParam param){
-// Long hostId = getHostId();
-// if (hostId == null) {
-// return R.error("璇蜂娇鐢ㄦ纭处鍙风櫥褰�");
-// }
-// if (Cools.isEmpty(param.getUuid())) {
-// return R.error("璇峰~鍐欒澶囩紪鍙�");
-// }
-// if (Cools.isEmpty(param.getSensorType())) {
-// return R.error("璇烽�夋嫨璁惧绫诲瀷");
-// }
-// SensorType sensorType = sensorTypeService.selectById(param.getSensorType());
-// if (sensorType == null) {
-// return R.error("璇烽�夋嫨姝g‘鐨勮澶囩被鍨�");
-// }
-// Sensor sensor = sensorService.selectByCode(param.getUuid());
-// if (sensor != null) {
-// return R.error("璁惧缂栧彿宸插瓨鍦紝璇疯仈绯荤鐞嗗憳");
-// } else {
-// sensor = new Sensor();
-// }
-// Date now = new Date();
-// sensor.setUuid(param.getUuid());
-// sensor.setHostId(hostId);
-// sensor.setSensorType(param.getSensorType());
-// sensor.setCcid(param.getCcid());
-// sensor.setAddr(param.getAddr());
-// sensor.setDesc(param.getDesc());
-// sensor.setThreshold(String.valueOf(param.getThreshold()));
-// List<String> imgArr = param.getImgArr();
-// if (!Cools.isEmpty(imgArr)) {
-// sensor.setImg(JSONArray.toJSONString(imgArr));
-// }
-// if (!Cools.isEmpty(param.getLocationObj())) {
-// LocationObj locationObj = JSON.parseObject(param.getLocationObj(), LocationObj.class);
-// sensor.setLon(Double.parseDouble(locationObj.getLongitude()));
-// sensor.setLat(Double.parseDouble(locationObj.getLatitude()));
-// GeoCodeDto geoCode = geoService.getGeoCode(sensor.getLon(), sensor.getLat());
-// if (geoCode != null && geoCode.getAddressComponent() != null) {
-// sensor.setProvince(geoCode.getAddressComponent().getProvince());
-// sensor.setCity(geoCode.getAddressComponent().getCity());
-// sensor.setDistrict(geoCode.getAddressComponent().getDistrict());
-// sensor.setTownship(geoCode.getAddressComponent().getTownship());
-// }
-// }
-// sensor.setStatus(1);
-// sensor.setCreateBy(getUserId());
-// sensor.setCreateTime(now);
-// sensor.setUpdateBy(getUserId());
-// sensor.setUpdateTime(now);
-// sensor.setMemo(param.getMemo());
-// if (!sensorService.insert(sensor)) {
-// throw new CoolException("娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
-// }
-// return R.ok("娣诲姞璁惧鎴愬姛");
-// }
-//
-// @RequestMapping("/sensor/list/auth")
-// @ManagerAuth
-// public R sensorList(@RequestParam(required = false) String condition){
-// Wrapper<Sensor> wrapper = new EntityWrapper<Sensor>()
-// .like("uuid", condition)
-// .orderBy("sensor_type").orderBy("create_time");
-// Long hostId = getHostId();
-// if (hostId != null) {
-// wrapper.eq("host_id", hostId);
-// }
-// List<Sensor> sensors = sensorService.selectList(wrapper);
-// List<AppSensorTypeVo> result = new ArrayList<>();
-// Set<Long> sensorTypeSet = new HashSet<>();
-// for (Sensor sensor : sensors) {
-// AppSensorVo sensorVo = new AppSensorVo();
-// sensorVo.setSensorId(sensor.getId());
-// sensorVo.setUuid(sensor.getUuid());
-// String addr = sensor.getProvince()+sensor.getCity()+sensor.getDistrict();
-//// String addr = sensor.getProvince()+","+sensor.getCity()+","+sensor.getDistrict();
-// if (Cools.isEmpty(addr)) {
-// addr = "鏈煡瀹氫綅";
-// }
-// sensorVo.setAddr(addr);
-//
-// if (!sensorTypeSet.contains(sensor.getSensorType())) {
-// sensorTypeSet.add(sensor.getSensorType());
-// SensorType sensorType = sensorTypeService.selectById(sensor.getSensorType());
-// AppSensorTypeVo vo = new AppSensorTypeVo();
-// vo.setSensorTypeFlag(sensorType.getFlag());
-// vo.setSensorTypeId(sensor.getSensorType());
-// vo.setSensorTypeName(sensorType.getName());
-// result.add(vo);
-// vo.getSensors().add(sensorVo);
-// } else {
-// for (AppSensorTypeVo vo : result) {
-// if (vo.getSensorTypeId().equals(sensor.getSensorType())) {
-// vo.getSensors().add(sensorVo);
-// }
-// }
-// }
-// }
-// return R.ok().add(result);
-// }
-//
-// @RequestMapping("/sensor/detl/auth")
-// @ManagerAuth
-// public R sensorDetl(@RequestParam Long sensorId){
-// return R.ok().add(sensorService.selectById(sensorId));
-// }
+ @RequestMapping("/issue/save/auth")
+ @ManagerAuth(memo = "鏁呴殰涓婃姤")
+ public R issueSave(MobileIssueParam param){
+ if (Cools.isEmpty(param.getHostName())) {
+ return R.error("璇烽�夋嫨鎵�灞為」鐩�");
+ }
+ Host host = hostService.selectByName(param.getHostName());
+ if (Cools.isEmpty(param.getIssueTypeName())) {
+ return R.error("璇烽�夋嫨鏁呴殰绫诲瀷");
+ }
+ IssueType issueType = issueTypeService.selectByName(param.getIssueTypeName());
+ if (Cools.isEmpty(param.getTel())) {
+ return R.error("璇疯緭鍏ヨ仈绯绘柟寮�");
+ }
+ if (!param.getTel().matches(REGEX_MOBILE)) {
+ return R.error("璇疯緭鍏ユ纭殑鎵嬫満鍙�");
+ }
+ if (Cools.isEmpty(param.getTitle())) {
+ return R.error("璇疯緭鍏ラ棶棰樻杩�");
+ }
+ Date now = new Date();
+ Date startTime = DateUtils.convert(param.getStartTime(), DateUtils.yyyyMMdd_F);
+ // 淇濆瓨鏁呴殰
+ Issue issue = new Issue(
+ String.valueOf(snowflakeIdWorker.nextId()), // 鏁呴殰缂栧彿
+ host.getId(), // 鎵�灞為」鐩�
+ issueType.getId(), // 鏁呴殰绫诲瀷
+ param.getTitle(), // 闂姒傝堪
+ null, // 鏁呴殰鍘熷洜
+ null, // 瑙e喅鍔炴硶
+ JSONArray.toJSONString(param.getVideoSrc()), // 鏂囦欢鍒楄〃
+ JSONArray.toJSONString(param.getImgArr()), // 鍥剧墖
+ startTime, // 鍙戠敓鏃ユ湡
+ null, // 澶勭悊鏃ユ湡
+ null, // 鏇存柊鏃ユ湡
+ param.getDiscoverer(), // 鍙戠幇浜�
+ param.getTel(), // 鑱旂郴鏂瑰紡
+ null, // 渚涘簲鍟�
+ 2, //
+ 1, // 鐘舵��
+ getUserId(), // 娣诲姞浜哄憳
+ now, // 娣诲姞鏃堕棿
+ getUserId(), // 淇敼浜哄憳
+ now, // 淇敼鏃堕棿
+ param.getMemo() // 澶囨敞
+ );
+ if (!issueService.insert(issue)) {
+ throw new CoolException("鍙嶉澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
+ return R.ok("闂涓婃姤鎴愬姛");
+ }
+ @RequestMapping("/issue/list/auth")
+ @ManagerAuth
+ public R sensorList(@RequestParam(required = false) String condition){
+ Wrapper<Issue> wrapper = new EntityWrapper<Issue>()
+ .like("title", condition)
+ .orderBy("settle").orderBy("create_time", false);
+ Long hostId = getHostId();
+ if (hostId != null) {
+ wrapper.eq("host_id", hostId);
+ }
+ List<Issue> issues = issueService.selectList(wrapper);
+ List<AppHostIssueVo> result = new ArrayList<>();
+ Set<Long> hostSet = new HashSet<>();
+ for (Issue issue : issues) {
+ AppIssueVo vo = new AppIssueVo();
+ vo.setIssueId(issue.getId());
+ vo.setTitle(issue.getTitle().length()>12?issue.getTitle().substring(0, 12):issue.getTitle());
+ vo.setStartTime(issue.getStartTime$().length()>11?issue.getStartTime$().substring(0, 11):issue.getStartTime$());
+ vo.setSettle(issue.getSettle$());
+ if (!hostSet.contains(issue.getHostId())) {
+ hostSet.add(issue.getHostId());
+ Host host = hostService.selectById(issue.getHostId());
+ AppHostIssueVo hostVo = new AppHostIssueVo();
+ hostVo.setHostId(host.getId());
+ hostVo.setHostName(host.getName());
+ result.add(hostVo);
+ hostVo.getIssues().add(vo);
+ } else {
+ for (AppHostIssueVo hostVo : result) {
+ if (hostVo.getHostId().equals(issue.getHostId())) {
+ hostVo.getIssues().add(vo);
+ }
+ }
+ }
+ }
+ return R.ok().add(result);
+ }
+
+ @RequestMapping("/issue/detl/auth")
+ @ManagerAuth
+ public R issueDetl(@RequestParam Long issueId){
+ return R.ok().add(issueService.selectById(issueId));
+ }
}
--
Gitblit v1.9.1