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