From aa2eae024f8f251c8e2b9eace5351dea7e315ed7 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期一, 24 四月 2023 11:41:48 +0800
Subject: [PATCH] BUG

---
 hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java |  260 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 250 insertions(+), 10 deletions(-)

diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java
index 2aade65..8cd7f37 100644
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java
+++ b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/ShopServiceImpl.java
@@ -1,21 +1,30 @@
 package com.hrt.system.service.impl;
 
-import com.hrt.system.domain.poji.shop.Shop;
-import com.hrt.system.domain.poji.shop.ShopCertificate;
-import com.hrt.system.domain.poji.shop.ShopFile;
-import com.hrt.system.domain.poji.shop.ShopRelTag;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.hrt.common.core.utils.StringUtils;
+import com.hrt.system.api.domain.SysUser;
+import com.hrt.system.domain.dto.MgtChangeCoopDto;
+import com.hrt.system.domain.dto.MgtEditShopDto;
+import com.hrt.system.domain.dto.MgtEditShopTagDto;
+import com.hrt.system.domain.dto.MgtShopPageDto;
+import com.hrt.system.domain.poji.shop.*;
+import com.hrt.system.domain.poji.sys.SysTag;
 import com.hrt.system.domain.vo.AppShopInfoVo;
+import com.hrt.system.domain.vo.MgtShopInfoVo;
+import com.hrt.system.domain.vo.MgtShopPageVo;
 import com.hrt.system.mapper.shop.ShopMapper;
-import com.hrt.system.service.shop.ShopCertificateService;
-import com.hrt.system.service.shop.ShopFileService;
-import com.hrt.system.service.shop.ShopRelTagService;
-import com.hrt.system.service.shop.ShopService;
+import com.hrt.system.service.shop.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hrt.system.service.sys.SysTagService;
+import com.hrt.system.service.user.ISysUserService;
+import com.hrt.system.util.CodeFactoryUtil;
 import org.springframework.beans.BeanUtils;
-import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 import java.util.StringJoiner;
 
@@ -39,13 +48,25 @@
     @Resource
     private ShopCertificateService shopCertificateService;
 
+    @Resource
+    private SysTagService sysTagService;
+
+    @Resource
+    private ShopRelTagService shopRelTagService;
+
+    @Resource
+    private ShopRelUserService shopRelUserService;
+
+    @Resource
+    private ISysUserService sysUserService;
+
     /**
      * 获取商户详情
      * @param shopId
      * @return
      */
     @Override
-    public AppShopInfoVo getShopInfo(Long shopId){
+    public AppShopInfoVo getAppShopInfo(Long shopId){
         AppShopInfoVo appShopInfoVo = new AppShopInfoVo();
         Shop shop = this.getById(shopId);
         BeanUtils.copyProperties(shop,appShopInfoVo);
@@ -73,4 +94,223 @@
         }
         return appShopInfoVo;
     }
