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.*;
|
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.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;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
import java.util.Optional;
|
import java.util.stream.Collectors;
|
import java.util.stream.Stream;
|
|
/**
|
* @author jqs34
|
* @ClassName ShopController
|
* @description: TODO
|
* @date 2023年05月03日
|
* @version: 1.0
|
*/
|
@RestController
|
@RequestMapping("/shop")
|
public class ShopController {
|
|
@Resource
|
private ShopService shopService;
|
|
@Resource
|
private ShopRelUserService shopRelUserService;
|
|
@Resource
|
private ShopStaffService shopStaffService;
|
|
@Resource
|
private RemoteUserService remoteUserService;
|
|
@Resource
|
private ShopSuggestService shopSuggestService;
|
|
@Resource
|
private ShopTaskService shopTaskService;
|
|
@Resource
|
private ShopTotalService shopTotalService;
|
|
@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
|
* @return
|
*/
|
@PostMapping("/qwH5Login")
|
public R<QwH5LoginVo> qwH5Login(@RequestBody QwUserDetailDto qwUserDetail)
|
{
|
String mobile = qwUserDetail.getMobile();
|
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);
|
}
|
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());
|
qwH5LoginVo.setMobile(qwUserDetail.getMobile());
|
qwH5LoginVo.setSysUser(sysUser);
|
return R.ok(qwH5LoginVo);
|
}
|
|
@PostMapping("/getShop")
|
public R<Shop> getShop(@RequestBody Long shopId)
|
{
|
Shop shop = shopService.getByShopId(shopId);
|
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("未查询到用户关联商户"));
|
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);
|
}
|
|
/**
|
* @description 删除商户标签
|
* @author jqs
|
* @date 2023/6/8 15:52
|
* @param tag
|
* @return R
|
*/
|
@PostMapping("/deleteShopTag")
|
public R deleteShopTag(@RequestBody String tag)
|
{
|
shopService.deleteShopTag(tag);
|
return R.ok();
|
}
|
|
/**
|
* @description
|
* @author jqs
|
* @date 2023/6/9 10:18
|
* @param suggestTag
|
* @return R
|
*/
|
@PostMapping("/deleteShopSuggestTag")
|
public R deleteShopSuggestTag(@RequestBody String suggestTag)
|
{
|
shopSuggestService.deleteShopSuggestTag(suggestTag);
|
return R.ok();
|
}
|
|
/**
|
* @description 通过区域代码获取shopId
|
* @author jqs
|
* @date 2023/6/21 15:50
|
* @param mgtShopIdByCodeDto
|
* @return R<MgtShopIdByCodeVo>
|
*/
|
@PostMapping("/getShopIdByCode")
|
public R<MgtShopIdByCodeVo> getShopIdByCode(@RequestBody MgtShopIdByCodeDto mgtShopIdByCodeDto)
|
{
|
MgtShopIdByCodeVo mgtShopIdByCodeVo = shopService.getShopIdByCode(mgtShopIdByCodeDto);
|
return R.ok(mgtShopIdByCodeVo);
|
}
|
|
/**
|
* @description 通过id获取商户简易信息list
|
* @author jqs
|
* @date 2023/6/21 15:50
|
* @param mgtBaseBathDto
|
* @return R<List<MgtSimpleShopVo>>
|
*/
|
@PostMapping("/listShopSimpleVoByIds")
|
public R<List<MgtSimpleShopVo>> listShopSimpleVoByIds(@RequestBody MgtBaseBathDto mgtBaseBathDto)
|
{
|
List<MgtSimpleShopVo> mgtShopListSimpleVos = shopService.listShopSimpleVoByIds(mgtBaseBathDto.getIds());
|
return R.ok(mgtShopListSimpleVos);
|
}
|
|
/**
|
* @description boardShopTotal
|
* @param
|
* @return R<MgtBulletinBoardVo>
|
* @author jqs34
|
* @date 2023/6/18 16:45
|
*/
|
@PostMapping("/boardShopTotal")
|
public R<MgtBulletinBoardVo> boardShopTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto)
|
{
|
MgtBulletinBoardVo bulletinBoardVo = new MgtBulletinBoardVo();
|
MgtBulletinBoardVo bulletinBoardVoShop = shopService.boardShopTotal(boardMemberTotalDto.getUserIds());
|
MgtBulletinBoardVo bulletinBoardVoTask = shopTaskService.boardTaskTotal(boardMemberTotalDto.getUserIds());
|
bulletinBoardVo.setShopTotal(bulletinBoardVoShop.getShopTotal());
|
bulletinBoardVo.setDealerTotal(bulletinBoardVoShop.getDealerTotal());
|
bulletinBoardVo.setAgencyTotal(bulletinBoardVoShop.getAgencyTotal());
|
bulletinBoardVo.setFollowShopToday(bulletinBoardVoTask.getFollowShopToday());
|
return R.ok(bulletinBoardVo);
|
}
|
|
/**
|
* @description 获取平台统计shopId
|
* @param mgtBasePlatformDto
|
* @return R<List<Long>>
|
* @author jqs34
|
* @date 2023/6/23 14:14
|
*/
|
@PostMapping("/listShopIdByPlTotal")
|
public R<List<Long>> listShopIdByPlTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto)
|
{
|
List<Long> shopIdList = shopService.listShopIdByPlTotal(mgtBasePlatformDto);
|
return R.ok(shopIdList);
|
}
|
|
|
/**
|
* @description 更新商户统计
|
* @author jqs
|
* @date 2023/6/28 17:52
|
* @param shopTotalChangeDto
|
* @return R
|
*/
|
@PostMapping("/changeShopTotal")
|
public R changeShopTotal(@RequestBody ShopTotalChangeDto shopTotalChangeDto)
|
{
|
shopTotalService.changeShopTotal(shopTotalChangeDto);
|
return R.ok();
|
}
|
|
/**
|
* @description 获取最近任务
|
* @author jqs
|
* @date 2023/6/29 18:25
|
* @param userId
|
* @return R<MemberTaskSimpleVo>
|
*/
|
@PostMapping("/getLastMemberTask")
|
public R<MemberTaskSimpleVo> getLastMemberTask(@RequestBody Long userId)
|
{
|
MemberTaskSimpleVo taskSimpleVo = memberTaskService.getLastMemberTask(userId);
|
return R.ok(taskSimpleVo);
|
}
|
|
/**
|
* @description 获取商户下属代理商
|
* @author jqs
|
* @date 2023/7/3 17:26
|
* @return R<List<Long>>
|
*/
|
@PostMapping("/listShopIdByShopId")
|
public R<List<Long>> listShopIdByShopId(@RequestBody Long shopId)
|
{
|
List<Long> shopIdList = shopService.listShopIdByShopId(shopId);
|
return R.ok(shopIdList);
|
}
|
|
/**
|
* @description 获取未回复数量
|
* @author jqs
|
* @date 2023/7/5 12:49
|
* @param
|
* @return R<Integer>
|
*/
|
@PostMapping("/getUnReplaySuggestVo")
|
public R<Integer> getUnReplaySuggestVo()
|
{
|
Integer count = shopSuggestService.getUnReplaySuggestVo();
|
return R.ok(count);
|
}
|
|
/**
|
* @description 获取商户营销状态
|
* @author jqs
|
* @date 2023/7/7 14:05
|
* @param shopId
|
* @return R<Integer>
|
*/
|
@PostMapping("/getShopMarketingStatus")
|
public R<Integer> getShopMarketingStatus(@RequestBody Long shopId)
|
{
|
Shop shop = shopService.getByShopId(shopId);
|
Integer platformCouponFlag = shop.getPlatformCouponFlag();
|
Integer platformBirthdayFlag = shop.getPlatformBirthdayFlag();
|
Integer marketingStatus = 0;
|
if(platformCouponFlag==1&&platformBirthdayFlag==2){
|
marketingStatus = 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);
|
}
|
|
|
/**
|
* 根据管理员id获取门店
|
* @return
|
*/
|
@PostMapping("/getShopBySysUserIds")
|
public List<Shop> getShopBySysUserIds(@RequestBody BoardMemberTotalDto boardMemberTotalDto){
|
return shopService.getShopBySysUserIds(boardMemberTotalDto.getUserIds());
|
}
|
}
|