44323
2024-01-24 9c66102a4fae1922aac72dc153e3e76b5856bae3
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -1,22 +1,27 @@
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.shop.domain.pojo.shop.ShopRelUser;
import com.ruoyi.shop.domain.pojo.shop.ShopStaff;
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.*;
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.domain.dto.MgtBaseBathDto;
import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.dto.ShopTotalChangeDto;
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.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;
@@ -25,6 +30,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
@@ -61,6 +68,29 @@
    @Resource
    private MemberTaskService memberTaskService;
    @Resource
    private ShopAuthenticationService shopAuthenticationService;
    @Resource
    private ShopProportionService shopProportionService;
    @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
@@ -71,9 +101,18 @@
    {
        String mobile = qwUserDetail.getMobile();
        ShopStaff shopStaff = shopStaffService.getByMobile(mobile);
        if(shopStaff==null){
            throw new ServiceException(AppErrorConstant.USER_NO_SHOP);
        }
        Long userId = shopStaff.getUserId();
        SysUser sysUser = remoteUserService.getSysUser(userId).getData();
        Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户"));
        Shop shop = shopService.getByShopId(shopStaff.getShopId());
        if(shop.getFrozenFlag()==1){
            String userKey = SecurityUtils.getUserKey();
            redisService.deleteObject(CacheConstants.LOGIN_TOKEN_KEY+userKey);
            throw new ServiceException("商户已被冻结,请联系管理员",401);
        }
        // 构造登录返回信息
        QwH5LoginVo qwH5LoginVo = new QwH5LoginVo();
        qwH5LoginVo.setUserid(qwUserDetail.getUserid());
@@ -89,15 +128,60 @@
        return R.ok(shop);
    }
    @PostMapping("/getShopSubMchId")
    public R<String> getShopSubMchId(@RequestBody Long shopId){
        String subMchid = "";
        ShopAuthentication authentication = shopAuthenticationService.getByShopId(shopId);
        if(null != authentication){
            subMchid = authentication.getSubMchid();
        }
        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, "");
    }
    /**
     * 获取商户分成
     * @param shopId
     * @return
     */
    @PostMapping("/getShopProportion")
    public R<ShopProportionVo> getShopProportion(@RequestBody Long shopId){
        ShopProportion shopProportion = shopProportionService.getByShopId(shopId);
        ShopProportionVo shopProportionVo = new ShopProportionVo();
        BeanUtils.copyBeanProp(shopProportionVo, shopProportion);
        return R.ok(shopProportionVo);
    }
    @PostMapping("/getShopByUserId")
    public R<ShopRelUserVo> getShopByUserId(@RequestBody Long userId)
    {
        ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId);
        Optional.ofNullable(shopRelUser).orElseThrow(() -> new ServiceException("未查询到商户信息"));
        Optional.ofNullable(shopRelUser).orElseThrow(() -> new ServiceException("未查询到用户关联商户"));
        ShopRelUserVo shopRelUserVo = new ShopRelUserVo();
        shopRelUserVo.setShopId(shopRelUser.getShopId());
        shopRelUserVo.setUserName(shopRelUser.getUserName());
        return R.ok(shopRelUserVo);
    }
    @PostMapping("/getShopByBelongUserId")
    public R<ShopRelUserVo> getShopByBelongUserId(@RequestBody Long userId)
    {
        List<Shop> shopList = shopService.getShopByBelongUserId(userId);
        Optional.ofNullable(shopList.get(0)).orElseThrow(() -> new ServiceException("未查询到商户信息"));
        ShopRelUserVo shopRelUserVo = new ShopRelUserVo();
        shopRelUserVo.setShopId(shopList.get(0).getShopId());
        return R.ok(shopRelUserVo);
    }
@@ -261,13 +345,87 @@
        Integer platformCouponFlag = shop.getPlatformCouponFlag();
        Integer platformBirthdayFlag = shop.getPlatformBirthdayFlag();
        Integer marketingStatus = 0;
        if(platformCouponFlag==1&&platformBirthdayFlag==0){
        if(platformCouponFlag==1&&platformBirthdayFlag==2){
            marketingStatus = 1;
        }else if(platformCouponFlag==0&&platformBirthdayFlag==1){
        }else if(platformCouponFlag==2&&platformBirthdayFlag==1){
            marketingStatus = 2;
        }else if(platformCouponFlag==1&&platformBirthdayFlag==1){
            marketingStatus = 3;
        }
        return R.ok(marketingStatus);
    }
    /**
     * @description  修改商户员工
     * @author  jqs
     * @date    2023/7/19 19:02
     * @param mgtShopStaffEditDto
     * @return  R
     */
    @PostMapping("/editMgtShopStaff")
    public R editMgtShopStaff(@RequestBody MgtShopStaffEditDto mgtShopStaffEditDto)
    {
        shopStaffService.editMgtShopStaff(mgtShopStaffEditDto);
        return R.ok();
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/8/10 23:01
     * @param cityCodes
     * @return  R<List<Long>>
     */
    @PostMapping("/listShopIdByCityCode")
    R<List<Long>> listShopIdByCityCode(@RequestBody List<String> cityCodes){
        List<Long> shopIdList = shopService.listShopIdByCityCode(cityCodes);
        return R.ok(shopIdList);
    }
    @PostMapping("/authShop")
    R authShop(){
        shopService.authShop();
        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);
    }
}