From bed24ea3fdeee959b85b699a82d53c5112adb219 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 25 五月 2023 16:57:42 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/domain/DingTalkReqVo.java | 36 +
ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseUserInfo.java | 183 +++++
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BaseUserInfoServiceImpl.java | 104 +++
smartor/src/main/java/com/smartor/service/IntelligenceCenterService.java | 22
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/EquipmentinfoController.java | 146 ++++
ruoyi-system/src/main/java/com/ruoyi/system/mapper/EquipmentinfoMapper.java | 61 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IntelligenceCenterController.java | 44 +
ruoyi-system/src/main/java/com/ruoyi/system/service/IBaseUserInfoService.java | 70 ++
ruoyi-system/src/main/java/com/ruoyi/system/domain/Equipmentinfo.java | 210 ++++++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/WeChatController.java | 13
ruoyi-system/src/main/java/com/ruoyi/system/service/IEquipmentinfoService.java | 64 +
ruoyi-admin/pom.xml | 1
ruoyi-system/src/main/resources/mapper/system/EquipmentinfoMapper.xml | 115 +++
smartor/src/main/java/com/smartor/service/DingTalkService.java | 23
smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java | 132 ++++
ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java | 18
ruoyi-common/pom.xml | 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/EquipmentinfoServiceImpl.java | 87 ++
ruoyi-system/src/main/resources/mapper/system/BaseUserInfoMapper.xml | 191 +++++
ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseUserInfoMapper.java | 61 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java | 107 --
ruoyi-admin/src/main/resources/application-druid.yml | 11
smartor/src/main/java/com/smartor/service/impl/IntelligenceCenterServiceImpl.java | 33 +
ruoyi-system/src/main/java/com/ruoyi/system/domain/ReportReqVo.java | 108 +++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/BaseUserInfoController.java | 117 +++
25 files changed, 1,851 insertions(+), 107 deletions(-)
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 9d19762..dd37057 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -80,7 +80,6 @@
<artifactId>core</artifactId>
<version>2.0</version>
</dependency>
-
</dependencies>
<build>
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/BaseUserInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/BaseUserInfoController.java
new file mode 100644
index 0000000..19fb6a5
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/BaseUserInfoController.java
@@ -0,0 +1,117 @@
+package com.ruoyi.web.controller.smartor;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.BaseUserInfo;
+import com.ruoyi.system.service.IBaseUserInfoService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 鐢ㄦ埛Controller
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+@RestController
+@RequestMapping("/system/info")
+public class BaseUserInfoController extends BaseController {
+ @Autowired
+ private IBaseUserInfoService baseUserInfoService;
+
+ /**
+ * 鏌ヨ鐢ㄦ埛鍒楄〃
+ */
+ @PreAuthorize("@ss.hasPermi('system:info:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(BaseUserInfo baseUserInfo) {
+ startPage();
+ List<BaseUserInfo> list = baseUserInfoService.selectBaseUserInfoList(baseUserInfo);
+ return getDataTable(list);
+ }
+
+ /**
+ * 瀵煎嚭鐢ㄦ埛鍒楄〃
+ */
+ @PreAuthorize("@ss.hasPermi('system:info:export')")
+ @Log(title = "鐢ㄦ埛", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, BaseUserInfo baseUserInfo) {
+ List<BaseUserInfo> list = baseUserInfoService.selectBaseUserInfoList(baseUserInfo);
+ ExcelUtil<BaseUserInfo> util = new ExcelUtil<BaseUserInfo>(BaseUserInfo.class);
+ util.exportExcel(response, list, "鐢ㄦ埛鏁版嵁");
+ }
+
+ /**
+ * 鑾峰彇鐢ㄦ埛璇︾粏淇℃伅
+ */
+ @PreAuthorize("@ss.hasPermi('system:info:query')")
+ @GetMapping(value = "/{userid}")
+ public AjaxResult getInfo(@PathVariable("userid") Long userid) {
+ return success(baseUserInfoService.selectBaseUserInfoByUserid(userid));
+ }
+
+ /**
+ * 鏂板鐢ㄦ埛
+ */
+ @PreAuthorize("@ss.hasPermi('system:info:add')")
+ @Log(title = "鐢ㄦ埛", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody BaseUserInfo baseUserInfo) {
+ return toAjax(baseUserInfoService.insertBaseUserInfo(baseUserInfo));
+ }
+
+ /**
+ * 淇敼鐢ㄦ埛
+ */
+ @PreAuthorize("@ss.hasPermi('system:info:edit')")
+ @Log(title = "鐢ㄦ埛", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody BaseUserInfo baseUserInfo) {
+ return toAjax(baseUserInfoService.updateBaseUserInfo(baseUserInfo));
+ }
+
+ /**
+ * 鍒犻櫎鐢ㄦ埛
+ */
+ @PreAuthorize("@ss.hasPermi('system:info:remove')")
+ @Log(title = "鐢ㄦ埛", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{userids}")
+ public AjaxResult remove(@PathVariable Long[] userids) {
+ return toAjax(baseUserInfoService.deleteBaseUserInfoByUserids(userids));
+ }
+
+ /**
+ * 鑾峰彇浜哄憳鐨勮仈绯绘柟寮�
+ *
+ * @param personNo 浜哄憳缂栧彿
+ * @param noticeWay 閫氱煡鏂瑰紡
+ * @return
+ */
+ @RequestMapping("/reportContent")
+ public AjaxResult getContact(String personCode, String noticeWay) {
+ if (StringUtils.isEmpty(personCode) || StringUtils.isEmpty(noticeWay)) {
+ return error("杈撳叆鏈夎锛岃妫�鏌�");
+ }
+ // 鏍规嵁閫氶�氱煡鏂瑰紡鍘讳汉鍛樹俊鎭〃涓幏鍙栫敤鎴风殑鑱旂郴鏂瑰紡
+ String contact = baseUserInfoService.getContact(personCode, noticeWay);
+ // 鍒欏皢鑱旂郴鏂瑰紡杩斿洖,鏄惁涓虹┖锛岀敱鍓嶇鍘诲垽鏂�
+ return success(contact);
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java
index 2b5f8a3..118f53b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java
@@ -11,11 +11,14 @@
import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
import com.dingtalk.api.response.OapiUserListidResponse;
import com.ruoyi.common.core.controller.BaseController;
+import com.smartor.domain.DingTalkReqVo;
+import com.smartor.service.DingTalkService;
import com.taobao.api.ApiException;
import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@@ -28,103 +31,27 @@
*/
@RestController
@RequestMapping("/smartor/dingtalk")
+@PropertySource(value = {"classpath:application-druid.yml"})
public class DingTalkController extends BaseController {
- @Value("appid")
- private String dingAppid = "dingn8iip5ubj7clrrsv";
+ @Value("${dingAppid}")
+ private String dingAppid;
- @Value("appSecret")
- private String dingAppSecret = "qlEK8D3oOVwGPOTiBQIBYTqQVlAfy9S_qQizEQFjJdSScwemWFryg4gbneu-NqWD";
+ @Value("${dingAppSecret}")
+ private String dingAppSecret;
+
+ @Autowired
+ private DingTalkService dingTalkService;
/**
* 鍙戦�侀拤閽夋秷鎭�
*
- * @param mobile
- * @param park
- * @param alarmCode
- * @param severityDesc
+ * @param dingTalkReqVo 鍙戦�佸唴瀹�
* @throws ApiException
*/
- public void sendNotification(String mobile, String park, String alarmCode, String severityDesc) throws ApiException {
- // Log.info("鍙戦�侀拤閽夐�氱煡");
- String accessToken = getAccessToken();
- if (StringUtils.isBlank(mobile)) {
- return;
- }
- DingTalkClient client3 = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/user/listid");
-
- OapiUserListidRequest request2 = new OapiUserListidRequest();
- request2.setDeptId(675909059L); // 璁剧疆瑕佽幏鍙栫殑閮ㄩ棬 ID锛岃繖閲屼互鏍归儴闂ㄤ负渚�
- // 璁剧疆閮ㄩ棬 ID锛屽鏋滆幏鍙栨墍鏈夊憳宸ユ墜鏈哄彿锛屽彲浠ヨ缃负鏍归儴闂ㄧ殑 ID
- OapiUserListidResponse response2 = client3.execute(request2, accessToken);
- String body = response2.getBody();
- // 瑙f瀽涓篔SONObject
- JSONObject jsonObject = JSONObject.parseObject(body);
- // 鎻愬彇鍑篔SONArray
- JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("result").getJSONArray("userid_list"));
- // 灏咼SONArray杞负List鍒楄〃
- String str = JSONObject.toJSONString(jsonArray);
- List<String> list = JSONObject.parseObject(str, List.class);
-
- //userid鏁扮粍
- for (String urid : list) {
- DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
- OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();
- request.setUseridList(urid);
- request.setAgentId(1779052814L);
- request.setToAllUser(false);
- OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
- msg.setOa(new OapiMessageCorpconversationAsyncsendV2Request.OA());
- msg.getOa().setMessageUrl("www.baidu.com");
- msg.getOa().setPcMessageUrl("www.baidu.com");
- msg.getOa().setHead(new OapiMessageCorpconversationAsyncsendV2Request.Head());
- msg.getOa().getHead().setText("text");
- msg.getOa().getHead().setBgcolor("FFBBBBBB");
- msg.getOa().setBody(new OapiMessageCorpconversationAsyncsendV2Request.Body());
- msg.getOa().getBody().setContent("msg淇℃伅");
- OapiMessageCorpconversationAsyncsendV2Request.Form formPark = new OapiMessageCorpconversationAsyncsendV2Request.Form();
- formPark.setKey(null);
- formPark.setValue(null);
- OapiMessageCorpconversationAsyncsendV2Request.Form formAlarmCode = new OapiMessageCorpconversationAsyncsendV2Request.Form();
- formAlarmCode.setKey("宸ュ伐宸 ");
- formAlarmCode.setValue(alarmCode);
- OapiMessageCorpconversationAsyncsendV2Request.Form formSeverityDesc = new OapiMessageCorpconversationAsyncsendV2Request.Form();
- formSeverityDesc.setKey("鏋楄瑕佽瑕�");
- formSeverityDesc.setValue(severityDesc);
- OapiMessageCorpconversationAsyncsendV2Request.Form formConner = new OapiMessageCorpconversationAsyncsendV2Request.Form();
- formConner.setKey("鍘呭湪鍦�");
- ArrayList<OapiMessageCorpconversationAsyncsendV2Request.Form> objects = new ArrayList<>();
- objects.add(formPark);
- objects.add(formSeverityDesc);
- objects.add(formAlarmCode);
- objects.add(formConner);
- msg.getOa().getBody().setForm(objects);
- msg.setMsgtype("oa");
- request.setMsg(msg);
- // log.info("鑾峰彇鍙戦�侀�氱煡娑堟伅浣撳拰鑾峰彇鍙戦�侀�氱煡浜哄畬鎴�");
- OapiMessageCorpconversationAsyncsendV2Response response = client.execute(request, accessToken);
- // log.info("鍙戦�佹秷鎭槸鍚︽垚鍔�"+response.isSuccess());
- System.out.println(response.isSuccess());
- // log.info("娑堟伅浠诲姟ID"+response.getTaskId());
- System.out.println(response.getTaskId());
- }
- }
-
-
- /**
- * 鑾峰彇 access_token
- */
- private String getAccessToken() throws ApiException {
- DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
- OapiGettokenRequest request = new OapiGettokenRequest();
- //Appkey
- request.setAppkey(dingAppid);
- //Appsecret
- request.setAppsecret(dingAppSecret);
- /*璇锋眰鏂瑰紡*/
- request.setHttpMethod("GET");
- OapiGettokenResponse response = client.execute(request);
- return response.getAccessToken();
+ @PostMapping("/sendNotification")
+ public void sendNotification(@RequestBody DingTalkReqVo dingTalkReqVo) throws ApiException {
+ dingTalkService.sendNotification(dingTalkReqVo);
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/EquipmentinfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/EquipmentinfoController.java
new file mode 100644
index 0000000..960482a
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/EquipmentinfoController.java
@@ -0,0 +1,146 @@
+package com.ruoyi.web.controller.smartor;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.ReportReqVo;
+import com.ruoyi.system.service.IBaseUserInfoService;
+import com.smartor.domain.DingTalkReqVo;
+import com.smartor.service.DingTalkService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.Equipmentinfo;
+import com.ruoyi.system.service.IEquipmentinfoService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慍ontroller
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+@RestController
+@RequestMapping("/system/equipmentinfo")
+public class EquipmentinfoController extends BaseController {
+ @Autowired
+ private IEquipmentinfoService equipmentinfoService;
+ @Autowired
+ private DingTalkService dingTalkService;
+
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ */
+ @PreAuthorize("@ss.hasPermi('system:equipmentinfo:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(Equipmentinfo equipmentinfo) {
+ startPage();
+ List<Equipmentinfo> list = equipmentinfoService.selectEquipmentinfoList(equipmentinfo);
+ return getDataTable(list);
+ }
+
+ /**
+ * 瀵煎嚭銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ */
+ @PreAuthorize("@ss.hasPermi('system:equipmentinfo:export')")
+ @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, Equipmentinfo equipmentinfo) {
+ List<Equipmentinfo> list = equipmentinfoService.selectEquipmentinfoList(equipmentinfo);
+ ExcelUtil<Equipmentinfo> util = new ExcelUtil<Equipmentinfo>(Equipmentinfo.class);
+ util.exportExcel(response, list, "銆愯濉啓鍔熻兘鍚嶇О銆戞暟鎹�");
+ }
+
+ /**
+ * 鑾峰彇銆愯濉啓鍔熻兘鍚嶇О銆戣缁嗕俊鎭�
+ */
+ @PreAuthorize("@ss.hasPermi('system:equipmentinfo:query')")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id) {
+ return success(equipmentinfoService.selectEquipmentinfoById(id));
+ }
+
+ /**
+ * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @PreAuthorize("@ss.hasPermi('system:equipmentinfo:add')")
+ @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody Equipmentinfo equipmentinfo) {
+ return toAjax(equipmentinfoService.insertEquipmentinfo(equipmentinfo));
+ }
+
+ /**
+ * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @PreAuthorize("@ss.hasPermi('system:equipmentinfo:edit')")
+ @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody Equipmentinfo equipmentinfo) {
+ return toAjax(equipmentinfoService.updateEquipmentinfo(equipmentinfo));
+ }
+
+ /**
+ * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @PreAuthorize("@ss.hasPermi('system:equipmentinfo:remove')")
+ @Log(title = "銆愯濉啓鍔熻兘鍚嶇О銆�", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids) {
+ return toAjax(equipmentinfoService.deleteEquipmentinfoByIds(ids));
+ }
+
+
+ /**
+ * 闂涓婃姤
+ */
+
+ @RequestMapping("/reportContent")
+ public AjaxResult reportContent(@RequestBody ReportReqVo reportReqVo) {
+ if (StringUtils.isEmpty(reportReqVo.getDealDept()) && StringUtils.isEmpty(reportReqVo.getDealPersionNO())) {
+ return error("澶勭悊浜哄拰澶勭悊閮ㄩ棬涓嶈兘鍚屾椂涓虹┖锛�");
+ }
+ Boolean aBoolean = false;
+ //1.鍒ゆ柇澶勭悊浜虹殑宸ュ彿鏄惁涓虹┖锛屽鏋滀笉涓虹┖锛岃幏鍙栫敤鎴风殑鐨勮仈绯绘柟寮�
+ if (StringUtils.isNotEmpty(reportReqVo.getDealPersionNO())) {
+
+ //2.濡備綍澶勭悊浜轰笉涓虹┖锛屾牴鎹�氱煡鏂瑰紡锛岃皟鐢ㄥ搴旂殑鎺ュ彛锛屽皢涓婃姤闂鍙戝嚭
+ if (reportReqVo.getNoticeWay() == "閽夐拤") {
+ //璋冪敤閽夐拤鎺ュ彛锛岃繘琛屾秷鎭彂閫�
+ } else if (reportReqVo.getNoticeWay() == "寰俊") {
+ //闇�瑕佷紒涓氬井淇★紝鍚庢湡鍐嶅仛
+ } else if (reportReqVo.getNoticeWay() == "鐢佃瘽") {
+ //璋冪敤鐢佃瘽鐨勬帴鍙�
+ }
+ }
+
+ //3.鑾峰彇澶勭悊閮ㄩ棬锛岃皟鐢ㄩ拤閽夋帴鍙o紝灏嗕笂鎶ラ棶棰樺彂鍑�
+ if (StringUtils.isNotEmpty(reportReqVo.getDealDept())) {
+ DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
+ //璁剧疆鍙戦�佸唴瀹�
+ dingTalkReqVo.setContents(null);
+ dingTalkReqVo.setDeptId(reportReqVo.getDealDeptID());
+ dingTalkReqVo.setUserId(reportReqVo.getDealPersionDingNO());
+ aBoolean = dingTalkService.sendNotification(dingTalkReqVo);
+ }
+
+ // 灏嗗伐浣滄祦鎺ㄨ嚦涓嬩竴鑺傜偣
+
+ //杩斿洖缁撴灉
+ return toAjax(aBoolean);
+ }
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IntelligenceCenterController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IntelligenceCenterController.java
new file mode 100644
index 0000000..13cd509
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/IntelligenceCenterController.java
@@ -0,0 +1,44 @@
+package com.ruoyi.web.controller.smartor;
+
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.smartor.domain.SchemeCategory;
+import com.smartor.service.ISchemeCategoryService;
+import com.smartor.service.IntelligenceCenterService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 鏂规鍒嗙被Controller
+ *
+ * @author ls
+ * @date 2023-05-23
+ */
+@RestController
+@RequestMapping("/intelligence/center")
+public class IntelligenceCenterController extends BaseController {
+ @Autowired
+ private IntelligenceCenterService intelligenceCenterService;
+
+ @PostMapping("/processList")
+ public void processList(@RequestBody List<Map<String, Object>> list) {
+ for (Map<String, Object> map : list) {
+ // 閬嶅巻 list 涓殑姣忎釜 map
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
+ String key = entry.getKey();
+ Object value = entry.getValue();
+ // 澶勭悊 map 涓殑姣忎釜閿�煎
+ }
+ }
+ }
+
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/WeChatController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/WeChatController.java
index 65210b2..991a5ba 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/WeChatController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/WeChatController.java
@@ -13,10 +13,13 @@
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
+import java.util.HashMap;
import java.util.List;
/**
@@ -27,13 +30,15 @@
*/
@RestController
@RequestMapping("/smartor/wechat")
+@PropertySource(value = { "classpath:application-druid.yml" })
public class WeChatController extends BaseController {
- @Value("appid")
- private String appid = "wx1c5243d2337753f4";
+ @Value("${appid}")
+ private String appid;
- @Value("appSecret")
- private String appSecret = "84a2186a0d175e88345267c716516cd3";
+ @Value("${appSecret}")
+ private String appSecret;
+
/**
* 鑾峰彇妯℃澘淇℃伅
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 5f4187d..d74ce0a 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -55,5 +55,12 @@
wall:
config:
multi-statement-allow: true
- appid : wxf50c5c72265188eb
- appSecret : 7ab0a81392a96b157efa1df00f9cd939
\ No newline at end of file
+
+
+ #寰俊鍏紬鍙风殑瀵嗛挜
+appid: wx1c5243d2337753f4
+appSecret: 84a2186a0d175e88345267c716516cd3
+
+#閽夐拤鐨勫瘑閽�
+dingAppid: dingn8iip5ubj7clrrsv
+dingAppSecret: qlEK8D3oOVwGPOTiBQIBYTqQVlAfy9S_qQizEQFjJdSScwemWFryg4gbneu-NqWD
\ No newline at end of file
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index b3237a4..eafd491 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -159,6 +159,7 @@
<artifactId>alibaba-dingtalk-service-sdk</artifactId>
<version>2.0.0</version>
</dependency>
+
</dependencies>
</project>
\ No newline at end of file
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
index f885d42..99253aa 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
@@ -1,15 +1,6 @@
package com.ruoyi.quartz.util;
-import org.quartz.CronScheduleBuilder;
-import org.quartz.CronTrigger;
-import org.quartz.Job;
-import org.quartz.JobBuilder;
-import org.quartz.JobDetail;
-import org.quartz.JobKey;
-import org.quartz.Scheduler;
-import org.quartz.SchedulerException;
-import org.quartz.TriggerBuilder;
-import org.quartz.TriggerKey;
+import org.quartz.*;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.ScheduleConstants;
import com.ruoyi.common.exception.job.TaskException;
@@ -72,6 +63,12 @@
// 鎸夋柊鐨刢ronExpression琛ㄨ揪寮忔瀯寤轰竴涓柊鐨則rigger
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup))
.withSchedule(cronScheduleBuilder).build();
+ //涓嬮潰杩欓噷鍙互鎺у埗鎵ц娆℃暟鈥渨ithRepeatCount(1)锛�0浠g爜鎵ц涓�娆★紝1浠h〃鎵ц涓ゆ...鈥濓紝withIntervalInSeconds(10)浠h〃澶氬皯绉掑悗鎵ц锛涜繖閲屾病鏈夊啓浠诲姟鎵ц瀹屾垚鍚庯紝鍒犻櫎浠诲姟锛屽悗闈㈤渶瑕佸啀琛ヤ笂
+// Trigger trigger = TriggerBuilder.newTrigger()
+// .withIdentity(getTriggerKey(jobId, jobGroup))
+// .startNow()
+// .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(10).withRepeatCount(1))
+// .build();
// 鏀惧叆鍙傛暟锛岃繍琛屾椂鐨勬柟娉曞彲浠ヨ幏鍙�
jobDetail.getJobDataMap().put(ScheduleConstants.TASK_PROPERTIES, job);
@@ -88,6 +85,7 @@
{
// 鎵ц璋冨害浠诲姟
scheduler.scheduleJob(jobDetail, trigger);
+ scheduler.deleteJob(jobDetail.getKey());
}
// 鏆傚仠浠诲姟
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseUserInfo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseUserInfo.java
new file mode 100644
index 0000000..6e595dc
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/BaseUserInfo.java
@@ -0,0 +1,183 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 鐢ㄦ埛瀵硅薄 base_user_info
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+@Data
+public class BaseUserInfo extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鑷ID
+ */
+ private Long userid;
+
+ /**
+ * 鐢ㄦ埛缂栧彿
+ */
+ @Excel(name = " 鐢ㄦ埛缂栧彿 ")
+ private String usercode;
+
+ /**
+ * 璐﹀彿
+ */
+ @Excel(name = " 璐﹀彿 ")
+ private String account;
+
+ /**
+ * 鎵嬫満鍙�
+ */
+ @Excel(name = " 鎵嬫満鍙� ")
+ private String phone;
+
+ @Excel(name = " 閽夐拤鍙� ")
+ private String dingding;
+
+ @Excel(name = " 寰俊鍙� ")
+ private String wechat;
+
+ /**
+ * 瀵嗙爜
+ */
+ @Excel(name = " 瀵嗙爜 ")
+ private String password;
+
+ /**
+ * 瀵嗛挜
+ */
+ @Excel(name = " 瀵嗛挜 ")
+ private String secret;
+
+ /**
+ * 鐪熷疄濮撳悕
+ */
+ @Excel(name = " 鐪熷疄濮撳悕 ")
+ private String realname;
+
+ /**
+ * 鏄电О
+ */
+ @Excel(name = " 鏄电О ")
+ private String nickname;
+
+ /**
+ * 瑙掕壊ID
+ */
+ @Excel(name = " 瑙掕壊ID ")
+ private Long roleid;
+
+ /**
+ * 瑙掕壊鍚嶇О
+ */
+ @Excel(name = " 瑙掕壊鍚嶇О ")
+ private String rolename;
+
+ /**
+ * 绉戝ID锛堝閫夛級
+ */
+ @Excel(name = " 绉戝ID", readConverterExp = "澶�=閫�")
+ private String deptid;
+
+ /**
+ * 绉戝鍚嶇О
+ */
+ @Excel(name = " 绉戝鍚嶇О ")
+ private String deptname;
+
+ /**
+ * 鐥呭尯ID锛堝閫夛級
+ */
+ @Excel(name = " 鐥呭尯ID", readConverterExp = "澶�=閫�")
+ private String wardid;
+
+ /**
+ * 鐥呭尯鍚嶇О
+ */
+ @Excel(name = " 鐥呭尯鍚嶇О ")
+ private String wardname;
+
+ /**
+ * 鐢ㄦ埛绫诲埆;0.鍖荤敓 1.绉戝涓讳换 2.鎶ゅ+ 3.鎶ゅ+闀�
+ */
+ @Excel(name = " 鐢ㄦ埛绫诲埆;0.鍖荤敓 1.绉戝涓讳换 2.鎶ゅ+ 3.鎶ゅ+闀� ")
+ private Long usertype;
+
+ /**
+ * 鐢ㄦ埛绫诲埆鍚嶇О
+ */
+ @Excel(name = " 鐢ㄦ埛绫诲埆鍚嶇О ")
+ private String usertypename;
+
+ /**
+ * 绉戝/鐥呭尯鏉冮檺绫诲瀷;0.鎵�灞炵瀹�/鐥呭尯 1.鍏ㄩ櫌 2.鑷畾涔�
+ */
+ @Excel(name = " 绉戝/鐥呭尯鏉冮檺绫诲瀷;0.鎵�灞炵瀹�/鐥呭尯 1.鍏ㄩ櫌 2.鑷畾涔� ")
+ private Long dwpermission;
+
+ /**
+ * 鏄惁寮�鏀句笅绾ф満鏋勬潈闄�
+ */
+ @Excel(name = " 鏄惁寮�鏀句笅绾ф満鏋勬潈闄� ")
+ private Long isopenlowerorg;
+
+ /**
+ * 鏄惁寮�鏀惧叡浜煡璇嗘潈闄�
+ */
+ @Excel(name = " 鏄惁寮�鏀惧叡浜煡璇嗘潈闄� ")
+ private Long isopenshareknow;
+
+ /**
+ * 鏄惁寮�鏀鹃�氱敤鏁版嵁鏉冮檺
+ */
+ @Excel(name = " 鏄惁寮�鏀鹃�氱敤鏁版嵁鏉冮檺 ")
+ private Long isopengeneraldata;
+
+ /**
+ * 鏈烘瀯ID
+ */
+ @Excel(name = " 鏈烘瀯ID ")
+ private String orgid;
+
+ /**
+ * 鍒犻櫎鏍囪
+ */
+ private String delFlag;
+
+ /**
+ * 涓婁紶鏍囪
+ */
+ @Excel(name = " 涓婁紶鏍囪 ")
+ private Long isupload;
+
+ /**
+ * 涓婁紶鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = " 涓婁紶鏃堕棿 ", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date uploadTime;
+
+ /**
+ * 绉戝鏉冮檺
+ */
+ @Excel(name = " 绉戝鏉冮檺 ")
+ private String deptpermission;
+
+ /**
+ * 鐥呭尯鏉冮檺
+ */
+ @Excel(name = " 鐥呭尯鏉冮檺 ")
+ private String wardpermission;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/Equipmentinfo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Equipmentinfo.java
new file mode 100644
index 0000000..e83463b
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/Equipmentinfo.java
@@ -0,0 +1,210 @@
+package com.ruoyi.system.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆戝璞� equipmentinfo
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+public class Equipmentinfo extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 涓婚敭 */
+ private Long id;
+
+ /** 璁惧绫诲埆 */
+ @Excel(name = "璁惧绫诲埆")
+ private Long devtype;
+
+ /** 璁惧鍚嶇О */
+ @Excel(name = "璁惧鍚嶇О")
+ private String equipmentname;
+
+ /** 璁惧鍨嬪彿 */
+ @Excel(name = "璁惧鍨嬪彿")
+ private String modnum;
+
+ /** 鎶曡繍鏃ユ湡 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "鎶曡繍鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date touyundate;
+
+ /** 璐叆鏃ユ湡 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "璐叆鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date gourudate;
+
+ /** 鍒堕�犲崟浣� */
+ @Excel(name = "鍒堕�犲崟浣�")
+ private String produce;
+
+ /** 鏁伴噺 */
+ @Excel(name = "鏁伴噺")
+ private Long quantity;
+
+ /** 璁¢噺鍗曚綅 */
+ @Excel(name = "璁¢噺鍗曚綅")
+ private String unit;
+
+ /** 浣跨敤閮ㄩ棬 */
+ @Excel(name = "浣跨敤閮ㄩ棬")
+ private String useDept;
+
+ /** 瀹夎鍦扮偣 */
+ @Excel(name = "瀹夎鍦扮偣")
+ private String storePlace;
+
+ /** 鎶�鏈暟鎹� */
+ @Excel(name = "鎶�鏈暟鎹�")
+ private String technData;
+
+ /** 鐘舵�乮d */
+ @Excel(name = "鐘舵�乮d")
+ private Long statusid;
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+ public void setDevtype(Long devtype)
+ {
+ this.devtype = devtype;
+ }
+
+ public Long getDevtype()
+ {
+ return devtype;
+ }
+ public void setEquipmentname(String equipmentname)
+ {
+ this.equipmentname = equipmentname;
+ }
+
+ public String getEquipmentname()
+ {
+ return equipmentname;
+ }
+ public void setModnum(String modnum)
+ {
+ this.modnum = modnum;
+ }
+
+ public String getModnum()
+ {
+ return modnum;
+ }
+ public void setTouyundate(Date touyundate)
+ {
+ this.touyundate = touyundate;
+ }
+
+ public Date getTouyundate()
+ {
+ return touyundate;
+ }
+ public void setGourudate(Date gourudate)
+ {
+ this.gourudate = gourudate;
+ }
+
+ public Date getGourudate()
+ {
+ return gourudate;
+ }
+ public void setProduce(String produce)
+ {
+ this.produce = produce;
+ }
+
+ public String getProduce()
+ {
+ return produce;
+ }
+ public void setQuantity(Long quantity)
+ {
+ this.quantity = quantity;
+ }
+
+ public Long getQuantity()
+ {
+ return quantity;
+ }
+ public void setUnit(String unit)
+ {
+ this.unit = unit;
+ }
+
+ public String getUnit()
+ {
+ return unit;
+ }
+ public void setUseDept(String useDept)
+ {
+ this.useDept = useDept;
+ }
+
+ public String getUseDept()
+ {
+ return useDept;
+ }
+ public void setStorePlace(String storePlace)
+ {
+ this.storePlace = storePlace;
+ }
+
+ public String getStorePlace()
+ {
+ return storePlace;
+ }
+ public void setTechnData(String technData)
+ {
+ this.technData = technData;
+ }
+
+ public String getTechnData()
+ {
+ return technData;
+ }
+ public void setStatusid(Long statusid)
+ {
+ this.statusid = statusid;
+ }
+
+ public Long getStatusid()
+ {
+ return statusid;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("devtype", getDevtype())
+ .append("equipmentname", getEquipmentname())
+ .append("modnum", getModnum())
+ .append("touyundate", getTouyundate())
+ .append("gourudate", getGourudate())
+ .append("produce", getProduce())
+ .append("quantity", getQuantity())
+ .append("unit", getUnit())
+ .append("useDept", getUseDept())
+ .append("storePlace", getStorePlace())
+ .append("technData", getTechnData())
+ .append("remark", getRemark())
+ .append("statusid", getStatusid())
+ .toString();
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/ReportReqVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/ReportReqVo.java
new file mode 100644
index 0000000..336b156
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/ReportReqVo.java
@@ -0,0 +1,108 @@
+package com.ruoyi.system.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 闂涓婃姤
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+@Data
+public class ReportReqVo extends BaseEntity {
+
+ /**
+ * 涓婚敭
+ */
+ private Long id;
+
+ /**
+ * 涓婃姤浜�
+ */
+ @Excel(name = "涓婃姤浜�")
+ private Long reportPerson;
+
+ /**
+ * 涓婃姤浜虹紪鍙�
+ */
+ @Excel(name = "涓婃姤浜虹紪鍙�")
+ private Long reportPersonCode;
+
+ /**
+ * 璁惧鍚嶇О
+ */
+ @Excel(name = "涓婃姤闂")
+ private String reqContent;
+
+ /**
+ * 鎶曡繍鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "涓婃姤鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date reportDate;
+
+ /**
+ * 闂璁惧鍨嬪彿
+ */
+ @Excel(name = "闂璁惧鍨嬪彿")
+ private String produce;
+
+ /**
+ * 涓婃姤閮ㄩ棬
+ */
+ @Excel(name = "涓婃姤閮ㄩ棬")
+ private String reportDep;
+
+ /**
+ * 澶勭悊浜哄鍚�
+ */
+ @Excel(name = "澶勭悊浜哄鍚�")
+ private String dealPersionName;
+
+ /**
+ * 澶勭悊浜哄伐鍙�
+ */
+ @Excel(name = "澶勭悊浜哄伐鍙�")
+ private String dealPersionNO;
+
+ /**
+ * 澶勭悊浜哄伐鍙�
+ */
+ @Excel(name = "澶勭悊浜洪拤閽夊彿")
+ private String dealPersionDingNO;
+
+ /**
+ * 鑱旂郴鏂瑰紡锛堟墜鏈哄彿銆佸井淇″彿...锛�
+ */
+ @Excel(name = "鑱旂郴鏂瑰紡")
+ private String contactWsy;
+
+
+ /**
+ * 澶勭悊浜洪�氱煡鏂瑰紡(鐢佃瘽锛岀煭淇★紝寰俊锛岄拤閽�...)
+ */
+ @Excel(name = "閫氱煡鏂瑰紡")
+ private String noticeWay;
+
+
+ /**
+ * 澶勭悊閮ㄩ棬
+ */
+ @Excel(name = "澶勭悊閮ㄩ棬")
+ private String dealDept;
+
+ /**
+ * 澶勭悊閮ㄩ棬ID
+ */
+ @Excel(name = "澶勭悊閮ㄩ棬ID")
+ private String dealDeptID;
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseUserInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseUserInfoMapper.java
new file mode 100644
index 0000000..cebbe2c
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseUserInfoMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.BaseUserInfo;
+
+/**
+ * 鐢ㄦ埛Mapper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+public interface BaseUserInfoMapper
+{
+ /**
+ * 鏌ヨ鐢ㄦ埛
+ *
+ * @param userid 鐢ㄦ埛涓婚敭
+ * @return 鐢ㄦ埛
+ */
+ public BaseUserInfo selectBaseUserInfoByUserid(Long userid);
+
+ /**
+ * 鏌ヨ鐢ㄦ埛鍒楄〃
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 鐢ㄦ埛闆嗗悎
+ */
+ public List<BaseUserInfo> selectBaseUserInfoList(BaseUserInfo baseUserInfo);
+
+ /**
+ * 鏂板鐢ㄦ埛
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 缁撴灉
+ */
+ public int insertBaseUserInfo(BaseUserInfo baseUserInfo);
+
+ /**
+ * 淇敼鐢ㄦ埛
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 缁撴灉
+ */
+ public int updateBaseUserInfo(BaseUserInfo baseUserInfo);
+
+ /**
+ * 鍒犻櫎鐢ㄦ埛
+ *
+ * @param userid 鐢ㄦ埛涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteBaseUserInfoByUserid(Long userid);
+
+ /**
+ * 鎵归噺鍒犻櫎鐢ㄦ埛
+ *
+ * @param userids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteBaseUserInfoByUserids(Long[] userids);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/EquipmentinfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/EquipmentinfoMapper.java
new file mode 100644
index 0000000..6470a62
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/EquipmentinfoMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper;
+
+import java.util.List;
+import com.ruoyi.system.domain.Equipmentinfo;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慚apper鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+public interface EquipmentinfoMapper
+{
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param id 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+ * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ public Equipmentinfo selectEquipmentinfoById(Long id);
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 銆愯濉啓鍔熻兘鍚嶇О銆戦泦鍚�
+ */
+ public List<Equipmentinfo> selectEquipmentinfoList(Equipmentinfo equipmentinfo);
+
+ /**
+ * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 缁撴灉
+ */
+ public int insertEquipmentinfo(Equipmentinfo equipmentinfo);
+
+ /**
+ * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 缁撴灉
+ */
+ public int updateEquipmentinfo(Equipmentinfo equipmentinfo);
+
+ /**
+ * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param id 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+ * @return 缁撴灉
+ */
+ public int deleteEquipmentinfoById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteEquipmentinfoByIds(Long[] ids);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IBaseUserInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBaseUserInfoService.java
new file mode 100644
index 0000000..7dbbb45
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IBaseUserInfoService.java
@@ -0,0 +1,70 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+import com.ruoyi.system.domain.BaseUserInfo;
+
+/**
+ * 鐢ㄦ埛Service鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+public interface IBaseUserInfoService
+{
+ /**
+ * 鏌ヨ鐢ㄦ埛
+ *
+ * @param userid 鐢ㄦ埛涓婚敭
+ * @return 鐢ㄦ埛
+ */
+ public BaseUserInfo selectBaseUserInfoByUserid(Long userid);
+
+ /**
+ * 鏌ヨ鐢ㄦ埛鍒楄〃
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 鐢ㄦ埛闆嗗悎
+ */
+ public List<BaseUserInfo> selectBaseUserInfoList(BaseUserInfo baseUserInfo);
+
+ /**
+ * 鏂板鐢ㄦ埛
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 缁撴灉
+ */
+ public int insertBaseUserInfo(BaseUserInfo baseUserInfo);
+
+ /**
+ * 淇敼鐢ㄦ埛
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 缁撴灉
+ */
+ public int updateBaseUserInfo(BaseUserInfo baseUserInfo);
+
+ /**
+ * 鎵归噺鍒犻櫎鐢ㄦ埛
+ *
+ * @param userids 闇�瑕佸垹闄ょ殑鐢ㄦ埛涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteBaseUserInfoByUserids(Long[] userids);
+
+ /**
+ * 鍒犻櫎鐢ㄦ埛淇℃伅
+ *
+ * @param userid 鐢ㄦ埛涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteBaseUserInfoByUserid(Long userid);
+
+ /**
+ * 鏍规嵁鏉′欢鑾峰彇鐢ㄦ埛淇℃伅
+ *
+ * @param personCode
+ * @param noticeWay
+ * @return
+ */
+ public String getContact(String personCode, String noticeWay);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IEquipmentinfoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IEquipmentinfoService.java
new file mode 100644
index 0000000..aaa8e4d
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IEquipmentinfoService.java
@@ -0,0 +1,64 @@
+package com.ruoyi.system.service;
+
+import java.util.List;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.system.domain.Equipmentinfo;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice鎺ュ彛
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+public interface IEquipmentinfoService {
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param id 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+ * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ public Equipmentinfo selectEquipmentinfoById(Long id);
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 銆愯濉啓鍔熻兘鍚嶇О銆戦泦鍚�
+ */
+ public List<Equipmentinfo> selectEquipmentinfoList(Equipmentinfo equipmentinfo);
+
+ /**
+ * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 缁撴灉
+ */
+ public int insertEquipmentinfo(Equipmentinfo equipmentinfo);
+
+ /**
+ * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 缁撴灉
+ */
+ public int updateEquipmentinfo(Equipmentinfo equipmentinfo);
+
+ /**
+ * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑銆愯濉啓鍔熻兘鍚嶇О銆戜富閿泦鍚�
+ * @return 缁撴灉
+ */
+ public int deleteEquipmentinfoByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆戜俊鎭�
+ *
+ * @param id 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+ * @return 缁撴灉
+ */
+ public int deleteEquipmentinfoById(Long id);
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BaseUserInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BaseUserInfoServiceImpl.java
new file mode 100644
index 0000000..bd7b828
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BaseUserInfoServiceImpl.java
@@ -0,0 +1,104 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.BaseUserInfoMapper;
+import com.ruoyi.system.domain.BaseUserInfo;
+import com.ruoyi.system.service.IBaseUserInfoService;
+
+/**
+ * 鐢ㄦ埛Service涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+@Service
+public class BaseUserInfoServiceImpl implements IBaseUserInfoService {
+ @Autowired
+ private BaseUserInfoMapper baseUserInfoMapper;
+
+ /**
+ * 鏌ヨ鐢ㄦ埛
+ *
+ * @param userid 鐢ㄦ埛涓婚敭
+ * @return 鐢ㄦ埛
+ */
+ @Override
+ public BaseUserInfo selectBaseUserInfoByUserid(Long userid) {
+ return baseUserInfoMapper.selectBaseUserInfoByUserid(userid);
+ }
+
+ /**
+ * 鏌ヨ鐢ㄦ埛鍒楄〃
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 鐢ㄦ埛
+ */
+ @Override
+ public List<BaseUserInfo> selectBaseUserInfoList(BaseUserInfo baseUserInfo) {
+ return baseUserInfoMapper.selectBaseUserInfoList(baseUserInfo);
+ }
+
+ /**
+ * 鏂板鐢ㄦ埛
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertBaseUserInfo(BaseUserInfo baseUserInfo) {
+ baseUserInfo.setCreateTime(DateUtils.getNowDate());
+ return baseUserInfoMapper.insertBaseUserInfo(baseUserInfo);
+ }
+
+ /**
+ * 淇敼鐢ㄦ埛
+ *
+ * @param baseUserInfo 鐢ㄦ埛
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateBaseUserInfo(BaseUserInfo baseUserInfo) {
+ baseUserInfo.setUpdateTime(DateUtils.getNowDate());
+ return baseUserInfoMapper.updateBaseUserInfo(baseUserInfo);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鐢ㄦ埛
+ *
+ * @param userids 闇�瑕佸垹闄ょ殑鐢ㄦ埛涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteBaseUserInfoByUserids(Long[] userids) {
+ return baseUserInfoMapper.deleteBaseUserInfoByUserids(userids);
+ }
+
+ /**
+ * 鍒犻櫎鐢ㄦ埛淇℃伅
+ *
+ * @param userid 鐢ㄦ埛涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteBaseUserInfoByUserid(Long userid) {
+ return baseUserInfoMapper.deleteBaseUserInfoByUserid(userid);
+ }
+
+ @Override
+ public String getContact(String personCode, String noticeWay) {
+ BaseUserInfo baseUserInfo = new BaseUserInfo();
+ baseUserInfo.setUsercode(personCode);
+ List<BaseUserInfo> baseUserInfos = baseUserInfoMapper.selectBaseUserInfoList(baseUserInfo);
+ if (noticeWay == "閽夐拤") {
+ return baseUserInfos.get(0).getDingding();
+ } else if (noticeWay == "鎵嬫満") {
+ return baseUserInfos.get(0).getPhone();
+ }
+ //寰俊鍙�
+ return baseUserInfos.get(0).getWechat();
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/EquipmentinfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/EquipmentinfoServiceImpl.java
new file mode 100644
index 0000000..755cce0
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/EquipmentinfoServiceImpl.java
@@ -0,0 +1,87 @@
+package com.ruoyi.system.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.system.mapper.EquipmentinfoMapper;
+import com.ruoyi.system.domain.Equipmentinfo;
+import com.ruoyi.system.service.IEquipmentinfoService;
+
+/**
+ * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice涓氬姟灞傚鐞�
+ *
+ * @author ruoyi
+ * @date 2023-05-25
+ */
+@Service
+public class EquipmentinfoServiceImpl implements IEquipmentinfoService {
+ @Autowired
+ private EquipmentinfoMapper equipmentinfoMapper;
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param id 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+ * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @Override
+ public Equipmentinfo selectEquipmentinfoById(Long id) {
+ return equipmentinfoMapper.selectEquipmentinfoById(id);
+ }
+
+ /**
+ * 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 銆愯濉啓鍔熻兘鍚嶇О銆�
+ */
+ @Override
+ public List<Equipmentinfo> selectEquipmentinfoList(Equipmentinfo equipmentinfo) {
+ return equipmentinfoMapper.selectEquipmentinfoList(equipmentinfo);
+ }
+
+ /**
+ * 鏂板銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertEquipmentinfo(Equipmentinfo equipmentinfo) {
+ return equipmentinfoMapper.insertEquipmentinfo(equipmentinfo);
+ }
+
+ /**
+ * 淇敼銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param equipmentinfo 銆愯濉啓鍔熻兘鍚嶇О銆�
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateEquipmentinfo(Equipmentinfo equipmentinfo) {
+ return equipmentinfoMapper.updateEquipmentinfo(equipmentinfo);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteEquipmentinfoByIds(Long[] ids) {
+ return equipmentinfoMapper.deleteEquipmentinfoByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎銆愯濉啓鍔熻兘鍚嶇О銆戜俊鎭�
+ *
+ * @param id 銆愯濉啓鍔熻兘鍚嶇О銆戜富閿�
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteEquipmentinfoById(Long id) {
+ return equipmentinfoMapper.deleteEquipmentinfoById(id);
+ }
+}
diff --git a/ruoyi-system/src/main/resources/mapper/system/BaseUserInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/BaseUserInfoMapper.xml
new file mode 100644
index 0000000..bab1ce8
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/BaseUserInfoMapper.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.BaseUserInfoMapper">
+
+ <resultMap type="BaseUserInfo" id="BaseUserInfoResult">
+ <result property="userid" column="userid" />
+ <result property="usercode" column="usercode" />
+ <result property="account" column="account" />
+ <result property="phone" column="phone" />
+ <result property="password" column="password" />
+ <result property="secret" column="secret" />
+ <result property="realname" column="realname" />
+ <result property="nickname" column="nickname" />
+ <result property="roleid" column="roleid" />
+ <result property="rolename" column="rolename" />
+ <result property="deptid" column="deptid" />
+ <result property="deptname" column="deptname" />
+ <result property="wardid" column="wardid" />
+ <result property="wardname" column="wardname" />
+ <result property="usertype" column="usertype" />
+ <result property="usertypename" column="usertypename" />
+ <result property="dwpermission" column="dwpermission" />
+ <result property="isopenlowerorg" column="isopenlowerorg" />
+ <result property="isopenshareknow" column="isopenshareknow" />
+ <result property="isopengeneraldata" column="isopengeneraldata" />
+ <result property="orgid" column="orgid" />
+ <result property="delFlag" column="del_flag" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="createBy" column="create_by" />
+ <result property="createTime" column="create_time" />
+ <result property="isupload" column="isupload" />
+ <result property="uploadTime" column="upload_time" />
+ <result property="deptpermission" column="deptpermission" />
+ <result property="wardpermission" column="wardpermission" />
+ </resultMap>
+
+ <sql id="selectBaseUserInfoVo">
+ select userid, usercode, account, phone, password, secret, realname, nickname, roleid, rolename, deptid, deptname, wardid, wardname, usertype, usertypename, dwpermission, isopenlowerorg, isopenshareknow, isopengeneraldata, orgid, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, deptpermission, wardpermission from base_user_info
+ </sql>
+
+ <select id="selectBaseUserInfoList" parameterType="BaseUserInfo" resultMap="BaseUserInfoResult">
+ <include refid="selectBaseUserInfoVo"/>
+ <where>
+ <if test="usercode != null and usercode != ''"> and usercode = #{usercode}</if>
+ <if test="account != null and account != ''"> and account = #{account}</if>
+ <if test="phone != null and phone != ''"> and phone = #{phone}</if>
+ <if test="password != null and password != ''"> and password = #{password}</if>
+ <if test="secret != null and secret != ''"> and secret = #{secret}</if>
+ <if test="realname != null and realname != ''"> and realname like concat('%', #{realname}, '%')</if>
+ <if test="nickname != null and nickname != ''"> and nickname like concat('%', #{nickname}, '%')</if>
+ <if test="roleid != null "> and roleid = #{roleid}</if>
+ <if test="rolename != null and rolename != ''"> and rolename like concat('%', #{rolename}, '%')</if>
+ <if test="deptid != null and deptid != ''"> and deptid = #{deptid}</if>
+ <if test="deptname != null and deptname != ''"> and deptname like concat('%', #{deptname}, '%')</if>
+ <if test="wardid != null and wardid != ''"> and wardid = #{wardid}</if>
+ <if test="wardname != null and wardname != ''"> and wardname like concat('%', #{wardname}, '%')</if>
+ <if test="usertype != null "> and usertype = #{usertype}</if>
+ <if test="usertypename != null and usertypename != ''"> and usertypename like concat('%', #{usertypename}, '%')</if>
+ <if test="dwpermission != null "> and dwpermission = #{dwpermission}</if>
+ <if test="isopenlowerorg != null "> and isopenlowerorg = #{isopenlowerorg}</if>
+ <if test="isopenshareknow != null "> and isopenshareknow = #{isopenshareknow}</if>
+ <if test="isopengeneraldata != null "> and isopengeneraldata = #{isopengeneraldata}</if>
+ <if test="orgid != null and orgid != ''"> and orgid = #{orgid}</if>
+ <if test="isupload != null "> and isupload = #{isupload}</if>
+ <if test="uploadTime != null "> and upload_time = #{uploadTime}</if>
+ <if test="deptpermission != null and deptpermission != ''"> and deptpermission = #{deptpermission}</if>
+ <if test="wardpermission != null and wardpermission != ''"> and wardpermission = #{wardpermission}</if>
+ </where>
+ </select>
+
+ <select id="selectBaseUserInfoByUserid" parameterType="Long" resultMap="BaseUserInfoResult">
+ <include refid="selectBaseUserInfoVo"/>
+ where userid = #{userid}
+ </select>
+
+ <insert id="insertBaseUserInfo" parameterType="BaseUserInfo" useGeneratedKeys="true" keyProperty="userid">
+ insert into base_user_info
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="usercode != null">usercode,</if>
+ <if test="account != null">account,</if>
+ <if test="phone != null">phone,</if>
+ <if test="password != null">password,</if>
+ <if test="secret != null">secret,</if>
+ <if test="realname != null">realname,</if>
+ <if test="nickname != null">nickname,</if>
+ <if test="roleid != null">roleid,</if>
+ <if test="rolename != null">rolename,</if>
+ <if test="deptid != null">deptid,</if>
+ <if test="deptname != null">deptname,</if>
+ <if test="wardid != null">wardid,</if>
+ <if test="wardname != null">wardname,</if>
+ <if test="usertype != null">usertype,</if>
+ <if test="usertypename != null">usertypename,</if>
+ <if test="dwpermission != null">dwpermission,</if>
+ <if test="isopenlowerorg != null">isopenlowerorg,</if>
+ <if test="isopenshareknow != null">isopenshareknow,</if>
+ <if test="isopengeneraldata != null">isopengeneraldata,</if>
+ <if test="orgid != null">orgid,</if>
+ <if test="delFlag != null and delFlag != ''">del_flag,</if>
+ <if test="updateBy != null">update_by,</if>
+ <if test="updateTime != null">update_time,</if>
+ <if test="createBy != null">create_by,</if>
+ <if test="createTime != null">create_time,</if>
+ <if test="isupload != null">isupload,</if>
+ <if test="uploadTime != null">upload_time,</if>
+ <if test="deptpermission != null">deptpermission,</if>
+ <if test="wardpermission != null">wardpermission,</if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="usercode != null">#{usercode},</if>
+ <if test="account != null">#{account},</if>
+ <if test="phone != null">#{phone},</if>
+ <if test="password != null">#{password},</if>
+ <if test="secret != null">#{secret},</if>
+ <if test="realname != null">#{realname},</if>
+ <if test="nickname != null">#{nickname},</if>
+ <if test="roleid != null">#{roleid},</if>
+ <if test="rolename != null">#{rolename},</if>
+ <if test="deptid != null">#{deptid},</if>
+ <if test="deptname != null">#{deptname},</if>
+ <if test="wardid != null">#{wardid},</if>
+ <if test="wardname != null">#{wardname},</if>
+ <if test="usertype != null">#{usertype},</if>
+ <if test="usertypename != null">#{usertypename},</if>
+ <if test="dwpermission != null">#{dwpermission},</if>
+ <if test="isopenlowerorg != null">#{isopenlowerorg},</if>
+ <if test="isopenshareknow != null">#{isopenshareknow},</if>
+ <if test="isopengeneraldata != null">#{isopengeneraldata},</if>
+ <if test="orgid != null">#{orgid},</if>
+ <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
+ <if test="updateBy != null">#{updateBy},</if>
+ <if test="updateTime != null">#{updateTime},</if>
+ <if test="createBy != null">#{createBy},</if>
+ <if test="createTime != null">#{createTime},</if>
+ <if test="isupload != null">#{isupload},</if>
+ <if test="uploadTime != null">#{uploadTime},</if>
+ <if test="deptpermission != null">#{deptpermission},</if>
+ <if test="wardpermission != null">#{wardpermission},</if>
+ </trim>
+ </insert>
+
+ <update id="updateBaseUserInfo" parameterType="BaseUserInfo">
+ update base_user_info
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="usercode != null">usercode = #{usercode},</if>
+ <if test="account != null">account = #{account},</if>
+ <if test="phone != null">phone = #{phone},</if>
+ <if test="password != null">password = #{password},</if>
+ <if test="secret != null">secret = #{secret},</if>
+ <if test="realname != null">realname = #{realname},</if>
+ <if test="nickname != null">nickname = #{nickname},</if>
+ <if test="roleid != null">roleid = #{roleid},</if>
+ <if test="rolename != null">rolename = #{rolename},</if>
+ <if test="deptid != null">deptid = #{deptid},</if>
+ <if test="deptname != null">deptname = #{deptname},</if>
+ <if test="wardid != null">wardid = #{wardid},</if>
+ <if test="wardname != null">wardname = #{wardname},</if>
+ <if test="usertype != null">usertype = #{usertype},</if>
+ <if test="usertypename != null">usertypename = #{usertypename},</if>
+ <if test="dwpermission != null">dwpermission = #{dwpermission},</if>
+ <if test="isopenlowerorg != null">isopenlowerorg = #{isopenlowerorg},</if>
+ <if test="isopenshareknow != null">isopenshareknow = #{isopenshareknow},</if>
+ <if test="isopengeneraldata != null">isopengeneraldata = #{isopengeneraldata},</if>
+ <if test="orgid != null">orgid = #{orgid},</if>
+ <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
+ <if test="updateBy != null">update_by = #{updateBy},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ <if test="createBy != null">create_by = #{createBy},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="isupload != null">isupload = #{isupload},</if>
+ <if test="uploadTime != null">upload_time = #{uploadTime},</if>
+ <if test="deptpermission != null">deptpermission = #{deptpermission},</if>
+ <if test="wardpermission != null">wardpermission = #{wardpermission},</if>
+ </trim>
+ where userid = #{userid}
+ </update>
+
+ <delete id="deleteBaseUserInfoByUserid" parameterType="Long">
+ delete from base_user_info where userid = #{userid}
+ </delete>
+
+ <delete id="deleteBaseUserInfoByUserids" parameterType="String">
+ delete from base_user_info where userid in
+ <foreach item="userid" collection="array" open="(" separator="," close=")">
+ #{userid}
+ </foreach>
+ </delete>
+</mapper>
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/EquipmentinfoMapper.xml b/ruoyi-system/src/main/resources/mapper/system/EquipmentinfoMapper.xml
new file mode 100644
index 0000000..1efe6f1
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/EquipmentinfoMapper.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.EquipmentinfoMapper">
+
+ <resultMap type="Equipmentinfo" id="EquipmentinfoResult">
+ <result property="id" column="id" />
+ <result property="devtype" column="devtype" />
+ <result property="equipmentname" column="equipmentname" />
+ <result property="modnum" column="modnum" />
+ <result property="touyundate" column="touyundate" />
+ <result property="gourudate" column="gourudate" />
+ <result property="produce" column="produce" />
+ <result property="quantity" column="quantity" />
+ <result property="unit" column="unit" />
+ <result property="useDept" column="useDept" />
+ <result property="storePlace" column="storePlace" />
+ <result property="technData" column="technData" />
+ <result property="remark" column="remark" />
+ <result property="statusid" column="statusid" />
+ </resultMap>
+
+ <sql id="selectEquipmentinfoVo">
+ select id, devtype, equipmentname, modnum, touyundate, gourudate, produce, quantity, unit, useDept, storePlace, technData, remark, statusid from equipmentinfo
+ </sql>
+
+ <select id="selectEquipmentinfoList" parameterType="Equipmentinfo" resultMap="EquipmentinfoResult">
+ <include refid="selectEquipmentinfoVo"/>
+ <where>
+ <if test="devtype != null "> and devtype = #{devtype}</if>
+ <if test="equipmentname != null and equipmentname != ''"> and equipmentname like concat('%', #{equipmentname}, '%')</if>
+ <if test="modnum != null and modnum != ''"> and modnum = #{modnum}</if>
+ <if test="touyundate != null "> and touyundate = #{touyundate}</if>
+ <if test="gourudate != null "> and gourudate = #{gourudate}</if>
+ <if test="produce != null and produce != ''"> and produce = #{produce}</if>
+ <if test="quantity != null "> and quantity = #{quantity}</if>
+ <if test="unit != null and unit != ''"> and unit = #{unit}</if>
+ <if test="useDept != null and useDept != ''"> and useDept = #{useDept}</if>
+ <if test="storePlace != null and storePlace != ''"> and storePlace = #{storePlace}</if>
+ <if test="technData != null and technData != ''"> and technData = #{technData}</if>
+ <if test="statusid != null "> and statusid = #{statusid}</if>
+ </where>
+ </select>
+
+ <select id="selectEquipmentinfoById" parameterType="Long" resultMap="EquipmentinfoResult">
+ <include refid="selectEquipmentinfoVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertEquipmentinfo" parameterType="Equipmentinfo" useGeneratedKeys="true" keyProperty="id">
+ insert into equipmentinfo
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="devtype != null">devtype,</if>
+ <if test="equipmentname != null">equipmentname,</if>
+ <if test="modnum != null">modnum,</if>
+ <if test="touyundate != null">touyundate,</if>
+ <if test="gourudate != null">gourudate,</if>
+ <if test="produce != null">produce,</if>
+ <if test="quantity != null">quantity,</if>
+ <if test="unit != null">unit,</if>
+ <if test="useDept != null">useDept,</if>
+ <if test="storePlace != null">storePlace,</if>
+ <if test="technData != null">technData,</if>
+ <if test="remark != null">remark,</if>
+ <if test="statusid != null">statusid,</if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="devtype != null">#{devtype},</if>
+ <if test="equipmentname != null">#{equipmentname},</if>
+ <if test="modnum != null">#{modnum},</if>
+ <if test="touyundate != null">#{touyundate},</if>
+ <if test="gourudate != null">#{gourudate},</if>
+ <if test="produce != null">#{produce},</if>
+ <if test="quantity != null">#{quantity},</if>
+ <if test="unit != null">#{unit},</if>
+ <if test="useDept != null">#{useDept},</if>
+ <if test="storePlace != null">#{storePlace},</if>
+ <if test="technData != null">#{technData},</if>
+ <if test="remark != null">#{remark},</if>
+ <if test="statusid != null">#{statusid},</if>
+ </trim>
+ </insert>
+
+ <update id="updateEquipmentinfo" parameterType="Equipmentinfo">
+ update equipmentinfo
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="devtype != null">devtype = #{devtype},</if>
+ <if test="equipmentname != null">equipmentname = #{equipmentname},</if>
+ <if test="modnum != null">modnum = #{modnum},</if>
+ <if test="touyundate != null">touyundate = #{touyundate},</if>
+ <if test="gourudate != null">gourudate = #{gourudate},</if>
+ <if test="produce != null">produce = #{produce},</if>
+ <if test="quantity != null">quantity = #{quantity},</if>
+ <if test="unit != null">unit = #{unit},</if>
+ <if test="useDept != null">useDept = #{useDept},</if>
+ <if test="storePlace != null">storePlace = #{storePlace},</if>
+ <if test="technData != null">technData = #{technData},</if>
+ <if test="remark != null">remark = #{remark},</if>
+ <if test="statusid != null">statusid = #{statusid},</if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <delete id="deleteEquipmentinfoById" parameterType="Long">
+ delete from equipmentinfo where id = #{id}
+ </delete>
+
+ <delete id="deleteEquipmentinfoByIds" parameterType="String">
+ delete from equipmentinfo where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </delete>
+</mapper>
\ No newline at end of file
diff --git a/smartor/src/main/java/com/smartor/domain/DingTalkReqVo.java b/smartor/src/main/java/com/smartor/domain/DingTalkReqVo.java
new file mode 100644
index 0000000..6a925cb
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/domain/DingTalkReqVo.java
@@ -0,0 +1,36 @@
+package com.smartor.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 閽夐拤娑堟伅鍙戦��
+ *
+ * @author ls
+ * @date 2023-05-25
+ */
+@Data
+public class DingTalkReqVo extends BaseEntity {
+
+ /**
+ * 鍙戦�佸唴瀹�
+ */
+ private List<String> contents;
+
+ /**
+ * 鐢ㄦ埛閽夐拤鍙�
+ */
+ private String userId;
+
+ /**
+ * 閮ㄩ棬ID
+ */
+ private String deptId;
+}
diff --git a/smartor/src/main/java/com/smartor/service/DingTalkService.java b/smartor/src/main/java/com/smartor/service/DingTalkService.java
new file mode 100644
index 0000000..00490ee
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/DingTalkService.java
@@ -0,0 +1,23 @@
+package com.smartor.service;
+
+import com.smartor.domain.DingTalkReqVo;
+import com.smartor.domain.HeCategory;
+import com.taobao.api.ApiException;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * 瀹f暀鍒嗙被Service鎺ュ彛
+ *
+ * @author smartor
+ * @date 2023-03-04
+ */
+public interface DingTalkService {
+ /**
+ * 鍙戦�侀拤閽夋秷鎭�
+ *
+ * @param dingTalkReqVo
+ */
+ public Boolean sendNotification(DingTalkReqVo dingTalkReqVo);
+}
diff --git a/smartor/src/main/java/com/smartor/service/IntelligenceCenterService.java b/smartor/src/main/java/com/smartor/service/IntelligenceCenterService.java
new file mode 100644
index 0000000..b6dc747
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/IntelligenceCenterService.java
@@ -0,0 +1,22 @@
+package com.smartor.service;
+
+import com.smartor.domain.SchemeCategory;
+
+import java.util.List;
+
+/**
+ * 鏅鸿兘涓績鎺ュ彛
+ *
+ * @author ls
+ * @date 2023-05-23
+ */
+public interface IntelligenceCenterService {
+
+ /**
+ * 鍒犻櫎鏂规鍒嗙被淇℃伅
+ *
+ * @param id 鏂规鍒嗙被涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteSchemeCategoryById(Long id);
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java
new file mode 100644
index 0000000..5d7c820
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/DingTalkServiceImpl.java
@@ -0,0 +1,132 @@
+package com.smartor.service.impl;
+
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
+import com.dingtalk.api.DefaultDingTalkClient;
+import com.dingtalk.api.DingTalkClient;
+import com.dingtalk.api.request.OapiGettokenRequest;
+import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request;
+import com.dingtalk.api.request.OapiUserListidRequest;
+import com.dingtalk.api.response.OapiGettokenResponse;
+import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
+import com.dingtalk.api.response.OapiUserListidResponse;
+import com.smartor.domain.DingTalkReqVo;
+import com.smartor.service.DingTalkService;
+import com.smartor.service.IntelligenceCenterService;
+import com.taobao.api.ApiException;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鏅鸿兘涓績
+ *
+ * @author ls
+ * @date 2023-05-23
+ */
+@Service
+public class DingTalkServiceImpl implements DingTalkService {
+
+
+ @Value("${dingAppid}")
+ private String dingAppid;
+
+ @Value("${dingAppSecret}")
+ private String dingAppSecret;
+
+ @Override
+ public Boolean sendNotification(DingTalkReqVo dingTalkReqVo) {
+ Boolean result = false;
+ // Log.info("鍙戦�侀拤閽夐�氱煡");
+ String accessToken = null;
+ try {
+ accessToken = getAccessToken();
+ } catch (ApiException e) {
+ e.printStackTrace();
+ }
+ DingTalkClient client3 = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/user/listid");
+
+ OapiUserListidRequest request2 = new OapiUserListidRequest();
+ request2.setDeptId(675909059L); // 璁剧疆瑕佽幏鍙栫殑閮ㄩ棬 ID锛岃繖閲屼互鏍归儴闂ㄤ负渚�
+ // 璁剧疆閮ㄩ棬 ID锛屽鏋滆幏鍙栨墍鏈夊憳宸ユ墜鏈哄彿锛屽彲浠ヨ缃负鏍归儴闂ㄧ殑 ID
+ OapiUserListidResponse response2 = null;
+ try {
+ response2 = client3.execute(request2, accessToken);
+ } catch (ApiException e) {
+ e.printStackTrace();
+ }
+ String body = response2.getBody();
+ // 瑙f瀽涓篔SONObject
+ JSONObject jsonObject = JSONObject.parseObject(body);
+ // 鎻愬彇鍑篔SONArray
+ JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("result").getJSONArray("userid_list"));
+ // 灏咼SONArray杞负List鍒楄〃
+ String str = JSONObject.toJSONString(jsonArray);
+ List<String> list = JSONObject.parseObject(str, List.class);
+
+ //userid鏁扮粍
+ for (String urid : list) {
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
+ OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();
+ request.setUseridList(urid);
+ request.setAgentId(1779052814L);
+ request.setToAllUser(false);
+
+ List<String> contents = dingTalkReqVo.getContents();
+ ArrayList<OapiMessageCorpconversationAsyncsendV2Request.Form> objects = new ArrayList<>();
+ for (int i = 0; i < contents.size(); i++) {
+ OapiMessageCorpconversationAsyncsendV2Request.Form formSeverityDesc = new OapiMessageCorpconversationAsyncsendV2Request.Form();
+ formSeverityDesc.setKey("闂" + i);
+ formSeverityDesc.setValue(contents.get(i).toString());
+ objects.add(formSeverityDesc);
+ }
+
+ OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
+ msg.setOa(new OapiMessageCorpconversationAsyncsendV2Request.OA());
+ msg.getOa().setMessageUrl("www.baidu.com");
+ msg.getOa().setPcMessageUrl("www.baidu.com");
+ msg.getOa().setHead(new OapiMessageCorpconversationAsyncsendV2Request.Head());
+ msg.getOa().getHead().setText("寰呭姙浜嬪疁");
+ msg.getOa().getHead().setBgcolor("00409eff");
+ msg.getOa().setBody(new OapiMessageCorpconversationAsyncsendV2Request.Body());
+ msg.getOa().getBody().setTitle("灏婃暚鐨� " + "AAA" + "(椤圭洰缁忕悊)");
+ msg.getOa().getBody().setContent("寰呭鎵�:" + "123" + "鏉�");
+
+ msg.getOa().getBody().setForm(objects);
+ msg.setMsgtype("oa");
+ request.setMsg(msg);
+ // log.info("鑾峰彇鍙戦�侀�氱煡娑堟伅浣撳拰鑾峰彇鍙戦�侀�氱煡浜哄畬鎴�");
+ OapiMessageCorpconversationAsyncsendV2Response response = null;
+ try {
+ response = client.execute(request, accessToken);
+ } catch (ApiException e) {
+ e.printStackTrace();
+ }
+
+ // log.info("娑堟伅浠诲姟ID"+response.getTaskId());
+ System.out.println(response.getTaskId());
+
+ result = response.isSuccess();
+ }
+ return result;
+ }
+
+
+ /**
+ * 鑾峰彇 access_token
+ */
+ private String getAccessToken() throws ApiException {
+ DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
+ OapiGettokenRequest request = new OapiGettokenRequest();
+ //Appkey
+ request.setAppkey(dingAppid);
+ //Appsecret
+ request.setAppsecret(dingAppSecret);
+ /*璇锋眰鏂瑰紡*/
+ request.setHttpMethod("GET");
+ OapiGettokenResponse response = client.execute(request);
+ return response.getAccessToken();
+ }
+}
diff --git a/smartor/src/main/java/com/smartor/service/impl/IntelligenceCenterServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IntelligenceCenterServiceImpl.java
new file mode 100644
index 0000000..087d28d
--- /dev/null
+++ b/smartor/src/main/java/com/smartor/service/impl/IntelligenceCenterServiceImpl.java
@@ -0,0 +1,33 @@
+package com.smartor.service.impl;
+
+import com.ruoyi.common.utils.DateUtils;
+import com.smartor.domain.SchemeCategory;
+import com.smartor.mapper.SchemeCategoryMapper;
+import com.smartor.service.ISchemeCategoryService;
+import com.smartor.service.IntelligenceCenterService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鏅鸿兘涓績
+ *
+ * @author ls
+ * @date 2023-05-23
+ */
+@Service
+public class IntelligenceCenterServiceImpl implements IntelligenceCenterService {
+
+ /**
+ * 鍒犻櫎鏂规鍒嗙被淇℃伅
+ *
+ * @param id 鏂规鍒嗙被涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteSchemeCategoryById(Long id) {
+
+ return 0;
+ }
+}
--
Gitblit v1.9.3