From d34b3987a7c89c29a74eb7d3525b2a486eeaca10 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 08 一月 2025 17:17:55 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/JiaDianHuiShou --- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java | 2 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java | 35 +++- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/importExcel/FrozenBuckleImportDTO.java | 31 ++- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/MoneyRecentQuery.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java | 25 +++ ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MenuServiceImpl.java | 30 ++- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java | 18 + ruoyi-service/ruoyi-admin/src/main/resources/template/加盟商余额记录.xlsx | 0 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChangeDispatchController.java | 1 ruoyi-service/ruoyi-admin/src/main/resources/template/加盟商扣款记录.xlsx | 0 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java | 2 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/TFranchiseeBalanceChange.java | 5 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java | 215 +++++++++++++++++++------- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java | 3 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 51 ++---- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RoleController.java | 1 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/ChangeDispatchRequest.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/GetTransferBatchByOutNo.java | 2 ruoyi-service/ruoyi-admin/src/main/resources/template/导表录单导入模板 .xlsx | 0 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/TencentCosUtil.java | 2 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java | 2 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml | 8 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 10 + 23 files changed, 316 insertions(+), 131 deletions(-) diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java index 3101f4b..759b2c1 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java @@ -13,6 +13,7 @@ public class ChangeDispatchRequest { private String workerName; + private String reservationName; private String orderNumber; @@ -25,5 +26,6 @@ private List<String> cityList; private String [] siteIds; private String reservationAddress; + private String reservationPhone; } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java index 8b48a51..65d978f 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/GaoDeMapUtil.java @@ -193,6 +193,8 @@ String queryResult = getResponse(queryUrl); GaoDeAddressInfoVO data = JSONObject.parseObject(queryResult, GaoDeAddressInfoVO.class); List<Geocodes> geocodes = data.getGeocodes(); + if (geocodes==null||geocodes.isEmpty()) + return Result.failed(null, "计算失败"); Geocodes info = geocodes.get(0); String adcode = info.getAdcode(); String city = info.getCity(); diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java index 520c342..4d40e73 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java @@ -61,13 +61,16 @@ @GetMapping(value = "/page") @ApiImplicitParams({ @ApiImplicitParam(value = "师傅名称", name = "workerName", dataType = "String"), + @ApiImplicitParam(value = "预约人名称", name = "reservationName", dataType = "String"), @ApiImplicitParam(value = "订单编号", name = "orderNumber", dataType = "String"), @ApiImplicitParam(value = "下单用户名称", name = "userName", dataType = "String"), + @ApiImplicitParam(value = "下单用户手机号", name = "reservationPhone", dataType = "String"), @ApiImplicitParam(value = "地址", name = "reservationAddress", dataType = "String"), @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true), @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true) }) public R<Page<ChangeDispatch>> queryPageList(String workerName, String orderNumber, String userName,String reservationAddress, + String reservationName,String reservationPhone, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { LoginUser loginUser = tokenService.getLoginUser(); @@ -83,7 +86,8 @@ changeDispatchRequest.setPageNum(pageNum); changeDispatchRequest.setPageSize(pageSize); changeDispatchRequest.setCityList(cityList); - + changeDispatchRequest.setReservationName(reservationName); + changeDispatchRequest.setReservationPhone(reservationPhone); Integer franchiseeId = loginUser.getSysUser().getFranchiseeId(); if (franchiseeId!=null) { Franchisee byId = franchiseeService.getById(franchiseeId); @@ -163,10 +167,14 @@ @ApiOperation(value = "订单改派师傅", tags = {"后台-系统设置-订单改派管理"}) @GetMapping(value = "/changeWorker") @ApiImplicitParams({ - @ApiImplicitParam(value = "改派订单id", name = "changeId", dataType = "Integer", required = true), - @ApiImplicitParam(value = "师傅id", name = "workerId", dataType = "Integer", required = true) + @ApiImplicitParam(value = "改派订单id", name = "changeId", dataType = "String", required = true), + @ApiImplicitParam(value = "订单id", name = "orderId", dataType = "String", required = true), + @ApiImplicitParam(value = "师傅id", name = "workerId", dataType = "Integer", required = true), + @ApiImplicitParam(value = "时间", name = "arriveTime", dataType = "String", required = true), }) - public R<String> changeWorker(@RequestParam String changeId, @RequestParam Integer workerId,@RequestParam String orderId,@RequestParam String reason, + public R<String> changeWorker(@RequestParam String changeId, + @RequestParam String orderId, + @RequestParam Integer workerId, @RequestParam String arriveTime) { MasterWorker masterWorker = masterWorkerService.lambdaQuery() .eq(MasterWorker::getId, workerId).eq(MasterWorker::getIsDelete, 0).one(); @@ -184,7 +192,7 @@ NettyWebSocketController.sendMsgToClient(context, "您有一条新的订单,请注意查收!"); } - dispatchClient.changeReason(orderId, reason); +// dispatchClient.changeReason(orderId, reason); orderClient.updateArrivalTime(orderId,arriveTime); return R.ok(); // try { diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java index 857b0a4..1998405 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java @@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -115,24 +116,50 @@ @ApiOperation(value = "加盟商列表余额", tags = {"后台2.0-加盟商列表余额"}) - @PostMapping(value = "/recent/money") - public R<RencentBalance> recentmoney() { + @GetMapping(value = "/recent/money") + @ApiImplicitParams({ + @ApiImplicitParam(value = "加盟商名称", name = "name", dataType = "String"), + @ApiImplicitParam(value = "管理员", name = "head", dataType = "String"), + @ApiImplicitParam(value = "手机号码", name = "phone", dataType = "String"), + @ApiImplicitParam(value = "管辖城市", name = "city", dataType = "String"), + @ApiImplicitParam(value = "充值/扣款起始时间", name = "date1", dataType = "String"), + @ApiImplicitParam(value = "充值/扣款结束时间", name = "date2", dataType = "String"), + @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true), + @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true) + }) + public R<RencentBalance> recentmoney(String name, String head, String phone, String city, + String date1,String date2, + @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { BigDecimal balance = new BigDecimal(0); - List<Franchisee> list = franchiseeService.lambdaQuery().list(); + LambdaQueryWrapper<Franchisee> franchiseeLambdaQueryWrapper = new LambdaQueryWrapper<>(); + franchiseeLambdaQueryWrapper = StringUtils.isNotBlank(name) ? franchiseeLambdaQueryWrapper.like(Franchisee::getName, name) : franchiseeLambdaQueryWrapper; + franchiseeLambdaQueryWrapper = StringUtils.isNotBlank(head) ? franchiseeLambdaQueryWrapper.like(Franchisee::getHead, head) : franchiseeLambdaQueryWrapper; + franchiseeLambdaQueryWrapper = StringUtils.isNotBlank(phone) ? franchiseeLambdaQueryWrapper.like(Franchisee::getHeadPhone, phone) : franchiseeLambdaQueryWrapper; + franchiseeLambdaQueryWrapper = StringUtils.isNotBlank(city) ? franchiseeLambdaQueryWrapper.like(Franchisee::getCity, city) : franchiseeLambdaQueryWrapper; + List<Franchisee> list = franchiseeService.list(franchiseeLambdaQueryWrapper); + List<Integer> collect = list.stream().map(Franchisee::getId).collect(Collectors.toList()); + if (collect.isEmpty())collect.add(-1); for (Franchisee franchisee : list) { balance = balance.add(franchisee.getBalance()); } - //充值的金额 BigDecimal balance1 = new BigDecimal(0); - List<TFranchiseeBalanceChange> list1 = balanceChangeService.lambdaQuery().eq(TFranchiseeBalanceChange::getType, 1).list(); + List<TFranchiseeBalanceChange> list1 = balanceChangeService.lambdaQuery() + .in(TFranchiseeBalanceChange::getFranchiseeId,collect) + .between(date1!=null,TFranchiseeBalanceChange::getCreateTime, date1, date2) + .eq(TFranchiseeBalanceChange::getType, 1).list(); for (TFranchiseeBalanceChange franchiseeBalanceChange : list1) { balance1 = balance1.add(franchiseeBalanceChange.getAmount()); } //扣除的金额 BigDecimal balance2 = new BigDecimal(0); - List<TFranchiseeBalanceChange> list2 = balanceChangeService.lambdaQuery().eq(TFranchiseeBalanceChange::getType, 2).list(); - for (TFranchiseeBalanceChange franchiseeBalanceChange : list1) { + List<TFranchiseeBalanceChange> list2 = balanceChangeService.lambdaQuery() + .in(TFranchiseeBalanceChange::getFranchiseeId,collect) + .eq(TFranchiseeBalanceChange::getType, 2) + .between(date1!=null,TFranchiseeBalanceChange::getCreateTime, date1, date2) + .eq(TFranchiseeBalanceChange::getIs_pay,1).list(); + for (TFranchiseeBalanceChange franchiseeBalanceChange : list2) { balance2 = balance2.add(franchiseeBalanceChange.getAmount()); } @@ -144,24 +171,28 @@ return R.ok(balance3); } - @ApiOperation(value = "详情",tags = {"师傅段2.0-统一充值扣款列表"}) @PostMapping(value = "/change/detail") public R<TFranchiseeBalanceChange> detail1(@RequestParam Integer id) throws AlipayApiException { - TFranchiseeBalanceChange byId = balanceChangeService.getById(id); - return R.ok(byId); - + TFranchiseeBalanceChange balanceChange = balanceChangeService.getById(id); + if (balanceChange.getType()==2){ + balanceChange.setPayStr("微信支付"); + } + return R.ok(balanceChange); } @ApiOperation(value = "扣款记录及充值记录", tags = {"后台2.0-统一充值扣款列表","师傅段2.0-统一充值扣款列表"}) @PostMapping(value = "/recent/money/list") public R<Page<TFranchiseeBalanceChange>> recentmoneylist(@RequestBody MoneyRecentQuery moneyRecentQuery) { + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserService.getById(userid); Page<TFranchiseeBalanceChange> page = balanceChangeService.lambdaQuery().eq(moneyRecentQuery.getType() != null, TFranchiseeBalanceChange::getType, moneyRecentQuery.getType()) - .eq(moneyRecentQuery.getFranchId() != null, TFranchiseeBalanceChange::getFranchiseeId, moneyRecentQuery.getFranchId()) - .eq(moneyRecentQuery.getFranchName() != null && !"".equals(moneyRecentQuery.getFranchName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getFranchName()) + .eq(sysUser.getFranchiseeId() != null, TFranchiseeBalanceChange::getFranchiseeId, sysUser.getFranchiseeId()) + .like(moneyRecentQuery.getName() != null && !"".equals(moneyRecentQuery.getName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getName()) .ge(moneyRecentQuery.getDate1() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate1()) .le(moneyRecentQuery.getDate2() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate2()) + .eq(moneyRecentQuery.getFranchId()!=null, TFranchiseeBalanceChange::getFranchiseeId, moneyRecentQuery.getFranchId()) .eq(TFranchiseeBalanceChange::getIs_pay,1) .orderByDesc(TFranchiseeBalanceChange::getCreateTime) .page(Page.of(moneyRecentQuery.getPageNum(), moneyRecentQuery.getPageSize())); @@ -173,12 +204,17 @@ String siteIds = franchisee.getSiteIds(); List<Site> list1 = siteService.lambdaQuery().in(Site::getId, siteIds.split(",")).list(); record.setList1(list1); - } String cityCode = franchisee.getCityCode(); List<Region> list = regionService.lambdaQuery().in(Region::getCode, cityCode.split(",")).list(); record.setList(list); record.setFranchiseeName(franchisee.getName()); + if (record.getType()==1){ + record.setPayStr("扣除旧机款"); + } + if (record.getType()==2){ + record.setPayStr("充值"); + } } return R.ok(page); } @@ -186,14 +222,24 @@ @ApiOperation(value = "导出", tags = {"后台2.0-统一充值扣款列表"}) @PostMapping(value = "/recent/money/list/export") public R<Page<TFranchiseeBalanceChange>> export(@RequestBody MoneyRecentQuery moneyRecentQuery, HttpServletResponse response) { + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserService.getById(userid); if (moneyRecentQuery.getType()==2) { List<TFranchiseeBalanceChange> page = balanceChangeService.lambdaQuery().eq(moneyRecentQuery.getType() != null, TFranchiseeBalanceChange::getType, moneyRecentQuery.getType()) - .eq(moneyRecentQuery.getFranchId() != null, TFranchiseeBalanceChange::getFranchiseeId, moneyRecentQuery.getFranchId()) - .eq(moneyRecentQuery.getFranchName() != null && !"".equals(moneyRecentQuery.getFranchName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getFranchName()) + .eq(sysUser.getFranchiseeId() != null, TFranchiseeBalanceChange::getFranchiseeId, sysUser.getFranchiseeId()) + .eq(moneyRecentQuery.getName() != null && !"".equals(moneyRecentQuery.getName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getName()) .ge(moneyRecentQuery.getDate1() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate1()) .le(moneyRecentQuery.getDate2() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate2()) + .eq(moneyRecentQuery.getFranchId()!=null, TFranchiseeBalanceChange::getFranchiseeId, moneyRecentQuery.getFranchId()) + .eq(TFranchiseeBalanceChange::getIs_pay,1) + .orderByDesc(TFranchiseeBalanceChange::getCreateTime) .list(); - + for (TFranchiseeBalanceChange tFranchiseeBalanceChange : page) { + tFranchiseeBalanceChange.setPayStr("微信支付"); + LocalDateTime createTime = tFranchiseeBalanceChange.getCreateTime(); + // 转化为String类型的格式字符串yyyy-MM-dd HH:mm:ss + tFranchiseeBalanceChange.setCreateTimeStr(createTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + } try { response.setCharacterEncoding(Constants.UTF8); response.setContentType("application/vnd.ms-excel"); @@ -221,13 +267,17 @@ return R.ok(); }else { List<TFranchiseeBalanceChange> page = balanceChangeService.lambdaQuery().eq(moneyRecentQuery.getType() != null, TFranchiseeBalanceChange::getType, moneyRecentQuery.getType()) - .eq(moneyRecentQuery.getFranchId() != null, TFranchiseeBalanceChange::getFranchiseeId, moneyRecentQuery.getFranchId()) - .eq(moneyRecentQuery.getFranchName() != null && !"".equals(moneyRecentQuery.getFranchName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getFranchName()) + .eq(sysUser.getFranchiseeId() != null, TFranchiseeBalanceChange::getFranchiseeId, sysUser.getFranchiseeId()) + .eq(moneyRecentQuery.getName() != null && !"".equals(moneyRecentQuery.getName()), TFranchiseeBalanceChange::getFranchiseeName, moneyRecentQuery.getName()) .ge(moneyRecentQuery.getDate1() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate1()) .le(moneyRecentQuery.getDate2() != null, TFranchiseeBalanceChange::getCreateTime, moneyRecentQuery.getDate2()) + .orderByDesc(TFranchiseeBalanceChange::getCreateTime) .list(); - - + for (TFranchiseeBalanceChange tFranchiseeBalanceChange : page) { + LocalDateTime createTime = tFranchiseeBalanceChange.getCreateTime(); + // 转化为String类型的格式字符串yyyy-MM-dd HH:mm:ss + tFranchiseeBalanceChange.setCreateTimeStr(createTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + } try { response.setCharacterEncoding(Constants.UTF8); response.setContentType("application/vnd.ms-excel"); @@ -299,7 +349,7 @@ map.put("p4_Cur", "1"); /**交易币种 */ map.put("q5_OpenId", openId); map.put("p5_ProductName", "加盟商充值"); /** 商品名称 */ - map.put("p9_NotifyUrl", "http://www.zhipingwang.com.cn:9100/admin/franchisee/callBack"); /** 服务器异步通知地址 */ + map.put("p9_NotifyUrl", "https://v7ro848ar5jx.ngrok.xiaomiqiu123.top/admin/franchisee/callBack"); /** 服务器异步通知地址 */ map.put("q1_FrpCode", "WEIXIN_APP3"); /** 交易类型*/ map.put("q7_AppId", "wx1a4a7760be53a835"); /** 交易类型*/ map.put("qa_TradeMerchantNo", "777165000859101"); /** 777开头的报备商户号 必填!*/ @@ -357,6 +407,7 @@ tFranchiseeBalanceChange.setFranchiseeName(byId.getName()); tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(byId.getId())); tFranchiseeBalanceChange.setType(2); + tFranchiseeBalanceChange.setRemark("微信支付"); tFranchiseeBalanceChange.setCode(code); balanceChangeService.save(tFranchiseeBalanceChange); @@ -392,52 +443,86 @@ @ApiOperation(value = "扫码支付",tags = {"后台2.0-加盟商列表余额"}) @PostMapping(value = "/code/buy") - public R buy(@RequestParam BigDecimal money) throws AlipayApiException { + public R buy(@RequestParam BigDecimal money) throws AlipayApiException, IOException { Long userid = tokenService.getLoginUser().getUserid(); SysUser byId1 = sysUserService.getById(userid); Franchisee byId = franchiseeService.getById(byId1.getFranchiseeId()); String code = generateTradeNumber(); int i = money.multiply(BigDecimal.valueOf(100)).intValue(); - com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest prepayRequest = new com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest(); - prepayRequest.setAppid(weChatConfig.appId); - prepayRequest.setMchid(weChatConfig.merchantId); - prepayRequest.setOutTradeNo(code); - prepayRequest.setDescription("购买资料"); - prepayRequest.setNotifyUrl("http://www.zhipingwang.com.cn:9090/admin/franchisee/callBack"); - com.wechat.pay.java.service.payments.nativepay.model.Amount amount = new com.wechat.pay.java.service.payments.nativepay.model.Amount(); - amount.setTotal(i); - prepayRequest.setAmount(amount); - // 调用下单方法,得到应答 - com.wechat.pay.java.service.partnerpayments.app.model.PrepayResponse response; - try { - com.wechat.pay.java.service.payments.nativepay.model.PrepayResponse prepay = nativePayService.prepay(prepayRequest); - //预支付成功,创建预支付订单 - TFranchiseeBalanceChange tFranchiseeBalanceChange = new TFranchiseeBalanceChange(); - tFranchiseeBalanceChange.setAmount(money); - tFranchiseeBalanceChange.setIs_pay(0); - tFranchiseeBalanceChange.setFranchiseeName(byId.getName()); - tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(byId.getId())); - tFranchiseeBalanceChange.setType(2); - tFranchiseeBalanceChange.setCode(code); - balanceChangeService.save(tFranchiseeBalanceChange); + String key = "ad273ceb5e1b49e68d5c565d28d1d305";/** md5密钥商户后台-商户中心-商户设置-密钥管理获取 必填!*/ + Map<String, String> map = new HashMap<String, String>(); + map.put("p0_Version", "2.5");/** 版本号 */ + map.put("p1_MerchantNo", "888122400007793");/** 商户编号 */ + map.put("p2_OrderNo", code); /**商户订单号*/ + map.put("p3_Amount", String.valueOf(money));/**订单金额*/ + map.put("p4_Cur", "1"); /**交易币种 */ + map.put("p5_ProductName", "充值"); /** 商品名称 */ + map.put("p6_ProductDesc", "加盟商充值"); /** 商品名称 */ +// map.put("p7_Mp", ""); /** 如果商户请求时传递了该参数,则返回给商户时会原值传 回。 */ + map.put("p9_NotifyUrl", "https://v7ro848ar5jx.ngrok.xiaomiqiu123.top/admin/franchisee/callBack"); /** 服务器异步通知地址 */ + map.put("q1_FrpCode", "WEIXIN_NATIVE"); /** 微信扫码(主扫)【注:此为用户主扫,商户被扫】*/ + map.put("q4_IsShowPic", "1"); /** 是否展示二 维码图片 1表示输出*/ + map.put("q7_AppId", "wx1a4a7760be53a835"); /** 交易类型*/ + map.put("qa_TradeMerchantNo", "777165000859101"); /** 777开头的报备商户号 必填!*/ + map.put("qi_FqSellerPercen", "0"); /** 卖家承担收 费比例 目前仅支持传入 0 ,即用户承 担手续费!*/ + + String Strmap = CreateLinkStringByGet1.createLinkStringByGet(map); + + // 签名 + String sign = ""; + sign = Md5_Sign.SignByMD5(Strmap, key); + map.put("hmac", sign);/** 签名数据 */ + System.out.println("发送:" + JSON.toJSONString(map).toString()); + + // post请求参数内容 + HttpRequester hr = new HttpRequester(); + HttpRespons HP = hr.sendPost("https://trade.joinpay.com/tradeRt/uniPay", map); + System.out.println("接收返回参数:" + HP.getContent()); + JSONObject jsonObject = JSONObject.parseObject(HP.getContent()); + String rcResult = jsonObject.getString("rd_Pic"); + Map<String, Object> map2 = new HashMap<>(); + map2.put("rcResult", rcResult); +// com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest prepayRequest = new com.wechat.pay.java.service.payments.nativepay.model.PrepayRequest(); +// prepayRequest.setAppid(weChatConfig.appId); +// prepayRequest.setMchid(weChatConfig.merchantId); +// prepayRequest.setOutTradeNo(code); +// prepayRequest.setDescription("购买资料"); +// prepayRequest.setNotifyUrl("http://www.zhipingwang.com.cn:9090/admin/franchisee/callBack"); +// com.wechat.pay.java.service.payments.nativepay.model.Amount amount = new com.wechat.pay.java.service.payments.nativepay.model.Amount(); +// amount.setTotal(i); +// prepayRequest.setAmount(amount); +// // 调用下单方法,得到应答 +// com.wechat.pay.java.service.partnerpayments.app.model.PrepayResponse response; + try { +// com.wechat.pay.java.service.payments.nativepay.model.PrepayResponse prepay = nativePayService.prepay(prepayRequest); + //预支付成功,创建预支付订单 + TFranchiseeBalanceChange tFranchiseeBalanceChange = new TFranchiseeBalanceChange(); + tFranchiseeBalanceChange.setAmount(money); + tFranchiseeBalanceChange.setIs_pay(0); + tFranchiseeBalanceChange.setFranchiseeName(byId.getName()); + tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(byId.getId())); + tFranchiseeBalanceChange.setType(2); + tFranchiseeBalanceChange.setCode(code); + tFranchiseeBalanceChange.setRemark("加盟商扫码充值"); + balanceChangeService.save(tFranchiseeBalanceChange); - PayDto payDto = new PayDto(); - payDto.setOrderId(tFranchiseeBalanceChange.getId()); - payDto.setQrCode(prepay.getCodeUrl()); + PayDto payDto = new PayDto(); + payDto.setOrderId(tFranchiseeBalanceChange.getId()); + payDto.setQrCode(rcResult); - return R.ok(payDto); - } catch (HttpException e) { // 发送HTTP请求失败 + return R.ok(payDto); + } catch (HttpException e) { // 发送HTTP请求失败 // log.error("发送HTTP请求失败: {}", e.getHttpRequest()); - } catch (ServiceException e) { // 服务返回状态小于200或大于等于300,例如500 + } catch (ServiceException e) { // 服务返回状态小于200或大于等于300,例如500 // log.error("服务返回状态异常: {}", e.getResponseBody()); - } catch (MalformedMessageException e) { // 服务返回成功,返回体类型不合法,或者解析返回体失败 + } catch (MalformedMessageException e) { // 服务返回成功,返回体类型不合法,或者解析返回体失败 // log.error("返回体类型不合法: {}", e.getMessage()); - } catch (Exception e) { + } catch (Exception e) { // log.error("预下单异常: {}", e.getMessage()); - } - return null; + } + return null; } @@ -461,6 +546,22 @@ public R payNotify(HttpServletRequest request,String r2_OrderNo) throws Exception{ System.err.println("======回调开始"); System.err.println("======回调开始"+r2_OrderNo); + System.err.println("请求"+request.getParameterMap()); + Map<String, String[]> parameterMap = request.getParameterMap(); + String r6Status = request.getParameter("r6_Status"); + if (org.springframework.util.StringUtils.hasLength(r6Status)){ + if (r6Status.equals("101")){ + return R.errorCode("支付失败"); + } + } + // 循环打印 + for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) { + String key = entry.getKey(); + String[] values = entry.getValue(); + for (String value : values) { + System.err.println("======回调开始"+key + ":" + value); + } + } // Transaction transaction; // transaction = notificationParser.parse(WeChatUtil.handleNodifyRequestParam(request), Transaction.class); // if (transaction.getTradeState() == Transaction.TradeStateEnum.SUCCESS) { @@ -473,11 +574,11 @@ franchiseeService.updateById(byId); one.setIs_pay(1); balanceChangeService.updateById(one); - + return R.ok(null,"success"); // } } - return R.ok(null,"SUCCESS"); + return R.ok(null,"error"); } public static String generateTradeNumber() { diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java index f468f8b..f7787ac 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java @@ -21,6 +21,7 @@ import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.BaseEntity; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.GaoDeMapUtil; import com.ruoyi.common.core.utils.SnowflakeIdWorker; @@ -52,6 +53,7 @@ import java.net.URLEncoder; import java.nio.file.Files; import java.nio.file.Paths; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -187,13 +189,13 @@ Page<Order> data = orderClient.queryPage(orderQueryRequest).getData(); + List<MasterWorker> list = masterWorkerService.lambdaQuery() + .eq(MasterWorker::getIsDelete, 0).list(); if (null != data) { for (Order record : data.getRecords()) { // 回收服务信息 Integer serverId = record.getServerId(); - MasterWorker masterWorker = masterWorkerService.lambdaQuery() - .eq(MasterWorker::getId, serverId) - .eq(MasterWorker::getIsDelete, 0).one(); + MasterWorker masterWorker = list.stream().filter(e -> e.getId().equals(serverId)).findFirst().orElse(null); if (null != masterWorker) { record.setServerName(masterWorker.getRealName()); record.setServerPhone(masterWorker.getPhone()); @@ -769,9 +771,7 @@ public R<String> importTemplate(HttpServletResponse response) throws Exception { List<FrozenBuckleImportDTO> list = new ArrayList<>(); FrozenBuckleImportDTO bean = new FrozenBuckleImportDTO(); - list.add(bean); - // 这里URLEncoder.encode可以防止中文乱码 String fileName = URLEncoder.encode("订单导入模板", "UTF-8"); response.setContentType("application/vnd.ms-excel"); @@ -841,8 +841,25 @@ String area = frozenBuckleImportDTO.getArea(); String address = frozenBuckleImportDTO.getReservationAddress(); + String time = frozenBuckleImportDTO.getTime(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + try{ + format.parse(time); + }catch (Exception e){ + throw new ServiceException("上门时间格式错误"); + } + + if(!StringUtils.hasLength(address)){ + return R.fail("详细地址不能为空"); + } // 解析地址经纬度 - CityInfoVO cityInfoVO = GaoDeMapUtil.getAddressInfo(province + city + area + address).getDatas(); + CityInfoVO cityInfoVO = GaoDeMapUtil.getAddressInfo((province==null?"":province) + + (city==null?"":city) + + (area==null?"":area) + + address).getDatas(); + if(cityInfoVO==null||Objects.isNull(cityInfoVO.getLongitude()) || Objects.isNull(cityInfoVO.getLatitude())){ + return R.fail("地址输入不正确"); + } String areaCode = cityInfoVO.getCode(); String provinceCode = areaCode.substring(0, 2) + "0000"; String cityCode = areaCode.substring(0, 4) + "00"; @@ -851,7 +868,9 @@ order.setAreaCode(areaCode); order.setLongitude(cityInfoVO.getLongitude()); order.setLatitude(cityInfoVO.getLatitude()); - + if (!StringUtils.hasLength(city)){ + order.setCity(cityInfoVO.getCity()); + } // 站点信息 Site site = sites.stream().filter(e -> e.getSiteName().equals(frozenBuckleImportDTO.getSiteName())).findFirst().orElse(null); if(Objects.nonNull(site)){ @@ -885,7 +904,7 @@ order.setServeId(recoveryServe.getId()); order.setServePrice(recoveryServe.getDefaultPrice()); }else { - return R.fail("回收服务不存在"); + return R.fail("服务信息不存在"); } RecoveryServePrice one = recoveryServePriceService.lambdaQuery().eq(RecoveryServePrice::getCity, order.getCityCode()).eq(RecoveryServePrice::getRecoveryServeId, order.getServeId()).eq(BaseEntity::getIsDelete, 0).one(); if (one==null) { diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RoleController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RoleController.java index d3b99a9..d1afa4a 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RoleController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/RoleController.java @@ -65,6 +65,7 @@ public R<IPage<Role>> queryPageList(@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { return R.ok(roleService.lambdaQuery().eq(Role::getDelFlag, 0) + .ne(Role::getRoleName,"加盟商") .orderByDesc(Role::getCreateTime).page(Page.of(pageNum, pageSize))); } diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/TFranchiseeBalanceChange.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/TFranchiseeBalanceChange.java index d98162b..8f3fd9e 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/TFranchiseeBalanceChange.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/TFranchiseeBalanceChange.java @@ -71,7 +71,8 @@ @TableField("createTime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; - + @TableField(exist = false) + private String createTimeStr; @TableField("updateTime") private LocalDateTime updateTime; @@ -85,7 +86,7 @@ @TableLogic private Integer isDelete; @TableField(exist = false) - private String payStr = "微信支付"; + private String payStr; @TableField(exist = false) private List<Region> list; @TableField(exist = false) diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/importExcel/FrozenBuckleImportDTO.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/importExcel/FrozenBuckleImportDTO.java index 6dac7dd..56e13a0 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/importExcel/FrozenBuckleImportDTO.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/importExcel/FrozenBuckleImportDTO.java @@ -1,7 +1,9 @@ package com.ruoyi.admin.importExcel; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.HeadFontStyle; import lombok.Data; +import org.apache.poi.ss.usermodel.IndexedColors; import java.io.Serializable; @@ -10,29 +12,40 @@ */ @Data public class FrozenBuckleImportDTO implements Serializable { - @ExcelProperty(value = "站点名称") + @ExcelProperty(value = "*站点名称") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11,color = 10) private String siteName; - @ExcelProperty(value = "服务信息") + @ExcelProperty(value = "*服务信息") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11,color = 10) private String serveName; - @ExcelProperty(value = "预约姓名") + @ExcelProperty(value = "*预约姓名") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11,color = 10) private String reservationName; - @ExcelProperty(value = "预约电话") + @ExcelProperty(value = "*预约电话") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11,color = 10) private String reservationPhone; - @ExcelProperty(value = "省份") + @ExcelProperty(value = "省份(四川省)") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11) private String province; - @ExcelProperty(value = "市") + @ExcelProperty(value = "市(成都市)") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11) private String city; - @ExcelProperty(value = "区") + @ExcelProperty(value = "区(武侯区)") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11) private String area; - @ExcelProperty(value = "详细地址") + @ExcelProperty(value = "*详细地址") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11,color = 10) private String reservationAddress; - @ExcelProperty(value = "上门时间") + @ExcelProperty(value = "*上门时间(2024-02-28)") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11,color = 10) private String time; @ExcelProperty(value = "服务人员") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11) private String serverName; @ExcelProperty(value = "备注") + @HeadFontStyle(fontName = "黑体", fontHeightInPoints = 11) private String reservationRemark; private Integer siteId; diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MenuServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MenuServiceImpl.java index 065451f..d7d6c1d 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MenuServiceImpl.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/MenuServiceImpl.java @@ -2,17 +2,17 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.admin.entity.Menu; +import com.ruoyi.admin.entity.SysUser; import com.ruoyi.admin.mapper.MenuMapper; +import com.ruoyi.admin.mapper.SysUserMapper; import com.ruoyi.admin.service.MenuService; import com.ruoyi.common.core.constant.RedisConstants; +import com.ruoyi.common.security.service.TokenService; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -29,17 +29,29 @@ @Resource private RedisTemplate<Object, Object> redisTemplate; - + @Resource + private SysUserMapper sysUserMapper; + @Resource + private TokenService tokenService; @Override public List<Menu> menuTree() { // redis缓存 Map<Object, Object> regionList = redisTemplate.opsForHash().entries(RedisConstants.MENU_TREE); // 获取所有地区信息 省市区三级 List<Menu> regions = getReginList(regionList); - // 所有地区 - Map<String, Menu> courseTypeMap = regions.stream(). - collect(Collectors.toMap(region -> region.getMenuId().toString() - , region -> region)); + Map<String, Menu> courseTypeMap = new HashMap<>(); + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserMapper.selectById(userid); + if (sysUser.getFranchiseeId()==null){ + // 加盟商才有加盟商余额管理 + courseTypeMap = regions.stream().filter(region -> region.getMenuId() != 88900&& + region.getMenuId() != 88901&& + region.getMenuId() != 88902&& + region.getMenuId() != 88903). + collect(Collectors.toMap(region -> region.getMenuId().toString() + , region -> region)); + } + redisTemplate.opsForHash().putAll(RedisConstants.MENU_TREE, courseTypeMap); redisTemplate.expire(RedisConstants.MENU_TREE, 30, TimeUnit.MINUTES); // 生成map集合 diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/TencentCosUtil.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/TencentCosUtil.java index a7dc989..21e5c5e 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/TencentCosUtil.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/TencentCosUtil.java @@ -94,7 +94,7 @@ //上传文件 PutObjectResult putResult = getCosClient().putObject(bucketName, key, inputStream, objectMetadata); // 创建文件的网络访问路径 - String url = rootSrc + key; + String url = "https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/" + key; //关闭 cosClient,并释放 HTTP 连接的后台管理线程 getCosClient().shutdown(); return url; diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/MoneyRecentQuery.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/MoneyRecentQuery.java index cf32302..a2fd25a 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/MoneyRecentQuery.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/MoneyRecentQuery.java @@ -11,7 +11,7 @@ @ApiModelProperty("加盟商id") private Integer franchId; @ApiModelProperty("加盟商名字,查询用") - private Integer franchName; + private String name; @ApiModelProperty("1扣款2充值") private Integer type; @ApiModelProperty("扣款时间1") diff --git "a/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\212\240\347\233\237\345\225\206\344\275\231\351\242\235\350\256\260\345\275\225.xlsx" "b/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\212\240\347\233\237\345\225\206\344\275\231\351\242\235\350\256\260\345\275\225.xlsx" index 78cf2c3..81d7b79 100644 --- "a/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\212\240\347\233\237\345\225\206\344\275\231\351\242\235\350\256\260\345\275\225.xlsx" +++ "b/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\212\240\347\233\237\345\225\206\344\275\231\351\242\235\350\256\260\345\275\225.xlsx" Binary files differ diff --git "a/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\212\240\347\233\237\345\225\206\346\211\243\346\254\276\350\256\260\345\275\225.xlsx" "b/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\212\240\347\233\237\345\225\206\346\211\243\346\254\276\350\256\260\345\275\225.xlsx" index 49739c2..52aebfb 100644 --- "a/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\212\240\347\233\237\345\225\206\346\211\243\346\254\276\350\256\260\345\275\225.xlsx" +++ "b/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\212\240\347\233\237\345\225\206\346\211\243\346\254\276\350\256\260\345\275\225.xlsx" Binary files differ diff --git "a/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\257\274\350\241\250\345\275\225\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277 .xlsx" "b/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\257\274\350\241\250\345\275\225\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277 .xlsx" new file mode 100644 index 0000000..dd5e7e7 --- /dev/null +++ "b/ruoyi-service/ruoyi-admin/src/main/resources/template/\345\257\274\350\241\250\345\275\225\345\215\225\345\257\274\345\205\245\346\250\241\346\235\277 .xlsx" Binary files differ diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChangeDispatchController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChangeDispatchController.java index 19966a4..0d7415f 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChangeDispatchController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChangeDispatchController.java @@ -53,6 +53,7 @@ @PostMapping(value = "/page") @ApiImplicitParams({ @ApiImplicitParam(value = "师傅名称", name = "workerName", dataType = "String"), + @ApiImplicitParam(value = "预约人姓名", name = "reservationName", dataType = "String"), @ApiImplicitParam(value = "订单编号", name = "orderNumber", dataType = "String"), @ApiImplicitParam(value = "下单用户名称", name = "userName", dataType = "String"), @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true), 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 4a5ad8c..b080f34 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 @@ -592,7 +592,8 @@ @RequestParam("siteIds") List<String> siteIds ) { Page<Order> page = orderService.lambdaQuery().eq(Order::getUserId, userId) - .eq(Order::getIsDelete, 0).in(!siteIds.isEmpty(),Order::getSiteId, siteIds).in(!cityList.isEmpty(),Order::getCityCode, cityList).page(Page.of(pageNum, pageSize)); + .eq(Order::getIsDelete, 0) + .in(!cityList.isEmpty(),Order::getCityCode, cityList).page(Page.of(pageNum, pageSize)); return R.ok(page); } diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java index 2918b8e..6f5d07f 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/Order.java @@ -177,6 +177,31 @@ @TableField(exist = false) private String applyReason; + @ApiModelProperty("代派单") + @TableField(exist = false) + private Integer toBeDispatched=0; + @ApiModelProperty("待上门") + @TableField(exist = false) + private Integer stayDoorstep=0; + @ApiModelProperty("带完工") + @TableField(exist = false) + private Integer toBeCompleted=0; + @ApiModelProperty("已完结") + @TableField(exist = false) + private Integer completed=0; + @ApiModelProperty("已取消") + @TableField(exist = false) + private Integer canceled =0; + @ApiModelProperty("再投数量") + @TableField(exist = false) + private Integer reInvestment=0; + + + + + + + @ApiModelProperty("是否为再投单") @TableField("is_reinvest") private Integer isReinvest; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java index 0263b89..6747f6a 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java @@ -112,7 +112,7 @@ * @param orderQueryRequest 筛选参数 * @return 统计数量 */ - List<Order> orderPageCount(@Param("data") OrderQueryRequest orderQueryRequest); + Order orderPageCount(@Param("data") OrderQueryRequest orderQueryRequest); /** * 根据所选id查询 diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/ChangeDispatchRequest.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/ChangeDispatchRequest.java index 477a8d7..723ca9e 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/ChangeDispatchRequest.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/ChangeDispatchRequest.java @@ -18,6 +18,8 @@ private String reservationAddress; private String userName; + private String reservationPhone; + private String reservationName; private Integer pageNum; diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 42de2ee..1f61d32 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -1,4 +1,5 @@ package com.ruoyi.order.service.impl; +import java.util.Date; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -131,12 +132,12 @@ Page<Order> page = Page.of(orderQueryRequest.getPageNum(), orderQueryRequest.getPageSize()); // 基础查询 Page<Order> pageList = baseMapper.queryPage(orderQueryRequest, page); + List<ChangeDispatch> list = changeDispatchService.lambdaQuery() + .eq(ChangeDispatch::getIsDelete, 0) + .orderByDesc(ChangeDispatch::getCreateTime).list(); for (Order order : pageList.getRecords()) { - ChangeDispatch changeDispatch = changeDispatchService.lambdaQuery() - .eq(ChangeDispatch::getOrderId, order.getId()) - .eq(ChangeDispatch::getIsDelete, 0) - .orderByDesc(ChangeDispatch::getCreateTime) - .last("limit 1").one(); + ChangeDispatch changeDispatch = list.stream().filter(e -> e.getOrderId().equals(order.getId())) + .findFirst().orElse(null); if (null != changeDispatch) { order.setApplyReason(changeDispatch.getApplyReason()); } @@ -160,34 +161,18 @@ @Override public OrderPageCountVO orderPageCount(OrderQueryRequest orderQueryRequest) { - List<Order> orderList = baseMapper.orderPageCount(orderQueryRequest); - int total = 0; - int toBeDispatched = 0; - int stayDoorstep = 0; - int toBeCompleted = 0; - int completed = 0; - int canceled = 0; - int reInvestment = 0; - for (Order order : orderList) { - total++; - Integer state = order.getState(); - if (Constants.ZERO.equals(state)) { - toBeDispatched++; - } else if (Constants.ONE.equals(state)) { - stayDoorstep++; - } else if (Constants.TWO.equals(state)) { - toBeCompleted++; - } else if (Constants.THREE.equals(state)) { - completed++; - } else if (Constants.FOUR.equals(state)) { - canceled++; - } - if (order.getState().equals(Constants.SIX)) { - reInvestment++; - } - } - return new OrderPageCountVO(total, toBeDispatched, stayDoorstep, - toBeCompleted, completed, canceled, reInvestment); + Order order = baseMapper.orderPageCount(orderQueryRequest); + + Integer toBeDispatched = order.getToBeDispatched(); + Integer stayDoorstep = order.getStayDoorstep(); + Integer toBeCompleted = order.getToBeCompleted(); + Integer completed = order.getCompleted(); + Integer canceled = order.getCanceled(); + Integer reInvestment = order.getReInvestment(); + int total = toBeDispatched + stayDoorstep + toBeCompleted + completed + canceled + reInvestment; + return new OrderPageCountVO(total, toBeDispatched, stayDoorstep, + toBeCompleted, completed, canceled, reInvestment); + } @Override diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/GetTransferBatchByOutNo.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/GetTransferBatchByOutNo.java index 8b2c37a..2afd669 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/GetTransferBatchByOutNo.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vx/GetTransferBatchByOutNo.java @@ -9,7 +9,7 @@ public class GetTransferBatchByOutNo { /** 商户号 */ public static String merchantId = "1665330417"; /** 商户API私钥路径 */ public static String privateKeyPath = - "/usr/local/vx/apiclient_key.pem"; /** 商户证书序列号 */ + "E:/cert/ershou/apiclient_key.pem"; /** 商户证书序列号 */ public static String merchantSerialNumber = "7EEA04429B006E12AAA421C002EC48BBEED5BE94"; /** 商户APIV3密钥 */ public static String apiV3Key = "TA2npSNWmS0GcB0tFFRWA94rm1M0iSFs"; diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml index 167c122..fd84ad8 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml @@ -40,7 +40,13 @@ and c.user_name like concat('%', #{data.userName}, '%') </if> <if test="data.reservationAddress != null and data.reservationAddress != ''"> - and o.reservationAddress like concat('%', #{data.reservationAddress}, '%') + and o.reservation_address like concat('%', #{data.reservationAddress}, '%') + </if> + <if test="data.reservationPhone != null and data.reservationPhone != ''"> + and o.reservation_phone like concat('%', #{data.reservationPhone}, '%') + </if> + <if test="data.reservationName != null and data.reservationName != ''"> + and o.reservation_name like concat('%', #{data.reservationName}, '%') </if> <if test="data.cityList != null and data.cityList.size() != 0"> and o.city_code in diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 450257e..463026a 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -377,8 +377,14 @@ order by o.createTime desc </select> - <select id="orderPageCount" resultMap="BaseResultMap"> - select o.* + <select id="orderPageCount" resultType="com.ruoyi.order.entity.Order"> + select + sum(case when o.state = 0 then 1 end) as toBeDispatched, + sum(case when o.state = 1 then 1 end) as stayDoorstep, + sum(case when o.state = 2 then 1 end) as toBeCompleted, + sum(case when o.state = 3 then 1 end) as completed, + sum(case when o.state = 4 then 1 end) as canceled, + sum(case when o.state = 6 then 1 end) as reInvestment from t_order o <where> o.is_delete = 0 -- Gitblit v1.7.1