Explorar el Código

//legionActivity

release_toaliyun_real
xiaohu hace 1 año
padre
commit
c406a68c02
Se han modificado 9 ficheros con 149 adiciones y 11 borrados
  1. +22
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java
  2. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java
  4. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxLegionActivityOfflineConfigService.java
  5. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java
  6. +41
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java
  7. +51
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java
  8. +6
    -0
      mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml
  9. +21
    -0
      mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml

+ 22
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java Ver fichero

@@ -2,6 +2,7 @@ package com.iformall.controller.market;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.ApiVersion;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.constant.SwaggerConstant;
@@ -93,6 +94,27 @@ public class WxLegionActivityOrderController extends BaseController {
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("批量审核通过")
@PostMapping("batchAudiPass")
public ResultData batchAudiPass(@RequestBody List<Long> ids) {
if(ids == null || ids.isEmpty()){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
try{
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivityOrderService.batchAudiPass(tenantEntity,ids,getUserId());
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)
@ApiOperation("审核驳回")
@PostMapping("audtFail")


+ 1
- 1
mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java Ver fichero

@@ -24,7 +24,7 @@ public interface WxLegionActivityOrderMapper extends CommonMapper<WxLegionActivi

List<LegionActivityOrderStatistics> auditStatusStatistics(WxLegionActivityOrder wxLegionActivityOrder);

void updateAuditStatus(WxLegionActivityOrder wxLegionActivityOrder);
Integer updateAuditStatus(WxLegionActivityOrder wxLegionActivityOrder);

List<LegionActivityOrderTypeStatistics> orderTypeStatistics(WxLegionActivityOrder wxLegionActivityOrder);



+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java Ver fichero

@@ -31,6 +31,8 @@ public interface WxOfflineActivityRecordMapper extends CommonMapper<WxOfflineAct
Integer getMerchantCount(WxOfflineActivityRecord recordQ);

List<WxOfflineActivityRecord> findGrantList(@Param("grantId")Long grantId, @Param("tenantId")String tenantId);

void insertList(@Param("recordList")List<WxOfflineActivityRecord> activityRecordList);
}




+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxLegionActivityOfflineConfigService.java Ver fichero

@@ -20,4 +20,6 @@ public interface WxLegionActivityOfflineConfigService {
List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity);

void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder);

void syncOfflineActivityRecord(List<WxLegionActivityOrder> wxLegionActivityOrders);
}

+ 3
- 0
mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java Ver fichero

@@ -5,6 +5,7 @@ import com.iformall.domain.po.WxLegionActivity;
import com.iformall.domain.po.WxLegionActivityOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iformall.domain.po.WxOfflineActivityRecord;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.LegionActivityMerchantStatistics;
import com.iformall.domain.vo.LegionActivitySellOrder;

@@ -43,4 +44,6 @@ public interface WxLegionActivityOrderService {
List<LegionActivitySellOrder> getActivitySellOrder(WxLegionActivityOrder wxLegionActivityOrder);

void exportActivitySellOrder(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder);

void batchAudiPass(TenantEntity tenantEntity, List<Long> ids, Long userId);
}

+ 41
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java Ver fichero

@@ -15,9 +15,8 @@ import com.iformall.service.WxOfflineActivityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;

