Administrator
2024-01-15 f2f6f50aa0a9a8ec25acefdd590c732920a57831
2024-01-15 朱宝民 角色添加接口、授权接口、控制code改为rtuAddr
8个文件已修改
162 ■■■■ 已修改文件
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoBa/BaRolePermissions.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoToPojo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrControllerMapper.java
@@ -11,8 +11,8 @@
/**
 * @author ZhuBaoMin
 * @date 2023-12-29 9:59
 * @LastEditTime 2024-01-02 16:22
 * @date 2024-01-15 16:51
 * @LastEditTime 2024-01-15 16:51
 * @Description
 */
@@ -46,10 +46,10 @@
    /**
     * 根据控制器编号获取控制器列表
     * @param controllerCode
     * @param rtuAddr
     * @return
     */
    List<Map<String, Object>> getControllersByCode(@Param("controllerCode") String controllerCode);
    List<Map<String, Object>> getControllersByCode(@Param("rtuAddr") String rtuAddr);
    /**
     * 根据控制器编号逻辑删除控制
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoBa/BaRolePermissions.java
@@ -19,7 +19,6 @@
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Positive;
import jakarta.validation.constraints.Size;
import lombok.*;
/**
@@ -34,7 +33,7 @@
@AllArgsConstructor
@Schema(name = "角色权限实体")
public class BaRolePermissions implements BaseEntity {
    public static final long serialVersionUID = 1L;
    public static final long serialVersionUID = 202401151612001L;
    /**
    * 主键
@@ -50,13 +49,6 @@
    @Schema(description = "角色编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Positive(message = "角色编号必须为大于0的整数")
    private Long roleid;
    /**
     * 角色名称
     */
    @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @Size(max = 20)
    private String roleName;
    /**
    * 权限列表
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoPr/PrController.java
@@ -15,8 +15,8 @@
/**
 * @author ZhuBaoMin
 * @date 2023-12-29 9:59
 * @LastEditTime 2023-12-29 9:59
 * @date 2024-01-15 16:51
 * @LastEditTime 2024-01-15 16:51
 * @Description
 */
