From 971dff861e66945fca98a693e357d64efaeb4083 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 24 二月 2022 13:17:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/sc/manager/controller/param/MobileIssueParam.java |   30 +++++++
 src/main/java/com/zy/sc/manager/service/IssueTypeService.java          |    2 
 src/main/java/com/zy/sc/system/service/impl/HostServiceImpl.java       |    9 ++
 src/main/java/com/zy/sc/manager/controller/IssueTypeController.java    |    4 +
 src/main/java/com/zy/sc/manager/service/impl/IssueTypeServiceImpl.java |    9 ++
 src/main/java/com/zy/sc/system/service/HostService.java                |    1 
 src/main/java/com/zy/sc/manager/entity/Issue.java                      |   57 +++-----------
 src/main/java/com/zy/sc/manager/controller/AppController.java          |  121 +++++++++++++++--------------
 src/main/java/com/zy/sc/system/controller/HostController.java          |    4 +
 9 files changed, 135 insertions(+), 102 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..53ff9c4 100644
--- a/src/main/java/com/zy/sc/manager/controller/AppController.java
+++ b/src/main/java/com/zy/sc/manager/controller/AppController.java
@@ -1,12 +1,20 @@
 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.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;
@@ -15,6 +23,7 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -25,10 +34,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,64 +65,54 @@
         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("/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 (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喅鍔炴硶
+                null,    // 鏂囦欢鍒楄〃
+                JSONArray.toJSONString(param.getImgArr()),    // 鍥剧墖
+                startTime,    // 鍙戠敓鏃ユ湡
+                null,    // 澶勭悊鏃ユ湡
+                null,    // 鏇存柊鏃ユ湡
+                param.getDiscoverer(),    // 鍙戠幇浜�
+                param.getTel(),    // 鑱旂郴鏂瑰紡
+                null,    // 渚涘簲鍟�
+                null,    //
+                1,    // 鐘舵��
+                getUserId(),    // 娣诲姞浜哄憳
+                now,    // 娣诲姞鏃堕棿
+                getUserId(),    // 淇敼浜哄憳
+                now,    // 淇敼鏃堕棿
+                param.getMemo()    // 澶囨敞
+        );
+        if (!issueService.insert(issue)) {
+            throw new CoolException("鍙嶉澶辫触锛岃鑱旂郴绠$悊鍛�");
+        }
+        return R.ok("闂涓婃姤鎴愬姛");
+    }
 //
 //    @RequestMapping("/sensor/list/auth")
 //    @ManagerAuth
