前端-胡立永 2 weeks ago
parent
commit
d81c26b732
15 changed files with 211 additions and 51 deletions
  1. +1
    -1
      .idea/misc.xml
  2. +6
    -4
      jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java
  3. +1
    -1
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/bo/CreateOrderBo.java
  4. +4
    -6
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiCarController.java
  5. +53
    -5
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiOrderController.java
  6. +2
    -2
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCarService.java
  7. +7
    -0
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiOrderService.java
  8. +22
    -2
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCarServiceImpl.java
  9. +94
    -21
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiOrderServiceImpl.java
  10. +3
    -1
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrder.java
  11. +4
    -0
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrderProduct.java
  12. +3
    -3
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrderEvaluate/entity/AppletOrderEvaluate.java
  13. +6
    -0
      jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletSubscribeDetection/entity/AppletSubscribeDetection.java
  14. +1
    -1
      jeecg-boot/jeecg-boot-module/module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java
  15. +4
    -4
      jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/pay_weixin.properties

+ 1
- 1
.idea/misc.xml View File

@ -9,7 +9,7 @@
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

+ 6
- 4
jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java View File

@ -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);


+ 1
- 1
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/bo/CreateOrderBo.java View File

@ -9,7 +9,7 @@ import java.util.List;
public class CreateOrderBo {
@Schema(description = "商品列表")
private List<CreateOrderItemBo> list;
private String list;
@Schema(description = "地址id")
private String addressId;


+ 4
- 6
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiCarController.java View File

@ -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<IPage<AppletCar>> queryPageList(AppletCar appletCar,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
public Result<IPage<AppletCar>> queryPageList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
@Parameter(description = "搜索关键字") String title) {
Page<AppletCar> page = new Page<AppletCar>(pageNo, pageSize);
IPage<AppletCar> pageList = appletApiCarService.page(page, appletCar);
IPage<AppletCar> pageList = appletApiCarService.page(page, title);
return Result.OK(pageList);
}


+ 53
- 5
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/controller/AppletApiOrderController.java View File

@ -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<List<AppletOrderEvaluate>> myEvaluate(@Parameter(description = "不传为全部,0是有图,1是最新") String type) {
return Result.OK(appletApiOrderService.myEvaluate(type));
}
/**
* 商品评价
*
* @param productId 商品评价
* @return
*/
@Operation(summary = "商品评价")
@PostMapping(value = "/productEvaluate")
public Result<List<AppletOrderEvaluate>> 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());
}
}

+ 2
- 2
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiCarService.java View File

@ -12,10 +12,10 @@ public interface AppletApiCarService {
* 查询购物车列表
*
* @param page
* @param appletCar
* @param title
* @return
*/
IPage<AppletCar> page(Page<AppletCar> page, AppletCar appletCar);
IPage<AppletCar> page(Page<AppletCar> page, String title);
/**
* 添加购物车


+ 7
- 0
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/AppletApiOrderService.java View File

@ -41,4 +41,11 @@ public interface AppletApiOrderService {
void confirm(String id);
Object statistics();
void deleteEvaluate(String id);
List<AppletOrderEvaluate> productEvaluate(String productId);
List<AppletOrderEvaluate> myEvaluate(String type);
}

+ 22
- 2
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiCarServiceImpl.java View File

@ -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<AppletCar> page(Page<AppletCar> page, AppletCar appletCar) {
public IPage<AppletCar> page(Page<AppletCar> page, String title) {
String userId = AppletUserUtil.getCurrentAppletUserId();
List<String> 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<AppletCar> 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;


+ 94
- 21
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/applet/service/impl/AppletApiOrderServiceImpl.java View File

@ -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<CreateOrderItemBo> list = JSON.parseArray(bo.getList(), CreateOrderItemBo.class);
log.info("开始创建订单,用户ID: {}, 商品数量: {}", userId, list.size());
if (list.isEmpty()) {
log.error("创建订单失败,订单商品不能为空,用户ID: {}", userId);
throw new JeecgBootException("订单商品不能为空");
}
List<CreateOrderItemBo> 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<AppletOrder> orders = appletOrderService.lambdaQuery()
.eq(AppletOrder::getUserId, userId)
.select(AppletOrder::getOrderStatus)
.list();
long count = appletOrderAfterSaleService.lambdaQuery()
.eq(AppletOrderAfterSale::getUserId, userId).count();
// 使用Stream API进行分组统计
Map<Integer, Long> statusCountMap = orders.stream()
.collect(java.util.stream.Collectors.groupingBy(
AppletOrder::getOrderStatus,
java.util.stream.Collectors.counting()
));
// 转换为Map<String, Integer>格式确保所有状态都有值
Map<String, Integer> 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<AppletOrderEvaluate> productEvaluate(String productId) {
return appletOrderEvaluateService.lambdaQuery()
.like(AppletOrderEvaluate::getProductId, productId)
.orderByDesc(AppletOrderEvaluate::getCreateTime)
.list();
}
@Override
public List<AppletOrderEvaluate> myEvaluate(String type) {
String userId = AppletUserUtil.getCurrentAppletUserId();
return appletOrderEvaluateService.lambdaQuery()
.eq(AppletOrderEvaluate::getUserId, userId)
.isNotNull("0".equals(type), AppletOrderEvaluate::getImage)
.orderByDesc(AppletOrderEvaluate::getCreateTime)
.list();
}
}

+ 3
- 1
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrder.java View File

@ -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<AppletOrderAfterSaleProcess> process;
}

+ 4
- 0
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrder/entity/AppletOrderProduct.java View File

@ -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 = "产品图片")


+ 3
- 3
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletOrderEvaluate/entity/AppletOrderEvaluate.java View File

@ -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 = "订单")


+ 6
- 0
jeecg-boot/jeecg-boot-module/jeecgboot-boot-applet/src/main/java/org/jeecg/modules/demo/appletSubscribeDetection/entity/AppletSubscribeDetection.java View File

@ -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;
}

+ 1
- 1
jeecg-boot/jeecg-boot-module/module-pay/src/main/java/org/jeecg/modules/pay/MpWxPayService.java View File

@ -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;


+ 4
- 4
jeecg-boot/jeecg-module-system/jeecg-system-start/src/main/resources/pay_weixin.properties View File

@ -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

Loading…
Cancel
Save