|
|
@@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
|
import java.math.BigDecimal; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
@@ -65,6 +66,9 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
@Autowired |
|
|
@Autowired |
|
|
private WxShopService wxShopService; |
|
|
private WxShopService wxShopService; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private MallUserInfoService mallUserInfoService; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private ExcelService excelService; |
|
|
private ExcelService excelService; |
|
|
@Autowired |
|
|
@Autowired |
|
|
@@ -119,14 +123,21 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
List<Long> merchantIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); |
|
|
List<Long> merchantIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); |
|
|
|
|
|
List<Long> adminUserIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getAuditBy).filter(Objects::nonNull).distinct().collect(Collectors.toList()); |
|
|
List<Long> userIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getCusId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); |
|
|
List<Long> userIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getCusId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
Map<Long, String> merchantMap = new HashMap<>(); |
|
|
|
|
|
|
|
|
Map<Long, WxMerchant> merchantMap = new HashMap<>(); |
|
|
if(!merchantIds.isEmpty()){ |
|
|
if(!merchantIds.isEmpty()){ |
|
|
WxMerchant merchantQ = new WxMerchant(); |
|
|
WxMerchant merchantQ = new WxMerchant(); |
|
|
merchantQ.updateTenantInfo(wxLegionActivityOrder); |
|
|
merchantQ.updateTenantInfo(wxLegionActivityOrder); |
|
|
merchantQ.setIds(merchantIds); |
|
|
merchantQ.setIds(merchantIds); |
|
|
merchantMap = wxMerchantService.getIdAndNamesMap(merchantQ); |
|
|
|
|
|
|
|
|
merchantMap = wxMerchantService.findMerchantMap(merchantQ); |
|
|
|
|
|
} |
|
|
|
|
|
Map<Long, MallUserInfo> userMap = new HashMap<>(); |
|
|
|
|
|
if(!adminUserIds.isEmpty()){ |
|
|
|
|
|
MallUserInfo userInfoQ = new MallUserInfo(); |
|
|
|
|
|
userInfoQ.updateTenantInfo(wxLegionActivityOrder); |
|
|
|
|
|
userMap = mallUserInfoService.getUserMap(userInfoQ); |
|
|
} |
|
|
} |
|
|
Map<Long, WxLegionActivityUser> activityUserMap = new HashMap<>(); |
|
|
Map<Long, WxLegionActivityUser> activityUserMap = new HashMap<>(); |
|
|
if(!userIds.isEmpty()){ |
|
|
if(!userIds.isEmpty()){ |
|
|
@@ -141,12 +152,19 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); |
|
|
Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ); |
|
|
|
|
|
|
|
|
for (WxLegionActivityOrder legionActivityOrder : wxLegionActivityOrders) { |
|
|
for (WxLegionActivityOrder legionActivityOrder : wxLegionActivityOrders) { |
|
|
|
|
|
if(legionActivityOrder.getMerchantId() != null){ |
|
|
|
|
|
WxMerchant merchant = merchantMap.get(legionActivityOrder.getMerchantId()); |
|
|
|
|
|
legionActivityOrder.setMerchantName(merchant.getName()); |
|
|
|
|
|
} |
|
|
|
|
|
if(legionActivityOrder.getAuditBy() != null){ |
|
|
|
|
|
legionActivityOrder.setAuditByName(userMap.get(legionActivityOrder.getAuditBy()).getName()); |
|
|
|
|
|
} |
|
|
WxLegionActivityUser user = activityUserMap.get(legionActivityOrder.getCusId()); |
|
|
WxLegionActivityUser user = activityUserMap.get(legionActivityOrder.getCusId()); |
|
|
if (null != user) { |
|
|
if (null != user) { |
|
|
legionActivityOrder.setCusPhone(user.getPhone()); |
|
|
legionActivityOrder.setCusPhone(user.getPhone()); |
|
|
legionActivityOrder.setCusVipNum(user.getVipNum()); |
|
|
legionActivityOrder.setCusVipNum(user.getVipNum()); |
|
|
} |
|
|
} |
|
|
legionActivityOrder.setMerchantName(merchantMap.get(legionActivityOrder.getMerchantId())); |
|
|
|
|
|
|
|
|
|
|
|
if(legionActivityOrder.getLegionId().equals(0L)){ |
|
|
if(legionActivityOrder.getLegionId().equals(0L)){ |
|
|
legionActivityOrder.setLegionName("未参加活动"); |
|
|
legionActivityOrder.setLegionName("未参加活动"); |
|
|
legionActivityOrder.setUnionName("未参加活动"); |
|
|
legionActivityOrder.setUnionName("未参加活动"); |
|
|
@@ -278,15 +296,36 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Map<String, Integer> getStatistics(WxLegionActivityOrder wxLegionActivityOrder) { |
|
|
|
|
|
List<LegionActivityOrderStatistics> auditStatusStatistics = wxLegionActivityOrderMapper.auditStatusStatistics(wxLegionActivityOrder); |
|
|
|
|
|
Map<String, Integer> result = new HashMap<>(); |
|
|
|
|
|
|
|
|
public Map<String, Object> getStatistics(WxLegionActivityOrder wxLegionActivityOrder) { |
|
|
|
|
|
Map<String, Object> result = new HashMap<>(); |
|
|
Integer audting = 0, audi_success = 0, audt_fail = 0, invalid = 0; |
|
|
Integer audting = 0, audi_success = 0, audt_fail = 0, invalid = 0; |
|
|
|
|
|
BigDecimal sum_success = BigDecimal.ZERO, sum_fail = BigDecimal.ZERO; |
|
|
|
|
|
|
|
|
|
|
|
if(StringUtils.isNotBlank(wxLegionActivityOrder.getCusPhone())){ |
|
|
|
|
|
WxLegionActivityUser activityUserQ = new WxLegionActivityUser(); |
|
|
|
|
|
activityUserQ.setActivityId(wxLegionActivityOrder.getActivityId()); |
|
|
|
|
|
activityUserQ.setPhone(wxLegionActivityOrder.getCusPhone()); |
|
|
|
|
|
WxLegionActivityUser user = wxLegionActivityUserMapper.selectLimitOne(activityUserQ); |
|
|
|
|
|
if(user == null){ |
|
|
|
|
|
result.put("cus_name","查无此人"); |
|
|
|
|
|
result.put("cus_phone",wxLegionActivityOrder.getCusPhone()); |
|
|
|
|
|
return result; |
|
|
|
|
|
}else{ |
|
|
|
|
|
wxLegionActivityOrder.setCusId(user.getId()); |
|
|
|
|
|
result.put("cus_name",user.getName()); |
|
|
|
|
|
result.put("cus_phone",user.getPhone()); |
|
|
|
|
|
result.put("vip_num",user.getVipNum()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
List<LegionActivityOrderStatistics> auditStatusStatistics = wxLegionActivityOrderMapper.auditStatusStatistics(wxLegionActivityOrder); |
|
|
|
|
|
|
|
|
for(LegionActivityOrderStatistics statistics : auditStatusStatistics){ |
|
|
for(LegionActivityOrderStatistics statistics : auditStatusStatistics){ |
|
|
if(EnumLegionActivityOrderStatus.AUDTING.getCode().equals(statistics.getAuditStatus())){ |
|
|
if(EnumLegionActivityOrderStatus.AUDTING.getCode().equals(statistics.getAuditStatus())){ |
|
|
audting = statistics.getCount(); |
|
|
audting = statistics.getCount(); |
|
|
} else if (EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(statistics.getAuditStatus())) { |
|
|
} else if (EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(statistics.getAuditStatus())) { |
|
|
audi_success = statistics.getCount(); |
|
|
audi_success = statistics.getCount(); |
|
|
|
|
|
sum_success = statistics.getSumMoney(); |
|
|
} else if (EnumLegionActivityOrderStatus.AUDT_FAIL.getCode().equals(statistics.getAuditStatus())) { |
|
|
} else if (EnumLegionActivityOrderStatus.AUDT_FAIL.getCode().equals(statistics.getAuditStatus())) { |
|
|
audt_fail = statistics.getCount(); |
|
|
audt_fail = statistics.getCount(); |
|
|
} else if (EnumLegionActivityOrderStatus.INVALID.getCode().equals(statistics.getAuditStatus())) { |
|
|
} else if (EnumLegionActivityOrderStatus.INVALID.getCode().equals(statistics.getAuditStatus())) { |
|
|
@@ -295,6 +334,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe |
|
|
} |
|
|
} |
|
|
result.put("audting",audting); |
|
|
result.put("audting",audting); |
|
|
result.put("audi_success",audi_success); |
|
|
result.put("audi_success",audi_success); |
|
|
|
|
|
result.put("sum_success",sum_success); |
|
|
result.put("audt_fail",audt_fail); |
|
|
result.put("audt_fail",audt_fail); |
|
|
result.put("invalid",invalid); |
|
|
result.put("invalid",invalid); |
|
|
result.put("sum_count",audting+audi_success+audt_fail+invalid); |
|
|
result.put("sum_count",audting+audi_success+audt_fail+invalid); |
|
|
|