From c27ad3dcb8b67a6c10a99c98b9bd6dd1f08b7967 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期二, 01 三月 2022 10:43:15 +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