|
@@ -3,6 +3,7 @@ package com.gree.mall.manager.logic.admin;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import com.alibaba.excel.util.StringUtils;
|
|
import com.alibaba.excel.util.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
|
+import com.gree.mall.manager.bean.ExcelData;
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
import com.gree.mall.manager.bean.admin.AdminWebsitNewBean;
|
|
import com.gree.mall.manager.bean.admin.AdminWebsitNewBean;
|
|
import com.gree.mall.manager.bean.admin.AdminWebsitTree;
|
|
import com.gree.mall.manager.bean.admin.AdminWebsitTree;
|
|
@@ -25,10 +26,8 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Objects;
|
|
|
|
-import java.util.Optional;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
+import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -585,10 +584,135 @@ public class AdminWebsitLogic {
|
|
|
|
|
|
if (CollectionUtil.isNotEmpty(adminWebsitList)) {
|
|
if (CollectionUtil.isNotEmpty(adminWebsitList)) {
|
|
adminWebsitService.saveBatch(adminWebsitList);
|
|
adminWebsitService.saveBatch(adminWebsitList);
|
|
|
|
+ for (AdminWebsit websit : adminWebsitList) {
|
|
|
|
+ reloadJoinCode(websit.getCompanyWechatId(), websit.getJoinCode());
|
|
|
|
+
|
|
|
|
+ // 初始化辅材配件默认仓
|
|
|
|
+ initMaterialStorage(adminUser, websit);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ AdminDept adminDept = adminDeptService.lambdaQuery().eq(AdminDept::getCompanyWechatId, websit.getCompanyWechatId())
|
|
|
|
+ .eq(AdminDept::getPId, "1").last("limit 1").one();
|
|
|
|
+ AdminDeptWebsit adminDeptWebsit = new AdminDeptWebsit();
|
|
|
|
+ adminDeptWebsit.setAdminDeptId(adminDept.getAdminDeptId());
|
|
|
|
+ adminDeptWebsit.setWebsitId(websit.getWebsitId());
|
|
|
|
+ adminDeptWebsit.setWebsitName(websit.getName());
|
|
|
|
+ adminDeptWebsit.setDeptName(adminDept.getDeptName());
|
|
|
|
+ adminDeptWebsit.insert();
|
|
|
|
+ }
|
|
|
|
+
|
|
if (CollectionUtil.isNotEmpty(payConfigList)) {
|
|
if (CollectionUtil.isNotEmpty(payConfigList)) {
|
|
adminWebsitPayConfigService.saveBatch(payConfigList);
|
|
adminWebsitPayConfigService.saveBatch(payConfigList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public ExcelData exportData() {
|
|
|
|
+ AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
|
|
+ List<List<Object>> rows = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ String companyId = "";
|
|
|
|
+ String companyName = "";
|
|
|
|
+ if (Objects.nonNull(adminUser.getAdminCompanyWechat())) {
|
|
|
|
+ companyId = adminUser.getAdminCompanyWechat().getCompanyWechatId();
|
|
|
|
+ companyName = adminUser.getAdminCompanyWechat().getCompanyName();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ExcelData excelData = new ExcelData();
|
|
|
|
+
|
|
|
|
+ final List<AdminWebsit> websitList = adminWebsitService.lambdaQuery()
|
|
|
|
+ .eq(org.apache.commons.lang3.StringUtils.isNotBlank(companyId), AdminWebsit::getCompanyWechatId, companyId)
|
|
|
|
+ .eq(AdminWebsit::getType, AdminWebsitTypeEnum.C.getKey())
|
|
|
|
+ .in(CollectionUtil.isNotEmpty(adminUser.getAdminWebsitIds()), AdminWebsit::getWebsitId, adminUser.getAdminWebsitIds())
|
|
|
|
+ .list();
|
|
|
|
+
|
|
|
|
+ List<String> titleList = new ArrayList<>();
|
|
|
|
+ titleList.add("网点名称");
|
|
|
|
+ titleList.add("联系人");
|
|
|
|
+ titleList.add("详细地址");
|
|
|
|
+ titleList.add("电子支付商户名称");
|
|
|
|
+ titleList.add("状态");
|
|
|
|
+ titleList.add("通联支付开关");
|
|
|
|
+
|
|
|
|
+ if (CollectionUtil.isEmpty(websitList)) {
|
|
|
|
+ excelData.setTitles(titleList);
|
|
|
|
+ excelData.setRows(rows);
|
|
|
|
+ return excelData;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ final List<AdminWebsitPayConfig> payConfigList = adminWebsitPayConfigService.lambdaQuery()
|
|
|
|
+ .in(AdminWebsitPayConfig::getWebsitId, websitList.stream()
|
|
|
|
+ .map(AdminWebsit::getWebsitId)
|
|
|
|
+ .collect(Collectors.toList()))
|
|
|
|
+ .list();
|
|
|
|
+
|
|
|
|
+ final List<AdminCompanyWechatPayConfig> wechatPayConfigs = adminCompanyWechatPayConfigService.lambdaQuery()
|
|
|
|
+ .eq(org.apache.commons.lang3.StringUtils.isNotBlank(companyId), AdminCompanyWechatPayConfig::getCompanyWechatId, companyId)
|
|
|
|
+ .list();
|
|
|
|
+
|
|
|
|
+ final Map<String, AdminCompanyWechatPayConfig> wechatPayConfigMap = wechatPayConfigs.stream()
|
|
|
|
+ .collect(Collectors.toMap(AdminCompanyWechatPayConfig::getId, Function.identity()));
|
|
|
|
+
|
|
|
|
+ final Map<String, List<AdminWebsitPayConfig>> itemMap = payConfigList.stream()
|
|
|
|
+ .collect(Collectors.groupingBy(AdminWebsitPayConfig::getWebsitId));
|
|
|
|
+
|
|
|
|
+ // 计算出最多行配置数量
|
|
|
|
+ int configCount = 0;
|
|
|
|
+ for (Map.Entry<String, List<AdminWebsitPayConfig>> entry : itemMap.entrySet()) {
|
|
|
|
+ if (entry.getValue().size() > configCount) {
|
|
|
|
+ configCount = entry.getValue().size();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < configCount; i++) {
|
|
|
|
+ titleList.add("通联商户名称" + (i+1));
|
|
|
|
+ titleList.add("通联集团号" + (i+1));
|
|
|
|
+ titleList.add("类别" + (i+1));
|
|
|
|
+ titleList.add("通联商户号" + (i+1));
|
|
|
|
+ titleList.add("通联商户appid" + (i+1));
|
|
|
|
+ titleList.add("状态" + (i+1));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ int requireRowSize = titleList.size();
|
|
|
|
+
|
|
|
|
+ for (AdminWebsit websit : websitList) {
|
|
|
|
+ List<Object> row = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ final AdminCompanyWechatPayConfig wechatPayConfig = wechatPayConfigMap.get(websit.getPayWorkerCodeId());
|
|
|
|
+ row.add(websit.getName());
|
|
|
|
+ row.add(websit.getLinkName());
|
|
|
|
+ row.add(websit.getAddress());
|
|
|
|
+ row.add(Objects.nonNull(wechatPayConfig) ? wechatPayConfig.getPayMerchantName() : "无");
|
|
|
|
+ row.add(websit.getStatus() ? "启用" : "禁用");
|
|
|
|
+ row.add(websit.getIsUseAllinpay() ? "开启" : "关闭");
|
|
|
|
+
|
|
|
|
+ final List<AdminWebsitPayConfig> items = itemMap.get(websit.getWebsitId());
|
|
|
|
+ if (CollectionUtil.isNotEmpty(items)) {
|
|
|
|
+ for (AdminWebsitPayConfig item : items) {
|
|
|
|
+ row.add(item.getName());
|
|
|
|
+ row.add(item.getOrgId());
|
|
|
|
+ row.add(item.getType().equals(WebsitGoodsTypeEnum.M.getKey()) ? WebsitGoodsTypeEnum.M.getRemark() : WebsitGoodsTypeEnum.P.getRemark());
|
|
|
|
+ row.add(item.getMchNo());
|
|
|
|
+ row.add(item.getAppid());
|
|
|
|
+ row.add(item.getStatus() ? "开启" : "关闭");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (row.size() != requireRowSize) {
|
|
|
|
+ int needRowSize = requireRowSize - row.size();
|
|
|
|
+ if (needRowSize > 0) {
|
|
|
|
+ for (int i = 0; i < needRowSize; i++) {
|
|
|
|
+ row.add("");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ rows.add(row);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ excelData.setTitles(titleList);
|
|
|
|
+ excelData.setRows(rows);
|
|
|
|
+ return excelData;
|
|
|
|
+ }
|
|
}
|
|
}
|