作者 钟来

添加插件功能

... ... @@ -16,10 +16,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="mqtt_username" column="mqtt_username" />
<result property="product_name" column="product_name" />
<result property="is_sync_db" column="is_sync_db" />
<result property="sync_db" column="sync_db" />
<result property="analysis_clas" column="analysis_clas" />
<result property="purification_clas" column="purification_clas" />
</resultMap>
<sql id="selectIotProductVo">
select `id`,`mqtt_username`,`mqtt_password`,`product_name`,`mqtt_salt`,`create_time`,`encryption_type`,`open_encryption`,`used`,`role_id` from iot_product
select `id`,`mqtt_username`,`mqtt_password`,`product_name`,`mqtt_salt`,`create_time`,`encryption_type`,`open_encryption`,`used`,`role_id`,`is_sync_db`,`sync_db`,`analysis_clas`,`purification_clas` from iot_product
</sql>
<select id="selectIotProductList" parameterType="IotProduct" resultMap="IotProductResult">
... ... @@ -53,6 +57,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="used != null">used,</if>
<if test="mqtt_username != null and mqtt_username != ''">mqtt_username,</if>
<if test="product_name != null and product_name != ''">product_name,</if>
<if test="is_sync_db != null ">is_sync_db,</if>
<if test="sync_db != null ">sync_db,</if>
<if test="analysis_clas != null">analysis_clas,</if>
<if test="purification_clas != null ">purification_clas,</if>
create_time,
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
... ... @@ -65,6 +73,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="used != null">#{used},</if>
<if test="mqtt_username != null and mqtt_username != ''">#{mqtt_username},</if>
<if test="product_name != null and product_name != ''">#{product_name},</if>
<if test="is_sync_db != null">#{is_sync_db},</if>
<if test="sync_db != null">#{sync_db},</if>
<if test="analysis_clas != null">#{analysis_clas},</if>
<if test="purification_clas != null">#{purification_clas},</if>
UNIX_TIMESTAMP(NOW()),
</trim>
</insert>
... ... @@ -81,6 +93,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="used != null">used = #{used},</if>
<if test="mqtt_username != null and mqtt_username != ''">mqtt_username = #{mqtt_username},</if>
<if test="product_name != null and product_name != ''">product_name = #{product_name},</if>
<if test="role_id != null">is_sync_db = #{is_sync_db},</if>
<if test="role_id != null">role_id = #{sync_db},</if>
<if test="role_id != null">analysis_clas = #{analysis_clas},</if>
<if test="role_id != null">purification_clas = #{purification_clas},</if>
</trim>
where id = #{id}
</update>
... ...
<?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="com.zhonglai.luhui.device.mapper.IotProtocolClassMapper">
<resultMap type="IotProtocolClass" id="IotProtocolClassResult">
<result property="id" column="id" />
<result property="type" column="type" />
<result property="name" column="name" />
<result property="case_model" column="case_model" />
<result property="classname" column="classname" />
<result property="create_time" column="create_time" />
</resultMap>
<sql id="selectIotProtocolClassVo">
select `id`, `type`, `name`, `case_model`, `classname`, `create_time` from iot_protocol_class
</sql>
<select id="selectIotProtocolClassList" parameterType="IotProtocolClass" resultMap="IotProtocolClassResult">
<include refid="selectIotProtocolClassVo"/>
<where>
<if test="id != null "> and id = #{id}</if>
<if test="type != null "> and type = #{type}</if>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="classname != null and classname != ''"> and classname like concat('%', #{classname}, '%')</if>
</where>
</select>
<select id="selectIotProtocolClassById" parameterType="Integer" resultMap="IotProtocolClassResult">
<include refid="selectIotProtocolClassVo"/>
where id = #{id}
</select>
<insert id="insertIotProtocolClass" parameterType="IotProtocolClass" useGeneratedKeys="true" keyProperty="id">
insert into iot_protocol_class
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="type != null">`type`,</if>
<if test="name != null">`name`,</if>
<if test="case_model != null">`case_model`,</if>
<if test="classname != null">`classname`,</if>
<if test="create_time != null">`create_time`,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="type != null">#{type},</if>
<if test="name != null">#{name},</if>
<if test="case_model != null">#{case_model},</if>
<if test="classname != null">#{classname},</if>
<if test="create_time != null">#{create_time},</if>
</trim>
</insert>
<update id="updateIotProtocolClass" parameterType="IotProtocolClass">
update iot_protocol_class
<trim prefix="SET" suffixOverrides=",">
<if test="type != null">`type` = #{type},</if>
<if test="name != null">`name` = #{name},</if>
<if test="case_model != null">`case_model` = #{case_model},</if>
<if test="classname != null">`classname` = #{classname},</if>
<if test="create_time != null">`create_time` = #{create_time},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteIotProtocolClassById" parameterType="Integer">
delete from iot_protocol_class where id = #{id}
</delete>
<delete id="deleteIotProtocolClassByIds" parameterType="String">
delete from iot_protocol_class where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
... ...
package com.zhonglai.luhui.admin.controller.iot;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.zhonglai.luhui.device.domain.IotProtocolClass;
import com.zhonglai.luhui.device.service.IIotProtocolClassService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.zhonglai.luhui.action.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 产品解析插件包Controller
*
* @author 钟来
* @date 2024-06-13
*/
@Api(tags = "产品解析插件包")
@RestController
@RequestMapping("/iot/IotProtocolClass")
public class IotProtocolClassController extends BaseController
{
@Autowired
private IIotProtocolClassService iotProtocolClassService;
/**
* 查询产品解析插件包列表
*/
@ApiOperation("查询产品解析插件包列表")
@GetMapping("/list")
public TableDataInfo list(IotProtocolClass iotProtocolClass)
{
startPage();
List<IotProtocolClass> list = iotProtocolClassService.selectIotProtocolClassList(iotProtocolClass);
return getDataTable(list);
}
/**
* 获取产品解析插件包详细信息
*/
@ApiOperation("获取产品解析插件包详细信息")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Integer id)
{
return AjaxResult.success(iotProtocolClassService.selectIotProtocolClassById(id));
}
/**
* 新增产品解析插件包
*/
@ApiOperation("新增产品解析插件包")
@Log(title = "产品解析插件包", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody IotProtocolClass iotProtocolClass)
{
return toAjax(iotProtocolClassService.insertIotProtocolClass(iotProtocolClass));
}
/**
* 修改产品解析插件包
*/
@ApiOperation("修改产品解析插件包")
@Log(title = "产品解析插件包", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody IotProtocolClass iotProtocolClass)
{
return toAjax(iotProtocolClassService.updateIotProtocolClass(iotProtocolClass));
}
/**
* 删除产品解析插件包
*/
@ApiOperation("删除产品解析插件包")
@Log(title = "产品解析插件包", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Integer[] ids)
{
return toAjax(iotProtocolClassService.deleteIotProtocolClassByIds(ids));
}
}
... ...
... ... @@ -188,6 +188,7 @@ public class IotThingsModelController extends BaseController
IotProduct iotProduct = iIotProductService.selectIotProductById(oldiotThingsModel.getProduct_id());
iotThingsModel.setMqtt_username(iotProduct.getMqtt_username());
terminalDataThingsModeService.saveIotThingsModel(JSON.parseObject(JSONObject.toJSONString(iotThingsModel),IotThingsModel.class));
return toAjax(ri);
}
... ...