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

[修改][会员消费][添加导出功能]

release_toaliyun_real
luozukai 6 лет назад
Родитель
Сommit
7bf9a8996a
4 измененных файлов: 86 добавлений и 0 удалений
  1. +45
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java
  2. +7
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java
  3. +24
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/UserTradeRecordVo.java
  4. +10
    -0
      mallinkService/src/main/resources/mapper/WxMerchantMapper.xml

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

@@ -11,10 +11,14 @@ import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.WxCUserBasicInfoFilterDto;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.UserTradeRecordVo;
import com.iformall.enums.EnumAssignTagsTrigger;
import com.iformall.enums.EnumCouponOrderStatus;
import com.iformall.enums.EnumCouponStatus;
import com.iformall.exception.MallinkException;
import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -33,6 +37,7 @@ import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -75,6 +80,9 @@ public class WxCUserBasicInfoController extends BaseController {
@Autowired
private AsyncTask asyncTask;

@Autowired
private ExcelService excelService;

private void setUserInfoLevel(WxCUserBasicInfo info) {

if (info.getPoins() == null || info.getPoins() == 0) {
@@ -241,6 +249,43 @@ public class WxCUserBasicInfoController extends BaseController {
return new ResultData(Result.SUCCESS, "查询成功", page);
}

@ApiOperation("导出根据userId查询交易记录接口")
@GetMapping("/exportOrderCouponByUserId")
@ApiImplicitParam(name = "userId", value = "userId", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "会员管理-userId查询交易记录")
public void exportOrderCouponByUserId(HttpServletRequest request, HttpServletResponse response,Long userId) {
logger.debug("[" + getIpAddr() + "] WxCUserBasicInfoController::exportOrderCouponByUserId");
WxCouponOrder corder = new WxCouponOrder();
corder.setCUserId(userId);
corder.setTenantId(getTenantId());
corder.setSortColumns(BaseEntity.SortField.CreateDate_DESC);
PageInfo<WxCouponOrder> page = wxCouponOrderService.listAsPage(corder, 1, Integer.MAX_VALUE);
if (page.getSize() > 0) {
List<WxCouponOrder> list = page.getList();
for (WxCouponOrder c : list) {
WxCoupon coupon = wxCouponService.getById(c.getCouponId());
c.setCouponName(coupon.getTitle());
c.setSalePrice(coupon.getPrice());
}

List<UserTradeRecordVo> datalist = new ArrayList<>();
for (WxCouponOrder wxCouponOrder:list) {
UserTradeRecordVo userTradeRecordVo = new UserTradeRecordVo();
userTradeRecordVo.setCouponName(wxCouponOrder.getCouponName());
BigDecimal b = new BigDecimal(wxCouponOrder.getSalePrice());
userTradeRecordVo.setPrice(b.divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP).toString());
b = new BigDecimal(wxCouponOrder.getCouponPrice());
userTradeRecordVo.setSale(b.divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP).toString());
userTradeRecordVo.setStatus(EnumCouponOrderStatus.getEnum(wxCouponOrder.getCouponOrderStatus()).getMessage());
userTradeRecordVo.setTradeTime(DateUtils.formatDateTime(wxCouponOrder.getCreateDate()));
datalist.add(userTradeRecordVo);
}
excelService.exportExcel(datalist, null, "会员交易记录", UserTradeRecordVo.class, "会员交易记录.xlsx", response, false);
}


}

@ApiOperation("会员记录导出总数")
@GetMapping("/exportDataCount")
@SystemControllerLog(description = "会员管理-会员记录导出总数")


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

@@ -131,6 +131,13 @@ public class WxMerchant extends BaseEntity {
@io.swagger.annotations.ApiModelProperty(value = "结束时间", name = "endTime")
private transient Date endtime;

@io.swagger.annotations.ApiModelProperty(value = "昵称", name = "userName")
private transient String userName;
@io.swagger.annotations.ApiModelProperty(value = "联系方式", name = "phone")
private transient String phone;
@io.swagger.annotations.ApiModelProperty(value = "卷名称", name = "couponName")
private transient String couponName;

public String getShopsStr() {
if (shopVos != null && shopVos.size() > 0) {
return String.join("\n",


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

@@ -0,0 +1,24 @@
package com.iformall.domain.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.io.Serializable;

@Data
public class UserTradeRecordVo implements Serializable{
private static final long serialVersionUID = 1L;

@Excel(name="优惠券名称",width = 20,orderNum = "1")
private String couponName;
//@Excel(name="交易门店",width = 20,orderNum = "2")
private String shopName;
@Excel(name="价格",width = 20,orderNum = "2")
private String sale;
@Excel(name="面额",width = 20,orderNum = "3")
private String price;
@Excel(name="卷状态",width = 20,orderNum = "4")
private String status;
@Excel(name="交易时间",width = 20,orderNum = "5")
private String tradeTime;
}

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

@@ -484,6 +484,16 @@
<if test=" null != id ">
and cm.`merchant_id` = #{id}
</if>

<if test=" null != userName ">
and c.`nick_name` like concat('%', #{userName},'%')
</if>
<if test=" null != phone ">
and c.`phone` like concat('%', #{phone},'%')
</if>
<if test=" null != couponName ">
and co.`title` like concat('%', #{couponName},'%')
</if>
order by o.create_date desc
</select>



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