You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
3.1 KiB

package com.example.demo.config.cash;
import com.example.demo.domain.vo.cash.Market;
import com.example.demo.service.cash.MarketService;
import com.example.demo.service.cash.RefundApprovalService;
import lombok.RequiredArgsConstructor;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
@Component
@RequiredArgsConstructor
public class DataInitializer implements CommandLineRunner {
private final MarketService marketService;
private final RefundApprovalService refundApprovalService;
@Override
public void run(String... args) throws Exception {
// 初始化地区数据
initializeMarketData();
}
private void initializeMarketData() {
List<Market> markets = Arrays.asList(
createMarket(1, "Capt", -1, "Capt-Capt-Capt-Capt", 0),
createMarket(2, "公司", 1, "Capt-公司-公司-公司", 1),
createMarket(3, "市场", 1, "Capt-市场部-市场部-市场部", 1),
createMarket(4, "新加坡", 3, "Capt-市场部-新加坡-新加坡", 2),
createMarket(5, "马来西亚", 3, "Capt-市场部-马来西亚-马来西亚", 2),
createMarket(9, "研发部", 2, "Capt-公司-研发部-研发部", 2),
createMarket(13, "香港", 3, "Capt-市场部-香港-香港", 2),
createMarket(9999, "总部", 2, "Capt-公司-总部-总部", 2),
createMarket(24016, "加拿大", 3, "Capt-市场部-加拿大-加拿大", 2),
createMarket(24018, "泰国", 3, "Capt-市场部-泰国-泰国", 2),
createMarket(24022, "越南HCM", 3, "Capt-市场部-越南HCM-越南HCM", 2),
createMarket(24027, "韩国", 3, "Capt-市场部-韩国-韩国", 2),
createMarket(24028, "深圳运营", 3, "Capt-市场部-深圳运营-深圳运营", 2),
createMarket(24030, "未知", 3, "Capt-市场部-未知", 2),
createMarket(24031, "其他", 3, "Capt-市场部-其他", 2),
createMarket(24032, "市场部", 3, "Capt-市场部-市场部", 2)
);
marketService.initializeMarkets(markets);
// 为特定市场初始化审批流程
refundApprovalService.initializeFlowForMarketName("新加坡");
refundApprovalService.initializeFlowForMarketName("马来西亚");
refundApprovalService.initializeFlowForMarketName("香港");
refundApprovalService.initializeFlowForMarketName("加拿大");
refundApprovalService.initializeFlowForMarketName("泰国");
refundApprovalService.initializeFlowForMarketName("越南HCM");
refundApprovalService.initializeFlowForMarketName("韩国");
refundApprovalService.initializeFlowForMarketName("深圳运营");
}
private Market createMarket(Integer id, String name, Integer parentId, String treelist, Integer type) {
Market market = new Market();
market.setId(id);
market.setName(name);
market.setParentId(parentId);
market.setTreelist(treelist);
market.setType(type);
return market;
}
}