ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/BoardMemberTotalDto.java
New file @@ -0,0 +1,13 @@ package com.ruoyi.system.api.domain.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data public class BoardMemberTotalDto { @ApiModelProperty(value = "用户id列表") List<Long> userIds; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
@@ -89,10 +89,6 @@ return R.fail("获取用户列表失败:" + throwable.getMessage()); } @Override public R<MgtBulletinBoardVo> boardMemberTotal() { return null; } @Override public R<List<Long>> listUserIdByAge(MgtActivityAgeDto mgtActivityAgeDto) { @@ -159,7 +155,10 @@ return R.fail("获取用户id列表失败:" + throwable.getMessage()); } @Override public R<MgtBulletinBoardVo> boardMemberTotal(BoardMemberTotalDto boardMemberTotalDto) { return R.fail(throwable.getMessage()); } }; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteOrderFallbackFactory.java
@@ -2,6 +2,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; import com.ruoyi.system.api.domain.dto.BoardMemberTotalDto; import com.ruoyi.system.api.domain.dto.MerBaseDto; import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto; import com.ruoyi.system.api.domain.vo.*; @@ -39,11 +40,6 @@ @Override public R<MerHomeShopTotalVo> getMerHomeTotal(MerHomeShopTotalVo merHomeShopTotalVo) { return R.fail("获取商户端统计失败:" + throwable.getMessage()); } @Override public R<MgtBulletinBoardVo> boardOrderTotal() { return null; } @Override @@ -90,6 +86,11 @@ public R<List<String>> getActivityOrderGoods(String activityId) { return R.fail("获取活动订单商品id失败:" + throwable.getMessage()); } @Override public R<MgtBulletinBoardVo> boardOrderTotal(BoardMemberTotalDto boardMemberTotalDto) { return R.fail(throwable.getMessage()); } }; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
@@ -83,11 +83,6 @@ } @Override public R<MgtBulletinBoardVo> boardShopTotal() { return null; } @Override public R<List<Long>> listShopIdByPlTotal(MgtBasePlatformDto mgtBasePlatformDto) { return R.fail("获取商户列表失败:" + throwable.getMessage()); } @@ -151,6 +146,16 @@ public R<List<Shop>> listShopByIds(List<String> ids) { return R.fail("获取商户列表失败:" + throwable.getMessage()); } @Override public R<MgtBulletinBoardVo> boardShopTotal(BoardMemberTotalDto boardMemberTotalDto) { return R.fail(throwable.getMessage()); } @Override public List<Shop> getShopBySysUserIds(BoardMemberTotalDto boardMemberTotalDto) { return null; } }; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteUserFallbackFactory.java
@@ -90,6 +90,11 @@ public R<List<SysUser>> getUsersByDeptId(Long deptId) { return R.fail("根据部门id获取用户信息获取失败:" + throwable.getMessage()); } @Override public List<Long> getScopeOfAuthorityUserId() { return null; } }; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
@@ -125,7 +125,7 @@ * @date 2023/6/18 16:45 */ @PostMapping("/member/boardMemberTotal") public R<MgtBulletinBoardVo> boardMemberTotal(@RequestBody List<Long> userIds); public R<MgtBulletinBoardVo> boardMemberTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto); /** * @param mgtActivityAgeDto ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java
@@ -3,6 +3,7 @@ import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; import com.ruoyi.system.api.domain.dto.BoardMemberTotalDto; import com.ruoyi.system.api.domain.dto.MerBaseDto; import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto; import com.ruoyi.system.api.domain.vo.*; @@ -31,7 +32,7 @@ * @date 2023/6/18 17:29 */ @PostMapping("/order/boardOrderTotal") public R<MgtBulletinBoardVo> boardOrderTotal(@RequestBody List<Long> userIds); public R<MgtBulletinBoardVo> boardOrderTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto); /** * @description ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
@@ -85,7 +85,7 @@ * @date 2023/6/18 16:45 */ @PostMapping("/shop/boardShopTotal") public R<MgtBulletinBoardVo> boardShopTotal(@RequestBody List<Long> userIds); public R<MgtBulletinBoardVo> boardShopTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto); /** * @description 获取平台统计shopId @@ -207,5 +207,5 @@ * @return */ @PostMapping("/shop/getShopBySysUserIds") List<Shop> getShopBySysUserIds(@RequestBody List<Long> userIds); List<Shop> getShopBySysUserIds(@RequestBody BoardMemberTotalDto boardMemberTotalDto); } ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml
@@ -17,9 +17,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f config: @@ -27,9 +27,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f # 配置文件格式 @@ -37,3 +37,8 @@ # 共享配置 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} feign: compression: request: min-request-size: 20480 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -10,9 +10,11 @@ import com.ruoyi.system.api.domain.poji.member.BirthdayCard; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; import com.ruoyi.system.api.service.RemoteShopService; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -21,6 +23,7 @@ import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; @RestController @RequestMapping("/member") @@ -37,6 +40,13 @@ @Resource private BirthdayCardService birthdayCardService; @Resource private RemoteShopService remoteShopService; /** * @description: getMember @@ -194,9 +204,11 @@ * @date 2023/6/18 16:45 */ @PostMapping("/boardMemberTotal") public R<MgtBulletinBoardVo> boardMemberTotal(@RequestBody List<Long> userIds) public R<MgtBulletinBoardVo> boardMemberTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto) { MgtBulletinBoardVo bulletinBoardVo = memberService.boardMemberTotal(userIds); List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> shopIds = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); MgtBulletinBoardVo bulletinBoardVo = memberService.boardMemberTotal(shopIds); return R.ok(bulletinBoardVo); } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java
@@ -121,7 +121,7 @@ * @author jqs34 * @date 2023/6/18 16:46 */ Integer memberTotal(@Param("userIds") List<Long> userIds); Integer memberTotal(@Param("shopIds") List<Long> shopIds); /** * @description 今日新增用户数 @@ -130,7 +130,7 @@ * @author jqs34 * @date 2023/6/18 16:47 */ Integer memberToday(@Param("userIds") List<Long> userIds); Integer memberToday(@Param("shopIds") List<Long> shopIds); /** ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -1272,10 +1272,10 @@ * @date 2023/6/18 16:45 */ @Override public MgtBulletinBoardVo boardMemberTotal(List<Long> userIds) { public MgtBulletinBoardVo boardMemberTotal(List<Long> shopIds) { MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo(); mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal(userIds)); mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday(userIds)); mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal(shopIds)); mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday(shopIds)); return mgtBulletinBoardVo; } @@ -1467,13 +1467,14 @@ plTotalMemberTotalVo.setShopMemberRankList(Lists.newArrayList()); Date nowDay = DateUtils.getNowDate(); //如果区域代码不为null获取对应的商户id List<Long> list = new ArrayList<>(); if (StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) { MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); mgtShopIdByCodeDto.setShopProvinceCode(mgtBasePlatformDto.getShopProvinceCode()); mgtShopIdByCodeDto.setShopCityCode(mgtBasePlatformDto.getShopCityCode()); mgtShopIdByCodeDto.setShopAreaCode(mgtBasePlatformDto.getShopAreaCode()); MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); List<Long> list = new ArrayList<>(); if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) { list = Arrays.stream(mgtShopIdByCodeVo.getShopIds().split(",")) .map(Long::valueOf) @@ -1481,12 +1482,17 @@ }else{ return plTotalMemberTotalVo; } List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); list.addAll(collect); mgtBasePlatformDto.setShopIdList(list); } //数据权限 List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userId); List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); list.addAll(collect); mgtBasePlatformDto.setShopIdList(list); //获取基础统计 MgtPlTotalMemberTotalVo plTotalMemberTotalByDayVo = memberMapper.getPlTotalMemberTotal(mgtBasePlatformDto); plTotalMemberTotalVo.setMemberTotal(plTotalMemberTotalByDayVo.getMemberTotal()); ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -220,7 +220,7 @@ * @author jqs34 * @date 2023/6/18 16:47 */ MgtBulletinBoardVo boardMemberTotal(List<Long> userIds); MgtBulletinBoardVo boardMemberTotal(List<Long> shopIds); /** * @description 会员人数统计 ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml
@@ -17,9 +17,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f config: @@ -27,9 +27,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f # 配置文件格式 @@ -37,4 +37,7 @@ # 共享配置 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} feign: compression: request: min-request-size: 20480 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -365,9 +365,9 @@ <select id="memberTotal" resultType="java.lang.Integer"> SELECT COUNT(user_id) FROM t_member WHERE del_flag = 0 <if test="null != userIds and userIds.size() > 0"> and user_id in <foreach collection="userIds" separator="," index="index" item="item" open="(" close=")"> <if test="null != shopIds and shopIds.size() > 0"> and binding_flag = 1 and relation_shop_id in <foreach collection="shopIds" separator="," index="index" item="item" open="(" close=")"> #{item} </foreach> </if> @@ -375,9 +375,9 @@ <select id="memberToday" resultType="java.lang.Integer"> SELECT COUNT(user_id) FROM t_member WHERE del_flag = 0 AND Date(create_time) = CURDATE() <if test="null != userIds and userIds.size() > 0"> and user_id in <foreach collection="userIds" separator="," index="index" item="item" open="(" close=")"> <if test="null != shopIds and shopIds.size() > 0"> and binding_flag = 1 and relation_shop_id in <foreach collection="shopIds" separator="," index="index" item="item" open="(" close=")"> #{item} </foreach> </if> @@ -580,11 +580,11 @@ <select id="getPlTotalMemberTotal" resultType="com.ruoyi.system.api.domain.vo.MgtPlTotalMemberTotalVo"> SELECT COUNT(*) AS memberTotal, COUNT(CASE WHEN DATE(binding_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) THEN 1 END) AS memberYesterday, COUNT(CASE WHEN binding_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 DAY) AND DATE_SUB(CURDATE(), INTERVAL -1 DAY) THEN 1 END) AS memberSeven FROM t_member WHERE del_flag = 0 AND binding_flag = 1 COUNT(CASE WHEN DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) THEN 1 END) AS memberYesterday, COUNT(CASE WHEN create_time BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 DAY) AND DATE_SUB(CURDATE(), INTERVAL -1 DAY) THEN 1 END) AS memberSeven FROM t_member WHERE del_flag = 0 <if test="param.shopIdList != null and param.shopIdList.size() > 0"> AND relation_shop_id IN AND binding_flag = 1 AND relation_shop_id IN <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")"> #{item} </foreach> ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java
@@ -6,6 +6,7 @@ import com.ruoyi.order.service.order.ConsumerGoodsService; import com.ruoyi.order.service.order.OrderService; import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; import com.ruoyi.system.api.domain.dto.BoardMemberTotalDto; import com.ruoyi.system.api.domain.dto.MerBaseDto; import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto; import com.ruoyi.system.api.domain.vo.*; @@ -55,9 +56,9 @@ * @date 2023/6/18 17:30 */ @PostMapping("/boardOrderTotal") public R<MgtBulletinBoardVo> boardOrderTotal(@RequestBody List<Long> userIds){ public R<MgtBulletinBoardVo> boardOrderTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto){ MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo(); MgtBulletinBoardVo mgtBulletinBoardVoOrder = orderService.boardOrderTotal(userIds); MgtBulletinBoardVo mgtBulletinBoardVoOrder = orderService.boardOrderTotal(boardMemberTotalDto.getUserIds()); mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal()); mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal()); mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal()); ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -3031,7 +3031,9 @@ } //数据权限 List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userId); List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); if (!shops.isEmpty()) { List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); @@ -3126,7 +3128,9 @@ } //数据权限 List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userId); List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); if (!shops.isEmpty()) { List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); @@ -3187,7 +3191,9 @@ } //数据权限 List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userId); List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); if (!shops.isEmpty()) { List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); @@ -3360,7 +3366,9 @@ */ @Override public MgtBulletinBoardVo boardOrderTotal(List<Long> userIds) { List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userIds); List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(collect); Integer activityUserTotal = orderMapper.activityUserTotal(collect); @@ -3871,14 +3879,16 @@ } } //数据权限 List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); if(null != userIdList){ userIdList.addAll(userIds); }else{ userIdList = userIds; if(null != userIds){ List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); if(null != userIdList){ userIdList.addAll(userIds); }else{ userIdList = userIds; } mgtBasePlatformDto.setUserIdList(userIdList); } mgtBasePlatformDto.setUserIdList(userIdList); List<Long> shopIdList = new ArrayList<>(); @@ -4234,14 +4244,18 @@ } //数据权限 List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); if(null != shopIdList){ shopIdList.addAll(collect); }else{ shopIdList = collect; if(null != userIds){ BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userIds); List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); if(null != shopIdList){ shopIdList.addAll(collect); }else{ shopIdList = collect; } mgtBasePlatformDto.setShopIdList(shopIdList); } mgtBasePlatformDto.setShopIdList(shopIdList); //获取基础统计 MgtPlTotalActivityTotalVo mgtTotalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto); totalActivityTotalVo.setOrderTotal(mgtTotalActivityTotalVo.getOrderTotal()); @@ -4450,7 +4464,9 @@ } List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userIds); List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); if(null != shopIdList){ shopIdList.addAll(collect); @@ -4521,7 +4537,9 @@ } //数据权限 List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userIds); List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); if(null != shopIdList){ shopIdList.addAll(collect); ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml
@@ -17,9 +17,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f config: @@ -27,9 +27,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f # 配置文件格式 @@ -53,3 +53,7 @@ callbackPath: https://wxapp.hhhrt.cn feign: compression: request: min-request-size: 20480 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -527,7 +527,7 @@ toc.create_time createTime, tog.goods_price activityPrice, toc.pay_money payMoney, CASE WHEN toc.unbinding_flag = 0 THEN toc.shop_id WHEN toc.unbinding_flag = 1 AND toc.order_from = 1 THEN toc.shop_id WHEN toc.order_status = 3 THEN toc.shop_id ELSE NULL END shopId, CASE WHEN toc.order_status = 3 THEN toc.shop_id ELSE NULL END shopId, toc.use_time verifyTime FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id @@ -542,7 +542,7 @@ AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from = 1) OR (toc.unbinding_flag = 1 AND toc.order_from = 2 AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 and toc.order_status = 3 AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 </if> <if test="param.keyword != null and param.keyword != ''"> AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(toc.user_id, #{param.userIds}) > 0) @@ -559,9 +559,9 @@ <select id="totalOrderFirst" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> SELECT COUNT(temp.order_id) orderTotal, IFNULL(SUM(temp.change_receivable_money),0) orderMoneyTotal IFNULL(SUM(CASE WHEN temp.change_receivable_money = 0 THEN temp.receivable_money ELSE temp.change_receivable_money END),0) orderMoneyTotal FROM (SELECT toc.order_id,toc.change_receivable_money,toc.pay_money (SELECT toc.order_id,toc.change_receivable_money,toc.receivable_money,toc.pay_money FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3) @@ -578,7 +578,7 @@ AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from = 1) OR (toc.unbinding_flag = 1 AND toc.order_from = 2 AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 and toc.order_status = 3 AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 </if> <if test="param.keyword != null and param.keyword != ''"> AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(toc.user_id, #{param.userIds}) > 0) @@ -595,11 +595,11 @@ <select id="totalOrderSecond" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> SELECT COUNT(temp.order_id) shopOrderTotal, IFNULL(SUM(temp.change_receivable_money),0) shopOrderMoneyTotal, IFNULL(SUM(CASE WHEN temp.change_receivable_money = 0 THEN temp.receivable_money ELSE temp.change_receivable_money END),0) shopOrderMoneyTotal, IFNULL(SUM(temp.pay_money),0) shopPayMoneyTotal, IFNULL(SUM(CASE WHEN temp.change_receivable_money > temp.pay_money THEN temp.change_receivable_money - temp.pay_money ELSE 0 END),0) shopUnPayMoneyTotal IFNULL(SUM(CASE WHEN (CASE WHEN temp.change_receivable_money = 0 THEN temp.receivable_money ELSE temp.change_receivable_money END) > temp.pay_money THEN temp.change_receivable_money - temp.pay_money ELSE 0 END),0) shopUnPayMoneyTotal FROM (SELECT toc.order_id,toc.change_receivable_money,toc.pay_money (SELECT toc.order_id,toc.change_receivable_money,toc.receivable_money,toc.pay_money FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3) @@ -616,7 +616,7 @@ AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from = 1) OR (toc.unbinding_flag = 1 AND toc.order_from = 2 AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 and toc.order_status = 3 AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 </if> <if test="param.keyword != null and param.keyword != ''"> AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(toc.user_id, #{param.userIds}) > 0) @@ -654,7 +654,7 @@ AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from = 1) OR (toc.unbinding_flag = 1 AND toc.order_from = 2 AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 and toc.order_status = 3 AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 </if> <if test="param.keyword != null and param.keyword != ''"> AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(toc.user_id, #{param.userIds}) > 0) @@ -734,7 +734,7 @@ AND toc.shop_id = #{param.shopId} AND (toc.unbinding_flag = 0 OR (toc.unbinding_flag = 1 AND toc.order_from = 1) OR (toc.unbinding_flag = 1 AND toc.order_from = 2 AND toc.order_status = 3)) </if> <if test="param.shopIds != null and param.shopIds != ''"> AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 and toc.order_status = 3 AND FIND_IN_SET(toc.shop_id, #{param.shopIds}) > 0 </if> <if test="param.keyword != null and param.keyword != ''"> AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(toc.user_id, #{param.userIds}) > 0) @@ -757,7 +757,7 @@ FROM t_order WHERE del_flag = 0 AND order_status IN (2,3) <if test="null != shopIds and shopIds.size() > 0"> and shop_id in and order_status = 3 and shop_id in <foreach collection="shopIds" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> @@ -770,7 +770,7 @@ FROM t_order WHERE del_flag = 0 AND order_from = 2 AND order_status IN (2,3) <if test="null != shopIds and shopIds.size() > 0"> and shop_id in AND order_status = 3 and shop_id in <foreach collection="shopIds" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> @@ -1316,12 +1316,12 @@ COUNT(CASE WHEN order_status = 3 THEN order_id ELSE NULL END) orderTotal, IFNULL(SUM(CASE WHEN order_status = 3 AND pay_type = 1 THEN change_receivable_money WHEN order_status = 3 AND pay_type = 2 THEN change_receivable_money + online_pay_money ELSE 0 END),0) orderMoney, COUNT(DISTINCT user_id) orderJoinPerson FROM t_order WHERE del_flag = 0 AND order_from = 2 AND order_status = 3 FROM t_order WHERE del_flag = 0 AND order_from = 2 <if test="param.shopId != null and param.shopId != ''"> AND shop_id = #{param.shopId} AND order_status = 3 AND shop_id = #{param.shopId} </if> <if test="param.shopIdList != null and param.shopIdList.size() > 0"> AND shop_id IN AND order_status = 3 AND shop_id IN <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")"> #{item} </foreach> @@ -1345,15 +1345,15 @@ COUNT(DISTINCT CASE WHEN tog.goods_type = 2 THEN toc.user_id ELSE NULL END) servicePerson FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id WHERE toc.del_flag = 0 AND toc.order_from = 2 AND toc.order_status = 3 AND toc.new_member_flag = 1 WHERE toc.del_flag = 0 AND toc.order_from = 2 AND toc.new_member_flag = 1 <if test="param.activityId!=null and param.activityId!=''"> AND toc.activity_id = #{param.activityId} </if> <if test="param.shopId != null and param.shopId != ''"> AND toc.shop_id = #{param.shopId} AND toc.order_status = 3 AND toc.shop_id = #{param.shopId} </if> <if test="param.shopIdList != null and param.shopIdList.size() > 0"> AND toc.shop_id IN AND toc.order_status = 3 AND toc.shop_id IN <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")"> #{item} </foreach> @@ -1391,15 +1391,15 @@ COUNT(DISTINCT toc.user_id) AS mapValueThird FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id WHERE toc.del_flag = 0 AND toc.order_from = 2 AND order_status = 3 WHERE toc.del_flag = 0 AND toc.order_from = 2 <if test="param.activityId!=null and param.activityId!=''"> AND toc.activity_id = #{param.activityId} </if> <if test="param.shopId != null and param.shopId != ''"> AND toc.shop_id = #{param.shopId} AND order_status = 3 AND toc.shop_id = #{param.shopId} </if> <if test="param.shopIdList != null and param.shopIdList.size() > 0"> AND toc.shop_id IN AND order_status = 3 AND toc.shop_id IN <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")"> #{item} </foreach> ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -249,11 +249,11 @@ * @date 2023/6/18 16:45 */ @PostMapping("/boardShopTotal") public R<MgtBulletinBoardVo> boardShopTotal(@RequestBody List<Long> userIds) public R<MgtBulletinBoardVo> boardShopTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto) { MgtBulletinBoardVo bulletinBoardVo = new MgtBulletinBoardVo(); MgtBulletinBoardVo bulletinBoardVoShop = shopService.boardShopTotal(userIds); MgtBulletinBoardVo bulletinBoardVoTask = shopTaskService.boardTaskTotal(userIds); MgtBulletinBoardVo bulletinBoardVoShop = shopService.boardShopTotal(boardMemberTotalDto.getUserIds()); MgtBulletinBoardVo bulletinBoardVoTask = shopTaskService.boardTaskTotal(boardMemberTotalDto.getUserIds()); bulletinBoardVo.setShopTotal(bulletinBoardVoShop.getShopTotal()); bulletinBoardVo.setDealerTotal(bulletinBoardVoShop.getDealerTotal()); bulletinBoardVo.setAgencyTotal(bulletinBoardVoShop.getAgencyTotal()); @@ -432,11 +432,10 @@ /** * 根据管理员id获取门店 * @param userIds * @return */ @PostMapping("/getShopBySysUserIds") public List<Shop> getShopBySysUserIds(@RequestBody List<Long> userIds){ return shopService.getShopBySysUserIds(userIds); public List<Shop> getShopBySysUserIds(@RequestBody BoardMemberTotalDto boardMemberTotalDto){ return shopService.getShopBySysUserIds(boardMemberTotalDto.getUserIds()); } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -1259,13 +1259,15 @@ } //数据权限 List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); if(null != userIdList){ userIdList.addAll(userIds); }else{ userIdList = userIds; if(null != userIds){ List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); if(null != userIdList){ userIdList.addAll(userIds); }else{ userIdList = userIds; } mgtBasePlatformDto.setUserIdList(userIdList); } mgtBasePlatformDto.setUserIdList(userIdList); //获取基础统计 MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal(userIds); @@ -1936,10 +1938,14 @@ */ @Override public List<Shop> getShopBySysUserIds(List<Long> userIds) { if(userIds.size() == 0){ userIds.add(0L); if(null == userIds && userIds.size() == 0){ return new ArrayList<>(); } List<Shop> list = this.list(new QueryWrapper<Shop>().eq("del_flag", 0).ne("shop_status", -1).in("belong_user_id", userIds)); QueryWrapper<Shop> queryWrapper = new QueryWrapper<Shop>().eq("del_flag", 0).ne("shop_status", -1); if(null != userIds && userIds.size() > 0){ queryWrapper.in("belong_user_id", userIds); } List<Shop> list = this.list(queryWrapper); return list; } } ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java
@@ -144,7 +144,8 @@ queryWrapper.eq(ShopTask::getTaskStatus,1); queryWrapper.eq(ShopTask::getTaskDate,DateUtils.getDate()); if(null != userIds && userIds.size() > 0){ List<Shop> list = shopService.list(new QueryWrapper<Shop>().eq("del_flag", 0).in("belong_user_id", userIds)); List<Shop> list = shopService.list(new QueryWrapper<Shop>().eq("del_flag", 0) .in("belong_user_id", userIds)); List<Long> collect = list.stream().map(Shop::getShopId).collect(Collectors.toList()); queryWrapper.in(ShopTask::getShopId, collect); } ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml
@@ -17,9 +17,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f config: @@ -27,9 +27,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f # 配置文件格式 @@ -37,7 +37,11 @@ # 共享配置 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} --- spring: main: allow-circular-references: true wx: pay: @@ -52,4 +56,10 @@ privateCertPath: /home/cert/apiclient_cert.pem callback_path: https://wxapp.hhhrt.cn #callback_path: http://8.137.105.173 #callback_path: http://8.137.105.173 feign: compression: request: min-request-size: 20480 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl.config; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -8,6 +9,7 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.constant.ConfigEnum; import com.ruoyi.system.api.constant.SecurityConstant; import com.ruoyi.system.api.domain.dto.BoardMemberTotalDto; import com.ruoyi.system.api.domain.poji.config.Activeness; import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.AppOtherConfigGetVo; @@ -677,7 +679,10 @@ // 创建 MgtBulletinBoardVo 对象 MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo(); // 获取会员信息 MgtBulletinBoardVo mgtBulletinBoardVoMember = remoteMemberService.boardMemberTotal(userIds).getData(); BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); boardMemberTotalDto.setUserIds(userIds); MgtBulletinBoardVo mgtBulletinBoardVoMember = remoteMemberService.boardMemberTotal(boardMemberTotalDto).getData(); mgtBulletinBoardVo.setMemberTotal(mgtBulletinBoardVoMember.getMemberTotal()); mgtBulletinBoardVo.setMemberToday(mgtBulletinBoardVoMember.getMemberToday()); // 获取推荐合作信息 @@ -686,13 +691,13 @@ mgtBulletinBoardVo.setCustomToday(mgtBulletinBoardVoCustom.getCustomToday()); mgtBulletinBoardVo.setFollowUserToday(mgtBulletinBoardVoCustom.getFollowUserToday()); // 获取店铺信息 MgtBulletinBoardVo mgtBulletinBoardVoShop = remoteShopService.boardShopTotal(userIds).getData(); MgtBulletinBoardVo mgtBulletinBoardVoShop = remoteShopService.boardShopTotal(boardMemberTotalDto).getData(); mgtBulletinBoardVo.setShopTotal(mgtBulletinBoardVoShop.getShopTotal()); mgtBulletinBoardVo.setAgencyTotal(mgtBulletinBoardVoShop.getAgencyTotal()); mgtBulletinBoardVo.setDealerTotal(mgtBulletinBoardVoShop.getDealerTotal()); mgtBulletinBoardVo.setFollowShopToday(mgtBulletinBoardVoShop.getFollowShopToday()); // 获取订单信息 MgtBulletinBoardVo mgtBulletinBoardVoOrder = remoteOrderService.boardOrderTotal(userIds).getData(); MgtBulletinBoardVo mgtBulletinBoardVoOrder = remoteOrderService.boardOrderTotal(boardMemberTotalDto).getData(); mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal()); mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal()); mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal()); ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java
@@ -741,7 +741,7 @@ public List<Long> getScopeOfAuthorityUserId() { List<Long> userIds = new ArrayList<>(); Long userId = SecurityUtils.getUserId(); SysUser user = this.getById(userId); SysUser user = this.baseMapper.selectUserById(userId); String dataScope = user.getDataScope(); //没有配置默认查询自己 if(!SecurityUtils.isAdmin(userId) && StringUtils.isEmpty(dataScope)){ @@ -749,13 +749,15 @@ } //管理员或者全部权限 if(SecurityUtils.isAdmin(userId) || (StringUtils.isNotEmpty(dataScope) && "1".equals(dataScope))){ List<SysUser> list = this.list(new QueryWrapper<SysUser>().eq("user_type", "00").eq("status", 0).eq("del_flag", 0)); userIds.addAll(list.stream().map(SysUser::getUserId).collect(Collectors.toList())); return null; } //部分权限 if(StringUtils.isNotEmpty(dataScope) && "3".equals(dataScope)){ List<SysUser> list = this.list(new QueryWrapper<SysUser>().eq("user_type", "00").eq("status", 0) .eq("del_flag", 0).eq("dept_id", user.getDeptId())); SysUser user1 = new SysUser(); user1.setUserType("00"); user1.setStatus("0"); user1.setDeptId(user.getDeptId()); List<SysUser> list = this.baseMapper.selectUserList(user1); userIds.addAll(list.stream().map(SysUser::getUserId).collect(Collectors.toList())); } //个人权限 ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -21,9 +21,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f config: @@ -31,9 +31,9 @@ server-addr: 47.109.78.184:5000 # server-addr: 127.0.0.1:8848 #pro namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 # namespace: 9591ef9f-a49a-4900-be35-d77258bdd639 #test # namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd namespace: e1a7e419-e8c7-4d7d-8a0a-c00ab6ccfccd #dev # namespace: 6857cbd9-6088-4fe8-bb58-2b516d99876f # 配置文件格式 @@ -71,3 +71,7 @@ feign: compression: request: min-request-size: 20480 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml
@@ -72,6 +72,9 @@ <if test="status != null and status != ''"> AND u.status = #{status} </if> <if test="userType != null and userType != ''"> AND u.user_type = #{userType} </if> <if test="phonenumber != null and phonenumber != ''"> AND u.phonenumber like concat('%', #{phonenumber}, '%') </if>