lizijie
2021-05-11 55d66b7f91b856cc37ee02ce26ca15b9a21c7d68
sensor更新接口
7 files modified
205 ■■■■■ changed files
screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java 5 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/controller/SensorController.java 14 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/entity/Sensor.java 32 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/mapper/SensorMapper.java 7 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/SensorService.java 5 ●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java 81 ●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/mapper/SensorMapper.xml 61 ●●●● patch | view | raw | blame | history
screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
@@ -46,8 +46,9 @@
    USER_EXIST(-32,"用户已经存在"),
    ORGANIZATION_USER_EXIST(-33,"组织已经存在用户"),
    SENSOR_IS_EXIST(-34, "因子已存在"),
    SENSOR_KEY_IS_EXIST(-35, "因子编码已被使用"),
    ORGANIZATION_USER_NOT_EXIST(-36,"组织账号不存在")
    SENSOR_KEY_IS_USED(-35, "因子编码已被使用"),
    ORGANIZATION_USER_NOT_EXIST(-36,"组织账号不存在"),
    SENSOR_IS_NOT_EXIST(-37, "因子不存在")
    ;
    private final Integer code;
    private final String  msg;
screen-manage/src/main/java/com/moral/api/controller/SensorController.java
@@ -47,4 +47,18 @@
        return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString());
        //return null;
    }
    @RequestMapping(value = "updateSensor", method = RequestMethod.POST)
    @ResponseBody
    public ResultMessage updateSensor(@RequestBody Map<String, Object> parameters,HttpServletRequest request) {
        //Sensor sensor = JSON.parseObject(JSON.toJSONString(parameters), Sensor.class);
        Map<String,Object> resultMap = sensorService.updateSensor(parameters);
        String msg = resultMap.get("msg").toString();
        int code = Integer.parseInt(resultMap.get("code").toString());
        if (code == 0){
            return ResultMessage.ok(msg);
        }
        return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString());
        //return null;
    }
}
screen-manage/src/main/java/com/moral/api/entity/Sensor.java
@@ -1,10 +1,13 @@
package com.moral.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -14,7 +17,7 @@
 * </p>
 *
 * @author moral
 * @since 2021-05-06
 * @since 2021-05-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@@ -36,42 +39,29 @@
    /**
     * 公司自定义因子编号
     */
    private String sensorKey;
    @TableField(value = "`desc`")
    private String desc;
    /**
     * 因子单位
     * 国标因子编码
     */
    private String unit;
    /**
     * 上限值
     */
    private Double upper;
    /**
     * 下限值
     */
    private Double lower;
    @TableField(value = "`code`")
    private String code;
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    private Date createTime;
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    private Date updateTime;
    /**
     * 是否删除
     */
    private String isDelete;
    /**
     * 描述
     */
    private String desc;
    @Override
screen-manage/src/main/java/com/moral/api/mapper/SensorMapper.java
@@ -3,16 +3,21 @@
import com.moral.api.entity.Sensor;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Map;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author moral
 * @since 2021-05-06
 * @since 2021-05-08
 */
public interface SensorMapper extends BaseMapper<Sensor> {
    void insertOne(Sensor sensor);
    Sensor getSensorById(int id);
    void updateSensor(Map<String,Object> updateSensorMap);
}
screen-manage/src/main/java/com/moral/api/service/SensorService.java
@@ -12,11 +12,14 @@
 * </p>
 *
 * @author moral
 * @since 2021-05-06
 * @since 2021-05-08
 */
@Transactional
public interface SensorService extends IService<Sensor> {
    @Transactional
    Map<String,Object> insertOne(Sensor sensor);
    @Transactional
    Map<String,Object> updateSensor(Map<String,Object> updateSensorMap);
}
screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java
@@ -11,6 +11,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -25,7 +26,7 @@
 * </p>
 *
 * @author moral
 * @since 2021-05-06
 * @since 2021-05-08
 */