@@ -43,12 +43,12 @@
    private Long id;
    /**
     * 编号
     * 控制器地址
     */
    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "控制器编号不能为空")
    @Length(message = "控制器编号不大于{max}字",max = 25)
    private String code;
    @Schema(description = "控制器地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "控制器地址不能为空")
    @Length(message = "控制器地址不大于{max}字",max = 11)
    private String rtuaddr;
    /**
     * 通讯协议
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voPr/VoController.java
@@ -27,10 +27,10 @@
    @ColumnWidth(10)
    private Long id;
    @Schema(title = "控制器编号")
    @ExcelProperty("控制器编号")
    @Schema(title = "控制器地址")
    @ExcelProperty("控制器地址")
    @ColumnWidth(15)
    private String controllerCode;
    private String rtuAddr;
    @Schema(title = "在线状态")
    @ExcelProperty("在线状态")
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrControllerMapper.xml
@@ -5,7 +5,7 @@
    <!--@mbg.generated-->
    <!--@Table pr_controller-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="code" jdbcType="VARCHAR" property="code" />
    <result column="rtuAddr" jdbcType="VARCHAR" property="rtuaddr" />
    <result column="protocol" jdbcType="VARCHAR" property="protocol" />
    <result column="onlineState" jdbcType="TINYINT" property="onlinestate" />
    <result column="reportTime" jdbcType="TIMESTAMP" property="reporttime" />
@@ -16,7 +16,7 @@
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, code, protocol, onlineState, reportTime, addWays, `operator`, operateDt, deleted
    id, rtuAddr, protocol, onlineState, reportTime, addWays, `operator`, operateDt, deleted
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    <!--@mbg.generated-->
@@ -30,19 +30,17 @@
    delete from pr_controller
    where id = #{id,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController">
    <!--@mbg.generated-->
    insert into pr_controller (id, code, protocol,
    insert into pr_controller (id, rtuAddr, protocol,
      onlineState, reportTime, addWays, 
      `operator`, operateDt, deleted
      )
    values (#{id,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR},
    values (#{id,jdbcType=BIGINT}, #{rtuaddr,jdbcType=VARCHAR}, #{protocol,jdbcType=VARCHAR},
      #{onlinestate,jdbcType=TINYINT}, #{reporttime,jdbcType=TIMESTAMP}, #{addways,jdbcType=TINYINT}, 
      #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT}
      )
  </insert>
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController">
    <!--@mbg.generated-->
    insert into pr_controller
@@ -50,8 +48,8 @@
      <if test="id != null">
        id,
      </if>
      <if test="code != null">
        code,
      <if test="rtuaddr != null">
        rtuAddr,
      </if>
      <if test="protocol != null">
        protocol,
@@ -79,8 +77,8 @@
      <if test="id != null">
        #{id,jdbcType=BIGINT},
      </if>
      <if test="code != null">
        #{code,jdbcType=VARCHAR},
      <if test="rtuaddr != null">
        #{rtuaddr,jdbcType=VARCHAR},
      </if>
      <if test="protocol != null">
        #{protocol,jdbcType=VARCHAR},
@@ -109,8 +107,8 @@
    <!--@mbg.generated-->
    update pr_controller
    <set>
      <if test="code != null">
        code = #{code,jdbcType=VARCHAR},
      <if test="rtuaddr != null">
        rtuAddr = #{rtuaddr,jdbcType=VARCHAR},
      </if>
      <if test="protocol != null">
        protocol = #{protocol,jdbcType=VARCHAR},
@@ -139,7 +137,7 @@
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrController">
    <!--@mbg.generated-->
    update pr_controller
    set code = #{code,jdbcType=VARCHAR},
    set rtuAddr = #{rtuaddr,jdbcType=VARCHAR},
      protocol = #{protocol,jdbcType=VARCHAR},
      onlineState = #{onlinestate,jdbcType=TINYINT},
      reportTime = #{reporttime,jdbcType=TIMESTAMP},
@@ -153,11 +151,10 @@
  <!--根据指定获取控制器记录数-->
  <select id="getRecordCount" resultType="java.lang.Long">
    SELECT
      COUNT(*) AS recordCount
        COUNT(*) AS recordCount
    FROM pr_controller con
        INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
        INNER JOIN pr_intake inta ON ic.intakeId = inta.id
        , (SELECT @i:=0) AS itable
    <where>
      AND ic.operateType = 1
@@ -165,8 +162,8 @@
        AND con.id = ${id}
      </if>
      <if test = "controllerCode != null and controllerCode !=''">
        AND con.code like CONCAT('%',#{controllerCode},'%')
      <if test = "rtuAddr != null and rtuAddr !=''">
        AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%')
      </if>
      <if test = "onlineState != null and onlineState > 0">
@@ -182,50 +179,46 @@
  <!--根据指定获取控制器记录-->
  <select id="getControllers" resultType="com.dy.pipIrrGlobal.voPr.VoController">
    SELECT
        (@i:=@i+1) AS id,
        t.* FROM(
          SELECT
            con.code AS controllerCode,
            (CASE
                WHEN con.onlineState = 1 THEN "在线"
                WHEN con.onlineState = 2 THEN "离线"
            END) AS onlineState,
            inta.name AS intakeName,
            (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber,
            con.reportTime
          FROM pr_controller con
            INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
            INNER JOIN pr_intake inta ON ic.intakeId = inta.id
          <where>
            AND ic.operateType = 1
        con.rtuAddr AS rtuAddr,
        (CASE
            WHEN con.onlineState = 1 THEN "在线"
            WHEN con.onlineState = 2 THEN "离线"
        END) AS onlineState,
        inta.name AS intakeName,
        (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) AS bindNumber,
        con.reportTime
    FROM pr_controller con
        INNER JOIN pr_intake_controller ic ON ic.controllerId = con.id
        INNER JOIN pr_intake inta ON ic.intakeId = inta.id
    <where>
      AND ic.operateType = 1
            <if test = "id != null and id > 0">
              AND con.id = ${id}
            </if>
      <if test = "id != null and id > 0">
        AND con.id = ${id}
      </if>
            <if test = "controllerCode != null and controllerCode !=''">
              AND con.code like CONCAT('%',#{controllerCode},'%')
            </if>
      <if test = "rtuAddr != null and rtuAddr !=''">
        AND con.rtuAddr like CONCAT('%',#{rtuAddr},'%')
      </if>
            <if test = "onlineState != null and onlineState > 0">
              AND con.onlineState = ${onlineState}
            </if>
      <if test = "onlineState != null and onlineState > 0">
        AND con.onlineState = ${onlineState}
      </if>
            <if test = "bindNumber != null and bindNumber > 0">
              AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber}
            </if>
          </where>
          ORDER BY con.operateDt DESC
          <if test="pageCurr != null and pageSize != null">
            LIMIT ${pageCurr}, ${pageSize}
          </if>
        ) t
    , (SELECT @i:=0) AS itable
      <if test = "bindNumber != null and bindNumber > 0">
        AND (SELECT COUNT(*) FROM pr_intake_controller WHERE controllerId = con.id AND intakeId = inta.id AND operateType = 1) = ${bindNumber}
      </if>
    </where>
    ORDER BY con.operateDt DESC
    <if test="pageCurr != null and pageSize != null">
      LIMIT ${pageCurr}, ${pageSize}
    </if>
  </select>
  <!--根据控制器编号获取控制器列表-->
  <select id="getControllersByCode" resultType="java.util.Map">
    SELECT id, code FROM pr_controller WHERE code LIKE CONCAT('%',#{controllerCode},'%')
    SELECT id, rtuAddr FROM pr_controller WHERE rtuAddr LIKE CONCAT('%',#{rtuAddr},'%')
  </select>
  <!--根据控制器编号逻辑删除控制-->
pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/role/RoleCtrl.java
@@ -104,7 +104,7 @@
        // 获取角色名称级权限列表
        String roleName = Optional.ofNullable(po.getRoleName()).orElse("");
        String permissions = Optional.ofNullable(po.getPermissions()).orElse("");
        JSONArray permissions = Optional.ofNullable(JSONArray.parseArray(po.getPermissions())).orElse(JSONArray.parseArray("[]"));
        Long operator = Optional.ofNullable(po.getOperator()).orElse(0L);
        // 判断角色名称是否重名
@@ -130,9 +130,9 @@
            return BaseResponseUtils.buildFail(SystemResultCode.ADD_ROLE_FAIL.getMessage());
        // 添加权限列表
        BaRolePermissions  baRolePermissions = new BaRolePermissions();
        BaRolePermissions baRolePermissions = new BaRolePermissions();
        baRolePermissions.setRoleid(roleId);
        baRolePermissions.setPermissions(new JSONArray(permissions));
        baRolePermissions.setPermissions(permissions);
        Integer rc = Optional.ofNullable(roleSv.addPermissions(baRolePermissions)).orElse(0);
        if(rc <= 0) {
            return BaseResponseUtils.buildFail(SystemResultCode.ADD_ROLE_FAIL.getMessage());
@@ -175,7 +175,8 @@
        Long roleId = Optional.ofNullable(po.getRoleid()).orElse(0L);
        String roleName = Optional.ofNullable(po.getRoleName()).orElse("");
        String permissions = Optional.ofNullable(po.getPermissions()).orElse("");
        //String permissions = Optional.ofNullable(po.getPermissions()).orElse("");
        JSONArray permissions = Optional.ofNullable(JSONArray.parseArray(po.getPermissions())).orElse(JSONArray.parseArray("[]"));
        Long operator = Optional.ofNullable(po.getOperator()).orElse(0L);
        if(roleId == 0 && roleName.length() == 0)
@@ -193,7 +194,7 @@
            BaRolePermissions baRolePermissions = new BaRolePermissions();
            baRolePermissions.setRoleid(roleId);
            baRolePermissions.setPermissions(new JSONArray(permissions));
            baRolePermissions.setPermissions(permissions);
            roleSv.addPermissions(baRolePermissions);
            return BaseResponseUtils.buildSuccess(true) ;
        }
@@ -201,7 +202,7 @@
        // 修改角色授权
        BaRolePermissions baRolePermissions = new BaRolePermissions();
        baRolePermissions.setRoleid(roleId);
        baRolePermissions.setPermissions(new JSONArray(permissions));
        baRolePermissions.setPermissions(permissions);
        roleSv.delPermissionsByRoleId(roleId);
        roleSv.addPermissions(baRolePermissions);
        return BaseResponseUtils.buildSuccess(true) ;
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoController.java
@@ -18,12 +18,12 @@
    public static final long serialVersionUID = 1L;
    /**
     * 编号
     * 控制器地址
     */
    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "控制器编号不能为空")
    @Length(message = "控制器编号不大于{max}字",max = 25)
    private String code;
    @Schema(description = "控制器地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotBlank(message = "控制器地址不能为空")
    @Length(message = "控制器地址不大于{max}字",max = 11)
    private String rtuAddr;
    /**
     * 通讯协议
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/controller/DtoToPojo.java
@@ -15,7 +15,7 @@
@Mapper
public interface DtoToPojo {
    DtoToPojo INSTANCT = Mappers.getMapper(DtoToPojo.class);
    @Mapping(target = "code", source = "code")
    @Mapping(target = "rtuaddr", source = "rtuAddr")
    @Mapping(target = "protocol", source = "protocol")
    @Mapping(target = "onlinestate", source = "onlineState")
    @Mapping(target = "addways", source = "addWays")