From 1e9cdce8c331033f01de8a328580d88c7e019f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BD=90=E5=A4=A9=E5=A4=A7=E5=9C=A3?= <17615834396@163.com> Date: Mon, 5 Feb 2024 18:00:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E9=94=AE=E5=8F=91=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CardGiftController.java | 72 ++++++++++++++++ .../cardGift/entity/CardGift.java | 23 +++-- .../cardGift/mapper/CardGiftMapper.java | 5 ++ .../cardGift/mapper/xml/CardGiftMapper.xml | 12 +++ .../cardGift/service/CardGiftService.java | 14 ++++ .../service/impl/CardGiftServiceImpl.java | 84 ++++++++++++++++++- .../controller/CardValueController.java | 11 +++ .../cardValue/entity/CardValue.java | 4 +- .../mapper/xml/CardValueRecordMapper.xml | 4 +- .../cardValue/service/CardValueService.java | 7 ++ .../service/impl/CardValueServiceImpl.java | 20 +++++ .../cardValue/vo/CardValueVO.java | 4 +- gasStation-uni/pagesMy/Recharge/Recharge.vue | 6 +- gasStation-uni/pagesMy/integral/integral.vue | 3 - .../pagesMy/oilBalance/oilBalance.vue | 6 +- 15 files changed, 253 insertions(+), 22 deletions(-) diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/controller/CardGiftController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/controller/CardGiftController.java index a02357057..09cd93e08 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/controller/CardGiftController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/controller/CardGiftController.java @@ -1,16 +1,24 @@ package com.fuint.business.marketingActivity.cardGift.controller; +import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fuint.business.marketingActivity.cardGift.entity.CardGift; import com.fuint.business.marketingActivity.cardGift.service.CardGiftService; +import com.fuint.business.userManager.vo.LJUserVo; import com.fuint.framework.web.BaseController; import com.fuint.framework.web.ResponseObject; import org.apache.ibatis.annotations.Param; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.io.Serializable; +import java.net.URLEncoder; +import java.util.ArrayList; import java.util.List; /** @@ -121,5 +129,69 @@ public class CardGiftController extends BaseController { public ResponseObject exchange(@Param("cardGift") CardGift cardGift) { return getSuccessResult(this.cardGiftService.exchange(cardGift)); } + + /** + * 礼品卡模板下载 + * @param response + * @param request + */ + @RequestMapping("/export") + public void export(HttpServletResponse response, HttpServletRequest request) { + + try { + String filenames = "礼品卡导入示列"; + String userAgent = request.getHeader("User-Agent"); + if (userAgent.contains("MSIE") || userAgent.contains("Trident")) { + filenames = URLEncoder.encode(filenames, "UTF-8"); + } else { + filenames = new String(filenames.getBytes("UTF-8"), "ISO-8859-1"); + } + response.setContentType("application/json.ms-exce"); + response.setCharacterEncoding("utf-8"); + response.addHeader("Content-Disposition", "filename=" + filenames + ".xlsx"); + + CardGift cardGift = new CardGift(); + cardGift.setNumber("1234567890"); + cardGift.setCardPassword("123456"); + cardGift.setCardAmount(300.00); + + List list = new ArrayList<>(); + list.add(cardGift); + EasyExcel.write(response.getOutputStream(), CardGift.class).sheet("sheet").doWrite(list); + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 礼品卡模板导入 + * + * @param multipartFile excel文件 + * @return 修改结果 + */ + @RequestMapping("exchangeImport") + public ResponseObject exchangeImport(MultipartFile multipartFile) throws IOException { + return getSuccessResult(this.cardGiftService.exchangeImport(multipartFile)); + } + + /** + * 查询礼品卡面值金额 + * @param cardGift + * @return + */ + @GetMapping("selectGiftValue") + public ResponseObject selectGiftValue(CardGift cardGift) { + return getSuccessResult(this.cardGiftService.selectGiftValue(cardGift)); + } + + /** + * 查询礼品卡统计 + * @param cardGift + * @return + */ + @GetMapping("countGiftValue") + public ResponseObject countGiftValue(CardGift cardGift) { + return getSuccessResult(this.cardGiftService.countGiftValue(cardGift)); + } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/entity/CardGift.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/entity/CardGift.java index 34b8f732e..c25ab93ef 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/entity/CardGift.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/entity/CardGift.java @@ -1,5 +1,6 @@ package com.fuint.business.marketingActivity.cardGift.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -23,9 +24,11 @@ public class CardGift extends Model { private Integer id; //批次号 private String batchNumber; - //礼品卡编号 + //卡号 + @ExcelProperty(value = "卡号") private String number; - //兑换卡密 + //卡密 + @ExcelProperty(value = "卡密") private String cardPassword; //所属连锁店id private Integer chainStorId; @@ -35,13 +38,14 @@ public class CardGift extends Model { private Integer storeId; //礼品卡状态 1:在用 2:挂失 3:停用 private String status; - //兑换功能状态 0:启用 1:禁用 - private String exchangeStatus; + private String useStatus; + private String sailStatus; //激活状态 private String activateStatus; //生成数量 private Integer quantity; - //礼品卡金额 + //面值 + @ExcelProperty(value = "面值") private Double cardAmount; //礼品卡描述 private String remark; @@ -50,6 +54,15 @@ public class CardGift extends Model { //创建时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") private Date createTime; + //创建时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") + private Date sailTime; + //创建时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") + private Date effectiveTimeStart; + //创建时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") + private Date effectiveTimeEnd; //更新者 private String updateBy; //更新时间 diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/mapper/CardGiftMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/mapper/CardGiftMapper.java index b93461fc8..5da1bb3e5 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/mapper/CardGiftMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/mapper/CardGiftMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.fuint.business.marketingActivity.cardGift.entity.CardGift; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -15,5 +16,9 @@ import java.util.Map; public interface CardGiftMapper extends BaseMapper { HashMap selectStatistics(Integer storeId); + + List selectGiftValue(CardGift cardGift); + + List> countGiftValue(CardGift cardGift); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/mapper/xml/CardGiftMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/mapper/xml/CardGiftMapper.xml index c515642c8..15ec4e23f 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/mapper/xml/CardGiftMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/mapper/xml/CardGiftMapper.xml @@ -30,5 +30,17 @@ card_gift where store_id = #{store_id} + + + + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/service/CardGiftService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/service/CardGiftService.java index bded57552..5a4e488b5 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/service/CardGiftService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/service/CardGiftService.java @@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.fuint.business.marketingActivity.cardGift.entity.CardGift; import com.fuint.business.petrolStationManagement.entity.OilGun; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; +import java.util.List; import java.util.Map; /** @@ -52,5 +55,16 @@ public interface CardGiftService extends IService { * @return */ IPage selectAllRecords(Page page, CardGift cardGift); + + /** + * 礼品卡模板导入 + * @param multipartFile + * @return + */ + Map exchangeImport(MultipartFile multipartFile) throws IOException; + + List selectGiftValue(CardGift cardGift); + + List> countGiftValue(CardGift cardGift); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/service/impl/CardGiftServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/service/impl/CardGiftServiceImpl.java index 181c45173..5e28f6843 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/service/impl/CardGiftServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardGift/service/impl/CardGiftServiceImpl.java @@ -1,5 +1,6 @@ package com.fuint.business.marketingActivity.cardGift.service.impl; +import com.alibaba.excel.EasyExcelFactory; import com.alipay.api.domain.LoginUserDTO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -13,18 +14,23 @@ import com.fuint.business.oilDepotConfiguration.service.OilDepotConfigService; import com.fuint.business.store.entity.MtStore; import com.fuint.business.store.service.StoreService; import com.fuint.business.userManager.entity.UserBalance; +import com.fuint.business.userManager.listener.EasyExcelListener; import com.fuint.business.userManager.mapper.LJUserMapper; import com.fuint.business.userManager.service.LJUserService; import com.fuint.business.userManager.service.UserBalanceService; import com.fuint.business.userManager.vo.LJUserVo; +import com.fuint.common.dto.AccountInfo; import com.fuint.common.util.TokenUtil; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; +import java.io.InputStream; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -143,12 +149,18 @@ public class CardGiftServiceImpl extends ServiceImpl i if(ObjectUtils.isNotEmpty(cardGift.getRemark())){ queryWrapper.like(CardGift::getRemark,cardGift.getRemark()); } - if(ObjectUtils.isNotEmpty(cardGift.getActivateStatus())) { - queryWrapper.eq(CardGift::getActivateStatus,cardGift.getActivateStatus()); + if(ObjectUtils.isNotEmpty(cardGift.getUseStatus())) { + queryWrapper.eq(CardGift::getUseStatus,cardGift.getUseStatus()); } if(ObjectUtils.isNotEmpty(cardGift.getStatus())) { queryWrapper.eq(CardGift::getStatus,cardGift.getStatus()); } + if(ObjectUtils.isNotEmpty(cardGift.getStatus())) { + queryWrapper.eq(CardGift::getSailStatus,cardGift.getSailStatus()); + } + if(ObjectUtils.isNotEmpty(cardGift.getStatus())) { + queryWrapper.eq(CardGift::getCardAmount,cardGift.getCardAmount()); + } queryWrapper.eq(CardGift::getStoreId, TokenUtil.getNowAccountInfo().getStoreId()); queryWrapper.orderByDesc(CardGift::getCreateTime); return page(page, queryWrapper); @@ -212,5 +224,73 @@ public class CardGiftServiceImpl extends ServiceImpl i queryWrapper.orderByDesc(CardGift::getUpdateTime); return page(page,queryWrapper); } + + /** + * 礼品卡模板导入 + * @param multipartFile + * @return + */ + @Override + public Map exchangeImport(MultipartFile multipartFile) throws IOException { + Map map = new HashMap<>(); + int success = 0; + int error = 0; + int repeat = 0; + int total = 0; + + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + //获取文件流 + InputStream inputStream = multipartFile.getInputStream(); + //实例化实现了AnalysisEventListener接口的类 + EasyExcelListener listener = new EasyExcelListener(); + + EasyExcelFactory.read(inputStream, CardGift.class, listener).headRowNumber(1).build().readAll(); + + //获取数据 + List list = listener.getDatas(); + total = list.size(); + if (list.size() >= 1) { + for (int i = 0; i < list.size(); i++) { + CardGift cardGift = (CardGift) list.get(i); + cardGift.setStoreId(nowAccountInfo.getStoreId()); + //去重 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CardGift::getNumber,cardGift.getNumber()); + CardGift one = getOne(queryWrapper); + if (one!=null){ + repeat += 1; + }else { + //使用mybatis-plus添加到数据库 + boolean save = save(cardGift); + if (save==true){ + success++; + }else { + error++; + } + } + } + } + map.put("total",total); + map.put("success",success); + map.put("error",error); + map.put("repeat",repeat); + + return map; + } + + @Override + public List selectGiftValue(CardGift cardGift) { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + cardGift.setStoreId(nowAccountInfo.getStoreId()); + List cardGifts = cardGiftMapper.selectGiftValue(cardGift); + return cardGifts; + } + + @Override + public List> countGiftValue(CardGift cardGift) { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + cardGift.setStoreId(nowAccountInfo.getStoreId()); + return cardGiftMapper.countGiftValue(cardGift); + } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/controller/CardValueController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/controller/CardValueController.java index 2875dd702..46948b1ed 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/controller/CardValueController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/controller/CardValueController.java @@ -124,5 +124,16 @@ public class CardValueController extends BaseController { public ResponseObject delete(@RequestParam("idList") List idList) { return getSuccessResult(this.cardValueService.removeByIds(idList)); } + + + /** + * 删除数据 + * @param id + * @return + */ + @DeleteMapping("delById") + public ResponseObject delById(@RequestParam("id") Long id) { + return getSuccessResult(this.cardValueService.delById(id)); + } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/entity/CardValue.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/entity/CardValue.java index acd2758ec..89f6605de 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/entity/CardValue.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/entity/CardValue.java @@ -59,10 +59,10 @@ public class CardValue extends Model { //活动进度 private String activityProgress; //活动开始时间 - //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8") private Date startTime; //活动结束时间 - //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8") private Date endTime; //活动状态 1:启用 2:禁用 private String activeStatus; diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml index b115d5a2c..ddc4c2b73 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml @@ -31,7 +31,7 @@