ai请求接口
parent
ac704bb9cd
commit
866dfb83b0
@ -0,0 +1,104 @@
|
||||
package com.ruoyi.web.controller.pc;
|
||||
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
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.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.system.domain.TImage;
|
||||
import com.ruoyi.system.service.ITImageService;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 图片Controller
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-08-15
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/image")
|
||||
public class TImageController extends BaseController
|
||||
{
|
||||
@Autowired
|
||||
private ITImageService tImageService;
|
||||
|
||||
/**
|
||||
* 查询图片列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:image:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(TImage tImage)
|
||||
{
|
||||
startPage();
|
||||
List<TImage> list = tImageService.selectTImageList(tImage);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出图片列表
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:image:export')")
|
||||
@Log(title = "图片", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, TImage tImage)
|
||||
{
|
||||
List<TImage> list = tImageService.selectTImageList(tImage);
|
||||
ExcelUtil<TImage> util = new ExcelUtil<TImage>(TImage.class);
|
||||
util.exportExcel(response, list, "图片数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取图片详细信息
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:image:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
return AjaxResult.success(tImageService.selectTImageById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增图片
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:image:add')")
|
||||
@Log(title = "图片", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody TImage tImage)
|
||||
{
|
||||
return toAjax(tImageService.insertTImage(tImage));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改图片
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:image:edit')")
|
||||
@Log(title = "图片", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody TImage tImage)
|
||||
{
|
||||
return toAjax(tImageService.updateTImage(tImage));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除图片
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:image:remove')")
|
||||
@Log(title = "图片", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids)
|
||||
{
|
||||
return toAjax(tImageService.deleteTImageByIds(ids));
|
||||
}
|
||||
}
|
@ -0,0 +1,111 @@
|
||||
package com.ruoyi.common.utils;
|
||||
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.*;
|
||||
|
||||
public class RequestParamsUtil
|
||||
{
|
||||
/**
|
||||
* http
|
||||
*/
|
||||
public final static String HTTP = "http://";
|
||||
|
||||
/**
|
||||
* 分隔符
|
||||
*/
|
||||
public final static String SEPARATOR = ":";
|
||||
|
||||
/**
|
||||
* 历史遥测
|
||||
*/
|
||||
public final static String HISTORY_TELEMETRY = "/ipark-device-management/device/history-telemetry/list";
|
||||
|
||||
/**
|
||||
* 预览url
|
||||
*/
|
||||
public final static String PREVIEW_URLS = "/ipark-video/video/service/api/cameras/previewURLs";
|
||||
|
||||
/**
|
||||
* 控制
|
||||
*/
|
||||
public final static String CONTROLLING = "/ipark-video/video/service/api/ptzs/controlling";
|
||||
|
||||
public final static String CAMERA_SEARCH = "/ipark-video/video/resource/api/camera/search";
|
||||
|
||||
/**
|
||||
* 设备信息
|
||||
*/
|
||||
public final static String DEVICE_INFO = "/ipark-device-management/device-external/devices/list";
|
||||
|
||||
/**
|
||||
* 设备模型
|
||||
*/
|
||||
public final static String DEVICE_MODEL = "/ipark-device-management/device-external/models/{id}";
|
||||
|
||||
/**
|
||||
* 设备分页列表
|
||||
*/
|
||||
public final static String DEVICE_PAGE_LIST = "/ipark-device-management/device-external/devices/page";
|
||||
|
||||
/**
|
||||
* 查询简明设备列表
|
||||
*/
|
||||
public final static String BRIEF_DEVICE = "/ipark-device-management/device/brief-device/list";
|
||||
|
||||
/**
|
||||
* 查询简明设备列表
|
||||
*/
|
||||
public final static String DEVICE_TYPE = "/ipark-device-management/device/brief-device-type/list";
|
||||
|
||||
/**
|
||||
* 手动抓图
|
||||
*/
|
||||
public final static String MANUAL_CAPTURE = "/api/video/v1/manualCapture";
|
||||
|
||||
private RequestParamsUtil() {
|
||||
}
|
||||
|
||||
public static String buildParams(Object param) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
Field[] fields = param.getClass().getDeclaredFields();
|
||||
for (Field field : fields) {
|
||||
field.setAccessible(true);
|
||||
try {
|
||||
if (field.get(param) == null) {
|
||||
continue;
|
||||
}
|
||||
map.put(field.getName(), field.get(param));
|
||||
} catch (Exception e) {
|
||||
throw new ServiceException("构建请求参数异常...");
|
||||
}
|
||||
}
|
||||
String params;
|
||||
try {
|
||||
params = createLinkStringByGet(map);
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
throw new ServiceException("构建请求参数异常...");
|
||||
}
|
||||
return params;
|
||||
}
|
||||
|
||||
private static String createLinkStringByGet(Map<String, Object> params) throws UnsupportedEncodingException {
|
||||
List<String> keys = new ArrayList<>(params.keySet());
|
||||
Collections.sort(keys);
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
for (int i = 0; i < keys.size(); i++) {
|
||||
String key = keys.get(i);
|
||||
Object value = params.get(key);
|
||||
if (i == keys.size() - 1) {
|
||||
stringBuilder.append(key).append("=").append(URLEncoder.encode(String.valueOf(value), "utf-8"));
|
||||
} else {
|
||||
stringBuilder.append(key).append("=").append(URLEncoder.encode(String.valueOf(value), "utf-8")).append("&");
|
||||
}
|
||||
|
||||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,80 @@
|
||||
package com.ruoyi.system.domain;
|
||||
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 图片对象 t_image
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-08-15
|
||||
*/
|
||||
public class TImage extends BaseEntity
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** ID */
|
||||
private Long id;
|
||||
|
||||
/** thirdID */
|
||||
@Excel(name = "thirdID")
|
||||
private Long thirdId;
|
||||
|
||||
/** 路径 */
|
||||
@Excel(name = "路径")
|
||||
private String path;
|
||||
|
||||
/** 名称 */
|
||||
@Excel(name = "名称")
|
||||
private String name;
|
||||
|
||||
public void setId(Long id)
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
public void setThirdId(Long thirdId)
|
||||
{
|
||||
this.thirdId = thirdId;
|
||||
}
|
||||
|
||||
public Long getThirdId()
|
||||
{
|
||||
return thirdId;
|
||||
}
|
||||
public void setPath(String path)
|
||||
{
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
public String getPath()
|
||||
{
|
||||
return path;
|
||||
}
|
||||
public void setName(String name)
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
.append("id", getId())
|
||||
.append("thirdId", getThirdId())
|
||||
.append("path", getPath())
|
||||
.append("name", getName())
|
||||
.append("createTime", getCreateTime())
|
||||
.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.ruoyi.system.domain.req;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(value = "AiPostReq", description = "AI接口请求实体")
|
||||
public class AiPostReq
|
||||
{
|
||||
private Base64ResizedRmgSm base64_resized_img_sm;
|
||||
private Base64ResizedRmgSm base64_resized_img_sx;
|
||||
|
||||
public Base64ResizedRmgSm getBase64_resized_img_sm()
|
||||
{
|
||||
return base64_resized_img_sm;
|
||||
}
|
||||
|
||||
public void setBase64_resized_img_sm(Base64ResizedRmgSm base64_resized_img_sm)
|
||||
{
|
||||
this.base64_resized_img_sm = base64_resized_img_sm;
|
||||
}
|
||||
|
||||
public Base64ResizedRmgSm getBase64_resized_img_sx()
|
||||
{
|
||||
return base64_resized_img_sx;
|
||||
}
|
||||
|
||||
public void setBase64_resized_img_sx(Base64ResizedRmgSm base64_resized_img_sx)
|
||||
{
|
||||
this.base64_resized_img_sx = base64_resized_img_sx;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,51 @@
|
||||
package com.ruoyi.system.domain.req;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Base64ResizedRmgSm
|
||||
{
|
||||
private String front;
|
||||
private String left;
|
||||
private String right;
|
||||
private List<String> other;
|
||||
|
||||
public String getFront()
|
||||
{
|
||||
return front;
|
||||
}
|
||||
|
||||
public void setFront(String front)
|
||||
{
|
||||
this.front = front;
|
||||
}
|
||||
|
||||
public String getLeft()
|
||||
{
|
||||
return left;
|
||||
}
|
||||
|
||||
public void setLeft(String left)
|
||||
{
|
||||
this.left = left;
|
||||
}
|
||||
|
||||
public String getRight()
|
||||
{
|
||||
return right;
|
||||
}
|
||||
|
||||
public void setRight(String right)
|
||||
{
|
||||
this.right = right;
|
||||
}
|
||||
|
||||
public List<String> getOther()
|
||||
{
|
||||
return other;
|
||||
}
|
||||
|
||||
public void setOther(List<String> other)
|
||||
{
|
||||
this.other = other;
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.system.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.system.domain.TImage;
|
||||
|
||||
/**
|
||||
* 图片Mapper接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-08-15
|
||||
*/
|
||||
public interface TImageMapper
|
||||
{
|
||||
/**
|
||||
* 查询图片
|
||||
*
|
||||
* @param id 图片主键
|
||||
* @return 图片
|
||||
*/
|
||||
public TImage selectTImageById(Long id);
|
||||
|
||||
/**
|
||||
* 查询图片列表
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 图片集合
|
||||
*/
|
||||
public List<TImage> selectTImageList(TImage tImage);
|
||||
|
||||
/**
|
||||
* 新增图片
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertTImage(TImage tImage);
|
||||
|
||||
/**
|
||||
* 修改图片
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateTImage(TImage tImage);
|
||||
|
||||
/**
|
||||
* 删除图片
|
||||
*
|
||||
* @param id 图片主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteTImageById(Long id);
|
||||
|
||||
/**
|
||||
* 批量删除图片
|
||||
*
|
||||
* @param ids 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteTImageByIds(Long[] ids);
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.ruoyi.system.service;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.system.domain.TImage;
|
||||
|
||||
/**
|
||||
* 图片Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-08-15
|
||||
*/
|
||||
public interface ITImageService
|
||||
{
|
||||
/**
|
||||
* 查询图片
|
||||
*
|
||||
* @param id 图片主键
|
||||
* @return 图片
|
||||
*/
|
||||
public TImage selectTImageById(Long id);
|
||||
|
||||
/**
|
||||
* 查询图片列表
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 图片集合
|
||||
*/
|
||||
public List<TImage> selectTImageList(TImage tImage);
|
||||
|
||||
/**
|
||||
* 新增图片
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertTImage(TImage tImage);
|
||||
|
||||
/**
|
||||
* 修改图片
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateTImage(TImage tImage);
|
||||
|
||||
/**
|
||||
* 批量删除图片
|
||||
*
|
||||
* @param ids 需要删除的图片主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteTImageByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 删除图片信息
|
||||
*
|
||||
* @param id 图片主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteTImageById(Long id);
|
||||
}
|
@ -0,0 +1,95 @@
|
||||
package com.ruoyi.system.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.system.mapper.TImageMapper;
|
||||
import com.ruoyi.system.domain.TImage;
|
||||
import com.ruoyi.system.service.ITImageService;
|
||||
|
||||
/**
|
||||
* 图片Service业务层处理
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2022-08-15
|
||||
*/
|
||||
@Service
|
||||
public class TImageServiceImpl implements ITImageService
|
||||
{
|
||||
@Autowired
|
||||
private TImageMapper tImageMapper;
|
||||
|
||||
/**
|
||||
* 查询图片
|
||||
*
|
||||
* @param id 图片主键
|
||||
* @return 图片
|
||||
*/
|
||||
@Override
|
||||
public TImage selectTImageById(Long id)
|
||||
{
|
||||
return tImageMapper.selectTImageById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询图片列表
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 图片
|
||||
*/
|
||||
@Override
|
||||
public List<TImage> selectTImageList(TImage tImage)
|
||||
{
|
||||
return tImageMapper.selectTImageList(tImage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增图片
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertTImage(TImage tImage)
|
||||
{
|
||||
tImage.setCreateTime(DateUtils.getNowDate());
|
||||
return tImageMapper.insertTImage(tImage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改图片
|
||||
*
|
||||
* @param tImage 图片
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateTImage(TImage tImage)
|
||||
{
|
||||
return tImageMapper.updateTImage(tImage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除图片
|
||||
*
|
||||
* @param ids 需要删除的图片主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteTImageByIds(Long[] ids)
|
||||
{
|
||||
return tImageMapper.deleteTImageByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除图片信息
|
||||
*
|
||||
* @param id 图片主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteTImageById(Long id)
|
||||
{
|
||||
return tImageMapper.deleteTImageById(id);
|
||||
}
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
<?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.ruoyi.system.mapper.TImageMapper">
|
||||
|
||||
<resultMap type="TImage" id="TImageResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="thirdId" column="third_id" />
|
||||
<result property="path" column="path" />
|
||||
<result property="name" column="name" />
|
||||
<result property="createTime" column="create_time" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectTImageVo">
|
||||
select id, third_id, path, name, create_time from t_image
|
||||
</sql>
|
||||
|
||||
<select id="selectTImageList" parameterType="TImage" resultMap="TImageResult">
|
||||
<include refid="selectTImageVo"/>
|
||||
<where>
|
||||
<if test="thirdId != null "> and third_id = #{thirdId}</if>
|
||||
<if test="path != null and path != ''"> and path = #{path}</if>
|
||||
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectTImageById" parameterType="Long" resultMap="TImageResult">
|
||||
<include refid="selectTImageVo"/>
|
||||
where id = #{id}
|
||||
</select>
|
||||
|
||||
<insert id="insertTImage" parameterType="TImage" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into t_image
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="thirdId != null">third_id,</if>
|
||||
<if test="path != null">path,</if>
|
||||
<if test="name != null">name,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="thirdId != null">#{thirdId},</if>
|
||||
<if test="path != null">#{path},</if>
|
||||
<if test="name != null">#{name},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateTImage" parameterType="TImage">
|
||||
update t_image
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="thirdId != null">third_id = #{thirdId},</if>
|
||||
<if test="path != null">path = #{path},</if>
|
||||
<if test="name != null">name = #{name},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
</trim>
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteTImageById" parameterType="Long">
|
||||
delete from t_image where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteTImageByIds" parameterType="String">
|
||||
delete from t_image where id in
|
||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
</mapper>
|
Loading…
Reference in New Issue