From 45d37a6febb87837a6daa65429703a37e437d257 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期一, 17 七月 2023 19:58:39 +0800 Subject: [PATCH] bug --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java | 6 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 106 ++++++ ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml | 9 ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml | 8 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffTotalDto.java | 34 ++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java | 4 ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java | 23 ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java | 8 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java | 56 +++ ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml | 4 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml | 8 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java | 58 +++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java | 8 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityOrderTotalVo.java | 36 ++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/StaffActivityListDto.java | 21 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/staff/StaffTotalController.java | 86 +++++ ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml | 8 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java | 6 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopInfoVo.java | 3 ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml | 8 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java | 1 ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml | 9 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java | 3 ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java | 17 ruoyi-gateway/src/main/resources/bootstrap.yml | 14 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 8 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java | 17 ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml | 8 ruoyi-auth/src/main/resources/bootstrap.yml | 8 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityDateMemberTotalVo.java | 23 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 258 +++++++++++++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/staff/StaffActivityController.java | 43 ++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java | 11 ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml | 2 ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml | 8 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java | 4 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java | 3 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityTotalVo.java | 28 + ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml | 8 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java | 11 ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml | 8 ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml | 8 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml | 5 43 files changed, 912 insertions(+), 93 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java index fa576f5..d32ef24 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java @@ -12,6 +12,10 @@ String USER_NOT_LOGIN = "用户没有登录或登录已失效"; + String USER_NO_SHOP = "用户没有关联商户"; + + String USER_NO_SYSTEM = "员工没有录入系统"; + String MOBILE_USER_DOUBLE = "手机号已创建用户,请直接登录"; String MOBILE_DOUBLE = "手机号已被占用"; @@ -91,4 +95,6 @@ String DOUBLE_INTEGRAL_TASK = "任务已完成,请勿重复提交"; String ACTIVITY_TIME_ERROR = "只能选择大于当前时间作为开始时间"; + + String TRANS_NOT_MYSELF = "不能转移给自己"; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffTotalDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffTotalDto.java new file mode 100644 index 0000000..0e8d002 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/StaffTotalDto.java @@ -0,0 +1,34 @@ +package com.ruoyi.system.api.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName StaffTotalDto + * @Description TODO + * @Author jqs + * @Date 2023/7/17 14:28 + * @Version 1.0 + */ +@Data +public class StaffTotalDto extends StaffBaseDto{ + + + @ApiModelProperty(value = "商户id") + private Long shopId; + + @ApiModelProperty(value = "活动id") + private String activityId; + + @ApiModelProperty(value = "开始日期") + private String startDate; + + @ApiModelProperty(value = "结束日期") + private String endDate; + + @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") + private Integer goodsType; + + @ApiModelProperty(value = "年龄层",hidden = true) + private Integer ageType; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java index 98b2123..a64c9c4 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java @@ -46,4 +46,7 @@ @ApiModelProperty(value="关联商品ids") private String relGoodsIds; + + @ApiModelProperty(value="是否使用0否1是") + private Integer useFlag; } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java index 0ca7174..6c749ca 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java @@ -1,8 +1,11 @@ package com.ruoyi.auth.controller; +import com.alibaba.fastjson.JSONObject; import com.ruoyi.auth.service.QywxInnerService; import com.ruoyi.auth.service.SysLoginService; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.system.api.model.*; import io.swagger.annotations.Api; @@ -62,9 +65,12 @@ //JSONObject result = qywxInnerService.getOauthUser(code); //QwUserDetailDto qwUserDetail = JSONObject.parseObject(result.toJSONString(), QwUserDetailDto.class); QwUserDetailDto qwUserDetail = new QwUserDetailDto(); - qwUserDetail.setMobile("13882237106"); + qwUserDetail.setMobile("17780704874"); + if(StringUtils.isBlank(qwUserDetail.getMobile())){ + throw new ServiceException("企业微信未授权手机号,无法登录"); + } // 1、查数据库获取人员 - QwH5LoginVo qwH5LoginVo = sysLoginService.qwH5Login(qwUserDetail); + QwH5LoginVo qwH5LoginVo = sysLoginService.qwH5StaffLogin(qwUserDetail); // 2、生成Token return R.ok(tokenService.createQwH5Token(qwH5LoginVo)); } @@ -73,12 +79,15 @@ @ApiOperation("通过code获取商户端用户登录") public R<OauthUserVo> oauthUser(@ApiParam(value = "成员授权获取到的code", required = true) @RequestParam("code") String code) throws IOException { // 通过code获取访问用户敏感信息 - //JSONObject result = qywxInnerService.getOauthUser(code); - //QwUserDetailDto qwUserDetail = JSONObject.parseObject(result.toJSONString(), QwUserDetailDto.class); - QwUserDetailDto qwUserDetail = new QwUserDetailDto(); - qwUserDetail.setMobile("13882237106"); + JSONObject result = qywxInnerService.getOauthUser(code); + QwUserDetailDto qwUserDetail = JSONObject.parseObject(result.toJSONString(), QwUserDetailDto.class); + if(StringUtils.isBlank(qwUserDetail.getMobile())){ + throw new ServiceException("企业微信未授权手机号,无法登录"); + } + //QwUserDetailDto qwUserDetail = new QwUserDetailDto(); + //qwUserDetail.setMobile("13882237106"); // 1、查数据库获取人员 - QwH5LoginVo qwH5LoginVo = sysLoginService.qwH5StaffLogin(qwUserDetail); + QwH5LoginVo qwH5LoginVo = sysLoginService.qwH5Login(qwUserDetail); // 2、生成Token return R.ok(tokenService.createQwH5Token(qwH5LoginVo)); } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java index eab02d3..7e2954f 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/QywxInnerService.java @@ -1,7 +1,6 @@ package com.ruoyi.auth.service; import com.alibaba.fastjson.JSONObject; -import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; import com.ruoyi.auth.config.QywxInnerConfig; import com.ruoyi.auth.utils.RestUtils; import com.ruoyi.common.core.constant.Constants; @@ -9,20 +8,14 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.system.api.model.AgentConfigVo; import org.apache.commons.codec.binary.Hex; -import org.apache.commons.lang3.ObjectUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.cache.RedisCache; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.util.Calendar; -import java.util.HashMap; -import java.util.Map; import java.util.concurrent.TimeUnit; @Service @@ -121,7 +114,6 @@ } logger.info("----------------userinfo detail -------------"); logger.info(detailResponse.toString()); - return detailResponse; } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index c527bee..2c46dad 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -12,6 +12,7 @@ import com.ruoyi.common.core.utils.ip.IpUtils; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo; @@ -137,12 +138,12 @@ if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) { recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除",Constants.FROM_MINI_APP); - throw new ServiceException("对不起,您的账号:" + username + " 已被删除"); + throw new ServiceException("对不起,您的账号: 已被删除"); } if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员",Constants.FROM_MINI_APP); - throw new ServiceException("对不起,您的账号:" + username + " 已停用"); + throw new ServiceException("对不起,您的账号: 已停用"); } recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功",Constants.FROM_MINI_APP); } @@ -176,12 +177,12 @@ if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) { recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除",Constants.FROM_MINI_APP); - throw new ServiceException("对不起,您的账号:" + username + " 已被删除"); + throw new ServiceException("对不起,您的账号: 已被删除"); } if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员",Constants.FROM_MINI_APP); - throw new ServiceException("对不起,您的账号:" + username + " 已停用"); + throw new ServiceException("对不起,您的账号: 已停用"); } recordLogService.recordLogininfor(username, Constants.LOGIN_SUCCESS, "登录成功",Constants.FROM_MINI_APP); } @@ -195,6 +196,9 @@ { // 查询用户信息 R<QwH5LoginVo> userResult = remoteShopService.qwH5Login(qwUserDetail); + if(userResult==null){ + throw new ServiceException(AppErrorConstant.USER_NO_SHOP); + } if (R.FAIL == userResult.getCode()) { throw new ServiceException(userResult.getMsg()); @@ -239,7 +243,10 @@ public QwH5LoginVo qwH5StaffLogin(QwUserDetailDto qwUserDetail) { // 查询用户信息 - R<QwH5LoginVo> userResult = remoteShopService.qwH5Login(qwUserDetail); + R<QwH5LoginVo> userResult = remoteUserService.qwH5StaffLogin(qwUserDetail); + if(userResult==null){ + throw new ServiceException(AppErrorConstant.USER_NO_SHOP); + } if (R.FAIL == userResult.getCode()) { throw new ServiceException(userResult.getMsg()); diff --git a/ruoyi-auth/src/main/resources/bootstrap.yml b/ruoyi-auth/src/main/resources/bootstrap.yml index 2f5a770..650d4e1 100644 --- a/ruoyi-auth/src/main/resources/bootstrap.yml +++ b/ruoyi-auth/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-gateway/src/main/resources/bootstrap.yml b/ruoyi-gateway/src/main/resources/bootstrap.yml index 4a64425..f6fe55b 100644 --- a/ruoyi-gateway/src/main/resources/bootstrap.yml +++ b/ruoyi-gateway/src/main/resources/bootstrap.yml @@ -13,13 +13,13 @@ cloud: nacos: discovery: - # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + # 服务注册地址cd ../a + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 @@ -35,8 +35,8 @@ datasource: ds1: nacos: - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 dataId: sentinel-ruoyi-gateway groupId: DEFAULT_GROUP data-type: json diff --git a/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml index 423911f..3345a04 100644 --- a/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml @@ -8,6 +8,7 @@ multipart: max-file-size: 100MB max-request-size: 200MB + location: /data/tmp application: # 应用名称 name: ruoyi-file @@ -18,12 +19,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml index 1367b5d..c1065bc 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/staff/StaffActivityController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/staff/StaffActivityController.java new file mode 100644 index 0000000..26842a2 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/staff/StaffActivityController.java @@ -0,0 +1,43 @@ +package com.ruoyi.goods.controller.staff; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.goods.domain.dto.StaffActivityListDto; +import com.ruoyi.goods.domain.vo.MgtActivityListVo; +import com.ruoyi.goods.service.activity.ActivityService; +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; + +/** + * @ClassName StaffActivityController + * @Description TODO + * @Author jqs + * @Date 2023/7/17 14:40 + * @Version 1.0 + */ +@Api(value = "员工端活动相关接口", tags = "员工端活动相关接口", description = "员工端活动相关接口") +@RestController +@RequestMapping("/staff/activity") +public class StaffActivityController { + + @Resource + private ActivityService activityService; + + @RequestMapping(value = "/listStaffActivity", method = RequestMethod.POST) + @ApiOperation(value = "获取活动列表") + public R<List<MgtActivityListVo>> listStaffActivity(@RequestBody StaffActivityListDto staffActivityListDto) { + + List<MgtActivityListVo> activityListVoList = activityService.listStaffActivity(staffActivityListDto); + return R.ok(activityListVoList); + } + + + + +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/StaffActivityListDto.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/StaffActivityListDto.java new file mode 100644 index 0000000..6318334 --- /dev/null +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/StaffActivityListDto.java @@ -0,0 +1,21 @@ +package com.ruoyi.goods.domain.dto; + +import com.ruoyi.system.api.domain.dto.StaffBaseDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName StaffActivityListDto + * @Description TODO + * @Author jqs + * @Date 2023/7/17 14:42 + * @Version 1.0 + */ +@Data +public class StaffActivityListDto extends StaffBaseDto { + + + @ApiModelProperty(value = "活动类型1秒杀") + private Integer activityType; + +} diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java index 1cd14ff..151a983 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.goods.domain.dto.MgtActivityPageDto; import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto; +import com.ruoyi.goods.domain.dto.StaffActivityListDto; import com.ruoyi.goods.domain.pojo.activity.Activity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.goods.domain.vo.*; @@ -108,4 +109,14 @@ * @return Integer */ Integer checkSellOut(@Param("activityId")String activityId); + + + /** + * @description 获取活动列表 + * @author jqs + * @date 2023/7/17 14:46 + * @param staffActivityListDto + * @return List<MgtActivityListVo> + */ + List<MgtActivityListVo> listStaffActivity(@Param("param")StaffActivityListDto staffActivityListDto); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java index f044207..f5a7c03 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java @@ -5,6 +5,7 @@ import com.ruoyi.goods.domain.dto.MgtActivityEditDto; import com.ruoyi.goods.domain.dto.MgtActivityPageDto; import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto; +import com.ruoyi.goods.domain.dto.StaffActivityListDto; import com.ruoyi.goods.domain.pojo.activity.Activity; import com.ruoyi.goods.domain.vo.*; import com.ruoyi.system.api.domain.dto.AGStockChangeDto; @@ -170,4 +171,14 @@ * @return void */ void changeActivityStock(AGStockChangeDto agStockChangeDto); + + + /** + * @description 获取活动列表 + * @author jqs + * @date 2023/7/17 14:46 + * @param staffActivityListDto + * @return List<MgtActivityListVo> + */ + List<MgtActivityListVo> listStaffActivity(StaffActivityListDto staffActivityListDto); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java index 584441d..f0095d6 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java @@ -9,10 +9,7 @@ import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.common.redis.service.RedisService; -import com.ruoyi.goods.domain.dto.MgtActivityEditDto; -import com.ruoyi.goods.domain.dto.MgtActivityGoodsEditDto; -import com.ruoyi.goods.domain.dto.MgtActivityPageDto; -import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto; +import com.ruoyi.goods.domain.dto.*; import com.ruoyi.goods.domain.pojo.activity.Activity; import com.ruoyi.goods.domain.pojo.activity.ActivityTotal; import com.ruoyi.goods.domain.vo.*; @@ -562,4 +559,16 @@ lock.unlock(); } } + + /** + * @description 获取活动列表 + * @author jqs + * @date 2023/7/17 14:46 + * @param staffActivityListDto + * @return List<MgtActivityListVo> + */ + @Override + public List<MgtActivityListVo> listStaffActivity(StaffActivityListDto staffActivityListDto){ + return activityMapper.listStaffActivity(staffActivityListDto); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml index 91e477e..b70af9b 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml index d9a39cf..f9f025d 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml @@ -157,4 +157,13 @@ SELECT COUNT(ag_id) FROM t_activity_goods WHERE del_flag = 0 AND activity_id = #{activityId} AND sell_out_flag = 0 </select> + + <select id="listStaffActivity" resultType="com.ruoyi.goods.domain.vo.MgtActivityListVo"> + SELECT + ta.activity_id activityId, + ta.activity_name activityName + FROM t_activity ta + WHERE ta.del_flag = 0 + ORDER BY ta.create_time DESC + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml index e2cda09..89bee3a 100644 --- a/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml index 58dc3e4..73eb18f 100644 --- a/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-member/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml index 1b9d21d..4489b5b 100644 --- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml @@ -969,13 +969,7 @@ <select id="listOrderAgeUser" resultType="java.lang.Long"> SELECT - IFNULL(SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END),0) manTotal, - IFNULL(SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END),0) womenTotal, - IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END),0) AS tenAge, - IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END),0) AS twentyAge, - IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END),0) AS ThirtyAge, - IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END),0) AS fortyAge, - IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END),0) AS fiftyAge + user_id FROM t_member WHERE del_flag = 0 AND binding_flag = 1 <if test="param.shopId != null and param.shopId != ''"> AND relation_shop_id = #{param.shopId} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/staff/StaffTotalController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/staff/StaffTotalController.java new file mode 100644 index 0000000..4eeac8a --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/staff/StaffTotalController.java @@ -0,0 +1,86 @@ +package com.ruoyi.order.controller.staff; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.order.domain.vo.*; +import com.ruoyi.order.service.order.OrderService; +import com.ruoyi.system.api.domain.dto.StaffTotalDto; +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; + +/** + * @ClassName StaffTotalContorller + * @Description TODO + * @Author jqs + * @Date 2023/7/17 14:15 + * @Version 1.0 + */ +@Api(value = "员工端统计相关接口", tags = "员工端统计相关接口", description = "员工端统计相关接口") +@RestController +@RequestMapping("/staff/total") +public class StaffTotalController { + + @Resource + private OrderService orderService; + + @RequestMapping(value = "/getStaffActivityOrderTotal", method = RequestMethod.POST) + @ApiOperation(value = "员工端获取订单概况") + public R<StaffActivityOrderTotalVo> getStaffActivityOrderTotal(@RequestBody StaffTotalDto staffTotalDto) { + Long userId = SecurityUtils.getUserId(); + staffTotalDto.setUserId(userId); + StaffActivityOrderTotalVo staffActivityOrderTotal = orderService.getStaffActivityOrderTotal(staffTotalDto); + return R.ok(staffActivityOrderTotal); + } + + @RequestMapping(value = "/getStaffActivityTotal", method = RequestMethod.POST) + @ApiOperation(value = "员工端获取活动统计") + public R<StaffActivityTotalVo> getStaffActivityTotal(@RequestBody StaffTotalDto staffTotalDto) { + Long userId = SecurityUtils.getUserId(); + staffTotalDto.setUserId(userId); + StaffActivityTotalVo staffActivityTotalVo = orderService.getStaffActivityTotal(staffTotalDto); + return R.ok(staffActivityTotalVo); + } + + @RequestMapping(value = "/getStaffOrderDistributionTotal", method = RequestMethod.POST) + @ApiOperation(value = "员工端获取订单分布统计") + public R<MerOrderDistributionTotalVo> getStaffOrderDistributionTotal(@RequestBody StaffTotalDto staffTotalDto) { + Long userId = SecurityUtils.getUserId(); + staffTotalDto.setUserId(userId); + MerOrderDistributionTotalVo orderTotalVo = orderService.getStaffOrderDistributionTotal(staffTotalDto); + return R.ok(orderTotalVo); + } + + @RequestMapping(value = "/getStaffOrderTypeTotal", method = RequestMethod.POST) + @ApiOperation(value = "员工端获取销售占比统计") + public R<MerOrderTypeTotalVo> getMerOrderTypeTotal(@RequestBody StaffTotalDto staffTotalDto) { + Long userId = SecurityUtils.getUserId(); + staffTotalDto.setUserId(userId); + MerOrderTypeTotalVo orderTotalVo = orderService.getStaffOrderTypeTotal(staffTotalDto); + return R.ok(orderTotalVo); + } + + + @RequestMapping(value = "/getStaffActivityGetMemberTotal", method = RequestMethod.POST) + @ApiOperation(value = "员工端获取获客人数") + public R<StaffActivityDateMemberTotalVo> getStaffActivityGetMemberTotal(@RequestBody StaffTotalDto staffTotalDto) { + Long userId = SecurityUtils.getUserId(); + staffTotalDto.setUserId(userId); + StaffActivityDateMemberTotalVo dateMemberTotalVo = orderService.getStaffActivityGetMemberTotal(staffTotalDto); + return R.ok(dateMemberTotalVo); + } + + @RequestMapping(value = "/getStaffActivityMemberTotal", method = RequestMethod.POST) + @ApiOperation(value = "员工端获取参与人数") + public R<StaffActivityDateMemberTotalVo> getStaffActivityMemberTotal(@RequestBody StaffTotalDto staffTotalDto) { + Long userId = SecurityUtils.getUserId(); + staffTotalDto.setUserId(userId); + StaffActivityDateMemberTotalVo dateMemberTotalVo = orderService.getStaffActivityMemberTotal(staffTotalDto); + return R.ok(dateMemberTotalVo); + } +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java index 23498a3..09b727a 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtPlTotalActivityTotalVo.java @@ -72,10 +72,10 @@ @ApiModelProperty(value = "活动次数排行") private List<MgtMapIntTotalVo> activityRankList; - @ApiModelProperty(value = "活动次数排行") + @ApiModelProperty(value = "商户活动销售额排名") private List<MgtMapBigTotalVo> shopSalesRankList; - @ApiModelProperty(value = "活动次数排行") + @ApiModelProperty(value = "活动销售额排名") private List<MgtMapBigTotalVo> activitySalesRankList; @ApiModelProperty(value = "活动年龄分布key") diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityDateMemberTotalVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityDateMemberTotalVo.java new file mode 100644 index 0000000..4361eaf --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityDateMemberTotalVo.java @@ -0,0 +1,23 @@ +package com.ruoyi.order.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName StaffActivityDateMemberTotalVo + * @Description TODO + * @Author jqs + * @Date 2023/7/17 18:39 + * @Version 1.0 + */ +@Data +public class StaffActivityDateMemberTotalVo { + + @ApiModelProperty(value = "活动人数key") + private String[] dateMemberTotalKey; + + @ApiModelProperty(value = "活动人数key") + private Integer[] dateMemberTotalValue; + + +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityOrderTotalVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityOrderTotalVo.java new file mode 100644 index 0000000..5f376ed --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityOrderTotalVo.java @@ -0,0 +1,36 @@ +package com.ruoyi.order.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @ClassName StaffActivityOrderTotalVo + * @Description TODO + * @Author jqs + * @Date 2023/7/17 15:15 + * @Version 1.0 + */ +@Data +public class StaffActivityOrderTotalVo { + + @ApiModelProperty(value = "总订单数") + private Integer orderTotal; + + @ApiModelProperty(value = "总订单金额") + private BigDecimal orderMoney; + + @ApiModelProperty(value = "周期订单数") + private Integer cycleTotal; + + @ApiModelProperty(value = "体验订单数") + private Integer experienceTotal; + + @ApiModelProperty(value = "服务订单数") + private Integer serviceTotal; + + @ApiModelProperty(value = "参与人数") + private Integer memberTotal; + +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityTotalVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityTotalVo.java new file mode 100644 index 0000000..38de203 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/StaffActivityTotalVo.java @@ -0,0 +1,28 @@ +package com.ruoyi.order.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName StaffActivityTotalVo + * @Description TODO + * @Author jqs + * @Date 2023/7/17 15:49 + * @Version 1.0 + */ +@Data +public class StaffActivityTotalVo { + + @ApiModelProperty(value = "总获客数") + private Integer memberTotal; + + @ApiModelProperty(value = "周期人数") + private Integer cycleTotal; + + @ApiModelProperty(value = "体验人数") + private Integer experienceTotal; + + @ApiModelProperty(value = "服务人数") + private Integer serviceTotal; + +} 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 55acdf9..bb4c29c 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 @@ -532,4 +532,62 @@ * @return Integer */ Integer countUserActivityByActivity(@Param("userId")Long userId, @Param("activityId")String activityId); + + + /** + * @description 员工端活动订单统计 + * @author jqs + * @date 2023/7/17 15:25 + * @param staffTotalDto + * @return StaffActivityOrderTotalVo + */ + StaffActivityOrderTotalVo getStaffActivityOrderTotal(@Param("param")StaffTotalDto staffTotalDto); + + /** + * @description 员工端活动统计 + * @author jqs + * @date 2023/7/17 15:51 + * @param staffTotalDto + * @return StaffActivityTotalVo + */ + StaffActivityTotalVo getStaffActivityTotal(@Param("param")StaffTotalDto staffTotalDto); + + + /** + * @description 获取各年龄层统计 + * @author jqs + * @date 2023/7/4 10:27 + * @param userIdList + * @return MgtMapTotalPlusVo + */ + MgtMapTotalPlusVo listStaffActivityOrderDistributionTotal(@Param("userIdList")List<Long> userIdList,@Param("shopId")Long shopId,@Param("activityId")String activityId); + + + /** + * @description 员工端活动统计销售占比 + * @author jqs + * @date 2023/7/17 17:05 + * @param staffTotalDto + * @return List<MgtMapTotalPlusVo> + */ + List<MgtMapTotalPlusVo> listStaffOrderTotalGoodsType(@Param("param")StaffTotalDto staffTotalDto); + + + /** + * @description 员工端获取活动获客人数 + * @author jqs + * @date 2023/7/17 18:44 + * @param staffTotalDto + * @return List<MgtMapIntTotalVo> + */ + List<MgtMapIntTotalVo> getStaffActivityGetMemberTotal(@Param("param")StaffTotalDto staffTotalDto); + + /** + * @description 员工端获取活动获客人数 + * @author jqs + * @date 2023/7/17 18:44 + * @param staffTotalDto + * @return List<MgtMapIntTotalVo> + */ + List<MgtMapIntTotalVo> getStaffActivityMemberTotal(@Param("param")StaffTotalDto staffTotalDto); } 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 6120b1d..97aeb2d 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 @@ -46,6 +46,8 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.function.Function; @@ -220,6 +222,9 @@ } } } + if(appMemberCouponVoList != null && !appMemberCouponVoList.isEmpty()){ + appSureOrderGoodsVo.setAppMemberCouponVoList(appMemberCouponVoList); + } appSureOrderGoodsVo.setUseCoupon(useCoupon); appSureOrderGoodsVo.setGoodsTotalPrice(goodsTotalPrice); appSureOrderGoodsVo.setCouponDiscount(discountMoney); @@ -238,6 +243,18 @@ } //处理优惠券列表 if (appMemberCouponVoList != null && !appMemberCouponVoList.isEmpty()) { + for (AppMemberCouponVo entity : appMemberCouponVoList) { + if(userCouponIdSet!=null&&userCouponIdSet.contains(entity.getMemberCouponId())){ + entity.setUseFlag(1); + }else{ + entity.setUseFlag(0); + } + } + for(AppSureOrderGoodsVo sureOrderGoodsVo : appSureOrderGoodsVoList) { + sureOrderGoodsVo.setAppMemberCouponVoList(appMemberCouponVoList); + } + } + /*if (appMemberCouponVoList != null && !appMemberCouponVoList.isEmpty()) { // 获取商品关联优惠券 appGoodsMemberCouponVoList = new ArrayList<>(); for(AppSureOrderGoodsVo sureOrderGoodsVo : appSureOrderGoodsVoList){ @@ -288,7 +305,7 @@ } sureOrderGoodsVo.setAppMemberCouponVoList(appGoodsMemberCouponVoList); } - } + }*/ // 设置订单相关金额 appSureOrderVo.setOrderGoodsMoney(orderGoodsMoney); appSureOrderVo.setCouponDiscount(couponDiscount); @@ -3236,4 +3253,243 @@ remoteActivityService.changeActivityTotal(activityTotalChangeDto); } } + + /** + * @description 员工端活动订单统计 + * @author jqs + * @date 2023/7/17 15:25 + * @param staffTotalDto + * @return StaffActivityOrderTotalVo + */ + @Override + public StaffActivityOrderTotalVo getStaffActivityOrderTotal(StaffTotalDto staffTotalDto){ + StaffActivityOrderTotalVo staffActivityOrderTotalVo = orderMapper.getStaffActivityOrderTotal(staffTotalDto); + return staffActivityOrderTotalVo; + } + + /** + * @description 员工端活动统计 + * @author jqs + * @date 2023/7/17 15:51 + * @param staffTotalDto + * @return StaffActivityTotalVo + */ + @Override + public StaffActivityTotalVo getStaffActivityTotal(StaffTotalDto staffTotalDto){ + StaffActivityTotalVo staffActivityTotalVo = orderMapper.getStaffActivityTotal(staffTotalDto); + return staffActivityTotalVo; + } + + /** + * @description 员工端活动统计订单分布 + * @author jqs + * @date 2023/7/17 16:16 + * @param staffTotalDto + * @return MerOrderDistributionTotalVo + */ + @Override + public MerOrderDistributionTotalVo getStaffOrderDistributionTotal(StaffTotalDto staffTotalDto){ + MerOrderDistributionTotalVo orderDistributionTotalVo = new MerOrderDistributionTotalVo(); + // 获取订单年龄用户列表 + MerTotalDto merTotalDto = new MerTotalDto(); + merTotalDto.setShopId(staffTotalDto.getShopId()); + List<MerOrderAgeUserVo> orderAgeUserVoList = remoteMemberService.listOrderAgeUser(merTotalDto).getData(); + // 如果订单年龄用户列表不为空 + if (orderAgeUserVoList != null && !orderAgeUserVoList.isEmpty()) { + // 定义变量 + Integer ageType; + List<Long> userIdList; + MerOrderAgeUserVo orderAgeUserVo; + MgtMapTotalPlusVo mgtMapTotalPlusVo; + String[] orderTotalKey = new String[5]; + Integer[] orderTotalValue = new Integer[5]; + BigDecimal[] orderMoneyValue = new BigDecimal[5]; + // 遍历订单年龄用户列表 + for (int i = 0; i < orderAgeUserVoList.size(); i++) { + orderAgeUserVo = orderAgeUserVoList.get(i); + ageType = orderAgeUserVo.getAgeType(); + userIdList = orderAgeUserVo.getUserIdList(); + // 根据年龄类型设置订单总数键 + switch (ageType) { + case 1: + orderTotalKey[i] = "<20"; + break; + case 2: + orderTotalKey[i] = "21-30"; + break; + case 3: + orderTotalKey[i] = "31-40"; + break; + case 4: + orderTotalKey[i] = "41-50"; + break; + case 5: + orderTotalKey[i] = ">50"; + break; + } + // 如果用户ID列表不为空 + if (userIdList != null && !userIdList.isEmpty()) { + mgtMapTotalPlusVo = orderMapper.listStaffActivityOrderDistributionTotal(userIdList,staffTotalDto.getShopId(),staffTotalDto.getActivityId()); + orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst(); + orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond(); + } else { + orderTotalValue[i] = 0; + orderMoneyValue[i] = BigDecimal.ZERO; + } + } + // 设置订单分布总数对象的属性值 + orderDistributionTotalVo.setOrderTotalKey(orderTotalKey); + orderDistributionTotalVo.setOrderTotalValue(orderTotalValue); + orderDistributionTotalVo.setOrderMoneyValue(orderMoneyValue); + } + // 返回订单分布总数对象 + return orderDistributionTotalVo; + } + + + /** + * @description 员工端活动统计销售占比 + * @author jqs + * @date 2023/7/17 17:03 + * @param staffTotalDto + * @return MerOrderTypeTotalVo + */ + @Override + public MerOrderTypeTotalVo getStaffOrderTypeTotal(StaffTotalDto staffTotalDto){ + MerOrderTypeTotalVo orderTypeTotalVo = new MerOrderTypeTotalVo(); + //获取商品分类销售数据 + List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listStaffOrderTotalGoodsType(staffTotalDto); + List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>(); + List<MgtMapBigTotalVo> goodsTypeMoneyList = new ArrayList<>(); + if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) { + MgtMapIntTotalVo MgtMapIntTotalVo; + MgtMapBigTotalVo mgtMapBigTotalVo; + // 遍历不同商品类型的会员数列表,设置商品类型数组和对应的会员数数组 + for (int i = 0; i < MgtMapIntTotalVoGoodsType.size(); i++) { + MgtMapIntTotalVo = new MgtMapIntTotalVo(); + mgtMapBigTotalVo = new MgtMapBigTotalVo(); + MgtMapIntTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueFirst()); + mgtMapBigTotalVo.setMapValue(MgtMapIntTotalVoGoodsType.get(i).getMapValueSecond()); + if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("1")) { + MgtMapIntTotalVo.setMapKey("周期"); + mgtMapBigTotalVo.setMapKey("周期"); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("2")) { + MgtMapIntTotalVo.setMapKey("服务"); + mgtMapBigTotalVo.setMapKey("服务"); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("3")) { + MgtMapIntTotalVo.setMapKey("体验"); + mgtMapBigTotalVo.setMapKey("体验"); + } else if (MgtMapIntTotalVoGoodsType.get(i).getMapKey().equals("4")) { + MgtMapIntTotalVo.setMapKey("单品"); + mgtMapBigTotalVo.setMapKey("单品"); + } + goodsTypeTotalList.add(MgtMapIntTotalVo); + goodsTypeMoneyList.add(mgtMapBigTotalVo); + } + orderTypeTotalVo.setGoodsTypeTotalList(goodsTypeTotalList); + orderTypeTotalVo.setGoodsTypeMoneyList(goodsTypeMoneyList); + } + return orderTypeTotalVo; + } + + /** + * @description 员工端获客人数 + * @author jqs + * @date 2023/7/17 18:42 + * @param staffTotalDto + * @return StaffActivityDateMemberTotalVo + */ + @Override + public StaffActivityDateMemberTotalVo getStaffActivityGetMemberTotal(StaffTotalDto staffTotalDto) { + // 创建返回对象 + StaffActivityDateMemberTotalVo staffActivityDateMemberTotalVo = new StaffActivityDateMemberTotalVo(); + // 查询数据库获取数据 + List<MgtMapIntTotalVo> mgtMapIntTotalVoList = orderMapper.getStaffActivityGetMemberTotal(staffTotalDto); + // 将查询结果转为Map + Map<String, Integer> map = new HashMap<>(); + if (mgtMapIntTotalVoList != null && !mgtMapIntTotalVoList.isEmpty()) { + map = mgtMapIntTotalVoList.stream() + .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue)); + } + // 获取日期范围 + List<String> dateList = getDateRange(staffTotalDto.getStartDate(), staffTotalDto.getEndDate()); + int size = dateList.size(); + // 创建日期和成员总数的数组 + String[] dateMemberTotalKey = new String[size]; + Integer[] dateMemberTotalValue = new Integer[size]; + // 遍历日期列表,设置日期和成员总数的数组 + String str; + Integer value; + for (int i = 0; i < size; i++) { + str = dateList.get(i); + dateMemberTotalKey[i] = str; + value = map.get(str); + dateMemberTotalValue[i] = (value != null) ? value : 0; + } + // 设置返回对象的日期和成员总数数组 + staffActivityDateMemberTotalVo.setDateMemberTotalKey(dateMemberTotalKey); + staffActivityDateMemberTotalVo.setDateMemberTotalValue(dateMemberTotalValue); + // 返回结果对象 + return staffActivityDateMemberTotalVo; + } + + /** + * @description 员工端获客人数 + * @author jqs + * @date 2023/7/17 18:42 + * @param staffTotalDto + * @return StaffActivityDateMemberTotalVo + */ + @Override + public StaffActivityDateMemberTotalVo getStaffActivityMemberTotal(StaffTotalDto staffTotalDto) { + // 创建返回对象 + StaffActivityDateMemberTotalVo staffActivityDateMemberTotalVo = new StaffActivityDateMemberTotalVo(); + // 查询数据库获取数据 + List<MgtMapIntTotalVo> mgtMapIntTotalVoList = orderMapper.getStaffActivityMemberTotal(staffTotalDto); + // 将查询结果转为Map + Map<String, Integer> map = new HashMap<>(); + if (mgtMapIntTotalVoList != null && !mgtMapIntTotalVoList.isEmpty()) { + map = mgtMapIntTotalVoList.stream() + .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue)); + } + // 获取日期范围 + List<String> dateList = getDateRange(staffTotalDto.getStartDate(), staffTotalDto.getEndDate()); + int size = dateList.size(); + // 创建日期和成员总数的数组 + String[] dateMemberTotalKey = new String[size]; + Integer[] dateMemberTotalValue = new Integer[size]; + // 遍历日期列表,设置日期和成员总数的数组 + String str; + Integer value; + for (int i = 0; i < size; i++) { + str = dateList.get(i); + dateMemberTotalKey[i] = str; + value = map.get(str); + dateMemberTotalValue[i] = (value != null) ? value : 0; + } + // 设置返回对象的日期和成员总数数组 + staffActivityDateMemberTotalVo.setDateMemberTotalKey(dateMemberTotalKey); + staffActivityDateMemberTotalVo.setDateMemberTotalValue(dateMemberTotalValue); + // 返回结果对象 + return staffActivityDateMemberTotalVo; + } + + /** + * @description 获取时间段日期 + * @author jqs + * @date 2023/7/17 19:11 + * @param startDate + * @param endDate + * @return List<String> + */ + public static List<String> getDateRange(String startDate, String endDate) { + List<String> dateList = new ArrayList<>(); + LocalDate start = LocalDate.parse(startDate); + LocalDate end = LocalDate.parse(endDate); + while (!start.isAfter(end)) { + dateList.add(start.format(DateTimeFormatter.ISO_DATE)); + start = start.plusDays(1); + } + return dateList; + } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java index 233b0fb..aeb0925 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java @@ -422,4 +422,60 @@ * @param orderId */ void refundOrder(String orderId); + + /** + * @description 员工端活动订单统计 + * @author jqs + * @date 2023/7/17 15:25 + * @param staffTotalDto + * @return StaffActivityOrderTotalVo + */ + StaffActivityOrderTotalVo getStaffActivityOrderTotal(StaffTotalDto staffTotalDto); + + + /** + * @description 员工端活动统计 + * @author jqs + * @date 2023/7/17 15:51 + * @param staffTotalDto + * @return StaffActivityTotalVo + */ + StaffActivityTotalVo getStaffActivityTotal(StaffTotalDto staffTotalDto); + + /** + * @description 员工端活动统计订单分布 + * @author jqs + * @date 2023/7/17 16:16 + * @param staffTotalDto + * @return MerOrderDistributionTotalVo + */ + MerOrderDistributionTotalVo getStaffOrderDistributionTotal(StaffTotalDto staffTotalDto); + + + /** + * @description 员工端活动统计销售占比 + * @author jqs + * @date 2023/7/17 17:03 + * @param staffTotalDto + * @return MerOrderTypeTotalVo + */ + MerOrderTypeTotalVo getStaffOrderTypeTotal(StaffTotalDto staffTotalDto); + + /** + * @description 员工端获客人数 + * @author jqs + * @date 2023/7/17 18:42 + * @param staffTotalDto + * @return StaffActivityDateMemberTotalVo + */ + StaffActivityDateMemberTotalVo getStaffActivityGetMemberTotal(StaffTotalDto staffTotalDto); + + /** + * @description 员工端获客人数 + * @author jqs + * @date 2023/7/17 18:42 + * @param staffTotalDto + * @return StaffActivityDateMemberTotalVo + */ + StaffActivityDateMemberTotalVo getStaffActivityMemberTotal(StaffTotalDto staffTotalDto); } diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml index 79ddc73..8db7a2e 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 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 65e6944..487cb03 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 @@ -311,7 +311,7 @@ toc.order_from orderFrom FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id - WHERE toc.del_flag = 0 + WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} <if test="param.memberUserId != null and param.memberUserId != ''"> AND toc.user_id = #{param.memberUserId} </if> @@ -1463,4 +1463,108 @@ FROM t_order WHERE del_flag = 0 AND order_from =2 AND user_id = #{userId} AND activity_id = #{activityId} AND order_status > 0 </select> + + <select id="getStaffActivityOrderTotal" resultType="com.ruoyi.order.domain.vo.StaffActivityOrderTotalVo"> + SELECT + COUNT(DISTINCT toc.order_id) orderTotal, + IFNULL(SUM(toc.order_money),0) orderMoney, + COUNT(DISTINCT toc.user_id) memberTotal, + IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN 1 ELSE 0 END),0) cycleTotal, + IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN 1 ELSE 0 END),0) experienceTotal, + IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN 1 ELSE 0 END),0) serviceTotal + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} AND toc.order_from = 2 + <if test="param.activityId !=null and param.activityId != ''"> + AND toc.activity_id = #{param.activityId} + </if> + <if test="param.startDate!=null and param.startDate!=''"> + AND toc.create_time >= #{param.startDate} + </if> + <if test="param.endDate!=null and param.endDate!=''"> + AND toc.create_time <= #{param.endDate} + </if> + </select> + + <select id="getStaffActivityTotal" resultType="com.ruoyi.order.domain.vo.StaffActivityTotalVo"> + SELECT + COUNT(toa.user_id) memberTotal, + IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN 1 ELSE 0 END),0) cycleTotal, + IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN 1 ELSE 0 END),0) experienceTotal, + IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN 1 ELSE 0 END),0) serviceTotal + FROM t_order toa + INNER JOIN t_order_goods tog ON tog.order_id = toa.order_id + WHERE toa.order_id IN + (SELECT firstOrder.orderId FROM + (SELECT toc.user_id userId, MIN(toc.create_time) createTime, MIN(toc.order_id) orderId + FROM t_order toc WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} GROUP BY toc.user_id) AS firstOrder) + AND toa.order_from = 2 + <if test="param.activityId !=null and param.activityId != ''"> + AND toc.activity_id = #{param.activityId} + </if> + </select> + + <select id="listStaffActivityOrderDistributionTotal" resultType="com.ruoyi.order.domain.vo.MgtMapTotalPlusVo"> + SELECT + COUNT(order_id) AS mapValueFirst, + IFNULL(SUM(order_money),0) AS mapValueSecond + FROM t_order + WHERE del_flag = 0 AND shop_id = #{shopId} AND order_from = 2 AND user_id IN + <foreach collection="userIdList" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + <if test="activityId !=null and activityId != ''"> + AND activity_id = #{activityId} + </if> + </select> + + <select id="listStaffOrderTotalGoodsType" resultType="com.ruoyi.order.domain.vo.MgtMapTotalPlusVo"> + SELECT + tog.goods_type mapKey, + COUNT(DISTINCT toc.order_id) AS mapValueFirst, + IFNULL(SUM(tog.goods_total_money),0) AS mapValueSecond + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} AND toc.order_from = 2 + <if test="param.activityId !=null and param.activityId != ''"> + AND toc.activity_id = #{param.activityId} + </if> + GROUP BY tog.goods_type + </select> + + <select id="getStaffActivityGetMemberTotal" resultType="com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo"> + SELECT + DATE(toc.create_time) AS mapKey, + COUNT(DISTINCT toc.user_id) AS mapValue + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.order_id IN + (SELECT firstOrder.orderId FROM + (SELECT toa.user_id userId, MIN(toa.create_time) createTime, MIN(toa.order_id) orderId + FROM t_order toa WHERE toa.del_flag = 0 AND toa.shop_id = #{param.shopId} GROUP BY toa.user_id) AS firstOrder) + AND toc.order_from = 2 + <if test="param.activityId !=null and param.activityId != ''"> + AND toc.activity_id = #{param.activityId} + </if> + <if test="param.goodsType !=null and param.goodsType != ''"> + AND tog.goods_type = #{param.goodsType} + </if> + GROUP BY toc.order_date + </select> + + <select id="getStaffActivityMemberTotal" resultType="com.ruoyi.system.api.domain.vo.MgtMapIntTotalVo"> + SELECT + DATE(toc.create_time) AS mapKey, + COUNT(DISTINCT toc.user_id) AS mapValue + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 AND toc.shop_id = #{param.shopId} AND toc.order_from = 2 + <if test="param.activityId !=null and param.activityId != ''"> + AND toc.activity_id = #{param.activityId} + </if> + <if test="param.goodsType !=null and param.goodsType != ''"> + AND tog.goods_type = #{param.goodsType} + </if> + GROUP BY toc.order_date + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java index 77213f8..bb5cf8e 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java @@ -7,6 +7,7 @@ import com.ruoyi.shop.service.shop.*; import com.ruoyi.shop.service.task.MemberTaskService; import com.ruoyi.shop.service.task.ShopTaskService; +import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; import com.ruoyi.system.api.domain.dto.MgtBasePlatformDto; import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto; @@ -71,6 +72,9 @@ { String mobile = qwUserDetail.getMobile(); ShopStaff shopStaff = shopStaffService.getByMobile(mobile); + if(shopStaff==null){ + throw new ServiceException(AppErrorConstant.USER_NO_SHOP); + } Long userId = shopStaff.getUserId(); SysUser sysUser = remoteUserService.getSysUser(userId).getData(); Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户")); @@ -280,4 +284,6 @@ } return R.ok(marketingStatus); } + + } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopInfoVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopInfoVo.java index 67deace..c1cba5f 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopInfoVo.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopInfoVo.java @@ -19,6 +19,9 @@ @ApiModelProperty(value = "商户id") private Long shopId; + @ApiModelProperty(value="商户编号") + private String shopNumber; + @ApiModelProperty(value="商户名称") private String shopName; diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java index 708da88..e3ae743 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/StaffShopTaskPageVo.java @@ -25,6 +25,9 @@ @ApiModelProperty(value="任务内容") private String taskContent; + @ApiModelProperty(value="任务标题") + private String taskTitle; + @ApiModelProperty(value="紧急情况") private String emergencyState; 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 1eb0023..eeeacc4 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 @@ -10,7 +10,6 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; -import com.ruoyi.common.security.utils.CodeFactoryUtil; import com.ruoyi.shop.domain.dto.*; import com.ruoyi.shop.domain.pojo.shop.*; import com.ruoyi.shop.domain.pojo.task.ShopFile; @@ -213,10 +212,10 @@ shop.setShopDetail(shopDetail); } //商户编号 - if(mgtEditShopDto.getShopId()==null){ + /*if(mgtEditShopDto.getShopId()==null){ String shopNo = CodeFactoryUtil.getShopNo(); shop.setShopNumber(shopNo); - } + }*/ this.saveOrUpdate(shop); //商户标签 String shopTagIds = mgtEditShopDto.getShopTagIds(); @@ -634,6 +633,9 @@ public void transferMgtShop(MgtTransferShopDto mgtTransferShopDto){ Shop shop = this.getByShopId(mgtTransferShopDto.getShopId()); if(shop.getBelongUserId()!=null){ + if(shop.getBelongUserId().equals(mgtTransferShopDto.getUserId())){ + throw new ServiceException(AppErrorConstant.TRANS_NOT_MYSELF); + } ShopTransferRecord shopTransferRecord = new ShopTransferRecord(); shopTransferRecord.setDelFlag(0); shopTransferRecord.setShopId(shop.getShopId()); diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java index f535117..7e77dca 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java @@ -159,9 +159,11 @@ for(StaffShopTaskPageVo staffShopTaskPageVo : shopTaskPageVoList){ //获取任务用户信息 userId = staffShopTaskPageVo.getUserId(); - sysUser = remoteUserService.getSysUser(userId).getData(); - staffShopTaskPageVo.setUserName(sysUser.getNickName()); - staffShopTaskPageVo.setUserPicture(sysUser.getAvatar()); + if(userId!=null){ + sysUser = remoteUserService.getSysUser(userId).getData(); + staffShopTaskPageVo.setUserName(sysUser.getNickName()); + staffShopTaskPageVo.setUserPicture(sysUser.getAvatar()); + } } } return shopTaskPageVoList; diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml index 5e8dd18..def416e 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml index ead6951..de49d74 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskMapper.xml @@ -106,13 +106,14 @@ tst.task_id taskId, tst.task_date taskDate, tst.follow_content taskContent, + tst.task_title taskTitle, tst.emergency_state emergencyState, CASE WHEN tst.task_date = DATE(now()) THEN 1 ELSE 0 END todayFlag, tstr.user_id userId, tstr.create_time followTime FROM t_shop_task tst - LEFT JOIN t_shop_task_record tstr ON tstr.task_id = tst.task_id - WHERE tst.del_flag = 0 AND tst.shop_id = #{param.shopId} AND tstr.id = (SELECT MAX(id) FROM t_shop_task_record WHERE task_id = tst.task_id) + LEFT JOIN t_shop_task_record tstr ON tstr.task_id = tst.task_id AND tstr.id = (SELECT MAX(id) FROM t_shop_task_record WHERE task_id = tst.task_id) + WHERE tst.del_flag = 0 AND tst.shop_id = #{param.shopId} <if test="param.taskStatus!=null and param.taskStatus != ''"> AND tst.task_status = #{param.taskStatus} </if> 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 02d824b..7f65a81 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 @@ -12,6 +12,7 @@ import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.AppEditUserDto; import com.ruoyi.system.api.domain.poji.sys.SysDept; import com.ruoyi.system.api.domain.poji.sys.SysRole; @@ -438,6 +439,9 @@ { String mobile = qwUserDetail.getMobile(); SysStaff sysStaff = sysStaffService.getByMobile(mobile); + if(sysStaff==null){ + throw new ServiceException(AppErrorConstant.USER_NO_SYSTEM); + } Long userId = sysStaff.getUserId(); SysUser sysUser = userService.selectUserById(userId); Optional.ofNullable(sysUser).orElseThrow(() -> new ServiceException("登录失败,未查询到用户")); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java index 8e8b95f..4033b05 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java @@ -163,6 +163,7 @@ Long userId = Long.valueOf(mgtBaseGetDto.getId()); SysStaff sysStaff = this.getByUserId(userId); sysStaff.setDelFlag(1); + sysStaff.setStaffMobile(sysStaff.getStaffMobile()+":已删除"); this.saveOrUpdate(sysStaff); sysUserService.deleteUserById(mgtBaseGetDto.getUserId()); } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml index 0cd36c2..a310a03 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml index 98735e3..294de11 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml @@ -53,7 +53,7 @@ </if> </select> - <select id="pageMerShopSuggest" resultType="com.ruoyi.shop.domain.vo.MerShopSuggestVo"> + <select id="pageMerShopSuggest" resultType="com.ruoyi.system.domain.vo.StaffSuggestPageVo"> SELECT suggest_content suggestContent, replay_content replayContent, diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml index 5586114..7498213 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml @@ -213,11 +213,11 @@ </update> <delete id="deleteUserById" parameterType="Long"> - update sys_user set del_flag = '2' where user_id = #{userId} + update sys_user set del_flag = '2',user_name CONCAT(user_name,":已删除") where user_id = #{userId} </delete> <delete id="deleteUserByIds" parameterType="Long"> - update sys_user set del_flag = '2' where user_id in + update sys_user set del_flag = '2',user_name CONCAT(user_name,":已删除") where user_id in <foreach collection="array" item="userId" open="(" separator="," close=")"> #{userId} </foreach> diff --git a/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml b/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml index f9c405e..16510ce 100644 --- a/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml +++ b/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml @@ -14,12 +14,12 @@ nacos: discovery: # 服务注册地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 47.109.78.184:5000 - #server-addr: 127.0.0.1:8848 + #server-addr: 47.109.78.184:5000 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 -- Gitblit v1.7.1