/**
* @author xiaohu
@@ -75,12 +74,48 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit

@Override
public void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder) {
IdWorker idWorker = IdWorker.get();

//所有都同步(绑定线下活动意义不大)
WxOfflineActivityRecord activityRecord = createOfflineActivityRecord(legionActivityOrder);
activityRecord.setId(idWorker.nextId());

if(activityRecord.getMerchantId() != null){
WxMerchant merchant = wxMerchantService.selectById(activityRecord.getMerchantId());
activityRecord.setBusinessId(merchant.getBusinessId());
}

wxOfflineActivityRecordMapper.insert(activityRecord);
}

@Override
public void syncOfflineActivityRecord(List<WxLegionActivityOrder> wxLegionActivityOrders) {
if(wxLegionActivityOrders == null || wxLegionActivityOrders.isEmpty()){
return;
}
IdWorker idWorker = IdWorker.get();

List<Long> merchantIds = wxLegionActivityOrders.stream().map(WxLegionActivityOrder::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
WxMerchant merchantQ = new WxMerchant();
merchantQ.setIds(merchantIds);
Map<Long, WxMerchant> merchantMap = wxMerchantService.findMerchantMap(merchantQ);

List<WxOfflineActivityRecord> activityRecordList = new ArrayList<>();
for (WxLegionActivityOrder legionActivityOrder : wxLegionActivityOrders) {
WxOfflineActivityRecord activityRecord = createOfflineActivityRecord(legionActivityOrder);
activityRecord.setId(idWorker.nextId());
if(activityRecord.getMerchantId() != null){
WxMerchant merchant = merchantMap.get(activityRecord.getMerchantId());
activityRecord.setBusinessId(merchant.getBusinessId());
}
activityRecordList.add(activityRecord);
}
wxOfflineActivityRecordMapper.insertList(activityRecordList);
}


private WxOfflineActivityRecord createOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder) {
WxOfflineActivityRecord activityRecord = new WxOfflineActivityRecord();
activityRecord.setId(idWorker.nextId());
activityRecord.updateTenantInfo(legionActivityOrder);
activityRecord.setFromOrderId(legionActivityOrder.getId());
activityRecord.setOrderNo(legionActivityOrder.getOrderNo());
@@ -104,7 +139,7 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit
activityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode());
activityRecord.setAuditBy(legionActivityOrder.getAuditBy());
activityRecord.setAuditTime(legionActivityOrder.getAuditTime());
wxOfflineActivityRecordMapper.insert(activityRecord);
return activityRecord;
}

}


+ 51
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java Ver fichero

@@ -313,12 +313,12 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
@Transactional(rollbackFor = Exception.class)
public void auditRecord(WxLegionActivityOrder wxLegionActivityOrder, Long userId) {
Date now = new Date();
wxLegionActivityOrder.setUpdateDate(now);
wxLegionActivityOrder.setAuditTime(now);
wxLegionActivityOrder.setAuditBy(userId);
wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrder);
wxLegionActivityOrder.setAuditTime(now);
wxLegionActivityOrder.setUpdateDate(now);
Integer upd = wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrder);

if(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(wxLegionActivityOrder.getAuditStatus())){
if(upd == 1 && EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(wxLegionActivityOrder.getAuditStatus())){
//同步订单
WxLegionActivityOrder legionActivityOrder = wxLegionActivityOrderMapper.selectById(wxLegionActivityOrder.getId(), wxLegionActivityOrder.getTenantId());
WxLegionActivityUser user = wxLegionActivityUserMapper.selectById(legionActivityOrder.getCusId(), legionActivityOrder.getTenantId());
@@ -329,6 +329,10 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
legionActivityOrder.setLotteryCount(wxLegionActivityOrder.getLotteryCount());
legionActivityOrder.setAnniversaryLotteryNum(wxLegionActivityOrder.getAnniversaryLotteryNum());

legionActivityOrder.setAuditBy(wxLegionActivityOrder.getAuditBy());
legionActivityOrder.setAuditTime(wxLegionActivityOrder.getAuditTime());
legionActivityOrder.setUpdateDate(wxLegionActivityOrder.getUpdateDate());

wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(legionActivityOrder);
}

@@ -568,6 +572,49 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
excelService.exportExcel(activitySellOrder, null, "军团带单数据("+legionTypeStr+")", LegionActivitySellOrder.class, "军团带单数据("+legionTypeStr+").xlsx", response, false);

}

@Override
@Transactional(rollbackFor = Exception.class)
public void batchAudiPass(TenantEntity tenantEntity, List<Long> ids, Long userId) {

WxLegionActivityOrder wxLegionActivityOrderQ = new WxLegionActivityOrder();
wxLegionActivityOrderQ.updateTenantInfo(tenantEntity);
wxLegionActivityOrderQ.setIds(ids);
List<WxLegionActivityOrder> wxLegionActivityOrders = wxLegionActivityOrderMapper.findList(wxLegionActivityOrderQ);
List<WxLegionActivityOrder> syncOrders = wxLegionActivityOrders.stream()
.filter(wxLegionActivityOrder -> !EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(wxLegionActivityOrder.getAuditStatus()))
.collect(Collectors.toList());

if (syncOrders.isEmpty()){
throw new MallinkException(Result.ERROR,"未查询到可审核的订单");
}

Date now = new Date();
WxLegionActivityOrder wxLegionActivityOrderUpd = new WxLegionActivityOrder();
wxLegionActivityOrderUpd.updateTenantInfo(tenantEntity);
wxLegionActivityOrderUpd.setIds(ids);
wxLegionActivityOrderUpd.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode());
wxLegionActivityOrderUpd.setAuditBy(userId);
wxLegionActivityOrderUpd.setAuditTime(now);
wxLegionActivityOrderUpd.setUpdateDate(now);
Integer upd = wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrderUpd);

List<Long> userIds = syncOrders.stream().map(WxLegionActivityOrder::getCusId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
WxLegionActivityUser userQ = new WxLegionActivityUser();
userQ.updateTenantInfo(tenantEntity);
userQ.setIds(userIds);
Map<Long, WxLegionActivityUser> activityUserMap = wxLegionActivityUserService.findUserMap(userQ);
for (WxLegionActivityOrder legionActivityOrder : syncOrders) {
WxLegionActivityUser user = activityUserMap.get(legionActivityOrder.getCusId());
legionActivityOrder.setCusPhone(user.getPhone());
legionActivityOrder.setCusVipNum(user.getVipNum());

legionActivityOrder.setAuditBy(userId);
legionActivityOrder.setAuditTime(now);
legionActivityOrder.setUpdateDate(now);
}
wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(syncOrders);
}
}




+ 6
- 0
mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml Ver fichero

@@ -170,6 +170,12 @@
#{midItem}
</foreach>
</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
</update>

<select id="auditStatusStatistics" parameterType="com.iformall.domain.po.WxLegionActivityOrder" resultType="com.iformall.domain.vo.LegionActivityOrderStatistics">


+ 21
- 0
mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml Ver fichero

@@ -247,4 +247,25 @@
where rg.grant_id = #{grantId} and rg.tenant_id=#{tenantId}
</select>

<insert id="insertList" parameterType="java.util.List">
insert into wx_offline_activity_record
(id,
from_order_id,order_no,order_money,cus_name,
real_cus_name,cus_phone,cus_address,
cus_card,lottery_num,lottery_count,
anniversary_lottery_num,create_by,merchant_id,business_id,
create_date,update_date,audit_remark,
audit_status,audit_by,audit_time)
values
<foreach collection="recordList" item="item" index="index" separator=",">
(#{item.id,jdbcType=BIGINT},
#{item.fromOrderId,jdbcType=BIGINT},#{item.orderNo,jdbcType=VARCHAR},#{item.orderMoney,jdbcType=DECIMAL},#{item.cusName,jdbcType=VARCHAR},
#{item.realCusName,jdbcType=VARCHAR},#{item.cusPhone,jdbcType=VARCHAR},#{item.cusAddress,jdbcType=VARCHAR},
#{item.cusCard,jdbcType=VARCHAR},#{item.lotteryNum,jdbcType=VARCHAR},#{item.lotteryCount,jdbcType=INTEGER},
#{item.anniversaryLotteryNum,jdbcType=VARCHAR},#{item.createBy,jdbcType=BIGINT},#{item.merchantId,jdbcType=BIGINT},#{item.businessId,jdbcType=INTEGER},
#{item.createDate,jdbcType=TIMESTAMP},#{item.updateDate,jdbcType=TIMESTAMP},#{item.auditRemark,jdbcType=VARCHAR},
#{item.auditStatus,jdbcType=INTEGER},#{item.auditBy,jdbcType=BIGINT},#{item.auditTime,jdbcType=TIMESTAMP})
</foreach>
</insert>

</mapper>

Cargando…
Cancelar
Guardar