From c436afe89419da51a5ce593ecd69d3a2f65c5faa Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 27 九月 2024 10:35:24 +0800 Subject: [PATCH] 对接邮箱 受理开票后发送 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java | 7 ++ ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java | 2 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml | 1 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 1 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java | 120 ++++++++++++++++++++++++++++++++++++++++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java | 2 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml | 2 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java | 19 ++++++ ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java | 3 + ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml | 3 + ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/GoodsDTO.java | 2 11 files changed, 160 insertions(+), 2 deletions(-) diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java index 44c70a3..b1e370b 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TShoppingOrder.java @@ -105,7 +105,7 @@ @TableField("remark") private String remark; - @ApiModelProperty(value = "状态(1=待发货,2=待收货,3=已完成,4=已取消)") + @ApiModelProperty(value = "状态(1=待发货,2=待收货,3=已完成,4=已取消 5=交易关闭)") @TableField("status") private Integer status; diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java index 541c529..beebeea 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TVipOrder.java @@ -101,5 +101,8 @@ @ApiModelProperty(value = "userUid") @TableField(exist = false) private String userUid; + @ApiModelProperty(value = "购买用户") + @TableField(exist = false) + private String userPhone; } diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/GoodsDTO.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/GoodsDTO.java index ea83f00..5f79b6b 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/GoodsDTO.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/GoodsDTO.java @@ -14,6 +14,6 @@ private String name; @ApiModelProperty(value = "1现金购买 2积分兑换 ") private Integer type; - @ApiModelProperty(value = "1全部 2已售罄 ") + @ApiModelProperty(value = "1全部 2已售罄 3已下架") private Integer otherState; } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java index 909cf73..16b02cc 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TVipOrderController.java @@ -70,6 +70,8 @@ @PostMapping("/addVipOrder") @ApiOperation(value = "添加会员订单", tags = {"管理后台-会员订单"}) public R<Long> addVipOrder(@RequestBody TVipOrder dto) { + List<TVipOrder> list = vipOrderService.lambdaQuery().eq(TVipOrder::getCode, dto.getCode()).list(); + if (!list.isEmpty())return R.fail("订单编号已存在"); vipOrderService.saveOrUpdate(dto); return R.ok(dto.getId()); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index 75e28c4..6141449 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java @@ -525,6 +525,7 @@ if (data1!=null){ tShoppingOrder.setName(data1.getName()); } + tShoppingOrder.setStatus(3); break; } if (tShoppingOrder.getAppUserId() != null){ diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java index 2e2f137..0ed6754 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVipOrderServiceImpl.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.dto.GiveVipDto; +import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.model.TVipOrder; @@ -33,6 +35,8 @@ @Resource private VipClient vipClient; + @Resource + private AppUserClient appUserClient; @Override public PageInfo<TVipOrder> pageList(VipShoppingOrderQuery query) { String startTime1 = null; @@ -50,9 +54,12 @@ tVipOrder.setUid(tVipOrder.getId().toString()); tVipOrder.setUserUid(tVipOrder.getAppUserId().toString()); TVip data = vipClient.getInfo(tVipOrder.getVipId()).getData(); + if (data!=null){ tVipOrder.setName(data.getName()); } + TAppUser data1 = appUserClient.getUserById(tVipOrder.getAppUserId()).getData(); + if (data1!=null)tVipOrder.setUserPhone(data1.getPhone()); } pageInfo.setRecords(list); return pageInfo; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java new file mode 100644 index 0000000..a79ee1a --- /dev/null +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/task/TaskUtil.java @@ -0,0 +1,120 @@ +package com.ruoyi.order.util.task; + +import com.alibaba.fastjson2.util.UUIDUtils; +import com.alibaba.nacos.common.utils.UuidUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.chargingPile.api.feignClient.SiteClient; +import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.order.api.model.TChargingBill; +import com.ruoyi.order.service.TChargingBillService; +import org.apache.logging.log4j.core.util.UuidUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Random; +import java.util.stream.Collectors; + +/** + * @author zhibing.pu + * @date 2023/7/11 8:39 + */ +@Component +public class TaskUtil { + + @Resource + private TChargingBillService chargingBillService; + @Resource + private SiteClient siteClient; + + public static void main(String[] args) { + LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1). + withDayOfMonth(2); + String string = firstDayOfLastMonth.toString(); + // 将-替换为空字符串 + string = string.replace("-", ""); + System.err.println(string); + } + // 每月2号凌晨12点执行的定时任务 + @Scheduled(cron = "0 0 0 2 * ?") + public void taskMonth() { + try { + // 获取上个月的开始和结束日期 + LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1). + withDayOfMonth(2); + String string = firstDayOfLastMonth.toString(); + // 将-替换为空字符串 + string = string.replace("-", ""); + // 生成一次全站订单 + TChargingBill tChargingBill = new TChargingBill(); + // 订单生成规则JSD+20231201(账单所属月份)+1131304205(随机10位数)+001(当月账单序号,每月重置) + Random random = new Random(); + String randomDigits = random.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 + .mapToObj(String::valueOf) + .collect(Collectors.joining()); // 将其连接成一个字符串 + tChargingBill.setCode("JSD"+string+randomDigits+"001" ); + tChargingBill.setType(1); + tChargingBill.setBillTime(LocalDateTime.now()); + tChargingBill.setStatus(1); + tChargingBill.setOrderState(2); + chargingBillService.save(tChargingBill); + // 每月二号给每个站点生成上月账单 + List<Integer> collect = siteClient.getSiteAll().getData().stream().map(Site::getId).collect(Collectors.toList()); + List<TChargingBill> tChargingBills = new ArrayList<>(); + for (int i = 1; i <= collect.size(); i++) { + TChargingBill tChargingBill1 = new TChargingBill(); + Random random1 = new Random(); + String randomDigits1 = random1.ints(10, 0, 10) // 生成10个随机数字,范围在0-9 + .mapToObj(String::valueOf) + .collect(Collectors.joining()); // 将其连接成一个字符串 + tChargingBill1.setCode("JSD"+string+randomDigits1+i ); + tChargingBill1.setType(2); + tChargingBill1.setSiteId(collect.get(i)); + tChargingBill1.setBillTime(LocalDateTime.now()); + tChargingBill1.setStatus(1); + tChargingBill1.setOrderState(2); + tChargingBills.add(tChargingBill1); + } + if (!tChargingBills.isEmpty())chargingBillService.saveBatch(tChargingBills); + + } catch (Exception e) { + e.printStackTrace(); + } + } + // 每个月最后一天23点执行的定时任务 + @Scheduled(cron = "0 0 23 L * ?") + public void taskLastDay() { + try { + // 获取上个月的开始和结束日期 + LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1). + withDayOfMonth(1); + LocalDate lastDayOfLastMonth = LocalDate.now().minusMonths(1). + withDayOfMonth(firstDayOfLastMonth.lengthOfMonth()); + // 将 LocalDate 转换为 LocalDateTime,并设定时间为一天的开始 + LocalDateTime startDateTime = firstDayOfLastMonth.atStartOfDay(); + LocalDateTime endDateTime = lastDayOfLastMonth.atTime(23, 59, 59); // 设定到最后一秒 + // 构建查询条件 + LambdaQueryWrapper<TChargingBill> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.ge(TChargingBill::getBillTime, + Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant())) + .le(TChargingBill::getBillTime, + Date.from(endDateTime.atZone(ZoneId.systemDefault()).toInstant())); // 使用 le 包括最后一天的记录 + List<TChargingBill> list = chargingBillService.list(queryWrapper); + for (TChargingBill tChargingBill : list) { + tChargingBill.setStatus(2); + } + chargingBillService.updateBatchById(list); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml index d19a9f2..1ef90a5 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml @@ -255,6 +255,7 @@ </if> and t1.payment_status = 2 AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + order by t1.create_time desc </select> <select id="sixBefore" resultType="com.ruoyi.order.dto.SixShopDto"> SELECT diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml index 70127f8..ca0b516 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TVipOrderMapper.xml @@ -44,7 +44,9 @@ <if test="startTime1 != null and startTime1!=''"> and (t1.create_time between #{startTime1} and #{startTime2} </if> + and t1.payment_status = 2 AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} + order by t1.create_time desc </select> <select id="sixBefore" resultType="com.ruoyi.order.dto.SixVipDto"> SELECT diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java index 07d4925..9a00b7d 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TCouponController.java @@ -35,6 +35,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -180,6 +181,24 @@ public AjaxResult<PageInfo<TCoupon>> pageList(@RequestBody CouponQuery dto) { return AjaxResult.ok(tCouponService.pageList(dto)); } + @ApiOperation(tags = {"管理后台-优惠券管理"},value = "优惠券列表分页查询") + @PostMapping(value = "/pageList3") + public AjaxResult<List<TCoupon>> pageList() { + List<TCoupon> tCoupons = new ArrayList<>(); + + List<TCoupon> list = tCouponService.lambdaQuery().eq(TCoupon::getStatus, 1) + .orderByDesc(TCoupon::getCreateTime).list(); + for (TCoupon tCoupon : list) { + if (tCoupon.getValidityPeriodMode()==1){ + if (LocalDateTime.now().isBefore(tCoupon.getEndTime())){ + tCoupons.add(tCoupon); + } + }else{ + tCoupons.add(tCoupon); + } + } + return AjaxResult.ok(tCoupons); + } /** * 小程序远程调用 获取优惠券信息 diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml index fb2632b..8cb9cb5 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml @@ -45,6 +45,9 @@ <if test="req.otherState != null and req.otherState == 2"> AND inventory = 0 </if> + <if test="req.otherState != null and req.otherState ==3"> + AND status = #{req.status} + </if> AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()} </where> ORDER BY create_time DESC -- Gitblit v1.7.1