Просмотр исходного кода

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

release_toaliyun_real
winter 1 год назад
Родитель
Сommit
70ca1f882b
14 измененных файлов: 231 добавлений и 20 удалений
  1. +39
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java
  2. +1
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java
  4. +1
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java
  5. +1
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java
  6. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityUserMapper.java
  7. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java
  8. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxLegionActivityOfflineConfigService.java
  9. +4
    -1
      mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java
  10. +41
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java
  11. +97
    -10
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java
  12. +12
    -1
      mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml
  13. +6
    -0
      mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml
  14. +21
    -0
      mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml

+ 39
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java Просмотреть файл

@@ -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")
@@ -124,6 +146,23 @@ public class WxLegionActivityOrderController extends BaseController {
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("参加活动用户订单统计")
@GetMapping("statistics")
public ResultData statisticsCount(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) {
if(wxLegionActivityOrder.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
if(StringUtil.isBlank(wxLegionActivityOrder.getCusPhone())){
return new ResultData(Result.ERROR,"请输入用户手机号");
}

TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
Map<String,Object> statisticsMap = wxLegionActivityOrderService.getStatistics(wxLegionActivityOrder);
return new ResultData(statisticsMap);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("查询详情")
@GetMapping("getInfoById")


+ 1
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java Просмотреть файл

@@ -113,7 +113,7 @@ public class WxLegionActivityOrderController extends BaseController {
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId());
Map<String,Integer> statisticsMap = wxLegionActivityOrderService.getStatistics(wxLegionActivityOrder);
Map<String,Object> statisticsMap = wxLegionActivityOrderService.getStatistics(wxLegionActivityOrder);
return new ResultData(statisticsMap);
}



+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxLegionActivityOrder.java Просмотреть файл

@@ -196,6 +196,8 @@ public class WxLegionActivityOrder extends TenantEntity {
*/
@TableField(value = "audit_by")
private Long auditBy;
@TableField(exist = false)
private String auditByName;

/**
* 审核时间


+ 1
- 0
mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java Просмотреть файл

@@ -12,4 +12,5 @@ public class LegionActivityOrderStatistics implements Serializable {

private Integer auditStatus;
private Integer count;
private BigDecimal sumMoney;
}

+ 1
- 1
mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java Просмотреть файл

@@ -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/WxLegionActivityUserMapper.java Просмотреть файл

@@ -28,6 +28,8 @@ public interface WxLegionActivityUserMapper extends CommonMapper<WxLegionActivit
void updateStatus(WxLegionActivityUser activityUser);

Integer selectOnlyCount(WxLegionActivityUser wxLegionActivityUser);

WxLegionActivityUser selectLimitOne(WxLegionActivityUser wxLegionActivityUser);
}




+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java Просмотреть файл

@@ -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 Просмотреть файл

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

void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder);

void syncOfflineActivityRecord(List<WxLegionActivityOrder> wxLegionActivityOrders);
}

+ 4
- 1
mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java Просмотреть файл

@@ -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;

@@ -26,7 +27,7 @@ public interface WxLegionActivityOrderService {

WxLegionActivityOrder getInfoById(Long id, String tenantId);

Map<String, Integer> getStatistics(WxLegionActivityOrder wxLegionActivityOrder);
Map<String, Object> getStatistics(WxLegionActivityOrder wxLegionActivityOrder);

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

@@ -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 Просмотреть файл

@@ -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;
}

}


+ 97
- 10
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java Просмотреть файл

@@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;

@@ -65,6 +66,9 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
@Autowired
private WxShopService wxShopService;

@Autowired
private MallUserInfoService mallUserInfoService;

@Autowired
private ExcelService excelService;
@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> 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());

Map<Long, String> merchantMap = new HashMap<>();
Map<Long, WxMerchant> merchantMap = new HashMap<>();
if(!merchantIds.isEmpty()){
WxMerchant merchantQ = new WxMerchant();
merchantQ.updateTenantInfo(wxLegionActivityOrder);
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<>();
if(!userIds.isEmpty()){
@@ -141,12 +152,19 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ);

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());
if (null != user) {
legionActivityOrder.setCusPhone(user.getPhone());
legionActivityOrder.setCusVipNum(user.getVipNum());
}
legionActivityOrder.setMerchantName(merchantMap.get(legionActivityOrder.getMerchantId()));
if(legionActivityOrder.getLegionId().equals(0L)){
legionActivityOrder.setLegionName("未参加活动");
legionActivityOrder.setUnionName("未参加活动");
@@ -278,15 +296,36 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
}

@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;
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){
if(EnumLegionActivityOrderStatus.AUDTING.getCode().equals(statistics.getAuditStatus())){
audting = statistics.getCount();
} else if (EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(statistics.getAuditStatus())) {
audi_success = statistics.getCount();
sum_success = statistics.getSumMoney();
} else if (EnumLegionActivityOrderStatus.AUDT_FAIL.getCode().equals(statistics.getAuditStatus())) {
audt_fail = statistics.getCount();
} else if (EnumLegionActivityOrderStatus.INVALID.getCode().equals(statistics.getAuditStatus())) {
@@ -295,6 +334,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
}
result.put("audting",audting);
result.put("audi_success",audi_success);
result.put("sum_success",sum_success);
result.put("audt_fail",audt_fail);
result.put("invalid",invalid);
result.put("sum_count",audting+audi_success+audt_fail+invalid);
@@ -313,12 +353,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 +369,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 +612,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);
}
}




+ 12
- 1
mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml Просмотреть файл

@@ -170,11 +170,18 @@
#{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">
SELECT audit_status as 'auditStatus',
count(1) as 'count'
count(1) as 'count',
IFNULL(sum(order_money),0) as 'sumMoney'
FROM wx_legion_activity_order
where 1 = 1
<if test=" null != tenantId and '' != tenantId">
@@ -193,6 +200,10 @@
and `merchant_id` = #{merchantId}
</if>

<if test=" null != cusId">
and `cus_id` = #{cusId}
</if>

<if test=" null != createDateBegin">
and `create_date` &gt;= #{createDateBegin}
</if>


+ 6
- 0
mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml Просмотреть файл

@@ -191,4 +191,10 @@
</if>
</select>

<select id="selectLimitOne" parameterType="com.iformall.domain.po.WxLegionActivityUser" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_legion_activity_user
<include refid="dynamicWhereConditions" />
limit 1
</select>

</mapper>

+ 21
- 0
mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml Просмотреть файл

@@ -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>

Загрузка…
Отмена
Сохранить