From e06fb67d855aedc8f28ac1849cf5e1038cfe6ee2 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Tue, 14 Jan 2025 15:59:47 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectHomeNoticeController.java | 208 +++++++++--------- .../controller/ProjectHomeWorkController.java | 1 + .../mapper/xml/ProjectHomeWorkMapper.xml | 6 + .../service/IProjectHomeNoticeService.java | 2 + .../service/impl/DeviceUnitServiceImpl.java | 3 + .../impl/ProjectHomeNoticeServiceImpl.java | 15 ++ .../impl/ProjectHomeWorkServiceImpl.java | 21 ++ .../service/impl/NoticeServiceImpl.java | 4 + .../zhgd/xmgl/security/WebSecurityConfig.java | 1 + 9 files changed, 154 insertions(+), 107 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ProjectHomeNoticeController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ProjectHomeNoticeController.java index 7d56327e4..3a1e0e5df 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ProjectHomeNoticeController.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ProjectHomeNoticeController.java @@ -1,53 +1,32 @@ package com.zhgd.xmgl.modules.baotou.controller; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.annotation.OperLog; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiImplicitParams; -import java.util.HashMap; -import springfox.documentation.annotations.ApiIgnore; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import com.zhgd.jeecg.common.api.vo.Result; -import com.zhgd.jeecg.common.system.query.QueryGenerator; -import com.zhgd.jeecg.common.util.oConvertUtils; -import org.apache.commons.collections.MapUtils; import com.zhgd.xmgl.modules.baotou.entity.ProjectHomeNotice; import com.zhgd.xmgl.modules.baotou.service.IProjectHomeNoticeService; - -import org.simpleframework.xml.core.Validate; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; - -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; - +import org.apache.commons.collections.MapUtils; +import org.simpleframework.xml.core.Validate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; - /** +/** * @Title: Controller * @Description: 首页通知公告 * @author: pds - * @date: 2024-11-25 + * @date: 2024-11-25 * @version: V1.0 */ @RestController @@ -55,85 +34,100 @@ import com.alibaba.fastjson.JSON; @Slf4j @Api(tags = "首页通知公告相关Api") public class ProjectHomeNoticeController { - @Autowired - private IProjectHomeNoticeService projectHomeNoticeService; + @Autowired + private IProjectHomeNoticeService projectHomeNoticeService; - /** - * 分页列表查询 - * @return - */ + /** + * 分页列表查询 + * + * @return + */ @OperLog(operModul = "首页通知公告管理", operType = "分页查询", operDesc = "分页列表查询首页通知公告信息") - @ApiOperation(value = "分页列表查询首页通知公告信息", notes = "分页列表查询首页通知公告信息", httpMethod="GET") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"), - @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"), - }) - @GetMapping(value = "/page") - public Result> queryPageList(@ApiIgnore @RequestParam HashMap param) { - return Result.success(projectHomeNoticeService.queryPageList(param)); - } + @ApiOperation(value = "分页列表查询首页通知公告信息", notes = "分页列表查询首页通知公告信息", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"), + }) + @GetMapping(value = "/page") + public Result> queryPageList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(projectHomeNoticeService.queryPageList(param)); + } - /** - * 列表查询 - * @return - */ + /** + * 列表查询 + * + * @return + */ @OperLog(operModul = "首页通知公告管理", operType = "列表查询", operDesc = "列表查询首页通知公告信息") - @ApiOperation(value = "列表查询首页通知公告信息", notes = "列表查询首页通知公告信息", httpMethod="GET") - @GetMapping(value = "/list") - public Result> queryList(@ApiIgnore @RequestParam HashMap param) { - return Result.success(projectHomeNoticeService.queryList(param)); - } + @ApiOperation(value = "列表查询首页通知公告信息", notes = "列表查询首页通知公告信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(projectHomeNoticeService.queryList(param)); + } - /** - * 添加 - * @param projectHomeNotice - * @return - */ + /** + * 添加 + * + * @param projectHomeNotice + * @return + */ @OperLog(operModul = "首页通知公告管理", operType = "添加", operDesc = "添加首页通知公告信息") - @ApiOperation(value = "添加首页通知公告信息", notes = "添加首页通知公告信息" , httpMethod="POST") - @PostMapping(value = "/add") - public Result add(@RequestBody @Validate ProjectHomeNotice projectHomeNotice) { - projectHomeNoticeService.add(projectHomeNotice); - return Result.ok(); - } - - /** - * 编辑 - * @param projectHomeNotice - * @return - */ - @OperLog(operModul = "首页通知公告管理", operType = "编辑", operDesc = "编辑首页通知公告信息") - @ApiOperation(value = "编辑首页通知公告信息", notes = "编辑首页通知公告信息" , httpMethod="POST") - @PostMapping(value = "/edit") - public Result edit(@RequestBody ProjectHomeNotice projectHomeNotice) { - projectHomeNoticeService.edit(projectHomeNotice); - return Result.ok(); - } - - /** - * 通过id删除 - * @return - */ - @OperLog(operModul = "首页通知公告管理", operType = "删除", operDesc = "删除首页通知公告信息") - @ApiOperation(value = "删除首页通知公告信息", notes = "删除首页通知公告信息" , httpMethod="POST") - @ApiImplicitParam(name = "id", value = "首页通知公告ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") - @PostMapping(value = "/delete") - public Result delete(@ApiIgnore @RequestBody HashMap map) { - projectHomeNoticeService.delete(MapUtils.getString(map, "id")); + @ApiOperation(value = "添加首页通知公告信息", notes = "添加首页通知公告信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate ProjectHomeNotice projectHomeNotice) { + projectHomeNoticeService.add(projectHomeNotice); return Result.ok(); - } + } - /** - * 通过id查询 - * @param id - * @return - */ + /** + * 编辑 + * + * @param projectHomeNotice + * @return + */ + @OperLog(operModul = "首页通知公告管理", operType = "编辑", operDesc = "编辑首页通知公告信息") + @ApiOperation(value = "编辑首页通知公告信息", notes = "编辑首页通知公告信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody ProjectHomeNotice projectHomeNotice) { + projectHomeNoticeService.edit(projectHomeNotice); + return Result.ok(); + } + + /** + * 通过id删除 + * + * @return + */ + @OperLog(operModul = "首页通知公告管理", operType = "删除", operDesc = "删除首页通知公告信息") + @ApiOperation(value = "删除首页通知公告信息", notes = "删除首页通知公告信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "首页通知公告ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + projectHomeNoticeService.delete(MapUtils.getString(map, "id")); + return Result.ok(); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ @OperLog(operModul = "首页通知公告管理", operType = "通过id查询", operDesc = "通过id查询首页通知公告信息") - @ApiOperation(value = "通过id查询首页通知公告信息", notes = "通过id查询首页通知公告信息" , httpMethod="GET") - @ApiImplicitParam(name = "id", value = "首页通知公告ID", paramType = "query", required = true, dataType = "Integer") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - return Result.success(projectHomeNoticeService.queryById(id)); - } + @ApiOperation(value = "通过id查询首页通知公告信息", notes = "通过id查询首页通知公告信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "首页通知公告ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + return Result.success(projectHomeNoticeService.queryById(id)); + } + + @OperLog(operModul = "首页通知公告管理", operType = "添加", operDesc = "从工作流添加首页通知公告") + @ApiOperation(value = "从工作流添加首页通知公告", notes = "从工作流添加首页通知公告", httpMethod = "POST") + @PostMapping(value = "/flow/add") + public Result addFromFlow(@RequestBody @Validate Map param) { + log.info("从工作流添加首页通知公告:{}", JSON.toJSONString(param)); + projectHomeNoticeService.addFromFlow(param); + return Result.ok(); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ProjectHomeWorkController.java b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ProjectHomeWorkController.java index 91b75bfce..043c1d68d 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ProjectHomeWorkController.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/controller/ProjectHomeWorkController.java @@ -67,6 +67,7 @@ public class ProjectHomeWorkController { @ApiImplicitParams({ @ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "seeI", value = "1项目子账号只看到自己的数据", paramType = "query", required = true, dataType = "Integer"), }) @GetMapping(value = "/page") public Result> queryPageList(@ApiIgnore @RequestParam HashMap param) { diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/mapper/xml/ProjectHomeWorkMapper.xml b/src/main/java/com/zhgd/xmgl/modules/baotou/mapper/xml/ProjectHomeWorkMapper.xml index bf0377591..a75db18c3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/mapper/xml/ProjectHomeWorkMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/mapper/xml/ProjectHomeWorkMapper.xml @@ -10,6 +10,12 @@ and t.project_home_work_id is null + + and + + (t.file_url like concat('%',#{item},'%')) + + )t ${ew.customSqlSegment} diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/service/IProjectHomeNoticeService.java b/src/main/java/com/zhgd/xmgl/modules/baotou/service/IProjectHomeNoticeService.java index 03724da19..52de67cc8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/service/IProjectHomeNoticeService.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/service/IProjectHomeNoticeService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Description: 首页通知公告 @@ -50,4 +51,5 @@ public interface IProjectHomeNoticeService extends IService { */ ProjectHomeNotice queryById(String id); + void addFromFlow(Map param); } diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/DeviceUnitServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/DeviceUnitServiceImpl.java index 894220977..52399feea 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/DeviceUnitServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/DeviceUnitServiceImpl.java @@ -39,8 +39,10 @@ import java.util.stream.Collectors; */ @Service public class DeviceUnitServiceImpl extends ServiceImpl implements IDeviceUnitService { + @Lazy @Autowired IProjectGroupUnitService projectGroupUnitService; + @Lazy @Autowired private DeviceUnitMapper deviceUnitMapper; @Lazy @@ -49,6 +51,7 @@ public class DeviceUnitServiceImpl extends ServiceImpl param) { + ProjectHomeNotice e = new ProjectHomeNotice(); + e.setProjectSn(FlowUtil.getString(param,"projectSn")); + e.setWhichModule(FlowUtil.getInteger(param,"whichModule")); + e.setTitle(FlowUtil.getString(param,"title")); + e.setContent(FlowUtil.getString(param,"content")); + e.setFileUrl(FlowUtil.getString(param,"fileUrl")); + baseMapper.insert(e); + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/ProjectHomeWorkServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/ProjectHomeWorkServiceImpl.java index e1cd46c58..f208dc684 100644 --- a/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/ProjectHomeWorkServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/baotou/service/impl/ProjectHomeWorkServiceImpl.java @@ -6,19 +6,27 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.wflow.bean.vo.ModelGroupVo; +import com.wflow.service.ModelGroupService; +import com.wflow.utils.UserUtil; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.system.query.QueryGenerator; import com.zhgd.xmgl.modules.baotou.entity.ProjectHomeWork; import com.zhgd.xmgl.modules.baotou.mapper.ProjectHomeWorkMapper; import com.zhgd.xmgl.modules.baotou.service.IProjectHomeWorkService; +import com.zhgd.xmgl.security.util.SecurityUtils; import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * @Description: 首页办事指南 @@ -31,6 +39,9 @@ import java.util.List; public class ProjectHomeWorkServiceImpl extends ServiceImpl implements IProjectHomeWorkService { @Autowired private ProjectHomeWorkMapper projectHomeWorkMapper; + @Lazy + @Autowired + private ModelGroupService modelGroupService; @Override public IPage queryPageList(HashMap param) { @@ -49,6 +60,16 @@ public class ProjectHomeWorkServiceImpl extends ServiceImpl getQueryWrapper(HashMap param) { QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(ProjectHomeWork.class, param, true); + Integer seeI = MapUtils.getInteger(param, "seeI"); + if (Objects.equals(seeI, 1)) { + Integer accountType = SecurityUtils.getUser().getAccountType(); + param.put("accountType", accountType); + if (accountType == 6) { + List groupModels = modelGroupService.getGroupModels(UserUtil.getLoginUserId(), null); + List formNameList = groupModels.stream().flatMap(o -> o.getItems().stream()).map(o -> o.getFormName()).collect(Collectors.toList()); + param.put("formNameList", formNameList); + } + } queryWrapper.orderByAsc(RefUtil.fieldNameUlc(ProjectHomeWork::getSort)); return queryWrapper; } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java index 998358fa0..d3ee40056 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/NoticeServiceImpl.java @@ -52,10 +52,13 @@ public class NoticeServiceImpl extends ServiceImpl impleme @Lazy @Autowired SystemUserServiceImpl systemUserService; + @Lazy @Autowired private NoticeMapper noticeMapper; + @Lazy @Autowired private IMqttSender mqttPushClient; + @Lazy @Autowired private SystemUserMapper systemUserMapper; @Value("${mqtt-scope}") @@ -63,6 +66,7 @@ public class NoticeServiceImpl extends ServiceImpl impleme @Lazy @Autowired private UniPushService uniPushService; + @Lazy @Autowired private IDeviceUnitService deviceUnitService; diff --git a/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java b/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java index b596624bd..35da89f2b 100644 --- a/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java +++ b/src/main/java/com/zhgd/xmgl/security/WebSecurityConfig.java @@ -80,6 +80,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { http.authorizeRequests() //请求路径允许访问 + .antMatchers("/xmgl/projectHomeNotice/flow/add").permitAll() .antMatchers("/xmgl/promotionalVideo/flow/add").permitAll() .antMatchers("/xmgl/partyBuildingGuidance/flow/add").permitAll() .antMatchers("/xmgl/projectEnterprise/flow/check/param").permitAll()