@Service
@Transactional
@@ -38,9 +39,10 @@
    LogUtils logUtils;
    @Override
    @Transactional
    public Map<String, Object> insertOne(Sensor sensor) {
        Map<String,Object> resultMap = new HashMap<>();
        if (sensor.getName()==null || sensor.getSensorKey()==null){
        if (sensor.getName()==null || sensor.getCode()==null){
            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
            return resultMap;
@@ -53,19 +55,78 @@
            resultMap.put("msg",ResponseCodeEnum.SENSOR_IS_EXIST.getMsg());
            return resultMap;
        }
        QueryWrapper<Sensor> wrapper_sensorKey = new QueryWrapper<>();
        wrapper_sensorKey.eq("sensor_key",sensor.getSensorKey());
        wrapper_sensorKey.eq("is_delete","0");
        if (sensorMapper.selectCount(wrapper_sensorKey)!=0){
            resultMap.put("code",ResponseCodeEnum.SENSOR_KEY_IS_EXIST.getCode());
            resultMap.put("msg",ResponseCodeEnum.SENSOR_KEY_IS_EXIST.getMsg());
        QueryWrapper<Sensor> wrapper_code = new QueryWrapper<>();
        wrapper_code.eq("code",sensor.getCode());
        wrapper_code.eq("is_delete","0");
        if (sensorMapper.selectCount(wrapper_code)!=0){
            resultMap.put("code",ResponseCodeEnum.SENSOR_KEY_IS_USED.getCode());
            resultMap.put("msg",ResponseCodeEnum.SENSOR_KEY_IS_USED.getMsg());
            return resultMap;
        }
        //sensorMapper.insertOne(sensor);
        sensorMapper.insertOne(sensor);
        //操作插入日志
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        String content = "添加因子:"+sensor.getName()+";";
        //logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE);
        logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE);
        resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
        resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
        return resultMap;
    }
    @Override
    public Map<String, Object> updateSensor(Map<String,Object> updateSensorMap) {
        Map<String,Object> resultMap = new HashMap<>();
        if(ObjectUtils.isEmpty(updateSensorMap.get("id"))){
            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
            return resultMap;
        }
        if (updateSensorMap.containsKey("name")){
            if (updateSensorMap.get("name")==null||updateSensorMap.get("name")==""){
                resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
                resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
                return resultMap;
            }
        }
        if (updateSensorMap.containsKey("code")){
            if(ObjectUtils.isEmpty(updateSensorMap.get("code"))){
                resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
                resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
                return resultMap;
            }
        }
        Sensor oldSensor = sensorMapper.getSensorById(Integer.parseInt(updateSensorMap.get("id").toString()));
        if (ObjectUtils.isEmpty(oldSensor)){
            resultMap.put("code",ResponseCodeEnum.SENSOR_IS_NOT_EXIST.getCode());
            resultMap.put("msg",ResponseCodeEnum.SENSOR_IS_NOT_EXIST.getMsg());
            return resultMap;
        }
        QueryWrapper<Sensor> wrapper_code = new QueryWrapper<>();
        wrapper_code.eq("code",updateSensorMap.get("code"));
        wrapper_code.eq("is_delete","0");
        List<Sensor> sensorList = sensorMapper.selectList(wrapper_code);
        System.out.println(sensorList.get(0));
        if (sensorList.size()!=0&&!sensorList.get(0).getId().toString().equals(updateSensorMap.get("id").toString())){
            resultMap.put("code",ResponseCodeEnum.SENSOR_KEY_IS_USED.getCode());
            resultMap.put("msg",ResponseCodeEnum.SENSOR_KEY_IS_USED.getMsg());
            return resultMap;
        }
        sensorMapper.updateSensor(updateSensorMap);
        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        String content = "修改因子:"+oldSensor.getName()+";";
        for (Object key:updateSensorMap.keySet()) {
            if (key.toString().equals("name")){
                content = content+"角色名:"+oldSensor.getName()+"->"+updateSensorMap.get(key)+";";
            }
            if (key.toString().equals("code")){
                content = content+"编号:"+oldSensor.getCode()+"->"+updateSensorMap.get(key)+";";
            }
            if (key.toString().equals("desc")){
                content = content+"备注:"+oldSensor.getDesc()+"->"+updateSensorMap.get(key)+";";
            }
        }
        System.out.println(content);
        logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE);
        resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
        resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
        return resultMap;
screen-manage/src/main/resources/mapper/SensorMapper.xml
@@ -6,18 +6,15 @@
        <resultMap id="BaseResultMap" type="com.moral.api.entity.Sensor">
                    <id column="id" property="id" />
                    <result column="name" property="name" />
                    <result column="sensor_key" property="sensorKey" />
                    <result column="unit" property="unit" />
                    <result column="upper" property="upper" />
                    <result column="lower" property="lower" />
                    <result column="desc" property="desc" />
                    <result column="code" property="code" />
                    <result column="create_time" property="createTime" />
                    <result column="update_time" property="updateTime" />
                    <result column="is_delete" property="isDelete" />
                    <result column="desc" property="desc" />
        </resultMap>
    <sql id="Base_Column_List">
            s.id,s.name,s.sensor_key,s.unit,s.upper,s.lower,s.create_time,s.update_time,s.id_delete,s.desc
            s.id,s.name,s.code,s.desc,s.create_time,s.update_time,s.is_delete
    </sql>
    <insert id="insertOne" parameterType="com.moral.api.entity.Sensor">
@@ -26,17 +23,8 @@
            <if test="name != null">
                name,
            </if>
            <if test="sensorKey != null">
                sensor_key,
            </if>
            <if test="unit != null">
                unit,
            </if>
            <if test="upper != null">
                upper,
            </if>
            <if test="lower != null">
                lower,
            <if test="code != null">
                code,
            </if>
            <if test="desc != null">
                `desc`,
@@ -46,17 +34,8 @@
            <if test="name != null">
                #{name},
            </if>
            <if test="sensorKey != null">
                #{sensorKey},
            </if>
            <if test="unit != null">
                #{unit},
            </if>
            <if test="upper != null">
                #{upper},
            </if>
            <if test="lower != null">
                #{lower},
            <if test="code != null">
                #{code},
            </if>
            <if test="desc != null">
                #{desc},
@@ -64,4 +43,30 @@
        </trim>
    </insert>
    <select id="getSensorById" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"></include>
        from sensor s
        where s.id = #{id}
        and s.is_delete = 0
    </select>
    <update id="updateSensor" parameterType="java.util.Map">
        update sensor
        <set>
            <if test="name != null">
                name = #{name},
            </if>
            <if test="desc != null">
                `desc` = #{desc},
            </if>
            <if test="code != null">
                code = #{code},
            </if>
            <if test="isDelete != null">
                is_delete = #{isDelete},
            </if>
        </set>
        where id = #{id}
    </update>
</mapper>