tplink摄像头语音对讲,机构信息同步

This commit is contained in:
曹磊 2025-03-18 18:07:21 +08:00
parent e7c3ade238
commit 5718b856fc
7 changed files with 178 additions and 0 deletions

View File

@ -23,6 +23,9 @@ public enum ApiEnum {
LOGOUT("/tums/account/v1/logout","注销"),
SET_CURRENT_PROJECT("/tums/resource/v2/setCurrentProject","设置当前项目"),
GET_ALL_PROJECT_INFO("/tums/resource/v2/getAllProjectInfo","获取所有项目信息"),
ADD_PROJECT("/tums/resource/v2/addProject","添加项目信息"),
EDIT_PROJECT("/tums/resource/v2/editProject","修改项目信息"),
DELETE_PROJECT("/tums/resource/v2/deleteProject","删除项目信息"),
GET_ROOT_REGIONS("/tums/resource/v2/getRootRegions","获取区域列表"),
GET_DEVICE_LIST("/tums/deviceManager/v2/getDeviceList","获取设备列表"),
MODIFY_DEVICE_DETAILS("/tums/deviceManager/v1/modifyDeviceDetails","修改设备信息"),

View File

@ -7,6 +7,9 @@
package com.nu.modules.tplink.project.controller;
import javax.servlet.http.HttpServletRequest;
import com.nu.modules.tplink.alarm.entity.AlarmLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jeecg.common.api.vo.Result;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -14,6 +17,7 @@ import lombok.extern.slf4j.Slf4j;
import com.nu.modules.tplink.project.entity.ProjectInfo;
import com.nu.modules.tplink.project.model.ProjectTreeModel;
import com.nu.modules.tplink.project.service.IProjectInfoService;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -85,4 +89,61 @@ public class ProjectInfoController extends JeecgController<ProjectInfo, IProject
}
return result;
}
/**
* 添加
*
* @param projectInfo
* @return
*/
// @AutoLog(value = "护理单元-物联管理-TPLINK项目信息-添加")
@ApiOperation(value="护理单元-物联管理-TPLINK项目信息-添加", notes="护理单元-物联管理-TPLINK项目信息-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody ProjectInfo projectInfo) {
return service.addProject(projectInfo);
}
/**
* 编辑
*
* @param projectInfo
* @return
*/
// @AutoLog(value = "护理单元-物联管理-TPLINK项目信息-编辑")
@ApiOperation(value="护理单元-物联管理-TPLINK项目信息-编辑", notes="护理单元-物联管理-TPLINK项目信息-编辑")
@PostMapping(value = "/edit")
public Result<String> edit(@RequestBody ProjectInfo projectInfo) {
return service.editProject(projectInfo);
}
/**
* 通过id删除
*
* @param projectInfo
* @return
*/
// @AutoLog(value = "护理单元-物联管理-TPLINK项目信息-编辑")
@ApiOperation(value="护理单元-物联管理-TPLINK项目信息-通过id删除", notes="护理单元-物联管理-TPLINK项目信息-通过id删除")
@PostMapping(value = "/delete")
public Result<String> delete(@RequestBody ProjectInfo projectInfo) {
return service.deleteProject(projectInfo);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "护理单元-物联管理-TPLINK项目信息-通过id查询")
@ApiOperation(value="护理单元-物联管理-TPLINK项目信息-通过id查询", notes="护理单元-物联管理-TPLINK项目信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<ProjectInfo> queryById(@RequestParam(name="id",required=true) String id) {
ProjectInfo projectInfo = service.getById(id);
if(projectInfo==null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectInfo);
}
}

View File

@ -21,6 +21,7 @@ public interface ProjectInfoMapper extends BaseMapper<ProjectInfo> {
IPage<ProjectInfo> findPage(Page<ProjectInfo> page, @Param("params") ProjectInfo projectInfo);
int add(Map<String, String> map);
int updateById(Map<String, String> map);
int deleteByProjectId(String projectId);
int updateLeafByPId(Map<String, String> map);
List<ProjectInfo> queryTreeList();
}

View File

