人脸识别与大模型问答

This commit is contained in:
jiang 2024-08-26 10:14:55 +08:00
parent cf9abe48d5
commit aa74d0d128
6 changed files with 360 additions and 0 deletions

View File

@ -0,0 +1,78 @@
package com.bonus.ai.controller;
import com.bonus.ai.domain.vo.FaceResultVo;
import com.bonus.ai.service.AiFaceRecognizeResultService;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author bonus
*/
@RestController
@RequestMapping("/faceResult")
@Slf4j
public class AiFaceRecognizeResultController extends BaseController {
@Resource
private AiFaceRecognizeResultService aiFaceRecognizeResultService;
/**
* 插入新记录
*
* @param result 实体类
* @return 影响的条数
*/
@PostMapping("/insertAiFaceRecognizeResult")
public AjaxResult insertAiFaceRecognizeResult(FaceResultVo result) {
return aiFaceRecognizeResultService.insertAiFaceRecognizeResult(result);
}
/**
* 根据主键ID删除记录
*
* @param resultId 记录id
* @return 影响的条数
*/
@PostMapping("/deleteAiFaceRecognizeResultById")
public AjaxResult deleteAiFaceRecognizeResultById(Long resultId) {
return aiFaceRecognizeResultService.deleteAiFaceRecognizeResultById(resultId);
}
/**
* 根据主键ID删除记录
*
* @param result 记录id
* @return 影响的条数
*/
@PostMapping("/updateAiFaceRecognizeResult")
public AjaxResult updateAiFaceRecognizeResult(FaceResultVo result) {
return aiFaceRecognizeResultService.updateAiFaceRecognizeResult(result);
}
/**
* 根据主键ID查询记录
*
* @param resultId 记录id
* @return 记录详情
*/
@PostMapping("/selectAiFaceRecognizeResultById")
public AjaxResult selectAiFaceRecognizeResultById(Long resultId) {
return aiFaceRecognizeResultService.selectAiFaceRecognizeResultById(resultId);
}
/**
* 查询所有记录
*
* @return 记录集合
*/
@PostMapping("/selectAllAiFaceRecognizeResults")
public AjaxResult selectAllAiFaceRecognizeResults() {
return aiFaceRecognizeResultService.selectAllAiFaceRecognizeResults();
}
}

View File

@ -0,0 +1,49 @@
package com.bonus.ai.mapper;
import com.bonus.ai.domain.vo.FaceResultVo;
import java.util.List;
/**
* @author bonus
*/
public interface AiFaceRecognizeResultMapper {
/**
* 插入新记录
*
* @param result 实体类
* @return 影响的条数
*/
int insertAiFaceRecognizeResult(FaceResultVo result);
/**
* 根据主键ID删除记录
*
* @param resultId 记录id
* @return 影响的条数
*/
int deleteAiFaceRecognizeResultById(Long resultId);
/**
* 更新记录
*
* @param result 实体类
* @return 影响的条数
*/
int updateAiFaceRecognizeResult(FaceResultVo result);
/**
* 根据主键ID查询记录
*
* @param resultId 记录id
* @return 记录详情
*/
FaceResultVo selectAiFaceRecognizeResultById(Long resultId);
/**
* 查询所有记录
*
* @return 记录集合
*/
List<FaceResultVo> selectAllAiFaceRecognizeResults();
}

View File

@ -0,0 +1,50 @@
package com.bonus.ai.service;
import com.bonus.ai.domain.vo.FaceResultVo;
import com.bonus.common.core.web.domain.AjaxResult;
import java.util.List;
/**
* @author bonus
*/
public interface AiFaceRecognizeResultService {
/**
* 插入新记录
*
* @param result 实体类
* @return 影响的条数
*/
AjaxResult insertAiFaceRecognizeResult(FaceResultVo result);
/**
* 根据主键ID删除记录
*
* @param resultId 记录id
* @return 影响的条数
*/
AjaxResult deleteAiFaceRecognizeResultById(Long resultId);
/**
* 更新记录
*
* @param result 实体类
* @return 影响的条数
*/
AjaxResult updateAiFaceRecognizeResult(FaceResultVo result);
/**
* 根据主键ID查询记录
*
* @param resultId 记录id
* @return 记录详情
*/
AjaxResult selectAiFaceRecognizeResultById(Long resultId);
/**
* 查询所有记录
*
* @return 记录集合
*/
AjaxResult selectAllAiFaceRecognizeResults();
}

View File

