springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/WorkGuideApi.java
@@ -32,7 +32,8 @@ @ApiOperation(value = "办事指南_详情",response = ComActWorkGuideVO.class) @GetMapping("detailworkguide") public R detailWorkGuide(@RequestParam("workGuideId")Long workGuideId) { return communityService.detailWorkGuide(workGuideId); Long conmunityId = this.getLoginUserInfo().getCommunityId(); return communityService.detailWorkGuide(workGuideId, conmunityId); } } springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/WorkGuideApi.java
@@ -45,7 +45,8 @@ @ApiOperation(value = "办事指南_详情",response = ComActWorkGuideVO.class) @GetMapping("detailworkguide") public R detailWorkGuide(@RequestParam("workGuideId")Long workGuideId) { return communityService.detailWorkGuide(workGuideId); Long conmunityId = this.getLoginUserInfo().getCommunityId(); return communityService.detailWorkGuide(workGuideId, conmunityId); } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/ComActWorkGuideDTO.java
New file @@ -0,0 +1,53 @@ package com.panzhihua.common.model.dtos.community; import com.google.common.collect.Lists; import com.panzhihua.common.model.vos.community.ComActWorkGuideMaterialVO; import com.panzhihua.common.validated.AddGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import java.util.List; /** * @auther llming * @describe 办事指南 */ @Data @ApiModel("办事指南新增") public class ComActWorkGuideDTO { @ApiModelProperty("办事指南id") private Long id; @ApiModelProperty("办事指南标题") @NotBlank(groups = {AddGroup.class}, message = "标题不能为空") @Length(groups = {AddGroup.class}, max = 35) private String title; @ApiModelProperty("办事指南内容") @NotBlank(groups = {AddGroup.class}, message = "内容不能为空") @Length(groups = {AddGroup.class}, max = 5000) private String content; @ApiModelProperty("办理时间") private String timeAt; @ApiModelProperty("创建时间") private String createAt; // @ApiModelProperty("办理地点") // private String address; // @ApiModelProperty("咨询电话") // private String phone; @ApiModelProperty("经度") private String lon; @ApiModelProperty("纬度") private String lat; private List<ComActWorkGuideMaterialVO> materials = Lists.newArrayList(); } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -2351,7 +2351,7 @@ * @return 详情 */ @GetMapping("/detailworkguide") R detailWorkGuide(@RequestParam("workGuideId") Long workGuideId); R detailWorkGuide(@RequestParam("workGuideId") Long workGuideId, @RequestParam("conmunityId") Long conmunityId); /** * 办事指南_分页 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/WorkGuideApi.java
@@ -1,14 +1,26 @@ package com.panzhihua.service_community.api; import com.alibaba.fastjson.JSONObject; import com.panzhihua.common.constants.Constants; import com.panzhihua.common.constants.TokenConstant; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.exceptions.UnAuthenticationException; import com.panzhihua.common.model.dtos.community.ComActWorkGuideDTO; import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActWorkGuideVO; import com.panzhihua.common.utlis.AES; import com.panzhihua.service_community.service.ComActWorkGuideService; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; /** * @auther llming @@ -17,29 +29,29 @@ @Slf4j @RestController @RequestMapping("/") public class WorkGuideApi { public class WorkGuideApi extends BaseController { @Resource private ComActWorkGuideService workGuideService; /** * 办事指南_新增 * @param workGuideVO 新增信息 * @param workGuideDTO 新增信息 * @return 新增结果 */ @PostMapping("addworkguide") @Transactional(rollbackFor = Exception.class) public R addWorkGuide(@RequestBody ComActWorkGuideVO workGuideVO, @RequestParam("userId")Long userId) { return workGuideService.addWorkGuide(workGuideVO,userId); public R addWorkGuide(@RequestBody ComActWorkGuideDTO workGuideDTO, @RequestParam("userId")Long userId) { return workGuideService.addWorkGuide(workGuideDTO,userId); } /** * 办事指南_编辑 * @param workGuideVO * @param workGuideDTO * @return 编辑结果 */ @PostMapping("editworkguide") @Transactional(rollbackFor = Exception.class) public R putWorkGuide(@RequestBody ComActWorkGuideVO workGuideVO, @RequestParam("userId")Long userId) { return workGuideService.editWorkGuide(workGuideVO,userId); public R putWorkGuide(@RequestBody ComActWorkGuideDTO workGuideDTO, @RequestParam("userId")Long userId) { return workGuideService.editWorkGuide(workGuideDTO,userId); } /** @@ -48,8 +60,8 @@ * @return 详情 */ @GetMapping("detailworkguide") public R detailWorkGuide(@RequestParam("workGuideId")Long workGuideId) { return workGuideService.detailWorkGuide(workGuideId); public R detailWorkGuide(@RequestParam("workGuideId")Long workGuideId , @RequestParam("conmunityId")Long conmunityId) { return workGuideService.detailWorkGuide(workGuideId, conmunityId); } /** springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActWorkGuideService.java
@@ -1,5 +1,6 @@ package com.panzhihua.service_community.service; import com.panzhihua.common.model.dtos.community.ComActWorkGuideDTO; import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActWorkGuideVO; @@ -11,22 +12,22 @@ public interface ComActWorkGuideService { /** * 办事指南_新增 * @param workGuideVO 办事指南信息 * @param workGuideDTO 办事指南信息 * @return 新增结果 */ R addWorkGuide(ComActWorkGuideVO workGuideVO,Long userId); R addWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId); /** * 办事指南_编辑 * @param workGuideVO 编辑内容 * @param workGuideDTO 编辑内容 * @return 编辑结果 */ R editWorkGuide(ComActWorkGuideVO workGuideVO, Long userId); R editWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId); /** * 办事指南_详情 * @param workGuideId 办事指南id * @return 社区详情 */ R detailWorkGuide(Long workGuideId); R detailWorkGuide(Long workGuideId, Long conmunityId); /** * 办事指南_分页 * @param pageActWorkGuideDTO 查询参数 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActWorkGuideServiceImpl.java
@@ -4,13 +4,17 @@ 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.panzhihua.common.model.dtos.community.ComActWorkGuideDTO; import com.panzhihua.common.model.dtos.community.PageActWorkGuideDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActVO; import com.panzhihua.common.model.vos.community.ComActWorkGuideMaterialVO; import com.panzhihua.common.model.vos.community.ComActWorkGuideVO; import com.panzhihua.common.utlis.DifferentLongListUtil; import com.panzhihua.service_community.dao.ComActDAO; import com.panzhihua.service_community.dao.ComActWorkGuideDAO; import com.panzhihua.service_community.dao.ComActWorkGuideMaterialDAO; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComActWorkGuideDO; import com.panzhihua.service_community.model.dos.ComActWorkGuideMaterialDO; import com.panzhihua.service_community.service.ComActWorkGuideService; @@ -29,15 +33,17 @@ public class ComActWorkGuideServiceImpl extends ServiceImpl<ComActWorkGuideDAO, ComActWorkGuideDO> implements ComActWorkGuideService { @Resource ComActWorkGuideMaterialDAO workGuideMaterialDAO; @Resource ComActDAO comActDAO; @Override public R addWorkGuide(ComActWorkGuideVO workGuideVO, Long userId) { public R addWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId) { ComActWorkGuideDO comActWorkGuideDO = new ComActWorkGuideDO(); BeanUtils.copyProperties(workGuideVO, comActWorkGuideDO); BeanUtils.copyProperties(workGuideDTO, comActWorkGuideDO); comActWorkGuideDO.setCreateBy(userId); this.baseMapper.insert(comActWorkGuideDO); //保存办事指南材料 workGuideVO.getMaterials().forEach(material -> { workGuideDTO.getMaterials().forEach(material -> { ComActWorkGuideMaterialDO workGuideMaterialDO = new ComActWorkGuideMaterialDO(); workGuideMaterialDO.setMaterialName(material.getMaterialName()); workGuideMaterialDO.setWorkGuideId(comActWorkGuideDO.getId()); @@ -47,25 +53,25 @@ } @Override public R editWorkGuide(ComActWorkGuideVO workGuideVO, Long userId) { if (workGuideVO.getId() == 0L) { public R editWorkGuide(ComActWorkGuideDTO workGuideDTO, Long userId) { if (workGuideDTO.getId() == 0L) { return R.fail("Id有误!"); } ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideVO.getId()); ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideDTO.getId()); if (workGuideDO == null) { return R.fail("Id有误!"); } BeanUtils.copyProperties(workGuideVO, workGuideDO); BeanUtils.copyProperties(workGuideDTO, workGuideDO); workGuideDO.setUpdateBy(userId); this.baseMapper.updateById(workGuideDO); if (workGuideVO.getMaterials().size() == 0) {//若编辑材料为null,执行删除操作 if (workGuideDTO.getMaterials().size() == 0) {//若编辑材料为null,执行删除操作 workGuideMaterialDAO.delete(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>() .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideVO.getId())); .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId())); } else {//若材料不为空,但是少了数据条数,也要执行删除 List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>() .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideVO.getId())); .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideDTO.getId())); //1、筛选vo里面和db里,需要删除的材料数据 List<Long> voMaterialIds = workGuideVO.getMaterials().stream() List<Long> voMaterialIds = workGuideDTO.getMaterials().stream() .filter(materialVo -> materialVo.getId() != null) .map(ComActWorkGuideMaterialVO::getId) .collect(Collectors.toList()); @@ -76,7 +82,7 @@ if (deleteMaterialIds.size() != 0) { workGuideMaterialDAO.deleteBatchIds(deleteMaterialIds); } workGuideVO.getMaterials().forEach(materialsVO -> { workGuideDTO.getMaterials().forEach(materialsVO -> { if (materialsVO.getId() != null && materialsVO.getId() != 0L) { ComActWorkGuideMaterialDO workGuideMaterialDO1 = workGuideMaterialDOS.stream().filter(workGuideMaterialDO -> workGuideMaterialDO.getId() .equals(materialsVO.getId())).findFirst().orElse(null); @@ -96,13 +102,18 @@ } @Override public R detailWorkGuide(Long workGuideId) { public R detailWorkGuide(Long workGuideId, Long conmunityId) { ComActWorkGuideDO workGuideDO = this.baseMapper.selectById(workGuideId); if (workGuideDO == null) { return R.fail("Id有误!"); } ComActWorkGuideVO vo = new ComActWorkGuideVO(); BeanUtils.copyProperties(workGuideDO, vo); ComActDO comActDO = comActDAO.selectById(conmunityId); if (comActDO != null){ vo.setAddress(comActDO.getAddress()); vo.setPhone(comActDO.getContactsPhone()); } List<ComActWorkGuideMaterialDO> workGuideMaterialDOS = workGuideMaterialDAO.selectList(new LambdaQueryWrapper<ComActWorkGuideMaterialDO>() .eq(ComActWorkGuideMaterialDO::getWorkGuideId, workGuideId)); workGuideMaterialDOS.forEach(workGuideMaterialDO -> {