唐耀东
2022-02-18 ce34d9d0ac101f816a0fc7f798607adfe44d7885
问题修改
7个文件已修改
1个文件已添加
95 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/DataFormatUtils.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/DevEquipmentCode.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/DevManufacturerBo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentCodeMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/DevEquipmentServiceImpl.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-oa/src/main/resources/mapper/oa/DevEquipmentMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -55,7 +55,9 @@
        // 生成令牌
        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
                loginBody.getUuid());
        SysUser user = userService.selectUserByUserName(loginBody.getUsername());
        ajax.put(Constants.TOKEN, token);
        ajax.put("userName", user.getNickName());
        return AjaxResult.success(ajax);
    }
ruoyi-common/src/main/java/com/ruoyi/common/utils/DataFormatUtils.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.common.utils;
public class DataFormatUtils {
    /**
     * 字符串转化成为16进制字符串
     * @param s
     * @return
     */
    public static String strTo16(String s) {
        String str = "";
        for (int i = 0; i < s.length(); i++) {
            int ch = (int) s.charAt(i);
            String s4 = Integer.toHexString(ch);
            str = str + s4;
        }
        return str;
    }
    public static String padLeft(String str,int len){
        String pad="0000000000000000";
        return len>str.length()&&len<=16&&len>=0?pad.substring(0,len-str.length())+str:str;
    }
    public static String intToHex(int n) {
        StringBuffer s = new StringBuffer();
        String a;
        char []b = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
        while(n != 0){
            s = s.append(b[n%16]);
            n = n/16;
        }
        a = s.reverse().toString();
        return a;
    }
}
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/DevEquipmentCode.java
@@ -29,6 +29,10 @@
    @TableId(value = "id")
    private Long id;
    private Long code;
    private int version;
    private Date createTime;
}
ruoyi-oa/src/main/java/com/ruoyi/oa/domain/bo/DevManufacturerBo.java
@@ -49,7 +49,6 @@
     * 联系方式
     */
    @ApiModelProperty(value = "联系方式", required = true)
    @NotBlank(message = "联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
    private String phone;
    /**
ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentCodeMapper.java
@@ -13,4 +13,5 @@
@Mapper
public interface DevEquipmentCodeMapper extends BaseMapperPlus<DevEquipmentCode> {
}
ruoyi-oa/src/main/java/com/ruoyi/oa/mapper/DevEquipmentMapper.java
@@ -2,6 +2,7 @@
import com.ruoyi.oa.domain.DevEquipment;
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;
/**
 * 智控设备Mapper接口
@@ -10,5 +11,5 @@
 * @date 2021-12-05
 */
public interface DevEquipmentMapper extends BaseMapperPlus<DevEquipment> {
    int updateCode(@Param("id") Long id, @Param("version") int version);
}
ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/DevEquipmentServiceImpl.java
@@ -4,13 +4,17 @@
import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DataFormatUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.oa.domain.BsSchool;
import com.ruoyi.oa.domain.DevEquipmentCode;
import com.ruoyi.oa.mapper.DevEquipmentCodeMapper;
import com.ruoyi.oa.service.IBsSchoolService;
import com.ruoyi.oa.service.IDevEquipmentCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
@@ -37,7 +41,10 @@
public class DevEquipmentServiceImpl extends ServicePlusImpl<DevEquipmentMapper, DevEquipment, DevEquipmentVo> implements IDevEquipmentService {
    @Autowired
    private DevEquipmentCodeMapper devEquipmentCodeMapper;
    private IDevEquipmentCodeService devEquipmentCodeService;
    @Autowired
    private IBsSchoolService iBsSchoolService;
    @Override
    public DevEquipmentVo queryById(Long id) {
@@ -130,13 +137,33 @@
        // 设备不存在则新建
        else {
            if(bo.isRegister()) {
                BsSchool bsSchool = iBsSchoolService.getById(5);
                if(bsSchool == null){
                    throw new ServiceException("学校编号不存在,请先到线上维护", HttpStatus.HTTP_PARTIAL);
                }
                // 先根据序列码生成序列号
                List<DevEquipmentCode> devEquipmentCodeList = devEquipmentCodeService.list();
                DevEquipmentCode c = new DevEquipmentCode();
                if(devEquipmentCodeList != null && devEquipmentCodeList.size() > 0){
                    c = devEquipmentCodeList.get(0);
                }else{
                c.setCreateTime(DateUtils.getNowDate());
                devEquipmentCodeMapper.insert(c);
                    c.setCode(Long.parseLong("1"));
                    c.setVersion(1);
                    devEquipmentCodeService.save(c);
                }
                int i = baseMapper.updateCode(c.getId(), c.getVersion());
                if(i <= 0){
                    throw new ServiceException("设备编号表被占用,请稍后在校验", HttpStatus.HTTP_PARTIAL);
                }
                // 添加设备
                DevEquipment add = BeanUtil.toBean(bo, DevEquipment.class);
                add.setSerialNumber(c.getId());
                String schoolCodeHex16 = "0".equals(Integer.toHexString(Integer.parseInt(bsSchool.getCode()))) ? "0000" : Integer.toHexString(Integer.parseInt(bsSchool.getCode()));//DataFormatUtils.strTo16(bsSchool.getCode());
                String codeHex16 =DataFormatUtils.padLeft(Integer.toHexString(Integer.parseInt(c.getCode().toString())), 4);
                String hostId = (schoolCodeHex16 + codeHex16).toUpperCase();
                add.setHostId(hostId);
                add.setSerialNumber(c.getCode());
                add.setUseStatus("1");
                baseMapper.insert(add);
                return add;
            }else{
@@ -167,12 +194,12 @@
//        if (StringUtils.isEmpty(bo.getFrequencyBand())) {
//            po.setFrequencyBand(bo.getFrequencyBand());
//        }
//        if (null != bo.getBatchId()) {
//            po.setBatchId(bo.getBatchId());
//        }
//        if (StringUtils.isEmpty(bo.getRemarks())) {
//            po.setRemarks(bo.getRemarks());
//        }
        if (null != bo.getBatchId()) {
            po.setBatchId(bo.getBatchId());
        }
        if (StringUtils.isNotBlank(bo.getRemarks())) {
            po.setRemarks(bo.getRemarks());
        }
        baseMapper.updateById(po);
        return po;
    }
ruoyi-oa/src/main/resources/mapper/oa/DevEquipmentMapper.xml
@@ -24,6 +24,8 @@
        <result property="delFlag" column="del_flag"/>
        <result property="version" column="version"/>
    </resultMap>
    <update id="updateCode">
        update dev_equipment_code set code = code + 1, version = version + 1 where id = #{id} and version = #{version}
    </update>
</mapper>