2021与蓝度共同重构项目,服务端
liuhaonan
2022-04-13 d65594e37be2179b60cdc1730819ff156b39639c
Merge remote-tracking branch 'origin/master'

# Conflicts:
# ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
已添加4个文件
已修改9个文件
159 ■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeelingEquipment.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/LightPoleHeelingEquipmentMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/LightPoleHeelingEquipmentMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/MonitorMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RoleController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/security/SecurityUtils.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingEquipmentService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeelingEquipment.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.sandu.ximon.dao.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
/**
 *
 * @TableName light_pole_heeling_equipment
 */
@TableName(value ="light_pole_heeling_equipment")
@Data
public class LightPoleHeelingEquipment implements Serializable {
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * ç¯æ†å€¾æ–œMAC设备地址
     */
    private String mac;
    /**
     *
     */
    private LocalDateTime createTime;
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
dao/src/main/java/com/sandu/ximon/dao/mapper/LightPoleHeelingEquipmentMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.sandu.ximon.dao.mapper;
import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
 * @Entity com.sandu.ximon.dao.domain.LightPoleHeelingEquipment
 */
@Mapper
public interface LightPoleHeelingEquipmentMapper extends BaseMapper<LightPoleHeelingEquipment> {
}
dao/src/main/java/com/sandu/ximon/dao/mapper/MonitorMapper.java
@@ -15,7 +15,7 @@
    List<Monitor> listMonitorByKeyword1(String keyword, int bindingState1, int bindingState2);
    List<MonitorBo> listMonitorByIds(String keyword, Long clientId, int bindingState, int equipmentState);
    List<MonitorBo> listMonitorByIds(String keyword, int bindingState, int equipmentState, Long userid);
    List<String> listMonitorDeviceSerial();
}
dao/src/main/resources/mapper/LightPoleHeelingEquipmentMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sandu.ximon.dao.mapper.LightPoleHeelingEquipmentMapper">
    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.LightPoleHeelingEquipment">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="mac" column="mac" jdbcType="VARCHAR"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
    </resultMap>
    <sql id="Base_Column_List">
        id,mac,create_time
    </sql>
