From c3811d01d1929a98a0f34f70ca187d82ee312dbb Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期三, 03 十一月 2021 17:26:50 +0800
Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/ComActEasyPhotoServiceImpl.java |  319 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 289 insertions(+), 30 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/ComActEasyPhotoServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/ComActEasyPhotoServiceImpl.java
index f74aa70..d0fa644 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/ComActEasyPhotoServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/java/com/panzhihua/service_grid/service/impl/ComActEasyPhotoServiceImpl.java
@@ -1,24 +1,32 @@
 package com.panzhihua.service_grid.service.impl;
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+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.panzhihua.common.model.dtos.grid.ComActEasyPhotoAddDTO;
-import com.panzhihua.common.model.dtos.grid.ComActEasyPhotoDeleteDTO;
-import com.panzhihua.common.model.dtos.grid.ComActEasyPhotoEditDTO;
-import com.panzhihua.common.model.dtos.grid.PageComActEasyPhotoDTO;
+import com.panzhihua.common.model.dtos.grid.*;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.model.vos.grid.ComActEasyPhotoAdminVO;
 import com.panzhihua.common.model.vos.grid.ComActEasyPhotoDetailsVO;
 import com.panzhihua.common.model.vos.grid.ComActEasyPhotoVO;
-import com.panzhihua.service_grid.dao.*;
-import com.panzhihua.service_grid.model.dos.*;
+import com.panzhihua.service_grid.dao.ComActEasyPhotoMapper;
+import com.panzhihua.service_grid.dao.ComActEasyPhotoTypeRelationMapper;
+import com.panzhihua.service_grid.model.dos.ComActEasyPhotoDO;
+import com.panzhihua.service_grid.model.dos.ComActEasyPhotoTypeRelationDO;
 import com.panzhihua.service_grid.service.ComActEasyPhotoService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Service;
-import org.springframework.beans.BeanUtils;
+import com.panzhihua.service_grid.service.ComActEasyPhotoTypeRelationService;
 
-import javax.annotation.Resource;
-import java.util.Date;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @auther lyq
@@ -27,20 +35,28 @@
  */
 @Slf4j
 @Service
