Fancy
2024-10-16 7a1ab2693de593026b420fd89b977881eee484ff
command crud
5个文件已添加
358 ■■■■■ 已修改文件
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoTst/TstCommandMapper.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoTst/TstCommand.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-test/src/main/java/com/dy/pmsTest/command/CommandCtrl.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-test/src/main/java/com/dy/pmsTest/command/CommandSv.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-test/src/main/java/com/dy/pmsTest/command/QueryVo.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/daoTst/TstCommandMapper.java
New file
@@ -0,0 +1,41 @@
package com.dy.pmsGlobal.daoTst;
import com.dy.pmsGlobal.pojoTst.TstCommand;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @author User
* @description 针对表【tst_command】的数据库操作Mapper
* @createDate 2024-10-16 15:50:25
* @Entity com.dy.pmsGlobal.pojoTst.TstCommand
*/
@Mapper
public interface TstCommandMapper {
    int deleteByPrimaryKey(Long id);
    int insert(TstCommand record);
    int insertSelective(TstCommand record);
    int deleteLogicById(Long id);
    TstCommand selectByPrimaryKey(Long id);
    Long selectByNameId(@Param("id") Long id,@Param("proId") Long proId, @Param("name") String name);
    List<TstCommand> selectAll();
    Long selectSomeCount(Map<String,Object> params);
    List<TstCommand> selectSome(Map<String,Object> params);
    int updateByPrimaryKeySelective(TstCommand record);
    int updateByPrimaryKey(TstCommand record);
}
pms-parent/pms-global/src/main/java/com/dy/pmsGlobal/pojoTst/TstCommand.java
New file
@@ -0,0 +1,90 @@
package com.dy.pmsGlobal.pojoTst;
import com.alibaba.fastjson2.annotation.JSONField;
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
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.util.Date;
import com.dy.common.po.BaseEntity;
import lombok.*;
/**
 *
 * @TableName tst_command
 */
