jiangqs
2023-06-26 b4882b114f082e010d4cc3359d78d18095ef3b83
商户端和管理台联调bug
42个文件已修改
2个文件已添加
521 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/AppMemberCouponVo.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteConfigService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtCouponController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberCoupon.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberCouponServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberCouponService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/AppBuyGoodsDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/AppSureOrderGoodsVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/ShopTotal.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/StaffMenuController.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysMenuController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtStaffEditDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtStaffPageVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/sys/SysMenuMapper.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysMenuService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/staff/SysStaffMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysDeptMenuMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysMenuMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysOperLogMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysUserMenuMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 = "只能核销商品优惠券";
}
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")
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MerVerifyCouponGetVo.java
New file
@@ -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;
}
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);
}
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);
}
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);
}
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();
    }
}
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 {
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;
    /**
     * 删除标记
     */
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);
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);
    }
}
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);
}
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) {
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;
}
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;
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()));
        }
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);
    }
}
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;
    /**
     * 总周期订单数
     */
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopAuthCodeVo.java
New file
@@ -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;
}
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);
}
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;
    }
}
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);
    }
}
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);
}
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);
}
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>
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));
    }
}
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));
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);
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;
        /**
         * 员工姓名
         */
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UserMenuEditDto.java
@@ -21,5 +21,6 @@
    private Long[] staffMenuIds;
    private String dataScope;
}
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;
}
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 菜单列表
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();
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)
        {
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);
    }
}
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
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);
}
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},'%')
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>
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>
    
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">
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">
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>
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>