ruoyi-admin/pom.xml
@@ -80,7 +80,6 @@ <artifactId>core</artifactId> <version>2.0</version> </dependency> </dependencies> <build> 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); } } 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(); // è§£æä¸ºJSONObject JSONObject jsonObject = JSONObject.parseObject(body); // æååºJSONArray JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("result").getJSONArray("userid_list")); // å°JSONArray转为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("工工工a "); 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); } } 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; /** * ã请填ååè½åç§°ãController * * @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.è·åå¤çé¨é¨ï¼è°ç¨é鿥å£ï¼å°ä¸æ¥é®é¢ååº 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); } } 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 ä¸çæ¯ä¸ªé®å¼å¯¹ } } } } 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; /** * è·å模æ¿ä¿¡æ¯ ruoyi-admin/src/main/resources/application-druid.yml
@@ -55,5 +55,12 @@ wall: config: multi-statement-allow: true appid : wxf50c5c72265188eb appSecret : 7ab0a81392a96b157efa1df00f9cd939 #å¾®ä¿¡å ¬ä¼å·çå¯é¥ appid: wx1c5243d2337753f4 appSecret: 84a2186a0d175e88345267c716516cd3 #ééçå¯é¥ dingAppid: dingn8iip5ubj7clrrsv dingAppSecret: qlEK8D3oOVwGPOTiBQIBYTqQVlAfy9S_qQizEQFjJdSScwemWFryg4gbneu-NqWD ruoyi-common/pom.xml
@@ -159,6 +159,7 @@ <artifactId>alibaba-dingtalk-service-sdk</artifactId> <version>2.0.0</version> </dependency> </dependencies> </project> 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 @@ // ææ°çcronExpressionè¡¨è¾¾å¼æå»ºä¸ä¸ªæ°çtrigger CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup)) .withSchedule(cronScheduleBuilder).build(); //ä¸é¢è¿éå¯ä»¥æ§å¶æ§è¡æ¬¡æ°âwithRepeatCount(1)ï¼0ä»£ç æ§è¡ä¸æ¬¡ï¼1代表æ§è¡ä¸¤æ¬¡...âï¼withIntervalInSeconds(10)代表å¤å°ç§åæ§è¡ï¼è¿é没æå任塿§è¡å®æåï¼å é¤ä»»å¡ï¼åé¢éè¦åè¡¥ä¸ // 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()); } // æåä»»å¡ 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; } 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; /** ç¶æid */ @Excel(name = "ç¶æid") 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(); } } 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; } 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); } 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; /** * ã请填ååè½åç§°ãMapperæ¥å£ * * @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); } 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); } 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; /** * ã请填ååè½åç§°ãServiceæ¥å£ * * @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); } 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(); } } 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; /** * ã请填ååè½åç§°ãServiceä¸å¡å±å¤ç * * @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); } } 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> 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> 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; } 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; /** * 宣æåç±»Serviceæ¥å£ * * @author smartor * @date 2023-03-04 */ public interface DingTalkService { /** * åéééæ¶æ¯ * * @param dingTalkReqVo */ public Boolean sendNotification(DingTalkReqVo dingTalkReqVo); } 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); } 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(); // è§£æä¸ºJSONObject JSONObject jsonObject = JSONObject.parseObject(body); // æååºJSONArray JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("result").getJSONArray("userid_list")); // å°JSONArray转为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(); } } 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; } }