|
|
@@ -12,6 +12,7 @@ import com.poteviohealth.cgp.common.utils.DateUtils;
|
|
|
import com.poteviohealth.cgp.common.utils.ImageUtils;
|
|
|
import com.poteviohealth.cgp.statistics.mapper.DistinctionMapper;
|
|
|
import com.poteviohealth.cgp.statistics.model.Distinction;
|
|
|
+import com.poteviohealth.cgp.statistics.model.outdto.DistinctionDTO;
|
|
|
import com.poteviohealth.cgp.statistics.service.IDistinctionService;
|
|
|
import lombok.extern.log4j.Log4j2;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
@@ -22,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.InputStream;
|
|
|
import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* 图片处理
|
|
|
@@ -39,19 +41,31 @@ public class DistinctionServiceImpl extends BaseServiceImpl<DistinctionMapper, D
|
|
|
private String dbName;
|
|
|
|
|
|
@Override
|
|
|
- public Long checkImg(InputStream inputStream) {
|
|
|
-
|
|
|
+ public DistinctionDTO checkImg(InputStream inputStream, Long orderId, List<String> uidList) {
|
|
|
+ DistinctionDTO dto = new DistinctionDTO();
|
|
|
+ String uid = ImageUtils.readImagePix(inputStream);
|
|
|
+ dto.setUid(uid);
|
|
|
if("0".equals(orderCacheVal(CgpTool.CACHE_ORDER_PHOTO_CHECK))){
|
|
|
- return 0L;
|
|
|
+ return dto;
|
|
|
}
|
|
|
|
|
|
Integer day = Integer.parseInt(orderCacheVal(CgpTool.CACHE_ORDER_PHOTO_DAY));
|
|
|
Double threshold = Double.parseDouble(orderCacheVal(CgpTool.CACHE_ORDER_PHOTO_THRESHOLD));
|
|
|
+ int count = ImageUtils.different(threshold);
|
|
|
+ boolean isCheck = false;
|
|
|
+ for (String s : uidList) {
|
|
|
+ if(ImageUtils.similarity(s,uid)<=count){
|
|
|
+ isCheck = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- String uid = ImageUtils.readImagePix(inputStream);
|
|
|
- Long orderId = baseMapper.checkDis(TokenContext.cureOperatorId(),dbName,uid,ImageUtils.different(threshold), DateFormatUtils.format(DateUtils.caculDays(new Date(), -day),"yyyy-MM-dd HH:mm:ss"));
|
|
|
- log.info("orderId==="+orderId);
|
|
|
- return orderId;
|
|
|
+ if(isCheck){
|
|
|
+ dto.setOrderId(orderId);
|
|
|
+ }else{
|
|
|
+ dto.setOrderId(baseMapper.checkDis(TokenContext.cureOperatorId(),dbName,uid,count, DateFormatUtils.format(DateUtils.caculDays(new Date(), -day),"yyyy-MM-dd HH:mm:ss")));
|
|
|
+ }
|
|
|
+ return dto;
|
|
|
}
|
|
|
|
|
|
|