添加用户资源限制

dev
法外狂徒张三 2024-10-10 16:19:59 +08:00
parent 1abe99919b
commit 872660f84b
15 changed files with 75 additions and 37 deletions

View File

@ -1,4 +1,4 @@
package com.muyu.system.domain; package com.muyu.common.system.domain;
import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;

View File

@ -122,5 +122,6 @@ public interface RemoteUserService {
@PostMapping("/user") @PostMapping("/user")
public Result addUser (@RequestBody SysUser user); public Result addUser (@RequestBody SysUser user);
@GetMapping("/member/memberId/{firmCode}")
public Result<SysMember> selectSysMemberListById(@PathVariable("firmCode") String firmCode);
} }

View File

@ -93,7 +93,10 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
return Result.error(throwable); return Result.error(throwable);
} }
@Override
public Result<SysMember> selectSysMemberListById(String firmCode) {
return Result.error();
}
}; };
} }

View File

@ -1,5 +1,8 @@
package com.muyu.openbusiness.controller; package com.muyu.openbusiness.controller;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysMember;
import com.muyu.common.system.remote.RemoteUserService;
import com.muyu.openbusiness.domain.SysCar; import com.muyu.openbusiness.domain.SysCar;
import com.muyu.openbusiness.service.ISysCarService; import com.muyu.openbusiness.service.ISysCarService;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
@ -12,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
@ -32,6 +36,8 @@ public class SysCarController extends BaseController
{ {
@Autowired @Autowired
private ISysCarService sysCarService; private ISysCarService sysCarService;
@Resource
private RemoteUserService remoteUserService;
/** /**
@ -46,6 +52,12 @@ public class SysCarController extends BaseController
return getDataTable(list); return getDataTable(list);
} }
public List<SysCar> sysCarList()
{
List<SysCar> list = sysCarService.selectSysCarList(new SysCar());
return list;
}
/** /**
* *
*/ */
@ -76,6 +88,13 @@ public class SysCarController extends BaseController
public Result<Integer> add( public Result<Integer> add(
@Validated @RequestBody SysCar sysCar) @Validated @RequestBody SysCar sysCar)
{ {
String saasKey = SecurityUtils.getSaasKey();
Result<SysMember> sysMemberResult = remoteUserService.selectSysMemberListById(saasKey);
SysMember sysMember = sysMemberResult.getData();
List<SysCar> list = this.sysCarList();
if(list.size()>=sysMember.getMemberCarNum()){
return Result.error("已达到当前会员等级可添加上限,请联系管理员升级会员等级");
}
// 获取当前时间(没有时区) // 获取当前时间(没有时区)
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// 假设我们使用系统默认时区 // 假设我们使用系统默认时区

View File

@ -40,7 +40,6 @@ public class SysCarMessageController extends BaseController
static String TEST = "7E 56 45 48 49 43 4C 45 5F 4D 53 47 3A 56 49 4E 31 32 B6 A1 C0 F2 B3 E5 D9 A8 C1 B2 E3 F4 A6 D7 C9 F1 E0 A3 B5 C8 D4 E2 A1 F5 B6 C7 E8 D9 A0 E3 B2 C4 F5 D6 A8 C0 E1 F2 B7 D8 A4 E3 C2 B1 A5 D9 F6 C8 E7 A0 B2 C3 D1 F4 E5 A9 3F 2A 7B D9 1E C8 4D A3 6F 5B 9A 0C 3E 7D F2 8B 46 1A 5E 9F 2D 73 8C 4A B1 6C 5D E2 7E C4 39 0B AD 7C 1F 0E 3C 68 92 B4 5A 7F 6E 81 0D 4B A5 E3 F9 2E 8A 37 6D 14 5C 73 8E D2 04 9B 3A 6C F1 70 BF 29 5F 8C 43 61 24 5D 7A 9C 0A D5 1B 3D 6E F4 78 3E 5B"; static String TEST = "7E 56 45 48 49 43 4C 45 5F 4D 53 47 3A 56 49 4E 31 32 B6 A1 C0 F2 B3 E5 D9 A8 C1 B2 E3 F4 A6 D7 C9 F1 E0 A3 B5 C8 D4 E2 A1 F5 B6 C7 E8 D9 A0 E3 B2 C4 F5 D6 A8 C0 E1 F2 B7 D8 A4 E3 C2 B1 A5 D9 F6 C8 E7 A0 B2 C3 D1 F4 E5 A9 3F 2A 7B D9 1E C8 4D A3 6F 5B 9A 0C 3E 7D F2 8B 46 1A 5E 9F 2D 73 8C 4A B1 6C 5D E2 7E C4 39 0B AD 7C 1F 0E 3C 68 92 B4 5A 7F 6E 81 0D 4B A5 E3 F9 2E 8A 37 6D 14 5C 73 8E D2 04 9B 3A 6C F1 70 BF 29 5F 8C 43 61 24 5D 7A 9C 0A D5 1B 3D 6E F4 78 3E 5B";
@RequiresPermissions("message:message:test")
@GetMapping("/test") @GetMapping("/test")
public Result test() throws InterruptedException, ExecutionException { public Result test() throws InterruptedException, ExecutionException {
List<SysCarMessage> list = (List<SysCarMessage>) session.getAttribute("list"); List<SysCarMessage> list = (List<SysCarMessage>) session.getAttribute("list");

View File

@ -101,6 +101,12 @@
<artifactId>org.eclipse.paho.client.mqttv3</artifactId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.2.2</version> <version>1.2.2</version>
</dependency> </dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-modules-car-gateway</artifactId>
<version>3.6.3</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -9,10 +9,8 @@ import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysDept; import com.muyu.common.system.domain.SysDept;
import com.muyu.common.system.domain.SysEnt; import com.muyu.common.system.domain.SysEnt;
import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.system.domain.SysFirm; import com.muyu.common.system.domain.SysFirm;
import com.muyu.system.domain.SysMenu;
import com.muyu.system.domain.req.SysFirmReq; import com.muyu.system.domain.req.SysFirmReq;
import com.muyu.system.service.ISysFirmService; import com.muyu.system.service.ISysFirmService;
import com.muyu.system.service.SysEntService; import com.muyu.system.service.SysEntService;
@ -32,7 +30,6 @@ import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -51,10 +48,6 @@ public class SysFirmController extends BaseController
@Resource @Resource
private SysEntService sysEntService; private SysEntService sysEntService;
@Resource @Resource
private SysRoleController sysRoleController;
@Resource
private SysMenuController sysMenuController;
@Resource
private SysUserController sysUserController; private SysUserController sysUserController;
@Resource @Resource
private SysDeptController sysDeptController; private SysDeptController sysDeptController;
@ -91,11 +84,10 @@ public class SysFirmController extends BaseController
/** /**
* *
*/ */
@RequiresPermissions("firm:firmInfo:query")
@GetMapping(value = "/{id}") public Result<SysFirm> getInfo(@PathVariable("firmCode") String firmCode)
public Result<List<SysFirm>> getInfo(@PathVariable("id") Long id)
{ {
return success(sysFirmService.selectSysFirmById(id)); return success(sysFirmService.selectSysFirmById(firmCode));
} }
/** /**

View File

@ -1,15 +1,15 @@
package com.muyu.system.controller; package com.muyu.system.controller;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysFirm;
import com.muyu.common.system.domain.SysMember; import com.muyu.common.system.domain.SysMember;
import com.muyu.system.service.SysMemberService; import com.muyu.system.service.SysMemberService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
/* /**
*/ */
@RestController @RestController
@ -17,12 +17,21 @@ import java.util.List;
public class SysMemberController { public class SysMemberController {
@Resource @Resource
private SysMemberService service; private SysMemberService service;
@Resource
private SysFirmController firmController;
/** /**
* *
*/ */
@GetMapping("/list") @GetMapping("/list")
private Result<List<SysMember>> selectList(SysMember member) { public Result<List<SysMember>> selectList(SysMember member) {
return Result.success(service.selectSysMemberList(member)); return Result.success(service.selectSysMemberList(member));
} }
@GetMapping("/memberId/{firmCode}")
public Result<SysMember> selectSysMemberListById(@PathVariable("firmCode") String firmCode) {
Result<SysFirm> info = firmController.getInfo(firmCode);
SysFirm sysFirm = info.getData();
return Result.success(service.selectSysMemberListById(sysFirm.getMemberId()));
}
} }

View File

@ -1,7 +1,7 @@
package com.muyu.system.domain.req; package com.muyu.system.domain.req;
import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel;
import com.muyu.system.domain.SysFirm; import com.muyu.common.system.domain.SysFirm;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import lombok.*; import lombok.*;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;

View File

@ -1,7 +1,7 @@
package com.muyu.system.mapper; package com.muyu.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.system.domain.SysFirm; import com.muyu.common.system.domain.SysFirm;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;

View File

@ -1,7 +1,7 @@
package com.muyu.system.service; package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.system.domain.SysFirm; import com.muyu.common.system.domain.SysFirm;
import java.util.List; import java.util.List;
@ -15,10 +15,10 @@ public interface ISysFirmService extends IService<SysFirm> {
/** /**
* *
* *
* @param id * @param firmCode
* @return * @return
*/ */
public SysFirm selectSysFirmById(Long id); public SysFirm selectSysFirmById(String firmCode);
/** /**
* *

View File

@ -7,4 +7,5 @@ import java.util.List;
public interface SysMemberService extends IService<SysMember> { public interface SysMemberService extends IService<SysMember> {
public List<SysMember> selectSysMemberList(SysMember sysMember); public List<SysMember> selectSysMemberList(SysMember sysMember);
public SysMember selectSysMemberListById(Long memberId);
} }

View File

@ -3,12 +3,11 @@ package com.muyu.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.util.StringUtil; import com.github.pagehelper.util.StringUtil;
import com.muyu.system.domain.SysFirm; import com.muyu.common.system.domain.SysFirm;
import com.muyu.system.mapper.SysFirmMapper; import com.muyu.system.mapper.SysFirmMapper;
import com.muyu.system.service.ISysFirmService; import com.muyu.system.service.ISysFirmService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@ -30,15 +29,15 @@ public class SysFirmServiceImpl
/** /**
* *
* *
* @param id * @param firmCode
* @return * @return
*/ */
@Override @Override
public SysFirm selectSysFirmById(Long id) public SysFirm selectSysFirmById(String firmCode)
{ {
LambdaQueryWrapper<SysFirm> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysFirm> queryWrapper = new LambdaQueryWrapper<>();
Assert.notNull(id, "id不可为空"); Assert.notNull(firmCode, "firmCode不可为空");
queryWrapper.eq(SysFirm::getId, id); queryWrapper.eq(SysFirm::getFirmCode, firmCode);
return this.getOne(queryWrapper); return this.getOne(queryWrapper);
} }

View File

@ -24,4 +24,13 @@ public class SysMemberServiceImpl extends
} }
return this.list(queryWrapper); return this.list(queryWrapper);
} }
@Override
public SysMember selectSysMemberListById(Long memberId) {
LambdaQueryWrapper<SysMember> queryWrapper = new LambdaQueryWrapper<>();
if(memberId!=null){
queryWrapper.eq(SysMember::getMemberId, memberId);
}
return this.getOne(queryWrapper);
}
} }

View File

@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.system.mapper.SysFirmMapper"> <mapper namespace="com.muyu.system.mapper.SysFirmMapper">
<resultMap type="com.muyu.system.domain.SysFirm" id="SysFirmResult"> <resultMap type="com.muyu.common.system.domain.SysFirm" id="SysFirmResult">
<result property="id" column="id" /> <result property="id" column="id" />
<result property="firmCreditCode" column="firm_credit_code" /> <result property="firmCreditCode" column="firm_credit_code" />
<result property="firmCode" column="firm_code" /> <result property="firmCode" column="firm_code" />
@ -22,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select id, firm_credit_code, firm_code, firm_name, firm_logs , state, create_by, create_time, update_by, update_time, remark from sys_firm select id, firm_credit_code, firm_code, firm_name, firm_logs , state, create_by, create_time, update_by, update_time, remark from sys_firm
</sql> </sql>
<select id="selectSysFirmList" parameterType="com.muyu.system.domain.SysFirm" resultMap="SysFirmResult"> <select id="selectSysFirmList" parameterType="com.muyu.common.system.domain.SysFirm" resultMap="SysFirmResult">
<include refid="selectSysFirmVo"/> <include refid="selectSysFirmVo"/>
<where> <where>
<if test="firmName != null and firmName != ''"> and firm_name like concat('%', #{firmName}, '%')</if> <if test="firmName != null and firmName != ''"> and firm_name like concat('%', #{firmName}, '%')</if>
@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<insert id="insertSysFirm" parameterType="com.muyu.system.domain.SysFirm" useGeneratedKeys="true" keyProperty="id"> <insert id="insertSysFirm" parameterType="com.muyu.common.system.domain.SysFirm" useGeneratedKeys="true" keyProperty="id">
insert into sys_firm insert into sys_firm
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="firmCreditCode != null and firmCreditCode != ''">firm_credit_code,</if> <if test="firmCreditCode != null and firmCreditCode != ''">firm_credit_code,</if>
@ -64,7 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim> </trim>
</insert> </insert>
<update id="updateSysFirm" parameterType="com.muyu.system.domain.SysFirm"> <update id="updateSysFirm" parameterType="com.muyu.common.system.domain.SysFirm">
update sys_firm update sys_firm
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="firmCreditCode != null and firmCreditCode != ''">firm_credit_code = #{firmCreditCode},</if> <if test="firmCreditCode != null and firmCreditCode != ''">firm_credit_code = #{firmCreditCode},</if>