Pu Zhibing
2024-09-23 e49f212c5ae9c5382386ddc0d34e346799720116
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -1,27 +1,28 @@
package com.ruoyi.shop.controller.console;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.pojo.shop.ShopAuthentication;
import com.ruoyi.shop.domain.pojo.shop.ShopProportion;
import com.ruoyi.shop.domain.pojo.shop.ShopRelUser;
import com.ruoyi.shop.domain.pojo.shop.ShopStaff;
import com.ruoyi.shop.domain.pojo.shop.*;
import com.ruoyi.shop.service.shop.*;
import com.ruoyi.shop.service.task.MemberTaskService;
import com.ruoyi.shop.service.task.ShopTaskService;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.*;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.shop.ShopProportionVo;
import com.ruoyi.system.api.domain.vo.ShopProportionVo;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.*;
import com.ruoyi.system.api.model.QwH5LoginVo;
import com.ruoyi.system.api.model.QwUserDetailDto;
import com.ruoyi.system.api.service.RemoteUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -30,6 +31,8 @@
import javax.annotation.Resource;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
 * @author jqs34
@@ -74,6 +77,21 @@
    @Resource
    private RedisService redisService;
    @Autowired
    private ShopAuthenticationHftxService shopAuthenticationHftxService;
    @PostMapping("/getShopIdsByUserIds")
    public R<List<Long>> getShopIdsByUserIds(@RequestBody List<Long> userIds)
    {
        // 店铺ids
        List<Long> list = shopService.list(new QueryWrapper<Shop>()
                .in("belong_user_id", userIds)
                .eq("del_flag", 0))
                .stream().map(Shop::getShopId).collect(Collectors.toList());
        return R.ok(list);
    }
    /**
     * 企业微信H5登录
     * @param qwUserDetail
@@ -83,7 +101,13 @@
    public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail)
    {
        String mobile = qwUserDetail.getMobile();
        ShopStaff shopStaff = shopStaffService.getByMobile(mobile);
        ShopStaff shopStaff = null;
        if(StringUtils.isNotEmpty(mobile)){
            shopStaff = shopStaffService.getByMobile(mobile);
        }else{
            shopStaff = shopStaffService.getOne(new QueryWrapper<ShopStaff>().eq("del_flag", 0)
                    .eq("user_id", qwUserDetail.getUserid()));
        }
        if(shopStaff==null){
            throw new ServiceException(AppErrorConstant.USER_NO_SHOP);
        }
@@ -94,7 +118,7 @@
        if(shop.getFrozenFlag()==1){
            String userKey = SecurityUtils.getUserKey();
            redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey);
            throw new ServiceException("商户已被冻结",401);
            throw new ServiceException("商户已被冻结,请联系管理员",401);
        }
        // 构造登录返回信息
        QwH5LoginVo qwH5LoginVo = new QwH5LoginVo();
@@ -120,6 +144,17 @@
        }
        return R.ok(subMchid, "");
    }
    @PostMapping("/getShopHFTXSubMchId")
    public R<ShopAuthenticationHftxVo> getShopHFTXSubMchId(@RequestBody Long shopId){
        ShopAuthenticationHftx shopAuthenticationHftx = shopAuthenticationHftxService.getOne(new QueryWrapper<ShopAuthenticationHftx>()
                .eq("is_delete", 0).eq("shop_id", shopId));
        ShopAuthenticationHftxVo vo = new ShopAuthenticationHftxVo();
        BeanUtils.copyProperties(shopAuthenticationHftx, vo);
        return R.ok(vo, "");
    }
    /**
@@ -221,11 +256,11 @@
     * @date 2023/6/18 16:45
     */
    @PostMapping("/boardShopTotal")
    public R<MgtBulletinBoardVo> boardShopTotal()
    public R<MgtBulletinBoardVo> boardShopTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto)
    {
        MgtBulletinBoardVo bulletinBoardVo = new MgtBulletinBoardVo();
        MgtBulletinBoardVo bulletinBoardVoShop = shopService.boardShopTotal();
        MgtBulletinBoardVo bulletinBoardVoTask = shopTaskService.boardTaskTotal();
        MgtBulletinBoardVo bulletinBoardVoShop = shopService.boardShopTotal(boardMemberTotalDto.getUserIds());
        MgtBulletinBoardVo bulletinBoardVoTask = shopTaskService.boardTaskTotal(boardMemberTotalDto.getUserIds());
        bulletinBoardVo.setShopTotal(bulletinBoardVoShop.getShopTotal());
        bulletinBoardVo.setDealerTotal(bulletinBoardVoShop.getDealerTotal());
        bulletinBoardVo.setAgencyTotal(bulletinBoardVoShop.getAgencyTotal());
@@ -360,4 +395,54 @@
        return R.ok();
    }
    /**
     * @description  获取今日任务通知列表
     * @author  jqs
     * @date    2023/8/29 15:03
     * @param
     * @return  R<List<MgtUserTaskMsgVo>>
     */
    @PostMapping("/getTaskMsgList")
    R<List<MgtUserTaskMsgVo>> getTaskMsgList(){
        List<MgtUserTaskMsgVo> userTaskMsgVoList = shopService.getTaskMsgList();
        return R.ok(userTaskMsgVoList);
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/8/10 23:01
     * @param cityCodes
     * @return  R<List<Long>>
     */
    @PostMapping("/listShopByCityCode")
    public R<List<Shop>> listShopByCityCode(@RequestBody List<String> cityCodes){
        List<Shop> shopIdList = shopService.listShopByCityCode(cityCodes);
        return R.ok(shopIdList);
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/8/10 23:01
     * @return  R<List<Long>>
     */
    @PostMapping("/listShopByIds")
    public R<List<Shop>> listShopByIds(@RequestBody List<String> ids){
        List<Shop> shopIdList = shopService.listByIds(ids);
        return R.ok(shopIdList);
    }
    /**
     * 根据管理员id获取门店
     * @return
     */
    @PostMapping("/getShopBySysUserIds")
    public List<Shop> getShopBySysUserIds(@RequestBody BoardMemberTotalDto boardMemberTotalDto){
        return shopService.getShopBySysUserIds(boardMemberTotalDto.getUserIds());
    }
}