Commit 76e447ec by Leslie1w

App语音与视频相关接口

parent ad36bc6d
package org.springblade.founder.asj.controller;
import org.jasypt.util.text.BasicTextEncryptor;
import org.springblade.founder.asj.entity.AsjQueryParam;
import org.springblade.founder.asj.service.KyxsService;
import org.springblade.founder.log.LogOper;
......@@ -90,10 +91,10 @@ public class KyxsController {
@RequestMapping("/getFile/{xxzjbh}")
@LogOper(czxxLbdm = "07", yymcJyqk = "0701", czxxJyqk = "可疑线索附件下载")
public R getFile(@PathVariable String xxzjbh) {
public R getFile(@PathVariable String xxzjbh, String type) {
try {
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
kyxsService.getFile(xxzjbh, response);
kyxsService.getFile(xxzjbh, response,type);
return R.ok();
} catch (Exception e) {
e.printStackTrace();
......
package org.springblade.founder.asj.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.BaseModel;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_xw_kyxs_sp")
public class TbXwKyxsSp extends BaseModel {
//信息主键编号
@TableId(type = IdType.INPUT)
private String xxzjbh;
//案事件编号
private String asjbh;
//拍摄设备
private String kyxsspPssb;
//可以视频内容
private byte[] kyxsspPpnr;
//可疑依据
private String kyxstxKyyj;
@TableField(exist = false)
private List<String> qgAsjbhList; //全国
@TableField(exist = false)
private Integer qgAjsl; //全国
@TableField(exist = false)
private List<String> qsAsjbhList; //全省
@TableField(exist = false)
private Integer qsAjsl; //全省
public void setQgAsjbhList(List<String> qgAsjbhList) {
if (qgAsjbhList == null){
this.qgAsjbhList = null;
this.qgAjsl = 0;
} else {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
}
}
public void setQsAsjbhList(List<String> qsAsjbhList) {
if (qsAsjbhList == null){
this.qsAsjbhList = null;
this.qsAjsl = 0;
} else {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
}
}
}
package org.springblade.founder.asj.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.founder.entity.BaseModel;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_xw_kyxs_yy")
public class TbXwKyxsYy extends BaseModel {
//信息主键编号
@TableId(type = IdType.INPUT)
private String xxzjbh;
//案事件编号
private String asjbh;
//录音语种
private String kyxsyyLyyz;
//可疑语音内容
private byte[] kyxsyyYynr;
//可疑依据
private String kyxstxKyyj;
@TableField(exist = false)
private List<String> qgAsjbhList; //全国
@TableField(exist = false)
private Integer qgAjsl; //全国
@TableField(exist = false)
private List<String> qsAsjbhList; //全省
@TableField(exist = false)
private Integer qsAjsl; //全省
public void setQgAsjbhList(List<String> qgAsjbhList) {
if (qgAsjbhList == null){
this.qgAsjbhList = null;
this.qgAjsl = 0;
} else {
this.qgAsjbhList = qgAsjbhList;
this.qgAjsl = qgAsjbhList.size();
}
}
public void setQsAsjbhList(List<String> qsAsjbhList) {
if (qsAsjbhList == null){
this.qsAsjbhList = null;
this.qsAjsl = 0;
} else {
this.qsAsjbhList = qsAsjbhList;
this.qsAjsl = qsAsjbhList.size();
}
}
}
package org.springblade.founder.asj.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.asj.entity.TbXwKyxsSp;
import org.springblade.founder.asj.entity.TbXwKyxsTx;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface TbXwKyxsSpMapper extends BaseMapper<TbXwKyxsSp> {
List<TbXwKyxsSp> selectListByAsjbh(String asjbh);
TbXwKyxsSp selectOneByXxzjbh(String xxzjbh);
Integer selectCountByAsjbh(String asjbh);
}
<?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="org.springblade.founder.asj.mapper.TbXwKyxsSpMapper">
<select id="selectListByAsjbh" resultType="org.springblade.founder.asj.entity.TbXwKyxsSp">
select xxzjbh,
asjbh,
kyxssp_pssb,
kyxssp_spnr,
kyxssp_kyyj,
djsj,
gxsj,
xxsc_pdbz,
xxdjdw_gajgjgdm,
xxdjdw_gajgmc,
xxdjry_xm,
xxdjry_gmsfhm,
xxdjry_lxdh,
xxczdw_gajgjgdm,
xxczdw_gajgmc,
xxczry_xm,
xxczry_gmsfhm,
xxlyms
from TB_XW_KYXS_SP
where asjbh = #{asjbh,jdbcType=VARCHAR}
and xxsc_pdbz = '0'
order by djsj desc
</select>
<select id="selectOneByXxzjbh" resultType="org.springblade.founder.asj.entity.TbXwKyxsSp">
select xxzjbh,
asjbh,
kyxssp_pssb,
kyxssp_spnr,
kyxssp_kyyj,
djsj,
gxsj,
xxsc_pdbz,
xxdjdw_gajgjgdm,
xxdjdw_gajgmc,
xxdjry_xm,
xxdjry_gmsfhm,
xxdjry_lxdh,
xxczdw_gajgjgdm,
xxczdw_gajgmc,
xxczry_xm,
xxczry_gmsfhm,
xxlyms
from TB_XW_KYXS_SP
where XXZJBH = #{xxzjbh,jdbcType=VARCHAR}
and xxsc_pdbz = '0'
</select>
<select id="selectCountByAsjbh" resultType="java.lang.Integer">
select count(1)
from TB_XW_KYXS_SP
where asjbh = #{asjbh,jdbcType=VARCHAR}
and xxsc_pdbz = '0'
</select>
</mapper>
package org.springblade.founder.asj.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springblade.founder.asj.entity.TbXwKyxsTx;
import org.springblade.founder.asj.entity.TbXwKyxsYy;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface TbXwKyxsYyMapper extends BaseMapper<TbXwKyxsYy> {
List<TbXwKyxsYy> selectListByAsjbh(String asjbh);
TbXwKyxsYy selectOneByXxzjbh(String xxzjbh);
Integer selectCountByAsjbh(String asjbh);
}
<?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="org.springblade.founder.asj.mapper.TbXwKyxsYyMapper">
<select id="selectListByAsjbh" resultType="org.springblade.founder.asj.entity.TbXwKyxsYy">
select xxzjbh,
asjbh,
kyxsyy_lyyz,
kyxsyy_yynr,
kyxsyy_kyyj,
djsj,
gxsj,
xxsc_pdbz,
xxdjdw_gajgjgdm,
xxdjdw_gajgmc,
xxdjry_xm,
xxdjry_gmsfhm,
xxdjry_lxdh,
xxczdw_gajgjgdm,
xxczdw_gajgmc,
xxczry_xm,
xxczry_gmsfhm,
xxlyms
from TB_XW_KYXS_YY
where asjbh = #{asjbh,jdbcType=VARCHAR}
and xxsc_pdbz = '0'
order by djsj desc
</select>
<select id="selectOneByXxzjbh" resultType="org.springblade.founder.asj.entity.TbXwKyxsYy">
select xxzjbh,
asjbh,
kyxsyy_lyyz,
kyxsyy_yynr,
kyxsyy_kyyj,
djsj,
gxsj,
xxsc_pdbz,
xxdjdw_gajgjgdm,
xxdjdw_gajgmc,
xxdjry_xm,
xxdjry_gmsfhm,
xxdjry_lxdh,
xxczdw_gajgjgdm,
xxczdw_gajgmc,
xxczry_xm,
xxczry_gmsfhm,
xxlyms
from TB_XW_KYXS_YY
where XXZJBH = #{xxzjbh,jdbcType=VARCHAR}
and xxsc_pdbz = '0'
</select>
<select id="selectCountByAsjbh" resultType="java.lang.Integer">
select count(1)
from TB_XW_KYXS_YY
where asjbh = #{asjbh,jdbcType=VARCHAR}
and xxsc_pdbz = '0'
</select>
</mapper>
......@@ -58,7 +58,7 @@ public interface KyxsService {
* @author lystar
* 2021/11/24 21:10
*/
void getFile(String xxzjbh, HttpServletResponse response) throws IOException;
void getFile(String xxzjbh, HttpServletResponse response, String type) throws IOException;
/**
* getKyxsCountByAsjbh 查询可疑线索总数
......
......@@ -49,6 +49,10 @@ public class KyxsServiceImpl implements KyxsService {
@Autowired
private TbXwKyxsTxMapper tbXwKyxsTxMapper;
@Autowired
private TbXwKyxsYyMapper tbXwKyxsYyMapper;
@Autowired
private TbXwKyxsSpMapper tbXwKyxsSpMapper;
@Autowired
private HnJbAsjXsService hnJbAsjXsService;
@Autowired
private QgJbAsjXsService qgJbAsjXsService;
......@@ -119,6 +123,34 @@ public class KyxsServiceImpl implements KyxsService {
Utils.setUserDjxxAndCzxx(kyxsTx);
tbXwKyxsTxMapper.insert(kyxsTx);
break;
case "yy": //可疑语音
if (file == null){
return null;
}
TbXwKyxsYy kyxsYy = new TbXwKyxsYy();
kyxsYy.setXxzjbh(xxzjbh);
kyxsYy.setAsjbh(asjbh);
kyxsYy.setKyxsyyYynr(file.getBytes());
kyxsYy.setKyxsyyLyyz(kyhm);
kyxsYy.setKyxstxKyyj(kyyj);
kyxsYy.setXxscPdbz("0");
Utils.setUserDjxxAndCzxx(kyxsYy);
tbXwKyxsYyMapper.insert(kyxsYy);
break;
case "sp": //可疑视频
if (file == null){
return null;
}
TbXwKyxsSp kyxsSp = new TbXwKyxsSp();
kyxsSp.setXxzjbh(xxzjbh);
kyxsSp.setAsjbh(asjbh);
kyxsSp.setKyxsspPpnr(file.getBytes());
kyxsSp.setKyxsspPssb(kyhm);
kyxsSp.setKyxstxKyyj(kyyj);
kyxsSp.setXxscPdbz("0");
Utils.setUserDjxxAndCzxx(kyxsSp);
tbXwKyxsSpMapper.insert(kyxsSp);
break;
}
return xxzjbh;
}
......@@ -222,6 +254,18 @@ public class KyxsServiceImpl implements KyxsService {
resultMap.put("txList", txList);
resultMap.put("txCount", txList.size());
}
//查询可疑语音
List<TbXwKyxsYy> yyList = tbXwKyxsYyMapper.selectListByAsjbh(asjbh);
if (yyList != null) {
resultMap.put("yyList", yyList);
resultMap.put("yyCount", yyList.size());
}
//查询可疑视频
List<TbXwKyxsSp> spList = tbXwKyxsSpMapper.selectListByAsjbh(asjbh);
if (spList != null) {
resultMap.put("spList", spList);
resultMap.put("spCount", spList.size());
}
//获取线程执行的结果
List<TbXwKyxsRy> ryList = ryListTask.get();
......@@ -258,12 +302,16 @@ public class KyxsServiceImpl implements KyxsService {
jdcQueryWrapper.eq("xxsc_pdbz", "0");
Integer kyjdcCount = tbXwKyxsJdcMapper.selectCount(jdcQueryWrapper);
Integer kytxCount = tbXwKyxsTxMapper.selectCountByAsjbh(asjbh);
Integer kyyyCount = tbXwKyxsYyMapper.selectCountByAsjbh(asjbh);
Integer kyspCount = tbXwKyxsSpMapper.selectCountByAsjbh(asjbh);
HashMap<String, Object> resultMap = new HashMap<>();
resultMap.put("kyryCount", kyryCount);
resultMap.put("kyhmCount", kyhmCount);
resultMap.put("kyjdcCount", kyjdcCount);
resultMap.put("kytxCount", kytxCount);
resultMap.put("kyxsCount", kyryCount + kyhmCount + kyjdcCount + kytxCount);
resultMap.put("kyyyCount", kyyyCount);
resultMap.put("kyspCount", kyspCount);
resultMap.put("kyxsCount", kyryCount + kyhmCount + kyjdcCount + kytxCount + kyyyCount + kyspCount);
return resultMap;
}
......@@ -310,6 +358,10 @@ public class KyxsServiceImpl implements KyxsService {
return tbXwKyxsJdc;
case "tx": //图像
return tbXwKyxsTxMapper.selectOneByXxzjbh(xxzjbh);
case "yy": //语音
return tbXwKyxsYyMapper.selectOneByXxzjbh(xxzjbh);
case "sp": //视频
return tbXwKyxsSpMapper.selectOneByXxzjbh(xxzjbh);
}
}
return null;
......@@ -342,17 +394,34 @@ public class KyxsServiceImpl implements KyxsService {
}
@Override
public void getFile(String xxzjbh, HttpServletResponse response) throws IOException {
public void getFile(String xxzjbh, HttpServletResponse response,String type) throws IOException {
if (type != null){
InputStream inputStream =null;
switch (type){
case "tx":
TbXwKyxsTx tx = tbXwKyxsTxMapper.selectById(xxzjbh);
InputStream inputStream = new ByteArrayInputStream(tx.getKyxstxTxnr());
inputStream = new ByteArrayInputStream(tx.getKyxstxTxnr());
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(tx.getKyxstxTxbt(), "UTF-8"));
break;
case "yy":
TbXwKyxsYy yy = tbXwKyxsYyMapper.selectById(xxzjbh);
inputStream = new ByteArrayInputStream(yy.getKyxsyyYynr());
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(xxzjbh+"语音", "UTF-8"));
break;
case "sp":
TbXwKyxsSp sp = tbXwKyxsSpMapper.selectById(xxzjbh);
inputStream = new ByteArrayInputStream(sp.getKyxsspPpnr());
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(xxzjbh+"视频", "UTF-8"));
break;
}
ServletOutputStream outputStream = response.getOutputStream();
IOUtils.copy(inputStream, outputStream);
try {
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(outputStream);
} catch (Exception ignored) {
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment