From 0ab1b864458f36b294933112824b10b13770915e Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期五, 07 七月 2023 21:12:43 +0800 Subject: [PATCH] Merge branch 'master' of ssh://sinata.cn:20202/java/HongRuiTang into master --- ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 14 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java | 8 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java | 3 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopTotalService.java | 4 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java | 20 ++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopIdByCodeDto.java | 3 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java | 7 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java | 69 ++++++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java | 7 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopTotalServiceImpl.java | 10 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java | 36 +++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java | 10 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java | 67 ++++++ ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml | 41 ++++ ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml | 12 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java | 1 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java | 29 ++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopTotalMapper.java | 3 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 44 ++++ ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml | 13 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java | 33 +++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 20 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/SysStaffVo.java | 53 +++++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java | 14 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java | 5 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java | 17 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java | 4 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml | 10 + 29 files changed, 549 insertions(+), 10 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java index f8cb3d0..04c62b4 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java +++ b/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; + } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopIdByCodeDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopIdByCodeDto.java index f6c529e..2eb406d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopIdByCodeDto.java +++ b/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; + } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java new file mode 100644 index 0000000..186c606 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffBaseDto.java @@ -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; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java new file mode 100644 index 0000000..d408d7b --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffPageDto.java @@ -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; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java index 79c1546..9f9948b 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerHomeShopTotalVo.java +++ b/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; + } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/SysStaffVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/SysStaffVo.java new file mode 100644 index 0000000..600a68d --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/SysStaffVo.java @@ -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; + +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java new file mode 100644 index 0000000..ccfdab2 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteSysStaffService.java @@ -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); + +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java index 481bcc2..265845d 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java +++ b/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); + + } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java index 93347de..22129f5 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/UserServiceRecordMapper.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 6ac5722..5884fed 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/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; } diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index f7ccc18..f07561e 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/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 diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml index 82273b2..53af0b0 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml +++ b/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> diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java new file mode 100644 index 0000000..28afd9f --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/staff/StaffController.java @@ -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)); + } +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java index 5964b16..e6ab8b7 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopPageDto.java +++ b/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; } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java new file mode 100644 index 0000000..a197112 --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/StaffShopPageDto.java @@ -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; + +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java new file mode 100644 index 0000000..d5551bb --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopInfoVo.java @@ -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; +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopTotalMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopTotalMapper.java index 4593b1d..dbbd461 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopTotalMapper.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java index dd7c1e4..4229f77 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java index 8e7a5cc..c504bbb 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java +++ b/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 diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopTotalServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopTotalServiceImpl.java index b2c2fa5..73ece42 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopTotalServiceImpl.java +++ b/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()); diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java index f5acba0..3dae1f3 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java +++ b/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 diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java index 69c2fd7..afed314 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java +++ b/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); /** * 获取商户端首页统计 diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopTotalService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopTotalService.java index 9e5557e..aea8c66 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopTotalService.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java index 3142801..9add6bd 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java +++ b/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); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml index 845d2fa..0132f87 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml +++ b/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"> diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml index 4dd3b03..00a34c3 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopTotalMapper.xml +++ b/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> diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml index 88203d4..19eb288 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml +++ b/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, diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java new file mode 100644 index 0000000..bec536f --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/staff/StaffController.java @@ -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; + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java index f966109..d7c5674 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java +++ b/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); + } + /** * 获取用户列表 */ -- Gitblit v1.7.1