From b4882b114f082e010d4cc3359d78d18095ef3b83 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期一, 26 六月 2023 19:49:38 +0800 Subject: [PATCH] 商户端和管理台联调bug --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java | 8 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java | 58 +++++ ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml | 4 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java | 2 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java | 7 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java | 32 +++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java | 8 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java | 3 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java | 4 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java | 9 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java | 11 + ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml | 9 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java | 26 ++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java | 4 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java | 6 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml | 46 ++++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java | 2 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml | 4 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java | 14 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java | 21 ++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java | 2 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java | 9 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java | 34 +++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java | 10 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java | 3 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java | 1 ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml | 8 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java | 3 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 71 +++++++ ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml | 7 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java | 5 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 8 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java | 16 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java | 13 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java | 1 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java | 2 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java | 9 + ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java | 18 + ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java | 7 ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml | 8 44 files changed, 466 insertions(+), 55 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 20eaa24..461600f 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 @@ -55,4 +55,12 @@ String COUPON_AUDIT_DOUBLE = "优惠券已被其他员工审核"; String COOPERATION_TIME_ERROR = "未在合作时间内"; + + String COUPON_NO_FIND = "未找到优惠券"; + + String COUPON_EXPIRED = "优惠券已过期"; + + String COUPON_USED = "优惠券已被核销"; + + String COUPON_TYPE_ERROR = "只能核销商品优惠券"; } 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 215a930..7a6572b 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 @@ -1,6 +1,5 @@ package com.ruoyi.system.api.domain.vo; -import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -18,7 +17,7 @@ public class AppMemberCouponVo { @ApiModelProperty(value = "优惠券id") - private Long memberCouponId; + private String memberCouponId; @ApiModelProperty(value = "商品id") diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java new file mode 100644 index 0000000..3acf9e2 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java @@ -0,0 +1,26 @@ +package com.ruoyi.system.api.domain.vo; + +import com.ruoyi.system.api.domain.poji.goods.Goods; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @ClassName MerVerifyCouponGetVo + * @Description TODO + * @Author jqs + * @Date 2023/6/26 17:22 + * @Version 1.0 + */ +@Data +public class MerVerifyCouponGetVo { + + + @ApiModelProperty(value = "用户id") + private Long userId; + + @ApiModelProperty(value = "商品列表") + private List<Goods> goodsList; + +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java index 33fdbc4..ca53c50 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java @@ -77,6 +77,6 @@ * @param mgtBaseBathDto * @return R<List<MgtSysSimpleUserVo>> */ - @PostMapping("/listSimpleUserVo") + @PostMapping("/config/listSimpleUserVo") public R<List<MgtSysSimpleUserVo>> listSimpleUserVo(@RequestBody MgtBaseBathDto mgtBaseBathDto); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java index c0967e6..eea6331 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java @@ -144,7 +144,7 @@ * @param shopIdlist * @return R<List<Long>> */ - @PostMapping("/listUserIdByShopId") + @PostMapping("/member/listUserIdByShopId") public R<List<Long>> listUserIdByShopId(@RequestBody List<Long> shopIdlist); /** @@ -154,6 +154,6 @@ * @param shopIdlist * @return R<MgtShopTotalMemberVo> */ - @PostMapping("/getUserTotalByShopId") + @PostMapping("/member/getUserTotalByShopId") public R<MgtShopTotalMemberVo> getUserTotalByShopId(@RequestBody List<Long> shopIdlist); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java index 89ef702..c132b46 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java @@ -88,6 +88,6 @@ * @author jqs34 * @date 2023/6/23 14:12 */ - @PostMapping("/listShopIdByPlTotal") + @PostMapping("/shop/listShopIdByPlTotal") public R<List<Long>> listShopIdByPlTotal(@RequestBody MgtBasePlatformDto mgtBasePlatformDto); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java index ab9101f..7f30beb 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java @@ -247,4 +247,11 @@ MgtShopTotalMemberVo shopTotalMemberVo = memberService.getUserTotalByShopId(shopIdlist); return R.ok(shopTotalMemberVo); } + + @PostMapping("/getVerifyCoupon") + public R getVerifyCoupon(@RequestBody String verifyCoupon) + { + memberCouponService.verifyCoupon(verifyCoupon); + return R.ok(); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java index 4da3020..e2b6a66 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java @@ -24,7 +24,7 @@ * @Date 2023/6/13 9:15 * @Version 1.0 */ -@Api(value = "平台端配置相关接口", tags = "平台端配置相关接口", description = "平台端配置相关接口") +@Api(value = "平台端优惠券相关接口", tags = "平台端优惠券相关接口", description = "平台端优惠券相关接口") @RestController @RequestMapping("/mgt/coupon") public class MgtCouponController { diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java index ce1892e..c369065 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java @@ -1,7 +1,6 @@ package com.ruoyi.member.domain.pojo.member; import com.baomidou.mybatisplus.activerecord.Model; -import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -29,8 +28,8 @@ private static final long serialVersionUID = 1L; - @TableId(value = "id", type = IdType.AUTO) - private Long id; + @TableId(value = "id") + private String id; /** * 删除标记 */ diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java index 2002382..44c92d5 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java @@ -320,8 +320,11 @@ List<MemberCoupon> memberCouponList = new ArrayList<>(); MemberCoupon memberCoupon; Integer sendTotal = 0; + String memberCouponId; for(Long userId : userIdList){ + memberCouponId = IdUtils.simpleUUID(); memberCoupon = new MemberCoupon(); + memberCoupon.setId(memberCouponId); memberCoupon.setDelFlag(0); memberCoupon.setCouponId(coupon.getCouponId()); memberCoupon.setUserId(userId); diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java index f2dd1c1..74ff39c 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java @@ -1,13 +1,16 @@ package com.ruoyi.member.service.impl.member; +import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.member.domain.pojo.member.MemberCoupon; import com.ruoyi.member.mapper.member.MemberCouponMapper; import com.ruoyi.member.service.member.MemberCouponService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.vo.AppMemberCouponVo; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; import java.util.List; /** @@ -35,4 +38,33 @@ List<AppMemberCouponVo> appMemberCouponVoList = memberCouponMapper.listVoMemberCouponByUserId(userId); return appMemberCouponVoList; } + + /** + * @description 核销优惠券 + * @author jqs + * @date 2023/6/26 17:02 + * @param verifyCoupon + * @return void + */ + @Override + public void verifyCoupon(String verifyCoupon){ + MemberCoupon memberCoupon = this.getById(verifyCoupon); + if(memberCoupon==null){ + throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); + } + if(memberCoupon.getCouponStatus()==0){ + throw new ServiceException(AppErrorConstant.COUPON_EXPIRED); + }else if(memberCoupon.getCouponStatus()==2){ + throw new ServiceException(AppErrorConstant.COUPON_USED); + }else if(memberCoupon.getCouponStatus()!=0){ + throw new ServiceException(AppErrorConstant.COUPON_NO_FIND); + } + if(memberCoupon.getCouponType()!=4){ + throw new ServiceException(AppErrorConstant.COUPON_TYPE_ERROR); + } + //更新优惠券为已使用 + memberCoupon.setCouponStatus(2); + memberCoupon.setUseTime(new Date()); + this.saveOrUpdate(memberCoupon); + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java index 4cf368b..430d17e 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java @@ -23,4 +23,13 @@ * @version 1.0 */ List<AppMemberCouponVo> listVoMemberCouponByUserId(Long userId); + + /** + * @description 核销优惠券 + * @author jqs + * @date 2023/6/26 17:02 + * @param verifyCoupon + * @return void + */ + void verifyCoupon(String verifyCoupon); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java index b8c7168..d3e8a21 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java @@ -36,7 +36,6 @@ private OrderService orderService; - @RequestMapping(value = "/verifyCode", method = RequestMethod.POST) @ApiOperation(value = "核销code") public R<MerVerifyCodeVo> verifyCode(@RequestBody MerVerifyCodeDto merVerifyCodeDto) { diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java index 6c453ab..9290b65 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java @@ -23,6 +23,6 @@ private Integer buyNum; @ApiModelProperty(value = "用户优惠券id") - private Long memberCouponId; + private String memberCouponId; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java index 9838ae5..ec26c47 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java @@ -36,7 +36,7 @@ private Integer buyNum; @ApiModelProperty(value = "优惠券id") - private Long memberCouponId; + private String memberCouponId; @ApiModelProperty(value = "商品售价") private BigDecimal goodsPrice; 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 9f8b9bf..0ef8cb1 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 @@ -99,7 +99,7 @@ String goodsId; Integer buyNum; BigDecimal buyNumBig; - Long memberCouponId; + String memberCouponId; Goods goods; BigDecimal goodsPrice; BigDecimal goodsTotalPrice; @@ -224,7 +224,7 @@ BigDecimal buyNumBig; Integer serviceNum; Integer goodsNum = 0; - Long memberCouponId; + String memberCouponId; Goods goods; BigDecimal goodsPrice; BigDecimal goodsTotalPrice; @@ -707,7 +707,7 @@ BigDecimal buyNumBig; Integer serviceNum; Integer goodsNum = 0; - Long memberCouponId; + String memberCouponId; Goods goods; BigDecimal goodsPrice; BigDecimal goodsTotalPrice; @@ -715,7 +715,7 @@ Long shopId = merNewOrderDto.getShopId(); Shop shop = remoteShopService.getShop(shopId).getData(); List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData(); - Map<Long, AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>(); + Map<String, AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>(); if (null != appMemberCouponVoList) { appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java index 71fb7b2..3faacd8 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java @@ -247,4 +247,11 @@ MgtShopAuthGetVo shopAuthGetVo = shopService.getMgtShopAuth(mgtShopAuthGetDto.getAuthId()); return R.ok(shopAuthGetVo); } + + @RequestMapping(value = "/getMgtShopAuthCode", method = RequestMethod.POST) + @ApiOperation(value = "获取商户进件信息") + public R<MgtShopAuthCodeVo> getMgtShopAuthCode(@RequestBody MgtShopAuthGetDto mgtShopAuthGetDto) { + MgtShopAuthCodeVo mgtShopAuthCodeVo = shopService.getMgtShopAuthCode(mgtShopAuthGetDto.getAuthId()); + return R.ok(mgtShopAuthCodeVo); + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java index d3ef83c..92dbfbd 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java @@ -31,7 +31,7 @@ * 商户id */ @TableId("shop_id") - private Integer shopId; + private Long shopId; /** * 删除标记 */ @@ -46,12 +46,12 @@ * 总活动次数 */ @TableField("total_activity_count") - private String totalActivityCount; + private Integer totalActivityCount; /** * 总订单数 */ @TableField("total_order") - private String totalOrder; + private Integer totalOrder; /** * 总周期订单数 */ diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java new file mode 100644 index 0000000..e50f5cb --- /dev/null +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java @@ -0,0 +1,21 @@ +package com.ruoyi.shop.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName MgtShopAuthCodeVo + * @Description TODO + * @Author jqs + * @Date 2023/6/26 10:31 + * @Version 1.0 + */ +@Data +public class MgtShopAuthCodeVo { + + @ApiModelProperty(value = "签约链接") + private String signUrl; + + @ApiModelProperty(value = "法人验证链接") + private String legalValidationUrl; +} diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java index b7fb380..69ea74b 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java @@ -6,7 +6,6 @@ import com.ruoyi.shop.domain.pojo.task.MemberTask; import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo; import org.apache.ibatis.annotations.Param; -import org.springframework.web.bind.annotation.PostMapping; import java.util.List; @@ -27,4 +26,14 @@ * @return */ List<MerMemberTaskPageVo> pageMerMemberTask(Page page, @Param("param") MerMemberTaskPageDto merMemberTaskPageDto); + + + /** + * @description 获取进行中任务数 + * @author jqs + * @date 2023/6/26 13:45 + * @param shopId + * @return Integer + */ + Integer getMemberIngTotal(@Param("shopId")Long shopId); } 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 99fc8de..b4e2b45 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,11 +10,13 @@ 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.ShopTotal; import com.ruoyi.shop.domain.pojo.shop.*; import com.ruoyi.shop.domain.pojo.task.ShopFile; import com.ruoyi.shop.domain.vo.*; import com.ruoyi.shop.mapper.shop.ShopMapper; import com.ruoyi.shop.service.shop.*; +import com.ruoyi.shop.service.task.MemberTaskService; import com.ruoyi.shop.service.task.ShopFileService; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.*; @@ -90,6 +92,12 @@ @Resource private RemoteConfigService remoteConfigService; + @Resource + private ShopTotalService shopTotalService; + + @Resource + private MemberTaskService memberTaskService; + /** * 获取商户详情 * @param shopId @@ -133,6 +141,7 @@ public void createShop(MgtEditShopDto mgtEditShopDto){ Shop shop = new Shop(); Boolean newShop = false; + BigDecimal zeroBig = BigDecimal.ZERO; Shop shopSame = this.getOne(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag,0).eq(Shop::getShopName,mgtEditShopDto.getShopName())); if(mgtEditShopDto.getShopId()!=null){ if(shopSame!=null&&!Objects.equals(shopSame.getShopId(),mgtEditShopDto.getShopId())){ @@ -262,6 +271,41 @@ shopProportion.setUpdateTime(new Date()); shopProportion.setUpdateUserId(mgtEditShopDto.getUserId()); shopProportionService.save(shopProportion); + //商户统计 + ShopTotal shopTotal = new ShopTotal(); + shopTotal.setShopId(shop.getShopId()); + shopTotal.setDelFlag(0); + shopTotal.setLastPayMoney(zeroBig); + shopTotal.setTotalActivityCount(0); + shopTotal.setTotalOrder(0); + shopTotal.setTotalCycleOrder(0); + shopTotal.setToltaExperienceOrder(0); + shopTotal.setTotalServiceOrder(0); + shopTotal.setTotalGoodsOrder(0); + shopTotal.setTotalServiceCount(0); + shopTotal.setUsedServiceCount(0); + shopTotal.setUseableServiceCount(0); + shopTotal.setTotalCycleService(0); + shopTotal.setUsedCycleService(0); + shopTotal.setUseableCycleService(0); + shopTotal.setTotalCyclePerson(0); + shopTotal.setUseableCyclePerson(0); + shopTotal.setTotalServiceService(0); + shopTotal.setUsedServiceService(0); + shopTotal.setUseableServiceService(0); + shopTotal.setTotalServicePerson(0); + shopTotal.setUseableServicePerson(0); + shopTotal.setTotalExperienceService(0); + shopTotal.setUsedExperienceService(0); + shopTotal.setUseableExperienceService(0); + shopTotal.setTotalExperiencePerson(0); + shopTotal.setUseableExperiencePerson(0); + shopTotal.setTotalOrderMoney(zeroBig); + shopTotal.setTotalCycleMoney(zeroBig); + shopTotal.setTotalExperienceMoney(zeroBig); + shopTotal.setTotalServiceMoney(zeroBig); + shopTotal.setTotalGoodsMoney(zeroBig); + shopTotalService.save(shopTotal); } } @@ -542,7 +586,16 @@ Shop shop = this.getById(shopId); merHomeShopTotalVo.setShopType(shop.getShopType()); MerHomeShopTotalVo orderVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); - + ShopTotal shopTotal = shopTotalService.getById(shopId); + merHomeShopTotalVo.setShopId(shopId); + merHomeShopTotalVo.setShopType(shop.getShopType()); + merHomeShopTotalVo.setTodayShop(orderVo.getTodayShop()); + merHomeShopTotalVo.setUnHandleOrder(orderVo.getUnHandleOrder()); + Integer taskCount = memberTaskService.getMemberIngTotal(shopId); + merHomeShopTotalVo.setTask(taskCount); + merHomeShopTotalVo.setShopTurnover(orderVo.getShopTurnover()); + merHomeShopTotalVo.setCycleSurp(shopTotal.getUseableCyclePerson()); + merHomeShopTotalVo.setExplorationSurp(shopTotal.getUseableExperiencePerson()); return merHomeShopTotalVo; } @@ -840,4 +893,20 @@ BeanUtils.copyProperties(shopAuthentication, shopAuthGetVo); return shopAuthGetVo; } + + /** + * @description 获取商户验证信息 + * @author jqs + * @date 2023/6/26 10:38 + * @param authId + * @return MgtShopAuthCodeVo + */ + @Override + public MgtShopAuthCodeVo getMgtShopAuthCode(String authId){ + MgtShopAuthCodeVo mgtShopAuthCodeVo = new MgtShopAuthCodeVo(); + ShopAuthentication shopAuthentication = shopAuthenticationService.getById(authId); + mgtShopAuthCodeVo.setSignUrl(shopAuthentication.getSignUrl()); + mgtShopAuthCodeVo.setLegalValidationUrl(shopAuthentication.getLegalValidationUrl()); + return mgtShopAuthCodeVo; + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java index 429daf2..fed1213 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java @@ -162,4 +162,17 @@ this.saveOrUpdate(memberTask); } } + + /** + * @description 获取进行中任务数 + * @author jqs + * @date 2023/6/26 13:45 + * @param shopId + * @return Integer + */ + @Override + public Integer getMemberIngTotal(Long shopId) { + return memberTaskMapper.getMemberIngTotal(shopId); + } + } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java index 74ca3e7..4264236 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java @@ -215,4 +215,13 @@ * @return MgtShopAuthGetVo */ MgtShopAuthGetVo getMgtShopAuth(String authId); + + /** + * @description 获取商户验证信息 + * @author jqs + * @date 2023/6/26 10:38 + * @param authId + * @return MgtShopAuthCodeVo + */ + MgtShopAuthCodeVo getMgtShopAuthCode(String authId); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java index 2dfd768..b83e93d 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java @@ -40,4 +40,12 @@ */ void followMemberTask(MerFollowMemberTaskDto merFollowMemberTaskDto); + /** + * @description 获取进行中任务数 + * @author jqs + * @date 2023/6/26 13:45 + * @param shopId + * @return Integer + */ + Integer getMemberIngTotal(Long shopId); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml index 6b5dacb..d40b1ea 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml @@ -91,4 +91,11 @@ WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.user_id = #{param.memberUserId} ORDER BY todayFlag,task_date DESC </select> + + + <select id="getMemberIngTotal" resultType="java.lang.Integer"> + SELECT COUNT(task_id) + FROM t_member_task + WHERE del_flag = 0 AND task_status = 1 AND shop_id = #{shopId} AND task_date = DATE(NOW()) + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java index c8d2bc5..1604de4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java @@ -13,6 +13,8 @@ import java.util.List; +import static com.ruoyi.common.core.web.domain.AjaxResult.success; + /** * @ClassName StaffMenuController * @Description TODO @@ -34,7 +36,7 @@ { Long userId = SecurityUtils.getUserId(); List<SysMenu> menus = menuService.selectStaffMenuList(userId); - AjaxResult ajax = AjaxResult.success(); + AjaxResult ajax = success(); ajax.put("checkedKeys", menuService.selectStaffMenuListByDeptId(deptId)); ajax.put("menus", menuService.buildMenuTreeSelect(menus)); return ajax; @@ -46,11 +48,21 @@ public AjaxResult deptUserStaffMenuTreeselect(@PathVariable("deptUserId") Long deptUserId) { Long userId = SecurityUtils.getUserId(); - List<SysMenu> menus = menuService.selectStaffMenuList(userId); - AjaxResult ajax = AjaxResult.success(); + List<SysMenu> menus = menuService.selectStaffDeptMenuList(deptUserId); + AjaxResult ajax = success(); ajax.put("checkedKeys", menuService.selectStaffMenuListByDeptUserId(deptUserId)); ajax.put("menus", menuService.buildMenuTreeSelect(menus)); return ajax; } + /** + * 获取菜单下拉树列表 + */ + @GetMapping("/treedeptselect") + public AjaxResult treedeptselect(SysMenu menu) + { + Long userId = SecurityUtils.getUserId(); + List<SysMenu> menus = menuService.selectStaffMenuList(menu, userId); + return success(menuService.buildMenuTreeSelect(menus)); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java index 85a7bd0..d1002e9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java @@ -79,7 +79,7 @@ @ApiOperation(value = "加载对应部门菜单列表树") - @GetMapping(value = "/roleMenuTreeselect/{deptId}") + @GetMapping(value = "/deptMenuTreeselect/{deptId}") public AjaxResult deptMenuTreeselect(@PathVariable("deptId") Long deptId) { Long userId = SecurityUtils.getUserId(); @@ -96,7 +96,7 @@ public AjaxResult deptUserMenuTreeselect(@PathVariable("deptUserId") Long deptUserId) { Long userId = SecurityUtils.getUserId(); - List<SysMenu> menus = menuService.selectMenuList(userId); + List<SysMenu> menus = menuService.selectDeptMenuList(deptUserId); AjaxResult ajax = AjaxResult.success(); ajax.put("checkedKeys", menuService.selectMenuListByDeptUserId(deptUserId)); ajax.put("menus", menuService.buildMenuTreeSelect(menus)); 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 f034dda..c516332 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 @@ -18,6 +18,7 @@ import com.ruoyi.system.api.model.LoginUser; import com.ruoyi.system.domain.dto.UserMenuEditDto; import com.ruoyi.system.service.sys.*; +import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -374,6 +375,7 @@ return R.ok(); } + @ApiOperation(value = "修改用户权限") @PostMapping("/editUserMenu") public R editUserMenu(@RequestBody UserMenuEditDto userMenuEditDto){ userService.editUserMenu(userMenuEditDto); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java index 70cf63f..e1b5cd4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java @@ -21,7 +21,7 @@ * 用户id */ @ApiModelProperty(value = "用户id 新增不传") - private Long userId; + private Long sysUserId; /** * 员工姓名 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java index 3f1b091..a993b7a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java @@ -21,5 +21,6 @@ private Long[] staffMenuIds; + private String dataScope; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java index 366f85b..6421334 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java @@ -48,4 +48,7 @@ */ @ApiModelProperty(value = "负责人标记") private String headFlag; + + @ApiModelProperty(value = "数据权限范围") + private Integer dataScope; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java index 2a1e321..5b55b66 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java @@ -44,6 +44,32 @@ public List<SysMenu> selectMenuListByUserId(SysMenu menu); /** + * @description + * @author jqs + * @date 2023/6/26 15:16 + * @param deptId + * @return List<SysMenu> + */ + public List<SysMenu> selectDeptMenuList(@Param("deptId") Long deptId); + + /** + * @description + * @author jqs + * @date 2023/6/26 15:16 + * @param deptId + * @return List<SysMenu> + */ + public List<SysMenu> selectStaffDeptMenuList(@Param("deptId")Long deptId); + + /** + * 根据用户查询系统菜单列表 + * + * @param menu 菜单信息 + * @return 菜单列表 + */ + public List<SysMenu> selectMenuListByStaffUserId(SysMenu menu); + + /** * 根据用户查询系统菜单列表 * * @param menu 菜单信息 @@ -68,6 +94,14 @@ public List<String> selectMenuPermsByUserId(Long userId); /** + * 根据用户ID查询权限 + * + * @param userId 用户ID + * @return 权限列表 + */ + public List<String> selectMenuPermsByStaffUserId(Long userId); + + /** * 根据用户ID查询菜单 * * @return 菜单列表 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 c82f9cc..27ac5e0 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 @@ -58,7 +58,7 @@ */ @Override public List<MgtDeptStaffListVo>listMgtDeptStaffByPermission(Long userId){ - SysUser sysUser = sysUserService.getById(userId); + SysUser sysUser = sysUserService.selectUserById(userId); String dataScope = sysUser.getDataScope(); List<MgtDeptStaffListVo> deptStaffListVoList; if(dataScope.equals("4")){ @@ -98,15 +98,15 @@ public void mgtStaffEdit(MgtStaffEditDto mgtStaffEditDto){ SysStaff sysStaff; SysUser sysUser; - if(mgtStaffEditDto.getUserId()!=null){ - sysStaff = this.getByUserId(mgtStaffEditDto.getUserId()); - sysUser = sysUserService.getById(mgtStaffEditDto.getUserId()); + if(mgtStaffEditDto.getSysUserId()!=null){ + sysStaff = this.getByUserId(mgtStaffEditDto.getSysUserId()); + sysUser = sysUserService.selectUserById(mgtStaffEditDto.getSysUserId()); sysUser.setUserName(mgtStaffEditDto.getStaffMobile()); sysUser.setPhonenumber(mgtStaffEditDto.getStaffMobile()); sysUser.setNickName(mgtStaffEditDto.getStaffName()); sysUser.setAvatar(mgtStaffEditDto.getStaffAvatar()); sysUser.setEmail(mgtStaffEditDto.getStaffEmail()); - sysUserService.saveOrUpdate(sysUser); + sysUserService.updateOnlyUser(sysUser); }else{ sysStaff = new SysStaff(); String staffId = IdUtils.simpleUUID(); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java index fd8a9d1..c997c07 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java @@ -14,9 +14,10 @@ import com.ruoyi.system.mapper.sys.SysRoleMapper; import com.ruoyi.system.mapper.sys.SysRoleMenuMapper; import com.ruoyi.system.service.sys.ISysMenuService; -import org.springframework.beans.factory.annotation.Autowired; +import com.ruoyi.system.service.sys.ISysUserService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; @@ -30,14 +31,19 @@ { public static final String PREMISSION_STRING = "perms[\"{0}\"]"; - @Autowired + @Resource private SysMenuMapper menuMapper; - @Autowired + @Resource private SysRoleMapper roleMapper; - @Autowired + @Resource private SysRoleMenuMapper roleMenuMapper; + + @Resource + private ISysUserService sysUserService; + + /** * 根据用户查询系统菜单列表 @@ -50,6 +56,21 @@ { return selectMenuList(new SysMenu(), userId); } + + /** + * 根据用户查询系统菜单列表 + * + * @param userId 用户ID + * @return 菜单列表 + */ + @Override + public List<SysMenu> selectDeptMenuList(Long userId){ + SysUser sysUser = sysUserService.selectUserById(userId); + Long deptId = sysUser.getDeptId(); + List<SysMenu> menuList = menuMapper.selectDeptMenuList(deptId); + return menuList; + } + /** * 根据用户查询系统菜单列表 * @@ -59,6 +80,19 @@ @Override public List<SysMenu> selectStaffMenuList(Long userId){ return selectStaffMenuList(new SysMenu(), userId); + } + + /** + * 根据用户查询系统菜单列表 + * + * @param userId 用户ID + * @return 菜单列表 + */ + @Override + public List<SysMenu> selectStaffDeptMenuList(Long userId){ + SysUser sysUser = sysUserService.selectUserById(userId); + Long deptId = sysUser.getDeptId(); + return menuMapper.selectStaffDeptMenuList(deptId); } /** * 查询系统菜单列表 @@ -78,7 +112,13 @@ else { menu.getParams().put("userId", userId); - menuList = menuMapper.selectMenuListByUserId(menu); + SysUser sysUser = sysUserService.selectUserById(userId); + if(sysUser.getUserName().equals("admin")||sysUser.getUserName().equals("hongruitang")){ + menuList = menuMapper.selectMenuListByUserId(menu); + }else{ + menuList = menuMapper.selectMenuListByStaffUserId(menu); + } + } return menuList; } @@ -115,7 +155,13 @@ @Override public Set<String> selectMenuPermsByUserId(Long userId) { - List<String> perms = menuMapper.selectMenuPermsByUserId(userId); + SysUser sysUser = sysUserService.selectUserById(userId); + List<String> perms = null; + if(sysUser.getUserName().equals("admin")||sysUser.getUserName().equals("hongruitang")){ + perms = menuMapper.selectMenuPermsByUserId(userId); + }else{ + perms = menuMapper.selectMenuPermsByStaffUserId(userId); + } Set<String> permsSet = new HashSet<>(); for (String perm : perms) { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java index befbd2d..5a2ed40 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java @@ -666,6 +666,9 @@ */ @Override public void editUserMenu(UserMenuEditDto userMenuEditDto){ + SysUser sysUser = this.selectUserById(userMenuEditDto.getUserId()); + sysUser.setDataScope(userMenuEditDto.getDataScope()); + userMapper.updateUser(sysUser); userMenuMapper.deleteUserMenuByUserId(userMenuEditDto.getUserId()); int rows = 1; // 新增用户与角色管理 @@ -691,4 +694,15 @@ } } + /** + * @description + * @author jqs + * @date 2023/6/26 10:36 + * @param sysUser + * @return void + */ + @Override + public void updateOnlyUser(SysUser sysUser){ + userMapper.updateUser(sysUser); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java index 249efe2..ded832c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java @@ -28,10 +28,26 @@ * @param userId 用户ID * @return 菜单列表 */ + public List<SysMenu> selectDeptMenuList(Long deptId); + + /** + * 根据用户查询系统菜单列表 + * + * @param userId 用户ID + * @return 菜单列表 + */ public List<SysMenu> selectStaffMenuList(Long userId); /** * 根据用户查询系统菜单列表 + * + * @param userId 用户ID + * @return 菜单列表 + */ + public List<SysMenu> selectStaffDeptMenuList(Long userId); + + /** + * 根据用户查询系统菜单列表 * * @param menu 菜单信息 * @param userId 用户ID diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java index 83a5d50..61905bb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java @@ -265,4 +265,13 @@ * @return void */ void editUserMenu(UserMenuEditDto userMenuEditDto); + + /** + * @description + * @author jqs + * @date 2023/6/26 10:36 + * @param sysUser + * @return void + */ + void updateOnlyUser(SysUser sysUser); } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml index de5a65d..7c48a20 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml @@ -44,12 +44,14 @@ tss.staff_email staffEmail, tss.staff_post staffPost, tss.staff_avatar staffAvatar, - tss.head_flag headFlag + tss.head_flag headFlag, + su.data_scope dataScope FROM t_sys_staff tss INNER JOIN sys_user su ON tss.user_id = su.user_id - WHERE su.del_flag = 0 + INNER JOIN sys_dept sd ON su.dept_id = sd.dept_id + WHERE su.del_flag = '0' AND tss.del_flag = 0 <if test="param.deptId!=null and param.deptId!=''"> - AND su.dept_id = #{param.deptId} + AND (FIND_IN_SET(#{param.deptId},sd.ancestors) OR su.dept_id = #{param.deptId}) </if> <if test="param.staffName!=null and param.staffName!=''"> AND tss.staff_name LIKE CONCAT('%',#{param.staffName},'%') diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml index 91ed7c7..7e4d3c3 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml @@ -20,10 +20,11 @@ <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> + <result property="dataScope" column="data_scope" /> </resultMap> <sql id="selectDeptVo"> - select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time + select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.create_by, d.create_time ,d.data_scope from sys_dept d </sql> @@ -97,6 +98,7 @@ <if test="email != null and email != ''">email,</if> <if test="status != null">status,</if> <if test="createBy != null and createBy != ''">create_by,</if> + <if test="dataScope != null and dataScope != ''">data_scope,</if> create_time )values( <if test="deptId != null and deptId != 0">#{deptId},</if> @@ -109,6 +111,7 @@ <if test="email != null and email != ''">#{email},</if> <if test="status != null">#{status},</if> <if test="createBy != null and createBy != ''">#{createBy},</if> + <if test="dataScope != null and dataScope != ''">#{dataScope},</if> sysdate() ) </insert> @@ -125,7 +128,8 @@ <if test="email != null">email = #{email},</if> <if test="status != null and status != ''">status = #{status},</if> <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> - update_time = sysdate() + <if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if> + update_time = sysdate() </set> where dept_id = #{deptId} </update> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml index 4fb1144..0708e5b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml @@ -25,9 +25,9 @@ </delete> <insert id="batchDeptMenu"> - insert into sys_dept_menu(dept_id, menu_id) values + insert into sys_dept_menu(dept_id, menu_id, menu_from) values <foreach item="item" index="index" collection="list" separator=","> - (#{item.deptId},#{item.menuId}) + (#{item.deptId},#{item.menuId},#{item.menuFrom}) </foreach> </insert> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml index 9d5ab94..fd5aa0f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml @@ -91,6 +91,39 @@ order by m.parent_id, m.order_num </select> + <select id="selectDeptMenuList" parameterType="Long" resultMap="SysMenuResult"> + select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time + from sys_menu m + inner join sys_dept_menu rm on m.menu_id = rm.menu_id + where rm.dept_id = #{deptId} AND m.menu_from = 1 AND rm.menu_from = 1 + order by m.parent_id, m.order_num + </select> + + <select id="selectStaffDeptMenuList" parameterType="Long" resultMap="SysMenuResult"> + select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time + from sys_menu m + inner join sys_dept_menu rm on m.menu_id = rm.menu_id + where rm.dept_id = #{deptId} AND m.menu_from = 2 AND rm.menu_from = 2 + order by m.parent_id, m.order_num + </select> + + <select id="selectMenuListByStaffUserId" parameterType="SysMenu" resultMap="SysMenuResult"> + select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time + from sys_menu m + left join sys_user_menu rm on m.menu_id = rm.menu_id + where rm.user_id = #{params.userId} AND m.menu_from = 1 AND rm.menu = 1 + <if test="menuName != null and menuName != ''"> + AND m.menu_name like concat('%', #{menuName}, '%') + </if> + <if test="visible != null and visible != ''"> + AND m.visible = #{visible} + </if> + <if test="status != null and status != ''"> + AND m.status = #{status} + </if> + order by m.parent_id, m.order_num + </select> + <select id="selectStaffMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult"> select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time from sys_menu m @@ -190,6 +223,13 @@ left join sys_role r on r.role_id = ur.role_id where m.status = '0' and r.status = '0' and ur.user_id = #{userId} AND m.menu_from = 1 </select> + + <select id="selectMenuPermsByStaffUserId" parameterType="Long" resultType="String"> + select distinct m.perms + from sys_menu m + INNER join sys_user_menu rm on m.menu_id = rm.menu_id + where m.status = '0' and r.status = '0' and rm.user_id = #{userId} AND m.menu_from = 1 AND rm.menu_from = 1 + </select> <select id="selectMenuPermsByRoleId" parameterType="Long" resultType="String"> select distinct m.perms @@ -200,16 +240,16 @@ <select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult"> <include refid="selectMenuVo"/> - where menu_id = #{menuId} AND m.menu_from = 1 + where menu_id = #{menuId} AND menu_from = 1 </select> <select id="hasChildByMenuId" resultType="Integer"> - select count(1) from sys_menu where parent_id = #{menuId} AND m.menu_from = 1 + select count(1) from sys_menu where parent_id = #{menuId} AND menu_from = 1 </select> <select id="checkMenuNameUnique" parameterType="SysMenu" resultMap="SysMenuResult"> <include refid="selectMenuVo"/> - where menu_name=#{menuName} and parent_id = #{parentId} limit 1 AND m.menu_from = 1 + where menu_name=#{menuName} AND menu_from = 1 and parent_id = #{parentId} limit 1 </select> <update id="updateMenu" parameterType="SysMenu"> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml index d987650..1add379 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml @@ -31,7 +31,7 @@ <insert id="insertOperlog" parameterType="SysOperLog"> insert into sys_oper_log(title, business_type, method, request_method, operator_type, oper_name, dept_name, oper_url, oper_ip, oper_param, json_result, status, error_msg, cost_time, oper_time, oper_content) - values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}, #{costTime}, sysdate()) + values (#{title}, #{businessType}, #{method}, #{requestMethod}, #{operatorType}, #{operName}, #{deptName}, #{operUrl}, #{operIp}, #{operParam}, #{jsonResult}, #{status}, #{errorMsg}, #{costTime}, sysdate(), #{operContent}) </insert> <select id="selectOperLogList" parameterType="SysOperLog" resultMap="SysOperLogResult"> 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 8208bfd..5586114 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 @@ -158,7 +158,8 @@ <if test="status != null and status != ''">status,</if> <if test="createBy != null and createBy != ''">create_by,</if> <if test="remark != null and remark != ''">remark,</if> - create_time + <if test="dataScope != null and dataScope != ''">data_scope,</if> + create_time )values( <if test="userId != null and userId != ''">#{userId},</if> <if test="deptId != null and deptId != ''">#{deptId},</if> @@ -172,7 +173,8 @@ <if test="status != null and status != ''">#{status},</if> <if test="createBy != null and createBy != ''">#{createBy},</if> <if test="remark != null and remark != ''">#{remark},</if> - sysdate() + <if test="dataScope != null and dataScope != ''">#{dataScope},</if> + sysdate() ) </insert> @@ -192,7 +194,8 @@ <if test="loginDate != null">login_date = #{loginDate},</if> <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> <if test="remark != null">remark = #{remark},</if> - update_time = sysdate() + <if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if> + update_time = sysdate() </set> where user_id = #{userId} </update> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml index da17323..439e9fb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml @@ -25,9 +25,9 @@ </delete> <insert id="batchUserMenu"> - insert into sys_user_menu(user_id, menu_id) values + insert into sys_user_menu(user_id, menu_id, menu_from) values <foreach item="item" index="index" collection="list" separator=","> - (#{item.userId},#{item.menuId}) + (#{item.userId},#{item.menuId},#{item.menuFrom}) </foreach> </insert> -- Gitblit v1.7.1