瀏覽代碼

Merge branch 'master' of http://git.zthymaoyi.com/wangchao/businessCard

achao 2 年之前
父節點
當前提交
0c09bc6267

+ 3 - 0
unimall-admin-api/src/main/java/com/iotechn/unimall/admin/api/card/ICertificateManagementInfoService.java

@@ -50,6 +50,9 @@ public interface ICertificateManagementInfoService{
 	@HttpMethod(description = "识别银行卡",  permissionName = "证件管理管理")
 	public DistinguishView bankShibie(@HttpParam(name = "certificateImage", type = HttpParamType.COMMON, description = "证件图") String certificateImage)throws ServiceException;
 
+	@HttpMethod(description = "语音识别",  permissionName = "证件管理管理")
+	public DistinguishView speechRecognition(@HttpParam(name = "voiceMessage", type = HttpParamType.COMMON, description = "语音") String voiceMessage)throws ServiceException;
+
 	@HttpMethod(description = "导出excl表", permissionName = "证件管理管理")
 	public String export(
 								@HttpParam(name = "commonId", type = HttpParamType.COMMON, description = "个人id") Long commonId,

+ 38 - 0
unimall-admin-api/src/main/java/com/iotechn/unimall/admin/api/card/impl/CertificateManagementInfoServiceImpl.java

@@ -263,5 +263,43 @@ public class CertificateManagementInfoServiceImpl implements ICertificateManagem
 		}
 		return null;
 	}
+
+	@Override
+	public DistinguishView speechRecognition(String voiceMessage) throws ServiceException {
+		String host = "https://audio.market.alicloudapi.com";
+		String path = "/audioshort";
+		String method = "POST";
+		String appcode = "2d59bfa794994f5f94d1d98b7b5bd102";
+		Map<String, String> headers = new HashMap<String, String>();
+		//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
+		headers.put("Authorization", "APPCODE " + appcode);
+		//根据API的要求,定义相对应的Content-Type
+		headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+		Map<String, String> querys = new HashMap<String, String>();
+		Map<String, String> bodys = new HashMap<String, String>();
+		bodys.put("format", "m4a");
+		bodys.put("src", voiceMessage);
+		bodys.put("type", "zh-fast");
+		try {
+			HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
+			String body = EntityUtils.toString(response.getEntity());
+			System.out.println(body);
+			JSONObject jsonObject = JSONObject.parseObject(body);
+			JSONArray jsonArray = jsonObject.getJSONArray("msg");
+			DistinguishView distinguishView = new DistinguishView();
+			if(jsonArray!= null && jsonArray.size() >0){
+				String text = jsonArray.getString(0).replace("。","");
+				distinguishView.setText(text);
+				System.out.println(text);
+			}
+			else{
+				distinguishView.setText("未识别成功!");
+			}
+			return distinguishView;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
 }
 

+ 3 - 0
unimall-data/src/main/java/com/iotechn/unimall/data/domain/CardHolderInfo.java

@@ -116,6 +116,9 @@ public class CardHolderInfo extends SuperDO {
     /** 当前模板 */
     @TableField(exist = false)
     private String cuttentTemplate;
+    /** 头像 */
+    @TableField(exist = false)
+    private String headSculpture;
 
     @Override
     public String toString() {

+ 3 - 0
unimall-data/src/main/java/com/iotechn/unimall/data/domain/CertificateManagementInfo.java

@@ -68,6 +68,9 @@ public class CertificateManagementInfo extends SuperDO {
     @TableField("delete_flag")
     private Long deleteFlag;
 
+    /** 语音 */
+    @TableField(exist = false)
+    private String voiceMessage;
 
     @Override
     public String toString() {

+ 2 - 0
unimall-data/src/main/java/com/iotechn/unimall/data/dto/DistinguishView.java

@@ -9,4 +9,6 @@ public class DistinguishView extends SuperDTO{
     private String recPersonNo;
 
     private String bankNo;
+
+    private String text;
 }

+ 1 - 0
unimall-data/src/main/resources/com/iotechn/unimall/data/mapper/CardHolderInfoMapper.xml

@@ -12,6 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         chi.remark,
         chi.classify,
         cmi.common_id as cardCommonId,
+        cmi.head_sculpture as headSculpture,
         cmi.name AS name,
         cmi.post AS post,
         cmi.company_name as companyName,