ard-work/src/main/java/com/ruoyi/app/task/controller/ArdAppTaskController.java
@@ -5,8 +5,11 @@ import com.alibaba.fastjson2.JSONObject; import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec; import com.ruoyi.app.task.domain.ArdAppTaskDetail; import com.ruoyi.common.utils.spring.SpringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.catalina.security.SecurityUtil; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -29,8 +32,7 @@ @Api(tags = "appä»»å¡ç®¡ç") @RestController @RequestMapping("/app/task") public class ArdAppTaskController extends BaseController { public class ArdAppTaskController extends BaseController { @Autowired private IArdAppTaskService ardAppTaskService; @@ -40,21 +42,26 @@ @ApiOperation("æ¥è¯¢appä»»å¡ç®¡çå表") @PreAuthorize("@ss.hasPermi('app:task:list')") @GetMapping("/list") public TableDataInfo list(ArdAppTask ardAppTask) { public TableDataInfo list(ArdAppTask ardAppTask) { startPage(); List<ArdAppTask> list = ardAppTaskService.selectArdAppTaskList(ardAppTask); return getDataTable(list); } @ApiOperation("æ¥è¯¢appä»»å¡ç®¡çå表(详æ )") @PreAuthorize("@ss.hasPermi('app:task:list')") @GetMapping("/listWithDetail") public TableDataInfo userlist(ArdAppTask ardAppTask) { startPage(); List<ArdAppTask> ardAppTasks = ardAppTaskService.selectArdAppTaskListWithDetail(ardAppTask); return getDataTable(ardAppTasks); } /** * 导åºappä»»å¡ç®¡çå表 */ @PreAuthorize("@ss.hasPermi('app:task:export')") @Log(title = "appä»»å¡ç®¡ç", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ArdAppTask ardAppTask) { public void export(HttpServletResponse response, ArdAppTask ardAppTask) { List<ArdAppTask> list = ardAppTaskService.selectArdAppTaskList(ardAppTask); ExcelUtil<ArdAppTask> util = new ExcelUtil<ArdAppTask>(ArdAppTask.class); util.exportExcel(response, list, "appä»»å¡ç®¡çæ°æ®"); @@ -66,8 +73,7 @@ @ApiOperation("è·åappä»»å¡ç®¡ç详ç»ä¿¡æ¯") @PreAuthorize("@ss.hasPermi('app:task:query')") @GetMapping(value = "/{id}") public AjaxResult getInfoWithPic(@PathVariable("id") String id) { public AjaxResult getInfoWithPic(@PathVariable("id") String id) { return success(ardAppTaskService.selectArdAppTaskById(id)); } @@ -78,8 +84,7 @@ @PreAuthorize("@ss.hasPermi('app:task:add')") @Log(title = "appä»»å¡ç®¡ç", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdAppTask ardAppTask) { public AjaxResult add(@RequestBody ArdAppTask ardAppTask) { return toAjax(ardAppTaskService.insertArdAppTask(ardAppTask)); } @@ -89,8 +94,7 @@ @PreAuthorize("@ss.hasPermi('app:task:edit')") @Log(title = "appä»»å¡ç®¡ç", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ArdAppTask ardAppTask) { public AjaxResult edit(@RequestBody ArdAppTask ardAppTask) { return toAjax(ardAppTaskService.updateArdAppTask(ardAppTask)); } @@ -100,8 +104,18 @@ @PreAuthorize("@ss.hasPermi('app:task:remove')") @Log(title = "appä»»å¡ç®¡ç", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { public AjaxResult remove(@PathVariable String[] ids) { return toAjax(ardAppTaskService.deleteArdAppTaskByIds(ids)); } /** * æ´æ°appä»»å¡è¯¦æ */ @ApiOperation("æ´æ°appä»»å¡è¯¦æ (æå¡)") @PreAuthorize("@ss.hasPermi('app:taskdetail:edit')") @Log(title = "æ´æ°appä»»å¡è¯¦æ ", businessType = BusinessType.UPDATE) @PutMapping("/detail") public AjaxResult editDetail(@RequestBody ArdAppTaskDetail ardAppTaskDetail) { return toAjax(ardAppTaskService.updateArdAppTaskDetail(ardAppTaskDetail)); } } ard-work/src/main/java/com/ruoyi/app/task/domain/ArdAppTaskDetail.java
@@ -1,9 +1,13 @@ package com.ruoyi.app.task.domain; import com.ruoyi.app.taskdetail.domain.ArdAppTaskDetailPic; import io.swagger.annotations.ApiModelProperty; 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; import java.util.List; /** * appä»»å¡è¯¦æ 对象 ard_app_task_detail @@ -50,7 +54,18 @@ @Excel(name = "ä»»å¡ID") private String taskId; public void setId(String id) /** appä»»å¡è¯¦æ å¾çä¿¡æ¯ */ private List<ArdAppTaskDetailPic> ardAppTaskDetailPic; public List<ArdAppTaskDetailPic> getArdAppTaskDetailPic() { return ardAppTaskDetailPic; } public void setArdAppTaskDetailPic(List<ArdAppTaskDetailPic> ardAppTaskDetailPic) { this.ardAppTaskDetailPic = ardAppTaskDetailPic; } public void setId(String id) { this.id = id; } ard-work/src/main/java/com/ruoyi/app/task/mapper/ArdAppTaskMapper.java
@@ -4,6 +4,7 @@ import com.ruoyi.app.task.domain.ArdAppTask; import com.ruoyi.app.task.domain.ArdAppTaskDetail; import com.ruoyi.app.task.domain.ArdAppTaskPic; import com.ruoyi.app.taskdetail.domain.ArdAppTaskDetailPic; /** * appä»»å¡ç®¡çMapperæ¥å£ @@ -29,7 +30,13 @@ * @return appä»»å¡ç®¡çéå */ public List<ArdAppTask> selectArdAppTaskList(ArdAppTask ardAppTask); /** * æ¥è¯¢appä»»å¡ç®¡çå表带详æ å¾ç * * @param ardAppTask appä»»å¡ç®¡ç * @return appä»»å¡ç®¡çéå */ public List<ArdAppTask> selectArdAppTaskListWithDetail(ArdAppTask ardAppTask); /** * æ°å¢appä»»å¡ç®¡ç * @@ -111,4 +118,28 @@ * @return ç»æ */ public int deleteArdAppTaskDetailByTaskId(String id); /** * ä¿®æ¹appä»»å¡è¯¦æ * * @param ardAppTaskDetail appä»»å¡è¯¦æ 对象 * @return ç»æ */ public int updateArdAppTaskDetail(ArdAppTaskDetail ardAppTaskDetail); /** * æ¹éæ°å¢appä»»å¡è¯¦æ å¾ç * * @param ardAppTaskDetailPicList appä»»å¡è¯¦æ å¾çå表 * @return ç»æ */ public int batchArdAppTaskDetailPic(List<ArdAppTaskDetailPic> ardAppTaskDetailPicList); /** * æ¹éå é¤appä»»å¡è¯¦æ å¾ç * * @param id éè¦å é¤çæ°æ®ä¸»é® * @return ç»æ */ public int deleteArdAppTaskDetailPicByTaskDetailId(String id); } ard-work/src/main/java/com/ruoyi/app/task/service/IArdAppTaskService.java
@@ -2,6 +2,7 @@ import java.util.List; import com.ruoyi.app.task.domain.ArdAppTask; import com.ruoyi.app.task.domain.ArdAppTaskDetail; /** * appä»»å¡ç®¡çServiceæ¥å£ @@ -26,6 +27,14 @@ * @return appä»»å¡ç®¡çéå */ public List<ArdAppTask> selectArdAppTaskList(ArdAppTask ardAppTask); /** * æ¥è¯¢appä»»å¡è¯¦æ 管çå表 * * @param ardAppTask appä»»å¡è¯¦æ 对象 * @return appä»»å¡è¯¦æ éå */ public List<ArdAppTask> selectArdAppTaskListWithDetail(ArdAppTask ardAppTask); /** * æ°å¢appä»»å¡ç®¡ç @@ -58,4 +67,13 @@ * @return ç»æ */ public int deleteArdAppTaskById(String id); /** * ä¿®æ¹appä»»å¡è¯¦æ 管ç * * @param ardAppTaskDetail appä»»å¡è¯¦æ 管ç * @return ç»æ */ public int updateArdAppTaskDetail(ArdAppTaskDetail ardAppTaskDetail); } ard-work/src/main/java/com/ruoyi/app/task/service/impl/ArdAppTaskServiceImpl.java
@@ -1,20 +1,15 @@ package com.ruoyi.app.task.service.impl; import java.util.List; import com.ruoyi.app.task.domain.ArdAppTaskDetail; import com.ruoyi.app.taskdetail.domain.ArdAppTaskDetailPic; import com.ruoyi.app.tasktext.domain.ArdAppTaskText; import com.ruoyi.app.tasktext.mapper.ArdAppTaskTextMapper; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.common.utils.uuid.UUID; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; import org.springframework.transaction.annotation.Transactional; @@ -22,7 +17,6 @@ import com.ruoyi.app.task.mapper.ArdAppTaskMapper; import com.ruoyi.app.task.domain.ArdAppTask; import com.ruoyi.app.task.service.IArdAppTaskService; import javax.annotation.Resource; /** @@ -59,6 +53,17 @@ @DataScope(deptAlias = "d", userAlias = "u") public List<ArdAppTask> selectArdAppTaskList(ArdAppTask ardAppTask) { return ardAppTaskMapper.selectArdAppTaskList(ardAppTask); } /** * æ¥è¯¢appä»»å¡è¯¦æ 管çå表 * * @param ardAppTask appä»»å¡å¯¹è±¡ * @return appä»»å¡è¯¦æ å表 */ @Override public List<ArdAppTask> selectArdAppTaskListWithDetail(ArdAppTask ardAppTask) { ardAppTask.setUserId(SecurityUtils.getUserId()); return ardAppTaskMapper.selectArdAppTaskListWithDetail(ardAppTask); } /** @@ -180,6 +185,10 @@ public void insertArdAppTaskText(ArdAppTask ardAppTask) { String userId = ardAppTask.getUserId(); String text = ardAppTask.getText(); if(StringUtils.isEmpty(text)) { return; } ArdAppTaskText ardAppTaskText = new ArdAppTaskText(); ardAppTaskText.setId(IdUtils.simpleUUID()); ardAppTaskText.setUserId(userId); @@ -189,4 +198,37 @@ ardAppTaskTextMapper.insertArdAppTaskText(ardAppTaskText); } } /** * ä¿®æ¹appä»»å¡è¯¦æ * * @param ardAppTaskDetail appä»»å¡è¯¦æ 对象 */ @Override public int updateArdAppTaskDetail(ArdAppTaskDetail ardAppTaskDetail) { insertArdAppTaskPic(ardAppTaskDetail); return ardAppTaskMapper.updateArdAppTaskDetail(ardAppTaskDetail); } /** * æ°å¢appä»»å¡è¯¦æ å¾çä¿¡æ¯ * * @param ardAppTaskDetail appä»»å¡è¯¦æ 对象 */ public void insertArdAppTaskPic(ArdAppTaskDetail ardAppTaskDetail) { List<ArdAppTaskDetailPic> ardAppTaskDetailPicList = ardAppTaskDetail.getArdAppTaskDetailPic(); String detailId = ardAppTaskDetail.getId(); if (StringUtils.isNotNull(ardAppTaskDetailPicList)) { List<ArdAppTaskDetailPic> list = new ArrayList<ArdAppTaskDetailPic>(); for (ArdAppTaskDetailPic ardAppTaskDetailPic : ardAppTaskDetailPicList) { ardAppTaskDetailPic.setId(IdUtils.simpleUUID()); ardAppTaskDetailPic.setTaskDetailId(detailId); list.add(ardAppTaskDetailPic); } if (list.size() > 0) { ardAppTaskMapper.deleteArdAppTaskDetailPicByTaskDetailId(detailId); ardAppTaskMapper.batchArdAppTaskDetailPic(list); } } } } ard-work/src/main/java/com/ruoyi/app/taskdetail/controller/ArdAppTaskDetailPicController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,104 @@ package com.ruoyi.app.taskdetail.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; 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.app.taskdetail.domain.ArdAppTaskDetailPic; import com.ruoyi.app.taskdetail.service.IArdAppTaskDetailPicService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * appä»»å¡è¯¦æ å¾çController * * @author ard * @date 2023-07-25 */ @RestController @RequestMapping("/app/pic") public class ArdAppTaskDetailPicController extends BaseController { @Autowired private IArdAppTaskDetailPicService ardAppTaskDetailPicService; /** * æ¥è¯¢appä»»å¡è¯¦æ å¾çå表 */ @PreAuthorize("@ss.hasPermi('app:pic:list')") @GetMapping("/list") public TableDataInfo list(ArdAppTaskDetailPic ardAppTaskDetailPic) { startPage(); List<ArdAppTaskDetailPic> list = ardAppTaskDetailPicService.selectArdAppTaskDetailPicList(ardAppTaskDetailPic); return getDataTable(list); } /** * 导åºappä»»å¡è¯¦æ å¾çå表 */ @PreAuthorize("@ss.hasPermi('app:pic:export')") @Log(title = "appä»»å¡è¯¦æ å¾ç", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ArdAppTaskDetailPic ardAppTaskDetailPic) { List<ArdAppTaskDetailPic> list = ardAppTaskDetailPicService.selectArdAppTaskDetailPicList(ardAppTaskDetailPic); ExcelUtil<ArdAppTaskDetailPic> util = new ExcelUtil<ArdAppTaskDetailPic>(ArdAppTaskDetailPic.class); util.exportExcel(response, list, "appä»»å¡è¯¦æ å¾çæ°æ®"); } /** * è·åappä»»å¡è¯¦æ å¾ç详ç»ä¿¡æ¯ */ @PreAuthorize("@ss.hasPermi('app:pic:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") String id) { return success(ardAppTaskDetailPicService.selectArdAppTaskDetailPicById(id)); } /** * æ°å¢appä»»å¡è¯¦æ å¾ç */ @PreAuthorize("@ss.hasPermi('app:pic:add')") @Log(title = "appä»»å¡è¯¦æ å¾ç", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ArdAppTaskDetailPic ardAppTaskDetailPic) { return toAjax(ardAppTaskDetailPicService.insertArdAppTaskDetailPic(ardAppTaskDetailPic)); } /** * ä¿®æ¹appä»»å¡è¯¦æ å¾ç */ @PreAuthorize("@ss.hasPermi('app:pic:edit')") @Log(title = "appä»»å¡è¯¦æ å¾ç", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ArdAppTaskDetailPic ardAppTaskDetailPic) { return toAjax(ardAppTaskDetailPicService.updateArdAppTaskDetailPic(ardAppTaskDetailPic)); } /** * å é¤appä»»å¡è¯¦æ å¾ç */ @PreAuthorize("@ss.hasPermi('app:pic:remove')") @Log(title = "appä»»å¡è¯¦æ å¾ç", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(ardAppTaskDetailPicService.deleteArdAppTaskDetailPicByIds(ids)); } } ard-work/src/main/java/com/ruoyi/app/taskdetail/domain/ArdAppTaskDetailPic.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,65 @@ package com.ruoyi.app.taskdetail.domain; 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; /** * appä»»å¡è¯¦æ å¾ç对象 ard_app_task_detail_pic * * @author ard * @date 2023-07-25 */ public class ArdAppTaskDetailPic extends BaseEntity { private static final long serialVersionUID = 1L; /** ID */ private String id; /** appä»»å¡è¯¦æ ID */ @Excel(name = "appä»»å¡è¯¦æ ID") private String taskDetailId; /** appä»»å¡å¾çurl */ @Excel(name = "appä»»å¡å¾çurl") private String picUrl; public void setId(String id) { this.id = id; } public String getId() { return id; } public void setTaskDetailId(String taskDetailId) { this.taskDetailId = taskDetailId; } public String getTaskDetailId() { return taskDetailId; } public void setPicUrl(String picUrl) { this.picUrl = picUrl; } public String getPicUrl() { return picUrl; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) .append("taskDetailId", getTaskDetailId()) .append("picUrl", getPicUrl()) .toString(); } } ard-work/src/main/java/com/ruoyi/app/taskdetail/mapper/ArdAppTaskDetailPicMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ package com.ruoyi.app.taskdetail.mapper; import java.util.List; import com.ruoyi.app.taskdetail.domain.ArdAppTaskDetailPic; /** * appä»»å¡è¯¦æ å¾çMapperæ¥å£ * * @author ard * @date 2023-07-25 */ public interface ArdAppTaskDetailPicMapper { /** * æ¥è¯¢appä»»å¡è¯¦æ å¾ç * * @param id appä»»å¡è¯¦æ å¾çä¸»é® * @return appä»»å¡è¯¦æ å¾ç */ public ArdAppTaskDetailPic selectArdAppTaskDetailPicById(String id); /** * æ¥è¯¢appä»»å¡è¯¦æ å¾çå表 * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return appä»»å¡è¯¦æ å¾çéå */ public List<ArdAppTaskDetailPic> selectArdAppTaskDetailPicList(ArdAppTaskDetailPic ardAppTaskDetailPic); /** * æ°å¢appä»»å¡è¯¦æ å¾ç * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return ç»æ */ public int insertArdAppTaskDetailPic(ArdAppTaskDetailPic ardAppTaskDetailPic); /** * ä¿®æ¹appä»»å¡è¯¦æ å¾ç * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return ç»æ */ public int updateArdAppTaskDetailPic(ArdAppTaskDetailPic ardAppTaskDetailPic); /** * å é¤appä»»å¡è¯¦æ å¾ç * * @param id appä»»å¡è¯¦æ å¾çä¸»é® * @return ç»æ */ public int deleteArdAppTaskDetailPicById(String id); /** * æ¹éå é¤appä»»å¡è¯¦æ å¾ç * * @param ids éè¦å é¤çæ°æ®ä¸»é®éå * @return ç»æ */ public int deleteArdAppTaskDetailPicByIds(String[] ids); } ard-work/src/main/java/com/ruoyi/app/taskdetail/service/IArdAppTaskDetailPicService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ package com.ruoyi.app.taskdetail.service; import java.util.List; import com.ruoyi.app.taskdetail.domain.ArdAppTaskDetailPic; /** * appä»»å¡è¯¦æ å¾çServiceæ¥å£ * * @author ard * @date 2023-07-25 */ public interface IArdAppTaskDetailPicService { /** * æ¥è¯¢appä»»å¡è¯¦æ å¾ç * * @param id appä»»å¡è¯¦æ å¾çä¸»é® * @return appä»»å¡è¯¦æ å¾ç */ public ArdAppTaskDetailPic selectArdAppTaskDetailPicById(String id); /** * æ¥è¯¢appä»»å¡è¯¦æ å¾çå表 * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return appä»»å¡è¯¦æ å¾çéå */ public List<ArdAppTaskDetailPic> selectArdAppTaskDetailPicList(ArdAppTaskDetailPic ardAppTaskDetailPic); /** * æ°å¢appä»»å¡è¯¦æ å¾ç * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return ç»æ */ public int insertArdAppTaskDetailPic(ArdAppTaskDetailPic ardAppTaskDetailPic); /** * ä¿®æ¹appä»»å¡è¯¦æ å¾ç * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return ç»æ */ public int updateArdAppTaskDetailPic(ArdAppTaskDetailPic ardAppTaskDetailPic); /** * æ¹éå é¤appä»»å¡è¯¦æ å¾ç * * @param ids éè¦å é¤çappä»»å¡è¯¦æ å¾ç主é®éå * @return ç»æ */ public int deleteArdAppTaskDetailPicByIds(String[] ids); /** * å é¤appä»»å¡è¯¦æ å¾çä¿¡æ¯ * * @param id appä»»å¡è¯¦æ å¾çä¸»é® * @return ç»æ */ public int deleteArdAppTaskDetailPicById(String id); } ard-work/src/main/java/com/ruoyi/app/taskdetail/service/impl/ArdAppTaskDetailPicServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,87 @@ package com.ruoyi.app.taskdetail.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.app.taskdetail.mapper.ArdAppTaskDetailPicMapper; import com.ruoyi.app.taskdetail.domain.ArdAppTaskDetailPic; import com.ruoyi.app.taskdetail.service.IArdAppTaskDetailPicService; /** * appä»»å¡è¯¦æ å¾çServiceä¸å¡å±å¤ç * * @author ard * @date 2023-07-25 */ @Service public class ArdAppTaskDetailPicServiceImpl implements IArdAppTaskDetailPicService { @Autowired private ArdAppTaskDetailPicMapper ardAppTaskDetailPicMapper; /** * æ¥è¯¢appä»»å¡è¯¦æ å¾ç * * @param id appä»»å¡è¯¦æ å¾çä¸»é® * @return appä»»å¡è¯¦æ å¾ç */ @Override public ArdAppTaskDetailPic selectArdAppTaskDetailPicById(String id) { return ardAppTaskDetailPicMapper.selectArdAppTaskDetailPicById(id); } /** * æ¥è¯¢appä»»å¡è¯¦æ å¾çå表 * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return appä»»å¡è¯¦æ å¾ç */ @Override public List<ArdAppTaskDetailPic> selectArdAppTaskDetailPicList(ArdAppTaskDetailPic ardAppTaskDetailPic) { return ardAppTaskDetailPicMapper.selectArdAppTaskDetailPicList(ardAppTaskDetailPic); } /** * æ°å¢appä»»å¡è¯¦æ å¾ç * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return ç»æ */ @Override public int insertArdAppTaskDetailPic(ArdAppTaskDetailPic ardAppTaskDetailPic) { return ardAppTaskDetailPicMapper.insertArdAppTaskDetailPic(ardAppTaskDetailPic); } /** * ä¿®æ¹appä»»å¡è¯¦æ å¾ç * * @param ardAppTaskDetailPic appä»»å¡è¯¦æ å¾ç * @return ç»æ */ @Override public int updateArdAppTaskDetailPic(ArdAppTaskDetailPic ardAppTaskDetailPic) { return ardAppTaskDetailPicMapper.updateArdAppTaskDetailPic(ardAppTaskDetailPic); } /** * æ¹éå é¤appä»»å¡è¯¦æ å¾ç * * @param ids éè¦å é¤çappä»»å¡è¯¦æ å¾çä¸»é® * @return ç»æ */ @Override public int deleteArdAppTaskDetailPicByIds(String[] ids) { return ardAppTaskDetailPicMapper.deleteArdAppTaskDetailPicByIds(ids); } /** * å é¤appä»»å¡è¯¦æ å¾çä¿¡æ¯ * * @param id appä»»å¡è¯¦æ å¾çä¸»é® * @return ç»æ */ @Override public int deleteArdAppTaskDetailPicById(String id) { return ardAppTaskDetailPicMapper.deleteArdAppTaskDetailPicById(id); } } ard-work/src/main/resources/mapper/app/ArdAppTaskDetailPicMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,63 @@ <?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.app.taskdetail.mapper.ArdAppTaskDetailPicMapper"> <resultMap type="ArdAppTaskDetailPic" id="ArdAppTaskDetailPicResult"> <result property="id" column="id" /> <result property="taskDetailId" column="task_detail_id" /> <result property="picUrl" column="pic_url" /> </resultMap> <sql id="selectArdAppTaskDetailPicVo"> select id, task_detail_id, pic_url from ard_app_task_detail_pic </sql> <select id="selectArdAppTaskDetailPicList" parameterType="ArdAppTaskDetailPic" resultMap="ArdAppTaskDetailPicResult"> <include refid="selectArdAppTaskDetailPicVo"/> <where> <if test="taskDetailId != null and taskDetailId != ''"> and task_detail_id = #{taskDetailId}</if> <if test="picUrl != null and picUrl != ''"> and pic_url = #{picUrl}</if> </where> </select> <select id="selectArdAppTaskDetailPicById" parameterType="String" resultMap="ArdAppTaskDetailPicResult"> <include refid="selectArdAppTaskDetailPicVo"/> where id = #{id} </select> <insert id="insertArdAppTaskDetailPic" parameterType="ArdAppTaskDetailPic"> insert into ard_app_task_detail_pic <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">id,</if> <if test="taskDetailId != null">task_detail_id,</if> <if test="picUrl != null">pic_url,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null">#{id},</if> <if test="taskDetailId != null">#{taskDetailId},</if> <if test="picUrl != null">#{picUrl},</if> </trim> </insert> <update id="updateArdAppTaskDetailPic" parameterType="ArdAppTaskDetailPic"> update ard_app_task_detail_pic <trim prefix="SET" suffixOverrides=","> <if test="taskDetailId != null">task_detail_id = #{taskDetailId},</if> <if test="picUrl != null">pic_url = #{picUrl},</if> </trim> where id = #{id} </update> <delete id="deleteArdAppTaskDetailPicById" parameterType="String"> delete from ard_app_task_detail_pic where id = #{id} </delete> <delete id="deleteArdAppTaskDetailPicByIds" parameterType="String"> delete from ard_app_task_detail_pic where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </delete> </mapper> ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -73,7 +73,33 @@ ${params.dataScope} </where> </select> <select id="selectArdAppTaskListWithDetail" parameterType="ArdAppTask" resultMap="ArdAppTaskSubResult"> select a.id, a.name, a.text, a.voice, a.dept_id, a.user_id, a.create_by, a.create_time, a.update_by, a.update_time, b.id as sub2_id, b.task_id as sub2_task_id, b.pic_url as sub2_pic_url, c.id as sub1_id, c.name as sub1_name, c.longitude as sub1_longitude, c.latitude as sub1_latitde, c.altitude as sub1_altitude, c.user_id as sub1_user_id, c.text as sub1_text, c.voice as sub1_voice from ard_app_task a left join ard_app_task_pic b on b.task_id = a.id left join ard_app_task_detail c on c.task_id = a.id where c.user_id = #{userId} </select> <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSubResult"> select a.id, a.name, @@ -219,6 +245,7 @@ ( #{item.id}, #{item.taskId}, #{item.picUrl}) </foreach> </insert> <delete id="deleteArdAppTaskDetailByTaskIds" parameterType="String"> delete from ard_app_task_detail where task_id in <foreach item="taskId" collection="array" open="(" separator="," close=")"> @@ -239,4 +266,24 @@ #{item.text}, #{item.voice}, #{item.taskId}) </foreach> </insert> <update id="updateArdAppTaskDetail" parameterType="ArdAppTaskDetail"> update ard_app_task_detail <trim prefix="SET" suffixOverrides=","> <if test="text != null">text = #{text},</if> <if test="voice != null">voice = #{voice},</if> </trim> where id = #{id} </update> <insert id="batchArdAppTaskDetailPic"> insert into ard_app_task_detail_pic( id, task_detail_id, pic_url) values <foreach item="item" index="index" collection="list" separator=","> ( #{item.id}, #{item.taskDetailId}, #{item.picUrl}) </foreach> </insert> <delete id="deleteArdAppTaskDetailPicByTaskDetailId" parameterType="String"> delete from ard_app_task_detail_pic where task_detail_id = #{taskDetailId} </delete> </mapper> ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -19,90 +19,128 @@ /** * ç¨æ·å¯¹è±¡ sys_user * * * @author ruoyi */ public class SysUser extends BaseEntity { public class SysUser extends BaseEntity { private static final long serialVersionUID = 1L; /** ç¨æ·ID */ /** * ç¨æ·ID */ @Excel(name = "ç¨æ·åºå·", cellType = ColumnType.STRING, prompt = "ç¨æ·ç¼å·") private String userId; /** é¨é¨ID */ /** * é¨é¨ID */ @Excel(name = "é¨é¨ç¼å·", type = Type.IMPORT) private Long deptId; /** ç¨æ·è´¦å· */ /** * ç¨æ·è´¦å· */ @Excel(name = "ç»å½åç§°") private String userName; /** ç¨æ·æµç§° */ /** * ç¨æ·æµç§° */ @Excel(name = "ç¨æ·åç§°") private String nickName; /** ç¨æ·é®ç®± */ /** * ç¨æ·é®ç®± */ @Excel(name = "ç¨æ·é®ç®±") private String email; /** ææºå·ç */ /** * ææºå·ç */ @Excel(name = "ææºå·ç ") private String phonenumber; /** ç¨æ·æ§å« */ /** * ç¨æ·æ§å« */ @Excel(name = "ç¨æ·æ§å«", readConverterExp = "0=ç·,1=女,2=æªç¥") private String sex; /** ç¨æ·å¤´å */ /** * ç¨æ·å¤´å */ private String avatar; /** å¯ç */ /** * å¯ç */ @Excel(name = "å¯ç ") private String password; /** å¸å·ç¶æï¼0æ£å¸¸ 1åç¨ï¼ */ /** * å¸å·ç¶æï¼0æ£å¸¸ 1åç¨ï¼ */ @Excel(name = "å¸å·ç¶æ", readConverterExp = "0=æ£å¸¸,1=åç¨") private String status; /** å 餿 å¿ï¼0代表åå¨ 2代表å é¤ï¼ */ /** * å 餿 å¿ï¼0代表åå¨ 2代表å é¤ï¼ */ private String delFlag; /** æåç»å½IP */ /** * æåç»å½IP */ @Excel(name = "æåç»å½IP", type = Type.EXPORT) private String loginIp; /** æåç»å½æ¶é´ */ /** * æåç»å½æ¶é´ */ @Excel(name = "æåç»å½æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) private Date loginDate; /** é¨é¨å¯¹è±¡ */ /** * é¨é¨å¯¹è±¡ */ @Excels({ @Excel(name = "é¨é¨åç§°", targetAttr = "deptName", type = Type.EXPORT), @Excel(name = "é¨é¨è´è´£äºº", targetAttr = "leader", type = Type.EXPORT) @Excel(name = "é¨é¨åç§°", targetAttr = "deptName", type = Type.EXPORT), @Excel(name = "é¨é¨è´è´£äºº", targetAttr = "leader", type = Type.EXPORT) }) private SysDept dept; /** è§è²å¯¹è±¡ */ /** * è§è²å¯¹è±¡ */ private List<SysRole> roles; /** è§è²ç» */ /** * è§è²ç» */ private Long[] roleIds; /** å²ä½ç» */ /** * å²ä½ç» */ private Long[] postIds; /** è§è²ID */ /** * è§è²ID */ private Long roleId; /** ç¸æºææ§ä¼å 级 */ /** * ç¸æºææ§ä¼å 级 */ private Integer cameraPriority; /** ç¨æ·èäºtoken */ /** * ç¨æ·èäºtoken */ private String rongCloudToken; public SysUser() { public SysUser() { } @@ -122,239 +160,203 @@ this.cameraPriority = cameraPriority; } public SysUser(String userId) { public SysUser(String userId) { this.userId = userId; } public String getUserId() { public String getUserId() { return userId; } public void setUserId(String userId) { public void setUserId(String userId) { this.userId = userId; } public boolean isAdmin() { public boolean isAdmin() { return isAdmin(this.userId); } public static boolean isAdmin(String userId) { public static boolean isAdmin(String userId) { return userId != null && userId.equals("1"); } public boolean isApp() { return isApp(this.userId); /** * æ¯å¦appææ¥ç«¯ */ public boolean isAppLeader() { return isAppLeader(this.userId); } public boolean isApp(String userId) { public boolean isAppLeader(String userId) { return userId != null && this.getRoles().stream().anyMatch(sysRole -> sysRole.getRoleKey().contains("appLeader")); } public Long getDeptId() { public Long getDeptId() { return deptId; } public void setDeptId(Long deptId) { public void setDeptId(Long deptId) { this.deptId = deptId; } @Xss(message = "ç¨æ·æµç§°ä¸è½å å«èæ¬å符") @Size(min = 0, max = 30, message = "ç¨æ·æµç§°é¿åº¦ä¸è½è¶ è¿30个å符") public String getNickName() { public String getNickName() { return nickName; } public void setNickName(String nickName) { public void setNickName(String nickName) { this.nickName = nickName; } @Xss(message = "ç¨æ·è´¦å·ä¸è½å å«èæ¬å符") @NotBlank(message = "ç¨æ·è´¦å·ä¸è½ä¸ºç©º") @Size(min = 0, max = 30, message = "ç¨æ·è´¦å·é¿åº¦ä¸è½è¶ è¿30个å符") public String getUserName() { public String getUserName() { return userName; } public void setUserName(String userName) { public void setUserName(String userName) { this.userName = userName; } @Email(message = "é®ç®±æ ¼å¼ä¸æ£ç¡®") @Size(min = 0, max = 50, message = "é®ç®±é¿åº¦ä¸è½è¶ è¿50个å符") public String getEmail() { public String getEmail() { return email; } public void setEmail(String email) { public void setEmail(String email) { this.email = email; } @Size(min = 0, max = 11, message = "ææºå·ç é¿åº¦ä¸è½è¶ è¿11个å符") public String getPhonenumber() { public String getPhonenumber() { return phonenumber; } public void setPhonenumber(String phonenumber) { public void setPhonenumber(String phonenumber) { this.phonenumber = phonenumber; } public String getSex() { public String getSex() { return sex; } public void setSex(String sex) { public void setSex(String sex) { this.sex = sex; } public String getAvatar() { public String getAvatar() { return avatar; } public void setAvatar(String avatar) { public void setAvatar(String avatar) { this.avatar = avatar; } public String getPassword() { public String getPassword() { return password; } public void setPassword(String password) { public void setPassword(String password) { this.password = password; } public String getStatus() { public String getStatus() { return status; } public void setStatus(String status) { public void setStatus(String status) { this.status = status; } public String getDelFlag() { public String getDelFlag() { return delFlag; } public void setDelFlag(String delFlag) { public void setDelFlag(String delFlag) { this.delFlag = delFlag; } public String getLoginIp() { public String getLoginIp() { return loginIp; } public void setLoginIp(String loginIp) { public void setLoginIp(String loginIp) { this.loginIp = loginIp; } public Date getLoginDate() { public Date getLoginDate() { return loginDate; } public void setLoginDate(Date loginDate) { public void setLoginDate(Date loginDate) { this.loginDate = loginDate; } public SysDept getDept() { public SysDept getDept() { return dept; } public void setDept(SysDept dept) { public void setDept(SysDept dept) { this.dept = dept; } public List<SysRole> getRoles() { public List<SysRole> getRoles() { return roles; } public void setRoles(List<SysRole> roles) { public void setRoles(List<SysRole> roles) { this.roles = roles; } public Long[] getRoleIds() { public Long[] getRoleIds() { return roleIds; } public void setRoleIds(Long[] roleIds) { public void setRoleIds(Long[] roleIds) { this.roleIds = roleIds; } public Long[] getPostIds() { public Long[] getPostIds() { return postIds; } public void setPostIds(Long[] postIds) { public void setPostIds(Long[] postIds) { this.postIds = postIds; } public Long getRoleId() { public Long getRoleId() { return roleId; } public void setRoleId(Long roleId) { public void setRoleId(Long roleId) { this.roleId = roleId; } @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) .append("userId", getUserId()) .append("deptId", getDeptId()) .append("userName", getUserName()) .append("nickName", getNickName()) .append("email", getEmail()) .append("phonenumber", getPhonenumber()) .append("sex", getSex()) .append("avatar", getAvatar()) .append("password", getPassword()) .append("status", getStatus()) .append("delFlag", getDelFlag()) .append("loginIp", getLoginIp()) .append("loginDate", getLoginDate()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("dept", getDept()) .toString(); .append("userId", getUserId()) .append("deptId", getDeptId()) .append("userName", getUserName()) .append("nickName", getNickName()) .append("email", getEmail()) .append("phonenumber", getPhonenumber()) .append("sex", getSex()) .append("avatar", getAvatar()) .append("password", getPassword()) .append("status", getStatus()) .append("delFlag", getDelFlag()) .append("loginIp", getLoginIp()) .append("loginDate", getLoginDate()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("dept", getDept()) .toString(); } } ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
@@ -69,8 +69,8 @@ if (StringUtils.isNotNull(loginUser)) { SysUser currentUser = loginUser.getUser(); // 妿æ¯è¶ 级管çåï¼åä¸è¿æ»¤æ°æ® if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()&& !currentUser.isApp()) // 妿æ¯è¶ 级管çåï¼åä¸è¿æ»¤æ°æ®;妿æ¯appææ¥ç«¯ï¼åä¸è¿æ»¤æ°æ®; if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()&& !currentUser.isAppLeader()) { String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), PermissionContextHolder.getContext()); dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),