-public class ComActEasyPhotoServiceImpl extends ServiceImpl<ComActEasyPhotoMapper, ComActEasyPhotoDO> implements ComActEasyPhotoService {
+public class ComActEasyPhotoServiceImpl extends ServiceImpl<ComActEasyPhotoMapper, ComActEasyPhotoDO>
+    implements ComActEasyPhotoService {
 
     @Resource
     private ComActEasyPhotoMapper comActEasyPhotoMapper;
+    @Resource
+    private ComActEasyPhotoTypeRelationMapper comActEasyPhotoTypeRelationMapper;
+    @Resource
+    private ComActEasyPhotoTypeRelationService comActEasyPhotoTypeRelationService;
+
     /**
      * 新增社区活动 》随手拍
+     * 
      * @param comActEasyPhotoAddDTO
      * @return 新增结果
      */
-    public R add(ComActEasyPhotoAddDTO comActEasyPhotoAddDTO){
+    @Override
+    public R add(ComActEasyPhotoAddDTO comActEasyPhotoAddDTO) {
         ComActEasyPhotoDO comActEasyPhotoDO = new ComActEasyPhotoDO();
         BeanUtils.copyProperties(comActEasyPhotoAddDTO, comActEasyPhotoDO);
         comActEasyPhotoDO.setCreateAt(new Date());
-        if(comActEasyPhotoMapper.insert(comActEasyPhotoDO)>0){
+        if (comActEasyPhotoMapper.insert(comActEasyPhotoDO) > 0) {
             return R.ok();
         }
         return R.fail();
@@ -48,14 +64,16 @@
 
     /**
      * 修改社区活动 》随手拍
+     * 
      * @param comActEasyPhotoEditDTO
      * @return 维护结果
      */
-    public R edit(ComActEasyPhotoEditDTO comActEasyPhotoEditDTO){
+    @Override
+    public R edit(ComActEasyPhotoEditDTO comActEasyPhotoEditDTO) {
         ComActEasyPhotoDO comActEasyPhotoDO = new ComActEasyPhotoDO();
         BeanUtils.copyProperties(comActEasyPhotoEditDTO, comActEasyPhotoDO);
-        //comActEasyPhotoDO.setUpdateAt(new Date());
-        if(comActEasyPhotoMapper.updateById(comActEasyPhotoDO)>0){
+        // comActEasyPhotoDO.setUpdateAt(new Date());
+        if (comActEasyPhotoMapper.updateById(comActEasyPhotoDO) > 0) {
             return R.ok();
         }
         return R.fail();
@@ -63,37 +81,56 @@
 
     /**
      * 分页查找社区活动 》随手拍
-     * @param pageComActEasyPhotoDTO
+     * 
+     * @param easyAppDTO
      * @return 维护结果
      */
-    public R<IPage<ComActEasyPhotoVO>> query(PageComActEasyPhotoDTO pageComActEasyPhotoDTO){
-        Page page = new Page(1,10);
-        if(pageComActEasyPhotoDTO.getPageNum()!=null) {
-            page.setCurrent(pageComActEasyPhotoDTO.getPageNum());
+    @Override
+    public R<IPage<ComActEasyPhotoVO>> query(PageEasyAppDTO easyAppDTO) {
+        Page page = new Page(easyAppDTO.getPageNum(), easyAppDTO.getPageSize());
+        if (easyAppDTO.getStatus() != null) {
+            switch (easyAppDTO.getStatus()) {
+                case 1:
+                    easyAppDTO.setHandleStatus(1);
+                    break;
+                case 2:
+                    easyAppDTO.setIsReport(1);
+                    break;
+                case 3:
+                    easyAppDTO.setIsPublicity(1);
+                    break;
+                case 4:
+                    easyAppDTO.setIsPublicity(2);
+                    break;
+                default:
+                    break;
+            }
         }
-        if(pageComActEasyPhotoDTO.getPageSize()!=null) {
-            page.setSize(pageComActEasyPhotoDTO.getPageSize());
-        }
-        return R.ok(comActEasyPhotoMapper.findByPage(page, pageComActEasyPhotoDTO));
+        return R.ok(comActEasyPhotoMapper.findByPage(page, easyAppDTO));
     }
 
     /**
      * 删除社区活动 》随手拍
+     * 
      * @param ComActEasyPhotoDeleteDTO
      * @return 平台用户信息
      */
-    public R delete(ComActEasyPhotoDeleteDTO ComActEasyPhotoDeleteDTO){
+    @Override
+    public R delete(ComActEasyPhotoDeleteDTO ComActEasyPhotoDeleteDTO) {
         return R.fail();
     }
 
     /**
      * 查询社区活动 》随手拍详细信息
-     * @param id 社区活动 》随手拍 id
+     * 
+     * @param id
+     *            社区活动 》随手拍 id
      * @return 查找结果
      */
-    public R<ComActEasyPhotoDetailsVO> comActEasyPhotoDetails(Long id){
+    @Override
+    public R<ComActEasyPhotoDetailsVO> comActEasyPhotoDetails(Long id) {
         ComActEasyPhotoDO comActEasyPhotoDO = comActEasyPhotoMapper.selectById(id);
-        if(comActEasyPhotoDO!=null) {
+        if (comActEasyPhotoDO != null) {
             ComActEasyPhotoDetailsVO comActEasyPhotoDetailsVO = new ComActEasyPhotoDetailsVO();
             BeanUtils.copyProperties(comActEasyPhotoDO, comActEasyPhotoDetailsVO);
             return R.ok(comActEasyPhotoDetailsVO);
@@ -101,4 +138,226 @@
         return R.fail();
     }
 
+    /**
+     * 根据随手拍id查询随手拍详情
+     * 
+     * @param easyId
+     *            随手拍id
+     * @return 随手拍详情
+     */
+    @Override
+    public R detail(Long easyId) {
+        ComActEasyPhotoVO easyPhotoVO = this.baseMapper.findByEaseId(easyId);
+        if (easyPhotoVO != null) {
+            // 查询随手拍类型
+            List<String> typeRelationList = comActEasyPhotoTypeRelationMapper.getEasyPhotoTypeRelationByEasyId(easyId);
+            if (!typeRelationList.isEmpty()) {
+                easyPhotoVO.setEasyPhotoList(typeRelationList);
+            }
+        }
+        return R.ok(easyPhotoVO);
+    }
+
+    /**
+     * 随手拍处理
+     * 
+     * @param photoHandleDTO
+     *            请求参数
+     * @return 处理结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R easyHandle(ComActEasyPhotoHandleDTO photoHandleDTO) {
+        ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(photoHandleDTO.getId());
+        if (easyPhotoDO == null) {
+            return R.fail("随手拍不存在");
+        }
+        if (easyPhotoDO.getHandleStatus().equals(ComActEasyPhotoDO.handleStatus.yes)) {
+            return R.fail("该随手拍已处理");
+        }
+        BeanUtils.copyProperties(photoHandleDTO, easyPhotoDO);
+        easyPhotoDO.setHandleStatus(ComActEasyPhotoDO.handleStatus.yes);
+        easyPhotoDO.setFeedbackAt(new Date());
+        // 关联随手拍类型
+//        if (!photoHandleDTO.getEasyTypeIds().isEmpty()) {
+//            List<ComActEasyPhotoTypeRelationDO> typeRelationDOList = new ArrayList<>();
+//            photoHandleDTO.getEasyTypeIds().forEach(typeId -> {
+//                ComActEasyPhotoTypeRelationDO typeRelationDO = new ComActEasyPhotoTypeRelationDO();
+//                typeRelationDO.setEasyId(easyPhotoDO.getId());
+//                typeRelationDO.setEasyTypeId(typeId);
+//                typeRelationDO.setCreateAt(new Date());
+//                typeRelationDOList.add(typeRelationDO);
+//            });
+//            comActEasyPhotoTypeRelationService.saveBatch(typeRelationDOList);
+//        }
+        if (this.baseMapper.updateById(easyPhotoDO) > 0) {
+            return R.ok();
+        } else {
+            return R.fail();
+        }
+    }
+
+    /**
+     * 随手拍公示状态切换
+     * 
+     * @param photoHandleDTO
+     *            请求参数
+     * @return 切换结果
+     */
+    @Override
+    public R easyPublicity(ComActEasyPhotoHandleDTO photoHandleDTO) {
+
+        ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(photoHandleDTO.getId());
+        if (easyPhotoDO == null) {
+            return R.fail("随手拍不存在");
+        }
+        easyPhotoDO.setIsPublicity(photoHandleDTO.getIsPublicity());
+        if (this.baseMapper.updateById(easyPhotoDO) > 0) {
+            return R.ok();
+        } else {
+            return R.fail();
+        }
+    }
+
+    /**
+     * 随手拍上报社区
+     * 
+     * @param photoHandleDTO
+     *            请求参数
+     * @return 上报结果
+     */
+    @Override
+    public R easyReport(ComActEasyPhotoHandleDTO photoHandleDTO) {
+        ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(photoHandleDTO.getId());
+        if (easyPhotoDO == null) {
+            return R.fail("随手拍不存在");
+        }
+        if (easyPhotoDO.getIsReport().equals(ComActEasyPhotoDO.isReport.yes)) {
+            return R.fail("随手拍已上报");
+        }
+        easyPhotoDO.setIsReport(ComActEasyPhotoDO.isReport.yes);
+        if (this.baseMapper.updateById(easyPhotoDO) > 0) {
+            return R.ok();
+        } else {
+            return R.fail();
+        }
+    }
+
+    /**
+     * 后台管理-分页查询随手拍列表
+     * 
+     * @param easyAppDTO
+     *            请求参数
+     * @return 随手拍列表
+     */
+    @Override
+    public R easyListByAdmin(PageEasyAdminDTO easyAppDTO) {
+        IPage<ComActEasyPhotoAdminVO> photoAdminVOIPage =
+            this.baseMapper.easyListByAdmin(new Page(easyAppDTO.getPageNum(), easyAppDTO.getPageSize()), easyAppDTO);
+        if (!photoAdminVOIPage.getRecords().isEmpty()) {
+            photoAdminVOIPage.getRecords().forEach(photoAdmin -> {
+                if(photoAdmin.getClassifyId() != null){
+                    List<String> photoTypeList =
+                            comActEasyPhotoTypeRelationMapper.getEasyPhotoClassifyName(photoAdmin.getClassifyId());
+                    if (!photoTypeList.isEmpty()) {
+                        photoAdmin.setPhotoTypeList(photoTypeList);
+                    }
+                }
+            });
+        }
+        return R.ok(photoAdminVOIPage);
+    }
+
+    /**
+     * 后台管理-随手拍详情
+     * 
+     * @param easyId
+     *            随手拍id
+     * @return 随手拍详情
+     */
+    @Override
+    public R easyDetailByAdmin(Long easyId) {
+        ComActEasyPhotoAdminVO photoAdminVO = this.baseMapper.easyDetailByAdmin(easyId);
+        if (photoAdminVO == null) {
+            return R.fail("随手拍不存在");
+        }
+        if (photoAdminVO.getHandleStatus().equals(ComActEasyPhotoDO.handleStatus.yes)) {
+            // 随手拍已处理,查询随手拍类型
+            List<String> photoTypeList =
+                comActEasyPhotoTypeRelationMapper.getEasyPhotoTypeRelationByEasyId(photoAdminVO.getId());
+            if (!photoTypeList.isEmpty()) {
+                photoAdminVO.setPhotoTypeList(photoTypeList);
+            }
+        }
+        return R.ok(photoAdminVO);
+    }
+
+    /**
+     * 后台管理-随手拍处理
+     * 
+     * @param photoHandleDTO
+     *            请求参数
+     * @return 处理结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R easyHandleByAdmin(ComActEasyPhotoHandleDTO photoHandleDTO) {
+        ComActEasyPhotoDO easyPhotoDO = this.baseMapper.selectById(photoHandleDTO.getId());
+        if (easyPhotoDO == null) {
+            return R.fail("随手拍不存在");
+        }
+        if (easyPhotoDO.getIsReport().equals(ComActEasyPhotoDO.isReport.no)) {
+            return R.fail("该随手拍未上报,不可处理");
+        }
+        if (easyPhotoDO.getHandleStatus().equals(ComActEasyPhotoDO.handleStatus.yes)) {
+            return R.fail("该随手拍已处理");
+        }
+        BeanUtils.copyProperties(photoHandleDTO, easyPhotoDO);
+        easyPhotoDO.setHandleStatus(ComActEasyPhotoDO.handleStatus.yes);
+        easyPhotoDO.setFeedbackAt(new Date());
+        // 关联随手拍类型
+        if (!photoHandleDTO.getEasyTypeIds().isEmpty()) {
+            List<ComActEasyPhotoTypeRelationDO> typeRelationDOList = new ArrayList<>();
+            photoHandleDTO.getEasyTypeIds().forEach(typeId -> {
+                ComActEasyPhotoTypeRelationDO typeRelationDO = new ComActEasyPhotoTypeRelationDO();
+                typeRelationDO.setEasyId(easyPhotoDO.getId());
+                typeRelationDO.setEasyTypeId(typeId);
+                typeRelationDO.setCreateAt(new Date());
+                typeRelationDOList.add(typeRelationDO);
+            });
+            comActEasyPhotoTypeRelationService.saveBatch(typeRelationDOList);
+        }
+        if (this.baseMapper.updateById(easyPhotoDO) > 0) {
+            return R.ok();
+        } else {
+            return R.fail();
+        }
+    }
+
+    /**
+     * 后台管理-批量修改随手拍公示状态/删除随手拍
+     * 
+     * @param photoEditDTO
+     *            请求参数
+     * @return 修改/删除结果
+     */
+    @Override
+    public R easyPublicityByAdmin(ComActEasyPhotoEditAdminDTO photoEditDTO) {
+
+        if (photoEditDTO.getType().equals(1)) {
+            Integer count = this.baseMapper.selectCount(new QueryWrapper<ComActEasyPhotoDO>().lambda()
+                .eq(ComActEasyPhotoDO::getHandleStatus, ComActEasyPhotoDO.handleStatus.no)
+                .in(ComActEasyPhotoDO::getId, photoEditDTO.getIds()));
+            if (count > 0) {
+                return R.fail("您选择的有未处理的随手拍,不可进行操作");
+            }
+        }
+
+        if (this.baseMapper.easyPublicityByAdmin(photoEditDTO) > 0) {
+            return R.ok();
+        } else {
+            return R.fail();
+        }
+    }
+
 }

--
Gitblit v1.7.1