From 78fb1185501288bd3637c9c2a2752f351f339edb 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: Fri, 29 Dec 2023 13:38:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=85=E5=80=BC=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LargeSscreenController.java | 79 ++++++ .../mapper/LargeSscreenServiceMapper.java | 4 + .../mapper/xml/LargeSscreenServiceMapper.xml | 11 + .../service/LargeSscreenService.java | 41 +++ .../service/impl/LargeSscreenServiceImpl.java | 257 ++++++++++++++++++ .../business/largeSscreen/vo/OilOrderVO.java | 20 ++ .../largeSscreen/vo/OrderGoodsVO.java | 19 ++ .../mapper/ActiveDiscountMapper.java | 10 + .../mapper/impl/ActiveDiscountMapper.xml | 16 ++ .../service/ActiveDiscountService.java | 1 + .../impl/ActiveDiscountServiceImpl.java | 4 + .../vo/ActiveDiscountPayVO.java | 21 ++ .../controller/ActiveExchangeController.java | 13 + .../activeExchange/dto/PaymentActiveDTO.java | 17 ++ .../service/ActiveExchangeService.java | 13 +- .../impl/ActiveExchangeServiceImpl.java | 60 +++- .../activeExchange/vo/PaymentActiveVO.java | 15 + .../controller/CardFuelRecordController.java | 26 ++ .../cardFule/dto/CardFuelRecordDTO.java | 6 +- .../cardFule/entity/CardFuelDiesel.java | 165 +---------- .../service/CardFuelRecordService.java | 12 + .../impl/CardFuelRecordServiceImpl.java | 205 +++++++++++++- .../controller/CardFuleOrdersController.java | 88 ++++++ .../cardFuleOrders/entity/CardFuleOrders.java | 81 ++++++ .../mapper/CardFuleOrdersMapper.java | 22 ++ .../mapper/xml/CardValueOrdersMapper.xml | 26 ++ .../service/CardFuleOrdersService.java | 16 ++ .../impl/CardFuleOrdersServiceImpl.java | 32 +++ .../impl/CardValueRecordServiceImpl.java | 2 +- .../business/member/mapper/LJStaffMapper.java | 1 + .../member/mapper/xml/LJStaffMapper.xml | 23 ++ .../OilBalanceChangeController.java | 94 +++++++ .../order/entity/OilBalanceChange.java | 58 ++++ .../order/mapper/OilBalanceChangeMapper.java | 15 + .../business/order/mapper/OilOrderMapper.java | 38 +++ .../order/mapper/OrderGoodsMapper.java | 15 + .../order/mapper/xml/OilOrderMapper.xml | 106 +++++++- .../order/mapper/xml/OrderGoodsMapper.xml | 26 +- .../service/OilBalanceChangeService.java | 15 + .../impl/OilBalanceChangeServiceImpl.java | 19 ++ .../userManager/entity/UserBalance.java | 2 +- .../fuint/common/shiroConfig/ShiroConfig.java | 5 + .../src/main/resources/application.properties | 9 +- 43 files changed, 1522 insertions(+), 186 deletions(-) create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/controller/LargeSscreenController.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/mapper/LargeSscreenServiceMapper.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/mapper/xml/LargeSscreenServiceMapper.xml create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/service/LargeSscreenService.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/service/impl/LargeSscreenServiceImpl.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/vo/OilOrderVO.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/vo/OrderGoodsVO.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/mapper/impl/ActiveDiscountMapper.xml create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/vo/ActiveDiscountPayVO.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/dto/PaymentActiveDTO.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/vo/PaymentActiveVO.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/controller/CardFuleOrdersController.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/entity/CardFuleOrders.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/mapper/CardFuleOrdersMapper.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/mapper/xml/CardValueOrdersMapper.xml create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/service/CardFuleOrdersService.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/service/impl/CardFuleOrdersServiceImpl.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/OilBalanceChangeController.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/order/entity/OilBalanceChange.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilBalanceChangeMapper.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/OilBalanceChangeService.java create mode 100644 fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilBalanceChangeServiceImpl.java diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/controller/LargeSscreenController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/controller/LargeSscreenController.java new file mode 100644 index 000000000..8aa9789cb --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/controller/LargeSscreenController.java @@ -0,0 +1,79 @@ +package com.fuint.business.largeSscreen.controller; + + +import com.fuint.business.largeSscreen.service.LargeSscreenService; +import com.fuint.framework.web.BaseController; +import com.fuint.framework.web.ResponseObject; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 大屏(ActiveConsumption)表控制层 + * + * @author makejava + * @since 2023-11-10 10:44:58 + */ +@RestController +@RequestMapping("business/largeSscreen") +public class LargeSscreenController extends BaseController { + + @Resource + private LargeSscreenService largeSscreenService; + + /** + * 查询油品销售排名 + * @return + */ + /*@GetMapping("{storId}") + public ResponseObject selectOilSalesRank(@PathVariable Integer storId) { + return getSuccessResult(this.largeSscreenService.selectOilSalesRank(storId)); + }*/ + /** + * 查询油品销售排名 + * @return + */ + @GetMapping + public ResponseObject selectOilSalesRank() { + return getSuccessResult(this.largeSscreenService.selectOilSalesRank()); + } + + /** + * 查询商品销售排名 + * @return + */ + @GetMapping("goods") + public ResponseObject selectGoodsSalesRank() { + return getSuccessResult(this.largeSscreenService.selectGoodsSalesRank()); + } + + /** + * 查询员工销售排名 + * @return + */ + @GetMapping("staff") + public ResponseObject selectStaffSalesRank() { + return getSuccessResult(this.largeSscreenService.selectStaffSalesRank()); + } + + /** + * 查询本月销售额排名 + * @return + */ + @GetMapping("sales") + public ResponseObject selectSalesRank() { + return getSuccessResult(this.largeSscreenService.selectSalesRank()); + } + + /** + * 查询公司年度排行榜 + * @return + */ + @GetMapping("salesAll") + public ResponseObject selectSalesAllRank() { + return getSuccessResult(this.largeSscreenService.selectSalesAllRank()); + } +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/mapper/LargeSscreenServiceMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/mapper/LargeSscreenServiceMapper.java new file mode 100644 index 000000000..c71cbe1d2 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/mapper/LargeSscreenServiceMapper.java @@ -0,0 +1,4 @@ +package com.fuint.business.largeSscreen.mapper; + +public interface LargeSscreenServiceMapper { +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/mapper/xml/LargeSscreenServiceMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/mapper/xml/LargeSscreenServiceMapper.xml new file mode 100644 index 000000000..fcc40136b --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/mapper/xml/LargeSscreenServiceMapper.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/service/LargeSscreenService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/service/LargeSscreenService.java new file mode 100644 index 000000000..a0b3f2241 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/service/LargeSscreenService.java @@ -0,0 +1,41 @@ +package com.fuint.business.largeSscreen.service; + +import com.fuint.business.largeSscreen.vo.OilOrderVO; +import com.fuint.business.largeSscreen.vo.OrderGoodsVO; + +import java.util.List; +import java.util.Map; + + +public interface LargeSscreenService { + + /** + * 查询油品销售排名 + * @return + */ + List selectOilSalesRank(); + + /** + * 查询商品销售排名 + * @return + */ + List selectGoodsSalesRank(); + + /** + * 查询员工销售排名 + * @return + */ + List> selectStaffSalesRank(); + + /** + * 查询本月销售额排名 + * @return + */ + List> selectSalesRank(); + + /** + * 查询公司年度排行榜 + * @return + */ + Map selectSalesAllRank(); +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/service/impl/LargeSscreenServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/service/impl/LargeSscreenServiceImpl.java new file mode 100644 index 000000000..74b87f73b --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/service/impl/LargeSscreenServiceImpl.java @@ -0,0 +1,257 @@ +package com.fuint.business.largeSscreen.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.fuint.business.largeSscreen.mapper.LargeSscreenServiceMapper; +import com.fuint.business.largeSscreen.service.LargeSscreenService; +import com.fuint.business.largeSscreen.vo.OilOrderVO; +import com.fuint.business.largeSscreen.vo.OrderGoodsVO; +import com.fuint.business.member.mapper.LJStaffMapper; +import com.fuint.business.order.mapper.OilOrderMapper; +import com.fuint.business.order.mapper.OrderGoodsMapper; +import com.fuint.common.dto.AccountInfo; +import com.fuint.common.util.TokenUtil; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.Base64; + +@Service("LargeSscreenService") +public class LargeSscreenServiceImpl implements LargeSscreenService { + + @Resource + private LargeSscreenServiceMapper largeSscreenServiceMapper; + @Resource + private OilOrderMapper oilOrderMapper; + @Resource + private OrderGoodsMapper orderGoodsMapper; + @Resource + private LJStaffMapper ljStaffMapper; + private final static String IV = "1234567890123456";//需要前端与后端配置一致 + private final static String KEY = "1234567890123456"; + + /** + * 查询油品销售排名 + * @return + */ + @Override + public List selectOilSalesRank() { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + Integer storeId = nowAccountInfo.getStoreId(); + ArrayList oilOrderVOS2 = new ArrayList<>(); + OilOrderVO oilOrderVO1 = new OilOrderVO(); + oilOrderVO1.setOilType("柴油"); + oilOrderVO1.setOilName("0#"); + oilOrderVO1.setPayAomunt(0); + oilOrderVO1.setExponent("0"); + oilOrderVO1.setStatus("0"); + oilOrderVOS2.add(oilOrderVO1); + OilOrderVO oilOrderVO2 = new OilOrderVO(); + oilOrderVO2.setOilType("柴油"); + oilOrderVO2.setOilName("-10##"); + oilOrderVO2.setPayAomunt(0); + oilOrderVO2.setExponent("0"); + oilOrderVO2.setStatus("0"); + oilOrderVOS2.add(oilOrderVO2); + OilOrderVO oilOrderVO3 = new OilOrderVO(); + oilOrderVO3.setOilType("汽油"); + oilOrderVO3.setOilName("92##"); + oilOrderVO3.setPayAomunt(0); + oilOrderVO3.setExponent("0"); + oilOrderVO3.setStatus("0"); + oilOrderVOS2.add(oilOrderVO3); + OilOrderVO oilOrderVO4 = new OilOrderVO(); + oilOrderVO4.setOilType("汽油"); + oilOrderVO4.setOilName("95#"); + oilOrderVO4.setPayAomunt(0); + oilOrderVO4.setExponent("0"); + oilOrderVO4.setStatus("0"); + oilOrderVOS2.add(oilOrderVO4); + OilOrderVO oilOrderVO5 = new OilOrderVO(); + oilOrderVO5.setOilType("汽油"); + oilOrderVO5.setOilName("京92#"); + oilOrderVO5.setPayAomunt(0); + oilOrderVO5.setExponent("0"); + oilOrderVO5.setStatus("0"); + oilOrderVOS2.add(oilOrderVO5); + ArrayList oilOrderVOS1 = new ArrayList<>(); + //当天的数据 + List oilOrderVOS = oilOrderMapper.selectOilSalesRank(storeId); + //昨天的数据 + List oilOrderVOSs = oilOrderMapper.selectOilSalesRankYestoday(storeId); + for (OilOrderVO oilOrderVO : oilOrderVOS) { + String OilName = ""; + double v = 0.0; + OilName = oilOrderVO.getOilName(); + oilOrderVO.setExponent(100+"%"); + for (OilOrderVO orderVOSs : oilOrderVOSs) { + if (orderVOSs.getOilName().equals(OilName)){ + v = orderVOSs.getPayAomunt() / oilOrderVO.getPayAomunt() * 100; + BigDecimal bg = new BigDecimal(v); + double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + oilOrderVO.setExponent(f1 + "%"); + break; + } + } + if (v > 0.0){ + oilOrderVO.setStatus("1"); + }else { + oilOrderVO.setStatus("0"); + } + oilOrderVOS1.add(oilOrderVO); + } + if (CollectionUtils.isNotEmpty(oilOrderVOS1)){ + return oilOrderVOS1; + }else { + return oilOrderVOS2; + } + } + + /** + * 查询商品销售排名 + * @return + */ + @Override + public List selectGoodsSalesRank() { + List orderGoodsVOS = new ArrayList<>(); + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + Integer storeId = nowAccountInfo.getStoreId(); + //今天的销量 + List orderGoodsVOSToday = orderGoodsMapper.selectGoodsSalesRank(storeId); + //昨天的销量 + List orderGoodsVOSYseToday = orderGoodsMapper.selectGoodsSalesRankYestoday(storeId); + for (OrderGoodsVO orderGoodsVO : orderGoodsVOSToday) { + String goodsName = ""; + double v = 0; + goodsName = orderGoodsVO.getGoodsName(); + orderGoodsVO.setTodayCount(orderGoodsVO.getGoodsNumber()); + orderGoodsVO.setGoodsName(orderGoodsVO.getGoodsName()); + orderGoodsVO.setYesTodayCount(0); + for (OrderGoodsVO goodsVO : orderGoodsVOSYseToday) { + if (goodsVO.getGoodsName().equals(goodsName)){ + orderGoodsVO.setYesTodayCount(goodsVO.getGoodsNumber()); + v = (double)goodsVO.getGoodsNumber() / orderGoodsVO.getGoodsNumber() * 100; + BigDecimal bg = new BigDecimal(v); + double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + orderGoodsVO.setExpent(f1); + break; + } + } + orderGoodsVOS.add(orderGoodsVO); + } + if (CollectionUtils.isNotEmpty(orderGoodsVOS)){ + return orderGoodsVOS; + }else { + return new ArrayList<>(); + } + } + + /** + * 查询员工销售排名 + * @return + */ + @Override + public List> selectStaffSalesRank() { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + Integer storeId = nowAccountInfo.getStoreId(); + List> maps = ljStaffMapper.employeeSalesMongth(storeId); + if (maps.size()>3){ + List> maps1 = maps.subList(0, 4); + return maps1; + }else { + return maps; + } + } + + /** + * 查询本月销售额排名 + * @return + */ + @Override + public List> selectSalesRank() { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + Integer storeId = nowAccountInfo.getStoreId(); + List> maps = oilOrderMapper.oilSalesMongth(storeId); + for (Map map : maps) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String format = sdf.format(map.get("sales_day")); + map.put("sales_day",format); + } + return maps; + } + + /** + * 查询公司年度排行榜 + * @return + */ + @Override + public Map selectSalesAllRank() { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + Integer storeId = nowAccountInfo.getStoreId(); + HashMap stringStringHashMap = new HashMap<>(); + //年 + Map yeathMap = oilOrderMapper.oilSalesYeath(storeId); + if (ObjectUtils.isNotEmpty(yeathMap.get("totalSales"))){ + stringStringHashMap.put("yeathSales",yeathMap.get("totalSales")); + }else { + stringStringHashMap.put("yeathSales","0"); + } + //月 + Map mongthMap = oilOrderMapper.oilSalesMongths(storeId); + if (ObjectUtils.isNotEmpty(mongthMap.get("totalSales"))){ + stringStringHashMap.put("mongthSales",mongthMap.get("totalSales")); + }else { + stringStringHashMap.put("mongthSales","0"); + } + //周 + Map weekMap = oilOrderMapper.oilSalesWeek(storeId); + if (ObjectUtils.isNotEmpty(weekMap.get("totalSales"))){ + stringStringHashMap.put("weekSales",weekMap.get("totalSales")); + }else { + stringStringHashMap.put("weekSales","0"); + } + //日 + Map dayMap = oilOrderMapper.oilSalesDay(storeId); + if (ObjectUtils.isNotEmpty(dayMap.get("totalSales"))){ + stringStringHashMap.put("daySales",dayMap.get("totalSales")); + }else { + stringStringHashMap.put("daySales","0"); + } + //总销售额 + Map allMap = oilOrderMapper.oilSalesAll(storeId); + if (ObjectUtils.isNotEmpty(allMap.get("totalSales"))){ + stringStringHashMap.put("allSales",allMap.get("totalSales")); + }else { + stringStringHashMap.put("allSales","0"); + } + return stringStringHashMap; + } + + + /** + * 解密方法 + * @param content + * @param key + * @param iv + * @return + */ + public static String decrypt(String content, String key, String iv){ + try { + byte[] encrypted1 = Base64.getDecoder().decode(content); + Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); + SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "AES"); + IvParameterSpec ivSpec = new IvParameterSpec(iv.getBytes()); + cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); + byte[] original = cipher.doFinal(encrypted1); + return new String(original).trim(); + } catch (Exception e) { + throw new RuntimeException("加密算法异常 CryptoUtil decrypt()解密方法,异常信息:" + e.getMessage()); + } + } +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/vo/OilOrderVO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/vo/OilOrderVO.java new file mode 100644 index 000000000..8c49696d6 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/vo/OilOrderVO.java @@ -0,0 +1,20 @@ +package com.fuint.business.largeSscreen.vo; + +import com.fuint.business.order.entity.OilOrder; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class OilOrderVO extends OilOrder implements Serializable { + //油品类型 + private String OilType; + //油品名称 + private String oilName; + //销售额 + private double payAomunt; + //增长指数 + private String exponent; + //上涨状态 + private String status; +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/vo/OrderGoodsVO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/vo/OrderGoodsVO.java new file mode 100644 index 000000000..e7b4a3793 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/largeSscreen/vo/OrderGoodsVO.java @@ -0,0 +1,19 @@ +package com.fuint.business.largeSscreen.vo; + +import com.fuint.business.order.entity.OrderGoods; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class OrderGoodsVO extends OrderGoods implements Serializable { + //商品名称 + private String goodsName; + //商品售出数量 + private Integer goodsNumber; + //今天的销量 + private Integer todayCount; + //昨天的销量 + private Integer yesTodayCount; + private double expent; +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/mapper/ActiveDiscountMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/mapper/ActiveDiscountMapper.java index e8e3148c5..2434f020a 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/mapper/ActiveDiscountMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/mapper/ActiveDiscountMapper.java @@ -2,6 +2,9 @@ package com.fuint.business.marketingActivity.activeDiscount.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscount; +import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO; +import org.apache.ibatis.annotations.Param; +import java.util.List; /** * 折扣营销表(ActiveDiscount)表数据库访问层 @@ -11,5 +14,12 @@ import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscount */ public interface ActiveDiscountMapper extends BaseMapper { + /** + * 折扣 + * @param storeId + * @param amount + * @return + */ + //List selectActiveDiscount(@Param("storeId") Integer storeId, @Param("amount")double amount); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/mapper/impl/ActiveDiscountMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/mapper/impl/ActiveDiscountMapper.xml new file mode 100644 index 000000000..5be9460c7 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/mapper/impl/ActiveDiscountMapper.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/service/ActiveDiscountService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/service/ActiveDiscountService.java index 85e57f785..bcb70482c 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/service/ActiveDiscountService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/service/ActiveDiscountService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.fuint.business.marketingActivity.activeDiscount.dto.ActiveDiscountDTO; import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscount; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountAppletVO; +import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountVO; import java.io.Serializable; diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/service/impl/ActiveDiscountServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/service/impl/ActiveDiscountServiceImpl.java index 5744b76b3..a1d0c58e7 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/service/impl/ActiveDiscountServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeDiscount/service/impl/ActiveDiscountServiceImpl.java @@ -15,6 +15,7 @@ import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscount import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountChildService; import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountService; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountAppletVO; +import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountVO; import com.fuint.business.petrolStationManagement.service.OilNameService; import com.fuint.business.store.service.StoreService; @@ -51,6 +52,8 @@ public class ActiveDiscountServiceImpl extends ServiceImpl select(); + + /** + * 优惠活动接口 + * @param paymentActiveDTO + * @return + */ + PaymentActiveVO paymentActive(PaymentActiveDTO paymentActiveDTO); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java index eca0ce417..d5c8ed9ab 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/service/impl/ActiveExchangeServiceImpl.java @@ -8,16 +8,17 @@ import com.fuint.business.marketingActivity.activeConsumption.service.ActiveCons import com.fuint.business.marketingActivity.activeConsumption.vo.ActiveConsumptionAppletVO; import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscount; import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscountChild; +import com.fuint.business.marketingActivity.activeDiscount.mapper.ActiveDiscountMapper; import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountChildService; import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountService; import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountAppletVO; +import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO; +import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountVO; import com.fuint.business.marketingActivity.activeExchange.dto.ActiveExchangeRecordDTO; +import com.fuint.business.marketingActivity.activeExchange.dto.PaymentActiveDTO; import com.fuint.business.marketingActivity.activeExchange.dto.TransferDTO; import com.fuint.business.marketingActivity.activeExchange.service.ActiveExchangeService; -import com.fuint.business.marketingActivity.activeExchange.vo.ActiveAppletVO; -import com.fuint.business.marketingActivity.activeExchange.vo.ActiveExchangeRecordVO; -import com.fuint.business.marketingActivity.activeExchange.vo.ExchangeFavorableVO; -import com.fuint.business.marketingActivity.activeExchange.vo.MaxoutVO; +import com.fuint.business.marketingActivity.activeExchange.vo.*; import com.fuint.business.marketingActivity.activeFullminus.entity.ActiveFullminus; import com.fuint.business.marketingActivity.activeFullminus.service.ActiveFullminusService; import com.fuint.business.marketingActivity.activeFullminus.vo.ActiveFullminusAppletVO; @@ -34,9 +35,12 @@ import com.fuint.business.marketingActivity.cardFavorable.service.CardFavorableS import com.fuint.business.marketingActivity.cardValue.entity.CardValue; import com.fuint.business.marketingActivity.cardValue.service.CardValueService; import com.fuint.business.marketingActivity.cardValue.vo.CardValueAppletVO; +import com.fuint.business.order.mapper.OilOrderMapper; import com.fuint.business.petrolStationManagement.entity.OilName; import com.fuint.business.petrolStationManagement.service.OilNameService; import com.fuint.business.userManager.service.LJUserGradeService; +import com.fuint.common.dto.AccountInfo; +import com.fuint.common.util.TokenUtil; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -75,7 +79,9 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService { @Resource private CardValueService cardValueService; @Resource - private OilNameService oilNameService; + private ActiveDiscountMapper activeDiscountMapper; + @Resource + private OilOrderMapper oilOrderMapper; /** * 分页查询所有 * @param @@ -370,4 +376,48 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService { } return activeAppletVOS; } + + /** + * 优惠活动接口 + * @param paymentActiveDTO + * @return + */ + @Override + public PaymentActiveVO paymentActive(PaymentActiveDTO paymentActiveDTO) { + PaymentActiveVO paymentActiveVO = new PaymentActiveVO(); + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + Integer storeId = nowAccountInfo.getStoreId(); + double amount = 0.0; + //折扣 + List activeDiscountVOList = oilOrderMapper.selectActiveDiscount(storeId,paymentActiveDTO.getAmount()); + if (CollectionUtils.isNotEmpty(activeDiscountVOList)){ + for (ActiveDiscountPayVO activeDiscountPayVO : activeDiscountVOList) { + if (activeDiscountPayVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && + activeDiscountPayVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString())){ + if (activeDiscountPayVO.getDiscount() * activeDiscountPayVO.getAmount() > amount){ + amount = activeDiscountPayVO.getDiscount() * activeDiscountPayVO.getAmount(); + paymentActiveVO.setActiveId(activeDiscountPayVO.getActiveId()); + paymentActiveVO.setAmount(activeDiscountPayVO.getAmount()); + paymentActiveVO.setFavorableAmount(amount); + } + } + } + } + //满减 + List activeFuletVOList = oilOrderMapper.selectActiveFule(storeId,paymentActiveDTO.getAmount()); + if (CollectionUtils.isNotEmpty(activeFuletVOList)){ + for (ActiveDiscountPayVO activeDiscountPayVO : activeFuletVOList) { + if (activeDiscountPayVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && + activeDiscountPayVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString())){ + if (activeDiscountPayVO.getAmount() > amount){ + amount = activeDiscountPayVO.getDiscount() * activeDiscountPayVO.getAmount(); + paymentActiveVO.setActiveId(activeDiscountPayVO.getActiveId()); + paymentActiveVO.setAmount(activeDiscountPayVO.getAmount()); + paymentActiveVO.setFavorableAmount(amount); + } + } + } + } + return paymentActiveVO; + } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/vo/PaymentActiveVO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/vo/PaymentActiveVO.java new file mode 100644 index 000000000..0c6ea9f09 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/activeExchange/vo/PaymentActiveVO.java @@ -0,0 +1,15 @@ +package com.fuint.business.marketingActivity.activeExchange.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class PaymentActiveVO implements Serializable { + //活动id + private Integer activeId; + //应付金额 + private double amount; + //优惠金额 + private double favorableAmount; +} diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/controller/CardFuelRecordController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/controller/CardFuelRecordController.java index 4348ed35c..ea95aa713 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/controller/CardFuelRecordController.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/controller/CardFuelRecordController.java @@ -2,6 +2,7 @@ package com.fuint.business.marketingActivity.cardFule.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.core.JsonProcessingException; import com.fuint.business.marketingActivity.cardFule.dto.CardFuelRecordDTO; import com.fuint.business.marketingActivity.cardFule.entity.CardFuelRecord; import com.fuint.business.marketingActivity.cardFule.service.CardFuelRecordService; @@ -85,6 +86,17 @@ public class CardFuelRecordController extends BaseController { return getSuccessResult(this.cardFuelRecordService.insert(cardFuelRecord)); } + /** + * 囤油卡充值 + * + * @param cardFuelRecordDTO 实体 + * @return 新增结果 + */ + @PostMapping("addFuleCarRecords") + public ResponseObject addFuleCarRecords(@RequestBody CardFuelRecordDTO cardFuelRecordDTO) throws Exception { + return getSuccessResult(this.cardFuelRecordService.addFuleCarRecords(cardFuelRecordDTO)); + } + /** * 编辑数据 * @@ -141,5 +153,19 @@ public class CardFuelRecordController extends BaseController { return getSuccessResult(iPageList); } + /** + * 查询用户屯油卡充值记录 + */ + @GetMapping("test") + public ResponseObject test(@RequestParam(value = "pageNo",defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize, + @Param("cardFuelRecord") String cardFuelRecord) throws JsonProcessingException { + Page page = new Page(pageNo, pageSize); + IPage iPageList = this.cardFuelRecordService.test(page, cardFuelRecord); + return getSuccessResult(iPageList); + } + + + } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/dto/CardFuelRecordDTO.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/dto/CardFuelRecordDTO.java index 92a651cd7..e406939b5 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/dto/CardFuelRecordDTO.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/dto/CardFuelRecordDTO.java @@ -5,9 +5,11 @@ import lombok.Data; @Data public class CardFuelRecordDTO extends CardFuelRecord { - private String authCode; - private String recordName; private String obtain; + private String authCode; + private Double realyPayBills; + //付款类型 1.微信 2.支付宝 + private String payType; } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/entity/CardFuelDiesel.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/entity/CardFuelDiesel.java index 7703360e7..301e3d6d6 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/entity/CardFuelDiesel.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/entity/CardFuelDiesel.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; import java.io.Serializable; @@ -16,6 +17,7 @@ import java.io.Serializable; * @since 2023-10-31 13:54:27 */ @SuppressWarnings("serial") +@Data public class CardFuelDiesel extends Model { //主键id @TableId(type = IdType.AUTO) @@ -60,168 +62,5 @@ public class CardFuelDiesel extends Model { //更新时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getChainStorId() { - return chainStorId; - } - - public void setChainStorId(Integer chainStorId) { - this.chainStorId = chainStorId; - } - - public Integer getStoreId() { - return storeId; - } - - public void setStoreId(Integer storeId) { - this.storeId = storeId; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - - public String getOilType() { - return oilType; - } - - public void setOilType(String oilType) { - this.oilType = oilType; - } - - public Double getLockupPrice() { - return lockupPrice; - } - - public void setLockupPrice(Double lockupPrice) { - this.lockupPrice = lockupPrice; - } - - public Double getRechargeBalance() { - return rechargeBalance; - } - - public void setRechargeBalance(Double rechargeBalance) { - this.rechargeBalance = rechargeBalance; - } - - public Double getIncomeLitres() { - return incomeLitres; - } - - public void setIncomeLitres(Double incomeLitres) { - this.incomeLitres = incomeLitres; - } - - public Integer getPoints() { - return points; - } - - public void setPoints(Integer points) { - this.points = points; - } - - public String getActiveTime() { - return activeTime; - } - - public void setActiveTime(String activeTime) { - this.activeTime = activeTime; - } - - public Date getStartTime() { - return startTime; - } - - public void setStartTime(Date startTime) { - this.startTime = startTime; - } - - public Date getEndTime() { - return endTime; - } - - public void setEndTime(Date endTime) { - this.endTime = endTime; - } - - public String getActiveStatus() { - return activeStatus; - } - - public void setActiveStatus(String activeStatus) { - this.activeStatus = activeStatus; - } - - public String getActivityProgress() { - return activityProgress; - } - - public void setActivityProgress(String activityProgress) { - this.activityProgress = activityProgress; - } - - public String getCreateBy() { - return createBy; - } - - public void setCreateBy(String createBy) { - this.createBy = createBy; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public String getUpdateBy() { - return updateBy; - } - - public void setUpdateBy(String updateBy) { - this.updateBy = updateBy; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - /** - * 获取主键值 - * - * @return 主键值 - */ - @Override - protected Serializable pkVal() { - return this.id; - } } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/CardFuelRecordService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/CardFuelRecordService.java index a0645183d..068df347a 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/CardFuelRecordService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/CardFuelRecordService.java @@ -2,6 +2,8 @@ package com.fuint.business.marketingActivity.cardFule.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fuint.api.fuyou.entity.ReturnParameter; import com.fuint.business.marketingActivity.cardFule.dto.CardFuelRecordDTO; import com.fuint.business.marketingActivity.cardFule.entity.CardFuelRecord; import com.fuint.business.marketingActivity.cardValue.dto.CardValueRecordDTO; @@ -87,4 +89,14 @@ public interface CardFuelRecordService { * @return */ IPage queryByPageApplet(Page page, CardFuelRecord cardFuelRecord); + + /** + * 囤油卡充值 + * @param cardFuelRecordDTO + * @return + */ + ReturnParameter addFuleCarRecords(CardFuelRecordDTO cardFuelRecordDTO) throws Exception; + + + IPage test(Page page, String cardFuelRecord) throws JsonProcessingException; } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/impl/CardFuelRecordServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/impl/CardFuelRecordServiceImpl.java index 15287e0b4..79ed639f7 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/impl/CardFuelRecordServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFule/service/impl/CardFuelRecordServiceImpl.java @@ -7,30 +7,49 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fuint.api.fuyou.entity.MerchantConfig; +import com.fuint.api.fuyou.entity.ReceiveParameter; +import com.fuint.api.fuyou.entity.ReturnParameter; import com.fuint.api.fuyou.service.FyPayService; import com.fuint.api.fuyou.service.MerchantConfigService; import com.fuint.business.integral.entity.IntegralDetail; import com.fuint.business.integral.service.IntegralDetailService; +import com.fuint.business.marketingActivity.cardExchange.entity.CardExchange; +import com.fuint.business.marketingActivity.cardFavorable.entity.CardFavorable; import com.fuint.business.marketingActivity.cardFule.dto.CardFuelRecordDTO; import com.fuint.business.marketingActivity.cardFule.entity.CardFuelChange; +import com.fuint.business.marketingActivity.cardFule.entity.CardFuelDiesel; import com.fuint.business.marketingActivity.cardFule.entity.CardFuelRecord; import com.fuint.business.marketingActivity.cardFule.mapper.CardFuelRecordMapper; import com.fuint.business.marketingActivity.cardFule.service.CardFuelChangeService; +import com.fuint.business.marketingActivity.cardFule.service.CardFuelDieselService; import com.fuint.business.marketingActivity.cardFule.service.CardFuelRecordService; +import com.fuint.business.marketingActivity.cardFuleOrders.entity.CardFuleOrders; +import com.fuint.business.marketingActivity.cardFuleOrders.service.CardFuleOrdersService; import com.fuint.business.marketingActivity.cardValue.dto.CardValueRecordDTO; import com.fuint.business.marketingActivity.cardValue.entity.CardValueRecord; +import com.fuint.business.marketingActivity.cardValue.vo.CardValueVO; +import com.fuint.business.marketingActivity.cardValueOrders.entity.CardValueOrders; +import com.fuint.business.member.entity.LJStaff; +import com.fuint.business.member.service.ILJStaffService; +import com.fuint.business.order.entity.CardBalanceChange; +import com.fuint.business.order.entity.OilBalanceChange; +import com.fuint.business.order.service.OilBalanceChangeService; import com.fuint.business.userManager.entity.UserBalance; import com.fuint.business.userManager.mapper.LJUserMapper; import com.fuint.business.userManager.service.UserBalanceService; import com.fuint.business.userManager.vo.LJUserVo; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.fuint.common.util.TokenUtil; import io.lettuce.core.dynamic.annotation.Param; import com.fuint.common.dto.AccountInfo; - +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -57,11 +76,17 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService { @Resource private UserBalanceService userBalanceService; @Resource - private CardFuelRecordService cardFuelRecordService; - @Resource private IntegralDetailService integralDetailService; @Resource private CardFuelChangeService cardFuelChangeService; + @Resource + private ILJStaffService mtStaffService; + @Resource + private CardFuelDieselService cardFuelDieselService; + @Resource + private CardFuleOrdersService cardFuleOrdersService; + @Resource + private OilBalanceChangeService oilBalanceChangeService; /** * 通过ID查询单条数据 * @@ -339,4 +364,178 @@ public class CardFuelRecordServiceImpl implements CardFuelRecordService { return this.cardFuelRecordMapper.queryByPageApplet(page,cardFuelRecord); } + /** + * 囤油卡充值 + * @param cardFuelRecordDTO + * @return + */ + @Override + public ReturnParameter addFuleCarRecords(CardFuelRecordDTO cardFuelRecordDTO) throws Exception { + Double cardFavorableValue = 0.0; + Map map = new HashMap<>(); + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + //订单信息 + CardFuleOrders cardFuleOrders = new CardFuleOrders(); + //会员信息 + LJUserVo ljUserVo = ljUserMapper.selectUserById(nowAccountInfo.getId()); + //员工信息 + LJStaff ljStaff = mtStaffService.selectStaffById(cardFuelRecordDTO.getMtStaffId()); + //查询囤油卡信息 + CardFuelDiesel cardFuelDiesel = cardFuelDieselService.getById(cardFuelRecordDTO.getId()); + cardFuleOrders.setCardFuleId(cardFuelDiesel.getId()); + cardFuleOrders.setAmount(cardFuelDiesel.getRechargeBalance()); + cardFuleOrders.setPayAmount(cardFuelDiesel.getRechargeBalance()); + cardFuleOrders.setPoints(cardFuelDiesel.getPoints()); + cardFuleOrders.setType(cardFuelDiesel.getType()); + cardFuleOrders.setOilType(cardFuelDiesel.getOilType()); + cardFuleOrders.setIncomeLitres(cardFuelDiesel.getIncomeLitres()); + cardFuleOrders.setLockupPrice(cardFuelDiesel.getLockupPrice()); + //订单号 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String timestamp = dateFormat.format(new Date()); + String randomString = UUID.randomUUID().toString().replace("-","").substring(0,6); + String orderNo = "cardfule"+timestamp+randomString; + cardFuleOrders.setOrderNo(orderNo); + //付款类型 + cardFuleOrders.setPayType(cardFuelRecordDTO.getPayType()); + //用户信息 + cardFuleOrders.setStoreId(ljUserVo.getStoreId()); + cardFuleOrders.setMtUserId(ljUserVo.getId()); + cardFuleOrders.setName(ljUserVo.getName()); + cardFuleOrders.setMobile(ljUserVo.getMobile()); + //员工信息 + cardFuleOrders.setStaffId(ljStaff.getId()); + cardFuleOrders.setRealName(ljStaff.getRealName()); + cardFuleOrders.setStaffMobile(ljStaff.getMobile()); + //订单金额 + cardFuleOrders.setAmount(0.02); + /* + //订单金额 + cardFuleOrders.setAmount(cardFuelDiesel.getRechargeBalance()); + //支付金额 + cardFuleOrders.setPayAmount(cardFuelDiesel.getRechargeBalance()); + }*/ + //支付金额 + cardFuleOrders.setPayAmount(0.01); + cardFuleOrders.setStatus("unpaid"); + //生成订单 + boolean save = cardFuleOrdersService.save(cardFuleOrders); + if (save) { + //生成订单之后调用支付接口 + ReceiveParameter receiveParameter = new ReceiveParameter(); + //封装支付参数 + receiveParameter.setOrderNo(orderNo); + receiveParameter.setType("5"); + receiveParameter.setStoreId(nowAccountInfo.getStoreId()); + receiveParameter.setGoodsMoney(cardFuleOrders.getPayAmount()); + receiveParameter.setPayType(cardFuleOrders.getPayType()); + receiveParameter.setUserId(nowAccountInfo.getId()); + receiveParameter.setContent("囤油卡充值"); + // 调用支付接口 + try { + map = fyPayService.applet(receiveParameter); + } catch (Exception e) { + e.printStackTrace(); + } + } + if (map.get("code").equals("success")){ + return JSONObject.parseObject(JSONObject.toJSONString(map.get("data")),ReturnParameter.class); + }else { + throw new Exception(map.get("msg").toString()); + } + } + + @Override + public IPage test(Page page, String cardFuelRecord) throws JsonProcessingException { + fuleRechargeFinallDeal(cardFuelRecord); + return null; + } + + /** + * 屯油卡充值后续处理 + * @param orderNo + */ + @Transactional + public void fuleRechargeFinallDeal(String orderNo) throws JsonProcessingException { + AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo(); + UserBalance userBalance1 = new UserBalance(); + CardFuelRecord cardFuelRecord = new CardFuelRecord(); + OilBalanceChange oilBalanceChange = new OilBalanceChange(); + double afterLitres = 0.0; + //订单详情 + CardFuleOrders cardFuleOrders = cardFuleOrdersService.getOneByOrderNo(orderNo); + //更新订单状态 + cardFuleOrders.setStatus("paid"); + cardFuleOrders.setPayTime(new Date()); + cardFuleOrdersService.updateById(cardFuleOrders); + //用户余额 + UserBalance userBalance = userBalanceService.selectUserBalance(cardFuleOrders.getMtUserId()); + //用户 (新用户新建 老用户叠加) + if (ObjectUtils.isNotEmpty(userBalance)){ + //积分 + if (ObjectUtils.isNotEmpty(userBalance.getPoints()) && ObjectUtils.isNotEmpty(cardFuleOrders.getPoints())){ + userBalance.setPoints(userBalance.getPoints() + cardFuleOrders.getPoints()); + } + //屯油卡余油 + if (ObjectUtils.isNotEmpty(userBalance.getRefuelMoney()) && ObjectUtils.isNotEmpty(cardFuleOrders.getIncomeLitres()) + && ObjectUtils.isNotEmpty(cardFuleOrders.getType()) && ObjectUtils.isNotEmpty(cardFuleOrders.getOilType())){ + String refuelMoney = userBalance.getRefuelMoney(); + List jsonObjectList = JSONArray.parseArray(refuelMoney, JSONObject.class); + for (JSONObject jsonObject : jsonObjectList) { + + } + //String type = json.getString("type"); + + //afterLitres = userBalance.getRefuelMoney() + cardFuleOrders.getIncomeLitres(); + //userBalance.setCardBalance(afterBalance); + } + userBalanceService.updateUserBalance(userBalance); + }else { + userBalance1.setMtUserId(cardFuleOrders.getMtUserId()); + userBalance1.setStoreId(cardFuleOrders.getStoreId()); + userBalance1.setChainStoreId(nowAccountInfo.getChainStoreId()); + //积分 + if (ObjectUtils.isNotEmpty(cardFuleOrders.getPoints())){ + userBalance1.setPoints(cardFuleOrders.getPoints()); + } + //油量 + /*if (ObjectUtils.isNotEmpty(userBalance.getRefuelMoney()) && ObjectUtils.isNotEmpty(cardValueOrders.getAmount())){ + userBalance.setCardBalance(userBalance.getCardBalance() + cardValueOrders.getAmount()); + }*/ + userBalanceService.save(userBalance1); + } + //用户余额变化记录 + oilBalanceChange.setUserId(cardFuleOrders.getMtUserId()); + oilBalanceChange.setChainStoreId(nowAccountInfo.getChainStoreId()); + oilBalanceChange.setStoreId(cardFuleOrders.getStoreId()); + oilBalanceChange.setChangeType("1"); + oilBalanceChange.setFromType("囤油卡充值"); + oilBalanceChange.setOilBalance(cardFuleOrders.getIncomeLitres()); + //变化之后的余油 + //oilBalanceChange.setAfterOilChange(cardFuleOrders.getIncomeLitres()); + oilBalanceChange.setType(cardFuleOrders.getType()); + oilBalanceChange.setOrderNo(cardFuleOrders.getOrderNo()); + oilBalanceChange.setOilType(cardFuleOrders.getOilType()); + oilBalanceChangeService.save(oilBalanceChange); + //生成充值记录 + cardFuelRecord.setMtUserId(cardFuleOrders.getMtUserId()); + cardFuelRecord.setName(cardFuleOrders.getName()); + cardFuelRecord.setMobile(cardFuleOrders.getMobile()); + cardFuelRecord.setMtStaffId(cardFuleOrders.getStaffId()); + cardFuelRecord.setRealName(cardFuleOrders.getRealName()); + cardFuelRecord.setStaffMobile(cardFuleOrders.getStaffMobile()); + cardFuelRecord.setCardFuelId(cardFuleOrders.getCardFuleId()); + cardFuelRecord.setRechargeBalance(cardFuleOrders.getPayAmount()); + cardFuelRecord.setIncomeLitres(cardFuleOrders.getIncomeLitres()); + cardFuelRecord.setPaymentType(cardFuleOrders.getPaymentType()); + cardFuelRecord.setPoints(cardFuleOrders.getPoints()); + cardFuelRecord.setPayStatus("paid"); + cardFuelRecord.setStoreId(cardFuleOrders.getStoreId()); + cardFuelRecord.setPaymentNo(cardFuleOrders.getOrderNo()); + cardFuelRecord.setChainStoreId(nowAccountInfo.getChainStoreId()); + cardFuelRecord.setType(cardFuleOrders.getType()); + cardFuelRecord.setOilType(cardFuleOrders.getOilType()); + cardFuelRecordMapper.insert(cardFuelRecord); + } + } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/controller/CardFuleOrdersController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/controller/CardFuleOrdersController.java new file mode 100644 index 000000000..e7a6d7cee --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/controller/CardFuleOrdersController.java @@ -0,0 +1,88 @@ +package com.fuint.business.marketingActivity.cardFuleOrders.controller; + + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fuint.business.marketingActivity.cardFuleOrders.entity.CardFuleOrders; +import com.fuint.business.marketingActivity.cardFuleOrders.service.CardFuleOrdersService; +import com.fuint.framework.web.BaseController; +import com.fuint.framework.web.ResponseObject; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.List; + +/** + * 囤油充值订单(CardFuleOrders)表控制层 + * + * @author makejava + * @since 2023-12-25 15:49:26 + */ +@RestController +@RequestMapping("business/marketingActivity/cardFuleOrders") +public class CardFuleOrdersController extends BaseController { + /** + * 服务对象 + */ + @Resource + private CardFuleOrdersService cardFuleOrdersService; + + /** + * 分页查询所有数据 + * + * @param page 分页对象 + * @param cardFuleOrders 查询实体 + * @return 所有数据 + */ + @GetMapping + public ResponseObject selectAll(Page page, CardFuleOrders cardFuleOrders) { + return getSuccessResult(this.cardFuleOrdersService.page(page, new QueryWrapper<>(cardFuleOrders))); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("{id}") + public ResponseObject selectOne(@PathVariable Serializable id) { + return getSuccessResult(this.cardFuleOrdersService.getById(id)); + } + + /** + * 新增数据 + * + * @param cardFuleOrders 实体对象 + * @return 新增结果 + */ + @PostMapping + public ResponseObject insert(@RequestBody CardFuleOrders cardFuleOrders) { + return getSuccessResult(this.cardFuleOrdersService.save(cardFuleOrders)); + } + + /** + * 修改数据 + * + * @param cardFuleOrders 实体对象 + * @return 修改结果 + */ + @PutMapping + public ResponseObject update(@RequestBody CardFuleOrders cardFuleOrders) { + return getSuccessResult(this.cardFuleOrdersService.updateById(cardFuleOrders)); + } + + /** + * 删除数据 + * + * @param idList 主键结合 + * @return 删除结果 + */ + @DeleteMapping + public ResponseObject delete(@RequestParam("idList") List idList) { + return getSuccessResult(this.cardFuleOrdersService.removeByIds(idList)); + } +} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/entity/CardFuleOrders.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/entity/CardFuleOrders.java new file mode 100644 index 000000000..383d6693b --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/entity/CardFuleOrders.java @@ -0,0 +1,81 @@ +package com.fuint.business.marketingActivity.cardFuleOrders.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; + +/** + * 囤油充值订单(CardFuleOrders)表实体类 + * + * @author makejava + * @since 2023-12-25 15:49:26 + */ +@SuppressWarnings("serial") +@Data +public class CardFuleOrders extends Model { + //主键id + @TableId(type = IdType.AUTO) + private Integer id; + //支付类型 + private String payType; + //订单号 + private String orderNo; + //所属店铺ID + private Integer storeId; + //订单金额 + private Double amount; + //支付金额 + private Double payAmount; + //优惠金额 + private Double discount; + //锁价单价 + private Double lockupPrice; + //所得升数 + private Double incomeLitres; + //油卡类型 0:汽油卡 1:柴油卡 2:天然气 + private String type; + //油品类型:0:0# 1:-10# 2:京0# 3:92# 4:95# 98# 3:京92# 4:京95# + private String oilType; + //用户备注 + private String remark; + //订单状态 + private String status; + //支付时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date payTime; + //会员id + private Integer mtUserId; + //会员名字 + private String name; + //会员手机号码 + private String mobile; + //员工id + private Integer staffId; + //员工姓名 + private String realName; + //员工手机号码 + private String staffMobile; + //囤油卡id + private Integer cardFuleId; + //支付方式 + private String paymentType; + //积分 + private Integer points; + //创建者 + private String createBy; + //创建时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + //更新者 + private String updateBy; + //更新时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + } + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/mapper/CardFuleOrdersMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/mapper/CardFuleOrdersMapper.java new file mode 100644 index 000000000..9d02b197d --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/mapper/CardFuleOrdersMapper.java @@ -0,0 +1,22 @@ +package com.fuint.business.marketingActivity.cardFuleOrders.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.fuint.business.marketingActivity.cardFuleOrders.entity.CardFuleOrders; +import com.fuint.business.marketingActivity.cardValueOrders.entity.CardValueOrders; + +/** + * 囤油充值订单(CardFuleOrders)表数据库访问层 + * + * @author makejava + * @since 2023-12-25 15:49:26 + */ +public interface CardFuleOrdersMapper extends BaseMapper { + /** + * 根据订单编号返回订单信息 + * @param orderNo + * @return + */ + CardFuleOrders getOneByOrderNo(String orderNo); + +} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/mapper/xml/CardValueOrdersMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/mapper/xml/CardValueOrdersMapper.xml new file mode 100644 index 000000000..03dda6d27 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/mapper/xml/CardValueOrdersMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/service/CardFuleOrdersService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/service/CardFuleOrdersService.java new file mode 100644 index 000000000..0f1089180 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/service/CardFuleOrdersService.java @@ -0,0 +1,16 @@ +package com.fuint.business.marketingActivity.cardFuleOrders.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.fuint.business.marketingActivity.cardFuleOrders.entity.CardFuleOrders; + +/** + * 囤油充值订单(CardFuleOrders)表服务接口 + * + * @author makejava + * @since 2023-12-25 15:49:26 + */ +public interface CardFuleOrdersService extends IService { + + CardFuleOrders getOneByOrderNo(String orderNo); +} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/service/impl/CardFuleOrdersServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/service/impl/CardFuleOrdersServiceImpl.java new file mode 100644 index 000000000..d3e54161c --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardFuleOrders/service/impl/CardFuleOrdersServiceImpl.java @@ -0,0 +1,32 @@ +package com.fuint.business.marketingActivity.cardFuleOrders.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fuint.business.marketingActivity.cardFuleOrders.mapper.CardFuleOrdersMapper; +import com.fuint.business.marketingActivity.cardFuleOrders.entity.CardFuleOrders; +import com.fuint.business.marketingActivity.cardFuleOrders.service.CardFuleOrdersService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 囤油充值订单(CardFuleOrders)表服务实现类 + * + * @author makejava + * @since 2023-12-25 15:49:27 + */ +@Service("cardFuleOrdersService") +public class CardFuleOrdersServiceImpl extends ServiceImpl implements CardFuleOrdersService { + + @Resource + private CardFuleOrdersMapper cardFuleOrdersMapper; + /** + * 根据订单编号查询订单信息 + * @param orderNo + * @return + */ + @Override + public CardFuleOrders getOneByOrderNo(String orderNo) { + return cardFuleOrdersMapper.getOneByOrderNo(orderNo); + } +} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java index c1b3e2093..99b6350a0 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/service/impl/CardValueRecordServiceImpl.java @@ -574,7 +574,7 @@ public class CardValueRecordServiceImpl extends ServiceImpl { int auditPrem(@Param("id")Integer id,@Param("auditPrem") String auditPrem); List> employeeSales(@Param("storeId") Integer storeId); + List> employeeSalesMongth(@Param("storeId") Integer storeId); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/member/mapper/xml/LJStaffMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/member/mapper/xml/LJStaffMapper.xml index 7b01ea332..a4e684322 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/member/mapper/xml/LJStaffMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/member/mapper/xml/LJStaffMapper.xml @@ -58,4 +58,27 @@ where ms.store_id = #{storeId} ORDER BY totalSum DESC + + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/OilBalanceChangeController.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/OilBalanceChangeController.java new file mode 100644 index 000000000..5c2a0f555 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/controller/OilBalanceChangeController.java @@ -0,0 +1,94 @@ +package com.fuint.business.order.controller; + + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.api.ApiController; +import com.baomidou.mybatisplus.extension.api.R; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fuint.business.order.entity.CardBalanceChange; +import com.fuint.business.order.entity.OilBalanceChange; +import com.fuint.business.order.service.OilBalanceChangeService; +import com.fuint.framework.web.BaseController; +import com.fuint.framework.web.ResponseObject; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.util.List; + +/** + * 余油变化表(OilBalanceChange)表控制层 + * + * @author makejava + * @since 2023-12-26 09:33:33 + */ +@RestController +@RequestMapping("business/oilBalanceChange") +public class OilBalanceChangeController extends BaseController { + /** + * 服务对象 + */ + @Resource + private OilBalanceChangeService oilBalanceChangeService; + + /** + * 分页查询所有数据 + * @param oilBalanceChange + * @param pageNo + * @param pageSize + * @return + */ + @GetMapping + public ResponseObject selectAll(OilBalanceChange oilBalanceChange, + @RequestParam(value = "page",defaultValue = "1") Integer pageNo, + @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize){ + Page page =new Page(pageNo,pageSize); + return getSuccessResult(this.oilBalanceChangeService.page(page, new QueryWrapper<>(oilBalanceChange))); + } + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("{id}") + public ResponseObject selectOne(@PathVariable Serializable id) { + return getSuccessResult(this.oilBalanceChangeService.getById(id)); + } + + /** + * 新增数据 + * + * @param oilBalanceChange 实体对象 + * @return 新增结果 + */ + @PostMapping + public ResponseObject insert(@RequestBody OilBalanceChange oilBalanceChange) { + return getSuccessResult(this.oilBalanceChangeService.save(oilBalanceChange)); + } + + /** + * 修改数据 + * + * @param oilBalanceChange 实体对象 + * @return 修改结果 + */ + @PutMapping + public ResponseObject update(@RequestBody OilBalanceChange oilBalanceChange) { + return getSuccessResult(this.oilBalanceChangeService.updateById(oilBalanceChange)); + } + + /** + * 删除数据 + * + * @param idList 主键结合 + * @return 删除结果 + */ + @DeleteMapping + public ResponseObject delete(@RequestParam("idList") List idList) { + return getSuccessResult(this.oilBalanceChangeService.removeByIds(idList)); + } +} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/entity/OilBalanceChange.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/entity/OilBalanceChange.java new file mode 100644 index 000000000..42da32db7 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/entity/OilBalanceChange.java @@ -0,0 +1,58 @@ +package com.fuint.business.order.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; + +/** + * 余油变化表(OilBalanceChange)表实体类 + * + * @author makejava + * @since 2023-12-26 09:33:33 + */ +@SuppressWarnings("serial") +@Data +public class OilBalanceChange extends Model { + //主键id + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + //用户id + private Integer userId; + //连锁店id + private Integer chainStoreId; + //油站id + private Integer storeId; + //油卡类型 0:汽油卡 1:柴油卡 2:天然气 + private String type; + //油号id + private Integer oilNumberId; + //油品类型:0:0# 1:-10# 2:京0# 3:92# 4:95# 98# 3:京92# 4:京95# + private String oilType; + //余额变化类型 0:-减少 1:增加 + private String changeType; + //消费来源 + private String fromType; + //余油变化值 + private Double oilBalance; + //变化之后的余油 + private Double afterOilChange; + //订单号 + private String orderNo; + //创建时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + //创建人 + private String createBy; + //更新时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + //更新人 + private String updateBy; + } + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilBalanceChangeMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilBalanceChangeMapper.java new file mode 100644 index 000000000..f80caddf5 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilBalanceChangeMapper.java @@ -0,0 +1,15 @@ +package com.fuint.business.order.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.fuint.business.order.entity.OilBalanceChange; + +/** + * 余油变化表(OilBalanceChange)表数据库访问层 + * + * @author makejava + * @since 2023-12-26 09:33:33 + */ +public interface OilBalanceChangeMapper extends BaseMapper { + +} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java index dc84ab1c3..4d06ba36e 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OilOrderMapper.java @@ -3,6 +3,8 @@ package com.fuint.business.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fuint.business.largeSscreen.vo.OilOrderVO; +import com.fuint.business.marketingActivity.activeDiscount.vo.ActiveDiscountPayVO; import com.fuint.business.order.entity.OilOrder; import com.fuint.business.order.vo.Excel.OilOrderExcel; import com.fuint.business.order.vo.OilOrderVo; @@ -50,6 +52,42 @@ public interface OilOrderMapper extends BaseMapper { List> oilSales(@Param("storeId") Integer storeId); + Map oilSalesYeath(@Param("storeId") Integer storeId); + List> oilSalesMongth(@Param("storeId") Integer storeId); + Map oilSalesMongths(@Param("storeId") Integer storeId); + Map oilSalesWeek(@Param("storeId") Integer storeId); + Map oilSalesDay(@Param("storeId") Integer storeId); + Map oilSalesAll(@Param("storeId") Integer storeId); + // List> salesByOilProductByWeek(@Param("list") List oilName,@Param("storeId") Integer storeId); List> salesByOilProduct(@Param("list") List oilName,@Param("storeId") Integer storeId,@Param("type") String type); + + /** + * 查询油品销售排名本月 + * @return + */ + List selectOilSalesRank(Integer storeId); + + /** + * 查询油品销售排名昨日 + * @param i + * @return + */ + List selectOilSalesRankYestoday(int i); + + /** + * 折扣 + * @param storeId + * @param amount + * @return + */ + List selectActiveDiscount(@Param("storeId") Integer storeId, @Param("amount")double amount); + + /** + * 满减 + * @param storeId + * @param amount + * @return + */ + List selectActiveFule(@Param("storeId") Integer storeId, @Param("amount")double amount); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OrderGoodsMapper.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OrderGoodsMapper.java index b412a93e7..ece7c09e6 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OrderGoodsMapper.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/OrderGoodsMapper.java @@ -1,6 +1,7 @@ package com.fuint.business.order.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.fuint.business.largeSscreen.vo.OrderGoodsVO; import com.fuint.business.order.entity.OrderGoods; import com.fuint.business.order.vo.OrderGoodsVo; import org.apache.ibatis.annotations.Param; @@ -13,4 +14,18 @@ public interface OrderGoodsMapper extends BaseMapper { * @return */ public List selectOrderGoods(@Param("orderId") int orderId); + + /** + * 查询商品今天销售量 + * @param storeId + * @return + */ + List selectGoodsSalesRank(Integer storeId); + + /** + * 查询商品昨天销售量 + * @param i + * @return + */ + List selectGoodsSalesRankYestoday(int i); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml index 5b7203076..3961d6403 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OilOrderMapper.xml @@ -214,6 +214,58 @@ ORDER BY date_range.date + + + + + + + @@ -260,4 +312,56 @@ year_week - \ No newline at end of file + + + + + + + + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OrderGoodsMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OrderGoodsMapper.xml index ac03e2b31..423378247 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OrderGoodsMapper.xml +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/mapper/xml/OrderGoodsMapper.xml @@ -12,4 +12,28 @@ mog.order_id = #{orderId} - \ No newline at end of file + + + + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/OilBalanceChangeService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/OilBalanceChangeService.java new file mode 100644 index 000000000..4be99db58 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/OilBalanceChangeService.java @@ -0,0 +1,15 @@ +package com.fuint.business.order.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.fuint.business.order.entity.OilBalanceChange; + +/** + * 余油变化表(OilBalanceChange)表服务接口 + * + * @author makejava + * @since 2023-12-26 09:33:33 + */ +public interface OilBalanceChangeService extends IService { + +} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilBalanceChangeServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilBalanceChangeServiceImpl.java new file mode 100644 index 000000000..b5751c315 --- /dev/null +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilBalanceChangeServiceImpl.java @@ -0,0 +1,19 @@ +package com.fuint.business.order.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fuint.business.order.mapper.OilBalanceChangeMapper; +import com.fuint.business.order.entity.OilBalanceChange; +import com.fuint.business.order.service.OilBalanceChangeService; +import org.springframework.stereotype.Service; + +/** + * 余油变化表(OilBalanceChange)表服务实现类 + * + * @author makejava + * @since 2023-12-26 09:33:33 + */ +@Service("oilBalanceChangeService") +public class OilBalanceChangeServiceImpl extends ServiceImpl implements OilBalanceChangeService { + +} + diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/entity/UserBalance.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/entity/UserBalance.java index 37a525748..ee4fc8e95 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/entity/UserBalance.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/entity/UserBalance.java @@ -51,7 +51,7 @@ public class UserBalance extends BaseEntity implements Serializable { */ private Integer growthValue; /** - * 加油金 + * 剩余油量 */ private String refuelMoney; diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/common/shiroConfig/ShiroConfig.java b/fuintBackend/fuint-application/src/main/java/com/fuint/common/shiroConfig/ShiroConfig.java index bf0250f66..885765461 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/common/shiroConfig/ShiroConfig.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/common/shiroConfig/ShiroConfig.java @@ -35,6 +35,11 @@ public class ShiroConfig { filterMap.put("/clientApi/captcha/getCode","anon"); filterMap.put("/clientApi/sign/**","anon"); filterMap.put("/backendApi/login/loginByPhone","anon"); + /*filterMap.put("/business/largeSscreen","anon"); + filterMap.put("/business/largeSscreen/goods","anon"); + filterMap.put("/business/largeSscreen/staff","anon"); + filterMap.put("/business/largeSscreen/sales","anon"); + filterMap.put("/business/largeSscreen/salesAll","anon");*/ filterMap.put("/static/**","anon"); //会员模板导出 filterMap.put("/excel/export","anon"); diff --git a/fuintBackend/fuint-application/src/main/resources/application.properties b/fuintBackend/fuint-application/src/main/resources/application.properties index d9ef9d458..2a090a4ad 100644 --- a/fuintBackend/fuint-application/src/main/resources/application.properties +++ b/fuintBackend/fuint-application/src/main/resources/application.properties @@ -1,8 +1,7 @@ # \u57FA\u672C\u914D\u7F6E -server.port=8080 +server.port=8081 env.profile=dev -env.properties.path=D:/workspaces/oilSystem/fuintBackend/configure/ - +env.properties.path=D:/office/proj/oilSystem/fuintBackend/configure/ # \u6570\u636E\u5E93\u914D\u7F6E spring.datasource.type=com.zaxxer.hikari.HikariDataSource @@ -21,7 +20,7 @@ spring.servlet.multipart.max-request-size=10MB # mybatis\u914D\u7F6E mybatis-plus.mapper-locations = classpath*:/mapper/*Mapper.xml,classpath*:com/fuint/**/xml/*Mapper.xml -# \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0536\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD +# �����Զ��������� mybatis-plus.configuration.intercepts=com.example.MyInterceptor # \u9ED8\u8BA4\u65F6\u95F4\u683C\u5F0F spring.jackson.date-format=yyyy-MM-dd HH:mm:ss @@ -70,4 +69,4 @@ rocketmq.consumer.tags=anran-sync-tags,anran-async-tags #rocketmq.consumer.consumeThreadMin=20 #rocketmq.consumer.consumeThreadMax=64 ##???????????????1? -#rocketmq.consumer.consumeMessageBatchMaxSize=1 \ No newline at end of file +#rocketmq.consumer.consumeMessageBatchMaxSize=1