jiangqs
2023-07-07 0ab1b864458f36b294933112824b10b13770915e
Merge branch 'master' of ssh://sinata.cn:20202/java/HongRuiTang into master
21个文件已修改
8个文件已添加
559 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopIdByCodeDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/SysStaffVo.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopTotalMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopTotalServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopTotalService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java
@@ -19,4 +19,7 @@
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    @ApiModelProperty(value = "userIds")
    private Long userIds;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopIdByCodeDto.java
@@ -27,5 +27,8 @@
    @ApiModelProperty(value = "店铺名称")
    private String shopName;
    @ApiModelProperty(value = "归属员工di")
    private Long belongUserId;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java
New file
@@ -0,0 +1,14 @@
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author cheny
 */
@Data
public class StaffBaseDto {
    @ApiModelProperty(value = "请求对象id集合 多个用,隔开")
    private String ids;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java
New file
@@ -0,0 +1,17 @@
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author cheny
 */
@Data
public class StaffPageDto {
    @ApiModelProperty(name = "pagenum", value = "页码")
    private Integer pageNum = 1;
    @ApiModelProperty(name = "pagesize", value = "每页显示条数")
    private Integer pageSize = 20;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java
@@ -5,6 +5,7 @@
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
 * @author jqs34
@@ -40,4 +41,7 @@
    @ApiModelProperty(value = "剩余体验人数")
    private Integer explorationSurp;
    @ApiModelProperty(value = "多个商户id")
    private List<Long> shopIds;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/SysStaffVo.java
New file
@@ -0,0 +1,53 @@
package com.ruoyi.system.api.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
public class SysStaffVo implements Serializable {
    /**
     * 员工id
     */
    @ApiModelProperty("员工id")
    private String staffId;
    /**
     * 删除标记
     */
    @ApiModelProperty("删除标记")
    private Integer delFlag;
    /**
     * 用户id
     */
    @ApiModelProperty("用户id")
    private Long userId;
    /**
     * 员工姓名
     */
    @ApiModelProperty("员工姓名")
    private String staffName;
    /**
     * 员工电话
     */
    @ApiModelProperty("员工电话")
    private String staffMobile;
    /**
     * 员工邮箱
     */
    @ApiModelProperty("员工邮箱")
    private String staffEmail;
    /**
     * 员工职位
     */
    @ApiModelProperty("员工职位")
    private String staffPost;
    /**
     * 员工头像
     */
    @ApiModelProperty("员工头像")
    private String staffAvatar;
    /**
     * 负责人标记
     */
    @ApiModelProperty("负责人标记")
    private String headFlag;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java
New file
@@ -0,0 +1,36 @@
package com.ruoyi.system.api.service;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.model.LoginUser;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 用户服务
 *
 * @author jqs
 */
@FeignClient(contextId = "remoteSysStaffService", value = ServiceNameConstants.SYSTEM_SERVICE/*, fallbackFactory = RemoteUserFallbackFactory.class*/)
public interface RemoteSysStaffService
{
    /**
     * 通过用户名查询用户信息
     *
     * @param username 用户名
     * @param source 请求来源
     * @return 结果
     */
    @GetMapping("/user/info/{username}")
    public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @RequestMapping(value = "/staff/isLeader", method = RequestMethod.POST)
    public boolean isLeader() ;
    @GetMapping("/user/dept/{deptId}")
    public R<List<Long>> getUserIds(@PathVariable("deptId") Long deptId);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java
@@ -421,6 +421,14 @@
    MerHomeShopTotalVo getMerHomeShopTotalVo(Long shopId);
    /**
     * @description
     * @author  cheny
     * @param shopIds
     * @return  MerHomeShopTotalVo
     */
    MerHomeShopTotalVo getMerHomeShopsTotalVo(List<Long> shopIds);
    /**
     * @description  统计商户营业额
     * @author  jqs
     * @date    2023/6/27 19:13
@@ -505,4 +513,6 @@
     * @return  List<MgtShopAllOrderPageVo>
     */
    List<MgtShopAllOrderPageVo> pageMgtShopAllOrder(Page page, @Param("param")MgtShopAllOrderPageDto mgtShopAllOrderPageDto);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java
@@ -63,4 +63,11 @@
     * @return  Integer
     */
    Integer countShopServicePerson(@Param("shopId")Long shopId);
    /**
     * @description  商户端统计商户到店人数
     * @author  cheny
     * @param shopIds
     * @return  Integer
     */
    Integer countShopServicePersons(List<Long> shopIds);
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -16,6 +16,7 @@
import com.ruoyi.order.domain.pojo.order.OrderGoods;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.mapper.order.OrderMapper;
import com.ruoyi.order.mapper.order.UserServiceRecordMapper;
import com.ruoyi.order.service.order.ConsumerGoodsService;
import com.ruoyi.order.service.order.OrderGoodsService;
import com.ruoyi.order.service.order.OrderService;
@@ -85,6 +86,9 @@
    @Resource
    private RemoteActivityService remoteActivityService;
    @Resource
    private UserServiceRecordMapper userServiceRecordMapper;
    /**
     * @description: buyGoods
@@ -806,10 +810,18 @@
     */
    @Override
    public MerHomeShopTotalVo getMerHomeTotal(MerHomeShopTotalVo merHomeShopTotalVo) {
        Long shopId = merHomeShopTotalVo.getShopId();
        Integer todayShop = userServiceRecordService.countShopServicePerson(shopId);
        merHomeShopTotalVo.setTodayShop(todayShop);
        merHomeShopTotalVo = orderMapper.getMerHomeShopTotalVo(shopId);
        List<Long> shopIds = merHomeShopTotalVo.getShopIds();
        if (null != shopIds && shopIds.size() != 0) {
            Integer todayShop = userServiceRecordMapper.countShopServicePersons(shopIds);
            merHomeShopTotalVo = orderMapper.getMerHomeShopsTotalVo(shopIds);
            merHomeShopTotalVo.setTodayShop(todayShop);
        }else{
            Long shopId = merHomeShopTotalVo.getShopId();
            Integer todayShop = userServiceRecordService.countShopServicePerson(shopId);
            merHomeShopTotalVo.setTodayShop(todayShop);
            merHomeShopTotalVo = orderMapper.getMerHomeShopTotalVo(shopId);
        }
        return merHomeShopTotalVo;
    }
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -1239,6 +1239,20 @@
        WHERE del_flag = 0 AND shopId = #{shopId}
    </select>
    <select id="getMerHomeShopsTotalVo" resultType="com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo">
        SELECT
            SUM(CASE WHEN order_status = 2 THEN 1 ELSE 0 END) unHandleOrder,
            SUM(pay_money) shopTurnover
        FROM t_order
        WHERE del_flag = 0
        <if test="list != null and list.size() > 0">
            AND shop_id IN
            <foreach collection="list" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
    </select>
    <select id="getMemberUnpaidOrder" resultType="java.math.BigDecimal">
        SELECT IFNULL(SUM(receivable_money-pay_money),0)
        FROM t_order
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml
@@ -141,4 +141,14 @@
        FROM t_user_service_record
        WHERE shop_id = #{shopId} AND DATE(create_time) = CURDATE()
    </select>
    <select id="countShopServicePersons" resultType="java.lang.Integer">
        SELECT COUNT(DISTINCT user_id)
        FROM t_user_service_record
        WHERE shop_id in
        <foreach item="id" collection="list" open="(" separator="," close=")">
            #{id}
        </foreach>
         AND DATE(create_time) = CURDATE()
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java
New file
@@ -0,0 +1,67 @@
package com.ruoyi.shop.controller.staff;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.MgtShopPageDto;
import com.ruoyi.shop.domain.vo.MgtShopPageVo;
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.service.RemoteSysStaffService;
import com.ruoyi.system.api.service.RemoteUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@Api(value = "员工端商户接口", tags = "员工端商户接口", description = "员工端商户接口")
@RestController
@RequestMapping("/staff/shop")
public class StaffController {
    @Resource
    private ShopService shopService;
    @Resource
    private RemoteUserService sysUserService;
    @Resource
    private RemoteSysStaffService remoteSysStaffService;
    /**
     * 未完成实际统计
     * @return
     */
    @RequestMapping(value = "/getStaffHomeTotal", method = RequestMethod.POST)
    @ApiOperation(value = "获取员工端商铺统计")
    public R<MerHomeShopTotalVo> getStaffHomeTotal() {
        Long userId = SecurityUtils.getUserId();
        MerHomeShopTotalVo merHomeShopTotalVo = shopService.getStaffHomeTotal(userId);
        return R.ok(merHomeShopTotalVo);
    }
    @RequestMapping(value = "/list", method = RequestMethod.POST)
    @ApiOperation(value = "获取商户端商业统计")
    public R getShopByUserId(@RequestBody MgtShopPageDto mgtShopPageDto) {
        Long userId = SecurityUtils.getUserId();
        if (remoteSysStaffService.isLeader()) {
            Long deptId = sysUserService.getSysUser(userId).getData().getDeptId();
            List<Long> userIds = remoteSysStaffService.getUserIds(deptId).getData();
            if(userIds.size()==0){
                return R.ok("未关联商户");
            }
            mgtShopPageDto.setIds(userIds);
        } else {
            mgtShopPageDto.setBelongUserId(userId);
        }
        Page<MgtShopPageVo> page = new Page<>();
        page.setSize(mgtShopPageDto.getPageSize());
        page.setCurrent(mgtShopPageDto.getPageNum());
        List<MgtShopPageVo> mgtShopPageVoList = shopService.pageMgtShop(page,mgtShopPageDto);
        return R.ok(page.setRecords(mgtShopPageVoList));
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author jqs34
 * @ClassName MgtShopPageDto
@@ -89,6 +91,9 @@
    @ApiModelProperty(value = "与合作商关系1.好2.差")
    private Integer relationPartner;
    @ApiModelProperty(value = "商铺id")
    private Integer shopId;
    @ApiModelProperty(value = "多个用户的id")
    private List<Long> ids;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java
New file
@@ -0,0 +1,69 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.StaffPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author cheny
 *
 */
@Data
public class StaffShopPageDto extends StaffPageDto {
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;
    @ApiModelProperty(value = "商户类型1经销商2代理商")
    private Integer shopType;
    //合作商状态
    //合作商等级
    @ApiModelProperty(value = "归属员工")
    private Long belongUserId;
    @ApiModelProperty(value = "签约开始时间")
    private String signStartTime;
    @ApiModelProperty(value = "签约结束时间")
    private String signEndTime;
    @ApiModelProperty(value = "签约区域code")
    private String signAreaCode;
    @ApiModelProperty(value = "推荐人")
    private String recommendPerson;
    @ApiModelProperty(value = "店铺地址省code")
    private String shopProvinceCode;
    @ApiModelProperty(value = "店铺地址市code")
    private String shopCityCode;
    @ApiModelProperty(value = "店铺地址区code")
    private String shopAreaCode;
    @ApiModelProperty(value = "签约省code")
    private String signProvinceCode;
    @ApiModelProperty(value = "签约市code")
    private String signCityCode;
    @ApiModelProperty(value = "商户状态0冻结1正常2终止合作")
    private Integer shopStatus;
//    @ApiModelProperty(value = "来源渠道")
//    private String shopSource;
//
//    @ApiModelProperty(value = "店铺设置状态")
//    private String shopCustomStatus;
//
//    @ApiModelProperty(value = "到期标记")
//    private Integer expireFlag;
//
//    @ApiModelProperty(value = "商户标签 多个,隔开")
//    private String shopTags;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.shop.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class StaffShopInfoVo {
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    @ApiModelProperty("商户名称")
    private String shopName;
    @ApiModelProperty("店铺区域全称")
    private String shopAreaName;
    @ApiModelProperty("店铺详细地址")
    private String shopAddress;
    @ApiModelProperty("店主姓名")
    private String shopownerName;
    @ApiModelProperty("联系电话")
    private String shopownerPhone;
    @ApiModelProperty("合作期限")
    private Date cooperationEndTime;
    @ApiModelProperty("所属经销商")
    private String belongShopName;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopTotalMapper.java
@@ -3,6 +3,8 @@
import com.ruoyi.shop.domain.pojo.shop.ShopTotal;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
 * <p>
 * 商户统计 Mapper 接口
@@ -13,4 +15,5 @@
 */
public interface ShopTotalMapper extends BaseMapper<ShopTotal> {
    ShopTotal shopsTotalByIds(List<Long> shopIds);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java
@@ -47,4 +47,6 @@
     * @return  MemberTaskSimpleVo
     */
    MemberTaskSimpleVo getLastMemberTask(@Param("userId")Long userId);
    Integer getMembersIngTotal(List<Long> shopIds);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -25,10 +25,7 @@
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.*;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.ruoyi.system.api.service.RemoteMemberService;
import com.ruoyi.system.api.service.RemoteOrderService;
import com.ruoyi.system.api.service.RemoteUserService;
import com.ruoyi.system.api.service.*;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -103,6 +100,8 @@
    @Resource
    private RemoteUserService remoteUserService;
    @Resource
    private RemoteSysStaffService remoteSysStaffService;
    /**
     * 获取商户详情
@@ -653,6 +652,43 @@
    }
    /**
     * 获取获取员工端首页统计
     * @param userId
     * @return
     */
    @Override
    public MerHomeShopTotalVo getStaffHomeTotal(Long userId){
        List<Long> userIds = null;
        List<Long> shopIds = null;
        //如果是leader 查询leader下面所有的员工下的所有shopId
        if(remoteSysStaffService.isLeader()){
            Long deptId = sysUserService.getSysUser(userId).getData().getDeptId();
            userIds = remoteSysStaffService.getUserIds(deptId).getData();
            //根据用户所有id查询关联的商户id
            MgtBasePlatformDto mgtBasePlatformDto = new MgtBasePlatformDto();
            mgtBasePlatformDto.setUserIdList(userIds);
            shopIds = shopMapper.listShopIdByTotal(mgtBasePlatformDto);
        }else {
            //普通员工查询商户归属的shopId
            MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
            mgtShopIdByCodeDto.setBelongUserId(userId);
            shopIds = shopMapper.getShopIdByCode(mgtShopIdByCodeDto);
        }
            //分别查询
            MerHomeShopTotalVo merHomeShopTotalVo = new MerHomeShopTotalVo();
            merHomeShopTotalVo.setShopIds(shopIds);
            MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData();
            merHomeShopTotalVo.setTodayShop(orderVo.getTodayShop());
            merHomeShopTotalVo.setUnHandleOrder(orderVo.getUnHandleOrder());
            merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover());
            ShopTotal shopTotal = shopTotalService.shopsTotalByIds(shopIds);
            merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson());
            merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson());
            Integer taskCount = memberTaskService.getMembersIngTotal(shopIds);
            merHomeShopTotalVo.setTask(taskCount);
            return merHomeShopTotalVo;
        }
    /**
     * 获取商户端
     * @param userId
     * @return
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopTotalServiceImpl.java
@@ -7,7 +7,9 @@
import com.ruoyi.system.api.domain.dto.ShopTotalChangeDto;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.locks.Lock;
@@ -26,6 +28,9 @@
    private Lock lock = new ReentrantLock();
    private ExecutorService executor = Executors.newSingleThreadExecutor();
    @Resource
    private ShopTotalMapper shopTotalMapper;
    /**
     * @param shopTotalChangeDto
@@ -44,6 +49,11 @@
        });
    }
    @Override
    public ShopTotal shopsTotalByIds(List<Long> shopIds) {
        return shopTotalMapper.shopsTotalByIds(shopIds);
    }
    //更新商户统计实现
    private void handleShopTotal(ShopTotalChangeDto shopTotalChangeDto){
        ShopTotal shopTotal = this.getById(shopTotalChangeDto.getShopId());
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java
@@ -213,6 +213,11 @@
        return memberTaskMapper.getMemberIngTotal(shopId);
    }
    @Override
    public Integer getMembersIngTotal(List<Long> shopIds) {
        return memberTaskMapper.getMembersIngTotal(shopIds);
    }
    /**
     * @description  获取最近任务
     * @author  jqs
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -98,6 +98,7 @@
    Shop getByShopId(Long shopId);
    MerHomeShopTotalVo getStaffHomeTotal(Long userId);
    /**
     * 获取商户端首页统计
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopTotalService.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.dto.ShopTotalChangeDto;
import java.util.List;
/**
 * <p>
 * 商户统计 服务类
@@ -22,4 +24,6 @@
     * @return  void
     */
    void changeShopTotal(ShopTotalChangeDto shopTotalChangeDto);
    ShopTotal shopsTotalByIds(List<Long> shopIds);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java
@@ -62,5 +62,11 @@
     */
    MemberTaskSimpleVo getLastMemberTask(Long userId);
    /**
     * @description  员工端获取进行中任务数
     * @author  jqs
     * @param shopIds
     * @return  Integer
     */
    Integer getMembersIngTotal(List<Long> shopIds);
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -309,6 +309,14 @@
        FROM t_shop ts
        LEFT JOIN t_shop_marketing tsm ON tsm.shop_id = ts.shop_id
        WHERE ts.del_flag = 0
        <if test="param.ids != null and !param.ids.isEmpty()">
            AND ts.belong_user_id in
            <foreach item="id" collection="param.ids" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>
        <if test="param.shopType!=null and param.shopType!=''">
            AND ts.shop_type = #{param.shopType}
        </if>
@@ -463,6 +471,9 @@
        <if test="param.shopAreaCode!=null and param.shopAreaCode!=''">
            AND ts.shop_area_code = #{param.shopAreaCode}
        </if>
        <if test="param.belongUserId!=null and param.belongUserId!=''">
            AND ts.belong_user_id = #{param.belongUserId}
        </if>
    </select>
    <select id="listMgtShopSimpleVo" resultType="com.ruoyi.shop.domain.vo.MgtShopListSimpleVo">
@@ -477,6 +488,7 @@
        <if test="param.keyword!=null and param.keyword!=''">
            AND shop_name LIKE CONCAT('%',#{param.keyword},'%')
        </if>
    </select>
    <select id="listShopSimpleVoByIds" resultType="com.ruoyi.system.api.domain.vo.MgtSimpleShopVo">
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml
@@ -1,6 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.shop.mapper.shop.ShopTotalMapper">
    <select id="shopsTotalByIds" parameterType="java.util.List" resultType="com.ruoyi.shop.domain.pojo.shop.ShopTotal">
        SELECT
        sum(last_pay_money) lastPayMoney ,
        sum(total_activity_count) totalActivityCount,
        sum(total_order) totalOrder,
        sum(total_cycle_order) totalCycleOrder,
        sum(total_experience_order) totalExperienceOrder,
        sum(total_service_order) totalServiceOrder,
        sum(total_goods_order) totalGoodsOrder,
        sum(total_service_count) totalServiceCount,
        sum(used_service_count) usedServiceCount,
        sum(useable_service_count) useableServiceCount,
        sum(total_cycle_service) totalCycleService,
        sum(used_cycle_service) usedCycleService,
        sum(useable_cycle_service) useableCycleService,
        sum(total_cycle_person) totalCyclePerson,
        sum(useable_cycle_person) useable_cycle_person,
        sum(total_service_service) totalServiceService,
        sum(used_service_service) usedServiceService,
        sum(useable_service_service) useableServiceService,
        sum(total_service_person) totalServicePerson,
        sum(useable_service_person) useableServicePerson,
        sum(total_experience_service) totalExperienceService,
        sum(used_experience_service) usedExperienceService,
        sum(useable_experience_service) useableExperienceService,
        sum(total_experience_person) totalExperiencePerson,
        sum(useable_experience_person) useableExperiencePerson,
        sum(total_order_money) totalOrderMoney,
        sum(total_cycle_money) totalCycleMoney,
        sum(total_experience_money) totalExperienceMoney,
        sum(total_service_money) totalServiceMoney,
        sum(total_goods_money) totalGoodsMoney
        FROM
        t_shop_total
        <if test="list!=null and list!=''">
            where shop_id IN
            <foreach collection="list" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml
@@ -99,6 +99,19 @@
        WHERE del_flag = 0 AND task_status = 1 AND shop_id = #{shopId} AND task_date = DATE(NOW())
    </select>
    <select id="getMembersIngTotal" resultType="java.lang.Integer">
        SELECT COUNT(task_id)
        FROM t_member_task
        WHERE del_flag = 0 AND task_status = 1
        <if test="list!=null and list!=''">
            AND  shop_id IN
            <foreach collection="list" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>
        AND task_date = DATE(NOW())
    </select>
    <select id="getLastMemberTask" resultType="com.ruoyi.system.api.domain.vo.MemberTaskSimpleVo">
        SELECT
        task_date taskDate,
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.system.controller.staff;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.service.staff.SysStaffService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
 * @author cheny
 */
@Api(value = "平台端员工相关接口", tags = "平台端员工相关接口", description = "平台端员工相关接口")
@RestController
@RequestMapping("/staff")
public class StaffController {
    @Resource
    private SysStaffService sysStaffService;
    @RequestMapping(value = "/isLeader", method = RequestMethod.POST)
    @ApiOperation(value = "获取员工信息")
    public boolean isLeader() {
        Long userId = SecurityUtils.getUserId();
        return sysStaffService.getByUserId(userId).getHeadFlag().equals("1") ? true : false;
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java
@@ -27,6 +27,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -58,6 +59,25 @@
    @Autowired
    private ISysConfigService configService;
    /**
     * 根据部门获取所有员工id
     * @param deptId
     * @return
     */
    @GetMapping("/dept/{deptId}")
    public R<List<Long>> getUserIds(@PathVariable("deptId") Long deptId)
    {
        SysUser sysUser = new SysUser();
        sysUser.setDeptId(deptId);
        List<SysUser> userList = userService.selectUserList(sysUser);
        List<Long> userIds = new ArrayList<>();
        for (int i = 0; i < userList.size(); i++) {
            userIds.add(userList.get(i).getUserId());
        }
        return R.ok(userIds);
    }
    /**
     * 获取用户列表
     */