diff --git a/.idea/misc.xml b/.idea/misc.xml index afa2be5..ebff32d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -9,7 +9,7 @@ - + \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java index d13f58b..ccc66b0 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java @@ -268,11 +268,13 @@ public class JeecgBootExceptionHandler { //获取登录用户信息 - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if(sysUser!=null){ - log.setUserid(sysUser.getUsername()); - log.setUsername(sysUser.getRealname()); + if (SecurityUtils.getSubject().getPrincipal() != null && SecurityUtils.getSubject().getPrincipal() instanceof LoginUser){ + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(sysUser!=null){ + log.setUserid(sysUser.getUsername()); + log.setUsername(sysUser.getRealname()); + } } baseCommonService.addLog(log); diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/bo/CreateOrderBo.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/bo/CreateOrderBo.java index c925e3a..b641bea 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/bo/CreateOrderBo.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/bo/CreateOrderBo.java @@ -9,7 +9,7 @@ import java.util.List; public class CreateOrderBo { @Schema(description = "商品列表") - private List list; + private String list; @Schema(description = "地址id") private String addressId; diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiCarController.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiCarController.java index 245a0bc..22025e7 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiCarController.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiCarController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -38,21 +39,18 @@ public class AppletApiCarController { /** * 分页列表查询 * - * @param appletCar * @param pageNo * @param pageSize - * @param req * @return */ //@AutoLog(value = "购物车-分页列表查询") @Operation(summary = "购物车-列表查询") @GetMapping(value = "/list") - public Result> queryPageList(AppletCar appletCar, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + public Result> queryPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { + @Parameter(description = "搜索关键字") String title) { Page page = new Page(pageNo, pageSize); - IPage pageList = appletApiCarService.page(page, appletCar); + IPage pageList = appletApiCarService.page(page, title); return Result.OK(pageList); } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiOrderController.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiOrderController.java index f1049b5..fe43a44 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiOrderController.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiOrderController.java @@ -3,6 +3,7 @@ package org.jeecg.modules.applet.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; @@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Arrays; +import java.util.List; ; @@ -60,6 +62,7 @@ public class AppletApiOrderController { //支付成功回调 @PostMapping("/payNotify") + @IgnoreAuth public Object payNotify(@RequestBody String requestBody){ return appletApiOrderService.payNotify(requestBody); } @@ -85,7 +88,7 @@ public class AppletApiOrderController { */ @Operation(summary = "创建订单") @PostMapping(value = "/create") - public Result create(CreateOrderBo bo) { + public Result create(CreateOrderBo bo) { return Result.OK(appletApiOrderService.create(bo)); } @@ -97,7 +100,7 @@ public class AppletApiOrderController { */ @Operation(summary = "再次支付") @PostMapping(value = "/pay") - public Result pay(String id) { + public Result pay(String id) { Object payResult = appletApiOrderService.pay(id); return Result.OK(payResult); } @@ -110,7 +113,7 @@ public class AppletApiOrderController { */ @Operation(summary = "申请售后") @PostMapping(value = "/afterSale") - public Result afterSale(AppletOrderAfterSale afterSale) { + public Result afterSale(AppletOrderAfterSale afterSale) { appletApiOrderService.afterSale(afterSale); return Result.OK(); } @@ -123,10 +126,44 @@ public class AppletApiOrderController { */ @Operation(summary = "订单评价") @PostMapping(value = "/evaluate") - public Result evaluate(AppletOrderEvaluate evaluate) { + public Result evaluate(AppletOrderEvaluate evaluate) { appletApiOrderService.evaluate(evaluate); return Result.OK(); } + /** + * 我的评价列表 + * + * @param type 我的评价 + * @return + */ + @Operation(summary = "我的评价") + @PostMapping(value = "/myEvaluate") + public Result> myEvaluate(@Parameter(description = "不传为全部,0是有图,1是最新") String type) { + return Result.OK(appletApiOrderService.myEvaluate(type)); + } + /** + * 商品评价 + * + * @param productId 商品评价 + * @return + */ + @Operation(summary = "商品评价") + @PostMapping(value = "/productEvaluate") + public Result> productEvaluate(String productId) { + return Result.OK(appletApiOrderService.productEvaluate(productId)); + } + /** + * 删除评价 + * + * @param id 删除评价 + * @return + */ + @Operation(summary = "删除评价") + @PostMapping(value = "/deleteEvaluate") + public Result deleteEvaluate(String id) { + appletApiOrderService.deleteEvaluate(id); + return Result.OK(); + } /** * 确认收货 @@ -136,8 +173,19 @@ public class AppletApiOrderController { */ @Operation(summary = "确认收货") @PostMapping(value = "/confirm") - public Result confirm(String id) { + public Result confirm(String id) { appletApiOrderService.confirm(id); return Result.OK(); } + + /** + * 订单状态统计 + * + * @return + */ + @Operation(summary = "订单状态统计") + @PostMapping(value = "/statistics") + public Result statistics() { + return Result.OK(appletApiOrderService.statistics()); + } } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCarService.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCarService.java index 0163b0f..16d0ed5 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCarService.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCarService.java @@ -12,10 +12,10 @@ public interface AppletApiCarService { * 查询购物车列表 * * @param page - * @param appletCar + * @param title * @return */ - IPage page(Page page, AppletCar appletCar); + IPage page(Page page, String title); /** * 添加购物车 diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiOrderService.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiOrderService.java index ed8ce56..93a7ac2 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiOrderService.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiOrderService.java @@ -41,4 +41,11 @@ public interface AppletApiOrderService { void confirm(String id); + Object statistics(); + + void deleteEvaluate(String id); + + List productEvaluate(String productId); + + List myEvaluate(String type); } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCarServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCarServiceImpl.java index 55415fc..d13715c 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCarServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCarServiceImpl.java @@ -3,15 +3,19 @@ package org.jeecg.modules.applet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.util.AppletUserUtil; import org.jeecg.modules.applet.service.AppletApiCarService; import org.jeecg.modules.demo.appletCar.entity.AppletCar; import org.jeecg.modules.demo.appletCar.service.IAppletCarService; +import org.jeecg.modules.demo.appletProduct.entity.AppletProduct; import org.jeecg.modules.demo.appletProduct.service.IAppletProductService; +import org.jeecg.modules.demo.appletProductSpec.service.IAppletProductSpecService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -24,23 +28,39 @@ public class AppletApiCarServiceImpl implements AppletApiCarService { @Autowired private IAppletProductService appletProductService; + @Autowired + private IAppletProductSpecService appletProductSpecService; + /** * 购物车列表查询 * * @param page - * @param appletCar + * @param title * @return */ @Override - public IPage page(Page page, AppletCar appletCar) { + public IPage page(Page page, String title) { String userId = AppletUserUtil.getCurrentAppletUserId(); + + List ids = new ArrayList<>(); + + if (StringUtils.isNotBlank(title)){ + ids = appletProductService.lambdaQuery() + .like(AppletProduct::getName, title) + .select(AppletProduct::getId) + .list().stream().map(n -> n.getId()) + .collect(Collectors.toList()); + } + Page page1 = appletCarService .lambdaQuery() .eq(AppletCar::getUserId, userId) + .in(ids.size() > 0, AppletCar::getProductId, ids) .page(page); for (AppletCar record : page1.getRecords()) { record.setProduct(appletProductService.getById(record.getProductId())); + record.setSku(appletProductSpecService.getById(record.getSkuId())); } return page1; diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiOrderServiceImpl.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiOrderServiceImpl.java index 812beb9..0d3bce3 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiOrderServiceImpl.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiOrderServiceImpl.java @@ -2,6 +2,7 @@ package org.jeecg.modules.applet.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; import dev.langchain4j.service.AiServices; @@ -40,9 +41,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.time.LocalTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; @@ -99,6 +98,7 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { .lambdaQuery() .eq(AppletOrder::getUserId, userId) .eq(StringUtils.isNotEmpty(status), AppletOrder::getOrderStatus, status) + .orderByDesc(AppletOrder::getCreateTime) .page(page); for (AppletOrder record : page1.getRecords()) { @@ -107,7 +107,10 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { .eq(AppletOrderProduct::getOrderId, record.getId()) .list()); - record.setAfterSales(appletOrderAfterSaleService.getById(record.getId())); + record.setAfterSales(appletOrderAfterSaleService + .lambdaQuery() + .eq(AppletOrderAfterSale::getOrderId, record.getId()) + .one()); } log.info("订单列表查询完成,返回 {} 条记录", page1.getRecords().size()); @@ -141,7 +144,10 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { .orderByDesc(AppletOrderAfterSaleProcess::getCreateTime) .list()); - order.setAfterSales(appletOrderAfterSaleService.getById(order.getId())); + order.setAfterSales(appletOrderAfterSaleService + .lambdaQuery() + .eq(AppletOrderAfterSale::getOrderId, order.getId()) + .one()); log.info("订单详情查询完成,订单号: {}", order.getOrderNo()); return order; @@ -150,15 +156,21 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { @Override public Object create(CreateOrderBo bo) { String userId = AppletUserUtil.getCurrentAppletUserId(); - log.info("开始创建订单,用户ID: {}, 商品数量: {}", userId, bo != null && bo.getList() != null ? bo.getList().size() : 0); - if (bo == null || bo.getList() == null || bo.getList().isEmpty()) { + if (bo == null || StringUtils.isBlank(bo.getList())) { + log.error("创建订单失败,订单商品不能为空,用户ID: {}", userId); + throw new JeecgBootException("订单商品不能为空"); + } + + List list = JSON.parseArray(bo.getList(), CreateOrderItemBo.class); + + log.info("开始创建订单,用户ID: {}, 商品数量: {}", userId, list.size()); + + if (list.isEmpty()) { log.error("创建订单失败,订单商品不能为空,用户ID: {}", userId); throw new JeecgBootException("订单商品不能为空"); } - List list = bo.getList(); - // 获取地址信息 AppletShippingAddress address = null; if (StringUtils.isNotEmpty(bo.getAddressId())) { @@ -197,10 +209,9 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { } // 获取规格信息(如果有规格ID) - AppletProductSpec spec = null; - if (StringUtils.isNotEmpty(item.getSpecId())) { - // 这里需要注入规格服务,暂时先设置为null - spec = appletProductSpecService.getById(item.getSpecId()); + AppletProductSpec spec = appletProductSpecService.getById(item.getSpecId()); + if (spec == null) { + throw new JeecgBootException("规格不存在:" + item.getProductId()); } if (StringUtils.isEmpty(order.getTitle())){ @@ -212,16 +223,16 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { orderProduct.setUserId(userId); orderProduct.setProductId(product.getId()); orderProduct.setProductName(product.getName()); - orderProduct.setPrice(product.getCurrentPrice()); + orderProduct.setImage(product.getImage()); + orderProduct.setPrice(spec.getPrice() == null ? product.getCurrentPrice() : spec.getPrice()); orderProduct.setQuantity(item.getNum()); orderProduct.setType(product.getType()); orderProduct.setUnit(product.getUnit()); orderProduct.setStatus("0"); orderProduct.setSubscribeType(product.getSubscribeType()); - if (spec != null) { - orderProduct.setSpecId(spec.getId()); - } + orderProduct.setSpecId(spec.getId()); + orderProduct.setSpecName(spec.getSpecName()); orderProductList.add(orderProduct); @@ -338,7 +349,7 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { if (order.getOrderStatus() == 0) { // 更新订单状态为已支付 order.setOrderStatus(1); // 1表示已支付待发货 - order.setPaymentTime(LocalTime.now()); + order.setPaymentTime(new Date()); appletOrderService.updateById(order); handleSpecialProducts(order.getId(), order); @@ -385,9 +396,10 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { detection.setProductId(orderProduct.getProductId()); detection.setPrice(orderProduct.getPrice()); detection.setSkuId(orderProduct.getSpecId()); - detection.setSubscribeType(orderProduct.getSpecId()); detection.setUserId(orderProduct.getUserId()); + detection.setType(orderProduct.getSubscribeType()); detection.setSubscribeType(orderProduct.getSubscribeType()); + detection.setOrderProductId(orderProduct.getId()); //地址 detection.setSendAddress(order.getDeliveryAddress()); @@ -472,7 +484,10 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { .list(); evaluate.setUserId(userId); - evaluate.setProductId(list.stream().map(n -> n.getProductId()).collect(Collectors.joining(","))); + + String p = list.stream().map(n -> n.getProductId()).collect(Collectors.joining(",")); + + evaluate.setProductId(p); order.setOrderStatus(4); appletOrderService.updateById(order); @@ -485,7 +500,7 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { @Override public void confirm(String id) { log.info("开始确认收货,订单ID: {}", id); - + if (StringUtils.isEmpty(id)){ log.error("确认收货失败,订单ID不能为空"); throw new JeecgBootException("订单ID不能为空"); @@ -502,4 +517,62 @@ public class AppletApiOrderServiceImpl implements AppletApiOrderService { log.info("确认收货成功,订单状态更新为已完成,订单ID: {}", id); } + @Override + public Object statistics() { + String userId = AppletUserUtil.getCurrentAppletUserId(); + log.info("开始统计订单状态,用户ID: {}", userId); + + // 查询当前用户的所有订单,按状态分组统计 + List orders = appletOrderService.lambdaQuery() + .eq(AppletOrder::getUserId, userId) + .select(AppletOrder::getOrderStatus) + .list(); + + long count = appletOrderAfterSaleService.lambdaQuery() + .eq(AppletOrderAfterSale::getUserId, userId).count(); + + // 使用Stream API进行分组统计 + Map statusCountMap = orders.stream() + .collect(java.util.stream.Collectors.groupingBy( + AppletOrder::getOrderStatus, + java.util.stream.Collectors.counting() + )); + + // 转换为Map格式,确保所有状态都有值 + Map result = new java.util.HashMap<>(); + result.put("0", statusCountMap.getOrDefault(0, 0L).intValue()); // 待支付 + result.put("1", statusCountMap.getOrDefault(1, 0L).intValue()); // 待发货 + result.put("2", statusCountMap.getOrDefault(2, 0L).intValue()); // 待收货 + result.put("3", statusCountMap.getOrDefault(3, 0L).intValue()); // 待评价 + result.put("4", statusCountMap.getOrDefault(4, 0L).intValue()); // 已完成 + result.put("afterSales", (int) count); // 售后 + + log.info("订单状态统计完成,用户ID: {}, 统计结果: {}", userId, result); + return result; + } + + @Override + public void deleteEvaluate(String id) { + appletOrderEvaluateService.removeBatchByIds(Arrays.asList(id.split(","))); + } + + @Override + public List productEvaluate(String productId) { + return appletOrderEvaluateService.lambdaQuery() + .like(AppletOrderEvaluate::getProductId, productId) + .orderByDesc(AppletOrderEvaluate::getCreateTime) + .list(); + } + + @Override + public List myEvaluate(String type) { + String userId = AppletUserUtil.getCurrentAppletUserId(); + + return appletOrderEvaluateService.lambdaQuery() + .eq(AppletOrderEvaluate::getUserId, userId) + .isNotNull("0".equals(type), AppletOrderEvaluate::getImage) + .orderByDesc(AppletOrderEvaluate::getCreateTime) + .list(); + } + } \ No newline at end of file diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrder.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrder.java index 4eef6b4..ccf77ac 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrder.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrder.java @@ -57,7 +57,7 @@ public class AppletOrder implements Serializable { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @Schema(description = "支付时间") - private LocalTime paymentTime; + private Date paymentTime; /**订单编号*/ @Excel(name = "订单编号", width = 15) @@ -122,10 +122,12 @@ public class AppletOrder implements Serializable { @ExcelCollection(name="售后信息") @Schema(description = "售后信息") + @TableField(exist = false) private AppletOrderAfterSale afterSales; @ExcelCollection(name="售后流程") @Schema(description = "售后流程") + @TableField(exist = false) private List process; } diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrderProduct.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrderProduct.java index bee2dad..d19b38f 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrderProduct.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrderProduct.java @@ -53,6 +53,10 @@ public class AppletOrderProduct implements Serializable { @Excel(name = "产品名称", width = 15) @Schema(description = "产品名称") private java.lang.String productName; + /**规格名称*/ + @Excel(name = "规格名称", width = 15) + @Schema(description = "规格名称") + private java.lang.String specName; /**产品图片*/ @Excel(name = "产品图片", width = 15) @Schema(description = "产品图片") diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrderEvaluate/entity/AppletOrderEvaluate.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrderEvaluate/entity/AppletOrderEvaluate.java index 9162e23..8839f04 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrderEvaluate/entity/AppletOrderEvaluate.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrderEvaluate/entity/AppletOrderEvaluate.java @@ -71,15 +71,15 @@ public class AppletOrderEvaluate implements Serializable { /**产品服务度*/ @Excel(name = "产品服务度", width = 15) @Schema(description = "产品服务度") - private java.lang.Integer productNum; + private java.lang.Double productNum; /**问卷体验*/ @Excel(name = "问卷体验", width = 15) @Schema(description = "问卷体验") - private java.lang.Integer paperNum; + private java.lang.Double paperNum; /**物流速度*/ @Excel(name = "物流速度", width = 15) @Schema(description = "物流速度") - private java.lang.Integer logisticsNum; + private java.lang.Double logisticsNum; /**订单*/ @Excel(name = "订单", width = 15) @Schema(description = "订单") diff --git a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletSubscribeDetection/entity/AppletSubscribeDetection.java b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletSubscribeDetection/entity/AppletSubscribeDetection.java index 3eb0334..f07f087 100644 --- a/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletSubscribeDetection/entity/AppletSubscribeDetection.java +++ b/jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletSubscribeDetection/entity/AppletSubscribeDetection.java @@ -133,4 +133,10 @@ public class AppletSubscribeDetection implements Serializable { @Dict(dictTable = "applet_order", dicText = "order_no", dicCode = "id") @Schema(description = "订单") private java.lang.String orderId; + + /**订单*/ + @Excel(name = "订单明细", width = 15, dictTable = "applet_order", dicText = "order_no", dicCode = "id") + @Dict(dictTable = "applet_order_product", dicText = "product_name", dicCode = "id") + @Schema(description = "订单明细") + private java.lang.String orderProductId; } diff --git a/jeecg-boot/jeecg-boot-module/module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java b/jeecg-boot/jeecg-boot-module/module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java index 79b2319..3b4dce9 100644 --- a/jeecg-boot/jeecg-boot-module/module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java +++ b/jeecg-boot/jeecg-boot-module/module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java @@ -14,7 +14,7 @@ import java.io.File; @SuppressWarnings("all") public class MpWxPayService { - public boolean dev = false; + public boolean dev = true; public WxPay wxPay; public WxPayService wxPayService; diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/pay_weixin.properties b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/pay_weixin.properties index f28e13c..a3777c0 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/pay_weixin.properties +++ b/jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/pay_weixin.properties @@ -2,7 +2,7 @@ pay.mchId=1711030469 pay.appId=wx8ff2ab9559aa6387 pay.mchKey=0fdb77429ffdf206c151af76a663041c pay.keyPath=classpath:apiclient_cert.pem -pay.notifyUrl=https://prod-api.budingxiaoshuo.com/health-admin/order/payNotify -pay.notifyUrlDev=https://prod-api.budingxiaoshuo.com/health-admin/order/payNotify -pay.notifyOneUrl=https://prod-api.budingxiaoshuo.com/health-admin/order/payNotify -pay.notifyUrlOneDev=https://prod-api.budingxiaoshuo.com/health-admin/order/payNotify +pay.notifyUrl=https://www.petualmedical.com/health-admin/appletApi/order/payNotify +pay.notifyUrlDev=http://h5.xzaiyp.top/health-admin/appletApi/order/payNotify +pay.notifyOneUrl=https://www.petualmedical.com/health-admin/appletApi/order/payNotify +pay.notifyUrlOneDev=http://h5.xzaiyp.top/health-admin/appletApi/order/payNotify