@TableName(value ="tst_command", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class TstCommand implements BaseEntity {
    /**
     *
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.AUTO)
    public Long id;
    /**
     * 产品实体编号
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long proId;
    /**
     * 指令类型:测试指令(1)、设置指令(2)
     */
    public Integer type;
    /**
     * 指令名称
     */
    public String name;
    /**
     * 指令值
     */
    public String value;
    /**
     * 是否删除,1是,0否
     */
    public Boolean deleted;
    /**
     * 备注
     */
    public String remark;
    /**
     * 是否禁用,1是,0否
     */
    public Boolean disabled;
    /**
     * 创建人
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long createBy;
    /**
     * 创建时间
     */
    public Date createDate;
    /**
     * 更新人
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long updatedBy;
    /**
     * 更新时间
     */
    public Date updatedDate;
}
pms-parent/pms-test/src/main/java/com/dy/pmsTest/command/CommandCtrl.java
New file
@@ -0,0 +1,130 @@
package com.dy.pmsTest.command;
import com.alibaba.fastjson2.JSON;
import com.dy.common.aop.SsoPowerAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pmsGlobal.aop.Log;
import com.dy.pmsGlobal.pojoTst.TstCommand;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 指令
 */
@Slf4j
@RestController
@RequestMapping(path="command")
public class CommandCtrl {
    private CommandSv sv;
    @Autowired
    public void setSv(CommandSv sv){
        this.sv = sv;
    }
    /**
     * 保存
     * @param command
     * @return
     */
    @PostMapping(path="save")
    @SsoPowerAop(power = "10300005")
    @Log("保存指令")
    public BaseResponse<Boolean> save(@RequestBody @Valid TstCommand command){
        command.disabled = false;
        command.deleted = false;
        int count = sv.save(command);
        if (count <= 0) {
            return BaseResponseUtils.buildFail("数据库存储失败");
        } else {
            return BaseResponseUtils.buildSuccess(true);
        }
    }
    /**
     * 更新
     * @param command
     * @return
     */
    @PostMapping(path="update")
    @SsoPowerAop(power = "10300005")
    @Log("更新指令")
    public BaseResponse<Boolean> update(@RequestBody @Valid TstCommand command){
        int count = sv.update(command);
        if (count <= 0) {
            return BaseResponseUtils.buildFail("数据库存储失败");
        } else {
            return BaseResponseUtils.buildSuccess(true);
        }
    }
    /**
     * 删除
     * @param id
     * @return
     */
    @GetMapping(path="delete")
    @SsoPowerAop(power = "10300005")
    @Log("删除指令")
    public BaseResponse<Boolean> delete(String id){
        int count = sv.delete(Long.parseLong(id));
        if (count <= 0) {
            return BaseResponseUtils.buildFail("数据库存储失败");
        } else {
            return BaseResponseUtils.buildSuccess(true);
        }
    }
    /**
     * 根据ID查询
     * @return
     */
    @GetMapping(path="one")
    @SsoPowerAop(power = "10300004") //登录与权限同时验证
    @Log("根据ID查询指令")
    public BaseResponse<TstCommand> one(String id){
        TstCommand param=sv.selectById(id);
        return BaseResponseUtils.buildSuccess(JSON.toJSON(param));
    }
    /**
     * 分页查询
     * @param vo
     * @return
     */
    @PostMapping(path="some")
    @SsoPowerAop(power = "10300004")
    @Log("分页查询指令")
    public BaseResponse<QueryResultVo<List<TstCommand>>> some(@RequestBody QueryVo vo){
        QueryResultVo<List<TstCommand>> list = sv.selectSome(vo) ;
        return BaseResponseUtils.buildSuccess(list);
    }
    /**
     * 查询所有
     * @return
     */
    @GetMapping(path="all")
    @SsoPowerAop(power = "10300004")
    @Log("查询所有指令")
    public BaseResponse<List<TstCommand>> all(){
        List<TstCommand> list = sv.selectAll();
        return BaseResponseUtils.buildSuccess(list);
    }
}
pms-parent/pms-test/src/main/java/com/dy/pmsTest/command/CommandSv.java
New file
@@ -0,0 +1,79 @@
package com.dy.pmsTest.command;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pmsGlobal.daoTst.TstCommandMapper;
import com.dy.pmsGlobal.pojoTst.TstCommand;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class CommandSv {
    private TstCommandMapper dao;
    @Autowired
    public void setDao(TstCommandMapper dao) {
        this.dao = dao;
    }
    @Transactional
    public int save(TstCommand command) throws RuntimeException {
        if(dao.selectByNameId(command.id,command.proId,command.name)>0){
            throw new RuntimeException("指令名称已存在");
        }
        int count = dao.insertSelective(command);
        return count;
    }
    /**
     * 逻辑删除实体
     * @param id 实体ID
     * @return 影响记录数量
     */
    @Transactional
    public int delete(Long id) {
        return this.dao.deleteLogicById(id);
    }
    @Transactional
    public int update(TstCommand command) throws RuntimeException {
        if(dao.selectByNameId(command.id,command.proId,command.name)>0){
            throw new RuntimeException("指令名称已存在");
        }
        int count = dao.updateByPrimaryKeySelective(command);
        return count;
    }
    public TstCommand selectById(String lineId) {
        return dao.selectByPrimaryKey(Long.valueOf(lineId));
    }
    /**
     * 获取列表
     */
    public QueryResultVo<List<TstCommand>> selectSome(QueryVo queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        //查询符合条件的记录总数
        Long itemTotal = this.dao.selectSomeCount(params);
        QueryResultVo<List<TstCommand>> rsVo = new QueryResultVo<>(queryVo.pageSize, queryVo.pageCurr) ;
        //计算分页等信息
        rsVo.calculateAndSet(itemTotal, params);
        //查询符合条件的记录
        rsVo.obj = this.dao.selectSome(params) ;
        return rsVo ;
    }
    public List<TstCommand> selectAll() {
        return dao.selectAll();
    }
}
pms-parent/pms-test/src/main/java/com/dy/pmsTest/command/QueryVo.java
New file
@@ -0,0 +1,18 @@
package com.dy.pmsTest.command;
import com.dy.common.webUtil.QueryConditionVo;
import lombok.*;
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class QueryVo extends QueryConditionVo {
    public String name;
    public String proId;
    public String type;
    public String value;
}