@ -141,6 +141,10 @@
where id = #{id}
</update>
<update id="deleteByProjectId">
delete from nu_iot_tplink_project where project_id = #{projectId}
</update>
<update id="updateLeafByPId">
update nu_iot_tplink_project
set iz_leaf = #{izLeaf}

View File

@ -21,4 +21,9 @@ public interface IProjectInfoService extends IService<ProjectInfo> {
List<ProjectInfo> findList(ProjectInfo projectInfo);
IPage<ProjectInfo> findPage(Page<ProjectInfo> page, ProjectInfo projectInfo);
List<ProjectTreeModel> queryTreeList();
Result<String> addProject(ProjectInfo projectInfo);
Result<String> editProject(ProjectInfo projectInfo);
Result<String> deleteProject(ProjectInfo projectInfo);
}

View File

@ -128,4 +128,69 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, Proje
return records;
}
/**
* 添加
*
*/
@Override
public Result<String> addProject(ProjectInfo projectInfo){
StringBuffer sb = new StringBuffer();
sb.append("{");
sb.append("\"enterpriseId\"").append(":").append("\"0\"").append(",");
sb.append("\"projectName\"").append(":").append("\"").append(projectInfo.getProjectName()).append("\"");
sb.append("}");
String jsonResponse = tumsApi.addProject(sb.toString());
JSONObject jsonObject = new JSONObject(jsonResponse);
String errorCode = jsonObject.getStr("error_code");
if(errorCode.equals("0")){
sync();
return Result.OK("项目添加成功!");
}else{
return Result.error(jsonObject.getStr("msg"));
}
}
/**
* 编辑
*
*/
@Override
public Result<String> editProject(ProjectInfo projectInfo){
StringBuffer sb = new StringBuffer();
sb.append("{");
sb.append("\"projectId\"").append(":").append("\"").append(projectInfo.getProjectId()).append("\",");
sb.append("\"projectName\"").append(":").append("\"").append(projectInfo.getProjectName()).append("\"");
sb.append("}");
String jsonResponse = tumsApi.editProject(sb.toString());
JSONObject jsonObject = new JSONObject(jsonResponse);
String errorCode = jsonObject.getStr("error_code");
if(errorCode.equals("0")){
sync();
return Result.OK("项目编辑成功!");
}else{
return Result.error(jsonObject.getStr("msg"));
}
}
/**
* 通过id删除
*
*/
@Override
public Result<String> deleteProject(ProjectInfo projectInfo){
StringBuffer sb = new StringBuffer();
sb.append("{");
sb.append("\"projectId\"").append(":").append("\"").append(projectInfo.getProjectId()).append("\"");
sb.append("}");
String jsonResponse = tumsApi.deleteProject(sb.toString());
JSONObject jsonObject = new JSONObject(jsonResponse);
String errorCode = jsonObject.getStr("error_code");
if(errorCode.equals("0")||errorCode.equals("-82401")){
baseMapper.deleteByProjectId(projectInfo.getProjectId());
return Result.OK("项目删除成功!");
}else{
return Result.error(jsonObject.getStr("msg"));
}
}
}

View File

@ -96,6 +96,45 @@ public class TumsApi {
return jsonResponse;
}
/**
* 添加项目信息
* @param jsonRequest
* @return
*/
public String addProject(String jsonRequest){
this.createTumsClient();
log.info("addProject:request:{}",jsonRequest);
String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.ADD_PROJECT.getValue());
log.info("addProject:response:{}",jsonResponse);
return jsonResponse;
}
/**
* 修改项目信息
* @param jsonRequest
* @return
*/
public String editProject(String jsonRequest){
this.createTumsClient();
log.info("editProject:request:{}",jsonRequest);
String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.EDIT_PROJECT.getValue());
log.info("editProject:response:{}",jsonResponse);
return jsonResponse;
}
/**
* 删除项目信息
* @param jsonRequest
* @return
*/
public String deleteProject(String jsonRequest){
this.createTumsClient();
log.info("deleteProject:request:{}",jsonRequest);
String jsonResponse = tumsClient.request(jsonRequest, ApiEnum.DELETE_PROJECT.getValue());
log.info("deleteProject:response:{}",jsonResponse);
return jsonResponse;
}
/**
* 获取区域列表
* @param jsonRequest