|
|
|
@@ -0,0 +1,83 @@ |
|
|
|
package com.iformall.schedule; |
|
|
|
|
|
|
|
import com.iformall.domain.po.*; |
|
|
|
import com.iformall.enums.EnumYesOrNo; |
|
|
|
import com.iformall.mapper.WxVtwoActivityGrantOrderMapper; |
|
|
|
import com.iformall.mapper.WxVtwoActivityGrantSettlementMapper; |
|
|
|
import com.iformall.mapper.WxVtwoCashBackGrantAwardMapper; |
|
|
|
import com.iformall.mapper.WxVtwoCashBackGrantMapper; |
|
|
|
import com.iformall.service.WxVtwoActivityGrantExportTwoService; |
|
|
|
import com.iformall.service.WxVtwoActivityGrantSettlementService; |
|
|
|
import com.iformall.service.WxVtwoActivityOrderService; |
|
|
|
import com.iformall.service.WxVtwoCashBackGrantService; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.scheduling.annotation.Async; |
|
|
|
import org.springframework.scheduling.annotation.Scheduled; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@Component |
|
|
|
public class WxVtwoActivityGrantExportTwoSchedule { |
|
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxVtwoCashBackGrantMapper wxVtwoCashBackGrantMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxVtwoActivityGrantOrderMapper wxVtwoActivityGrantOrderMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxVtwoActivityOrderService wxVtwoActivityOrderService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxVtwoCashBackGrantAwardMapper wxVtwoCashBackGrantAwardMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private WxVtwoActivityGrantExportTwoService wxVtwoActivityGrantExportTwoService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Async |
|
|
|
@Scheduled(cron = "0 0 */1 * * ?") // 每小时检查一次 |
|
|
|
public void wxVtwoCashBackGrantSchedule() { |
|
|
|
logger.info("*************************************************************************************"); |
|
|
|
String tenantId = "789"; |
|
|
|
// String tenantId = "1095"; |
|
|
|
List<WxVtwoCashBackGrant> todoList = wxVtwoCashBackGrantMapper.findTodoList(tenantId); |
|
|
|
if(todoList != null && !todoList.isEmpty()) { |
|
|
|
todoList.forEach(todo ->{ |
|
|
|
WxVtwoActivityGrantOrder grantOrderQ = new WxVtwoActivityGrantOrder(); |
|
|
|
grantOrderQ.updateTenantInfo(todo); |
|
|
|
grantOrderQ.setGrantId(todo.getId()); |
|
|
|
List<WxVtwoActivityGrantOrder> grantOrderList = wxVtwoActivityGrantOrderMapper.findList(grantOrderQ); |
|
|
|
List<Long> orderIds = grantOrderList.stream().map(WxVtwoActivityGrantOrder::getOrderId).collect(Collectors.toList()); |
|
|
|
List<Long> filterIdList = grantOrderList.stream().filter(grantOrder -> grantOrder.getIsAmount().equals(EnumYesOrNo.YES.getCode())).map(WxVtwoActivityGrantOrder::getOrderId).collect(Collectors.toList()); |
|
|
|
List<WxVtwoActivityOrder> grantOrder = wxVtwoActivityOrderService.findGrantOrder(todo, orderIds, filterIdList); |
|
|
|
todo.setOrderList(grantOrder); |
|
|
|
|
|
|
|
WxVtwoCashBackGrantAward grantAwardQ = new WxVtwoCashBackGrantAward(); |
|
|
|
grantAwardQ.updateTenantInfo(todo); |
|
|
|
grantAwardQ.setGrantId(todo.getId()); |
|
|
|
List<WxVtwoCashBackGrantAward> grantAwardList = wxVtwoCashBackGrantAwardMapper.findList(grantAwardQ); |
|
|
|
todo.setGrantAwardList(grantAwardList); |
|
|
|
|
|
|
|
WxVtwoActivityGrantSettlement grantSettlementQ = new WxVtwoActivityGrantSettlement(); |
|
|
|
grantSettlementQ.updateTenantInfo(todo); |
|
|
|
grantSettlementQ.setGrantId(todo.getId()); |
|
|
|
List<WxVtwoActivityGrantSettlement> grantSettlementList = wxVtwoActivityGrantSettlementMapper.findList(grantSettlementQ); |
|
|
|
wxVtwoActivityGrantExportTwoService.saveGrantExport(todo,grantSettlementList); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |