| @@ -2,6 +2,7 @@ package com.iformall.controller.market; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.annotation.ApiVersion; | import com.iformall.annotation.ApiVersion; | ||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.Result; | import com.iformall.common.Result; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.constant.SwaggerConstant; | import com.iformall.constant.SwaggerConstant; | ||||
| @@ -85,8 +86,17 @@ public class WxLegionActivityController extends BaseController { | |||||
| if(!merchantIds.isEmpty() && merchantIds.stream().distinct().count() != merchantIds.size()){ | if(!merchantIds.isEmpty() && merchantIds.stream().distinct().count() != merchantIds.size()){ | ||||
| return new ResultData(Result.ERROR,"军团商户配置重复"); | return new ResultData(Result.ERROR,"军团商户配置重复"); | ||||
| } | } | ||||
| wxLegionActivityService.saveOrUpdate(wxLegionActivity); | |||||
| return new ResultData(wxLegionActivity); | |||||
| try{ | |||||
| wxLegionActivityService.saveOrUpdate(wxLegionActivity); | |||||
| return new ResultData(wxLegionActivity); | |||||
| }catch(MallinkException e){ | |||||
| logger.error(e.getMessage()); | |||||
| return new ResultData(e.getErrorCode(), e.getMessage()); | |||||
| }catch(Exception e){ | |||||
| logger.error("异常:" + e); | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR); | |||||
| } | |||||
| } | } | ||||
| @ApiVersion(group = SwaggerConstant.V_2_0_0) | @ApiVersion(group = SwaggerConstant.V_2_0_0) | ||||
| @@ -1,6 +1,7 @@ | |||||
| package com.iformall.controller.market; | package com.iformall.controller.market; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.Result; | import com.iformall.common.Result; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.controller.base.BaseController; | import com.iformall.controller.base.BaseController; | ||||
| @@ -118,8 +119,16 @@ public class WxOfflineActivityGrantController extends BaseController { | |||||
| TenantEntity tenantEntity = getTenantInfo(); | TenantEntity tenantEntity = getTenantInfo(); | ||||
| wxOfflineActivityGrantAward.updateTenantInfo(tenantEntity); | wxOfflineActivityGrantAward.updateTenantInfo(tenantEntity); | ||||
| wxOfflineActivityGrantAward.setCreateBy(getUserId()); | wxOfflineActivityGrantAward.setCreateBy(getUserId()); | ||||
| wxOfflineActivityGrantAwardService.grantAward(wxOfflineActivityGrantAward); | |||||
| return new ResultData(); | |||||
| try{ | |||||
| wxOfflineActivityGrantAwardService.grantAward(wxOfflineActivityGrantAward); | |||||
| return new ResultData(); | |||||
| }catch(MallinkException e){ | |||||
| logger.error(e.getMessage()); | |||||
| return new ResultData(e.getErrorCode(), e.getMessage()); | |||||
| }catch(Exception e){ | |||||
| logger.error("异常:" + e); | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR); | |||||
| } | |||||
| } | } | ||||
| @ApiOperation("活动发奖详情") | @ApiOperation("活动发奖详情") | ||||
| @@ -2,6 +2,7 @@ package com.iformall.controller; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.annotation.ApiVersion; | import com.iformall.annotation.ApiVersion; | ||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.Result; | import com.iformall.common.Result; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.constant.SwaggerConstant; | import com.iformall.constant.SwaggerConstant; | ||||
| @@ -9,6 +10,7 @@ import com.iformall.domain.po.WxLegionActivityOrder; | |||||
| import com.iformall.domain.po.WxOfflineActivityRecord; | import com.iformall.domain.po.WxOfflineActivityRecord; | ||||
| import com.iformall.domain.po.base.BaseEntity.SortField; | import com.iformall.domain.po.base.BaseEntity.SortField; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.exception.MallinkException; | |||||
| import com.iformall.service.WxLegionActivityOrderService; | import com.iformall.service.WxLegionActivityOrderService; | ||||
| import com.iformall.service.WxOfflineActivityRecordService; | import com.iformall.service.WxOfflineActivityRecordService; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -78,8 +80,16 @@ public class WxLegionActivityOrderController extends BaseController { | |||||
| wxLegionActivityOrder.updateTenantInfo(tenantEntity); | wxLegionActivityOrder.updateTenantInfo(tenantEntity); | ||||
| wxLegionActivityOrder.setCreateBy(getMerchantBUserId()); | wxLegionActivityOrder.setCreateBy(getMerchantBUserId()); | ||||
| wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId()); | wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId()); | ||||
| wxLegionActivityOrderService.saveOrUpdate(wxLegionActivityOrder); | |||||
| return new ResultData(); | |||||
| try{ | |||||
| wxLegionActivityOrderService.saveOrUpdate(wxLegionActivityOrder); | |||||
| return new ResultData(); | |||||
| }catch(MallinkException e){ | |||||
| logger.error(e.getMessage()); | |||||
| return new ResultData(e.getErrorCode(), e.getMessage()); | |||||
| }catch(Exception e){ | |||||
| logger.error("异常:" + e); | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR); | |||||
| } | |||||
| } | } | ||||
| @ApiVersion(group = SwaggerConstant.V_2_0_0) | @ApiVersion(group = SwaggerConstant.V_2_0_0) | ||||
| @@ -2,6 +2,7 @@ package com.iformall.controller; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.annotation.ApiVersion; | import com.iformall.annotation.ApiVersion; | ||||
| import com.iformall.common.ErrorCode; | |||||
| import com.iformall.common.Result; | import com.iformall.common.Result; | ||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.constant.SwaggerConstant; | import com.iformall.constant.SwaggerConstant; | ||||
| @@ -10,6 +11,7 @@ import com.iformall.domain.po.WxOfflineActivityRecord; | |||||
| import com.iformall.domain.po.base.BaseEntity.SortField; | import com.iformall.domain.po.base.BaseEntity.SortField; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.EnumLegionActivityUserStatus; | import com.iformall.enums.EnumLegionActivityUserStatus; | ||||
| import com.iformall.exception.MallinkException; | |||||
| import com.iformall.service.WxLegionActivityUserService; | import com.iformall.service.WxLegionActivityUserService; | ||||
| import com.iformall.service.WxOfflineActivityRecordService; | import com.iformall.service.WxOfflineActivityRecordService; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| @@ -73,8 +75,16 @@ public class WxLegionActivityUserController extends BaseController { | |||||
| wxLegionActivityUser.updateTenantInfo(tenantEntity); | wxLegionActivityUser.updateTenantInfo(tenantEntity); | ||||
| wxLegionActivityUser.setCreateBy(getMerchantBUserId()); | wxLegionActivityUser.setCreateBy(getMerchantBUserId()); | ||||
| wxLegionActivityUser.setMerchantId(getLoginBUser().getMerchantId()); | wxLegionActivityUser.setMerchantId(getLoginBUser().getMerchantId()); | ||||
| wxLegionActivityUserService.saveOrUpdate(wxLegionActivityUser); | |||||
| return new ResultData(); | |||||
| try{ | |||||
| wxLegionActivityUserService.saveOrUpdate(wxLegionActivityUser); | |||||
| return new ResultData(); | |||||
| }catch(MallinkException e){ | |||||
| logger.error(e.getMessage()); | |||||
| return new ResultData(e.getErrorCode(), e.getMessage()); | |||||
| }catch(Exception e){ | |||||
| logger.error("异常:" + e); | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR); | |||||
| } | |||||
| } | } | ||||
| @ApiVersion(group = SwaggerConstant.V_2_0_0) | @ApiVersion(group = SwaggerConstant.V_2_0_0) | ||||
| @@ -380,33 +380,45 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| throw new MallinkException(Result.ERROR,"未查询到活动"); | throw new MallinkException(Result.ERROR,"未查询到活动"); | ||||
| } | } | ||||
| List<Long> merchantIds = new ArrayList<>(); | |||||
| //用户 | |||||
| WxLegionActivityUser userQ = new WxLegionActivityUser(); | |||||
| userQ.updateTenantInfo(activity); | |||||
| userQ.setActivityId(activity.getId()); | |||||
| userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); | |||||
| List<LegionActivityUserStatistics> merchantCountStatistics = wxLegionActivityUserMapper.merchantCountStatistics(userQ); | |||||
| Map<Long, Integer> merchantCountStatisticsMap = new HashMap<>(); | |||||
| if(merchantCountStatistics != null && !merchantCountStatistics.isEmpty()){ | |||||
| merchantIds.addAll(merchantCountStatistics.stream().map(LegionActivityUserStatistics::getMerchantId).distinct().collect(Collectors.toList())); | |||||
| merchantCountStatisticsMap = merchantCountStatistics.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getMerchantId, LegionActivityUserStatistics::getCount)); | |||||
| } | |||||
| //订单 | |||||
| WxLegionActivityOrder orderQ = new WxLegionActivityOrder(); | WxLegionActivityOrder orderQ = new WxLegionActivityOrder(); | ||||
| orderQ.updateTenantInfo(activity); | orderQ.updateTenantInfo(activity); | ||||
| orderQ.setActivityId(activity.getId()); | orderQ.setActivityId(activity.getId()); | ||||
| orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); | orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode()); | ||||
| List<LegionActivityOrderTypeStatistics> merchantStatistics = wxLegionActivityOrderMapper.merchantStatistics(orderQ); | List<LegionActivityOrderTypeStatistics> merchantStatistics = wxLegionActivityOrderMapper.merchantStatistics(orderQ); | ||||
| if(merchantStatistics == null || merchantStatistics.isEmpty()){ | |||||
| Map<Long, List<LegionActivityOrderTypeStatistics>> merchantStatisticsMap = new HashMap<>(); | |||||
| if(merchantStatistics != null && !merchantStatistics.isEmpty()){ | |||||
| merchantIds.addAll(merchantStatistics.stream().map(LegionActivityOrderTypeStatistics::getMerchantId).distinct().collect(Collectors.toList())); | |||||
| merchantStatisticsMap = merchantStatistics.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getMerchantId)); | |||||
| } | |||||
| if(merchantIds.isEmpty()){ | |||||
| return Collections.emptyList(); | return Collections.emptyList(); | ||||
| } | } | ||||
| List<Long> merchantIds = merchantStatistics.stream().map(LegionActivityOrderTypeStatistics::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); | |||||
| merchantIds = merchantIds.stream().distinct().collect(Collectors.toList()); | |||||
| WxMerchant merchantQ = new WxMerchant(); | WxMerchant merchantQ = new WxMerchant(); | ||||
| merchantQ.updateTenantInfo(activity); | merchantQ.updateTenantInfo(activity); | ||||
| merchantQ.setIds(merchantIds); | merchantQ.setIds(merchantIds); | ||||
| Map<Long, String> idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); | Map<Long, String> idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ); | ||||
| Map<Long,String> merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(activity, merchantIds, EnumYesOrNo.NO.getCode()); | |||||
| Map<Long, List<LegionActivityOrderTypeStatistics>> merchantStatisticsMap = merchantStatistics.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getMerchantId)); | |||||
| WxLegionActivityUser userQ = new WxLegionActivityUser(); | |||||
| userQ.updateTenantInfo(activity); | |||||
| userQ.setActivityId(activity.getId()); | |||||
| userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode()); | |||||
| List<LegionActivityUserStatistics> merchantCountStatistics = wxLegionActivityUserMapper.merchantCountStatistics(userQ); | |||||
| Map<Long, Integer> merchantCountStatisticsMap = merchantCountStatistics.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getMerchantId, LegionActivityUserStatistics::getCount)); | |||||
| Map<Long, String> merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(activity, merchantIds, EnumYesOrNo.NO.getCode()); | |||||
| List<LegionActivityMerchantStatistics> merchantStatisticsList = new ArrayList<>(); | List<LegionActivityMerchantStatistics> merchantStatisticsList = new ArrayList<>(); | ||||
| for (Long merchantId : merchantStatisticsMap.keySet()) { | |||||
| for (Long merchantId : idAndNamesMap.keySet()) { | |||||
| LegionActivityMerchantStatistics merchantS = new LegionActivityMerchantStatistics(); | LegionActivityMerchantStatistics merchantS = new LegionActivityMerchantStatistics(); | ||||
| merchantS.setMerchantId(merchantId); | merchantS.setMerchantId(merchantId); | ||||
| merchantS.setMerchantName(idAndNamesMap.get(merchantId)); | merchantS.setMerchantName(idAndNamesMap.get(merchantId)); | ||||
| @@ -414,17 +426,19 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| Integer userCount = merchantCountStatisticsMap.get(merchantId)==null?0:merchantCountStatisticsMap.get(merchantId); | Integer userCount = merchantCountStatisticsMap.get(merchantId)==null?0:merchantCountStatisticsMap.get(merchantId); | ||||
| merchantS.setUserCount(userCount); | merchantS.setUserCount(userCount); | ||||
| Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0; | Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0; | ||||
| for(LegionActivityOrderTypeStatistics statistics : merchantStatisticsMap.get(merchantId)){ | |||||
| if(EnumLegionActivityOrderType.SIGN_ORDER.getCode().equals(statistics.getOrderType())){ | |||||
| sign_order = statistics.getCount(); | |||||
| }else if (EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(statistics.getOrderType())){ | |||||
| dif_legion = statistics.getCount(); | |||||
| }else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(statistics.getOrderType())){ | |||||
| dif_union = statistics.getCount(); | |||||
| }else if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(statistics.getOrderType())){ | |||||
| eq_union = statistics.getCount(); | |||||
| }else if(EnumLegionActivityOrderType.NOT_UNION.getCode().equals(statistics.getOrderType())){ | |||||
| not_union = statistics.getCount(); | |||||
| if(merchantStatisticsMap.get(merchantId) != null){ | |||||
| for(LegionActivityOrderTypeStatistics statistics : merchantStatisticsMap.get(merchantId)){ | |||||
| if(EnumLegionActivityOrderType.SIGN_ORDER.getCode().equals(statistics.getOrderType())){ | |||||
| sign_order = statistics.getCount(); | |||||
| }else if (EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(statistics.getOrderType())){ | |||||
| dif_legion = statistics.getCount(); | |||||
| }else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(statistics.getOrderType())){ | |||||
| dif_union = statistics.getCount(); | |||||
| }else if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(statistics.getOrderType())){ | |||||
| eq_union = statistics.getCount(); | |||||
| }else if(EnumLegionActivityOrderType.NOT_UNION.getCode().equals(statistics.getOrderType())){ | |||||
| not_union = statistics.getCount(); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| //签单=总订单数 | //签单=总订单数 | ||||