Browse Source

Merge branch 'release_toaliyun_real_offline_activity' of https://git.malls.iformall.com/server/formallProject into release_toaliyun_real_offline_activity

release_toaliyun_real
winter 1 year ago
parent
commit
69fbf773cc
5 changed files with 29 additions and 20 deletions
  1. +3
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java
  2. +20
    -9
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java
  3. +2
    -2
      mallinkService/src/main/resources/mapper/WxOfflineActivityGrantItemMapper.xml
  4. +2
    -2
      mallinkService/src/main/resources/mapper/WxOfflineActivityGrantSettlementMapper.xml
  5. +2
    -4
      mallinkService/src/main/resources/mapper/WxOfflineActivityRecordGrantMapper.xml

+ 3
- 3
mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityGrantController.java View File

@@ -112,9 +112,9 @@ public class WxOfflineActivityGrantController extends BaseController {
if(wxOfflineActivityGrantAward.getRecordIds() == null || wxOfflineActivityGrantAward.getRecordIds().isEmpty()){
return new ResultData(Result.ERROR,"请选择订单");
}
if(StringUtil.isBlank(wxOfflineActivityGrantAward.getSignImg())){
return new ResultData(Result.ERROR,"签名为空");
}
// if(StringUtil.isBlank(wxOfflineActivityGrantAward.getSignImg())){
// return new ResultData(Result.ERROR,"签名为空");
// }
TenantEntity tenantEntity = getTenantInfo();
wxOfflineActivityGrantAward.updateTenantInfo(tenantEntity);
wxOfflineActivityGrantAward.setCreateBy(getUserId());


+ 20
- 9
mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityGrantAwardServiceImpl.java View File

@@ -30,6 +30,8 @@ import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

import static java.util.stream.Collectors.*;

/**
* @author xiaohu
* @description 针对表【wx_offline_activity_grant_award(线下活动发放奖励)】的数据库操作Service实现
@@ -199,10 +201,13 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
&& activityItem.getAwardsItemLimit() < limitCount){
limitCount = activityItem.getAwardsItemLimit();
}
if(limitCount == 0){
activityItem.setIsMeet(false);
}
activityItem.setRealAwardsItemLimit(limitCount);
}
else if(EnumOfflineActivityType.GIFT.getCode().equals(activityItem.getType())){
List<WxOfflineActivityAwardsItem> sortAwardsItemList = activityItem.getActivityAwardsItemList().stream().sorted(Comparator.comparing(WxOfflineActivityAwardsItem::getMinAmount)).collect(Collectors.toList());
List<WxOfflineActivityAwardsItem> sortAwardsItemList = activityItem.getActivityAwardsItemList().stream().sorted(Comparator.comparing(WxOfflineActivityAwardsItem::getMinAmount)).collect(toList());
WxOfflineActivityAwardsItem grantAwardsItem = null;
for(WxOfflineActivityAwardsItem awardsItem : sortAwardsItemList){
if((awardsItem.getMinAmount() == null || wxOfflineActivityGrantAward.getOrderMoneySum().compareTo(awardsItem.getMinAmount()) >= 0)
@@ -321,7 +326,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
private void handlerGrantItem(WxOfflineActivity activity, WxOfflineActivityGrantAward wxOfflineActivityGrantAward){

List<WxOfflineActivityItem> activityItemList = wxOfflineActivityItemService.getActivityItemList(activity.getId(), activity.getTenantId());
Map<Long, WxOfflineActivityItem> activityItemMap = activityItemList.stream().collect(Collectors.toMap(WxOfflineActivityItem::getId, Function.identity()));
Map<Long, WxOfflineActivityItem> activityItemMap = activityItemList.stream().collect(toMap(WxOfflineActivityItem::getId, Function.identity()));

int i = 0;//检查活动奖项
for (WxOfflineActivityItem grantActivityItem : wxOfflineActivityGrantAward.getActivityItemList()) {
@@ -337,8 +342,14 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
continue;
// throw new MallinkException(Result.ERROR, "请检查活动奖项参数");
}
boolean isRepeat = activityGrantItemList.stream()
.collect(groupingBy(WxOfflineActivityGrantItem::getAwardItamId, counting()))
.entrySet().stream().anyMatch(e -> e.getValue() > 1);
if(isRepeat){
throw new MallinkException(Result.ERROR, "请检查活动奖项存在重复");
}

Map<Long, WxOfflineActivityAwardsItem> awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(Collectors.toMap(WxOfflineActivityAwardsItem::getId, Function.identity()));
Map<Long, WxOfflineActivityAwardsItem> awardsItemMap = activityItem.getActivityAwardsItemList().stream().collect(toMap(WxOfflineActivityAwardsItem::getId, Function.identity()));

for (WxOfflineActivityGrantItem grantGrantItem : activityGrantItemList) {
i++;
@@ -361,7 +372,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
&& activityItem.getAwardsItemLimit() < limitCount){
limitCount = activityItem.getAwardsItemLimit();
}
if(limitCount != 0 && activityGrantItemList.stream().mapToInt(WxOfflineActivityGrantItem::getAwardCount).sum()>limitCount){
if(activityGrantItemList.stream().mapToInt(WxOfflineActivityGrantItem::getAwardCount).sum()>limitCount){
throw new MallinkException(Result.ERROR, "活动项"+activityItem.getName()+"奖券超过限制");
}

@@ -514,7 +525,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantItemQ.updateTenantInfo(grantAward);
grantItemQ.setGrantId(grantId);
List<WxOfflineActivityGrantItem> grantItemList = wxOfflineActivityGrantItemMapper.findList(grantItemQ);
Map<Long, List<WxOfflineActivityGrantItem>> activityItemGrantMap = grantItemList.stream().collect(Collectors.groupingBy(WxOfflineActivityGrantItem::getActivityItemId));
Map<Long, List<WxOfflineActivityGrantItem>> activityItemGrantMap = grantItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getActivityItemId));
for (WxOfflineActivityItem activityItem : grantAward.getActivityItemList()) {
List<WxOfflineActivityGrantItem> grantActivityItemList = activityItemGrantMap.get(activityItem.getId());
if (grantActivityItemList == null || grantActivityItemList.isEmpty()) {
@@ -554,7 +565,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
grantItemQ.updateTenantInfo(wxOfflineActivity);
grantItemQ.setActivityId(wxOfflineActivity.getId());
List<WxOfflineActivityGrantItem> grantItem = wxOfflineActivityGrantItemMapper.findList(grantItemQ);
Map<Long, List<WxOfflineActivityGrantItem>> grantItemMap = grantItem.stream().collect(Collectors.groupingBy(WxOfflineActivityGrantItem::getGrantId));
Map<Long, List<WxOfflineActivityGrantItem>> grantItemMap = grantItem.stream().collect(groupingBy(WxOfflineActivityGrantItem::getGrantId));
for (WxOfflineActivityGrantAward grantAward : grantAwardList) {
List<WxOfflineActivityRecord> recordList = wxOfflineActivityRecordMapper.findGrantList(grantAward.getId(),grantAward.getTenantId());
List<WxOfflineActivityGrantItem> grantItemList = grantItemMap.get(grantAward.getId());
@@ -564,7 +575,7 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
for (WxOfflineActivityRecord record : recordList) {
merchantOrder.add(record.getOrderNo()+"["+merchantMap.get(record.getMerchantId())+"]");
}
activityGrantObject.put("merchantOrder",merchantOrder.stream().collect(Collectors.joining(";")));
activityGrantObject.put("merchantOrder",merchantOrder.stream().collect(joining(";")));
activityGrantObject.put("orderMoneySum",grantAward.getOrderMoneySum());
activityGrantObject.put("cusName",grantAward.getCusName());
activityGrantObject.put("cusPhone",grantAward.getCusPhone());
@@ -572,13 +583,13 @@ public class WxOfflineActivityGrantAwardServiceImpl implements WxOfflineActivity
activityGrantObject.put("realCard",grantAward.getRealCard());
activityGrantObject.put("createByName",grantAward.getCreateBy()!=null?userMap.get(grantAward.getCreateBy()).getName():"");
activityGrantObject.put("createDate",DateUtils.date2String(grantAward.getCreateDate()));
Map<Long, List<WxOfflineActivityGrantItem>> granActivityItemMap = grantItemList.stream().collect(Collectors.groupingBy(WxOfflineActivityGrantItem::getActivityItemId));
Map<Long, List<WxOfflineActivityGrantItem>> granActivityItemMap = grantItemList.stream().collect(groupingBy(WxOfflineActivityGrantItem::getActivityItemId));
for (WxOfflineActivityItem activityItem : activity.getActivityItemList()) {
List<WxOfflineActivityGrantItem> granActivityItemList = granActivityItemMap.get(activityItem.getId());
if(EnumOfflineActivityType.LOTTERY_DRAW.getCode().equals(activityItem.getType())){
Map<Long, WxOfflineActivityGrantItem> granAwardItamMap = new HashMap<>();
if(granActivityItemList != null && !granActivityItemList.isEmpty()){
granAwardItamMap = granActivityItemList.stream().collect(Collectors.toMap(WxOfflineActivityGrantItem::getAwardItamId, Function.identity()));
granAwardItamMap = granActivityItemList.stream().collect(toMap(WxOfflineActivityGrantItem::getAwardItamId, Function.identity()));
}
for (WxOfflineActivityAwardsItem awardsItem : activityItem.getActivityAwardsItemList()) {
WxOfflineActivityGrantItem grantAwardsItem = granAwardItamMap.get(awardsItem.getId());


+ 2
- 2
mallinkService/src/main/resources/mapper/WxOfflineActivityGrantItemMapper.xml View File

@@ -85,7 +85,7 @@

<insert id="insertList" parameterType="java.util.List">
insert into wx_offline_activity_grant_item
(id,tenant_id,parent_tenant_id,
(id,
grant_id,activity_id,activity_name,
activity_item_id,activity_item_name,activity_item_type,
award_itam_id,award_name,award_grade,
@@ -95,7 +95,7 @@
create_date,update_date)
values
<foreach collection="grantItemList" item="item" index="index" separator=",">
(#{item.id,jdbcType=BIGINT},#{item.tenantId,jdbcType=VARCHAR},#{item.parentTenantId,jdbcType=VARCHAR},
(#{item.id,jdbcType=BIGINT},
#{item.grantId,jdbcType=BIGINT},#{item.activityId,jdbcType=BIGINT},#{item.activityName,jdbcType=VARCHAR},
#{item.activityItemId,jdbcType=BIGINT},#{item.activityItemName,jdbcType=VARCHAR},#{item.activityItemType,jdbcType=INTEGER},
#{item.awardItamId,jdbcType=BIGINT},#{item.awardName,jdbcType=VARCHAR},#{item.awardGrade,jdbcType=INTEGER},


+ 2
- 2
mallinkService/src/main/resources/mapper/WxOfflineActivityGrantSettlementMapper.xml View File

@@ -103,7 +103,7 @@

<insert id="insertList" parameterType="java.util.List">
insert into wx_offline_activity_grant_settlement
(id,tenant_id,parent_tenant_id,
(id,
record_id,order_no,order_money,
merchant_id,activity_id,activity_item_id,
award_itam_id,grant_id,grant_price,
@@ -112,7 +112,7 @@
create_date,update_date)
values
<foreach collection="settlementList" item="item" index="index" separator=",">
(#{item.id,jdbcType=BIGINT},#{item.tenantId,jdbcType=VARCHAR},#{item.parentTenantId,jdbcType=VARCHAR},
(#{item.id,jdbcType=BIGINT},
#{item.recordId,jdbcType=BIGINT},#{item.orderNo,jdbcType=VARCHAR},#{item.orderMoney,jdbcType=DECIMAL},
#{item.merchantId,jdbcType=BIGINT},#{item.activityId,jdbcType=BIGINT},#{item.activityItemId,jdbcType=BIGINT},
#{item.awardItamId,jdbcType=BIGINT},#{item.grantId,jdbcType=BIGINT},#{item.grantPrice,jdbcType=DECIMAL},


+ 2
- 4
mallinkService/src/main/resources/mapper/WxOfflineActivityRecordGrantMapper.xml View File

@@ -24,12 +24,10 @@

<insert id="insertList" parameterType="java.util.List">
insert into wx_offline_activity_record_grant
(`tenant_id`,`parent_tenant_id`,`activity_id`,`record_id`,`grant_id`)
(`activity_id`,`record_id`,`grant_id`)
values
<foreach collection="recordGrantList" item="item" index="index" separator=",">
(#{item.tenantId,jdbcType=VARCHAR},
#{item.parentTenantId,jdbcType=VARCHAR},
#{item.activityId,jdbcType=BIGINT},
(#{item.activityId,jdbcType=BIGINT},
#{item.recordId,jdbcType=BIGINT},
#{item.grantId,jdbcType=BIGINT})
</foreach>


Loading…
Cancel
Save