xuhy
5 天以前 f6965e7733623222cef5165d5007d9c038d737b3
添加订单虚拟号
7个文件已修改
59 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/OrderInfoVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -25,7 +25,7 @@
    public OrderClient create(Throwable cause) {
        return new OrderClient() {
            @Override
            public R<Boolean> save(OrderRequest orderRequest) {
            public R<String> save(OrderRequest orderRequest) {
                return R.fail(cause.getMessage());
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -35,7 +35,7 @@
     * @return 返回结果
     */
    @PostMapping(value = "/order/save")
    R<Boolean> save(@RequestBody OrderRequest orderRequest);
    R<String> save(@RequestBody OrderRequest orderRequest);
    @PostMapping(value = "/order/edit")
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
@@ -357,9 +357,10 @@
        }else {
            order.setOrderMoney(one.getRecoveryPrice());
        }
        Boolean data = orderClient.save(order).getData();
        if (null == data) {
            return R.fail(orderClient.save(order).getMsg());
        R<String> saveResult = orderClient.save(order);
        String orderId = saveResult.getData();
        if (!StringUtils.hasLength(orderId)) {
            return R.fail(saveResult.getMsg());
        }
        System.out.println("服务人员id:" + order.getServerId());
        ChannelHandlerContext context = NettyChannelMap.getData(String.valueOf(order.getServerId()));
@@ -368,7 +369,31 @@
            System.out.println("服务端发送消息到: " + order.getServerId());
            NettyWebSocketController.sendMsgToClient(context, "您有一条新的订单,请注意查收!");
        }
        return data ? R.ok() : R.fail();
        if (null != order.getServerId()) {
            MasterWorker masterWorker = masterWorkerService.lambdaQuery()
                    .eq(MasterWorker::getId, order.getServerId())
                    .eq(MasterWorker::getIsDelete, 0).one();
            try{
                // 虚拟号码  师傅号码备案
                String fileName = privateNumberUtil.uploadNumberFile(masterWorker.getProfilePicture()).getData();
                R r = privateNumberUtil.addANumber(masterWorker.getPhone(), masterWorker.getRealName(), masterWorker.getIdNumber(), fileName);
            }catch (Exception e){
                throw new GlobalException("虚拟号码绑定异常!");
            }
            // 虚拟号码配置
            IamConfig iamConfig = iamConfigService.getById(1);
            if(Objects.nonNull(order.getIsOpenVirtualNumber()) && order.getIsOpenVirtualNumber() == 1){
                // 虚拟号码绑定
                String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), order.getOrderNumber(), order.getReservationPhone(), masterWorker.getPhone());
                // 存储绑定后的唯一标识
                JSONObject jsonObject = JSONObject.parseObject(result);
                String subscriptionId = jsonObject.getString("subscriptionId");
                orderClient.updateSubscriptionId(orderId, subscriptionId,iamConfig.getVirtualNumber());
            }
        }
        return StringUtils.hasLength(orderId) ? R.ok() : R.fail();
    }
@@ -401,6 +426,17 @@
                    .eq(MasterWorker::getIsDelete, 0).one();
            order.setServerName(masterWorker.getRealName());
            order.setServerPhone(masterWorker.getPhone());
            IamConfig iamConfig = iamConfigService.getById(1);
            if(Objects.nonNull(order.getIsOpenVirtualNumber()) && order.getIsOpenVirtualNumber() == 1){
                // 虚拟号码绑定
                String result = AXBUtil.axbBindNumber(iamConfig.getAppKey(), iamConfig.getAppSecret(), order.getOrderNumber(), order.getReservationPhone(), masterWorker.getPhone());
                // 存储绑定后的唯一标识
                JSONObject jsonObject = JSONObject.parseObject(result);
                String subscriptionId = jsonObject.getString("subscriptionId");
                orderClient.updateSubscriptionId(orderData.getId(), subscriptionId,iamConfig.getVirtualNumber());
            }
        } else {
            // 待派单状态
            order.setState(Constants.ZERO);
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java
@@ -220,6 +220,7 @@
            orderInfo.setRemark(order.getRemark());
            orderInfo.setCompleteTime(order.getCompleteTime());
            orderInfo.setReservationRemark(order.getReservationRemark());
            orderInfo.setPhoneRecording(order.getPhoneRecording());
        }
        result.setOrderInfo(orderInfo);
    }
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/OrderInfoVO.java
@@ -1,5 +1,6 @@
package com.ruoyi.admin.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -31,5 +32,6 @@
    private String reservationRemark;
    @ApiModelProperty("备注")
    private String remark;
    @ApiModelProperty("电话录音")
    private String phoneRecording;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -358,7 +358,7 @@
     */
    @ApiOperation(value = "订单列表-新增订单", tags = {"后台-订单管理"})
    @PostMapping(value = "/save")
    public R<Boolean> save(@RequestBody OrderRequest orderRequest) {
    public R<String> save(@RequestBody OrderRequest orderRequest) {
        R<BigDecimal> servePrice = userClient.getServePrice(orderRequest.getServeId(), orderRequest.getCityCode());
        if (servePrice.getData()!=null){
@@ -407,7 +407,8 @@
        order.setProvinceCode(orderRequest.getProvinceCode());
        order.setAreaCode(orderRequest.getAreaCode());
        order.setIsOpenVirtualNumber(orderRequest.getIsOpenVirtualNumber());
        return R.ok(orderService.save(order));
        orderService.save(order);
        return R.ok(order.getId(),"新增成功");
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -370,6 +370,7 @@
        order.setAddress("");
        order.setCity(cityCode.getData().getCity());
        order.setCityCode(cityCode.getData().getCityCode());
        order.setIsOpenVirtualNumber(1);
        this.save(order);
        return String.valueOf(order.getId());
    }