|
@@ -16,6 +16,7 @@ import com.usky.dxtop.model.ProductOrder;
|
|
|
import com.usky.dxtop.service.CallApiLogService;
|
|
|
import com.usky.dxtop.service.ProductOrderService;
|
|
|
import com.usky.dxtop.service.api.FpApi;
|
|
|
+import com.usky.dxtop.service.api.OneCardApi;
|
|
|
import com.usky.dxtop.service.emun.OrderStatus;
|
|
|
import com.usky.dxtop.service.emun.ProductOrderStatus;
|
|
|
import com.usky.dxtop.service.impl.ProductOrderServiceImpl;
|
|
@@ -58,7 +59,12 @@ public class FpJob {
|
|
|
addPerList.forEach(productOrder -> {
|
|
|
List<FpDoorVO> listByDeviceId = getListByDeviceId(productOrder.getFpDeviceId(), doorList);
|
|
|
if (isAddPermission(productOrder)){
|
|
|
- logs.add(sendPermission(listByDeviceId, productOrder, "1",ProductOrderStatus.SET_PERMISSION_ERROR.getCode()));
|
|
|
+ logs.add(sendPermission(listByDeviceId,
|
|
|
+ productOrder,
|
|
|
+ "1",
|
|
|
+ ProductOrderStatus.SET_PERMISSION_ERROR.getCode(),
|
|
|
+ ProductOrderStatus.RUN.getCode(),
|
|
|
+ ProductOrderStatus.SET_PERMISSION_ERROR.getCode()));
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -67,7 +73,12 @@ public class FpJob {
|
|
|
delPerList.forEach(productOrder -> {
|
|
|
List<FpDoorVO> listByDeviceId = getListByDeviceId(productOrder.getFpDeviceId(), doorList);
|
|
|
if (isDelPermission(productOrder)){
|
|
|
- logs.add(sendPermission(listByDeviceId, productOrder, "1",ProductOrderStatus.DEL_PERMISSION_ERROR.getCode()));
|
|
|
+ logs.add(sendPermission(listByDeviceId,
|
|
|
+ productOrder,
|
|
|
+ "2",
|
|
|
+ ProductOrderStatus.DEL_PERMISSION_ERROR.getCode(),
|
|
|
+ ProductOrderStatus.SUCCESS.getCode(),
|
|
|
+ ProductOrderStatus.DEL_PERMISSION_ERROR.getCode()));
|
|
|
}
|
|
|
});
|
|
|
try {
|
|
@@ -92,14 +103,14 @@ public class FpJob {
|
|
|
Integer count = treeMap.get(orderNumber);
|
|
|
if (count >= 3){
|
|
|
treeMap.remove(orderNumber);
|
|
|
- return false;
|
|
|
+ return true;
|
|
|
}else {
|
|
|
treeMap.put(orderNumber,count+1);
|
|
|
}
|
|
|
}else {
|
|
|
treeMap.put(orderNumber,1);
|
|
|
}
|
|
|
- return true;
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
public List<FpDoorVO> getListByDeviceId(String deviceId,List<FpDoorVO> list){
|
|
@@ -136,17 +147,19 @@ public class FpJob {
|
|
|
* @param productOrder 订单
|
|
|
* @param permission 权限标识
|
|
|
* @param orderFlag 达到最大重试次数以后的订单状态
|
|
|
+ * @param successFlag 成功的订单状态
|
|
|
+ * @param errorFlag 失败的订单状态
|
|
|
* @return
|
|
|
*/
|
|
|
- public CallApiLog sendPermission(List<FpDoorVO> list, ProductOrder productOrder,String permission,Integer orderFlag){
|
|
|
- Map<String, Object> map = FpApi.generateDoorPermissionParam(productOrder.getUserCode(), list, permission);
|
|
|
+ public CallApiLog sendPermission(List<FpDoorVO> list, ProductOrder productOrder,String permission,Integer orderFlag,Integer successFlag,Integer errorFlag){
|
|
|
+ TreeMap<String, String> map = FpApi.generateDoorPermissionParam(productOrder.getUserCode(), list, permission);
|
|
|
String result;
|
|
|
try {
|
|
|
- result = FpApi.commonResult(FpApi.DEVICE_PERMISSION_OPERATE_URL,null,jsonObject -> {
|
|
|
+ result = FpApi.commonResult(FpApi.DEVICE_PERMISSION_OPERATE_URL, OneCardApi.joinParam(map), jsonObject -> {
|
|
|
if ("1".equals(jsonObject.get("result").toString())){
|
|
|
- productOrder.setOrderFlag(ProductOrderStatus.RUN.getCode());
|
|
|
+ productOrder.setOrderFlag(successFlag);
|
|
|
}else {
|
|
|
- productOrder.setOrderFlag(ProductOrderStatus.SET_PERMISSION_ERROR.getCode());
|
|
|
+ productOrder.setOrderFlag(errorFlag);
|
|
|
log.error("设置门禁权限异常:"+jsonObject.get("msg"));
|
|
|
}
|
|
|
return true;
|
|
@@ -167,6 +180,7 @@ public class FpJob {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
public boolean isAddPermission(ProductOrder productOrder){
|
|
|
Date now = new Date();
|
|
|
Date startDate = getTimeByOrder(productOrder.getAppointmentTime(), productOrder.getStartTime());
|