diff --git a/src/main/java/com/zy/sc/manager/controller/IssueTypeController.java b/src/main/java/com/zy/sc/manager/controller/IssueTypeController.java
index bd04cb0..ece7255 100644
--- a/src/main/java/com/zy/sc/manager/controller/IssueTypeController.java
+++ b/src/main/java/com/zy/sc/manager/controller/IssueTypeController.java
@@ -59,6 +59,10 @@
     @RequestMapping(value = "/issueType/add/auth")
     @ManagerAuth
     public R add(IssueType issueType) {
+        IssueType old = this.issueTypeService.selectByName(issueType.getName());
+        if (null != old) {
+            return R.error("鏁呴殰绫诲瀷鍚嶅凡瀛樺湪");
+        }
         issueType.setStatus(1);
         issueType.setCreateBy(getUserId());
         issueType.setCreateTime(new Date());
diff --git a/src/main/java/com/zy/sc/manager/controller/param/MobileIssueParam.java b/src/main/java/com/zy/sc/manager/controller/param/MobileIssueParam.java
new file mode 100644
index 0000000..80558e0
--- /dev/null
+++ b/src/main/java/com/zy/sc/manager/controller/param/MobileIssueParam.java
@@ -0,0 +1,30 @@
+package com.zy.sc.manager.controller.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2022/2/24
+ */
+@Data
+public class MobileIssueParam {
+
+    private String hostName;
+
+    private String issueTypeName;
+
+    private String discoverer;
+
+    private String tel;
+
+    private String startTime;
+
+    private String title;
+
+    private String memo;
+
+    private List<String> imgArr;
+
+
+}
diff --git a/src/main/java/com/zy/sc/manager/entity/Issue.java b/src/main/java/com/zy/sc/manager/entity/Issue.java
index 8a55605..70d3272 100644
--- a/src/main/java/com/zy/sc/manager/entity/Issue.java
+++ b/src/main/java/com/zy/sc/manager/entity/Issue.java
@@ -1,54 +1,22 @@
 package com.zy.sc.manager.entity;
 
-import com.core.common.Cools;import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import com.core.common.SpringUtils;
-import com.zy.sc.system.service.HostService;
-import com.zy.sc.system.entity.Host;
 import com.baomidou.mybatisplus.annotations.TableField;
-import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
 import com.core.common.SpringUtils;
 import com.zy.sc.manager.service.IssueTypeService;
-import com.zy.sc.manager.entity.IssueType;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import java.text.SimpleDateFormat;
-import java.util.Date;
+import com.zy.sc.system.entity.Host;
+import com.zy.sc.system.entity.User;
+import com.zy.sc.system.service.HostService;
+import com.zy.sc.system.service.UserService;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import io.swagger.annotations.ApiModelProperty;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import com.core.common.SpringUtils;
-import com.zy.sc.system.service.UserService;
-import com.zy.sc.system.entity.User;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
-import com.core.common.SpringUtils;
-import com.zy.sc.system.service.UserService;
-import com.zy.sc.system.entity.User;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiModelProperty;
 
-import com.baomidou.mybatisplus.annotations.TableName;
 import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 @TableName("man_issue")
 public class Issue implements Serializable {
@@ -59,6 +27,7 @@
      * ID
      */
     @ApiModelProperty(value= "ID")
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
@@ -157,7 +126,7 @@
     private Integer settle;
 
     /**
-     * 鐘舵�� 1: 姝e父  0: 绂佺敤  
+     * 鐘舵�� 1: 姝e父  0: 绂佺敤
      */
     @ApiModelProperty(value= "鐘舵�� 1: 姝e父  0: 绂佺敤  ")
     private Integer status;
@@ -239,7 +208,7 @@
 //            null,    // 鍙戠幇浜�
 //            null,    // 鑱旂郴鏂瑰紡
 //            null,    // 渚涘簲鍟�
-//            null,    // 
+//            null,    //
 //            null,    // 鐘舵��
 //            null,    // 娣诲姞浜哄憳
 //            null,    // 娣诲姞鏃堕棿
diff --git a/src/main/java/com/zy/sc/manager/service/IssueTypeService.java b/src/main/java/com/zy/sc/manager/service/IssueTypeService.java
index dbe0ae6..ef803ae 100644
--- a/src/main/java/com/zy/sc/manager/service/IssueTypeService.java
+++ b/src/main/java/com/zy/sc/manager/service/IssueTypeService.java
@@ -5,4 +5,6 @@
 
 public interface IssueTypeService extends IService<IssueType> {
 
+    IssueType selectByName(String name);
+
 }
diff --git a/src/main/java/com/zy/sc/manager/service/impl/IssueTypeServiceImpl.java b/src/main/java/com/zy/sc/manager/service/impl/IssueTypeServiceImpl.java
index cf36b00..b41230a 100644
--- a/src/main/java/com/zy/sc/manager/service/impl/IssueTypeServiceImpl.java
+++ b/src/main/java/com/zy/sc/manager/service/impl/IssueTypeServiceImpl.java
@@ -1,5 +1,7 @@
 package com.zy.sc.manager.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
 import com.zy.sc.manager.mapper.IssueTypeMapper;
 import com.zy.sc.manager.entity.IssueType;
 import com.zy.sc.manager.service.IssueTypeService;
@@ -9,4 +11,11 @@
 @Service("issueTypeService")
 public class IssueTypeServiceImpl extends ServiceImpl<IssueTypeMapper, IssueType> implements IssueTypeService {
 
+    @Override
+    public IssueType selectByName(String name) {
+        if (Cools.isEmpty(name)) {
+            return null;
+        }
+        return this.selectOne(new EntityWrapper<IssueType>().eq("name", name));
+    }
 }
diff --git a/src/main/java/com/zy/sc/system/controller/HostController.java b/src/main/java/com/zy/sc/system/controller/HostController.java
index d513af4..a25f825 100644
--- a/src/main/java/com/zy/sc/system/controller/HostController.java
+++ b/src/main/java/com/zy/sc/system/controller/HostController.java
@@ -67,6 +67,10 @@
                 return R.error("鏉冮檺涓嶈冻");
             }
         }
+        Host old = this.hostService.selectByName(host.getName());
+        if (null != old) {
+            return R.error("椤圭洰鍚嶅凡瀛樺湪");
+        }
         host.setCreateTime(new Date());
         host.setUpdateTime(new Date());
         host.setStatus(1);
diff --git a/src/main/java/com/zy/sc/system/service/HostService.java b/src/main/java/com/zy/sc/system/service/HostService.java
index c66c9b3..9aa4208 100644
--- a/src/main/java/com/zy/sc/system/service/HostService.java
+++ b/src/main/java/com/zy/sc/system/service/HostService.java
@@ -5,4 +5,5 @@
 
 public interface HostService extends IService<Host> {
 
+    Host selectByName(String name);
 }
diff --git a/src/main/java/com/zy/sc/system/service/impl/HostServiceImpl.java b/src/main/java/com/zy/sc/system/service/impl/HostServiceImpl.java
index c5db571..5c279c3 100644
--- a/src/main/java/com/zy/sc/system/service/impl/HostServiceImpl.java
+++ b/src/main/java/com/zy/sc/system/service/impl/HostServiceImpl.java
@@ -1,6 +1,8 @@
 package com.zy.sc.system.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
 import org.springframework.stereotype.Service;
 import com.zy.sc.system.entity.Host;
 import com.zy.sc.system.mapper.HostMapper;
@@ -9,4 +11,11 @@
 @Service("hostService")
 public class HostServiceImpl extends ServiceImpl<HostMapper, Host> implements HostService {
 
+    @Override
+    public Host selectByName(String name) {
+        if (Cools.isEmpty(name)) {
+            return null;
+        }
+        return this.selectOne(new EntityWrapper<Host>().eq("name", name));
+    }
 }

--
Gitblit v1.9.1