</mapper>
dao/src/main/resources/mapper/MonitorMapper.xml
@@ -62,15 +62,15 @@
                OR t1.note LIKE CONCAT(CONCAT('%', #{keyword}), '%')
                OR t3.pole_code LIKE CONCAT(CONCAT('%', #{keyword}), '%')
            </if>
            <if test="clientId != null">
                AND t3.client_id = #{clientId}
            </if>
            <if test="bindingState != 2">
                AND t1.binding_state = #{bindingState}
            </if>
            <if test="equipmentState != 2">
                AND t1.equipment_state = #{equipmentState}
            </if>
            <if test="userid != null">
                AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
            </if>
        </where>
    </select>
    <select id="listMonitorDeviceSerial" resultType="java.lang.String">
dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml
@@ -41,7 +41,7 @@
                AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
            </if>
            <if test="clientId != null">
                AND t3.client_id = #{clientId}
                AND (t3.user_id = #{clientId} OR t3.client_id = #{clientId})
            </if>
        </where>
    </select>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/RoleController.java
@@ -5,6 +5,7 @@
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.RoleParam;
import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.service.RoleService;
import com.sandu.ximon.dao.domain.Role;
import com.sandu.ximon.dao.domain.RoleDetail;
@@ -23,7 +24,7 @@
@RestController
@RequestMapping("/v1/role")
public class RoleController {
    private PermissionConfig permissionConfig;
    private final RoleService roleService;
    /**
@@ -38,9 +39,14 @@
    @GetMapping("/list")
    public ResponseVO<Object> listRole(BaseConditionVO conditionVO) {
        if (!permissionConfig.check("角色管理")) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List<RoleDetail> roleDetails = roleService.listRole(conditionVO.getPageNo(), conditionVO.getPageSize());
        return ResponseUtil.success(roleDetails);
    }
    @PostMapping("/add")
    public ResponseVO<Object> addRole(@Validated @RequestBody RoleParam param) {
        boolean result = roleService.addRole(param);
ximon-admin/src/main/java/com/sandu/ximon/admin/security/SecurityUtils.java
@@ -82,7 +82,7 @@
        if (loginUserInfo == null) {
            return null;
        }
        if (AdministratorEnums.CUSTOMER.getCode().equals(loginUserInfo.getAdministratorType())) {
        if (!AdministratorEnums.ADMIN.getCode().equals(loginUserInfo.getAdministratorType())) {
            return loginUserInfo.getUserId();
        }
        return null;
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingEquipmentService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package com.sandu.ximon.admin.service;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
import com.sandu.ximon.dao.mapper.LightPoleHeelingEquipmentMapper;
import org.springframework.stereotype.Service;
/**
 * @author ZZQ
 * @date 2022/4/13 16:52
 */
@Service
public class LightPoleHeelingEquipmentService extends BaseServiceImpl<LightPoleHeelingEquipmentMapper, LightPoleHeelingEquipment> {
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightPoleHeelingService.java
@@ -15,6 +15,7 @@
import com.sandu.ximon.admin.param.LightPoleHeelingListParam;
import com.sandu.ximon.dao.domain.Light;
import com.sandu.ximon.dao.domain.LightPoleHeeling;
import com.sandu.ximon.dao.domain.LightPoleHeelingEquipment;
import com.sandu.ximon.dao.domain.PoleBinding;
import com.sandu.ximon.dao.mapper.LightPoleHeelingMapper;
import lombok.AllArgsConstructor;
@@ -26,6 +27,7 @@
@AllArgsConstructor
public class LightPoleHeelingService extends BaseServiceImpl<LightPoleHeelingMapper, LightPoleHeeling> {
    private LightPoleHeelingMapper lightPoleHeelingMapper;
    private LightPoleHeelingEquipmentService lightPoleHeelingEquipmentService;
    /**
     * æ¨¡ç³ŠæŸ¥è¯¢
@@ -207,6 +209,15 @@
        } else {
            lightPoleHeeling.setWarningLevel(0);//正常
        }
        /**
         * å°†ç¯æ†å€¾æ–œç¡¬ä»¶æ·»åŠ åˆ°ç¡¬ä»¶è¡¨
         */
        LightPoleHeelingEquipment one = lightPoleHeelingEquipmentService.getOne(Wrappers.lambdaQuery(LightPoleHeelingEquipment.class).eq(LightPoleHeelingEquipment::getMac, deviceName));
        if (one == null) {
            LightPoleHeelingEquipment equipment = new LightPoleHeelingEquipment();
            equipment.setMac(deviceName);
            lightPoleHeelingEquipmentService.save(equipment);
        }
        return save(lightPoleHeeling);
    }
ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -1,8 +1,10 @@
package com.sandu.ximon.admin.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
@@ -10,6 +12,7 @@
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.MonitorParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.dao.bo.AirEquipmentBo;
import com.sandu.ximon.dao.bo.MonitorBo;
import com.sandu.ximon.dao.domain.Monitor;
import com.sandu.ximon.admin.dto.YSY_AccessTokenDto;
@@ -97,21 +100,6 @@
        String s = HttpUtil.post(YSY_URL + ACCESSTOKEN_URL, paramMap);
        YSY_AccessTokenDto accessTokenDto = JSON.parseObject(s, YSY_AccessTokenDto.class);
        return accessTokenDto.getData().getAccessToken();
    }
    /**
     * èŽ·å–è¤çŸ³äº‘æ‘„åƒå¤´ä¿¡æ¯  æ— éœ€éªŒè¯accessToken
     * @return
     */
    public YSY_MonitorDto.MonitorDto getMonitorInfo(String deviceSerial) {
        String token = getAccessToken();
        Map<String, Object> paramMap = new HashMap<>();
        paramMap.put("accessToken", token);
        paramMap.put("deviceSerial", deviceSerial);
        String s = HttpUtil.post(YSY_URL + GET_DEVICE_URL, paramMap);
        YSY_MonitorDto monitorDto = JSON.parseObject(s, YSY_MonitorDto.class);
        return monitorDto.getData();
    }
    /**
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
@@ -1,5 +1,6 @@
package com.sandu.ximon.admin.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.service.impl.BaseServiceImpl;
@@ -8,6 +9,8 @@
import com.sandu.ximon.dao.mapper.PoleBindingMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @author chenjiantian
@@ -30,6 +33,15 @@
        Integer deviceType = param.getDeviceType();
//        if (PoleBindingEnums.LIGHT.getCode().equals(deviceType)) {
//        }
        LambdaQueryWrapper<PoleBinding> eq = Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId);
        List<PoleBinding> list = list(eq);
        if (list.size() != 0){
            for (PoleBinding poleBinding : list) {
                if (poleBinding.getDeviceType().equals(deviceType)) {
                    throw new BusinessException("该灯杆已绑定过相同类型设备");
                }
            }
        }
        PoleBinding one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, param.getDeviceCode()));
        if (one == null) {
@@ -86,7 +98,7 @@
        }
    }
    public PoleBinding getPoleIdByMac(String deviceCode){
       return getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
    public PoleBinding getPoleIdByMac(String deviceCode) {
        return getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
    }
}
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
@@ -38,10 +38,15 @@
     * æ¨¡ç³ŠæŸ¥è¯¢
     */
    public List<WaterQualityEquipmentBo> listWaterQualityEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) {
        Long clientId = SecurityUtils.getClientId();
        Long userId = SecurityUtils.getUserId();
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<WaterQualityEquipmentBo> waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(keyword, clientId);
        List<WaterQualityEquipmentBo> waterQualityEquipmentBoList;
        //为空是超管
        if (SecurityUtils.getClientId() == null) {
            waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(keyword, null);
        } else {
            waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(keyword, userId);
        }
        return waterQualityEquipmentBoList;
    }