From 98b09dd967906252fe0e77fc1503681e345c4229 Mon Sep 17 00:00:00 2001 From: lrh <1585126058@qq.com> Date: Thu, 29 Jun 2023 14:51:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=88=97=E8=A1=A8=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/config/ShiroConfig.java | 4 +-- .../market/WxCardDailyLogController.java | 26 +++++++++++++-- .../iformall/domain/po/WxCardDailyLog.java | 10 ++++++ .../java/com/iformall/domain/po/WxCoupon.java | 3 ++ .../service/WxCardDailyLogService.java | 4 +++ .../impl/WxCardDailyLogServiceImpl.java | 32 +++++++++++++++++++ .../service/impl/WxCardInfoServiceImpl.java | 4 +-- .../impl/WxCouponPasswordServiceImpl.java | 4 +-- .../service/impl/WxCouponServiceImpl.java | 16 ++++++---- .../main/resources/mapper/WxCouponMapper.xml | 7 ++++ 10 files changed, 96 insertions(+), 14 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java index 94b91dc14..08608607e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java @@ -162,8 +162,8 @@ public class ShiroConfig { //配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了 filterChainDefinitionMap.put("/logout", "authc"); - filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); -// filterChainDefinitionMap.put("/**", "anon"); +// filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); + filterChainDefinitionMap.put("/**", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardDailyLogController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardDailyLogController.java index 457dfba51..d1120690a 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardDailyLogController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardDailyLogController.java @@ -2,22 +2,30 @@ package com.iformall.controller.market; import com.github.pagehelper.PageInfo; +import com.iformall.annotation.SystemControllerLog; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.WxCardDailyLog; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.vo.WxCardVo; import com.iformall.service.WxCardDailyLogService; import com.iformall.service.WxCardSpendService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + /** * @version 1.0 @@ -34,17 +42,31 @@ public class WxCardDailyLogController extends BaseController { WxCardDailyLogService wxCardDailyLogService; @ApiOperation("分页列表接口") - @GetMapping("list") + @GetMapping("/list") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData list(@ModelAttribute WxCardDailyLog wxCardDailyLog, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] WxCouponController::list"); if (wxCardDailyLog == null) wxCardDailyLog = new WxCardDailyLog(); - wxCardDailyLog.updateTenantInfo(getTenantInfo()); +// wxCardDailyLog.updateTenantInfo(getTenantInfo()); + wxCardDailyLog.setTenantId("789"); wxCardDailyLog.setSortColumns(BaseEntity.SortField.CreateDate_DESC); PageInfo info = wxCardDailyLogService.listAsPage(wxCardDailyLog, pageNum, pageSize); return new ResultData(info); } + @ApiOperation("消费卡日志-导出数据") + @GetMapping("/exportCardLog") + @SystemControllerLog(description = "消费卡日志-导出数据") + public void exportCardOrder(@ModelAttribute WxCardDailyLog wxCardDailyLog, HttpServletRequest request, HttpServletResponse response) { + logger.info("[" + getIpAddr() + "] cardDailyLog/exportCardLog"); + if (wxCardDailyLog == null) { + wxCardDailyLog = new WxCardDailyLog(); + } + wxCardDailyLog.setTenantId("789"); +// wxCardDailyLog.updateTenantInfo(getTenantInfo()); + wxCardDailyLogService.exportData(wxCardDailyLog, request, response); + } + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCardDailyLog.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCardDailyLog.java index 85b74c283..ee64ca824 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCardDailyLog.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCardDailyLog.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import cn.afterturn.easypoi.excel.annotation.Excel; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.TenantEntity; @@ -15,32 +16,41 @@ import java.util.List; public class WxCardDailyLog extends TenantEntity { protected Long id; @io.swagger.annotations.ApiModelProperty(value="卡密id",name="cardPasswordId") + @Excel(name = "卡密ID", width = 20, orderNum = "4") private Long cardPasswordId; @io.swagger.annotations.ApiModelProperty(value="ip",name="ip") private String ip; @io.swagger.annotations.ApiModelProperty(value="",name="price") private Integer price; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + @Excel(name = "操作时间", width = 20, orderNum = "4",format="yyyy-MM-dd HH:mm:ss") private Date createDate; @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") private Date updateDate; @io.swagger.annotations.ApiModelProperty(value="",name="remark") + @Excel(name = "备注", width = 20, orderNum = "4") private String remark; @io.swagger.annotations.ApiModelProperty(value="",name="operatorType") private Integer operatorType; @io.swagger.annotations.ApiModelProperty(value="",name="operatorId") private Long operatorId; + @Excel(name = "操作人", width = 20, orderNum = "4") @io.swagger.annotations.ApiModelProperty(value="EnumUserType",name="operatorUser") private String operatorUser; @io.swagger.annotations.ApiModelProperty(value="父卷id",name="couponId") + @Excel(name = "消费卡ID", width = 20, orderNum = "4") private Long couponId; @io.swagger.annotations.ApiModelProperty(value="卡卷Id",name="cardInfoId") + @Excel(name = "实体卡卡号", width = 20, orderNum = "4") private Long cardInfoId; @io.swagger.annotations.ApiModelProperty(value="操作类型 1-创建,2-设置面额,3-充值 EnumOperateLogType",name="type") private Integer type; + @TableField(exist = false) + @Excel(name = "操作类型", width = 20, orderNum = "4") + private String typeDes; @io.swagger.annotations.ApiModelProperty(value="卡卷总数",name="count") private Integer count; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java index 126d53af5..2634a7898 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -416,6 +416,9 @@ public class WxCoupon extends TenantEntity { @TableField(exist = false) private String[] mallTenantIds; + @TableField(exist = false) + private List couponIds; + public String getSalePriceStr() { if(salePrice!=null) { salePriceStr = new BigDecimal(salePrice).divide(new BigDecimal(100)).toString(); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCardDailyLogService.java b/mallinkService/src/main/java/com/iformall/service/WxCardDailyLogService.java index 8dadcc42c..33c6f6ada 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCardDailyLogService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCardDailyLogService.java @@ -3,6 +3,9 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + public interface WxCardDailyLogService { /** @@ -23,4 +26,5 @@ public interface WxCardDailyLogService { */ void saveOrUpdate(WxCardDailyLog record); + void exportData(WxCardDailyLog wxCardDailyLog, HttpServletRequest request, HttpServletResponse response); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardDailyLogServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardDailyLogServiceImpl.java index 6381f4c7d..608472373 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardDailyLogServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardDailyLogServiceImpl.java @@ -4,6 +4,8 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.domain.po.*; +import com.iformall.domain.vo.WxCardVo; +import com.iformall.enums.EnumOperateLogType; import com.iformall.mapper.*; import com.iformall.service.*; import org.apache.commons.collections.CollectionUtils; @@ -13,6 +15,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.*; import java.util.stream.Collectors; @@ -27,6 +31,9 @@ public class WxCardDailyLogServiceImpl implements WxCardDailyLogService { @Autowired WxCouponService wxCouponService; + @Autowired + ExcelService excelService; + @Override public PageInfo listAsPage(WxCardDailyLog record, Integer pageIndex, Integer pageSize) { @@ -70,4 +77,29 @@ public class WxCardDailyLogServiceImpl implements WxCardDailyLogService { } } + @Override + public void exportData(WxCardDailyLog record, HttpServletRequest request, HttpServletResponse response) { + if (StringUtils.isNotBlank(record.getTitle())) { + List title = wxCouponService.getByIdListOrTitle(new ArrayList<>(), record.getTenantId(), record.getTitle()); + if (!CollectionUtils.isEmpty(title)) { + List couponIds = title.parallelStream().map(WxCoupon::getId).collect(Collectors.toList()); + record.setCouponIds(couponIds); + } + } + + List pageInfo = wxCardDailyLogMapper.findList(record); + if (!CollectionUtils.isEmpty(pageInfo)) { + List couponIds = pageInfo.parallelStream().map(WxCardDailyLog::getCouponId).collect(Collectors.toList()); + List list = wxCouponService.getByIdListOrTitle(couponIds, record.getTenantId(), null); + if (!CollectionUtils.isEmpty(list)) { + Map map = list.parallelStream().collect(Collectors.toMap(WxCoupon::getId, WxCoupon::getTitle)); + for (WxCardDailyLog log : pageInfo) { + log.setTitle(map.get(log.getCouponId())); + log.setTypeDes(EnumOperateLogType.getEnum(log.getType()).getInfo()); + } + } + } + excelService.exportExcel(pageInfo, null, "消费卡日志", WxCardDailyLog.class, "消费卡日志.xlsx", response, false); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java index 43bf721b2..52944cc05 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java @@ -360,7 +360,7 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { WxCoupon wxCoupon = wxCouponMapper.selectById(wxCardInfo.getCouponId(), wxCardInfo.getTenantId()); Integer type = cardInfo.getStatus() == 0 ? EnumOperateLogType.ENABLE.getCode() : EnumOperateLogType.STOP_USING.getCode(); - String remark = user.getUsername() + "给卡密[" + cardInfo.getId() + "]" + EnumOperateLogType.getEnum(type).getInfo(); + String remark = user.getUsername() + "给实体卡卡号[" + cardInfo.getId() + "]" + EnumOperateLogType.getEnum(type).getInfo(); insertWxCardDailyLogInfo(user, wxCardInfo, wxCoupon, type, remark, wxCardInfo.getRemainingAmount()); }catch (Exception e){ @@ -520,7 +520,7 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "card spend 插入出错!"); } - String remark = user.getUsername() + "给卡密[" + wxCardInfo.getId() + "]" + "充值,金额:" + cardInfo.getAmount() + "分"; + String remark = user.getUsername() + "给实体卡卡号[" + wxCardInfo.getId() + "]" + "充值,金额:" + cardInfo.getAmount()/100 + "元"; insertWxCardDailyLogInfo(user, wxCardInfo, wxCoupon,EnumOperateLogType.RECHARGE.getCode(),remark, cardInfo.getAmount()); if(record.getCardBeforeAmount().equals(0)){ diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java index fffe86b23..c80ee7e5c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java @@ -349,7 +349,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { cardSetPrice.setCardInfoId(cardInfo.getId()); cardSetPrice.setType(wxCouponPassword.getIsStop() == 0 ? EnumOperateLogType.ENABLE.getCode() : EnumOperateLogType.STOP_USING.getCode()); cardSetPrice.setCount(1); - cardSetPrice.setRemark(user.getUsername() + "给卡密[" + cardInfo.getId() + "]" + EnumOperateLogType.getEnum(cardSetPrice.getType()).getInfo()); + cardSetPrice.setRemark(user.getUsername() + "给实体卡卡号[" + cardInfo.getId() + "]" + EnumOperateLogType.getEnum(cardSetPrice.getType()).getInfo()); wxCardDailyLogService.saveOrUpdate(cardSetPrice); }catch (Exception e){ logger.error("startOrStop insert error"); @@ -398,7 +398,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { cardSetPrice.setCouponId(wxCoupon.getCouponId()); cardSetPrice.setType(EnumOperateLogType.SET_DENOMINATION.getCode()); cardSetPrice.setCount(1); - cardSetPrice.setRemark(user.getUsername() + "给卡密[" + cardSetPrice.getCardPasswordId() + "]设置了面额,金额:" + cardSetPrice.getPrice() + "分"); + cardSetPrice.setRemark(user.getUsername() + "给实体卡卡号[" + cardSetPrice.getCardPasswordId() + "]设置了面额,金额:" + cardSetPrice.getPrice()/100 + "元"); wxCardDailyLogService.saveOrUpdate(cardSetPrice); } return count; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 7a4f10ee0..3ce757046 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -1829,7 +1829,7 @@ public class WxCouponServiceImpl implements WxCouponService { wxCouponChannelService.spuStatusSyncByCoupon(tenantInfo,couponId); WxCoupon record = wxCouponMapper.selectById(couponId, tenantInfo.getTenantId()); - String remark = (user != null ? user.getUsername() : "") + "创建了卡[" + record.getTitle() + "], 库存:"; + String remark = (user != null ? user.getUsername() : "") + "作废卡[" + record.getTitle() + "], 库存:"; insertWxCardDailyLogInfo(user, record, false, remark); } return new ResultData(); @@ -2107,11 +2107,15 @@ public class WxCouponServiceImpl implements WxCouponService { @Override public List getByIdListOrTitle(List couponIds, String tenantId, String title) { - return wxCouponMapper.selectList(new LambdaQueryWrapper() - .eq(WxCoupon::getIsDel, 0) - .in(CollectionUtils.isNotEmpty(couponIds), WxCoupon::getId, couponIds) - .like(StringUtils.isNotBlank(title), WxCoupon::getTitle, title) - .eq(TenantEntity::getTenantId, tenantId)); + WxCoupon coupon = new WxCoupon(); + coupon.setTenantId(tenantId); + if (CollectionUtils.isNotEmpty(couponIds)) { + coupon.setCouponIds(couponIds); + } + if (StringUtils.isNotBlank(title)) { + coupon.setTitle(title); + } + return wxCouponMapper.findList(coupon); } diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 8cdfbeb0f..a2b7e2f7d 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -364,6 +364,13 @@ + + and id in + + #{couponIdsItem} + + + order by ${sortColumns}