|
|
@@ -7,8 +7,10 @@ import com.dderp.common.api.flycat.OrderSearchService
|
|
|
import com.dderp.common.api.flycat.OrderService
|
|
|
import com.dderp.common.api.flycat.OrderStepService
|
|
|
import com.dderp.common.datas.ERPModule
|
|
|
+import com.dderp.common.datas.TokenUserFrom
|
|
|
import com.dderp.common.entity.base.InvokeCallParams
|
|
|
import com.dderp.common.entity.base.InvokeCallResult
|
|
|
+import com.dderp.common.entity.order.BusinessOrder
|
|
|
import com.dderp.common.entity.order.OrderRefundRequest
|
|
|
import com.dderp.common.entity.site.ERPTokenUser
|
|
|
import com.dderp.common.tool.ERPUtils
|
|
|
@@ -74,6 +76,37 @@ class BE_Order_ProcessRefund_Request implements BusinessExecutor<InvokeCallParam
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ RetResult<InvokeCallParams> checkExecute(InvokeCallParams source) {
|
|
|
+ String dataSourceId = source.dataSourceId
|
|
|
+ long supplierCode = source.supplierCode
|
|
|
+ ERPTokenUser currentUser = source.currentUser
|
|
|
+
|
|
|
+ def jsonSlurper = new JsonSlurper()
|
|
|
+ def invokeOrder = jsonSlurper.parseText(source.params)
|
|
|
+ long idRefundRequest = invokeOrder["idRefundRequest"] as Long
|
|
|
+ int approve = invokeOrder["approve"] as int
|
|
|
+ String rejectReasonCode = invokeOrder["rejectReasonCode"] as String
|
|
|
+ String rejectMemo = invokeOrder["rejectMemo"] as String
|
|
|
+
|
|
|
+ //groovy 不能直接使用ERPUtils.PARAM_SEARCH_ID,要么直接用字符串,不知道下面的用法是否可以,需要测试一下
|
|
|
+ RetResult<OrderRefundRequest> requestRetResult = orderSearchService.searchOrderRefundRequest(new RMap<>("${ERPUtils.PARAM_SEARCH_ID}": idRefundRequest),
|
|
|
+ currentUser, dataSourceId, supplierCode, null)
|
|
|
+ if (!requestRetResult.isSuccess()) return RetResult.<InvokeCallParams> errorT().retinfo(requestRetResult.retinfo)
|
|
|
+
|
|
|
+ if (!(approve in [0, 1])) return RetResult.<InvokeCallParams> errorT().retinfo("传入状态非法")
|
|
|
+
|
|
|
+ OrderRefundRequest refundRequest = requestRetResult.result
|
|
|
+
|
|
|
+ if ((source.currentUser.userFrom == TokenUserFrom.APP_STORE_ADMIN.value) || (source.currentUser.userFrom == TokenUserFrom.PC_STORE_ADMIN.value)) {
|
|
|
+ if (refundRequest.idStore != source.currentUser.idBindOrg) {
|
|
|
+ return RetResult.<InvokeCallParams> errorT().retinfo("无效的订单信息")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return super.checkExecute(source)
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
RetResult<InvokeCallParams> beforeExecute(InvokeCallParams source) {
|
|
|
return super.beforeExecute(source)
|
|
|
}
|