@ -0,0 +1,100 @@
package com.bonus.ai.service.impl;
import com.bonus.ai.domain.vo.FaceResultVo;
import com.bonus.ai.mapper.AiFaceRecognizeResultMapper;
import com.bonus.ai.service.AiFaceRecognizeResultService;
import com.bonus.common.core.web.domain.AjaxResult;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @author bonus
*/
@Service
public class AiFaceRecognizeResultServiceImpl implements AiFaceRecognizeResultService {
@Resource
private AiFaceRecognizeResultMapper aiFaceRecognizeResultMapper;
/**
* 插入新记录
*
* @param result 实体类
* @return 影响的条数
*/
@Override
public AjaxResult insertAiFaceRecognizeResult(FaceResultVo result) {
try {
int i = aiFaceRecognizeResultMapper.insertAiFaceRecognizeResult(result);
return i > 0 ? AjaxResult.success() : AjaxResult.error();
} catch (Exception e) {
return AjaxResult.error();
}
}
/**
* 根据主键ID删除记录
*
* @param resultId 记录id
* @return 影响的条数
*/
@Override
public AjaxResult deleteAiFaceRecognizeResultById(Long resultId) {
try {
int i = aiFaceRecognizeResultMapper.deleteAiFaceRecognizeResultById(resultId);
return i > 0 ? AjaxResult.success() : AjaxResult.error();
} catch (Exception e) {
return AjaxResult.error();
}
}
/**
* 更新记录
*
* @param result 实体类
* @return 影响的条数
*/
@Override
public AjaxResult updateAiFaceRecognizeResult(FaceResultVo result) {
try {
int i = aiFaceRecognizeResultMapper.updateAiFaceRecognizeResult(result);
return i > 0 ? AjaxResult.success() : AjaxResult.error();
} catch (Exception e) {
return AjaxResult.error();
}
}
/**
* 根据主键ID查询记录
*
* @param resultId 记录id
* @return 记录详情
*/
@Override
public AjaxResult selectAiFaceRecognizeResultById(Long resultId) {
try {
FaceResultVo faceResultVo = aiFaceRecognizeResultMapper.selectAiFaceRecognizeResultById(resultId);
return ObjectUtils.isNotEmpty(faceResultVo) ? AjaxResult.success(faceResultVo) : AjaxResult.error();
} catch (Exception e) {
return AjaxResult.error();
}
}
/**
* 查询所有记录
*
* @return 记录集合
*/
@Override
public AjaxResult selectAllAiFaceRecognizeResults() {
try {
List<FaceResultVo> faceResultVos = aiFaceRecognizeResultMapper.selectAllAiFaceRecognizeResults();
return ObjectUtils.isNotEmpty(faceResultVos) ? AjaxResult.success(faceResultVos) : AjaxResult.error();
} catch (Exception e) {
return AjaxResult.error();
}
}
}

View File

@ -160,6 +160,8 @@ public class FaceServiceImpl implements FaceService {
return AjaxResult.error("存在多张人脸");
case "30009":
return AjaxResult.error("光照条件差");
case "30016":
return AjaxResult.error("人脸图片不清晰");
case "30010":
case "30011":
return AjaxResult.error("人脸不全");

View File

@ -0,0 +1,81 @@
<?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.bonus.ai.mapper.AiFaceRecognizeResultMapper">
<!-- 插入新记录 -->
<insert id="insertAiFaceRecognizeResult" parameterType="com.bonus.ai.domain.vo.FaceResultVo">
INSERT INTO ai_facerecognize_result
(face_id, service_id, result_it, face_address, recognize_time, response_long, invoke_ip, update_by, update_time,
del_flag, result_type, result_status, failure_reason)
VALUES (#{faceId}, #{serviceId}, #{resultIt}, #{faceAddress}, #{recognizeTime}, #{responseLong}, #{invokeIp},
#{updateBy}, #{updateTime}, #{delFlag}, #{resultType}, #{resultStatus}, #{failureReason})
</insert>
<!-- 根据主键ID删除记录 -->
<delete id="deleteAiFaceRecognizeResultById" parameterType="long">
DELETE
FROM ai_facerecognize_result
WHERE result_id = #{resultId}
</delete>
<!-- 更新记录 -->
<update id="updateAiFaceRecognizeResult" parameterType="com.bonus.ai.domain.vo.FaceResultVo">
UPDATE ai_facerecognize_result
SET face_id = #{faceId},
service_id = #{serviceId},
result_it = #{resultIt},
face_address = #{faceAddress},
recognize_time = #{recognizeTime},
response_long = #{responseLong},
invoke_ip = #{invokeIp},
update_by = #{updateBy},
update_time = #{updateTime},
del_flag = #{delFlag},
result_type = #{resultType},
result_status = #{resultStatus},
failure_reason = #{failureReason}
WHERE result_id = #{resultId}
</update>
<!-- 根据主键ID查询记录 -->
<select id="selectAiFaceRecognizeResultById" parameterType="long" resultType="com.bonus.ai.domain.vo.FaceResultVo">
SELECT result_id AS resultId,
face_id AS faceId,
service_id AS serviceId,
result_it AS resultIt,
face_address AS faceAddress,
recognize_time AS recognizeTime,
response_long AS responseLong,
invoke_ip AS invokeIp,
update_by AS updateBy,
update_time AS updateTime,
del_flag AS delFlag,
result_type AS resultType,
result_status AS resultStatus,
failure_reason AS failureReason
FROM ai_facerecognize_result
WHERE result_id = #{resultId}
</select>
<!-- 查询所有记录 -->
<select id="selectAllAiFaceRecognizeResults" resultType="com.bonus.ai.domain.vo.FaceResultVo">
SELECT result_id AS resultId,
face_id AS faceId,
service_id AS serviceId,
result_it AS resultIt,
face_address AS faceAddress,
recognize_time AS recognizeTime,
response_long AS responseLong,
invoke_ip AS invokeIp,
update_by AS updateBy,
update_time AS updateTime,
del_flag AS delFlag,
result_type AS resultType,
result_status AS resultStatus,
failure_reason AS failureReason
FROM ai_facerecognize_result
</select>
</mapper>