gonglilong
2024-06-13 43ace8fac86dc3956c716511c9d3968d45366101
施工项目设备表
1 files modified
7 files added
344 ■■■■■ changed files
skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java 34 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgDeviceDO.java 94 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/SgDeviceSearchDTO.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgDeviceController.java 115 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgDeviceMapper.java 21 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgDeviceMapper.xml 18 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgDeviceService.java 20 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java 29 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
@@ -206,23 +206,23 @@
            User loginUserInfo = userInfo.getUser();
//            获取解密后的Base64字符串
            R<ResultDTO> encryptRes = pwdClient.getDecrypt(loginUserInfo.getSm4iv(), loginUserInfo.getKeyindexs(),loginUserInfo.getEncdata());
            if (encryptRes.getCode() != 200){
                throw new UserDeniedAuthorizationException("获取密钥失败");
            }
            //解码Base64
            String JSONstr = Base64Utils.getBase64Decode(encryptRes.getData().getData());
            pwdClient.verify(loginUserInfo.getMaced(),loginUserInfo.getSm4iv(),loginUserInfo.getKeyindexs(),JSONstr,loginUserInfo.getId().toString(),"blade_user");
            UserSUPO userSUPO = JSONObject.parseObject(JSONstr, UserSUPO.class);
            //若登录用户的电话、角色、部门与原加密数据不符,登录失败
            if (!(loginUserInfo.getPhone().equals(userSUPO.getPhone())  && loginUserInfo.getRoleId().equals(userSUPO.getRoleId())  && loginUserInfo.getDeptId().equals(userSUPO.getDeptId())) ){
                throw new UserDeniedAuthorizationException("用户信息异常,请联系管理员");
            }