+
+    /**
+     * 创建商户
+     * @param MGTEditShopDto
+     */
+    @Override
+    public void createShop(MgtEditShopDto MGTEditShopDto){
+        Shop shop = new Shop();
+        if(MGTEditShopDto.getShopId()!=null){
+            shop = this.getById(MGTEditShopDto.getShopId());
+            shop.setUpdateTime(new Date());
+            shop.setUpdateUserId(MGTEditShopDto.getUserId());
+            shop.setShopTags(null);
+            //清空关联记录
+            shopFileService.deleteByShopId(shop.getShopId());
+            shopRelTagService.deleteByShopId(shop.getShopId());
+            shopRelUserService.deleteByShopId(shop.getShopId());
+        }else{
+            shop.setShopStatus(2);
+            shop.setCreateTime(new Date());
+            shop.setCreateUserId(MGTEditShopDto.getUserId());
+        }
+        BeanUtils.copyProperties(MGTEditShopDto,shop);
+        this.saveOrUpdate(shop);
+        //商户编号
+        if(MGTEditShopDto.getShopId()==null){
+            String shopNo = CodeFactoryUtil.getShopNo(shop.getShopId());
+            shop.setShopNumber(shopNo);
+        }
+        //商户标签
+        String shopTagIds = MGTEditShopDto.getShopTagIds();
+        if(StringUtils.isNotBlank(shopTagIds)){
+            String[] shopTagIdArray = shopTagIds.split(",");
+            ShopRelTag shopRelTag;
+            Long tagid;
+            StringJoiner shopTagSj = new StringJoiner(",");
+            SysTag sysTag;
+            for(String str : shopTagIdArray){
+                shopRelTag = new ShopRelTag();
+                tagid = Long.valueOf(str);
+                sysTag = sysTagService.getById(tagid);
+                shopRelTag.setDelFlag(0);
+                shopRelTag.setShopId(shop.getShopId());
+                shopRelTag.setTagId(tagid);
+                shopRelTagService.save(shopRelTag);
+                shopTagSj.add(sysTag.getTagName());
+            }
+            shop.setShopTags(shopTagSj.toString());
+            this.saveOrUpdate(shop);
+        }
+        //商户关联人员
+        String relUserIds = MGTEditShopDto.getRelUserIds();
+        if(StringUtils.isNotBlank(relUserIds)){
+            String[] relUserIdArray = relUserIds.split(",");
+            ShopRelUser shopRelUser;
+            Long userId;
+            SysUser sysUser;
+            for(String str : relUserIdArray){
+                shopRelUser = new ShopRelUser();
+                userId = Long.valueOf(str);
+                sysUser = sysUserService.selectUserById(userId);
+                shopRelUser.setDelFlag(0);
+                shopRelUser.setShopId(shop.getShopId());
+                shopRelUser.setUserId(userId);
+                shopRelUser.setUserName(sysUser.getNickName());
+                shopRelUser.setUserMobile(sysUser.getPhonenumber());
+                shopRelUser.setUserDeptId(sysUser.getDeptId());
+                shopRelUserService.save(shopRelUser);
+            }
+        }
+        //商户封面
+        ShopFile shopFile = new ShopFile();
+        shopFile.setDelFlag(0);
+        shopFile.setFileType(1);
+        shopFile.setFileUrl(MGTEditShopDto.getShopPicture());
+        shopFile.setShopId(shop.getShopId());
+        shopFileService.save(shopFile);
+        //商户banner
+        if(StringUtils.isNotBlank(MGTEditShopDto.getShopBanners())){
+            String shopBanners= MGTEditShopDto.getShopBanners();
+            String[] shopBannerArray = shopBanners.split(",");
+            for(String str : shopBannerArray){
+                shopFile = new ShopFile();
+                shopFile.setDelFlag(0);
+                shopFile.setFileType(2);
+                shopFile.setFileUrl(str);
+                shopFile.setShopId(shop.getShopId());
+                shopFileService.save(shopFile);
+            }
+        }
+    }
+
+    /**
+     * 修改合作时间
+     * @param mgtChangeCoopDto
+     */
+    @Override
+    public void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto){
+        Shop shop = this.getById(mgtChangeCoopDto.getShopId());
+        String coopStartTime = mgtChangeCoopDto.getCoopStartTime();
+        String coopEndTime = mgtChangeCoopDto.getCoopEndTime();
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            Date coopStartDate = simpleDateFormat.parse(coopStartTime);
+            Date coopEndDate = simpleDateFormat.parse(coopEndTime);
+            Date nowTime = new Date();
+            shop.setCooperationStartTime(coopStartDate);
+            shop.setCooperationEndTime(coopEndDate);
+            Boolean inTime = false;
+           if(coopStartDate.compareTo(nowTime)<0&&coopEndDate.compareTo(nowTime)>0){
+               inTime = true;
+           }
+           if(shop.getShopStatus()==2&&inTime){
+               shop.setShopStatus(1);
+           }
+           shop.setUpdateTime(nowTime);
+           shop.setUpdateUserId(mgtChangeCoopDto.getUserId());
+           this.saveOrUpdate(shop);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 分页获取商户
+     * @param page
+     * @param mgtShopPageDto
+     * @return
+     */
+    @Override
+    public List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto){
+        List<MgtShopPageVo> mgtShopPageVoList = shopMapper.pageShop(page, mgtShopPageDto);
+        return mgtShopPageVoList;
+    }
+
+    /**
+     * 获取商户详情
+     * @param shopId
+     * @return
+     */
+    @Override
+    public MgtShopInfoVo getMgtShopInfo(Long shopId){
+        MgtShopInfoVo mgtShopInfoVo = new MgtShopInfoVo();
+        Shop shop = this.getById(shopId);
+        //基本信息拷贝
+        BeanUtils.copyProperties(shop,mgtShopInfoVo);
+        //商户标签
+        List<ShopRelTag> shopRelTagList = shopRelTagService.listShopRelTagByShopId(shopId);
+        if(shopRelTagList!=null&&!shopRelTagList.isEmpty()){
+            StringJoiner shopTagJs = new StringJoiner(",");
+            for(ShopRelTag shopRelTag : shopRelTagList){
+                shopTagJs.add(shopRelTag.getTagId().toString());
+            }
+            mgtShopInfoVo.setShopTagIds(shopTagJs.toString());
+        }
+        //商户关联用户
+        List<ShopRelUser> shopRelUserList = shopRelUserService.listByShopId(shopId);
+        if(shopRelUserList!=null&&!shopRelUserList.isEmpty()){
+            StringJoiner shopUserJs = new StringJoiner(",");
+            StringJoiner shopUserNameJs = new StringJoiner(",");
+            for(ShopRelUser shopRelUser : shopRelUserList){
+                shopUserJs.add(shopRelUser.getUserId().toString());
+                shopUserNameJs.add(shopRelUser.getUserName());
+            }
+            mgtShopInfoVo.setRelUserIds(shopUserJs.toString());
+            mgtShopInfoVo.setRelUsers(shopUserNameJs.toString());
+        }
+        //商户图片
+        List<ShopFile> shopFileList = shopFileService.listShopFileByShopId(shopId);
+        if(shopFileList!=null&&!shopFileList.isEmpty()){
+            StringJoiner shopBannerJs = new StringJoiner(",");
+            for(ShopFile shopFile : shopFileList){
+                if(shopFile.getFileType()==1){
+                    mgtShopInfoVo.setShopPicture(shopFile.getFileUrl());
+                }else{
+                    shopBannerJs.add(shopFile.getFileUrl());
+                }
+            }
+            mgtShopInfoVo.setShopBanners(shopBannerJs.toString());
+        }
+        //商户证书
+        List<ShopCertificate> shopCertificateList = shopCertificateService.listShopCertificateByShopId(shopId);
+        mgtShopInfoVo.setShopCertificateList(shopCertificateList);
+        return mgtShopInfoVo;
+    }
+
+    /**
+     * 修改商户标签
+     * @param mgtEditShopTagDto
+     */
+    @Override
+    public void editShopTag(MgtEditShopTagDto mgtEditShopTagDto){
+        Long shopId = Long.valueOf(mgtEditShopTagDto.getId());
+        String shopTagIds = mgtEditShopTagDto.getShopTagIds();
+        String shopTags = null;
+        //删除以前的标签
+        shopRelTagService.deleteByShopId(shopId);
+        if(StringUtils.isNotBlank(shopTagIds)){
+            ShopRelTag shopRelTag;
+            SysTag sysTag;
+            Long tagId;
+            String[] shopTagIdArray = shopTagIds.split(",");
+            StringJoiner shopTagSj = new StringJoiner(",");
+            for(String str : shopTagIdArray){
+                tagId = Long.valueOf(str);
+                sysTag = sysTagService.getById(tagId);
+                shopRelTag = new ShopRelTag();
+                shopRelTag.setDelFlag(0);
+                shopRelTag.setShopId(shopId);
+                shopRelTag.setTagId(tagId);
+                shopRelTagService.save(shopRelTag);
+                shopTagSj.add(sysTag.getTagName());
+            }
+            shopTags = shopTagSj.toString();
+        }
+        Shop shop = this.getById(shopId);
+        shop.setShopTags(shopTags);
+        this.saveOrUpdate(shop);
+    }
 }

--
Gitblit v1.7.1