From 2134c13b7b2815983281fdc819e3138ffde1bc48 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 05 八月 2025 21:10:42 +0800 Subject: [PATCH] 所有代码 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java | 167 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 117 insertions(+), 50 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java index ef321e2..e96f823 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java @@ -20,10 +20,15 @@ import com.ruoyi.order.enums.OrderStatus; import com.ruoyi.order.mapper.OrderMapper; +import com.ruoyi.order.model.ChargeOrder; import com.ruoyi.order.model.Order; +import com.ruoyi.order.service.ChargeOrderService; import com.ruoyi.order.service.OrderService; import com.ruoyi.order.util.payment.model.RefundCallbackResult; import com.ruoyi.order.util.payment.model.UniPayCallbackResult; +import com.ruoyi.order.util.payment.wechat.PayMoneyUtil; +import com.ruoyi.order.util.payment.wx.WechatPayService; +import com.ruoyi.order.util.payment.wx.vo.PayResult; import com.ruoyi.order.util.vo.MapTrackKD100Vo; import com.ruoyi.order.util.vo.ShopAnalysisVO; import com.ruoyi.order.vo.*; @@ -36,10 +41,14 @@ import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.*; +import org.apache.ibatis.annotations.Param; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @@ -69,6 +78,8 @@ @Resource private OrderService orderService; @Resource + private ChargeOrderService chargeOrderService; + @Resource private TokenService tokenService; @Resource private BaseSettingClient baseSettingClient; @@ -81,7 +92,10 @@ @Resource private ShopClient shopClient; - + @Resource + private PayMoneyUtil payMoneyUtil; + @Resource + private WechatPayService wechatPayService; @ResponseBody @@ -103,12 +117,19 @@ * 订单支付回调通知 */ @ResponseBody - @GetMapping("/orderPaymentCallback") - public void orderPaymentCallback(UniPayCallbackResult uniPayCallbackResult, HttpServletResponse response){ - String jsonString = JSONObject.toJSONString(uniPayCallbackResult); + @PostMapping("/orderPaymentCallback") + public void orderPaymentCallback(HttpServletRequest request, HttpServletResponse response){ +// String jsonString = JSONObject.toJSONString(uniPayCallbackResult); + System.err.println("1111111111111"); + PayResult payResult= null; + try { + payResult = wechatPayService.processNotify(request); + } catch (Exception e) { + throw new RuntimeException(e); + } System.out.println("1111111111111111111111"); - System.out.println(jsonString); - R callback = orderService.orderPaymentCallback(uniPayCallbackResult); +// System.out.println(jsonString); + R callback = orderService.orderPaymentCallback(payResult); if(callback.getCode() == 200){ response.setStatus(200); PrintWriter out = null; @@ -161,14 +182,11 @@ * 扫码校验 */ @ApiOperation(value = "扫码校验", tags = {"小程序-个人中心-门店管理"}) - @ApiImplicitParams({ - @ApiImplicitParam(value = "分享id", name = "shareId", required = true, dataType = "int", paramType = "query"), - }) @GetMapping("/check/{orderNumber}/{shopId}") public R<Boolean> check(@PathVariable("orderNumber") String orderNumber, @PathVariable("shopId") Integer shopId) { LoginUser loginUserApplet = tokenService.getLoginUserApplet(); Order order = orderService.getOne(new LambdaQueryWrapper<Order>() - .eq(Order::getOrderNumber, orderNumber)); + .eq(Order::getId, orderNumber)); return R.ok(orderService.check(order, shopId, loginUserApplet.getUserid())); } @@ -176,12 +194,9 @@ * 订单核销 */ @ApiOperation(value = "订单核销", tags = {"小程序-个人中心-门店管理"}) - @ApiImplicitParams({ - @ApiImplicitParam(value = "订单id", name = "id", required = true, dataType = "String"), - }) @GetMapping("/writeOff") - public R<Void> writeOff(String code, Integer shopId) { - orderService.writeOff(code, shopId); + public R<Void> writeOff(@ApiParam("id") String id, @ApiParam("shopId") Integer shopId) { + orderService.writeOff(id, shopId); return R.ok(); } @@ -193,6 +208,17 @@ @ApiParam("页码") @RequestParam("pageNum") Integer pageNum, @ApiParam("每一页数据大小") @RequestParam("pageSize") Integer pageSize) { return R.ok(orderService.getShopOrderList(content,status,shopId,pageNum,pageSize)); + } + @PostMapping("/importExpress") + @ApiOperation(value = "2.0新增导入订单", tags = {"门店后台-订单管理"}) + public R importExpress(@RequestParam("file") MultipartFile file) { + /* JSONObject jsonObject = JSONObject.parseObject(url); + String url2 = jsonObject.getString("url");*/ + if (file.isEmpty()) { + return R.fail("请选择要上传的文件"); + } + + return orderService.importExpress(file); } @PutMapping("/shopCancelOrder/{orderId}") @@ -411,31 +437,31 @@ */ /** * 订单取消支付回退 - * - * @param refundCallbackResult - * @param response - * @return */ @ResponseBody - @GetMapping("/refundPayMoneyCallback") - public void refundPayMoneyCallback(RefundCallbackResult refundCallbackResult, HttpServletResponse response) { - R callback = orderService.refundPayMoneyCallback(refundCallbackResult); + @PostMapping("/refundPayMoneyCallback") + public String refundPayMoneyCallback( @RequestBody(required = false) String xmlData) { + R callback = orderService.refundPayMoneyCallback(xmlData); if (callback.getCode() == 200) { - response.setStatus(200); - PrintWriter out = null; - try { - out = response.getWriter(); - } catch (IOException e) { - throw new RuntimeException(e); - } - out.println("success"); - out.flush(); - out.close(); + return "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>"; + }else { + System.err.println("支付回退错误:"+callback.getMsg()); + return "<xml><return_code><![CDATA[FAIL]]></return_code></xml>"; } } - + /** + * 获取商品销售数量 + * + * @param goodsId + * @return + */ + @PostMapping(value = "/getList") + R<List<ChargeOrder>> getList(@RequestParam("siteId") Integer siteId) { + List<ChargeOrder> list = chargeOrderService.lambdaQuery().eq(ChargeOrder::getPowerStationId, siteId).list(); + return R.ok(list); + } /** * 获取商品销售数量 * @@ -583,11 +609,26 @@ orderPage.setAppUserIds(orderPage.getAppUserIds().stream().distinct().collect(Collectors.toList())); } -// UserAddress userAddress = JSON.parseObject(order.getAddressJson(), UserAddress.class); -// orderInfo.setRecipient(userAddress.getRecieveName() + "-" + userAddress.getRecievePhone()); -// userAddress.setRecieveAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getRecieveAddress()); -// orderInfo.setAddress(userAddress.getRecieveAddress()); - + //搜索条件 店铺名称 + if (StringUtils.isNotEmpty(orderPage.getShopName())){ + List<Integer> shopSet = new ArrayList<>(shopClient.getShopIdByName(orderPage.getShopName()).getData()); + if (CollectionUtils.isEmpty(shopSet)) { + return ; + } + if (null != orderPage.getShopIds()) { + List<Integer> shopIds = orderPage.getShopIds(); + if (!containsIntegerAny(shopIds, shopSet)) { + return ; + } + shopIds.addAll(shopSet); + orderPage.setShopIds(shopIds); + } else { + orderPage.setShopIds(shopSet); + } + } + if (null != orderPage.getShopIds()) { + orderPage.setShopIds(orderPage.getShopIds().stream().distinct().collect(Collectors.toList())); + } List<OrderExport> orderExportList = orderMapper.getOrderExportList(orderPage); orderExportList.forEach(orderExport -> { @@ -603,13 +644,6 @@ orderExport.setGoodsName(goods.getName()); /* orderExport.setCompanyCostPrice(goods.getOperatingCost()); orderExport.setSupplierCostPrice(goods.getShopCost());*/ - } - - String expressJson = orderExport.getExpressJson(); - if (StringUtils.isNotEmpty(expressJson) && !expressJson.equals("NULL")) { - JSONObject jsonObject = JSONObject.parseObject(expressJson); - orderExport.setExpressNum(jsonObject.getString("num")); - orderExport.setExpressName(ExpressCompanyMap.getCompanyNameByCode(jsonObject.getString("com"))); } }); @@ -639,6 +673,27 @@ // 如果没有找到共同元素,返回 false return false; } + /** + * 判断 list1 是否包含 list2 中的至少一个元素 + * + * @param list1 第一个列表 + * @param list2 第二个列表 + * @return 如果 list1 包含 list2 中的至少一个元素,返回 true;否则返回 false + */ + private boolean containsIntegerAny(List<Integer> list1, List<Integer> list2) { + // 将 list1 转换为 HashSet 以提高查询效率 + Set<Integer> set1 = new HashSet<>(list1); + + // 遍历 list2,检查是否有元素存在于 set1 中 + for (Integer element : list2) { + if (set1.contains(element)) { + return true; + } + } + + // 如果没有找到共同元素,返回 false + return false; + } /** @@ -650,8 +705,10 @@ @PostMapping("/getOrderCountByAppUserId") public R<Long> getOrderCountByAppUserId(@RequestParam("id") Long appUserId) { long count = orderService.count(new LambdaQueryWrapper<Order>().eq(Order::getDelFlag, 0) - .eq(Order::getAppUserId, appUserId).in(Order::getOrderStatus, Arrays.asList(1, 2, 3, 4, 7, 8)) - .eq(Order::getPayStatus, 2)); + .eq(Order::getAppUserId, appUserId) + .in(Order::getOrderStatus, Arrays.asList(1, 2, 3, 4, 7, 8)) + .eq(Order::getPayStatus, 2) + ); return R.ok(count); } @@ -730,7 +787,7 @@ //折线图 - List<OrderStatisticsDetail> orderStatisticsDetailList=orderService.getOrderListGroupByDate(shopAnalysisDTO.getStartTime(), shopAnalysisDTO.getEndTime()); + List<OrderStatisticsDetail> orderStatisticsDetailList=orderService.getOrderListGroupByDate(shopAnalysisDTO.getStartTime(), shopAnalysisDTO.getEndTime(),shopAnalysisDTO.getShopId()); shopAnalysisVO.setOrderStatisticsDetailList(orderStatisticsDetailList); return R.ok(shopAnalysisVO); } @@ -738,7 +795,7 @@ /** * 统计用户总消费积分数和现金支付金额 */ - @GetMapping("/getOrderCountByAppUserId/") + @GetMapping("/getConsumeScoreAndPayAmount") R<Map<String ,Object>> getConsumeScoreAndPayAmount(@RequestParam(value = "userId",required = false) Long userId){ QueryWrapper<Order> queryWrapper = new QueryWrapper<>(); // 条件构造 统计充值积分 @@ -747,10 +804,20 @@ queryWrapper.in("order_status", Arrays.asList(3,4,8));//待核销 已完成 已评价 queryWrapper.eq("pay_status",2); if (userId != null) { - queryWrapper.eq("user_id", userId); + queryWrapper.eq("app_user_id", userId); } return R.ok(orderService.getMap(queryWrapper)); } + /** + * 获取商户RSA加密公钥 + */ + + @GetMapping("/getRsaPublicKey") + public R<Void> getRsaPublicKey(){ + wechatPayService.getRsaPublicKey(); + return R.ok(); + } + } -- Gitblit v1.7.1