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); } }