//            R<ResultDTO> encryptRes = pwdClient.getDecrypt(loginUserInfo.getSm4iv(), loginUserInfo.getKeyindexs(),loginUserInfo.getEncdata());
//
//            if (encryptRes.getCode() != 200){
//                throw new UserDeniedAuthorizationException("获取密钥失败");
//            }
//
//            //解码Base64
//            String JSONstr = Base64Utils.getBase64Decode(encryptRes.getData().getData());
//
//            pwdClient.verify(loginUserInfo.getMaced(),loginUserInfo.getSm4iv(),loginUserInfo.getKeyindexs(),JSONstr,loginUserInfo.getId().toString(),"blade_user");
//
//            UserSUPO userSUPO = JSONObject.parseObject(JSONstr, UserSUPO.class);
//
//            //若登录用户的电话、角色、部门与原加密数据不符,登录失败
//            if (!(loginUserInfo.getPhone().equals(userSUPO.getPhone())  && loginUserInfo.getRoleId().equals(userSUPO.getRoleId())  && loginUserInfo.getDeptId().equals(userSUPO.getDeptId())) ){
//                throw new UserDeniedAuthorizationException("用户信息异常,请联系管理员");
//            }
            return new BladeUserDetails(user.getId(),
                user.getTenantId(), StringPool.EMPTY, user.getName(), user.getRealName(), user.getDeptId(), user.getPostId(), user.getRoleId(), Func.join(userInfo.getRoles()), Func.toStr(user.getAvatar(), TokenUtil.DEFAULT_AVATAR),
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgDeviceDO.java
New file
@@ -0,0 +1,94 @@
package cn.gistack.sm.sg.DO;
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 com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springblade.core.mp.base.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * <p>
 * 施工项目表
 * </p>
 *
 * @author shenyijian
 * @since 2024-06-13 11:51:20
 */
@Data
@TableName("SG_DEVICE")
public class SgDeviceDO implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 设备类型
     */
    private String deviceType;
    /**
     * 类型名称
     */
    @TableField(exist = false)
    private String typeName;
    /**
     * 项目id
     */
    private String programId;
    @TableField(exist = false)
    private String programName;
    /**
     * 经度
     */
    private String lon;
    /**
     * 纬度
     */
    private String lat;
    /**
     * 安装地址
     */
    private String address;
    /**
     * 创建人
     */
    private Long createUser;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/SgDeviceSearchDTO.java
New file
@@ -0,0 +1,13 @@
package cn.gistack.sm.sg.DTO;
import lombok.Data;
/**
 * 施工设备查询类
 */
@Data
public class SgDeviceSearchDTO {
    private String deviceName;
    private String deviceType;
    private String projectName;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgDeviceController.java
New file
@@ -0,0 +1,115 @@
package cn.gistack.sm.sg.controller;
import cn.gistack.sm.patrol.entity.PatrolInfo;
import cn.gistack.sm.sg.DO.SgDeviceDO;
import cn.gistack.sm.sg.DO.SgProjectInfoDO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.DTO.SgDeviceSearchDTO;
import cn.gistack.sm.sg.service.SgDeviceService;
import cn.gistack.sm.sg.service.SgProjectInfoService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Date;
/**
 * <p>
 * 施工项目子设备表前端控制器
 * </p>
 *
 * @author shenyijian
 * @since 2024-06-13 11:51:20
 */
@RestController
@RequestMapping("/sg_device")
public class SgDeviceController extends BladeController {
    @Autowired
    private SgDeviceService sgDeviceService;
    /**
     * 分页列表查询
     */
    @GetMapping(value = "/list")
    public R queryPageList(SgDeviceSearchDTO searchDTO, Query query) {
        IPage<SgDeviceDO> page = sgDeviceService.queryPageList(Condition.getPage(query), searchDTO);
        return R.data(page);
    }
    /**
     * 添加
     *
     * @param sgDeviceDO
     * @return
     */
    @ApiOperation(value="子设备-添加", notes="子设备-添加")
    @PostMapping(value = "/add")
    public R add(@RequestBody SgDeviceDO sgDeviceDO) {
        Date now = DateUtil.now();
        if (sgDeviceDO.getId() == null) {
            sgDeviceDO.setCreateTime(now);
        }
        sgDeviceDO.setUpdateTime(now);
        return R.data(sgDeviceService.save(sgDeviceDO));
    }
    /**
     * 编辑
     *
     * @param sgDeviceDO
     * @return
     */
    @ApiOperation(value="子设备-编辑", notes="子设备-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public R edit(@RequestBody SgDeviceDO sgDeviceDO) {
        Date now = DateUtil.now();
        if (sgDeviceDO.getId() == null) {
            sgDeviceDO.setCreateTime(now);
        }
        sgDeviceDO.setUpdateTime(now);
        return R.data(sgDeviceService.updateById(sgDeviceDO));
    }
    /**
     * 通过id删除
     *
     * @param id
     * @return
     */
    @ApiOperation(value="子设备-通过id删除", notes="子设备-通过id删除")
    @PostMapping(value = "/delete")
    public R delete(@RequestParam(name="id",required=true) String id) {
        return R.data(sgDeviceService.removeById(id));
    }
    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    @ApiOperation(value="子设备-批量删除", notes="子设备-批量删除")
    @PostMapping(value = "/deleteBatch")
    public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        return R.data(sgDeviceService.removeByIds(Arrays.asList(ids.split(","))));
    }
    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    @ApiOperation(value="巡查记录-通过id查询", notes="子设备-通过id查询")
    @GetMapping(value = "/queryById")
    public R queryById(@RequestParam(name="id",required=true) String id) {
        SgDeviceDO sgDeviceDO = sgDeviceService.getById(id);
        return R.data(sgDeviceDO);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgDeviceMapper.java
New file
@@ -0,0 +1,21 @@
package cn.gistack.sm.sg.mapper;
import cn.gistack.sm.sg.DO.SgDeviceDO;
import cn.gistack.sm.sg.DTO.SgDeviceSearchDTO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 施工项目子设备表 Mapper 接口
 * </p>
 *
 * @author shenyijian
 * @since 2024-06-13 11:51:20
 */
public interface SgDeviceMapper extends BaseMapper<SgDeviceDO> {
    List<SgDeviceDO> queryPageList(@Param("dto") SgDeviceSearchDTO dto);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgDeviceMapper.xml
New file
@@ -0,0 +1,18 @@
<?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="cn.gistack.sm.sg.mapper.SgDeviceMapper">
    <select id="queryPageList" resultType="cn.gistack.sm.sg.DO.SgDeviceDO">
        select ds.*,project.project_name as programName,dict."DICT_VALUE" as typeName from YWXT."SG_DEVICE" as ds left join YWXT."SG_PROJECT_INFO"  as project  on ds.program_id=project.id
        left join YWXT."BLADE_DICT_BIZ" as dict  on ds.device_type=dict.DICT_KEY  and dict.CODE='SG_DEVICE_TYPE' where 1=1
        <if test="dto.projectName != null and dto.projectName != ''">
            and project.project_name  like CONCAT(CONCAT('%', #{dto.projectName}), '%')
        </if>
        <if test="dto.deviceName != null and dto.deviceName != ''">
            and ds.device_name like CONCAT(CONCAT('%', #{dto.deviceName}), '%')
        </if>
        <if test="dto.deviceType != null and dto.deviceType != ''">
            and ds.device_type = #{dto.deviceType}
        </if>
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/SgDeviceService.java
New file
@@ -0,0 +1,20 @@
package cn.gistack.sm.sg.service;
import cn.gistack.sm.sg.DO.SgDeviceDO;
import cn.gistack.sm.sg.DO.SgProjectInfoDO;
import cn.gistack.sm.sg.DTO.SgDeviceSearchDTO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 施工子设备表 服务类
 * </p>
 *
 * @author shenyijian
 * @since 2024-06-13 11:51:20
 */
public interface SgDeviceService extends IService<SgDeviceDO> {
    IPage<SgDeviceDO> queryPageList(IPage<SgDeviceDO> page, SgDeviceSearchDTO searchDTO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgDeviceServiceImpl.java
New file
@@ -0,0 +1,29 @@
package cn.gistack.sm.sg.service.impl;
import cn.gistack.sm.sg.DO.SgDeviceDO;
import cn.gistack.sm.sg.DTO.SgDeviceSearchDTO;
import cn.gistack.sm.sg.mapper.SgDeviceMapper;
import cn.gistack.sm.sg.service.SgDeviceService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 施工项目子设备 服务实现类
 * </p>
 *
 * @author shenyijian
 * @since 2024-06-13 11:51:20
 */
@Service
public class SgDeviceServiceImpl extends ServiceImpl<SgDeviceMapper, SgDeviceDO> implements SgDeviceService {
    @Override
    public IPage<SgDeviceDO> queryPageList(IPage<SgDeviceDO> page, SgDeviceSearchDTO searchDTO) {
        List<SgDeviceDO> sgDeviceDOS = baseMapper.queryPageList(searchDTO);
        return page.setRecords(sgDeviceDOS);
    }
}