From 4ec11f0f69fd17163f7ab26e7fc0a8902a705333 Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Wed, 4 Dec 2024 00:04:53 +0800 Subject: [PATCH] init --- common/common-log/pom.xml | 44 ++++ .../atguigu/daijia/common/annotation/Log.java | 39 +++ .../daijia/common/aspect/LogAspect.java | 183 ++++++++++++++ .../daijia/common/enums/BusinessType.java | 52 ++++ .../daijia/common/enums/OperatorType.java | 21 ++ common/common-util/pom.xml | 38 +++ .../atguigu/daijia/common/result/Result.java | 83 ++++++ .../daijia/common/result/ResultCodeEnum.java | 58 +++++ .../daijia/common/util/AuthContextHolder.java | 22 ++ .../atguigu/daijia/common/util/IpUtil.java | 82 ++++++ .../daijia/common/util/LocationUtil.java | 39 +++ .../com/atguigu/daijia/common/util/MD5.java | 35 +++ .../daijia/common/util/ResponseUtil.java | 23 ++ common/pom.xml | 22 ++ common/rabbit-util/pom.xml | 46 ++++ .../daijia/common/constant/MqConst.java | 23 ++ .../common/entity/GuiguCorrelationData.java | 21 ++ .../daijia/common/service/RabbitService.java | 10 + common/service-util/pom.xml | 77 ++++++ .../common/config/knife4j/Knife4jConfig.java | 44 ++++ .../config/mybatisPlus/MybatisPlusConfig.java | 32 +++ .../common/config/redis/RedisConfig.java | 90 +++++++ .../daijia/common/constant/RedisConstant.java | 48 ++++ .../common/constant/SystemConstant.java | 23 ++ .../common/execption/GuiguException.java | 45 ++++ .../handler/GlobalExceptionHandler.java | 101 ++++++++ common/spring-security/pom.xml | 50 ++++ .../security/config/WebSecurityConfig.java | 92 +++++++ .../CustomAuthenticationEntryPoint.java | 22 ++ .../custom/CustomMd5PasswordEncoder.java | 26 ++ .../daijia/security/custom/CustomUser.java | 29 +++ .../fillter/TokenAuthenticationFilter.java | 88 +++++++ .../security/fillter/TokenLoginFilter.java | 124 +++++++++ .../service/UserDetailsServiceImpl.java | 37 +++ model/pom.xml | 58 +++++ .../daijia/model/entity/base/BaseEntity.java | 36 +++ .../model/entity/coupon/CouponInfo.java | 67 +++++ .../model/entity/coupon/CustomerCoupon.java | 46 ++++ .../model/entity/customer/CustomerCar.java | 22 ++ .../model/entity/customer/CustomerInfo.java | 31 +++ .../entity/customer/CustomerLoginLog.java | 25 ++ .../model/entity/dispatch/OrderJob.java | 28 +++ .../model/entity/dispatch/XxlJobInfo.java | 237 ++++++++++++++++++ .../model/entity/dispatch/XxlJobLog.java | 32 +++ .../model/entity/driver/DriverAccount.java | 42 ++++ .../entity/driver/DriverAccountDetail.java | 38 +++ .../entity/driver/DriverFaceRecognition.java | 26 ++ .../model/entity/driver/DriverInfo.java | 135 ++++++++++ .../model/entity/driver/DriverLoginLog.java | 32 +++ .../daijia/model/entity/driver/DriverSet.java | 38 +++ .../entity/map/OrderServiceLocation.java | 32 +++ .../daijia/model/entity/order/OrderBill.java | 114 +++++++++ .../model/entity/order/OrderComment.java | 44 ++++ .../daijia/model/entity/order/OrderInfo.java | 127 ++++++++++ .../model/entity/order/OrderMonitor.java | 36 +++ .../entity/order/OrderMonitorRecord.java | 35 +++ .../entity/order/OrderProfitsharing.java | 58 +++++ .../model/entity/order/OrderStatusLog.java | 30 +++ .../daijia/model/entity/order/OrderTrack.java | 40 +++ .../model/entity/payment/PaymentInfo.java | 59 +++++ .../entity/payment/ProfitsharingInfo.java | 44 ++++ .../daijia/model/entity/rule/CancelRule.java | 28 +++ .../daijia/model/entity/rule/FeeRule.java | 28 +++ .../model/entity/rule/ProfitsharingRule.java | 28 +++ .../daijia/model/entity/rule/RewardRule.java | 28 +++ .../daijia/model/entity/system/SysDept.java | 50 ++++ .../model/entity/system/SysLoginLog.java | 38 +++ .../daijia/model/entity/system/SysMenu.java | 69 +++++ .../model/entity/system/SysOperLog.java | 74 ++++++ .../daijia/model/entity/system/SysPost.java | 32 +++ .../daijia/model/entity/system/SysRole.java | 31 +++ .../model/entity/system/SysRoleMenu.java | 25 ++ .../daijia/model/entity/system/SysUser.java | 66 +++++ .../model/entity/system/SysUserRole.java | 24 ++ .../daijia/model/enums/OrderStatus.java | 37 +++ .../atguigu/daijia/model/enums/TradeType.java | 21 ++ .../model/form/coupon/UseCouponForm.java | 23 ++ .../model/form/customer/ExpectOrderForm.java | 22 ++ .../model/form/customer/SubmitOrderForm.java | 35 +++ .../form/customer/UpdateCustomerInfoForm.java | 20 ++ .../customer/UpdateCustomerPhoneForm.java | 17 ++ .../form/customer/UpdateWxPhoneForm.java | 14 ++ .../form/driver/DriverFaceModelForm.java | 14 ++ .../model/form/driver/IdCardOcrForm.java | 11 + .../model/form/driver/TransferForm.java | 26 ++ .../form/driver/UpdateDriverAuthInfoForm.java | 81 ++++++ .../form/driver/UpdateDriverPhoneForm.java | 15 ++ .../form/map/CalculateDrivingLineForm.java | 22 ++ .../form/map/OrderServiceLocationForm.java | 20 ++ .../form/map/SearchNearByDriverForm.java | 19 ++ .../form/map/UpdateDriverLocationForm.java | 20 ++ .../form/map/UpdateOrderLocationForm.java | 20 ++ .../model/form/order/OrderCommentForm.java | 26 ++ .../daijia/model/form/order/OrderFeeForm.java | 29 +++ .../model/form/order/OrderInfoForm.java | 51 ++++ .../model/form/order/OrderMonitorForm.java | 16 ++ .../model/form/order/StartDriveForm.java | 17 ++ .../model/form/order/UpdateOrderBillForm.java | 106 ++++++++ .../model/form/order/UpdateOrderCartForm.java | 39 +++ .../form/payment/CreateWxPaymentForm.java | 17 ++ .../model/form/payment/PaymentInfoForm.java | 29 +++ .../model/form/payment/ProfitsharingForm.java | 20 ++ .../model/form/rules/FeeRuleRequest.java | 20 ++ .../model/form/rules/FeeRuleRequestForm.java | 21 ++ .../form/rules/ProfitsharingRuleRequest.java | 17 ++ .../rules/ProfitsharingRuleRequestForm.java | 17 ++ .../model/form/rules/RewardRuleRequest.java | 15 ++ .../form/rules/RewardRuleRequestForm.java | 17 ++ .../daijia/model/form/system/LoginForm.java | 17 ++ .../query/customer/CustomerInfoQuery.java | 24 ++ .../model/query/driver/DriverInfoQuery.java | 24 ++ .../model/query/order/OrderInfoQuery.java | 24 ++ .../model/query/system/SysLoginLogQuery.java | 16 ++ .../model/query/system/SysOperLogQuery.java | 15 ++ .../model/query/system/SysPostQuery.java | 19 ++ .../model/query/system/SysRoleQuery.java | 29 +++ .../model/query/system/SysUserQuery.java | 30 +++ .../atguigu/daijia/model/vo/base/LoginVo.java | 20 ++ .../atguigu/daijia/model/vo/base/PageVo.java | 42 ++++ .../model/vo/coupon/AvailableCouponVo.java | 52 ++++ .../model/vo/coupon/NoReceiveCouponVo.java | 41 +++ .../daijia/model/vo/coupon/NoUseCouponVo.java | 47 ++++ .../daijia/model/vo/coupon/UsedCouponVo.java | 43 ++++ .../model/vo/customer/CustomerInfoVo.java | 25 ++ .../model/vo/customer/CustomerLoginVo.java | 23 ++ .../model/vo/customer/ExpectOrderVo.java | 18 ++ .../model/vo/dispatch/NewOrderTaskVo.java | 47 ++++ .../daijia/model/vo/driver/CosUploadVo.java | 15 ++ .../model/vo/driver/DriverAuthInfoVo.java | 87 +++++++ .../daijia/model/vo/driver/DriverInfoVo.java | 35 +++ .../model/vo/driver/DriverLicenseOcrVo.java | 36 +++ .../daijia/model/vo/driver/DriverLoginVo.java | 30 +++ .../daijia/model/vo/driver/IdCardOcrVo.java | 39 +++ .../daijia/model/vo/map/DrivingLineVo.java | 21 ++ .../daijia/model/vo/map/NearByDriverVo.java | 16 ++ .../daijia/model/vo/map/OrderLocationVo.java | 16 ++ .../vo/map/OrderServiceLastLocationVo.java | 17 ++ .../model/vo/order/CurrentOrderInfoVo.java | 17 ++ .../daijia/model/vo/order/NewOrderDataVo.java | 38 +++ .../daijia/model/vo/order/OrderBillVo.java | 74 ++++++ .../daijia/model/vo/order/OrderInfoVo.java | 56 +++++ .../daijia/model/vo/order/OrderListVo.java | 32 +++ .../daijia/model/vo/order/OrderPayVo.java | 40 +++ .../model/vo/order/OrderProfitsharingVo.java | 44 ++++ .../daijia/model/vo/order/OrderRewardVo.java | 20 ++ .../daijia/model/vo/order/TextAuditingVo.java | 15 ++ .../daijia/model/vo/payment/WxPrepayVo.java | 26 ++ .../model/vo/rules/FeeRuleResponse.java | 53 ++++ .../model/vo/rules/FeeRuleResponseVo.java | 55 ++++ .../vo/rules/ProfitsharingRuleResponse.java | 31 +++ .../vo/rules/ProfitsharingRuleResponseVo.java | 34 +++ .../model/vo/rules/RewardRuleResponse.java | 15 ++ .../model/vo/rules/RewardRuleResponseVo.java | 17 ++ .../daijia/model/vo/system/AssginMenuVo.java | 19 ++ .../daijia/model/vo/system/AssginRoleVo.java | 19 ++ .../daijia/model/vo/system/LoginVo.java | 34 +++ .../daijia/model/vo/system/MetaVo.java | 46 ++++ .../daijia/model/vo/system/RouterVo.java | 50 ++++ pom.xml | 200 +++++++++++++++ server-gateway/pom.xml | 71 ++++++ .../daijia/ServerGatewayApplication.java | 17 ++ .../gateway/filter/AuthGlobalFilter.java | 31 +++ .../src/main/resources/bootstrap.yml | 16 ++ service-client/pom.xml | 54 ++++ service-client/service-coupon-client/pom.xml | 15 ++ .../coupon/client/CouponFeignClient.java | 10 + .../service-customer-client/pom.xml | 15 ++ .../client/CustomerInfoFeignClient.java | 9 + .../service-dispatch-client/pom.xml | 15 ++ .../dispatch/client/NewOrderFeignClient.java | 10 + service-client/service-driver-client/pom.xml | 15 ++ .../daijia/driver/client/CiFeignClient.java | 13 + .../daijia/driver/client/CosFeignClient.java | 16 ++ .../client/DriverAccountFeignClient.java | 13 + .../driver/client/DriverInfoFeignClient.java | 20 ++ .../daijia/driver/client/OcrFeignClient.java | 16 ++ service-client/service-map-client/pom.xml | 15 ++ .../map/client/LocationFeignClient.java | 9 + .../daijia/map/client/MapFeignClient.java | 9 + service-client/service-order-client/pom.xml | 15 ++ .../order/client/OrderInfoFeignClient.java | 10 + .../order/client/OrderMonitorFeignClient.java | 10 + service-client/service-payment-client/pom.xml | 15 ++ .../daijia/map/client/WxPayFeignClient.java | 10 + service-client/service-rules-client/pom.xml | 15 ++ .../rules/client/FeeRuleFeignClient.java | 9 + .../client/ProfitsharingRuleFeignClient.java | 9 + .../rules/client/RewardRuleFeignClient.java | 9 + service-client/service-system-client/pom.xml | 15 ++ .../client/SecurityLoginFeignClient.java | 48 ++++ .../system/client/SysDeptFeignClient.java | 52 ++++ .../system/client/SysLoginLogFeignClient.java | 40 +++ .../system/client/SysMenuFeignClient.java | 50 ++++ .../system/client/SysOperLogFeignClient.java | 40 +++ .../system/client/SysPostFeignClient.java | 40 +++ .../system/client/SysRoleFeignClient.java | 105 ++++++++ .../system/client/SysUserFeignClient.java | 75 ++++++ service/pom.xml | 114 +++++++++ service/service-coupon/pom.xml | 28 +++ .../daijia/ServiceCouponApplication.java | 16 ++ .../controller/CouponInfoController.java | 18 ++ .../coupon/mapper/CouponInfoMapper.java | 10 + .../coupon/mapper/CustomerCouponMapper.java | 11 + .../coupon/service/CouponInfoService.java | 9 + .../service/impl/CouponInfoServiceImpl.java | 15 ++ .../src/main/resources/bootstrap.properties | 8 + .../resources/mapper/CouponInfoMapper.xml | 121 +++++++++ service/service-customer/pom.xml | 32 +++ .../daijia/ServiceCustomerApplication.java | 16 ++ .../controller/CustomerInfoController.java | 29 +++ .../customer/mapper/CustomerInfoMapper.java | 10 + .../mapper/CustomerLoginLogMapper.java | 11 + .../customer/service/CustomerInfoService.java | 8 + .../service/impl/CustomerInfoServiceImpl.java | 16 ++ .../src/main/resources/bootstrap.properties | 8 + service/service-dispatch/pom.xml | 31 +++ .../daijia/ServiceDispatchApplication.java | 23 ++ .../controller/NewOrderController.java | 20 ++ .../dispatch/mapper/OrderJobMapper.java | 10 + .../dispatch/mapper/XxlJobLogMapper.java | 10 + .../dispatch/service/NewOrderService.java | 5 + .../service/impl/NewOrderServiceImpl.java | 12 + .../src/main/resources/bootstrap.properties | 8 + service/service-driver/pom.xml | 27 ++ .../daijia/ServiceDriverApplication.java | 18 ++ .../driver/controller/CiController.java | 24 ++ .../driver/controller/CosController.java | 23 ++ .../controller/DriverAccountController.java | 19 ++ .../controller/DriverInfoController.java | 20 ++ .../driver/controller/OcrController.java | 26 ++ .../mapper/DriverAccountDetailMapper.java | 11 + .../driver/mapper/DriverAccountMapper.java | 11 + .../mapper/DriverFaceRecognitionMapper.java | 11 + .../driver/mapper/DriverInfoMapper.java | 10 + .../driver/mapper/DriverLoginLogMapper.java | 11 + .../daijia/driver/mapper/DriverSetMapper.java | 10 + .../daijia/driver/service/CiService.java | 6 + .../daijia/driver/service/CosService.java | 6 + .../driver/service/DriverAccountService.java | 9 + .../driver/service/DriverInfoService.java | 8 + .../daijia/driver/service/OcrService.java | 6 + .../driver/service/impl/CiServiceImpl.java | 10 + .../driver/service/impl/CosServiceImpl.java | 13 + .../impl/DriverAccountServiceImpl.java | 16 ++ .../service/impl/DriverInfoServiceImpl.java | 17 ++ .../driver/service/impl/OcrServiceImpl.java | 13 + .../src/main/resources/bootstrap.properties | 8 + .../mapper/DriverAccountDetailMapper.xml | 17 ++ .../resources/mapper/DriverAccountMapper.xml | 18 ++ .../resources/mapper/DriverInfoMapper.xml | 18 ++ service/service-map/pom.xml | 28 +++ .../atguigu/daijia/ServiceMapApplication.java | 24 ++ .../map/controller/LocationController.java | 19 ++ .../daijia/map/controller/MapController.java | 19 ++ .../OrderServiceLocationRepository.java | 10 + .../daijia/map/service/LocationService.java | 5 + .../daijia/map/service/MapService.java | 5 + .../map/service/impl/LocationServiceImpl.java | 15 ++ .../map/service/impl/MapServiceImpl.java | 15 ++ .../src/main/resources/bootstrap.properties | 8 + service/service-mq/pom.xml | 33 +++ .../atguigu/daijia/ServiceMqApplication.java | 17 ++ .../daijia/mq/controller/MqController.java | 15 ++ .../daijia/mq/receiver/ConfirmReceiver.java | 16 ++ .../src/main/resources/bootstrap.properties | 8 + service/service-order/pom.xml | 33 +++ .../daijia/ServiceOrderApplication.java | 16 ++ .../order/controller/OrderInfoController.java | 18 ++ .../controller/OrderMonitorController.java | 15 ++ .../daijia/order/mapper/OrderBillMapper.java | 10 + .../order/mapper/OrderCommentMapper.java | 10 + .../daijia/order/mapper/OrderInfoMapper.java | 10 + .../order/mapper/OrderMonitorMapper.java | 11 + .../mapper/OrderProfitsharingMapper.java | 11 + .../order/mapper/OrderStatusLogMapper.java | 11 + .../daijia/order/mapper/OrderTrackMapper.java | 10 + .../OrderMonitorRecordRepository.java | 11 + .../order/service/OrderInfoService.java | 8 + .../order/service/OrderMonitorService.java | 8 + .../service/impl/OrderInfoServiceImpl.java | 15 ++ .../service/impl/OrderMonitorServiceImpl.java | 15 ++ .../src/main/resources/bootstrap.properties | 8 + .../main/resources/mapper/OrderBillMapper.xml | 11 + .../main/resources/mapper/OrderInfoMapper.xml | 11 + service/service-payment/pom.xml | 28 +++ .../daijia/ServicePaymentApplication.java | 16 ++ .../payment/controller/WxPayController.java | 18 ++ .../payment/mapper/PaymentInfoMapper.java | 11 + .../mapper/ProfitsharingInfoMapper.java | 11 + .../daijia/payment/service/WxPayService.java | 6 + .../service/WxProfitsharingService.java | 5 + .../service/impl/WxPayServiceImpl.java | 14 ++ .../impl/WxProfitsharingServiceImpl.java | 14 ++ .../src/main/resources/apiclient_key.pem | 28 +++ .../src/main/resources/bootstrap.properties | 8 + service/service-rules/pom.xml | 29 +++ .../daijia/ServiceRulesApplication.java | 16 ++ .../rules/controller/FeeRuleController.java | 18 ++ .../ProfitsharingRuleController.java | 17 ++ .../controller/RewardRuleController.java | 17 ++ .../daijia/rules/mapper/FeeRuleMapper.java | 11 + .../rules/mapper/ProfitsharingRuleMapper.java | 10 + .../daijia/rules/mapper/RewardRuleMapper.java | 10 + .../daijia/rules/service/FeeRuleService.java | 5 + .../service/ProfitsharingRuleService.java | 5 + .../rules/service/RewardRuleService.java | 5 + .../service/impl/FeeRuleServiceImpl.java | 15 ++ .../impl/ProfitsharingRuleServiceImpl.java | 18 ++ .../service/impl/RewardRuleServiceImpl.java | 15 ++ .../src/main/resources/bootstrap.properties | 8 + .../src/main/resources/rules/FeeRule.drl | 179 +++++++++++++ .../resources/rules/ProfitsharingRule.drl | 125 +++++++++ .../src/main/resources/rules/RewardRule.drl | 39 +++ service/service-system/pom.xml | 28 +++ .../daijia/ServiceSystemApplication.java | 17 ++ .../system/config/DataSourceConfig.java | 58 +++++ .../controller/SecurityLoginController.java | 57 +++++ .../system/controller/SysDeptController.java | 67 +++++ .../controller/SysLoginLogController.java | 60 +++++ .../system/controller/SysMenuController.java | 61 +++++ .../controller/SysOperLogController.java | 61 +++++ .../system/controller/SysPostController.java | 80 ++++++ .../system/controller/SysRoleController.java | 101 ++++++++ .../system/controller/SysUserController.java | 78 ++++++ .../daijia/system/helper/DeptHelper.java | 40 +++ .../daijia/system/helper/MenuHelper.java | 50 ++++ .../daijia/system/mapper/SysDeptMapper.java | 13 + .../system/mapper/SysLoginLogMapper.java | 18 ++ .../daijia/system/mapper/SysMenuMapper.java | 18 ++ .../system/mapper/SysOperLogMapper.java | 18 ++ .../daijia/system/mapper/SysPostMapper.java | 18 ++ .../daijia/system/mapper/SysRoleMapper.java | 17 ++ .../system/mapper/SysRoleMenuMapper.java | 12 + .../daijia/system/mapper/SysUserMapper.java | 18 ++ .../system/mapper/SysUserRoleMapper.java | 13 + .../daijia/system/service/SysDeptService.java | 15 ++ .../system/service/SysLoginLogService.java | 21 ++ .../daijia/system/service/SysMenuService.java | 45 ++++ .../system/service/SysOperLogService.java | 17 ++ .../daijia/system/service/SysPostService.java | 18 ++ .../daijia/system/service/SysRoleService.java | 28 +++ .../daijia/system/service/SysUserService.java | 26 ++ .../service/impl/SysDeptServiceImpl.java | 57 +++++ .../service/impl/SysLoginLogServiceImpl.java | 36 +++ .../service/impl/SysMenuServiceImpl.java | 177 +++++++++++++ .../service/impl/SysOperLogServiceImpl.java | 31 +++ .../service/impl/SysPostServiceImpl.java | 43 ++++ .../service/impl/SysRoleServiceImpl.java | 77 ++++++ .../service/impl/SysUserServiceImpl.java | 73 ++++++ .../service/impl/UserDetailsServiceImpl.java | 40 +++ .../src/main/resources/bootstrap.properties | 7 + .../src/main/resources/file.conf | 66 +++++ .../resources/mapper/SysLoginLogMapper.xml | 40 +++ .../main/resources/mapper/SysMenuMapper.xml | 33 +++ .../resources/mapper/SysOperLogMapper.xml | 43 ++++ .../main/resources/mapper/SysPostMapper.xml | 40 +++ .../main/resources/mapper/SysRoleMapper.xml | 30 +++ .../main/resources/mapper/SysUserMapper.xml | 73 ++++++ .../src/main/resources/registry.conf | 89 +++++++ web/pom.xml | 124 +++++++++ web/web-customer/pom.xml | 37 +++ .../daijia/WebCustomerApplication.java | 19 ++ .../customer/controller/CouponController.java | 18 ++ .../controller/CustomerController.java | 18 ++ .../customer/controller/OrderController.java | 19 ++ .../customer/service/CouponService.java | 6 + .../customer/service/CustomerService.java | 6 + .../daijia/customer/service/OrderService.java | 5 + .../service/impl/CouponServiceImpl.java | 16 ++ .../service/impl/CustomerServiceImpl.java | 16 ++ .../service/impl/OrderServiceImpl.java | 12 + .../src/main/resources/bootstrap.properties | 8 + web/web-driver/pom.xml | 45 ++++ .../atguigu/daijia/WebDriverApplication.java | 18 ++ .../driver/controller/CosController.java | 19 ++ .../driver/controller/DriverController.java | 19 ++ .../driver/controller/FileController.java | 15 ++ .../driver/controller/LocationController.java | 19 ++ .../driver/controller/MonitorController.java | 19 ++ .../driver/controller/OcrController.java | 19 ++ .../driver/controller/OrderController.java | 19 ++ .../daijia/driver/service/CosService.java | 6 + .../daijia/driver/service/DriverService.java | 6 + .../daijia/driver/service/FileService.java | 5 + .../driver/service/LocationService.java | 6 + .../daijia/driver/service/MonitorService.java | 5 + .../daijia/driver/service/OcrService.java | 5 + .../daijia/driver/service/OrderService.java | 6 + .../driver/service/impl/CosServiceImpl.java | 13 + .../service/impl/DriverServiceImpl.java | 15 ++ .../driver/service/impl/FileServiceImpl.java | 15 ++ .../service/impl/LocationServiceImpl.java | 15 ++ .../service/impl/MonitorServiceImpl.java | 13 + .../driver/service/impl/OcrServiceImpl.java | 13 + .../driver/service/impl/OrderServiceImpl.java | 15 ++ .../src/main/resources/bootstrap.properties | 8 + web/web-mgr/pom.xml | 38 +++ .../com/atguigu/daijia/WebMgrApplication.java | 18 ++ .../controller/CustomerInfoController.java | 21 ++ .../mgr/controller/DriverInfoController.java | 23 ++ .../mgr/controller/OrderInfoController.java | 21 ++ .../controller/SecurityLoginController.java | 41 +++ .../mgr/controller/SysDeptController.java | 80 ++++++ .../mgr/controller/SysLoginLogController.java | 56 +++++ .../mgr/controller/SysMenuController.java | 77 ++++++ .../mgr/controller/SysOperLogController.java | 59 +++++ .../mgr/controller/SysPostController.java | 88 +++++++ .../mgr/controller/SysRoleController.java | 114 +++++++++ .../mgr/controller/SysUserController.java | 87 +++++++ .../mgr/service/CustomerInfoService.java | 5 + .../daijia/mgr/service/DriverInfoService.java | 5 + .../daijia/mgr/service/OrderInfoService.java | 6 + .../daijia/mgr/service/SysDeptService.java | 22 ++ .../mgr/service/SysLoginLogService.java | 20 ++ .../daijia/mgr/service/SysMenuService.java | 32 +++ .../daijia/mgr/service/SysOperLogService.java | 17 ++ .../daijia/mgr/service/SysPostService.java | 24 ++ .../daijia/mgr/service/SysRoleService.java | 31 +++ .../daijia/mgr/service/SysUserService.java | 23 ++ .../service/impl/CustomerInfoServiceImpl.java | 19 ++ .../service/impl/DriverInfoServiceImpl.java | 19 ++ .../service/impl/OrderInfoServiceImpl.java | 17 ++ .../mgr/service/impl/SysDeptServiceImpl.java | 54 ++++ .../service/impl/SysLoginLogServiceImpl.java | 32 +++ .../mgr/service/impl/SysMenuServiceImpl.java | 47 ++++ .../service/impl/SysOperLogServiceImpl.java | 32 +++ .../mgr/service/impl/SysPostServiceImpl.java | 54 ++++ .../mgr/service/impl/SysRoleServiceImpl.java | 65 +++++ .../mgr/service/impl/SysUserServiceImpl.java | 47 ++++ .../src/main/resources/bootstrap.properties | 7 + 430 files changed, 13591 insertions(+) create mode 100644 common/common-log/pom.xml create mode 100644 common/common-log/src/main/java/com/atguigu/daijia/common/annotation/Log.java create mode 100644 common/common-log/src/main/java/com/atguigu/daijia/common/aspect/LogAspect.java create mode 100644 common/common-log/src/main/java/com/atguigu/daijia/common/enums/BusinessType.java create mode 100644 common/common-log/src/main/java/com/atguigu/daijia/common/enums/OperatorType.java create mode 100644 common/common-util/pom.xml create mode 100644 common/common-util/src/main/java/com/atguigu/daijia/common/result/Result.java create mode 100644 common/common-util/src/main/java/com/atguigu/daijia/common/result/ResultCodeEnum.java create mode 100644 common/common-util/src/main/java/com/atguigu/daijia/common/util/AuthContextHolder.java create mode 100644 common/common-util/src/main/java/com/atguigu/daijia/common/util/IpUtil.java create mode 100644 common/common-util/src/main/java/com/atguigu/daijia/common/util/LocationUtil.java create mode 100644 common/common-util/src/main/java/com/atguigu/daijia/common/util/MD5.java create mode 100644 common/common-util/src/main/java/com/atguigu/daijia/common/util/ResponseUtil.java create mode 100644 common/pom.xml create mode 100644 common/rabbit-util/pom.xml create mode 100644 common/rabbit-util/src/main/java/com/atguigu/daijia/common/constant/MqConst.java create mode 100644 common/rabbit-util/src/main/java/com/atguigu/daijia/common/entity/GuiguCorrelationData.java create mode 100644 common/rabbit-util/src/main/java/com/atguigu/daijia/common/service/RabbitService.java create mode 100644 common/service-util/pom.xml create mode 100644 common/service-util/src/main/java/com/atguigu/daijia/common/config/knife4j/Knife4jConfig.java create mode 100644 common/service-util/src/main/java/com/atguigu/daijia/common/config/mybatisPlus/MybatisPlusConfig.java create mode 100644 common/service-util/src/main/java/com/atguigu/daijia/common/config/redis/RedisConfig.java create mode 100644 common/service-util/src/main/java/com/atguigu/daijia/common/constant/RedisConstant.java create mode 100644 common/service-util/src/main/java/com/atguigu/daijia/common/constant/SystemConstant.java create mode 100644 common/service-util/src/main/java/com/atguigu/daijia/common/execption/GuiguException.java create mode 100644 common/service-util/src/main/java/com/atguigu/daijia/common/handler/GlobalExceptionHandler.java create mode 100644 common/spring-security/pom.xml create mode 100644 common/spring-security/src/main/java/com/atguigu/daijia/security/config/WebSecurityConfig.java create mode 100644 common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomAuthenticationEntryPoint.java create mode 100644 common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomMd5PasswordEncoder.java create mode 100644 common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomUser.java create mode 100644 common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenAuthenticationFilter.java create mode 100644 common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenLoginFilter.java create mode 100644 common/spring-security/src/main/java/com/atguigu/daijia/security/service/UserDetailsServiceImpl.java create mode 100644 model/pom.xml create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/base/BaseEntity.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/coupon/CouponInfo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/coupon/CustomerCoupon.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerCar.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerInfo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerLoginLog.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/dispatch/OrderJob.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobInfo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobLog.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccount.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccountDetail.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverFaceRecognition.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverInfo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverLoginLog.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverSet.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/map/OrderServiceLocation.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/order/OrderBill.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/order/OrderComment.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/order/OrderInfo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitor.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitorRecord.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/order/OrderProfitsharing.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/order/OrderStatusLog.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/order/OrderTrack.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/payment/PaymentInfo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/payment/ProfitsharingInfo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/rule/CancelRule.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/rule/FeeRule.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/rule/ProfitsharingRule.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/rule/RewardRule.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysDept.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysLoginLog.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysMenu.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysOperLog.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysPost.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysRole.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysRoleMenu.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysUser.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/entity/system/SysUserRole.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/enums/OrderStatus.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/enums/TradeType.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/coupon/UseCouponForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/customer/ExpectOrderForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/customer/SubmitOrderForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerInfoForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerPhoneForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateWxPhoneForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/driver/DriverFaceModelForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/driver/IdCardOcrForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/driver/TransferForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverAuthInfoForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverPhoneForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/map/CalculateDrivingLineForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/map/OrderServiceLocationForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/map/SearchNearByDriverForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/map/UpdateDriverLocationForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/map/UpdateOrderLocationForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/order/OrderCommentForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/order/OrderFeeForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/order/OrderInfoForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/order/OrderMonitorForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/order/StartDriveForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderBillForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderCartForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/payment/CreateWxPaymentForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/payment/PaymentInfoForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/payment/ProfitsharingForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequest.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequestForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequest.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequestForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequest.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequestForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/form/system/LoginForm.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/query/customer/CustomerInfoQuery.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/query/driver/DriverInfoQuery.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/query/order/OrderInfoQuery.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/query/system/SysLoginLogQuery.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/query/system/SysOperLogQuery.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/query/system/SysPostQuery.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/query/system/SysRoleQuery.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/query/system/SysUserQuery.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/base/LoginVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/base/PageVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/coupon/AvailableCouponVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoReceiveCouponVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoUseCouponVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/coupon/UsedCouponVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerInfoVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerLoginVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/customer/ExpectOrderVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/dispatch/NewOrderTaskVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/driver/CosUploadVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverAuthInfoVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverInfoVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLicenseOcrVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLoginVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/driver/IdCardOcrVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/map/DrivingLineVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/map/NearByDriverVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/map/OrderLocationVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/map/OrderServiceLastLocationVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/CurrentOrderInfoVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/NewOrderDataVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/OrderBillVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/OrderInfoVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/OrderListVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/OrderPayVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/OrderProfitsharingVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/OrderRewardVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/order/TextAuditingVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/payment/WxPrepayVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponse.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponseVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponse.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponseVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponse.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponseVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/system/AssginMenuVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/system/AssginRoleVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/system/LoginVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/system/MetaVo.java create mode 100644 model/src/main/java/com/atguigu/daijia/model/vo/system/RouterVo.java create mode 100644 pom.xml create mode 100644 server-gateway/pom.xml create mode 100644 server-gateway/src/main/java/com/atguigu/daijia/ServerGatewayApplication.java create mode 100644 server-gateway/src/main/java/com/atguigu/daijia/gateway/filter/AuthGlobalFilter.java create mode 100644 server-gateway/src/main/resources/bootstrap.yml create mode 100644 service-client/pom.xml create mode 100644 service-client/service-coupon-client/pom.xml create mode 100644 service-client/service-coupon-client/src/main/java/com/atguigu/daijia/coupon/client/CouponFeignClient.java create mode 100644 service-client/service-customer-client/pom.xml create mode 100644 service-client/service-customer-client/src/main/java/com/atguigu/daijia/customer/client/CustomerInfoFeignClient.java create mode 100644 service-client/service-dispatch-client/pom.xml create mode 100644 service-client/service-dispatch-client/src/main/java/com/atguigu/daijia/dispatch/client/NewOrderFeignClient.java create mode 100644 service-client/service-driver-client/pom.xml create mode 100644 service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CiFeignClient.java create mode 100644 service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CosFeignClient.java create mode 100644 service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverAccountFeignClient.java create mode 100644 service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverInfoFeignClient.java create mode 100644 service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/OcrFeignClient.java create mode 100644 service-client/service-map-client/pom.xml create mode 100644 service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/LocationFeignClient.java create mode 100644 service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/MapFeignClient.java create mode 100644 service-client/service-order-client/pom.xml create mode 100644 service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderInfoFeignClient.java create mode 100644 service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderMonitorFeignClient.java create mode 100644 service-client/service-payment-client/pom.xml create mode 100644 service-client/service-payment-client/src/main/java/com/atguigu/daijia/map/client/WxPayFeignClient.java create mode 100644 service-client/service-rules-client/pom.xml create mode 100644 service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/FeeRuleFeignClient.java create mode 100644 service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/ProfitsharingRuleFeignClient.java create mode 100644 service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/RewardRuleFeignClient.java create mode 100644 service-client/service-system-client/pom.xml create mode 100644 service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SecurityLoginFeignClient.java create mode 100644 service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysDeptFeignClient.java create mode 100644 service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysLoginLogFeignClient.java create mode 100644 service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysMenuFeignClient.java create mode 100644 service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysOperLogFeignClient.java create mode 100644 service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysPostFeignClient.java create mode 100644 service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysRoleFeignClient.java create mode 100644 service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysUserFeignClient.java create mode 100644 service/pom.xml create mode 100644 service/service-coupon/pom.xml create mode 100644 service/service-coupon/src/main/java/com/atguigu/daijia/ServiceCouponApplication.java create mode 100644 service/service-coupon/src/main/java/com/atguigu/daijia/coupon/controller/CouponInfoController.java create mode 100644 service/service-coupon/src/main/java/com/atguigu/daijia/coupon/mapper/CouponInfoMapper.java create mode 100644 service/service-coupon/src/main/java/com/atguigu/daijia/coupon/mapper/CustomerCouponMapper.java create mode 100644 service/service-coupon/src/main/java/com/atguigu/daijia/coupon/service/CouponInfoService.java create mode 100644 service/service-coupon/src/main/java/com/atguigu/daijia/coupon/service/impl/CouponInfoServiceImpl.java create mode 100644 service/service-coupon/src/main/resources/bootstrap.properties create mode 100644 service/service-coupon/src/main/resources/mapper/CouponInfoMapper.xml create mode 100644 service/service-customer/pom.xml create mode 100644 service/service-customer/src/main/java/com/atguigu/daijia/ServiceCustomerApplication.java create mode 100644 service/service-customer/src/main/java/com/atguigu/daijia/customer/controller/CustomerInfoController.java create mode 100644 service/service-customer/src/main/java/com/atguigu/daijia/customer/mapper/CustomerInfoMapper.java create mode 100644 service/service-customer/src/main/java/com/atguigu/daijia/customer/mapper/CustomerLoginLogMapper.java create mode 100644 service/service-customer/src/main/java/com/atguigu/daijia/customer/service/CustomerInfoService.java create mode 100644 service/service-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CustomerInfoServiceImpl.java create mode 100644 service/service-customer/src/main/resources/bootstrap.properties create mode 100644 service/service-dispatch/pom.xml create mode 100644 service/service-dispatch/src/main/java/com/atguigu/daijia/ServiceDispatchApplication.java create mode 100644 service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/controller/NewOrderController.java create mode 100644 service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/mapper/OrderJobMapper.java create mode 100644 service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/mapper/XxlJobLogMapper.java create mode 100644 service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/service/NewOrderService.java create mode 100644 service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/service/impl/NewOrderServiceImpl.java create mode 100644 service/service-dispatch/src/main/resources/bootstrap.properties create mode 100644 service/service-driver/pom.xml create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/ServiceDriverApplication.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/CiController.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/CosController.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverAccountController.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverInfoController.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/OcrController.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverAccountDetailMapper.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverAccountMapper.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverFaceRecognitionMapper.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverInfoMapper.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverLoginLogMapper.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverSetMapper.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/CiService.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/CosService.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/DriverAccountService.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/DriverInfoService.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/OcrService.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CiServiceImpl.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CosServiceImpl.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverAccountServiceImpl.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverInfoServiceImpl.java create mode 100644 service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OcrServiceImpl.java create mode 100644 service/service-driver/src/main/resources/bootstrap.properties create mode 100644 service/service-driver/src/main/resources/mapper/DriverAccountDetailMapper.xml create mode 100644 service/service-driver/src/main/resources/mapper/DriverAccountMapper.xml create mode 100644 service/service-driver/src/main/resources/mapper/DriverInfoMapper.xml create mode 100644 service/service-map/pom.xml create mode 100644 service/service-map/src/main/java/com/atguigu/daijia/ServiceMapApplication.java create mode 100644 service/service-map/src/main/java/com/atguigu/daijia/map/controller/LocationController.java create mode 100644 service/service-map/src/main/java/com/atguigu/daijia/map/controller/MapController.java create mode 100644 service/service-map/src/main/java/com/atguigu/daijia/map/repository/OrderServiceLocationRepository.java create mode 100644 service/service-map/src/main/java/com/atguigu/daijia/map/service/LocationService.java create mode 100644 service/service-map/src/main/java/com/atguigu/daijia/map/service/MapService.java create mode 100644 service/service-map/src/main/java/com/atguigu/daijia/map/service/impl/LocationServiceImpl.java create mode 100644 service/service-map/src/main/java/com/atguigu/daijia/map/service/impl/MapServiceImpl.java create mode 100644 service/service-map/src/main/resources/bootstrap.properties create mode 100644 service/service-mq/pom.xml create mode 100644 service/service-mq/src/main/java/com/atguigu/daijia/ServiceMqApplication.java create mode 100644 service/service-mq/src/main/java/com/atguigu/daijia/mq/controller/MqController.java create mode 100644 service/service-mq/src/main/java/com/atguigu/daijia/mq/receiver/ConfirmReceiver.java create mode 100644 service/service-mq/src/main/resources/bootstrap.properties create mode 100644 service/service-order/pom.xml create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/ServiceOrderApplication.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/controller/OrderInfoController.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/controller/OrderMonitorController.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderBillMapper.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderCommentMapper.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderInfoMapper.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderMonitorMapper.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderProfitsharingMapper.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderStatusLogMapper.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderTrackMapper.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/repository/OrderMonitorRecordRepository.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/service/OrderInfoService.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/service/OrderMonitorService.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/service/impl/OrderInfoServiceImpl.java create mode 100644 service/service-order/src/main/java/com/atguigu/daijia/order/service/impl/OrderMonitorServiceImpl.java create mode 100644 service/service-order/src/main/resources/bootstrap.properties create mode 100644 service/service-order/src/main/resources/mapper/OrderBillMapper.xml create mode 100644 service/service-order/src/main/resources/mapper/OrderInfoMapper.xml create mode 100644 service/service-payment/pom.xml create mode 100644 service/service-payment/src/main/java/com/atguigu/daijia/ServicePaymentApplication.java create mode 100644 service/service-payment/src/main/java/com/atguigu/daijia/payment/controller/WxPayController.java create mode 100644 service/service-payment/src/main/java/com/atguigu/daijia/payment/mapper/PaymentInfoMapper.java create mode 100644 service/service-payment/src/main/java/com/atguigu/daijia/payment/mapper/ProfitsharingInfoMapper.java create mode 100644 service/service-payment/src/main/java/com/atguigu/daijia/payment/service/WxPayService.java create mode 100644 service/service-payment/src/main/java/com/atguigu/daijia/payment/service/WxProfitsharingService.java create mode 100644 service/service-payment/src/main/java/com/atguigu/daijia/payment/service/impl/WxPayServiceImpl.java create mode 100644 service/service-payment/src/main/java/com/atguigu/daijia/payment/service/impl/WxProfitsharingServiceImpl.java create mode 100644 service/service-payment/src/main/resources/apiclient_key.pem create mode 100644 service/service-payment/src/main/resources/bootstrap.properties create mode 100644 service/service-rules/pom.xml create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/ServiceRulesApplication.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/FeeRuleController.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/ProfitsharingRuleController.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/RewardRuleController.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/FeeRuleMapper.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/ProfitsharingRuleMapper.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/RewardRuleMapper.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/service/FeeRuleService.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/service/ProfitsharingRuleService.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/service/RewardRuleService.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/FeeRuleServiceImpl.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/ProfitsharingRuleServiceImpl.java create mode 100644 service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/RewardRuleServiceImpl.java create mode 100644 service/service-rules/src/main/resources/bootstrap.properties create mode 100644 service/service-rules/src/main/resources/rules/FeeRule.drl create mode 100644 service/service-rules/src/main/resources/rules/ProfitsharingRule.drl create mode 100644 service/service-rules/src/main/resources/rules/RewardRule.drl create mode 100644 service/service-system/pom.xml create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/ServiceSystemApplication.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/config/DataSourceConfig.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/controller/SecurityLoginController.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysDeptController.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysLoginLogController.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysMenuController.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysOperLogController.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysPostController.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysRoleController.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysUserController.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/helper/DeptHelper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/helper/MenuHelper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysDeptMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysLoginLogMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysMenuMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysOperLogMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysPostMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysRoleMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysRoleMenuMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysUserMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysUserRoleMapper.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/SysDeptService.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/SysLoginLogService.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/SysMenuService.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/SysOperLogService.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/SysPostService.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/SysRoleService.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/SysUserService.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysDeptServiceImpl.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysLoginLogServiceImpl.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysMenuServiceImpl.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysOperLogServiceImpl.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysPostServiceImpl.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysRoleServiceImpl.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysUserServiceImpl.java create mode 100644 service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/UserDetailsServiceImpl.java create mode 100644 service/service-system/src/main/resources/bootstrap.properties create mode 100644 service/service-system/src/main/resources/file.conf create mode 100644 service/service-system/src/main/resources/mapper/SysLoginLogMapper.xml create mode 100644 service/service-system/src/main/resources/mapper/SysMenuMapper.xml create mode 100644 service/service-system/src/main/resources/mapper/SysOperLogMapper.xml create mode 100644 service/service-system/src/main/resources/mapper/SysPostMapper.xml create mode 100644 service/service-system/src/main/resources/mapper/SysRoleMapper.xml create mode 100644 service/service-system/src/main/resources/mapper/SysUserMapper.xml create mode 100644 service/service-system/src/main/resources/registry.conf create mode 100644 web/pom.xml create mode 100644 web/web-customer/pom.xml create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/WebCustomerApplication.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/CouponController.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/CustomerController.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/OrderController.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/service/CouponService.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/service/CustomerService.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/service/OrderService.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CouponServiceImpl.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CustomerServiceImpl.java create mode 100644 web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/OrderServiceImpl.java create mode 100644 web/web-customer/src/main/resources/bootstrap.properties create mode 100644 web/web-driver/pom.xml create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/WebDriverApplication.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/CosController.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverController.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/FileController.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/LocationController.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/MonitorController.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/OcrController.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/OrderController.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/CosService.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/DriverService.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/FileService.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/LocationService.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/MonitorService.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/OcrService.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/OrderService.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CosServiceImpl.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverServiceImpl.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/FileServiceImpl.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/LocationServiceImpl.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/MonitorServiceImpl.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OcrServiceImpl.java create mode 100644 web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OrderServiceImpl.java create mode 100644 web/web-driver/src/main/resources/bootstrap.properties create mode 100644 web/web-mgr/pom.xml create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/WebMgrApplication.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/CustomerInfoController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/DriverInfoController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/OrderInfoController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SecurityLoginController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysDeptController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysLoginLogController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysMenuController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysOperLogController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysPostController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysRoleController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysUserController.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/CustomerInfoService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/DriverInfoService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/OrderInfoService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysDeptService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysLoginLogService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysMenuService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysOperLogService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysPostService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysRoleService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysUserService.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/CustomerInfoServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/DriverInfoServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/OrderInfoServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysDeptServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysLoginLogServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysMenuServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysOperLogServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysPostServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysRoleServiceImpl.java create mode 100644 web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysUserServiceImpl.java create mode 100644 web/web-mgr/src/main/resources/bootstrap.properties diff --git a/common/common-log/pom.xml b/common/common-log/pom.xml new file mode 100644 index 0000000..4570ea9 --- /dev/null +++ b/common/common-log/pom.xml @@ -0,0 +1,44 @@ + + + + common + com.atguigu.daijia + 1.0 + + 4.0.0 + + common-log + + + + com.atguigu.daijia + model + 1.0 + provided + + + com.atguigu.daijia + common-util + 1.0 + provided + + + org.springframework.boot + spring-boot-starter-web + provided + + + org.springframework.boot + spring-boot-starter-aop + provided + + + com.atguigu.daijia + service-system-client + 1.0 + provided + + + \ No newline at end of file diff --git a/common/common-log/src/main/java/com/atguigu/daijia/common/annotation/Log.java b/common/common-log/src/main/java/com/atguigu/daijia/common/annotation/Log.java new file mode 100644 index 0000000..046e4b1 --- /dev/null +++ b/common/common-log/src/main/java/com/atguigu/daijia/common/annotation/Log.java @@ -0,0 +1,39 @@ +package com.atguigu.daijia.common.annotation; + +import com.atguigu.daijia.common.enums.BusinessType; +import com.atguigu.daijia.common.enums.OperatorType; + +import java.lang.annotation.*; + +/** + * 自定义操作日志记录注解 + */ +@Target({ElementType.PARAMETER, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Log { + /** + * 模块 + */ + public String title() default ""; + + /** + * 功能 + */ + public BusinessType businessType() default BusinessType.OTHER; + + /** + * 操作人类别 + */ + public OperatorType operatorType() default OperatorType.MANAGE; + + /** + * 是否保存请求的参数 + */ + public boolean isSaveRequestData() default true; + + /** + * 是否保存响应的参数 + */ + public boolean isSaveResponseData() default true; +} diff --git a/common/common-log/src/main/java/com/atguigu/daijia/common/aspect/LogAspect.java b/common/common-log/src/main/java/com/atguigu/daijia/common/aspect/LogAspect.java new file mode 100644 index 0000000..ac791a7 --- /dev/null +++ b/common/common-log/src/main/java/com/atguigu/daijia/common/aspect/LogAspect.java @@ -0,0 +1,183 @@ +package com.atguigu.daijia.common.aspect; + +import com.alibaba.fastjson.JSON; +import com.atguigu.daijia.common.annotation.Log; +import com.atguigu.daijia.common.util.IpUtil; +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.system.client.SysOperLogFeignClient; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.AfterReturning; +import org.aspectj.lang.annotation.AfterThrowing; +import org.aspectj.lang.annotation.Aspect; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpMethod; +import org.springframework.stereotype.Component; +import org.springframework.validation.BindingResult; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Collection; +import java.util.Map; + + +/** + * 操作日志记录处理 + */ +@Aspect +@Component +public class LogAspect { + private static final Logger log = LoggerFactory.getLogger(LogAspect.class); + + //微服务切换为feign调用接口 + @Resource + private SysOperLogFeignClient sysOperLogFeignClient; + + /** + * 处理完请求后执行 + * + * @param joinPoint 切点 + */ + @AfterReturning(pointcut = "@annotation(controllerLog)", returning = "jsonResult") + public void doAfterReturning(JoinPoint joinPoint, Log controllerLog, Object jsonResult) { + handleLog(joinPoint, controllerLog, null, jsonResult); + } + + /** + * 拦截异常操作 + * + * @param joinPoint 切点 + * @param e 异常 + */ + @AfterThrowing(value = "@annotation(controllerLog)", throwing = "e") + public void doAfterThrowing(JoinPoint joinPoint, Log controllerLog, Exception e) { + handleLog(joinPoint, controllerLog, e, null); + } + + protected void handleLog(final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult) { + try { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + HttpServletRequest request = sra.getRequest(); + + // *========数据库日志=========*// + SysOperLog operLog = new SysOperLog(); + operLog.setStatus(1); + // 请求的地址 + String ip = IpUtil.getIpAddress(request);//IpUtil.getIpAddr(ServletUtils.getRequest()); + operLog.setOperIp(ip); + operLog.setOperUrl(request.getRequestURI()); + + if (e != null) { + operLog.setStatus(0); + operLog.setErrorMsg(e.getMessage()); + } + // 设置方法名称 + String className = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + operLog.setMethod(className + "." + methodName + "()"); + // 设置请求方式 + operLog.setRequestMethod(request.getMethod()); + // 处理设置注解上的参数 + getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult); + // 保存数据库 + sysOperLogFeignClient.saveSysLog(operLog); + log.info("操作日志:"+JSON.toJSONString(operLog)); + } catch (Exception exp) { + // 记录本地异常日志 + log.error("==前置通知异常=="); + log.error("异常信息:{}", exp.getMessage()); + exp.printStackTrace(); + } + } + + /** + * 获取注解中对方法的描述信息 用于Controller层注解 + * + * @param log 日志 + * @param operLog 操作日志 + * @throws Exception + */ + public void getControllerMethodDescription(JoinPoint joinPoint, Log log, SysOperLog operLog, Object jsonResult) throws Exception { + // 设置action动作 + operLog.setBusinessType(log.businessType().name()); + // 设置标题 + operLog.setTitle(log.title()); + // 设置操作人类别 + operLog.setOperatorType(log.operatorType().name()); + // 是否需要保存request,参数和值 + if (log.isSaveRequestData()) { + // 获取参数的信息,传入到数据库中。 + setRequestValue(joinPoint, operLog); + } + // 是否需要保存response,参数和值 + if (log.isSaveResponseData() && null != jsonResult) { + operLog.setJsonResult(JSON.toJSONString(jsonResult)); + } + } + + /** + * 获取请求的参数,放到log中 + * + * @param operLog 操作日志 + * @throws Exception 异常 + */ + private void setRequestValue(JoinPoint joinPoint, SysOperLog operLog) throws Exception { + String requestMethod = operLog.getRequestMethod(); + if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod)) { + String params = argsArrayToString(joinPoint.getArgs()); + operLog.setOperParam(params); + } + } + + /** + * 参数拼装 + */ + private String argsArrayToString(Object[] paramsArray) { + String params = ""; + if (paramsArray != null && paramsArray.length > 0) { + for (Object o : paramsArray) { + if (null != o && !isFilterObject(o)) { + try { + Object jsonObj = JSON.toJSON(o); + params += jsonObj.toString() + " "; + } catch (Exception e) { + } + } + } + } + return params.trim(); + } + + /** + * 判断是否需要过滤的对象。 + * + * @param o 对象信息。 + * @return 如果是需要过滤的对象,则返回true;否则返回false。 + */ + @SuppressWarnings("rawtypes") + public boolean isFilterObject(final Object o) { + Class clazz = o.getClass(); + if (clazz.isArray()) { + return clazz.getComponentType().isAssignableFrom(MultipartFile.class); + } else if (Collection.class.isAssignableFrom(clazz)) { + Collection collection = (Collection) o; + for (Object value : collection) { + return value instanceof MultipartFile; + } + } else if (Map.class.isAssignableFrom(clazz)) { + Map map = (Map) o; + for (Object value : map.entrySet()) { + Map.Entry entry = (Map.Entry) value; + return entry.getValue() instanceof MultipartFile; + } + } + return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse + || o instanceof BindingResult; + } +} diff --git a/common/common-log/src/main/java/com/atguigu/daijia/common/enums/BusinessType.java b/common/common-log/src/main/java/com/atguigu/daijia/common/enums/BusinessType.java new file mode 100644 index 0000000..451f751 --- /dev/null +++ b/common/common-log/src/main/java/com/atguigu/daijia/common/enums/BusinessType.java @@ -0,0 +1,52 @@ +package com.atguigu.daijia.common.enums; + +/** + * 业务操作类型 + */ +public enum BusinessType { + /** + * 其它 + */ + OTHER, + + /** + * 新增 + */ + INSERT, + + /** + * 修改 + */ + UPDATE, + + /** + * 删除 + */ + DELETE, + + /** + * 授权 + */ + ASSGIN, + + /** + * 导出 + */ + EXPORT, + + /** + * 导入 + */ + IMPORT, + + + /** + * 更新状态 + */ + STATUS, + + /** + * 清空数据 + */ + CLEAN, +} diff --git a/common/common-log/src/main/java/com/atguigu/daijia/common/enums/OperatorType.java b/common/common-log/src/main/java/com/atguigu/daijia/common/enums/OperatorType.java new file mode 100644 index 0000000..0754fe3 --- /dev/null +++ b/common/common-log/src/main/java/com/atguigu/daijia/common/enums/OperatorType.java @@ -0,0 +1,21 @@ +package com.atguigu.daijia.common.enums; + +/** + * 操作人类别 + */ +public enum OperatorType { + /** + * 其它 + */ + OTHER, + + /** + * 后台用户 + */ + MANAGE, + + /** + * 手机端用户 + */ + MOBILE +} diff --git a/common/common-util/pom.xml b/common/common-util/pom.xml new file mode 100644 index 0000000..02f619a --- /dev/null +++ b/common/common-util/pom.xml @@ -0,0 +1,38 @@ + + + + common + com.atguigu.daijia + 1.0 + + 4.0.0 + + common-util + jar + + + + org.springframework.boot + spring-boot-starter-web + provided + + + org.projectlombok + lombok + + + com.alibaba + fastjson + + + joda-time + joda-time + + + commons-io + commons-io + + + \ No newline at end of file diff --git a/common/common-util/src/main/java/com/atguigu/daijia/common/result/Result.java b/common/common-util/src/main/java/com/atguigu/daijia/common/result/Result.java new file mode 100644 index 0000000..62a8721 --- /dev/null +++ b/common/common-util/src/main/java/com/atguigu/daijia/common/result/Result.java @@ -0,0 +1,83 @@ +package com.atguigu.daijia.common.result; + + +import lombok.Data; + +/** + * 全局统一返回结果类 + * + */ +@Data +public class Result { + + //返回码 + private Integer code; + + //返回消息 + private String message; + + //返回数据 + private T data; + + public Result(){} + + // 返回数据 + protected static Result build(T data) { + Result result = new Result(); + if (data != null) + result.setData(data); + return result; + } + + public static Result build(T body, Integer code, String message) { + Result result = build(body); + result.setCode(code); + result.setMessage(message); + return result; + } + + public static Result build(T body, ResultCodeEnum resultCodeEnum) { + Result result = build(body); + result.setCode(resultCodeEnum.getCode()); + result.setMessage(resultCodeEnum.getMessage()); + return result; + } + + public static Result ok(){ + return Result.ok(null); + } + + /** + * 操作成功 + * @param data baseCategory1List + * @param + * @return + */ + public static Result ok(T data){ + return build(data, ResultCodeEnum.SUCCESS); + } + + public static Result fail(){ + return Result.fail(null); + } + + /** + * 操作失败 + * @param data + * @param + * @return + */ + public static Result fail(T data){ + return build(data, ResultCodeEnum.FAIL); + } + + public Result message(String msg){ + this.setMessage(msg); + return this; + } + + public Result code(Integer code){ + this.setCode(code); + return this; + } +} diff --git a/common/common-util/src/main/java/com/atguigu/daijia/common/result/ResultCodeEnum.java b/common/common-util/src/main/java/com/atguigu/daijia/common/result/ResultCodeEnum.java new file mode 100644 index 0000000..89977c8 --- /dev/null +++ b/common/common-util/src/main/java/com/atguigu/daijia/common/result/ResultCodeEnum.java @@ -0,0 +1,58 @@ +package com.atguigu.daijia.common.result; + +import lombok.Getter; + +/** + * 统一返回结果状态信息类 + * + */ +@Getter +public enum ResultCodeEnum { + + SUCCESS(200,"成功"), + FAIL(201, "失败"), + SERVICE_ERROR(2012, "服务异常"), + DATA_ERROR(204, "数据异常"), + ILLEGAL_REQUEST(205, "非法请求"), + REPEAT_SUBMIT(206, "重复提交"), + FEIGN_FAIL(207, "远程调用失败"), + UPDATE_ERROR(204, "数据更新失败"), + + ARGUMENT_VALID_ERROR(210, "参数校验异常"), + SIGN_ERROR(300, "签名错误"), + SIGN_OVERDUE(301, "签名已过期"), + VALIDATECODE_ERROR(218 , "验证码错误"), + + LOGIN_AUTH(208, "未登陆"), + PERMISSION(209, "没有权限"), + ACCOUNT_ERROR(214, "账号不正确"), + PASSWORD_ERROR(215, "密码不正确"), + PHONE_CODE_ERROR(215, "手机验证码不正确"), + LOGIN_MOBLE_ERROR( 216, "账号不正确"), + ACCOUNT_STOP( 216, "账号已停用"), + NODE_ERROR( 217, "该节点下有子节点,不可以删除"), + + COB_NEW_ORDER_FAIL( 217, "抢单失败"), + MAP_FAIL( 217, "地图服务调用失败"), + PROFITSHARING_FAIL( 217, "分账调用失败"), + NO_START_SERVICE( 217, "未开启代驾服务,不能更新位置信息"), + DRIVER_START_LOCATION_DISTION_ERROR( 217, "距离代驾起始点1公里以内才能确认"), + DRIVER_END_LOCATION_DISTION_ERROR( 217, "距离代驾终点2公里以内才能确认"), + IMAGE_AUDITION_FAIL( 217, "图片审核不通过"), + AUTH_ERROR( 217, "认证通过后才可以开启代驾服务"), + FACE_ERROR( 250, "当日未进行人脸识别"), + + COUPON_EXPIRE( 250, "优惠券已过期"), + COUPON_LESS( 250, "优惠券库存不足"), + COUPON_USER_LIMIT( 250, "超出领取数量"), + ; + + private Integer code; + + private String message; + + private ResultCodeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/common/common-util/src/main/java/com/atguigu/daijia/common/util/AuthContextHolder.java b/common/common-util/src/main/java/com/atguigu/daijia/common/util/AuthContextHolder.java new file mode 100644 index 0000000..0585beb --- /dev/null +++ b/common/common-util/src/main/java/com/atguigu/daijia/common/util/AuthContextHolder.java @@ -0,0 +1,22 @@ +package com.atguigu.daijia.common.util; + +/** + * 获取当前用户信息帮助类 + */ +public class AuthContextHolder { + + private static ThreadLocal userId = new ThreadLocal(); + + public static void setUserId(Long _userId) { + userId.set(_userId); + } + + public static Long getUserId() { + return userId.get(); + } + + public static void removeUserId() { + userId.remove(); + } + +} diff --git a/common/common-util/src/main/java/com/atguigu/daijia/common/util/IpUtil.java b/common/common-util/src/main/java/com/atguigu/daijia/common/util/IpUtil.java new file mode 100644 index 0000000..2811521 --- /dev/null +++ b/common/common-util/src/main/java/com/atguigu/daijia/common/util/IpUtil.java @@ -0,0 +1,82 @@ +package com.atguigu.daijia.common.util; + +import jakarta.servlet.http.HttpServletRequest; +import org.springframework.http.HttpHeaders; +import org.springframework.http.server.reactive.ServerHttpRequest; + +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * 获取ip地址 + */ +public class IpUtil { + + public static String getIpAddress(HttpServletRequest request) { + String ipAddress = null; + try { + ipAddress = request.getHeader("x-forwarded-for"); + if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getHeader("Proxy-Client-IP"); + } + if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getHeader("WL-Proxy-Client-IP"); + } + if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getRemoteAddr(); + if (ipAddress.equals("127.0.0.1")) { + // 根据网卡取本机配置的IP + InetAddress inet = null; + try { + inet = InetAddress.getLocalHost(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + ipAddress = inet.getHostAddress(); + } + } + // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割 + if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length() + // = 15 + if (ipAddress.indexOf(",") > 0) { + ipAddress = ipAddress.substring(0, ipAddress.indexOf(",")); + } + } + } catch (Exception e) { + ipAddress=""; + } + // ipAddress = this.getRequest().getRemoteAddr(); + + return ipAddress; + } + + public static String getGatwayIpAddress(ServerHttpRequest request) { + HttpHeaders headers = request.getHeaders(); + String ip = headers.getFirst("x-forwarded-for"); + if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { + // 多次反向代理后会有多个ip值,第一个ip才是真实ip + if (ip.indexOf(",") != -1) { + ip = ip.split(",")[0]; + } + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = headers.getFirst("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = headers.getFirst("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = headers.getFirst("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = headers.getFirst("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = headers.getFirst("X-Real-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddress().getAddress().getHostAddress(); + } + return ip; + } +} \ No newline at end of file diff --git a/common/common-util/src/main/java/com/atguigu/daijia/common/util/LocationUtil.java b/common/common-util/src/main/java/com/atguigu/daijia/common/util/LocationUtil.java new file mode 100644 index 0000000..c130340 --- /dev/null +++ b/common/common-util/src/main/java/com/atguigu/daijia/common/util/LocationUtil.java @@ -0,0 +1,39 @@ +package com.atguigu.daijia.common.util; + +public class LocationUtil { + + // 地球赤道半径 + private static double EARTH_RADIUS = 6378.137; + + //等同——Math.toRadians() + private static double rad(double d) { + return d * Math.PI / 180.0; + } + + /** + * @描述 经纬度获取距离,单位为米 + * @参数 [lat1, lng1, lat2, lng2] + * @返回值 double + **/ + public static double getDistance(double lat1, double lng1, double lat2, + double lng2) { + double radLat1 = rad(lat1); + double radLat2 = rad(lat2); + double a = radLat1 - radLat2; + double b = rad(lng1) - rad(lng2); + double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + + Math.cos(radLat1) * Math.cos(radLat2) + * Math.pow(Math.sin(b / 2), 2))); + s = s * EARTH_RADIUS; + s = Math.round(s * 10000d) / 10000d; + s = s * 1000; + return s; + } + + public static void main(String[] args) { + double distance = getDistance(30.57404, 104.073013, + 30.509376, 104.077001); + System.out.println("距离" + distance + "米"); + } + +} diff --git a/common/common-util/src/main/java/com/atguigu/daijia/common/util/MD5.java b/common/common-util/src/main/java/com/atguigu/daijia/common/util/MD5.java new file mode 100644 index 0000000..cb0e177 --- /dev/null +++ b/common/common-util/src/main/java/com/atguigu/daijia/common/util/MD5.java @@ -0,0 +1,35 @@ +package com.atguigu.daijia.common.util; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + + +public final class MD5 { + + public static String encrypt(String strSrc) { + try { + char hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', + '9', 'a', 'b', 'c', 'd', 'e', 'f' }; + byte[] bytes = strSrc.getBytes(); + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(bytes); + bytes = md.digest(); + int j = bytes.length; + char[] chars = new char[j * 2]; + int k = 0; + for (int i = 0; i < bytes.length; i++) { + byte b = bytes[i]; + chars[k++] = hexChars[b >>> 4 & 0xf]; + chars[k++] = hexChars[b & 0xf]; + } + return new String(chars); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + throw new RuntimeException("MD5加密出错!!+" + e); + } + } + + public static void main(String[] args) { + System.out.println(MD5.encrypt("111111")); + } +} diff --git a/common/common-util/src/main/java/com/atguigu/daijia/common/util/ResponseUtil.java b/common/common-util/src/main/java/com/atguigu/daijia/common/util/ResponseUtil.java new file mode 100644 index 0000000..9e2d89c --- /dev/null +++ b/common/common-util/src/main/java/com/atguigu/daijia/common/util/ResponseUtil.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia.common.util; + +import com.atguigu.daijia.common.result.Result; +import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; + +import java.io.IOException; + +public class ResponseUtil { + + public static void out(HttpServletResponse response, Result r) { + ObjectMapper mapper = new ObjectMapper(); + response.setStatus(HttpStatus.OK.value()); + response.setContentType(MediaType.APPLICATION_JSON_UTF8_VALUE); + try { + mapper.writeValue(response.getWriter(), r); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/common/pom.xml b/common/pom.xml new file mode 100644 index 0000000..aa6f5cf --- /dev/null +++ b/common/pom.xml @@ -0,0 +1,22 @@ + + + + com.atguigu.daijia + daijia-parent1.0 + + 4.0.0 + + common + pom + + + service-util + common-util + rabbit-util + spring-security + common-log + + + \ No newline at end of file diff --git a/common/rabbit-util/pom.xml b/common/rabbit-util/pom.xml new file mode 100644 index 0000000..14251a7 --- /dev/null +++ b/common/rabbit-util/pom.xml @@ -0,0 +1,46 @@ + + + 4.0.0 + + com.atguigu.daijia + common + 1.0 + + + rabbit-util + 1.0 + + jar + rabbit-util + rabbit-util + + + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.cloud + spring-cloud-starter-bus-amqp + + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + com.alibaba + fastjson + + + + org.projectlombok + lombok + + + diff --git a/common/rabbit-util/src/main/java/com/atguigu/daijia/common/constant/MqConst.java b/common/rabbit-util/src/main/java/com/atguigu/daijia/common/constant/MqConst.java new file mode 100644 index 0000000..0d46172 --- /dev/null +++ b/common/rabbit-util/src/main/java/com/atguigu/daijia/common/constant/MqConst.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia.common.constant; + +public class MqConst { + + + public static final String EXCHANGE_ORDER = "daijia.order"; + public static final String ROUTING_PAY_SUCCESS = "daijia.pay.success"; + public static final String ROUTING_PROFITSHARING_SUCCESS = "daijia.profitsharing.success"; + public static final String QUEUE_PAY_SUCCESS = "daijia.pay.success"; + public static final String QUEUE_PROFITSHARING_SUCCESS = "daijia.profitsharing.success"; + + + //取消订单延迟消息 + public static final String EXCHANGE_CANCEL_ORDER = "daijia.cancel.order"; + public static final String ROUTING_CANCEL_ORDER = "daijia.cancel.order"; + public static final String QUEUE_CANCEL_ORDER = "daijia.cancel.order"; + + //分账延迟消息 + public static final String EXCHANGE_PROFITSHARING = "daijia.profitsharing"; + public static final String ROUTING_PROFITSHARING = "daijia.profitsharing"; + public static final String QUEUE_PROFITSHARING = "daijia.profitsharing"; + +} diff --git a/common/rabbit-util/src/main/java/com/atguigu/daijia/common/entity/GuiguCorrelationData.java b/common/rabbit-util/src/main/java/com/atguigu/daijia/common/entity/GuiguCorrelationData.java new file mode 100644 index 0000000..76f7e10 --- /dev/null +++ b/common/rabbit-util/src/main/java/com/atguigu/daijia/common/entity/GuiguCorrelationData.java @@ -0,0 +1,21 @@ +package com.atguigu.daijia.common.entity; + +import lombok.Data; +import org.springframework.amqp.rabbit.connection.CorrelationData; + +@Data +public class GuiguCorrelationData extends CorrelationData { + + //消息体 + private Object message; + //交换机 + private String exchange; + //路由键 + private String routingKey; + //重试次数 + private int retryCount = 0; + //是否延迟消息 + private boolean isDelay = false; + //延迟时长 + private int delayTime = 10; +} diff --git a/common/rabbit-util/src/main/java/com/atguigu/daijia/common/service/RabbitService.java b/common/rabbit-util/src/main/java/com/atguigu/daijia/common/service/RabbitService.java new file mode 100644 index 0000000..5f08681 --- /dev/null +++ b/common/rabbit-util/src/main/java/com/atguigu/daijia/common/service/RabbitService.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.common.service; + + +import org.springframework.stereotype.Service; + +@Service +public class RabbitService { + + +} diff --git a/common/service-util/pom.xml b/common/service-util/pom.xml new file mode 100644 index 0000000..b8f793c --- /dev/null +++ b/common/service-util/pom.xml @@ -0,0 +1,77 @@ + + + + common + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-util + + + + com.atguigu.daijia + common-util + 1.0 + + + com.atguigu.daijia + model + 1.0 + + + org.springframework.boot + spring-boot-starter-web + + + com.baomidou + mybatis-plus-boot-starter + + + + mysql + mysql-connector-java + + + com.github.xiaoymin + knife4j-openapi3-jakarta-spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-validation + + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + + + + + + org.springframework.boot + spring-boot-starter-aop + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + provided + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + provided + + + + \ No newline at end of file diff --git a/common/service-util/src/main/java/com/atguigu/daijia/common/config/knife4j/Knife4jConfig.java b/common/service-util/src/main/java/com/atguigu/daijia/common/config/knife4j/Knife4jConfig.java new file mode 100644 index 0000000..15d6a95 --- /dev/null +++ b/common/service-util/src/main/java/com/atguigu/daijia/common/config/knife4j/Knife4jConfig.java @@ -0,0 +1,44 @@ +package com.atguigu.daijia.common.config.knife4j; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class Knife4jConfig { + + @Bean + public GroupedOpenApi webApi() { + return GroupedOpenApi.builder() + .group("web-api") + .pathsToMatch("/**") + .build(); + } + +// @Bean +// public GroupedOpenApi adminApi() { +// return GroupedOpenApi.builder() +// .group("admin-api") +// .pathsToMatch("/admin/**") +// .build(); +// } + + /*** + * @description 自定义接口信息 + */ + @Bean + public OpenAPI customOpenAPI() { + + return new OpenAPI() + .info(new Info() + .title("代驾API接口文档") + .version("1.0") + .description("代驾API接口文档") + .contact(new Contact().name("qy"))); + } + + +} diff --git a/common/service-util/src/main/java/com/atguigu/daijia/common/config/mybatisPlus/MybatisPlusConfig.java b/common/service-util/src/main/java/com/atguigu/daijia/common/config/mybatisPlus/MybatisPlusConfig.java new file mode 100644 index 0000000..77c03a2 --- /dev/null +++ b/common/service-util/src/main/java/com/atguigu/daijia/common/config/mybatisPlus/MybatisPlusConfig.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.common.config.mybatisPlus; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * MybatisPlus配置类 + * + */ +@EnableTransactionManagement +@Configuration +@MapperScan("com.atguigu.daijia.*.mapper") +public class MybatisPlusConfig { + + /** + * + * @return + */ + @Bean + public MybatisPlusInterceptor optimisticLockerInnerInterceptor(){ + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + //向Mybatis过滤器链中添加分页拦截器 + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } + +} diff --git a/common/service-util/src/main/java/com/atguigu/daijia/common/config/redis/RedisConfig.java b/common/service-util/src/main/java/com/atguigu/daijia/common/config/redis/RedisConfig.java new file mode 100644 index 0000000..a19e8df --- /dev/null +++ b/common/service-util/src/main/java/com/atguigu/daijia/common/config/redis/RedisConfig.java @@ -0,0 +1,90 @@ +package com.atguigu.daijia.common.config.redis; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.cache.CacheManager; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.cache.interceptor.KeyGenerator; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.data.redis.cache.RedisCacheConfiguration; +import org.springframework.data.redis.cache.RedisCacheManager; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.*; + +import java.lang.reflect.Method; +import java.time.Duration; + +/** + * Redis配置类 + * + */ +@Configuration +@EnableCaching +public class RedisConfig { + + // 使用默认标签做缓存 + @Bean + public KeyGenerator keyGenerator() { + return new KeyGenerator() { + @Override + public Object generate(Object target, Method method, Object... params) { + StringBuilder sb = new StringBuilder(); + sb.append(target.getClass().getName()); + sb.append(method.getName()); + for (Object obj : params) { + sb.append(obj.toString()); + } + return sb.toString(); + } + }; + } + + @Bean + @Primary + public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate redisTemplate = new RedisTemplate<>(); + redisTemplate.setConnectionFactory(redisConnectionFactory); + + //String的序列化方式 + StringRedisSerializer stringRedisSerializer = new StringRedisSerializer(); + // 使用GenericJackson2JsonRedisSerializer 替换默认序列化(默认采用的是JDK序列化) + GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer(); + + //序列号key value + redisTemplate.setKeySerializer(stringRedisSerializer); + redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer); + redisTemplate.setHashKeySerializer(stringRedisSerializer); + redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer); + + redisTemplate.afterPropertiesSet(); + return redisTemplate; + } + + @Bean + public CacheManager cacheManager(RedisConnectionFactory factory) { + RedisSerializer redisSerializer = new StringRedisSerializer(); + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + + //解决查询缓存转换异常的问题 + ObjectMapper om = new ObjectMapper(); + om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); + jackson2JsonRedisSerializer.setObjectMapper(om); + + // 配置序列化(解决乱码的问题),过期时间600秒 + RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig() + .entryTtl(Duration.ofSeconds(600000)) + .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer)) + .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer)) + .disableCachingNullValues(); + + RedisCacheManager cacheManager = RedisCacheManager.builder(factory) + .cacheDefaults(config) + .build(); + return cacheManager; + } +} diff --git a/common/service-util/src/main/java/com/atguigu/daijia/common/constant/RedisConstant.java b/common/service-util/src/main/java/com/atguigu/daijia/common/constant/RedisConstant.java new file mode 100644 index 0000000..79dc593 --- /dev/null +++ b/common/service-util/src/main/java/com/atguigu/daijia/common/constant/RedisConstant.java @@ -0,0 +1,48 @@ +package com.atguigu.daijia.common.constant; + +public class RedisConstant { + + //用户登录 + public static final String USER_LOGIN_KEY_PREFIX = "user:login:"; + public static final String USER_LOGIN_REFRESH_KEY_PREFIX = "user:login:refresh:"; + public static final int USER_LOGIN_KEY_TIMEOUT = 60 * 60 * 24 * 100; + public static final int USER_LOGIN_REFRESH_KEY_TIMEOUT = 60 * 60 * 24 * 365; + + //司机GEO地址 + public static final String DRIVER_GEO_LOCATION = "driver:geo:location"; + //司机接单临时容器 + public static final String DRIVER_ORDER_TEMP_LIST = "driver:order:temp:list:"; + public static final long DRIVER_ORDER_TEMP_LIST_EXPIRES_TIME = 1; + //司机订单去重容器 + public static final String DRIVER_ORDER_REPEAT_LIST = "driver:order:repeat:list:"; + public static final long DRIVER_ORDER_REPEAT_LIST_EXPIRES_TIME = 16; + +// //订单与任务关联 +// public static final String ORDER_JOB = "order:job:"; +// public static final long ORDER_JOB_EXPIRES_TIME = 15; + + //更新订单位置 + public static final String UPDATE_ORDER_LOCATION = "update:order:location:"; + public static final long UPDATE_ORDER_LOCATION_EXPIRES_TIME = 15; + + //订单接单标识 + public static final String ORDER_ACCEPT_MARK = "order:accept:mark:"; + public static final long ORDER_ACCEPT_MARK_EXPIRES_TIME = 15; + + //抢新订单锁 + public static final String ROB_NEW_ORDER_LOCK = "rob:new:order:lock"; + //等待获取锁的时间 + public static final long ROB_NEW_ORDER_LOCK_WAIT_TIME = 1; + //加锁的时间 + public static final long ROB_NEW_ORDER_LOCK_LEASE_TIME = 1; + + //优惠券信息 + public static final String COUPON_INFO = "coupon:info:"; + + //优惠券分布式锁 + public static final String COUPON_LOCK = "coupon:lock:"; + //等待获取锁的时间 + public static final long COUPON_LOCK_WAIT_TIME = 1; + //加锁的时间 + public static final long COUPON_LOCK_LEASE_TIME = 1; +} diff --git a/common/service-util/src/main/java/com/atguigu/daijia/common/constant/SystemConstant.java b/common/service-util/src/main/java/com/atguigu/daijia/common/constant/SystemConstant.java new file mode 100644 index 0000000..1f8ac2a --- /dev/null +++ b/common/service-util/src/main/java/com/atguigu/daijia/common/constant/SystemConstant.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia.common.constant; + +public class SystemConstant { + + //附近司机搜索半径 + public static final double NEARBY_DRIVER_RADIUS = 5; + + //取消订单延迟时间,单位:秒 + public static final int CANCEL_ORDER_DELAY_TIME = 15*60; + + //默认接单距离,单位:公里 + public static final int ACCEPT_DISTANCE = 5; + + //司机的位置与代驾起始点位置的确认距离,单位:米 + public static final int DRIVER_START_LOCATION_DISTION = 1000; + + //司机的位置与代驾终点位置的确认距离,单位:米 + public static final int DRIVER_END_LOCATION_DISTION = 2000; + + //分账延迟时间,单位:秒 + public static final int PROFITSHARING_DELAY_TIME = 2*60; + +} diff --git a/common/service-util/src/main/java/com/atguigu/daijia/common/execption/GuiguException.java b/common/service-util/src/main/java/com/atguigu/daijia/common/execption/GuiguException.java new file mode 100644 index 0000000..f60a27a --- /dev/null +++ b/common/service-util/src/main/java/com/atguigu/daijia/common/execption/GuiguException.java @@ -0,0 +1,45 @@ +package com.atguigu.daijia.common.execption; + +import com.atguigu.daijia.common.result.ResultCodeEnum; +import lombok.Data; + +/** + * 自定义全局异常类 + * + */ +@Data +public class GuiguException extends RuntimeException { + + private Integer code; + + private String message; + + /** + * 通过状态码和错误消息创建异常对象 + * @param code + * @param message + */ + public GuiguException(Integer code, String message) { + super(message); + this.code = code; + this.message = message; + } + + /** + * 接收枚举类型对象 + * @param resultCodeEnum + */ + public GuiguException(ResultCodeEnum resultCodeEnum) { + super(resultCodeEnum.getMessage()); + this.code = resultCodeEnum.getCode(); + this.message = resultCodeEnum.getMessage(); + } + + @Override + public String toString() { + return "GuliException{" + + "code=" + code + + ", message=" + this.getMessage() + + '}'; + } +} diff --git a/common/service-util/src/main/java/com/atguigu/daijia/common/handler/GlobalExceptionHandler.java b/common/service-util/src/main/java/com/atguigu/daijia/common/handler/GlobalExceptionHandler.java new file mode 100644 index 0000000..da64d5c --- /dev/null +++ b/common/service-util/src/main/java/com/atguigu/daijia/common/handler/GlobalExceptionHandler.java @@ -0,0 +1,101 @@ +package com.atguigu.daijia.common.handler; + +import com.atguigu.daijia.common.execption.GuiguException; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.result.ResultCodeEnum; +import feign.codec.DecodeException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindException; +import org.springframework.validation.BindingResult; +import org.springframework.validation.FieldError; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * 全局异常处理类 + * + */ +@Slf4j +@ControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(Exception.class) + @ResponseBody + public Result error(Exception e){ + e.printStackTrace(); + return Result.fail(); + } + + /** + * 自定义异常处理方法 + * @param e + * @return + */ + @ExceptionHandler(GuiguException.class) + @ResponseBody + public Result error(GuiguException e){ + e.printStackTrace(); + return Result.build(null,e.getCode(), e.getMessage()); + } + + @ExceptionHandler(DecodeException.class) + @ResponseBody + public Result error(DecodeException e){ + e.printStackTrace(); + return Result.build(null,e.status(), e.getMessage()); + } + + @ExceptionHandler({IllegalArgumentException.class}) + @ResponseBody + public Result llegalArgumentException(Exception e) { + e.printStackTrace(); + log.error("触发异常拦截: " + e.getMessage(), e); + return Result.build(null, ResultCodeEnum.ARGUMENT_VALID_ERROR); + } + +// /** +// * spring security异常 +// * @param e +// * @return +// */ +// @ExceptionHandler(AccessDeniedException.class) +// @ResponseBody +// public Result error(AccessDeniedException e) throws AccessDeniedException { +// return Result.build(null, ResultCodeEnum.PERMISSION); +// } + + @ExceptionHandler(value = BindException.class) + @ResponseBody + public Result error(BindException exception) { + BindingResult result = exception.getBindingResult(); + Map errorMap = new HashMap<>(); + List fieldErrors = result.getFieldErrors(); + fieldErrors.forEach(error -> { + log.error("field: " + error.getField() + ", msg:" + error.getDefaultMessage()); + errorMap.put(error.getField(), error.getDefaultMessage()); + }); + return Result.build(errorMap, ResultCodeEnum.ARGUMENT_VALID_ERROR); + } + + @ExceptionHandler(value = MethodArgumentNotValidException.class) + @ResponseBody + public Result error(MethodArgumentNotValidException exception) { + BindingResult result = exception.getBindingResult(); + Map errorMap = new HashMap<>(); + List fieldErrors = result.getFieldErrors(); + fieldErrors.forEach(error -> { + log.error("field: " + error.getField() + ", msg:" + error.getDefaultMessage()); + errorMap.put(error.getField(), error.getDefaultMessage()); + }); + return Result.build(errorMap, ResultCodeEnum.ARGUMENT_VALID_ERROR); + } + + +} diff --git a/common/spring-security/pom.xml b/common/spring-security/pom.xml new file mode 100644 index 0000000..fc0bd86 --- /dev/null +++ b/common/spring-security/pom.xml @@ -0,0 +1,50 @@ + + + 4.0.0 + + + com.atguigu.daijia + common + 1.0 + + + 1.0 + spring-security + jar + + + + com.atguigu.daijia + common-util + 1.0 + + + com.atguigu.daijia + service-system-client + 1.0 + + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-web + provided + + + com.atguigu.daijia + model + 1.0 + compile + + + + org.springframework.boot + spring-boot-starter-data-redis + + + + diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/config/WebSecurityConfig.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/config/WebSecurityConfig.java new file mode 100644 index 0000000..5aedd79 --- /dev/null +++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/config/WebSecurityConfig.java @@ -0,0 +1,92 @@ +package com.atguigu.daijia.security.config; + +import com.atguigu.daijia.security.custom.CustomMd5PasswordEncoder; +import com.atguigu.daijia.security.fillter.TokenAuthenticationFilter; +import com.atguigu.daijia.security.fillter.TokenLoginFilter; +import com.atguigu.daijia.system.client.SysLoginLogFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.authentication.dao.DaoAuthenticationProvider; +import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration; +import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; + + +@Configuration +@EnableWebSecurity +@EnableMethodSecurity(securedEnabled = true, jsr250Enabled = true) +public class WebSecurityConfig { + + @Autowired + private UserDetailsService userDetailsService; + + @Autowired + private CustomMd5PasswordEncoder customMd5PasswordEncoder; + + @Autowired + private RedisTemplate redisTemplate; + + @Autowired + private SysLoginLogFeignClient sysLoginLogFeignClient; + + @Autowired + private AuthenticationConfiguration authenticationConfiguration; + + @Bean + public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception { + return authenticationConfiguration.getAuthenticationManager(); + } + + @Bean + public AuthenticationProvider authenticationProvider() { + // 创建一个用户认证提供者 + DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider(); + // 设置用户相信信息,可以从数据库中读取、或者缓存、或者配置文件 + authProvider.setUserDetailsService(userDetailsService); + // 设置加密机制,若想要尝试对用户进行身份验证,我们需要知道使用的是什么编码 + authProvider.setPasswordEncoder(customMd5PasswordEncoder); + return authProvider; + } + + @Bean + public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { + http + //禁用csrf(防止跨站请求伪造攻击) + .csrf() + .disable() + // 设置白名单 + .authorizeHttpRequests() + //swg相关 + .requestMatchers("/favicon.ico","/swagger-resources/**", "/webjars/**", "/v3/**", "/doc.html").permitAll() + //用户登录相关接口 + .requestMatchers("/securityLogin/login").permitAll() + // 对于其他任何请求,都保护起来 + .anyRequest().authenticated() + .and() + // 禁用缓存 + .sessionManagement() + // 使用无状态session,即不使用session缓存数据 + .sessionCreationPolicy(SessionCreationPolicy.STATELESS) + // 添加身份验证 + .and() + // TODO 添加身份验证1 + .authenticationProvider(authenticationProvider()) + // 添加token过滤器 + .addFilterBefore(new TokenAuthenticationFilter(redisTemplate), UsernamePasswordAuthenticationFilter.class) + .addFilter(new TokenLoginFilter(authenticationManager(authenticationConfiguration), redisTemplate, sysLoginLogFeignClient)) + ; + + + return http.build(); + } + +} \ No newline at end of file diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomAuthenticationEntryPoint.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomAuthenticationEntryPoint.java new file mode 100644 index 0000000..d59f91c --- /dev/null +++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomAuthenticationEntryPoint.java @@ -0,0 +1,22 @@ +package com.atguigu.daijia.security.custom; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.result.ResultCodeEnum; +import com.atguigu.daijia.common.util.ResponseUtil; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.AuthenticationEntryPoint; +import org.springframework.stereotype.Component; + + +@Component +public class CustomAuthenticationEntryPoint implements AuthenticationEntryPoint { + + @Override + public void commence(HttpServletRequest request, HttpServletResponse response, + AuthenticationException authException) { + + ResponseUtil.out(response, Result.build(null, ResultCodeEnum.ACCOUNT_ERROR)); + } +} diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomMd5PasswordEncoder.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomMd5PasswordEncoder.java new file mode 100644 index 0000000..2586806 --- /dev/null +++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomMd5PasswordEncoder.java @@ -0,0 +1,26 @@ +package com.atguigu.daijia.security.custom; + +import com.atguigu.daijia.common.util.MD5; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.stereotype.Component; + +/** + *

+ * 密码处理 + *

+ * + */ +@Component +public class CustomMd5PasswordEncoder implements PasswordEncoder { + + public String encode(CharSequence rawPassword) { + return MD5.encrypt(rawPassword.toString()); + } + + public boolean matches(CharSequence rawPassword, String encodedPassword) { + return encodedPassword.equals(MD5.encrypt(rawPassword.toString())); + } + + + +} \ No newline at end of file diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomUser.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomUser.java new file mode 100644 index 0000000..bd8782b --- /dev/null +++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/custom/CustomUser.java @@ -0,0 +1,29 @@ +package com.atguigu.daijia.security.custom; + +import com.atguigu.daijia.model.entity.system.SysUser; +import org.springframework.security.core.userdetails.User; + +import java.util.ArrayList; + +public class CustomUser extends User { + + /** + * 我们自己的用户实体对象,要调取用户信息时直接获取这个实体对象。(这里我就不写get/set方法了) + */ + private SysUser sysUser; + + public CustomUser(SysUser sysUser) { + super(sysUser.getUsername(), sysUser.getPassword(), new ArrayList<>()); + this.sysUser = sysUser; + } + + public SysUser getSysUser() { + return sysUser; + } + + public void setSysUser(SysUser sysUser) { + this.sysUser = sysUser; + } + +} + diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenAuthenticationFilter.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenAuthenticationFilter.java new file mode 100644 index 0000000..4272124 --- /dev/null +++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenAuthenticationFilter.java @@ -0,0 +1,88 @@ +package com.atguigu.daijia.security.fillter; + + +import com.alibaba.fastjson.JSON; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.result.ResultCodeEnum; +import com.atguigu.daijia.common.util.AuthContextHolder; +import com.atguigu.daijia.common.util.ResponseUtil; +import com.atguigu.daijia.model.entity.system.SysUser; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.util.AntPathMatcher; +import org.springframework.util.StringUtils; +import org.springframework.web.filter.OncePerRequestFilter; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 身份验证过滤器 + *

+ */ +public class TokenAuthenticationFilter extends OncePerRequestFilter { + + private RedisTemplate redisTemplate; + + private String ADMIN_LOGIN_KEY_PREFIX = "admin:login:"; + private AntPathMatcher antPathMatcher = new AntPathMatcher(); + + + public TokenAuthenticationFilter(RedisTemplate redisTemplate) { + this.redisTemplate = redisTemplate; + } + + @Override + protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) + throws IOException, ServletException { + //如果是登录接口或非admin大头的直接放行 + String uri = request.getRequestURI(); + if(antPathMatcher.match("/securityLogin/login", uri) || + antPathMatcher.match("/swagger-resources/**", uri) || + antPathMatcher.match("/webjars/**", uri) || + antPathMatcher.match("/v3/**", uri) || + antPathMatcher.match("/doc.html", uri) || + antPathMatcher.match("/favicon.ico", uri)) { + chain.doFilter(request, response); + return; + } + + UsernamePasswordAuthenticationToken authentication = getAuthentication(request); + if(null != authentication) { + SecurityContextHolder.getContext().setAuthentication(authentication); + chain.doFilter(request, response); + } else { + ResponseUtil.out(response, Result.build(null, ResultCodeEnum.PERMISSION)); + } + } + + private UsernamePasswordAuthenticationToken getAuthentication(HttpServletRequest request) { + // token置于header里 + String token = request.getHeader("token"); + logger.info("token:"+token); + if (StringUtils.hasText(token)) { + SysUser sysUser = (SysUser)redisTemplate.opsForValue().get(ADMIN_LOGIN_KEY_PREFIX+token); + logger.info("sysUser:"+JSON.toJSONString(sysUser)); + if (null != sysUser) { + AuthContextHolder.setUserId(sysUser.getId()); + + if (null != sysUser.getUserPermsList() && sysUser.getUserPermsList().size() > 0) { + List authorities = sysUser.getUserPermsList().stream().filter(code -> StringUtils.hasText(code.trim())).map(code -> new SimpleGrantedAuthority(code.trim())).collect(Collectors.toList()); + return new UsernamePasswordAuthenticationToken(sysUser.getUsername(), null, authorities); + } else { + return new UsernamePasswordAuthenticationToken(sysUser.getUsername(), null, new ArrayList<>()); + } + } + } + return null; + } +} diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenLoginFilter.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenLoginFilter.java new file mode 100644 index 0000000..666698d --- /dev/null +++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/fillter/TokenLoginFilter.java @@ -0,0 +1,124 @@ +package com.atguigu.daijia.security.fillter; + + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.result.ResultCodeEnum; +import com.atguigu.daijia.common.util.IpUtil; +import com.atguigu.daijia.common.util.ResponseUtil; +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.vo.system.LoginVo; +import com.atguigu.daijia.security.custom.CustomUser; +import com.atguigu.daijia.system.client.SysLoginLogFeignClient; +import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.servlet.FilterChain; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.util.matcher.AntPathRequestMatcher; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.TimeUnit; + +/** + *

+ * 登录过滤器,继承UsernamePasswordAuthenticationFilter,对用户名密码进行登录校验 + *

+ * + */ +public class TokenLoginFilter extends UsernamePasswordAuthenticationFilter { + + private RedisTemplate redisTemplate; + private SysLoginLogFeignClient sysLoginLogFeignClient; + + private String ADMIN_LOGIN_KEY_PREFIX = "admin:login:"; + private int ADMIN_LOGIN_KEY_TIMEOUT = 60 * 60 * 24 * 100; + + public TokenLoginFilter(AuthenticationManager authenticationManager, RedisTemplate redisTemplate, SysLoginLogFeignClient sysLoginLogFeignClient) { + this.setAuthenticationManager(authenticationManager); + this.setPostOnly(false); + //指定登录接口及提交方式,可以指定任意路径 + this.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/securityLogin/login","POST")); + this.redisTemplate = redisTemplate; + this.sysLoginLogFeignClient = sysLoginLogFeignClient; + } + + /** + * 登录认证 + * @param req + * @param res + * @return + * @throws AuthenticationException + */ + @Override + public Authentication attemptAuthentication(HttpServletRequest req, HttpServletResponse res) + throws AuthenticationException { + try { + LoginVo loginVo = new ObjectMapper().readValue(req.getInputStream(), LoginVo.class); + + Authentication authenticationToken = new UsernamePasswordAuthenticationToken(loginVo.getUsername(), loginVo.getPassword()); + return this.getAuthenticationManager().authenticate(authenticationToken); + } catch (IOException e) { + throw new RuntimeException(e); + } + + } + + /** + * 登录成功 + * @param request + * @param response + * @param chain + * @param auth + * @throws IOException + * @throws ServletException + */ + @Override + protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, FilterChain chain, + Authentication auth) throws IOException, ServletException { + CustomUser customUser = (CustomUser) auth.getPrincipal(); + String token = UUID.randomUUID().toString().replaceAll("-", ""); + redisTemplate.opsForValue().set(ADMIN_LOGIN_KEY_PREFIX+token, customUser.getSysUser(), ADMIN_LOGIN_KEY_TIMEOUT, TimeUnit.SECONDS); + + //保存权限数据 + //redisTemplate.boundHashOps("admin:auth").put(customUser.getUsername(), customUser.getAuthorities()); + + //记录日志 + SysLoginLog sysLoginLog = new SysLoginLog(); + sysLoginLog.setUsername(customUser.getUsername()); + sysLoginLog.setStatus(1); + sysLoginLog.setIpaddr(IpUtil.getIpAddress(request)); + sysLoginLog.setMsg("登录成功"); + sysLoginLogFeignClient.recordLoginLog(sysLoginLog); + + Map map = new HashMap<>(); + map.put("token", token); + ResponseUtil.out(response, Result.ok(map)); + } + + /** + * 登录失败 + * @param request + * @param response + * @param e + * @throws IOException + * @throws ServletException + */ + @Override + protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, + AuthenticationException e) throws IOException, ServletException { + if(e.getCause() instanceof RuntimeException) { + ResponseUtil.out(response, Result.build(null, 204, e.getMessage())); + } else { + ResponseUtil.out(response, Result.build(null, ResultCodeEnum.LOGIN_MOBLE_ERROR)); + } + } +} diff --git a/common/spring-security/src/main/java/com/atguigu/daijia/security/service/UserDetailsServiceImpl.java b/common/spring-security/src/main/java/com/atguigu/daijia/security/service/UserDetailsServiceImpl.java new file mode 100644 index 0000000..aa54235 --- /dev/null +++ b/common/spring-security/src/main/java/com/atguigu/daijia/security/service/UserDetailsServiceImpl.java @@ -0,0 +1,37 @@ +package com.atguigu.daijia.security.service; + +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.security.custom.CustomUser; +import com.atguigu.daijia.system.client.SecurityLoginFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Component; + +import java.util.List; + + +@Slf4j +@Component +public class UserDetailsServiceImpl implements UserDetailsService { + + @Autowired + private SecurityLoginFeignClient securityLoginFeignClient; + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + SysUser sysUser = securityLoginFeignClient.getByUsername(username).getData(); + if(null == sysUser) { + throw new UsernameNotFoundException("用户名不存在!"); + } + + if(!"admin".equals(sysUser.getUsername()) && sysUser.getStatus().intValue() == 0) { + throw new RuntimeException("账号已停用"); + } + List userPermsList = securityLoginFeignClient.findUserPermsList(sysUser.getId()).getData(); + sysUser.setUserPermsList(userPermsList); + return new CustomUser(sysUser); + } +} \ No newline at end of file diff --git a/model/pom.xml b/model/pom.xml new file mode 100644 index 0000000..b258c51 --- /dev/null +++ b/model/pom.xml @@ -0,0 +1,58 @@ + + + + daijia-parent + com.atguigu.daijia + 1.0 + + 4.0.0 + + model + + + + + org.projectlombok + lombok + + + com.atguigu.daijia + common-util + 1.0 + provided + + + + + + + + com.github.xiaoymin + knife4j-openapi3-jakarta-spring-boot-starter + provided + + + com.baomidou + mybatis-plus-boot-starter + provided + + + + org.springframework.boot + spring-boot-starter-validation + provided + + + org.springframework.boot + spring-boot-starter-data-elasticsearch + provided + + + org.springframework.boot + spring-boot-starter-data-mongodb + provided + + + \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/base/BaseEntity.java b/model/src/main/java/com/atguigu/daijia/model/entity/base/BaseEntity.java new file mode 100644 index 0000000..ed71e2a --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/base/BaseEntity.java @@ -0,0 +1,36 @@ +package com.atguigu.daijia.model.entity.base; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +@Data +public class BaseEntity implements Serializable { + + @TableId(type = IdType.AUTO) + private Long id; + + @TableField("create_time") + private Date createTime; + + @JsonIgnore + @TableField("update_time") + private Date updateTime; + + @JsonIgnore + @TableLogic + @TableField("is_deleted") + private Integer isDeleted; + + @JsonIgnore + @TableField(exist = false) + private Map param = new HashMap<>(); +} diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CouponInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CouponInfo.java new file mode 100644 index 0000000..46db368 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CouponInfo.java @@ -0,0 +1,67 @@ +package com.atguigu.daijia.model.entity.coupon; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Schema(description = "CouponInfo") +@TableName("coupon_info") +public class CouponInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "优惠卷类型 1 现金券 2 折扣") + @TableField("coupon_type") + private Integer couponType; + + @Schema(description = "优惠卷名字") + @TableField("name") + private String name; + + @Schema(description = "金额") + @TableField("amount") + private BigDecimal amount; + + @Schema(description = "折扣:取值[1 到 10]") + @TableField("discount") + private BigDecimal discount; + + @Schema(description = "使用门槛 0->没门槛") + @TableField("condition_amount") + private BigDecimal conditionAmount; + + @Schema(description = "发行数量") + @TableField("publish_count") + private Integer publishCount; + + @Schema(description = "每人限领张数") + @TableField("per_limit") + private Integer perLimit; + + @Schema(description = "已使用数量") + @TableField("use_count") + private Integer useCount; + + @Schema(description = "领取数量") + @TableField("receive_count") + private Integer receiveCount; + + @Schema(description = "过期时间") + @TableField("expire_time") + private Date expireTime; + + @Schema(description = "优惠券描述") + @TableField("description") + private String description; + + @Schema(description = "状态[0-未发布,1-已发布, -1-已过期]") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CustomerCoupon.java b/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CustomerCoupon.java new file mode 100644 index 0000000..b3e744e --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/coupon/CustomerCoupon.java @@ -0,0 +1,46 @@ +package com.atguigu.daijia.model.entity.coupon; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +@Schema(description = "CustomerCoupon") +@TableName("customer_coupon") +public class CustomerCoupon extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "优惠券ID") + @TableField("coupon_id") + private Long couponId; + + @Schema(description = "乘客ID") + @TableField("customer_id") + private Long customerId; + + @Schema(description = "购物券状态(1:未使用 2:已使用)") + @TableField("status") + private Integer status; + + @Schema(description = "领取时间") + @TableField("receive_time") + private Date receiveTime; + + @Schema(description = "使用时间") + @TableField("used_time") + private Date usedTime; + + @Schema(description = "订单id") + @TableField("order_id") + private Long orderId; + + @Schema(description = "过期时间") + @TableField("expire_time") + private Date expireTime; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerCar.java b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerCar.java new file mode 100644 index 0000000..b2b1fab --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerCar.java @@ -0,0 +1,22 @@ +package com.atguigu.daijia.model.entity.customer; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "CustomerCar") +public class CustomerCar extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "客户ID") + private Long customerId; + + @Schema(description = "车牌号") + private String license; + + @Schema(description = "车型") + private String brand; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerInfo.java new file mode 100644 index 0000000..fd87216 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerInfo.java @@ -0,0 +1,31 @@ +package com.atguigu.daijia.model.entity.customer; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "CustomerInfo") +public class CustomerInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "微信openId") + private String wxOpenId; + + @Schema(description = "客户昵称") + private String nickname; + + @Schema(description = "性别") + private String gender; + + @Schema(description = "头像") + private String avatarUrl; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "1有效,2禁用") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerLoginLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerLoginLog.java new file mode 100644 index 0000000..a88deb5 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/customer/CustomerLoginLog.java @@ -0,0 +1,25 @@ +package com.atguigu.daijia.model.entity.customer; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "CustomerLoginLog") +public class CustomerLoginLog extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "客户id") + private Long customerId; + + @Schema(description = "登录IP地址") + private String ipaddr; + + @Schema(description = "登录状态(0成功 1失败)") + private Boolean status; + + @Schema(description = "提示信息") + private String msg; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/OrderJob.java b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/OrderJob.java new file mode 100644 index 0000000..f805585 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/OrderJob.java @@ -0,0 +1,28 @@ +package com.atguigu.daijia.model.entity.dispatch; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "订单任务关联表") +@TableName("order_job") +public class OrderJob extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "订单id") + @TableField("order_id") + private Long orderId; + + @Schema(description = "任务id") + @TableField("job_id") + private Long jobId; + + @Schema(description = "参数") + @TableField("parameter") + private String parameter; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobInfo.java new file mode 100644 index 0000000..d58132e --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobInfo.java @@ -0,0 +1,237 @@ +package com.atguigu.daijia.model.entity.dispatch; + +import java.util.Date; + +/** + * xxl-job info + * + * @author xuxueli 2016-1-12 18:25:49 + */ +public class XxlJobInfo { + + private int id; // 主键ID + + private int jobGroup; // 执行器主键ID + private String jobDesc; + + private Date addTime; + private Date updateTime; + + private String author; // 负责人 + private String alarmEmail; // 报警邮件 + + private String scheduleType; // 调度类型 + private String scheduleConf; // 调度配置,值含义取决于调度类型 + private String misfireStrategy; // 调度过期策略 + + private String executorRouteStrategy; // 执行器路由策略 + private String executorHandler; // 执行器,任务Handler名称 + private String executorParam; // 执行器,任务参数 + private String executorBlockStrategy; // 阻塞处理策略 + private int executorTimeout; // 任务执行超时时间,单位秒 + private int executorFailRetryCount; // 失败重试次数 + + private String glueType; // GLUE类型 #com.xxl.job.core.glue.GlueTypeEnum + private String glueSource; // GLUE源代码 + private String glueRemark; // GLUE备注 + private Date glueUpdatetime; // GLUE更新时间 + + private String childJobId; // 子任务ID,多个逗号分隔 + + private int triggerStatus; // 调度状态:0-停止,1-运行 + private long triggerLastTime; // 上次调度时间 + private long triggerNextTime; // 下次调度时间 + + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getJobGroup() { + return jobGroup; + } + + public void setJobGroup(int jobGroup) { + this.jobGroup = jobGroup; + } + + public String getJobDesc() { + return jobDesc; + } + + public void setJobDesc(String jobDesc) { + this.jobDesc = jobDesc; + } + + public Date getAddTime() { + return addTime; + } + + public void setAddTime(Date addTime) { + this.addTime = addTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getAlarmEmail() { + return alarmEmail; + } + + public void setAlarmEmail(String alarmEmail) { + this.alarmEmail = alarmEmail; + } + + public String getScheduleType() { + return scheduleType; + } + + public void setScheduleType(String scheduleType) { + this.scheduleType = scheduleType; + } + + public String getScheduleConf() { + return scheduleConf; + } + + public void setScheduleConf(String scheduleConf) { + this.scheduleConf = scheduleConf; + } + + public String getMisfireStrategy() { + return misfireStrategy; + } + + public void setMisfireStrategy(String misfireStrategy) { + this.misfireStrategy = misfireStrategy; + } + + public String getExecutorRouteStrategy() { + return executorRouteStrategy; + } + + public void setExecutorRouteStrategy(String executorRouteStrategy) { + this.executorRouteStrategy = executorRouteStrategy; + } + + public String getExecutorHandler() { + return executorHandler; + } + + public void setExecutorHandler(String executorHandler) { + this.executorHandler = executorHandler; + } + + public String getExecutorParam() { + return executorParam; + } + + public void setExecutorParam(String executorParam) { + this.executorParam = executorParam; + } + + public String getExecutorBlockStrategy() { + return executorBlockStrategy; + } + + public void setExecutorBlockStrategy(String executorBlockStrategy) { + this.executorBlockStrategy = executorBlockStrategy; + } + + public int getExecutorTimeout() { + return executorTimeout; + } + + public void setExecutorTimeout(int executorTimeout) { + this.executorTimeout = executorTimeout; + } + + public int getExecutorFailRetryCount() { + return executorFailRetryCount; + } + + public void setExecutorFailRetryCount(int executorFailRetryCount) { + this.executorFailRetryCount = executorFailRetryCount; + } + + public String getGlueType() { + return glueType; + } + + public void setGlueType(String glueType) { + this.glueType = glueType; + } + + public String getGlueSource() { + return glueSource; + } + + public void setGlueSource(String glueSource) { + this.glueSource = glueSource; + } + + public String getGlueRemark() { + return glueRemark; + } + + public void setGlueRemark(String glueRemark) { + this.glueRemark = glueRemark; + } + + public Date getGlueUpdatetime() { + return glueUpdatetime; + } + + public void setGlueUpdatetime(Date glueUpdatetime) { + this.glueUpdatetime = glueUpdatetime; + } + + public String getChildJobId() { + return childJobId; + } + + public void setChildJobId(String childJobId) { + this.childJobId = childJobId; + } + + public int getTriggerStatus() { + return triggerStatus; + } + + public void setTriggerStatus(int triggerStatus) { + this.triggerStatus = triggerStatus; + } + + public long getTriggerLastTime() { + return triggerLastTime; + } + + public void setTriggerLastTime(long triggerLastTime) { + this.triggerLastTime = triggerLastTime; + } + + public long getTriggerNextTime() { + return triggerNextTime; + } + + public void setTriggerNextTime(long triggerNextTime) { + this.triggerNextTime = triggerNextTime; + } +} diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobLog.java new file mode 100644 index 0000000..09d480c --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/dispatch/XxlJobLog.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.model.entity.dispatch; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "XxlJobLog") +@TableName("xxl_job_log") +public class XxlJobLog extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "任务id") + @TableField("job_id") + private Long jobId; + + @Schema(description = "任务状态 0:失败 1:成功") + @TableField("status") + private Integer status; + + @Schema(description = "失败信息") + @TableField("error") + private String error; + + @Schema(description = "耗时(单位:毫秒)") + @TableField("times") + private Integer times; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccount.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccount.java new file mode 100644 index 0000000..102e0f8 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccount.java @@ -0,0 +1,42 @@ +package com.atguigu.daijia.model.entity.driver; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "DriverAccount") +@TableName("driver_account") +public class DriverAccount extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "司机id") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "账户总金额") + @TableField("total_amount") + private BigDecimal totalAmount; + + @Schema(description = "锁定金额") + @TableField("lock_amount") + private BigDecimal lockAmount; + + @Schema(description = "可用金额") + @TableField("available_amount") + private BigDecimal availableAmount; + + @Schema(description = "总收入") + @TableField("total_income_amount") + private BigDecimal totalIncomeAmount; + + @Schema(description = "总支出") + @TableField("total_pay_amount") + private BigDecimal totalPayAmount; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccountDetail.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccountDetail.java new file mode 100644 index 0000000..0a17f97 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverAccountDetail.java @@ -0,0 +1,38 @@ +package com.atguigu.daijia.model.entity.driver; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "DriverAccountDetail") +@TableName("driver_account_detail") +public class DriverAccountDetail extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "司机id") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "交易内容") + @TableField("content") + private String content; + + @Schema(description = "交易类型:1201-充值 1202-锁定 1203-解锁 1204-消费") + @TableField("trade_type") + private String tradeType; + + @Schema(description = "金额") + @TableField("amount") + private BigDecimal amount; + + @Schema(description = "交易号") + @TableField("trade_no") + private String tradeNo; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverFaceRecognition.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverFaceRecognition.java new file mode 100644 index 0000000..d25a4f1 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverFaceRecognition.java @@ -0,0 +1,26 @@ +package com.atguigu.daijia.model.entity.driver; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +@Schema(description = "DriverFaceRecognition") +@TableName("driver_face_recognition") +public class DriverFaceRecognition extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "司机id") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "识别日期") + @TableField("face_date") + private Date faceDate; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverInfo.java new file mode 100644 index 0000000..8b47c29 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverInfo.java @@ -0,0 +1,135 @@ +package com.atguigu.daijia.model.entity.driver; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Schema(description = "DriverInfo") +@TableName("driver_info") +public class DriverInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "微信openId") + @TableField("wx_open_id") + private String wxOpenId; + + @Schema(description = "昵称") + @TableField("nickname") + private String nickname; + + @Schema(description = "头像") + @TableField("avatar_url") + private String avatarUrl; + + @Schema(description = "电话") + @TableField("phone") + private String phone; + + @Schema(description = "姓名") + @TableField("name") + private String name; + + @Schema(description = "性别") + @TableField("gender") + private String gender; + + @Schema(description = "生日") + @TableField("birthday") + private Date birthday; + + @Schema(description = "身份证号码") + @TableField("idcard_no") + private String idcardNo; + + @Schema(description = "身份证地址") + @TableField("idcard_address") + private String idcardAddress; + + @Schema(description = "身份证有效期") + @TableField("idcard_expire") + private Date idcardExpire; + + @Schema(description = "身份证正面") + @TableField("idcard_front_url") + private String idcardFrontUrl; + + @Schema(description = "身份证背面") + @TableField("idcard_back_url") + private String idcardBackUrl; + + @Schema(description = "手持身份证") + @TableField("idcard_hand_url") + private String idcardHandUrl; + + @Schema(description = "准驾车型") + @TableField("driver_license_class") + private String driverLicenseClazz; + + @Schema(description = "驾驶证证件号") + @TableField("driver_license_no") + private String driverLicenseNo; + + @Schema(description = "驾驶证有效期") + @TableField("driver_license_expire") + private Date driverLicenseExpire; + + @Schema(description = "驾驶证初次领证日期") + @TableField("driver_license_issue_date") + private Date driverLicenseIssueDate; + + @Schema(description = "驾驶证正面") + @TableField("driver_license_front_url") + private String driverLicenseFrontUrl; + + @Schema(description = "行驶证副页正面") + @TableField("driver_license_back_url") + private String driverLicenseBackUrl; + + @Schema(description = "手持驾驶证") + @TableField("driver_license_hand_url") + private String driverLicenseHandUrl; + + @Schema(description = "紧急联系人") + @TableField("contact_name") + private String contactName; + + @Schema(description = "紧急联系人电话") + @TableField("contact_phone") + private String contactPhone; + + @Schema(description = "紧急联系人关系") + @TableField("contact_relationship") + private String contactRelationship; + + @Schema(description = "腾讯云人脸模型id") + @TableField("face_model_id") + private String faceModelId; + + @Schema(description = "司机工号") + @TableField("job_no") + private String jobNo; + + @Schema(description = "订单量统计") + @TableField("order_count") + private Integer orderCount; + + @Schema(description = "评分") + @TableField("score") + private BigDecimal score; + + @Schema(description = "认证状态") + @TableField("auth_status") + private Integer authStatus; + + @Schema(description = "状态,1正常,2禁用") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverLoginLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverLoginLog.java new file mode 100644 index 0000000..bdd5309 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverLoginLog.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.model.entity.driver; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "DriverLoginLog") +@TableName("driver_login_log") +public class DriverLoginLog extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "司机id") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "登录IP地址") + @TableField("ipaddr") + private String ipaddr; + + @Schema(description = "登录状态(0成功 1失败)") + @TableField("status") + private Boolean status; + + @Schema(description = "提示信息") + @TableField("msg") + private String msg; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverSet.java b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverSet.java new file mode 100644 index 0000000..10b8249 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/driver/DriverSet.java @@ -0,0 +1,38 @@ +package com.atguigu.daijia.model.entity.driver; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "DriverSet") +@TableName("driver_set") +public class DriverSet extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "司机ID") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "服务状态 1:开始接单 0:未接单") + @TableField("service_status") + private Integer serviceStatus; + + @Schema(description = "订单里程设置") + @TableField("order_distance") + private BigDecimal orderDistance; + + @Schema(description = "接单里程设置") + @TableField("accept_distance") + private BigDecimal acceptDistance; + + @Schema(description = "是否自动接单") + @TableField("is_auto_accept") + private Integer isAutoAccept; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/map/OrderServiceLocation.java b/model/src/main/java/com/atguigu/daijia/model/entity/map/OrderServiceLocation.java new file mode 100644 index 0000000..dcab73d --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/map/OrderServiceLocation.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.model.entity.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Schema(description = "订单代驾服务位置") +@Document +public class OrderServiceLocation { + + @Schema(description = "id") + @Id + private String id; + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "金度") + private BigDecimal latitude; + + @Schema(description = "纬度") + private BigDecimal longitude; + + @Schema(description = "创建时间") + private Date createTime; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderBill.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderBill.java new file mode 100644 index 0000000..348ef75 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderBill.java @@ -0,0 +1,114 @@ +package com.atguigu.daijia.model.entity.order; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "OrderBill") +@TableName("order_bill") +public class OrderBill extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "订单ID") + @TableField("order_id") + private Long orderId; + + @Schema(description = "规则ID") + @TableField("fee_rule_id") + private Long feeRuleId; + + @Schema(description = "总金额") + @TableField("total_amount") + private BigDecimal totalAmount; + + @Schema(description = "应付款金额") + @TableField("pay_amount") + private BigDecimal payAmount; + + @Schema(description = "里程费") + @TableField("distance_fee") + private BigDecimal distanceFee; + + @Schema(description = "等时费用") + @TableField("wait_fee") + private BigDecimal waitFee; + + @Schema(description = "路桥费") + @TableField("toll_fee") + private BigDecimal tollFee; + + @Schema(description = "停车费") + @TableField("parking_fee") + private BigDecimal parkingFee; + + @Schema(description = "其他费用") + @TableField("other_fee") + private BigDecimal otherFee; + + @Schema(description = "远程费") + @TableField("long_distance_fee") + private BigDecimal longDistanceFee; + + @Schema(description = "顾客好处费") + @TableField("favour_fee") + private BigDecimal favourFee; + + @Schema(description = "系统奖励费") + @TableField("reward_fee") + private BigDecimal rewardFee; + + @Schema(description = "系统奖励规则id") + @TableField("reward_rule_id") + private Long rewardRuleId; + + @Schema(description = "优惠券金额") + @TableField("coupon_amount") + private BigDecimal couponAmount; + + @Schema(description = "基础里程(公里)") + @TableField("base_distance") + private BigDecimal baseDistance; + + @Schema(description = "基础里程费") + @TableField("base_distance_fee") + private BigDecimal baseDistanceFee; + + @Schema(description = "超出基础里程的里程(公里)") + @TableField("exceed_distance") + private BigDecimal exceedDistance; + + @Schema(description = "超出基础里程的价格") + @TableField("exceed_distance_price") + private BigDecimal exceedDistancePrice; + + @Schema(description = "基础等时分钟") + @TableField("base_wait_minute") + private Integer baseWaitMinute; + + @Schema(description = "超出基础等时的分钟") + @TableField("exceed_wait_minute") + private Integer exceedWaitMinute; + + @Schema(description = "超出基础分钟的价格") + @TableField("exceed_wait_minute_price") + private BigDecimal exceedWaitMinutePrice; + + @Schema(description = "基础远途里程(公里)") + @TableField("base_long_distance") + private BigDecimal baseLongDistance; + + @Schema(description = "超出基础远程里程的里程") + @TableField("exceed_long_distance") + private BigDecimal exceedLongDistance; + + @Schema(description = "超出基础远程里程的价格") + @TableField("exceed_long_distance_price") + private BigDecimal exceedLongDistancePrice; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderComment.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderComment.java new file mode 100644 index 0000000..a200706 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderComment.java @@ -0,0 +1,44 @@ +package com.atguigu.daijia.model.entity.order; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "OrderComment") +@TableName("order_comment") +public class OrderComment extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "订单ID") + @TableField("order_id") + private Long orderId; + + @Schema(description = "司机ID") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "顾客ID") + @TableField("customer_id") + private Long customerId; + + @Schema(description = "评分,1星~5星") + @TableField("rate") + private Integer rate; + + @Schema(description = "备注") + @TableField("remark") + private String remark; + + @Schema(description = "状态,1未申诉,2已申诉,3申诉失败,4申诉成功") + @TableField("status") + private Integer status; + + @Schema(description = "申诉工作流ID") + @TableField("instance_id") + private String instanceId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderInfo.java new file mode 100644 index 0000000..e744f22 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderInfo.java @@ -0,0 +1,127 @@ +package com.atguigu.daijia.model.entity.order; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Schema(description = "OrderInfo") +@TableName("order_info") +public class OrderInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "客户ID") + @TableField("customer_id") + private Long customerId; + + @Schema(description = "订单号") + @TableField("order_no") + private String orderNo; + + @Schema(description = "起始地点") + @TableField("start_location") + private String startLocation; + + @Schema(description = "起始地点经度") + @TableField("start_point_longitude") + private BigDecimal startPointLongitude; + + @Schema(description = "起始点伟度") + @TableField("start_point_latitude") + private BigDecimal startPointLatitude; + + @Schema(description = "结束地点") + @TableField("end_location") + private String endLocation; + + @Schema(description = "结束地点经度") + @TableField("end_point_longitude") + private BigDecimal endPointLongitude; + + @Schema(description = "结束地点经度") + @TableField("end_point_latitude") + private BigDecimal endPointLatitude; + + @Schema(description = "预估里程") + @TableField("expect_distance") + private BigDecimal expectDistance; + + @Schema(description = "实际里程") + @TableField("real_distance") + private BigDecimal realDistance; + + @Schema(description = "预估订单金额") + @TableField("expect_amount") + private BigDecimal expectAmount; + + @Schema(description = "实际订单金额") + @TableField("real_amount") + private BigDecimal realAmount; + + @Schema(description = "顾客好处费") + @TableField("favour_fee") + private BigDecimal favourFee; + + @Schema(description = "司机ID") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "司机接单时间") + @TableField("accept_time") + private Date acceptTime; + + @Schema(description = "司机到达时间") + @TableField("arrive_time") + private Date arriveTime; + + @Schema(description = "开始服务时间") + @TableField("start_service_time") + private Date startServiceTime; + + @Schema(description = "结束服务时间") + @TableField("end_service_time") + private Date endServiceTime; + + @Schema(description = "微信付款时间") + @TableField("pay_time") + private Date payTime; + + @Schema(description = "订单取消规则ID") + @TableField("cancel_rule_id") + private Long cancelRuleId; + + @Schema(description = "车牌号") + @TableField("car_license") + private String carLicense; + + @Schema(description = "车型") + @TableField("car_type") + private String carType; + + @Schema(description = "司机到达拍照:车前照") + @TableField("car_front_url") + private String carFrontUrl; + + @Schema(description = "司机到达拍照:车后照") + @TableField("car_back_url") + private String carBackUrl; + + @Schema(description = "微信支付订单号") + @TableField("transaction_id") + private String transactionId; + + @Schema(description = "订单状态:1等待接单,2已接单,3司机已到达,4开始代驾,5结束代驾,6未付款,7已付款,8订单已结束,9顾客撤单,10司机撤单,11事故关闭,12其他") + @TableField("status") + private Integer status; + + @Schema(description = "订单备注信息") + @TableField("remark") + private String remark; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitor.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitor.java new file mode 100644 index 0000000..8972108 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitor.java @@ -0,0 +1,36 @@ +package com.atguigu.daijia.model.entity.order; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "OrderMonitor") +@TableName("order_monitor") +public class OrderMonitor extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "订单ID") + @TableField("order_id") + private Long orderId; + + @Schema(description = "文件个数") + @TableField("file_num") + private Integer fileNum; + + @Schema(description = "需要审核的个数") + @TableField("audit_num") + private Integer auditNum; + + @Schema(description = "是否报警") + @TableField("is_alarm") + private Integer isAlarm; + + @Schema(description = "状态") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitorRecord.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitorRecord.java new file mode 100644 index 0000000..81b4aaf --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderMonitorRecord.java @@ -0,0 +1,35 @@ +package com.atguigu.daijia.model.entity.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; + +@Data +@Schema(description = "OrderMonitorRecord") +@Document("order_monitor_record") +public class OrderMonitorRecord { + + @Schema(description = "id") + @Id + private String id; + + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "文件路径") + private String fileUrl; + + @Schema(description = "内容") + private String content; + + @Schema(description = "审核结果") + private String result; + + @Schema(description = "风险关键词") + private String keywords; + + @Schema(description = "状态") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderProfitsharing.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderProfitsharing.java new file mode 100644 index 0000000..4df0ceb --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderProfitsharing.java @@ -0,0 +1,58 @@ +package com.atguigu.daijia.model.entity.order; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "OrderProfitsharing") +@TableName("order_profitsharing") +public class OrderProfitsharing extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "订单ID") + @TableField("order_id") + private Long orderId; + + @Schema(description = "规则ID") + @TableField("rule_id") + private Long ruleId; + + @Schema(description = "订单金额") + @TableField("order_amount") + private BigDecimal orderAmount; + + @Schema(description = "微信支付平台费率") + @TableField("payment_rate") + private BigDecimal paymentRate; + + @Schema(description = "微信支付平台费用") + @TableField("payment_fee") + private BigDecimal paymentFee; + + @Schema(description = "代驾司机代缴个税税率") + @TableField("driver_tax_rate") + private BigDecimal driverTaxRate; + + @Schema(description = "代驾司机税率支出费用") + @TableField("driver_tax_fee") + private BigDecimal driverTaxFee; + + @Schema(description = "平台分账收入") + @TableField("platform_income") + private BigDecimal platformIncome; + + @Schema(description = "司机分账收入") + @TableField("driver_income") + private BigDecimal driverIncome; + + @Schema(description = "分账状态,1未分账,2已分账") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderStatusLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderStatusLog.java new file mode 100644 index 0000000..2670b65 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderStatusLog.java @@ -0,0 +1,30 @@ +package com.atguigu.daijia.model.entity.order; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +@Schema(description = "OrderStatusLog") +@TableName("order_status_log") +public class OrderStatusLog extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "orderId") + @TableField("order_id") + private Long orderId; + + @Schema(description = "订单状态") + @TableField("order_status") + private Integer orderStatus; + + @Schema(description = "操作时间") + @TableField("operate_time") + private Date operateTime; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderTrack.java b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderTrack.java new file mode 100644 index 0000000..f360b1c --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/order/OrderTrack.java @@ -0,0 +1,40 @@ +package com.atguigu.daijia.model.entity.order; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "OrderTrack") +@TableName("order_track") +public class OrderTrack extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "订单id") + @TableField("order_id") + private Long orderId; + + @Schema(description = "司机id") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "客户id") + @TableField("customer_id") + private Long customerId; + + @Schema(description = "经度") + @TableField("longitude") + private String longitude; + + @Schema(description = "纬度") + @TableField("latitude") + private String latitude; + + @Schema(description = "速度") + @TableField("speed") + private String speed; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/payment/PaymentInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/payment/PaymentInfo.java new file mode 100644 index 0000000..02fcc28 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/payment/PaymentInfo.java @@ -0,0 +1,59 @@ +package com.atguigu.daijia.model.entity.payment; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Schema(description = "PaymentInfo") +@TableName("payment_info") +public class PaymentInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "乘客微信openid") + @TableField("customer_open_id") + private String customerOpenId; + + @Schema(description = "司机微信openid") + @TableField("driver_open_id") + private String driverOpenId; + + @Schema(description = "订单号") + @TableField("order_no") + private String orderNo; + + @Schema(description = "付款方式:1101-微信 1102-支付宝") + @TableField("pay_way") + private Integer payWay; + + @Schema(description = "交易编号(微信或支付)") + @TableField("transaction_id") + private String transactionId; + + @Schema(description = "支付金额") + @TableField("amount") + private BigDecimal amount; + + @Schema(description = "交易内容") + @TableField("content") + private String content; + + @Schema(description = "支付状态:0-未支付 1-已支付") + @TableField("payment_status") + private Integer paymentStatus; + + @Schema(description = "回调时间") + @TableField("callback_time") + private Date callbackTime; + + @Schema(description = "回调信息") + @TableField("callback_content") + private String callbackContent; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/payment/ProfitsharingInfo.java b/model/src/main/java/com/atguigu/daijia/model/entity/payment/ProfitsharingInfo.java new file mode 100644 index 0000000..8191517 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/payment/ProfitsharingInfo.java @@ -0,0 +1,44 @@ +package com.atguigu.daijia.model.entity.payment; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "ProfitsharingInfo") +@TableName("profitsharing_info") +public class ProfitsharingInfo extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "司机id") + @TableField("driver_id") + private Long driverId; + + @Schema(description = "订单号") + @TableField("order_no") + private String orderNo; + + @Schema(description = "微信支付订单号") + @TableField("transaction_id") + private String transactionId; + + @Schema(description = "商户分账单号") + @TableField("out_trade_no") + private String outTradeNo; + + @Schema(description = "司机分账金额") + @TableField("amount") + private String amount; + + @Schema(description = "分账单状态 PROCESSING:处理中 FINISHED:分账完成") + @TableField("state") + private String state; + + @Schema(description = "返回信息") + @TableField("respone_content") + private String responeContent; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/rule/CancelRule.java b/model/src/main/java/com/atguigu/daijia/model/entity/rule/CancelRule.java new file mode 100644 index 0000000..13c052c --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/rule/CancelRule.java @@ -0,0 +1,28 @@ +package com.atguigu.daijia.model.entity.rule; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "CancelRule") +@TableName("cancel_rule") +public class CancelRule extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "规则名称") + @TableField("name") + private String name; + + @Schema(description = "规则代码") + @TableField("rule") + private String rule; + + @Schema(description = "状态代码,1有效,2关闭") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/rule/FeeRule.java b/model/src/main/java/com/atguigu/daijia/model/entity/rule/FeeRule.java new file mode 100644 index 0000000..5928c1f --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/rule/FeeRule.java @@ -0,0 +1,28 @@ +package com.atguigu.daijia.model.entity.rule; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "FeeRule") +@TableName("fee_rule") +public class FeeRule extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "规则名称") + @TableField("name") + private String name; + + @Schema(description = "规则代码") + @TableField("rule") + private String rule; + + @Schema(description = "状态代码,1有效,2关闭") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/rule/ProfitsharingRule.java b/model/src/main/java/com/atguigu/daijia/model/entity/rule/ProfitsharingRule.java new file mode 100644 index 0000000..29770fd --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/rule/ProfitsharingRule.java @@ -0,0 +1,28 @@ +package com.atguigu.daijia.model.entity.rule; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "ProfitsharingRule") +@TableName("profitsharing_rule") +public class ProfitsharingRule extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "规则名称") + @TableField("name") + private String name; + + @Schema(description = "规则代码") + @TableField("rule") + private String rule; + + @Schema(description = "状态代码,1有效,2关闭") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/rule/RewardRule.java b/model/src/main/java/com/atguigu/daijia/model/entity/rule/RewardRule.java new file mode 100644 index 0000000..0ccb61f --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/rule/RewardRule.java @@ -0,0 +1,28 @@ +package com.atguigu.daijia.model.entity.rule; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "RewardRule") +@TableName("reward_rule") +public class RewardRule extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "规则名称") + @TableField("name") + private String name; + + @Schema(description = "规则代码") + @TableField("rule") + private String rule; + + @Schema(description = "状态代码,1有效,2关闭") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysDept.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysDept.java new file mode 100644 index 0000000..cc4ba26 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysDept.java @@ -0,0 +1,50 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +@Schema(description = "部门") +@TableName("sys_dept") +public class SysDept extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "部门名称") + @TableField("name") + private String name; + + @Schema(description = "上级部门id") + @TableField("parent_id") + private Long parentId; + + @Schema(description = "树结构") + @TableField("tree_path") + private String treePath; + + @Schema(description = "排序") + @TableField("sort_value") + private Integer sortValue; + + @Schema(description = "负责人") + @TableField("leader") + private String leader; + + @Schema(description = "电话") + @TableField("phone") + private String phone; + + @Schema(description = "状态(1正常 0停用)") + @TableField("status") + private Integer status; + + @Schema(description = "下级部门") + @TableField(exist = false) + private List children; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysLoginLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysLoginLog.java new file mode 100644 index 0000000..4312fd2 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysLoginLog.java @@ -0,0 +1,38 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +@Schema(description = "SysLoginLog") +@TableName("sys_login_log") +public class SysLoginLog extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "用户账号") + @TableField("username") + private String username; + + @Schema(description = "登录IP地址") + @TableField("ipaddr") + private String ipaddr; + + @Schema(description = "登录状态(0成功 1失败)") + @TableField("status") + private Integer status; + + @Schema(description = "提示信息") + @TableField("msg") + private String msg; + + @Schema(description = "访问时间") + @TableField("access_time") + private Date accessTime; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysMenu.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysMenu.java new file mode 100644 index 0000000..41887d4 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysMenu.java @@ -0,0 +1,69 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +@Schema(description = "菜单") +@TableName("sys_menu") +public class SysMenu extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "所属上级") + @TableField("parent_id") + private Long parentId; + + @Schema(description = "名称") + @TableField("name") + private String name; + + @Schema(description = "类型(1:菜单,2:按钮)") + @TableField("type") + private Integer type; + + @Schema(description = "路由地址") + @TableField("path") + private String path; + + @Schema(description = "组件路径") + @TableField("component") + private String component; + + @Schema(description = "权限标识") + @TableField("perms") + private String perms; + + @Schema(description = "图标") + @TableField("icon") + private String icon; + + @Schema(description = "排序") + @TableField("sort_value") + private Integer sortValue; + + @Schema(description = "状态(0:禁止,1:正常)") + @TableField("status") + private Integer status; + + @Schema(description = "高亮的路径") + @TableField("active_menu") + private String activeMenu; + + @Schema(description = "是否隐藏") + @TableField("is_hide") + private Integer isHide; + + // 下级列表 + @TableField(exist = false) + private List children; + //是否选中 + @TableField(exist = false) + private boolean isSelect; +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysOperLog.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysOperLog.java new file mode 100644 index 0000000..6098a11 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysOperLog.java @@ -0,0 +1,74 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +@Schema(description = "SysOperLog") +@TableName("sys_oper_log") +public class SysOperLog extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "模块标题") + @TableField("title") + private String title; + + @Schema(description = "业务类型(0其它 1新增 2修改 3删除)") + @TableField("business_type") + private String businessType; + + @Schema(description = "方法名称") + @TableField("method") + private String method; + + @Schema(description = "请求方式") + @TableField("request_method") + private String requestMethod; + + @Schema(description = "操作类别(0其它 1后台用户 2手机端用户)") + @TableField("operator_type") + private String operatorType; + + @Schema(description = "操作人员") + @TableField("oper_name") + private String operName; + + @Schema(description = "部门名称") + @TableField("dept_name") + private String deptName; + + @Schema(description = "请求URL") + @TableField("oper_url") + private String operUrl; + + @Schema(description = "主机地址") + @TableField("oper_ip") + private String operIp; + + @Schema(description = "请求参数") + @TableField("oper_param") + private String operParam; + + @Schema(description = "返回参数") + @TableField("json_result") + private String jsonResult; + + @Schema(description = "操作状态(0正常 1异常)") + @TableField("status") + private Integer status; + + @Schema(description = "错误消息") + @TableField("error_msg") + private String errorMsg; + + @Schema(description = "操作时间") + @TableField("oper_time") + private Date operTime; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysPost.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysPost.java new file mode 100644 index 0000000..baabffb --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysPost.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "岗位") +@TableName("sys_post") +public class SysPost extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "岗位编码") + @TableField("post_code") + private String postCode; + + @Schema(description = "岗位名称") + @TableField("name") + private String name; + + @Schema(description = "显示顺序") + @TableField("description") + private String description; + + @Schema(description = "状态(1正常 0停用)") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRole.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRole.java new file mode 100644 index 0000000..b8fd63f --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRole.java @@ -0,0 +1,31 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Data +@Schema(description = "角色") +@TableName("sys_role") +public class SysRole extends BaseEntity { + + private static final long serialVersionUID = 1L; + + //@NotBlank(message = "角色名称不能为空") + @Schema(description = "角色名称") + @TableField("role_name") + private String roleName; + + @Schema(description = "角色编码") + @TableField("role_code") + private String roleCode; + + @Schema(description = "描述") + @TableField("description") + private String description; + +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRoleMenu.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRoleMenu.java new file mode 100644 index 0000000..d98b311 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysRoleMenu.java @@ -0,0 +1,25 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "角色菜单") +@TableName("sys_role_menu") +public class SysRoleMenu extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "角色id") + @TableField("role_id") + private Long roleId; + + @Schema(description = "菜单id") + @TableField("menu_id") + private Long menuId; + +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUser.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUser.java new file mode 100644 index 0000000..663bc1e --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUser.java @@ -0,0 +1,66 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +@Schema(description = "用户") +@TableName("sys_user") +public class SysUser extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "用户名") + @TableField("username") + private String username; + + @Schema(description = "密码") + @TableField("password") + private String password; + + @Schema(description = "姓名") + @TableField("name") + private String name; + + @Schema(description = "手机") + @TableField("phone") + private String phone; + + @Schema(description = "头像地址") + @TableField("head_url") + private String headUrl; + + @Schema(description = "部门id") + @TableField("dept_id") + private Long deptId; + + @Schema(description = "岗位id") + @TableField("post_id") + private Long postId; + + @Schema(description = "描述") + @TableField("description") + private String description; + + @Schema(description = "状态(1:正常 0:停用)") + @TableField("status") + private Integer status; + + @TableField(exist = false) + private List roleList; + //岗位 + @TableField(exist = false) + private String postName; + //部门 + @TableField(exist = false) + private String deptName; + + @TableField(exist = false) + List userPermsList; +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUserRole.java b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUserRole.java new file mode 100644 index 0000000..9c2a468 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/entity/system/SysUserRole.java @@ -0,0 +1,24 @@ +package com.atguigu.daijia.model.entity.system; + +import com.atguigu.daijia.model.entity.base.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "用户角色") +@TableName("sys_user_role") +public class SysUserRole extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @Schema(description = "角色id") + @TableField("role_id") + private Long roleId; + + @Schema(description = "用户id") + @TableField("user_id") + private Long userId; +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/enums/OrderStatus.java b/model/src/main/java/com/atguigu/daijia/model/enums/OrderStatus.java new file mode 100644 index 0000000..f05ad9a --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/enums/OrderStatus.java @@ -0,0 +1,37 @@ +package com.atguigu.daijia.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.Getter; + +@Getter +public enum OrderStatus { + WAITING_ACCEPT(1, "等待接单"), + ACCEPTED(2, "已接单"), + DRIVER_ARRIVED(3, "司机已到达"), + UPDATE_CART_INFO(4, "更新代驾车辆信息"), + START_SERVICE(5, "开始服务"), + END_SERVICE(6, "结束服务"), + UNPAID(7, "待付款"), + PAID(8, "已付款"), + FINISH(9, "完成"), + CANCEL_ORDER(-1, "未接单取消订单"), + NULL_ORDER(-100, "不存在"), + ; + + @EnumValue + private Integer status; + private String comment; + + OrderStatus(Integer status, String comment) { + this.status = status; + this.comment = comment; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } +} diff --git a/model/src/main/java/com/atguigu/daijia/model/enums/TradeType.java b/model/src/main/java/com/atguigu/daijia/model/enums/TradeType.java new file mode 100644 index 0000000..d3b1cfa --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/enums/TradeType.java @@ -0,0 +1,21 @@ +package com.atguigu.daijia.model.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.Getter; + +@Getter +public enum TradeType { + + REWARD(1, "系统奖励"), + ; + + @EnumValue + private Integer type; + private String content; + + TradeType(Integer type, String content) { + this.type = type; + this.content = content; + } + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/coupon/UseCouponForm.java b/model/src/main/java/com/atguigu/daijia/model/form/coupon/UseCouponForm.java new file mode 100644 index 0000000..6681d7f --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/coupon/UseCouponForm.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia.model.form.coupon; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class UseCouponForm { + + @Schema(description = "乘客id") + private Long customerId; + + @Schema(description = "乘客优惠券id") + private Long customerCouponId; + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "订单金额") + private BigDecimal orderAmount; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/ExpectOrderForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/ExpectOrderForm.java new file mode 100644 index 0000000..194dc24 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/ExpectOrderForm.java @@ -0,0 +1,22 @@ +package com.atguigu.daijia.model.form.customer; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ExpectOrderForm { + + @Schema(description = "起始地点经度") + private BigDecimal startPointLongitude; + + @Schema(description = "起始点伟度") + private BigDecimal startPointLatitude; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLongitude; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLatitude; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/SubmitOrderForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/SubmitOrderForm.java new file mode 100644 index 0000000..961903d --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/SubmitOrderForm.java @@ -0,0 +1,35 @@ +package com.atguigu.daijia.model.form.customer; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class SubmitOrderForm { + + @Schema(description = "乘客id") + private Long customerId; + + @Schema(description = "起始地点") + private String startLocation; + + @Schema(description = "起始地点经度") + private BigDecimal startPointLongitude; + + @Schema(description = "起始点伟度") + private BigDecimal startPointLatitude; + + @Schema(description = "结束地点") + private String endLocation; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLongitude; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLatitude; + + @Schema(description = "顾客好处费") + private BigDecimal favourFee = new BigDecimal(0); + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerInfoForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerInfoForm.java new file mode 100644 index 0000000..8d7a3d3 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerInfoForm.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.model.form.customer; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class UpdateCustomerInfoForm { + + @Schema(description = "客户Id") + private Long customerId; + + @Schema(description = "客户昵称") + private String nickname; + + @Schema(description = "性别") + private String gender; + + @Schema(description = "头像") + private String avatarUrl; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerPhoneForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerPhoneForm.java new file mode 100644 index 0000000..661880f --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateCustomerPhoneForm.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.form.customer; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class UpdateCustomerPhoneForm { + + @Schema(description = "客户Id") + private Long customerId; + + @Schema(description = "手机号码") + private String phone; + + @Schema(description = "手机验证码") + private String code; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateWxPhoneForm.java b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateWxPhoneForm.java new file mode 100644 index 0000000..4aed6e2 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/customer/UpdateWxPhoneForm.java @@ -0,0 +1,14 @@ +package com.atguigu.daijia.model.form.customer; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class UpdateWxPhoneForm { + + @Schema(description = "客户Id") + private Long customerId; + + private String code; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/DriverFaceModelForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/DriverFaceModelForm.java new file mode 100644 index 0000000..42c69bf --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/DriverFaceModelForm.java @@ -0,0 +1,14 @@ +package com.atguigu.daijia.model.form.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class DriverFaceModelForm { + + @Schema(description = "司机id") + private Long driverId; + + @Schema(description = "图片 base64 数据") + private String imageBase64 ; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/IdCardOcrForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/IdCardOcrForm.java new file mode 100644 index 0000000..1bc5b7c --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/IdCardOcrForm.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.model.form.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class IdCardOcrForm { + + @Schema(description = "身份证Base64字符串") + private String idCardBase64; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/TransferForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/TransferForm.java new file mode 100644 index 0000000..8f61a98 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/TransferForm.java @@ -0,0 +1,26 @@ +package com.atguigu.daijia.model.form.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class TransferForm { + + @Schema(description = "身份证Base64字符串") + private Long driverId; + + @Schema(description = "交易内容") + private String content; + + @Schema(description = "交易类型") + private Integer tradeType; + + @Schema(description = "交易金额") + private BigDecimal amount; + + @Schema(description = "交易编号") + private String tradeNo; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverAuthInfoForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverAuthInfoForm.java new file mode 100644 index 0000000..40d67a5 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverAuthInfoForm.java @@ -0,0 +1,81 @@ +package com.atguigu.daijia.model.form.driver; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +public class UpdateDriverAuthInfoForm { + + @Schema(description = "司机Id") + private Long driverId; + + @Schema(description = "昵称") + private String nickname; + + @Schema(description = "头像") + private String avatarUrl; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "姓名") + private String name; + + @Schema(description = "性别") + @TableField("gender") + private String gender; + + @Schema(description = "生日") + private Date birthday; + + @Schema(description = "身份证号码") + private String idcardNo; + + @Schema(description = "身份证地址") + private String idcardAddress; + + @Schema(description = "身份证有效期") + private Date idcardExpire; + + @Schema(description = "身份证正面") + private String idcardFrontUrl; + + @Schema(description = "身份证背面") + private String idcardBackUrl; + + @Schema(description = "手持身份证") + private String idcardHandUrl; + + @Schema(description = "准驾车型") + private String driverLicenseClazz; + + @Schema(description = "驾驶证证件号") + private String driverLicenseNo; + + @Schema(description = "驾驶证有效期") + private Date driverLicenseExpire; + + @Schema(description = "驾驶证初次领证日期") + private Date driverLicenseIssueDate; + + @Schema(description = "驾驶证正面") + private String driverLicenseFrontUrl; + + @Schema(description = "行驶证副页正面") + private String driverLicenseBackUrl; + + @Schema(description = "手持驾驶证") + private String driverLicenseHandUrl; + + @Schema(description = "紧急联系人") + private String contactName; + + @Schema(description = "紧急联系人电话") + private String contactPhone; + + @Schema(description = "紧急联系人关系") + private String contactRelationship; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverPhoneForm.java b/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverPhoneForm.java new file mode 100644 index 0000000..aaed98a --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/driver/UpdateDriverPhoneForm.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.model.form.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class UpdateDriverPhoneForm { + + @Schema(description = "司机Id") + private Long driverId; + + + @Schema(description = "手机号码") + private String phone; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/CalculateDrivingLineForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/CalculateDrivingLineForm.java new file mode 100644 index 0000000..6b48703 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/map/CalculateDrivingLineForm.java @@ -0,0 +1,22 @@ +package com.atguigu.daijia.model.form.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class CalculateDrivingLineForm { + + @Schema(description = "起始地点经度") + private BigDecimal startPointLongitude; + + @Schema(description = "起始点伟度") + private BigDecimal startPointLatitude; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLongitude; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLatitude; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/OrderServiceLocationForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/OrderServiceLocationForm.java new file mode 100644 index 0000000..934aba2 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/map/OrderServiceLocationForm.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.model.form.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OrderServiceLocationForm { + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "经度") + private BigDecimal longitude; + + @Schema(description = "伟度") + private BigDecimal latitude; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/SearchNearByDriverForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/SearchNearByDriverForm.java new file mode 100644 index 0000000..f978978 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/map/SearchNearByDriverForm.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.model.form.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class SearchNearByDriverForm { + + @Schema(description = "经度") + private BigDecimal longitude; + + @Schema(description = "伟度") + private BigDecimal latitude; + + @Schema(description = "里程") + private BigDecimal mileageDistance; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateDriverLocationForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateDriverLocationForm.java new file mode 100644 index 0000000..6a52592 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateDriverLocationForm.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.model.form.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class UpdateDriverLocationForm { + + @Schema(description = "司机id") + private Long driverId; + + @Schema(description = "经度") + private BigDecimal longitude; + + @Schema(description = "伟度") + private BigDecimal latitude; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateOrderLocationForm.java b/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateOrderLocationForm.java new file mode 100644 index 0000000..83a68d3 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/map/UpdateOrderLocationForm.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.model.form.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class UpdateOrderLocationForm { + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "经度") + private BigDecimal longitude; + + @Schema(description = "伟度") + private BigDecimal latitude; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/OrderCommentForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderCommentForm.java new file mode 100644 index 0000000..ddd5a11 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderCommentForm.java @@ -0,0 +1,26 @@ +package com.atguigu.daijia.model.form.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "订单评论") +public class OrderCommentForm { + + + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "司机ID") + private Long driverId; + + @Schema(description = "顾客ID") + private Long customerId; + + @Schema(description = "评分,1星~5星") + private Integer rate; + + @Schema(description = "差评备注") + private String remark; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/OrderFeeForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderFeeForm.java new file mode 100644 index 0000000..294c0dd --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderFeeForm.java @@ -0,0 +1,29 @@ +package com.atguigu.daijia.model.form.order; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "订单费用表单") +public class OrderFeeForm { + + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "司机ID") + private Long driverId; + + @Schema(description = "路桥费") + private BigDecimal tollFee; + + @Schema(description = "停车费") + private BigDecimal parkingFee; + + @Schema(description = "其他费用") + @TableField("other_fee") + private BigDecimal otherFee; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/OrderInfoForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderInfoForm.java new file mode 100644 index 0000000..d4298f4 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderInfoForm.java @@ -0,0 +1,51 @@ +package com.atguigu.daijia.model.form.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "OrderInfo") +public class OrderInfoForm { + + + @Schema(description = "客户ID") + private Long customerId; + + @Schema(description = "订单号") + private String orderNo; + + @Schema(description = "起始地点") + private String startLocation; + + @Schema(description = "起始地点经度") + private BigDecimal startPointLongitude; + + @Schema(description = "起始点伟度") + private BigDecimal startPointLatitude; + + @Schema(description = "结束地点") + private String endLocation; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLongitude; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLatitude; + + @Schema(description = "顾客好处费") + private BigDecimal favourFee; + + @Schema(description = "订单备注信息") + private String remark; + + + //预期费用信息 + @Schema(description = "预估订单费用") + private BigDecimal expectAmount; + + @Schema(description = "预估里程") + private BigDecimal expectDistance; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/OrderMonitorForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderMonitorForm.java new file mode 100644 index 0000000..5a2b064 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/order/OrderMonitorForm.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.model.form.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "订单监控") +public class OrderMonitorForm { + + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "监控内容") + private String content; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/StartDriveForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/StartDriveForm.java new file mode 100644 index 0000000..026723e --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/order/StartDriveForm.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.form.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "OrderInfo") +public class StartDriveForm { + + + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "司机ID") + private Long driverId; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderBillForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderBillForm.java new file mode 100644 index 0000000..128f73e --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderBillForm.java @@ -0,0 +1,106 @@ +package com.atguigu.daijia.model.form.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "订单费用表单") +public class UpdateOrderBillForm { + + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "司机ID") + private Long driverId; + + @Schema(description = "实际里程") + private BigDecimal realDistance; + + //其他费用:路桥费、停车费、其他费用、顾客好处费 + @Schema(description = "路桥费") + private BigDecimal tollFee; + + @Schema(description = "停车费") + private BigDecimal parkingFee; + + @Schema(description = "其他费用") + private BigDecimal otherFee; + + @Schema(description = "顾客好处费") + private BigDecimal favourFee; + //其他费用:路桥费、停车费、其他费用、顾客好处费 + + //订单奖励信息相关属性 + @Schema(description = "奖励规则ID") + private Long rewardRuleId; + + @Schema(description = "奖励金额") + private BigDecimal rewardAmount; + //订单奖励信息相关属性 + + //代驾费用信息相关属性 + @Schema(description = "费用规则ID") + private Long feeRuleId; + + @Schema(description = "总金额") + private BigDecimal totalAmount; + + @Schema(description = "基础里程(公里)") + private BigDecimal baseDistance; + + @Schema(description = "基础里程费(元)") + private BigDecimal baseDistanceFee; + + @Schema(description = "超出基础里程的里程(公里)") + private BigDecimal exceedDistance; + + @Schema(description = "超出基础里程的价格(元/公里)") + private BigDecimal exceedDistancePrice; + + @Schema(description = "基础等时分钟(分钟)") + private Integer baseWaitMinute; + + @Schema(description = "超出基础等时的分钟(分钟)") + private Integer exceedWaitMinute; + + @Schema(description = "超出基础分钟的价格(元/分钟)") + private BigDecimal exceedWaitMinutePrice; + + @Schema(description = "基础远途里程(公里)") + private BigDecimal baseLongDistance; + + @Schema(description = "超出基础远程里程的里程(公里)") + private BigDecimal exceedLongDistance; + + @Schema(description = "超出基础远程里程的价格(元/公里)") + private BigDecimal exceedLongDistancePrice; + //代驾费用信息相关属性 + + //订单分账信息相关属性 + @Schema(description = "分账规则ID") + private Long profitsharingRuleId; + + @Schema(description = "订单金额") + private BigDecimal orderAmount; + + @Schema(description = "微信支付平台费率") + private BigDecimal paymentRate; + + @Schema(description = "微信支付平台费用") + private BigDecimal paymentFee; + + @Schema(description = "代驾司机代缴个税税率") + private BigDecimal driverTaxRate; + + @Schema(description = "代驾司机税率支出费用") + private BigDecimal driverTaxFee; + + @Schema(description = "平台分账收入") + private BigDecimal platformIncome; + + @Schema(description = "司机分账收入") + private BigDecimal driverIncome; + //订单分账信息相关属性 +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderCartForm.java b/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderCartForm.java new file mode 100644 index 0000000..603d1e0 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/order/UpdateOrderCartForm.java @@ -0,0 +1,39 @@ +package com.atguigu.daijia.model.form.order; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +@Schema(description = "更新订单车辆表单") +public class UpdateOrderCartForm { + + @NotNull(message = "订单ID不能为空") + @Schema(description = "订单ID") + private Long orderId; + + @Schema(description = "司机ID") + private Long driverId; + + @NotEmpty(message = "车牌号不能为空") + @Schema(description = "车牌号") + @TableField("car_license") + private String carLicense; + + @Schema(description = "车型") + @TableField("car_type") + private String carType; + + @NotEmpty(message = "车前照不能为空") + @Schema(description = "司机到达拍照:车前照") + @TableField("car_front_url") + private String carFrontUrl; + + @NotEmpty(message = "车后照不能为空") + @Schema(description = "司机到达拍照:车后照") + @TableField("car_back_url") + private String carBackUrl; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/form/payment/CreateWxPaymentForm.java b/model/src/main/java/com/atguigu/daijia/model/form/payment/CreateWxPaymentForm.java new file mode 100644 index 0000000..8c4ccfd --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/payment/CreateWxPaymentForm.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.form.payment; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class CreateWxPaymentForm { + + @Schema(description = "订单号") + private String orderNo; + + @Schema(description = "乘客优惠券id") + private Long customerCouponId; + + @Schema(description = "乘客id") + private Long customerId; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/payment/PaymentInfoForm.java b/model/src/main/java/com/atguigu/daijia/model/form/payment/PaymentInfoForm.java new file mode 100644 index 0000000..fbcb616 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/payment/PaymentInfoForm.java @@ -0,0 +1,29 @@ +package com.atguigu.daijia.model.form.payment; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class PaymentInfoForm { + + @Schema(description = "乘客微信openid") + private String customerOpenId; + + @Schema(description = "司机微信openid") + private String driverOpenId; + + @Schema(description = "订单号") + private String orderNo; + + @Schema(description = "付款方式:1-微信") + private Integer payWay; + + @Schema(description = "支付金额") + private BigDecimal amount; + + @Schema(description = "交易内容") + private String content; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/payment/ProfitsharingForm.java b/model/src/main/java/com/atguigu/daijia/model/form/payment/ProfitsharingForm.java new file mode 100644 index 0000000..8e957fb --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/payment/ProfitsharingForm.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.model.form.payment; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ProfitsharingForm { + + @Schema(description = "身份证Base64字符串") + private Long driverId; + + @Schema(description = "订单号") + private String orderNo; + + @Schema(description = "分账金额") + private BigDecimal amount; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequest.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequest.java new file mode 100644 index 0000000..3a702dd --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequest.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.model.form.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class FeeRuleRequest { + + @Schema(description = "代驾里程") + private BigDecimal distance; + + @Schema(description = "代驾时间") + private String startTime; + + @Schema(description = "等候分钟") + private Integer waitMinute; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequestForm.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequestForm.java new file mode 100644 index 0000000..421553c --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/FeeRuleRequestForm.java @@ -0,0 +1,21 @@ +package com.atguigu.daijia.model.form.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class FeeRuleRequestForm { + + @Schema(description = "代驾里程") + private BigDecimal distance; + + @Schema(description = "代驾时间") + private Date startTime; + + @Schema(description = "等候分钟") + private Integer waitMinute; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequest.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequest.java new file mode 100644 index 0000000..1c884fd --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequest.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.form.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ProfitsharingRuleRequest { + + @Schema(description = "订单金额") + private BigDecimal orderAmount; + + @Schema(description = "当天完成订单个数") + private Long orderNum; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequestForm.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequestForm.java new file mode 100644 index 0000000..c146824 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/ProfitsharingRuleRequestForm.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.form.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ProfitsharingRuleRequestForm { + + @Schema(description = "订单金额") + private BigDecimal orderAmount; + + @Schema(description = "当天完成订单个数") + private Long orderNum; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequest.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequest.java new file mode 100644 index 0000000..e521642 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequest.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.model.form.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class RewardRuleRequest { + + @Schema(description = "代驾时间") + private String startTime; + + @Schema(description = "订单个数") + private Long orderNum; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequestForm.java b/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequestForm.java new file mode 100644 index 0000000..91b57e0 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/rules/RewardRuleRequestForm.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.form.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +public class RewardRuleRequestForm { + + @Schema(description = "代驾时间") + private Date startTime; + + @Schema(description = "订单个数") + private Long orderNum; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/form/system/LoginForm.java b/model/src/main/java/com/atguigu/daijia/model/form/system/LoginForm.java new file mode 100644 index 0000000..b274879 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/form/system/LoginForm.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.form.system; + +import lombok.Data; + +@Data +public class LoginForm { + + /** + * 手机号 + */ + private String username; + + /** + * 密码 + */ + private String password; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/query/customer/CustomerInfoQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/customer/CustomerInfoQuery.java new file mode 100644 index 0000000..ecb96e1 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/query/customer/CustomerInfoQuery.java @@ -0,0 +1,24 @@ +package com.atguigu.daijia.model.query.customer; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 分页结果包装 + * + * @author itcast + */ +@Data +@Schema(description = "乘客信息查询实体") +public class CustomerInfoQuery { + + @Schema(description = "关键字") + private String keyword; + + @Schema(description = "状态") + private Integer status; + + private String createTimeBegin; + private String createTimeEnd; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/query/driver/DriverInfoQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/driver/DriverInfoQuery.java new file mode 100644 index 0000000..26ccfbc --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/query/driver/DriverInfoQuery.java @@ -0,0 +1,24 @@ +package com.atguigu.daijia.model.query.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 分页结果包装 + * + * @author itcast + */ +@Data +@Schema(description = "司机信息查询实体") +public class DriverInfoQuery { + + @Schema(description = "关键字") + private String keyword; + + @Schema(description = "状态") + private Integer status; + + private String createTimeBegin; + private String createTimeEnd; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/query/order/OrderInfoQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/order/OrderInfoQuery.java new file mode 100644 index 0000000..62bb363 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/query/order/OrderInfoQuery.java @@ -0,0 +1,24 @@ +package com.atguigu.daijia.model.query.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 分页结果包装 + * + * @author itcast + */ +@Data +@Schema(description = "订单信息查询实体") +public class OrderInfoQuery { + + @Schema(description = "订单号") + private String orderNo; + + @Schema(description = "状态") + private Integer status; + + private String createTimeBegin; + private String createTimeEnd; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysLoginLogQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysLoginLogQuery.java new file mode 100644 index 0000000..01cb383 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysLoginLogQuery.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.model.query.system; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class SysLoginLogQuery { + + @Schema(description = "用户账号") + private String username; + + private String createTimeBegin; + private String createTimeEnd; + +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysOperLogQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysOperLogQuery.java new file mode 100644 index 0000000..5022a57 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysOperLogQuery.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.model.query.system; + +import lombok.Data; + +@Data +public class SysOperLogQuery { + + private String title; + private String operName; + + private String createTimeBegin; + private String createTimeEnd; + +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysPostQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysPostQuery.java new file mode 100644 index 0000000..00fe863 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysPostQuery.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.model.query.system; + +import lombok.Data; + +@Data +public class SysPostQuery { + + //@Schema(description = "岗位编码") + private String postCode; + + //@Schema(description = "岗位名称") + private String name; + + //@Schema(description = "状态(1正常 0停用)") + private Boolean status; + + +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysRoleQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysRoleQuery.java new file mode 100644 index 0000000..1f648ea --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysRoleQuery.java @@ -0,0 +1,29 @@ +// +// +package com.atguigu.daijia.model.query.system; + +import java.io.Serializable; + +/** + *

+ * 角色查询实体 + *

+ * + * @author qy + * @since 2019-11-08 + */ +public class SysRoleQuery implements Serializable { + + private static final long serialVersionUID = 1L; + + private String roleName; + + public String getRoleName() { + return roleName; + } + + public void setRoleName(String roleName) { + this.roleName = roleName; + } +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/query/system/SysUserQuery.java b/model/src/main/java/com/atguigu/daijia/model/query/system/SysUserQuery.java new file mode 100644 index 0000000..ca0b4a1 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/query/system/SysUserQuery.java @@ -0,0 +1,30 @@ +// +// +package com.atguigu.daijia.model.query.system; + + +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 用户查询实体 + *

+ */ +@Data +public class SysUserQuery implements Serializable { + + private static final long serialVersionUID = 1L; + + private String keyword; + + private String createTimeBegin; + private String createTimeEnd; + + private Long roleId; + private Long postId; + private Long deptId; + +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/base/LoginVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/base/LoginVo.java new file mode 100644 index 0000000..96bb2d1 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/base/LoginVo.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.model.vo.base; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class LoginVo { + + @Schema(description = "登录用户第Id") + private Long userId; + + @Schema(description = "微信openId") + private String wxOpenId; + + @Schema(description = "客户昵称") + private String nickname; + + @Schema(description = "头像") + private String avatarUrl; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/base/PageVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/base/PageVo.java new file mode 100644 index 0000000..688a7e7 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/base/PageVo.java @@ -0,0 +1,42 @@ +package com.atguigu.daijia.model.vo.base; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.io.Serializable; +import java.util.List; + +/** + * 分页结果包装 + * + * @author itcast + */ +@Data +@Schema(description = "分页数据消息体") +@Builder +@AllArgsConstructor(access = AccessLevel.PRIVATE) +@NoArgsConstructor +public class PageVo implements Serializable { + + @Schema(description = "当前页码", required = true) + private Long page; + + @Schema(description = "每页记录数", required = true) + private Long limit; + + @Schema(description = "总页数", required = true) + private Long pages; + + @Schema(description = "总条目数", required = true) + private Long total; + + @Schema(description = "数据列表", required = true) + private List records; + + public PageVo(List list, Long pages, Long total) { + this.setRecords(list); + this.setTotal(total); + this.setPages(pages); + } + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/coupon/AvailableCouponVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/AvailableCouponVo.java new file mode 100644 index 0000000..82b28b5 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/AvailableCouponVo.java @@ -0,0 +1,52 @@ +package com.atguigu.daijia.model.vo.coupon; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Schema(description = "NoReceiveCouponVo") +public class AvailableCouponVo { + + + @Schema(description = "优惠券id") + private Long couponId; + + @Schema(description = "优惠卷类型 1 现金券 2 折扣") + private Integer couponType; + + @Schema(description = "优惠卷名字") + private String name; + + @Schema(description = "金额") + private BigDecimal amount; + + @Schema(description = "折扣:取值[1 到 10]") + private BigDecimal discount; + + @Schema(description = "使用门槛 0->没门槛") + private BigDecimal conditionAmount; + + @Schema(description = "发行数量") + private Integer publishCount; + + @Schema(description = "每人限领张数") + private Integer perLimit; + + @Schema(description = "过期时间") + private Date expireTime; + + @Schema(description = "优惠券描述") + private String description; + + @Schema(description = "乘客优惠券id") + private Long customerCouponId; + + @Schema(description = "领取时间") + private Date receiveTime; + + @Schema(description = "减免金额") + private BigDecimal reduceAmount; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoReceiveCouponVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoReceiveCouponVo.java new file mode 100644 index 0000000..b6a20a7 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoReceiveCouponVo.java @@ -0,0 +1,41 @@ +package com.atguigu.daijia.model.vo.coupon; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +@Schema(description = "NoReceiveCouponVo") +public class NoReceiveCouponVo { + + private Long id; + + @Schema(description = "优惠卷类型 1 现金券 2 折扣") + private Integer couponType; + + @Schema(description = "优惠卷名字") + private String name; + + @Schema(description = "金额") + private String amount; + + @Schema(description = "折扣:取值[1 到 10]") + private String discount; + + @Schema(description = "使用门槛 0->没门槛") + private String conditionAmount; + + @Schema(description = "发行数量") + private Integer publishCount; + + @Schema(description = "每人限领张数") + private Integer perLimit; + + @Schema(description = "过期时间") + private Date expireTime; + + @Schema(description = "优惠券描述") + private String description; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoUseCouponVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoUseCouponVo.java new file mode 100644 index 0000000..d66a63c --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/NoUseCouponVo.java @@ -0,0 +1,47 @@ +package com.atguigu.daijia.model.vo.coupon; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Schema(description = "NoReceiveCouponVo") +public class NoUseCouponVo { + + private Long id; + + @Schema(description = "优惠卷类型 1 现金券 2 折扣") + private Integer couponType; + + @Schema(description = "优惠卷名字") + private String name; + + @Schema(description = "金额") + private BigDecimal amount; + + @Schema(description = "折扣:取值[1 到 10]") + private BigDecimal discount; + + @Schema(description = "使用门槛 0->没门槛") + private BigDecimal conditionAmount; + + @Schema(description = "发行数量") + private Integer publishCount; + + @Schema(description = "每人限领张数") + private Integer perLimit; + + @Schema(description = "过期时间") + private Date expireTime; + + @Schema(description = "优惠券描述") + private String description; + + @Schema(description = "乘客优惠券id") + private Long customerCouponId; + + @Schema(description = "领取时间") + private Date receiveTime; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/coupon/UsedCouponVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/UsedCouponVo.java new file mode 100644 index 0000000..fe3a092 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/coupon/UsedCouponVo.java @@ -0,0 +1,43 @@ +package com.atguigu.daijia.model.vo.coupon; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +@Schema(description = "NoReceiveCouponVo") +public class UsedCouponVo { + + private Long id; + + @Schema(description = "优惠卷类型 1 现金券 2 折扣") + private Integer couponType; + + @Schema(description = "优惠卷名字") + private String name; + + @Schema(description = "金额") + private String amount; + + @Schema(description = "折扣:取值[1 到 10]") + private String discount; + + @Schema(description = "使用门槛 0->没门槛") + private String conditionAmount; + + @Schema(description = "发行数量") + private Integer publishCount; + + @Schema(description = "每人限领张数") + private Integer perLimit; + + @Schema(description = "过期时间") + private Date expireTime; + + @Schema(description = "优惠券描述") + private String description; + + @Schema(description = "领取时间") + private Date usedTime; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerInfoVo.java new file mode 100644 index 0000000..5baff83 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerInfoVo.java @@ -0,0 +1,25 @@ +package com.atguigu.daijia.model.vo.customer; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class CustomerInfoVo { + + + @Schema(description = "微信openId") + private String wxOpenId; + + @Schema(description = "客户昵称") + private String nickname; + + @Schema(description = "性别") + private String gender; + + @Schema(description = "头像") + private String avatarUrl; + + @Schema(description = "电话") + private String phone; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerLoginVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerLoginVo.java new file mode 100644 index 0000000..f633f94 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/customer/CustomerLoginVo.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia.model.vo.customer; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class CustomerLoginVo { + + @Schema(description = "微信openId") + private String wxOpenId; + + @Schema(description = "客户昵称") + private String nickname; + + @Schema(description = "性别") + private String gender; + + @Schema(description = "头像") + private String avatarUrl; + + @Schema(description = "是否绑定手机号码") + private Boolean isBindPhone; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/customer/ExpectOrderVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/customer/ExpectOrderVo.java new file mode 100644 index 0000000..e0da6de --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/customer/ExpectOrderVo.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.model.vo.customer; + +import com.atguigu.daijia.model.vo.map.DrivingLineVo; +import com.atguigu.daijia.model.vo.rules.FeeRuleResponseVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "预估订单实体") +@Data +public class ExpectOrderVo { + + @Schema(description = "驾车路线") + private DrivingLineVo drivingLineVo; + + @Schema(description = "订单费用") + private FeeRuleResponseVo feeRuleResponseVo; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/dispatch/NewOrderTaskVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/dispatch/NewOrderTaskVo.java new file mode 100644 index 0000000..5bfdaa3 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/dispatch/NewOrderTaskVo.java @@ -0,0 +1,47 @@ +package com.atguigu.daijia.model.vo.dispatch; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class NewOrderTaskVo { + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "起始地点") + private String startLocation; + + @Schema(description = "起始地点经度") + private BigDecimal startPointLongitude; + + @Schema(description = "起始点伟度") + private BigDecimal startPointLatitude; + + @Schema(description = "结束地点") + private String endLocation; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLongitude; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLatitude; + + @Schema(description = "预估订单金额") + private BigDecimal expectAmount; + + @Schema(description = "预估里程") + private BigDecimal expectDistance; + + @Schema(description = "预估时间") + private BigDecimal expectTime; + + @Schema(description = "顾客好处费") + private BigDecimal favourFee; + + @Schema(description = "下单时间") + private Date createTime; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/CosUploadVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/CosUploadVo.java new file mode 100644 index 0000000..0560508 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/CosUploadVo.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.model.vo.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class CosUploadVo { + + @Schema(description = "上传路径") + private String url; + + @Schema(description = "回显地址") + private String showUrl; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverAuthInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverAuthInfoVo.java new file mode 100644 index 0000000..3a700d5 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverAuthInfoVo.java @@ -0,0 +1,87 @@ +package com.atguigu.daijia.model.vo.driver; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +public class DriverAuthInfoVo { + + @Schema(description = "司机Id") + private Long driverId; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "姓名") + private String name; + + @Schema(description = "性别 1:男 2:女") + @TableField("gender") + private String gender; + + @Schema(description = "生日") + private Date birthday; + + @Schema(description = "身份证号码") + private String idcardNo; + + @Schema(description = "身份证地址") + private String idcardAddress; + + @Schema(description = "身份证有效期") + private Date idcardExpire; + + @Schema(description = "身份证正面") + private String idcardFrontUrl; + @Schema(description = "身份证正面回显") + private String idcardFrontShowUrl; + + @Schema(description = "身份证背面") + private String idcardBackUrl; + @Schema(description = "身份证背面回显") + private String idcardBackShowUrl; + + @Schema(description = "手持身份证") + private String idcardHandUrl; + @Schema(description = "手持身份证回显") + private String idcardHandShowUrl; + + @Schema(description = "准驾车型") + private String driverLicenseClazz; + + @Schema(description = "驾驶证证件号") + private String driverLicenseNo; + + @Schema(description = "驾驶证有效期") + private Date driverLicenseExpire; + + @Schema(description = "驾驶证初次领证日期") + private Date driverLicenseIssueDate; + + @Schema(description = "驾驶证正面") + private String driverLicenseFrontUrl; + @Schema(description = "驾驶证正面回显") + private String driverLicenseFrontShowUrl; + + @Schema(description = "驾驶证副页正面") + private String driverLicenseBackUrl; + @Schema(description = "驾驶证副页正面回显") + private String driverLicenseBackShowUrl; + + @Schema(description = "手持驾驶证") + private String driverLicenseHandUrl; + @Schema(description = "手持驾驶证回显") + private String driverLicenseHandShowUrl; + + @Schema(description = "紧急联系人") + private String contactName; + + @Schema(description = "紧急联系人电话") + private String contactPhone; + + @Schema(description = "紧急联系人关系") + private String contactRelationship; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverInfoVo.java new file mode 100644 index 0000000..e92c7b2 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverInfoVo.java @@ -0,0 +1,35 @@ +package com.atguigu.daijia.model.vo.driver; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DriverInfoVo { + + @Schema(description = "微信openId") + private String wxOpenId; + + @Schema(description = "司机名称") + private String name; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "性别") + private String gender; + + @Schema(description = "头像") + private String avatarUrl; + + @Schema(description = "驾龄") + private Integer driverLicenseAge; + + @Schema(description = "订单量统计") + private Integer orderCount; + + @Schema(description = "评分") + private BigDecimal score; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLicenseOcrVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLicenseOcrVo.java new file mode 100644 index 0000000..71cfa85 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLicenseOcrVo.java @@ -0,0 +1,36 @@ +package com.atguigu.daijia.model.vo.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +public class DriverLicenseOcrVo { + + @Schema(description = "驾驶证姓名") + private String name; + + @Schema(description = "准驾车型") + private String driverLicenseClazz; + + @Schema(description = "驾驶证证件号") + private String driverLicenseNo; + + @Schema(description = "驾驶证有效期") + private Date driverLicenseExpire; + + @Schema(description = "驾驶证初次领证日期") + private Date driverLicenseIssueDate; + + @Schema(description = "驾驶证正面") + private String driverLicenseFrontUrl; + @Schema(description = "驾驶证正面回显") + private String driverLicenseFrontShowUrl; + + @Schema(description = "驾驶证副页正面") + private String driverLicenseBackUrl; + @Schema(description = "驾驶证副页正面回显") + private String driverLicenseBackShowUrl; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLoginVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLoginVo.java new file mode 100644 index 0000000..289b3dd --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/DriverLoginVo.java @@ -0,0 +1,30 @@ +package com.atguigu.daijia.model.vo.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class DriverLoginVo { + + @Schema(description = "id") + private Long id; + + @Schema(description = "微信openId") + private String wxOpenId; + + @Schema(description = "客户昵称") + private String nickname; + + @Schema(description = "性别") + private String gender; + + @Schema(description = "头像") + private String avatarUrl; + + @Schema(description = "是否建档人脸识别") + private Boolean isArchiveFace; + + @Schema(description = "认证状态 0:未认证 1:审核中 2:认证通过 -1:认证未通过") + private Integer authStatus; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/driver/IdCardOcrVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/driver/IdCardOcrVo.java new file mode 100644 index 0000000..34a3eb8 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/driver/IdCardOcrVo.java @@ -0,0 +1,39 @@ +package com.atguigu.daijia.model.vo.driver; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; + +@Data +public class IdCardOcrVo { + + @Schema(description = "姓名") + private String name; + + @Schema(description = "性别 1:男 2:女") + private String gender; + + @Schema(description = "生日") + private Date birthday; + + @Schema(description = "身份证号码") + private String idcardNo; + + @Schema(description = "身份证地址") + private String idcardAddress; + + @Schema(description = "身份证有效期") + private Date idcardExpire; + + @Schema(description = "身份证正面") + private String idcardFrontUrl; + @Schema(description = "身份证正面回显") + private String idcardFrontShowUrl; + + @Schema(description = "身份证背面") + private String idcardBackUrl; + @Schema(description = "身份证背面回显") + private String idcardBackShowUrl; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/map/DrivingLineVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/map/DrivingLineVo.java new file mode 100644 index 0000000..4c336db --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/map/DrivingLineVo.java @@ -0,0 +1,21 @@ +package com.atguigu.daijia.model.vo.map; + +import com.alibaba.fastjson.JSONArray; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DrivingLineVo { + + @Schema(description = "方案总距离,单位:千米") + private BigDecimal distance; + + @Schema(description = "方案估算时间(结合路况),单位:分钟") + private BigDecimal duration; + + @Schema(description = "方案路线坐标点串") + private JSONArray polyline; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/map/NearByDriverVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/map/NearByDriverVo.java new file mode 100644 index 0000000..020423d --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/map/NearByDriverVo.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.model.vo.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class NearByDriverVo { + + @Schema(description = "司机id") + private Long driverId; + + @Schema(description = "距离") + private BigDecimal distance; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderLocationVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderLocationVo.java new file mode 100644 index 0000000..3e27dff --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderLocationVo.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.model.vo.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OrderLocationVo { + + @Schema(description = "经度") + private BigDecimal longitude; + + @Schema(description = "伟度") + private BigDecimal latitude; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderServiceLastLocationVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderServiceLastLocationVo.java new file mode 100644 index 0000000..a4a0695 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/map/OrderServiceLastLocationVo.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.vo.map; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OrderServiceLastLocationVo { + + @Schema(description = "经度") + private BigDecimal longitude; + + @Schema(description = "伟度") + private BigDecimal latitude; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/CurrentOrderInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/CurrentOrderInfoVo.java new file mode 100644 index 0000000..40685eb --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/CurrentOrderInfoVo.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class CurrentOrderInfoVo { + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "订单状态") + private Integer status; + + @Schema(description = "当前订单信息") + private Boolean isHasCurrentOrder; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/NewOrderDataVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/NewOrderDataVo.java new file mode 100644 index 0000000..49d8c4f --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/NewOrderDataVo.java @@ -0,0 +1,38 @@ +package com.atguigu.daijia.model.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class NewOrderDataVo { + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "起始地点") + private String startLocation; + + @Schema(description = "结束地点") + private String endLocation; + + @Schema(description = "预估订单金额") + private BigDecimal expectAmount; + + @Schema(description = "预估里程") + private BigDecimal expectDistance; + + @Schema(description = "到你的距离") + private BigDecimal distance; + + @Schema(description = "预估时间") + private BigDecimal expectTime; + + @Schema(description = "顾客好处费") + private BigDecimal favourFee; + + @Schema(description = "下单时间") + private Date createTime; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderBillVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderBillVo.java new file mode 100644 index 0000000..48633ff --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderBillVo.java @@ -0,0 +1,74 @@ +package com.atguigu.daijia.model.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OrderBillVo { + + @Schema(description = "总金额") + private BigDecimal totalAmount; + + @Schema(description = "应付款金额") + private BigDecimal payAmount; + + @Schema(description = "里程费") + private BigDecimal distanceFee; + + @Schema(description = "等时费用") + private BigDecimal waitFee; + + @Schema(description = "路桥费") + private BigDecimal tollFee; + + @Schema(description = "停车费") + private BigDecimal parkingFee; + + @Schema(description = "其他费用") + private BigDecimal otherFee; + + @Schema(description = "远程费") + private BigDecimal longDistanceFee; + + @Schema(description = "顾客好处费") + private BigDecimal favourFee; + + @Schema(description = "系统奖励费") + private BigDecimal rewardFee; + + @Schema(description = "优惠券金额") + private BigDecimal couponAmount; + + @Schema(description = "基础里程(公里)") + private BigDecimal baseDistance; + + @Schema(description = "基础里程费") + private BigDecimal baseDistanceFee; + + @Schema(description = "超出基础里程的里程(公里)") + private BigDecimal exceedDistance; + + @Schema(description = "超出基础里程的价格") + private BigDecimal exceedDistancePrice; + + @Schema(description = "基础等时分钟") + private Integer baseWaitMinute; + + @Schema(description = "超出基础等时的分钟") + private Integer exceedWaitMinute; + + @Schema(description = "超出基础分钟的价格") + private BigDecimal exceedWaitMinutePrice; + + @Schema(description = "基础远途里程(公里)") + private BigDecimal baseLongDistance; + + @Schema(description = "超出基础远程里程的里程") + private BigDecimal exceedLongDistance; + + @Schema(description = "超出基础远程里程的价格") + private BigDecimal exceedLongDistancePrice; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderInfoVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderInfoVo.java new file mode 100644 index 0000000..55f8507 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderInfoVo.java @@ -0,0 +1,56 @@ +package com.atguigu.daijia.model.vo.order; + +import com.atguigu.daijia.model.vo.customer.CustomerInfoVo; +import com.atguigu.daijia.model.vo.driver.DriverInfoVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class OrderInfoVo { + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "订单号") + private String orderNo; + + @Schema(description = "起始地点") + private String startLocation; + + @Schema(description = "起始地点经度") + private BigDecimal startPointLongitude; + + @Schema(description = "起始点伟度") + private BigDecimal startPointLatitude; + + @Schema(description = "结束地点") + private String endLocation; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLongitude; + + @Schema(description = "结束地点经度") + private BigDecimal endPointLatitude; + + @Schema(description = "订单状态") + private Integer status; + + @Schema(description = "创建时间") + private Date createTime; + + @Schema(description = "订单账单信息") + private OrderBillVo orderBillVo; + + @Schema(description = "分账信息") + private OrderProfitsharingVo orderProfitsharingVo; + + @Schema(description = "司机信息") + private DriverInfoVo driverInfoVo; + + @Schema(description = "乘客信息") + private CustomerInfoVo customerInfoVo; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderListVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderListVo.java new file mode 100644 index 0000000..62637d2 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderListVo.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.model.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class OrderListVo { + + @Schema(description = "id") + private Long id; + + @Schema(description = "订单号") + private String orderNo; + + @Schema(description = "起始地点") + private String startLocation; + + @Schema(description = "结束地点") + private String endLocation; + + @Schema(description = "订单金额") + private BigDecimal amount; + + @Schema(description = "下单时间") + private Date createTime; + + @Schema(description = "订单状态") + private Integer status; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderPayVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderPayVo.java new file mode 100644 index 0000000..b3e7216 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderPayVo.java @@ -0,0 +1,40 @@ +package com.atguigu.daijia.model.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OrderPayVo { + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "乘客id") + private Long customerId; + + @Schema(description = "司机id") + private Long driverId; + + @Schema(description = "订单号") + private String orderNo; + + @Schema(description = "支付金额") + private BigDecimal payAmount; + + @Schema(description = "使用的优惠券金额") + private BigDecimal couponAmount; + + @Schema(description = "起始地点") + private String startLocation; + + @Schema(description = "结束地点") + private String endLocation; + + @Schema(description = "交易内容") + private String content; + + @Schema(description = "订单状态") + private Integer status; +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderProfitsharingVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderProfitsharingVo.java new file mode 100644 index 0000000..bace7e1 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderProfitsharingVo.java @@ -0,0 +1,44 @@ +package com.atguigu.daijia.model.vo.order; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@Schema(description = "OrderProfitsharingVo") +public class OrderProfitsharingVo { + @Schema(description = "订单金额") + @TableField("order_amount") + private BigDecimal orderAmount; + + @Schema(description = "微信支付平台费率") + @TableField("payment_rate") + private BigDecimal paymentRate; + + @Schema(description = "微信支付平台费用") + @TableField("payment_fee") + private BigDecimal paymentFee; + + @Schema(description = "代驾司机代缴个税税率") + @TableField("driver_tax_rate") + private BigDecimal driverTaxRate; + + @Schema(description = "代驾司机税率支出费用") + @TableField("driver_tax_fee") + private BigDecimal driverTaxFee; + + @Schema(description = "平台分账收入") + @TableField("platform_income") + private BigDecimal platformIncome; + + @Schema(description = "司机分账收入") + @TableField("driver_income") + private BigDecimal driverIncome; + + @Schema(description = "分账状态,1未分账,2已分账") + @TableField("status") + private Integer status; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderRewardVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderRewardVo.java new file mode 100644 index 0000000..a9fd792 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/OrderRewardVo.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.model.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OrderRewardVo { + + @Schema(description = "订单id") + private Long orderId; + + @Schema(description = "司机id") + private Long driverId; + + @Schema(description = "系统奖励") + private BigDecimal rewardFee; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/order/TextAuditingVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/order/TextAuditingVo.java new file mode 100644 index 0000000..386d838 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/order/TextAuditingVo.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.model.vo.order; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class TextAuditingVo { + + @Schema(description = "审核结果") + private String result; + + @Schema(description = "风险关键词") + private String keywords; + +} \ No newline at end of file diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/payment/WxPrepayVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/payment/WxPrepayVo.java new file mode 100644 index 0000000..aef395e --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/payment/WxPrepayVo.java @@ -0,0 +1,26 @@ +package com.atguigu.daijia.model.vo.payment; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class WxPrepayVo { + + @Schema(description = "公众号ID") + private String appId; + + @Schema(description = "时间戳,自1970年以来的秒数") + private String timeStamp; + + @Schema(description = "随机串") + private String nonceStr; + + @Schema(description = "预支付交易会话标识") + private String packageVal; + + @Schema(description = "微信签名方式") + private String signType; + + @Schema(description = "微信签名") + private String paySign; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponse.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponse.java new file mode 100644 index 0000000..251b1c7 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponse.java @@ -0,0 +1,53 @@ +package com.atguigu.daijia.model.vo.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class FeeRuleResponse { + + + @Schema(description = "总金额") + private BigDecimal totalAmount; + + @Schema(description = "里程费") + private BigDecimal distanceFee; + + @Schema(description = "等时费用") + private BigDecimal waitFee; + + @Schema(description = "远程费") + private BigDecimal longDistanceFee; + + @Schema(description = "基础里程(公里)") + private BigDecimal baseDistance; + + @Schema(description = "基础里程费(元)") + private BigDecimal baseDistanceFee; + + @Schema(description = "超出基础里程的里程(公里)") + private BigDecimal exceedDistance; + + @Schema(description = "超出基础里程的价格(元/公里)") + private BigDecimal exceedDistancePrice; + + @Schema(description = "基础等时分钟(分钟)") + private Integer baseWaitMinute; + + @Schema(description = "超出基础等时的分钟(分钟)") + private Integer exceedWaitMinute; + + @Schema(description = "超出基础分钟的价格(元/分钟)") + private BigDecimal exceedWaitMinutePrice; + + @Schema(description = "基础远途里程(公里)") + private BigDecimal baseLongDistance; + + @Schema(description = "超出基础远程里程的里程(公里)") + private BigDecimal exceedLongDistance; + + @Schema(description = "超出基础远程里程的价格(元/公里)") + private BigDecimal exceedLongDistancePrice; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponseVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponseVo.java new file mode 100644 index 0000000..3cf7f86 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/FeeRuleResponseVo.java @@ -0,0 +1,55 @@ +package com.atguigu.daijia.model.vo.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class FeeRuleResponseVo { + + @Schema(description = "费用规则ID") + private Long feeRuleId; + + @Schema(description = "总金额") + private BigDecimal totalAmount; + + @Schema(description = "里程费") + private BigDecimal distanceFee; + + @Schema(description = "等时费用") + private BigDecimal waitFee; + + @Schema(description = "远程费") + private BigDecimal longDistanceFee; + + @Schema(description = "基础里程(公里)") + private BigDecimal baseDistance; + + @Schema(description = "基础里程费(元)") + private BigDecimal baseDistanceFee; + + @Schema(description = "超出基础里程的里程(公里)") + private BigDecimal exceedDistance; + + @Schema(description = "超出基础里程的价格(元/公里)") + private BigDecimal exceedDistancePrice; + + @Schema(description = "基础等时分钟(分钟)") + private Integer baseWaitMinute; + + @Schema(description = "超出基础等时的分钟(分钟)") + private Integer exceedWaitMinute; + + @Schema(description = "超出基础分钟的价格(元/分钟)") + private BigDecimal exceedWaitMinutePrice; + + @Schema(description = "基础远途里程(公里)") + private BigDecimal baseLongDistance; + + @Schema(description = "超出基础远程里程的里程(公里)") + private BigDecimal exceedLongDistance; + + @Schema(description = "超出基础远程里程的价格(元/公里)") + private BigDecimal exceedLongDistancePrice; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponse.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponse.java new file mode 100644 index 0000000..64dc358 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponse.java @@ -0,0 +1,31 @@ +package com.atguigu.daijia.model.vo.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ProfitsharingRuleResponse { + + @Schema(description = "订单金额") + private BigDecimal orderAmount; + + @Schema(description = "微信支付平台费率") + private BigDecimal paymentRate; + + @Schema(description = "微信支付平台费用") + private BigDecimal paymentFee; + + @Schema(description = "代驾司机代缴个税税率") + private BigDecimal driverTaxRate; + + @Schema(description = "代驾司机税率支出费用") + private BigDecimal driverTaxFee; + + @Schema(description = "平台分账收入") + private BigDecimal platformIncome; + + @Schema(description = "司机分账收入") + private BigDecimal driverIncome; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponseVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponseVo.java new file mode 100644 index 0000000..97bb22d --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/ProfitsharingRuleResponseVo.java @@ -0,0 +1,34 @@ +package com.atguigu.daijia.model.vo.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ProfitsharingRuleResponseVo { + + @Schema(description = "分账规则ID") + private Long profitsharingRuleId; + + @Schema(description = "订单金额") + private BigDecimal orderAmount; + + @Schema(description = "微信支付平台费率") + private BigDecimal paymentRate; + + @Schema(description = "微信支付平台费用") + private BigDecimal paymentFee; + + @Schema(description = "代驾司机代缴个税税率") + private BigDecimal driverTaxRate; + + @Schema(description = "代驾司机税率支出费用") + private BigDecimal driverTaxFee; + + @Schema(description = "平台分账收入") + private BigDecimal platformIncome; + + @Schema(description = "司机分账收入") + private BigDecimal driverIncome; +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponse.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponse.java new file mode 100644 index 0000000..ab1cfdb --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponse.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.model.vo.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class RewardRuleResponse { + + + @Schema(description = "奖励金额") + private BigDecimal rewardAmount; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponseVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponseVo.java new file mode 100644 index 0000000..895e699 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/rules/RewardRuleResponseVo.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.model.vo.rules; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class RewardRuleResponseVo { + + @Schema(description = "奖励规则ID") + private Long rewardRuleId; + + @Schema(description = "奖励金额") + private BigDecimal rewardAmount; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginMenuVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginMenuVo.java new file mode 100644 index 0000000..90fc2e1 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginMenuVo.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.model.vo.system; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "分配菜单") +@Data +public class AssginMenuVo { + + @Schema(description = "角色id") + private Long roleId; + + @Schema(description = "菜单id列表") + private List menuIdList; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginRoleVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginRoleVo.java new file mode 100644 index 0000000..01c8717 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/AssginRoleVo.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.model.vo.system; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "分配菜单") +@Data +public class AssginRoleVo { + + @Schema(description = "用户id") + private Long userId; + + @Schema(description = "角色id列表") + private List roleIdList; + +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/LoginVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/LoginVo.java new file mode 100644 index 0000000..380b195 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/LoginVo.java @@ -0,0 +1,34 @@ +package com.atguigu.daijia.model.vo.system; + + +/** + * 登录对象 + */ +public class LoginVo { + + /** + * 手机号 + */ + private String username; + + /** + * 密码 + */ + private String password; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/MetaVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/MetaVo.java new file mode 100644 index 0000000..79824f9 --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/MetaVo.java @@ -0,0 +1,46 @@ +package com.atguigu.daijia.model.vo.system; + +import lombok.Data; + +/** + * 路由显示信息 + * + */ +@Data +public class MetaVo +{ + /** + * 设置该路由在侧边栏和面包屑中展示的名字 + */ + private String title; + + /** + * 设置该路由的图标,对应路径src/assets/icons/svg + */ + private String icon; + + /** + * 高亮的路径 + */ + private String activeMenu; + + /** + * 是否隐藏 + */ + private Boolean isHide; + + public MetaVo() + { + } + + public MetaVo(String title, String icon, String activeMenu, Boolean isHide) + { + this.title = title; + this.icon = icon; + if(null == activeMenu) activeMenu = ""; + this.activeMenu = activeMenu; + this.isHide = isHide; + } + +} + diff --git a/model/src/main/java/com/atguigu/daijia/model/vo/system/RouterVo.java b/model/src/main/java/com/atguigu/daijia/model/vo/system/RouterVo.java new file mode 100644 index 0000000..ce7e74e --- /dev/null +++ b/model/src/main/java/com/atguigu/daijia/model/vo/system/RouterVo.java @@ -0,0 +1,50 @@ +package com.atguigu.daijia.model.vo.system; + +import lombok.Data; + +import java.util.List; + +/** + * 路由配置信息 + * + */ +@Data +public class RouterVo +{ + /** + * 路由名字 + */ + //private String name; + + /** + * 路由地址 + */ + private String path; + + /** + * 是否隐藏路由,当设置 true 的时候该路由不会再侧边栏出现 + */ + //private boolean hidden; + + /** + * 组件地址 + */ + private String component; + + /** + * 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 + */ + private Boolean alwaysShow; + + /** + * 其他元素 + */ + private MetaVo meta; + + /** + * 子路由 + */ + private List children; + + +} diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..57f0036 --- /dev/null +++ b/pom.xml @@ -0,0 +1,200 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.0.5 + + + + com.atguigu.daijia + daijia-parent + pom + 1.0 + + + common + model + service + web + server-gateway + service-client + + + + 17 + 2022.0.2 + 2022.0.0.0-RC2 + 3.5.3.1 + 8.0.30 + 4.1.0 + 2.0.41 + 2.1.4 + 8.5.2 + 2.10.1 + 2.4.0 + + 0.2.11 + 4.5.5.B + 3.1.322 + 5.6.155 + + 3.23.3 + 2.11.0 + + + 1.7.1 + 8.41.0.Final + + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${cloud.version} + pom + import + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${alibaba.version} + pom + import + + + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + + + + mysql + mysql-connector-java + ${mysql.version} + + + + com.github.xiaoymin + knife4j-openapi3-jakarta-spring-boot-starter + ${knife4j.version} + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + com.qcloud + vod_api + ${vod_api.version} + + + + + io.minio + minio + ${minio.version} + + + + + joda-time + joda-time + ${jodatime.version} + + + + + com.xuxueli + xxl-job-core + ${xxl-job.version} + + + + com.github.wechatpay-apiv3 + wechatpay-java + ${wxpay.version} + + + + + org.redisson + redisson + ${redisson.version} + + + + com.github.binarywang + weixin-java-miniapp + ${weixin.miniapp.version} + + + + com.tencentcloudapi + tencentcloud-sdk-java + ${tencentcloud.version} + + + com.qcloud + cos_api + ${cos_api.version} + + + + commons-io + commons-io + ${commons-io.version} + + + + io.seata + seata-all + ${seata.version} + + + + + org.drools + drools-core + ${drools.version} + + + org.drools + drools-compiler + ${drools.version} + + + org.drools + drools-decisiontables + ${drools.version} + + + org.drools + drools-mvel + ${drools.version} + + + + + + ${project.artifactId} + + + org.apache.maven.plugins + maven-compiler-plugin + + + + + \ No newline at end of file diff --git a/server-gateway/pom.xml b/server-gateway/pom.xml new file mode 100644 index 0000000..30abd50 --- /dev/null +++ b/server-gateway/pom.xml @@ -0,0 +1,71 @@ + + + 4.0.0 + + + daijia-parent + com.atguigu.daijia + 1.0 + + 1.0 + server-gateway + + jar + server-gateway + + + + com.atguigu.daijia + common-util + 1.0 + + + com.atguigu.daijia + model + 1.0 + + + + org.springframework.cloud + spring-cloud-starter-gateway + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/server-gateway/src/main/java/com/atguigu/daijia/ServerGatewayApplication.java b/server-gateway/src/main/java/com/atguigu/daijia/ServerGatewayApplication.java new file mode 100644 index 0000000..b0bddc7 --- /dev/null +++ b/server-gateway/src/main/java/com/atguigu/daijia/ServerGatewayApplication.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServerGatewayApplication { + + public static void main(String[] args) { + SpringApplication.run(ServerGatewayApplication.class, args); + } + +} diff --git a/server-gateway/src/main/java/com/atguigu/daijia/gateway/filter/AuthGlobalFilter.java b/server-gateway/src/main/java/com/atguigu/daijia/gateway/filter/AuthGlobalFilter.java new file mode 100644 index 0000000..b568c72 --- /dev/null +++ b/server-gateway/src/main/java/com/atguigu/daijia/gateway/filter/AuthGlobalFilter.java @@ -0,0 +1,31 @@ +package com.atguigu.daijia.gateway.filter; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.cloud.gateway.filter.GatewayFilterChain; +import org.springframework.cloud.gateway.filter.GlobalFilter; +import org.springframework.core.Ordered; +import org.springframework.stereotype.Component; +import org.springframework.web.server.ServerWebExchange; +import reactor.core.publisher.Mono; + +/** + *

+ * 全局Filter,统一处理会员登录与外部不允许访问的服务 + *

+ * + */ +@Slf4j +@Component +public class AuthGlobalFilter implements GlobalFilter, Ordered { + + + @Override + public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { + return chain.filter(exchange); + } + + @Override + public int getOrder() { + return 0; + } +} diff --git a/server-gateway/src/main/resources/bootstrap.yml b/server-gateway/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..fe65a91 --- /dev/null +++ b/server-gateway/src/main/resources/bootstrap.yml @@ -0,0 +1,16 @@ +spring: + application: + name: server-gateway + profiles: + active: dev + main: + allow-bean-definition-overriding: true + cloud: + nacos: + discovery: + server-addr: 192.168.3.129:8848 + + config: + server-addr: 192.168.3.129:8848 + prefix: ${spring.application.name} + file-extension: yaml \ No newline at end of file diff --git a/service-client/pom.xml b/service-client/pom.xml new file mode 100644 index 0000000..74ff415 --- /dev/null +++ b/service-client/pom.xml @@ -0,0 +1,54 @@ + + + 4.0.0 + + + com.atguigu.daijia + daijia-parent + 1.0 + + + + service-coupon-client + service-customer-client + service-driver-client + service-order-client + service-system-client + service-map-client + service-rules-client + service-dispatch-client + service-payment-client + + + service-client + pom + 1.0 + + + + com.atguigu.daijia + common-util + 1.0 + provided + + + com.atguigu.daijia + model + 1.0 + + + org.springframework.boot + spring-boot-starter-web + provided + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + provided + + + + diff --git a/service-client/service-coupon-client/pom.xml b/service-client/service-coupon-client/pom.xml new file mode 100644 index 0000000..f88dad7 --- /dev/null +++ b/service-client/service-coupon-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-coupon-client + 1.0 + jar + + diff --git a/service-client/service-coupon-client/src/main/java/com/atguigu/daijia/coupon/client/CouponFeignClient.java b/service-client/service-coupon-client/src/main/java/com/atguigu/daijia/coupon/client/CouponFeignClient.java new file mode 100644 index 0000000..ba7e456 --- /dev/null +++ b/service-client/service-coupon-client/src/main/java/com/atguigu/daijia/coupon/client/CouponFeignClient.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.coupon.client; + +import org.springframework.cloud.openfeign.FeignClient; + + +@FeignClient(value = "service-coupon") +public interface CouponFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-customer-client/pom.xml b/service-client/service-customer-client/pom.xml new file mode 100644 index 0000000..a2dae6c --- /dev/null +++ b/service-client/service-customer-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-customer-client + 1.0 + jar + + diff --git a/service-client/service-customer-client/src/main/java/com/atguigu/daijia/customer/client/CustomerInfoFeignClient.java b/service-client/service-customer-client/src/main/java/com/atguigu/daijia/customer/client/CustomerInfoFeignClient.java new file mode 100644 index 0000000..f5a6dd4 --- /dev/null +++ b/service-client/service-customer-client/src/main/java/com/atguigu/daijia/customer/client/CustomerInfoFeignClient.java @@ -0,0 +1,9 @@ +package com.atguigu.daijia.customer.client; + +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(value = "service-customer") +public interface CustomerInfoFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-dispatch-client/pom.xml b/service-client/service-dispatch-client/pom.xml new file mode 100644 index 0000000..bc6f4ea --- /dev/null +++ b/service-client/service-dispatch-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-dispatch-client + 1.0 + jar + + diff --git a/service-client/service-dispatch-client/src/main/java/com/atguigu/daijia/dispatch/client/NewOrderFeignClient.java b/service-client/service-dispatch-client/src/main/java/com/atguigu/daijia/dispatch/client/NewOrderFeignClient.java new file mode 100644 index 0000000..f36a724 --- /dev/null +++ b/service-client/service-dispatch-client/src/main/java/com/atguigu/daijia/dispatch/client/NewOrderFeignClient.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.dispatch.client; + +import org.springframework.cloud.openfeign.FeignClient; + + +@FeignClient(value = "service-dispatch") +public interface NewOrderFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-driver-client/pom.xml b/service-client/service-driver-client/pom.xml new file mode 100644 index 0000000..de6636e --- /dev/null +++ b/service-client/service-driver-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-driver-client + 1.0 + jar + + diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CiFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CiFeignClient.java new file mode 100644 index 0000000..2cd5a90 --- /dev/null +++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CiFeignClient.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.driver.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.vo.order.TextAuditingVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient(value = "service-driver") +public interface CiFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CosFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CosFeignClient.java new file mode 100644 index 0000000..07c8efd --- /dev/null +++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/CosFeignClient.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.driver.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.vo.driver.CosUploadVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +@FeignClient(value = "service-driver") +public interface CosFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverAccountFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverAccountFeignClient.java new file mode 100644 index 0000000..4d1707a --- /dev/null +++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverAccountFeignClient.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.driver.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.form.driver.TransferForm; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient(value = "service-driver") +public interface DriverAccountFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverInfoFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverInfoFeignClient.java new file mode 100644 index 0000000..9816950 --- /dev/null +++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/DriverInfoFeignClient.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.driver.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.driver.DriverSet; +import com.atguigu.daijia.model.form.driver.DriverFaceModelForm; +import com.atguigu.daijia.model.form.driver.UpdateDriverAuthInfoForm; +import com.atguigu.daijia.model.vo.driver.DriverAuthInfoVo; +import com.atguigu.daijia.model.vo.driver.DriverInfoVo; +import com.atguigu.daijia.model.vo.driver.DriverLoginVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient(value = "service-driver") +public interface DriverInfoFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/OcrFeignClient.java b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/OcrFeignClient.java new file mode 100644 index 0000000..fd37c3f --- /dev/null +++ b/service-client/service-driver-client/src/main/java/com/atguigu/daijia/driver/client/OcrFeignClient.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.driver.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.vo.driver.DriverLicenseOcrVo; +import com.atguigu.daijia.model.vo.driver.IdCardOcrVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +@FeignClient(value = "service-driver") +public interface OcrFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-map-client/pom.xml b/service-client/service-map-client/pom.xml new file mode 100644 index 0000000..97ad7b2 --- /dev/null +++ b/service-client/service-map-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-map-client + 1.0 + jar + + diff --git a/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/LocationFeignClient.java b/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/LocationFeignClient.java new file mode 100644 index 0000000..fcdc905 --- /dev/null +++ b/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/LocationFeignClient.java @@ -0,0 +1,9 @@ +package com.atguigu.daijia.map.client; + +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(value = "service-map") +public interface LocationFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/MapFeignClient.java b/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/MapFeignClient.java new file mode 100644 index 0000000..e8a6044 --- /dev/null +++ b/service-client/service-map-client/src/main/java/com/atguigu/daijia/map/client/MapFeignClient.java @@ -0,0 +1,9 @@ +package com.atguigu.daijia.map.client; + +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(value = "service-map") +public interface MapFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-order-client/pom.xml b/service-client/service-order-client/pom.xml new file mode 100644 index 0000000..13235ee --- /dev/null +++ b/service-client/service-order-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-order-client + 1.0 + jar + + diff --git a/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderInfoFeignClient.java b/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderInfoFeignClient.java new file mode 100644 index 0000000..d3e6b7c --- /dev/null +++ b/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderInfoFeignClient.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.order.client; + +import org.springframework.cloud.openfeign.FeignClient; + + +@FeignClient(value = "service-order") +public interface OrderInfoFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderMonitorFeignClient.java b/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderMonitorFeignClient.java new file mode 100644 index 0000000..f173b62 --- /dev/null +++ b/service-client/service-order-client/src/main/java/com/atguigu/daijia/order/client/OrderMonitorFeignClient.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.order.client; + +import org.springframework.cloud.openfeign.FeignClient; + + +@FeignClient(value = "service-order") +public interface OrderMonitorFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-payment-client/pom.xml b/service-client/service-payment-client/pom.xml new file mode 100644 index 0000000..6de7681 --- /dev/null +++ b/service-client/service-payment-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-payment-client + 1.0 + jar + + diff --git a/service-client/service-payment-client/src/main/java/com/atguigu/daijia/map/client/WxPayFeignClient.java b/service-client/service-payment-client/src/main/java/com/atguigu/daijia/map/client/WxPayFeignClient.java new file mode 100644 index 0000000..d936e1c --- /dev/null +++ b/service-client/service-payment-client/src/main/java/com/atguigu/daijia/map/client/WxPayFeignClient.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.map.client; + +import org.springframework.cloud.openfeign.FeignClient; + + +@FeignClient(value = "service-payment") +public interface WxPayFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-rules-client/pom.xml b/service-client/service-rules-client/pom.xml new file mode 100644 index 0000000..f2d72bf --- /dev/null +++ b/service-client/service-rules-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-rules-client + 1.0 + jar + + diff --git a/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/FeeRuleFeignClient.java b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/FeeRuleFeignClient.java new file mode 100644 index 0000000..9664c75 --- /dev/null +++ b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/FeeRuleFeignClient.java @@ -0,0 +1,9 @@ +package com.atguigu.daijia.rules.client; + +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(value = "service-rules") +public interface FeeRuleFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/ProfitsharingRuleFeignClient.java b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/ProfitsharingRuleFeignClient.java new file mode 100644 index 0000000..520175a --- /dev/null +++ b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/ProfitsharingRuleFeignClient.java @@ -0,0 +1,9 @@ +package com.atguigu.daijia.rules.client; + +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(value = "service-rules") +public interface ProfitsharingRuleFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/RewardRuleFeignClient.java b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/RewardRuleFeignClient.java new file mode 100644 index 0000000..2877d04 --- /dev/null +++ b/service-client/service-rules-client/src/main/java/com/atguigu/daijia/rules/client/RewardRuleFeignClient.java @@ -0,0 +1,9 @@ +package com.atguigu.daijia.rules.client; + +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(value = "service-rules") +public interface RewardRuleFeignClient { + + +} \ No newline at end of file diff --git a/service-client/service-system-client/pom.xml b/service-client/service-system-client/pom.xml new file mode 100644 index 0000000..b11f926 --- /dev/null +++ b/service-client/service-system-client/pom.xml @@ -0,0 +1,15 @@ + + + + service-client + com.atguigu.daijia + 1.0 + + 4.0.0 + + service-system-client + 1.0 + jar + + diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SecurityLoginFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SecurityLoginFeignClient.java new file mode 100644 index 0000000..041494c --- /dev/null +++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SecurityLoginFeignClient.java @@ -0,0 +1,48 @@ +package com.atguigu.daijia.system.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysUser; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 产品列表API接口 + *

+ * + * @author qy + */ +@FeignClient(value = "service-system") +public interface SecurityLoginFeignClient { + + /** + * 根据用户名获取用户信息 + * + * @param username + * @return + */ + @GetMapping("/securityLogin/getByUsername/{username}") + Result getByUsername(@PathVariable("username") String username); + + /** + * 获取用户按钮权限 + * + * @param userId + * @return + */ + @GetMapping("/securityLogin/findUserPermsList/{userId}") + Result> findUserPermsList(@PathVariable("userId") Long userId); + + /** + * 获取用户信息 + * + * @param userId + * @return + */ + @GetMapping("/securityLogin/getUserInfo/{userId}") + Result> getUserInfo(@PathVariable("userId") Long userId); +} \ No newline at end of file diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysDeptFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysDeptFeignClient.java new file mode 100644 index 0000000..360aee6 --- /dev/null +++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysDeptFeignClient.java @@ -0,0 +1,52 @@ +package com.atguigu.daijia.system.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysDept; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@FeignClient(value = "service-system") +public interface SysDeptFeignClient { + + @GetMapping("/sysDept/getById/{id}") + Result getById(@PathVariable Long id); + + @PostMapping("/sysDept/save") + Result save(@RequestBody SysDept sysDept); + + @PutMapping("/sysDept/update") + Result update(@RequestBody SysDept sysDept); + + @DeleteMapping("/sysDept/remove/{id}") + Result remove(@PathVariable Long id); + + /** + * 获取全部部门节点 + * + * @return + */ + @GetMapping("/sysDept/findNodes") + Result> findNodes(); + + /** + * 获取用户部门节点 + * + * @return + */ + @GetMapping("/sysDept/findUserNodes") + Result> findUserNodes(); + + /** + * 更新状态 + * + * @param id + * @param status + * @return + */ + @GetMapping("/sysDept/updateStatus/{id}/{status}") + Result updateStatus(@PathVariable Long id, @PathVariable Integer status); + +} + diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysLoginLogFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysLoginLogFeignClient.java new file mode 100644 index 0000000..e4b2a1e --- /dev/null +++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysLoginLogFeignClient.java @@ -0,0 +1,40 @@ +package com.atguigu.daijia.system.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.query.system.SysLoginLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + *

+ * 产品列表API接口 + *

+ * + * @author qy + */ +@FeignClient(value = "service-system") +public interface SysLoginLogFeignClient { + + @PostMapping("/sysLoginLog/findPage/{page}/{limit}") + Result> findPage( + @PathVariable("page") Long page, + @PathVariable("limit") Long limit, + @RequestBody SysLoginLogQuery sysLoginLogQuery); + + @GetMapping("/sysLoginLog/getById/{id}") + Result getById(@PathVariable Long id); + + /** + * 记录登录日志 + * + * @param sysLoginLog + * @return + */ + @PostMapping("/sysLoginLog/recordLoginLog") + Result recordLoginLog(@RequestBody SysLoginLog sysLoginLog); +} \ No newline at end of file diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysMenuFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysMenuFeignClient.java new file mode 100644 index 0000000..b9a8d4c --- /dev/null +++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysMenuFeignClient.java @@ -0,0 +1,50 @@ +package com.atguigu.daijia.system.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysMenu; +import com.atguigu.daijia.model.vo.system.AssginMenuVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@FeignClient(value = "service-system") +public interface SysMenuFeignClient { + + + /** + * 获取菜单 + * + * @return + */ + @GetMapping("/sysMenu/findNodes") + Result> findNodes(); + + @PostMapping("/sysMenu/save") + Result save(@RequestBody SysMenu sysMenu); + + @PutMapping("/sysMenu/update") + Result update(@RequestBody SysMenu permission); + + @DeleteMapping("/sysMenu/remove/{id}") + Result remove(@PathVariable Long id); + + /** + * 根据角色获取菜单 + * + * @param roleId + * @return + */ + @GetMapping("/sysMenu/toAssign/{roleId}") + Result> toAssign(@PathVariable Long roleId); + + /** + * 给角色分配权限 + * + * @param assginMenuVo + * @return + */ + @PostMapping("/sysMenu/doAssign") + Result doAssign(@RequestBody AssginMenuVo assginMenuVo); +} + diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysOperLogFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysOperLogFeignClient.java new file mode 100644 index 0000000..365e39a --- /dev/null +++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysOperLogFeignClient.java @@ -0,0 +1,40 @@ +package com.atguigu.daijia.system.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.model.query.system.SysOperLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + *

+ * 产品列表API接口 + *

+ * + * @author qy + */ +@FeignClient(value = "service-system") +public interface SysOperLogFeignClient { + + @PostMapping("/sysOperLog/findPage/{page}/{limit}") + public Result> findPage( + @PathVariable("page") Long page, + @PathVariable("limit") Long limit, + @RequestBody SysOperLogQuery sysOperLogQuery); + + @GetMapping("/sysOperLog/getById/{id}") + Result getById(@PathVariable Long id); + + /** + * 记录日志 + * + * @param sysOperLog + * @return + */ + @PostMapping("/sysOperLog/saveSysLog") + Result saveSysLog(@RequestBody SysOperLog sysOperLog); +} \ No newline at end of file diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysPostFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysPostFeignClient.java new file mode 100644 index 0000000..f8af683 --- /dev/null +++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysPostFeignClient.java @@ -0,0 +1,40 @@ +package com.atguigu.daijia.system.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysPost; +import com.atguigu.daijia.model.query.system.SysPostQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@FeignClient(value = "service-system") +public interface SysPostFeignClient { + + @PostMapping("/sysPost/findPage/{page}/{limit}") + Result> findPage( + @PathVariable("page") Long page, + @PathVariable("limit") Long limit, + @RequestBody SysPostQuery sysPostQuery); + + @GetMapping("/sysPost/getById/{id}") + Result getById(@PathVariable Long id); + + @GetMapping("/sysPost/findAll") + Result> findAll(); + + @PostMapping("/sysPost/save") + Result save(@RequestBody SysPost sysPost); + + @PutMapping("/sysPost/update") + Result update(@RequestBody SysPost sysPost); + + @DeleteMapping("/sysPost/remove/{id}") + Result remove(@PathVariable("id") Long id); + + @GetMapping("/sysPost/updateStatus/{id}/{status}") + Result updateStatus(@PathVariable("id") Long id, @PathVariable("status") Integer status); + +} + diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysRoleFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysRoleFeignClient.java new file mode 100644 index 0000000..36cfc50 --- /dev/null +++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysRoleFeignClient.java @@ -0,0 +1,105 @@ +package com.atguigu.daijia.system.client; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysRole; +import com.atguigu.daijia.model.query.system.SysRoleQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.model.vo.system.AssginRoleVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@FeignClient(value = "service-system") +public interface SysRoleFeignClient { + + + /** + * 获取全部角色列表 + * + * @return + */ + @GetMapping("/sysRole/findAll") + Result> findAll(); + + /** + * 获取分页列表 + * + * @param page + * @param limit + * @param roleQuery + * @return + */ + @PostMapping("/sysRole/findPage/{page}/{limit}") + Result> findPage( + @PathVariable("page") Long page, + @PathVariable("limit") Long limit, + @RequestBody SysRoleQuery roleQuery); + + /** + * 获取角色信息 + * + * @param id + * @return + */ + @GetMapping("/sysRole/getById/{id}") + Result getById(@PathVariable("id") Long id); + + /** + * 新增角色 + * + * @param role + * @return + */ + @PostMapping("/sysRole/save") + Result save(@RequestBody @Validated SysRole role); + + /** + * 修改角色 + * + * @param role + * @return + */ + @PutMapping("/sysRole/update") + Result update(@RequestBody SysRole role); + + /** + * 删除角色 + * + * @param id + * @return + */ + @DeleteMapping("/sysRole/remove/{id}") + Result remove(@PathVariable("id") Long id); + + /** + * 根据id列表删除 + * + * @param idList + * @return + */ + @DeleteMapping("/sysRole/batchRemove") + Result batchRemove(@RequestBody List idList); + + /** + * 根据用户获取角色数据 + * + * @param userId + * @return + */ + @GetMapping("/sysRole/toAssign/{userId}") + Result> toAssign(@PathVariable("userId") Long userId); + + /** + * 根据用户分配角色 + * + * @param assginRoleVo + * @return + */ + @PostMapping("/sysRole/doAssign") + Result doAssign(@RequestBody AssginRoleVo assginRoleVo); + +} + diff --git a/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysUserFeignClient.java b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysUserFeignClient.java new file mode 100644 index 0000000..67e9a18 --- /dev/null +++ b/service-client/service-system-client/src/main/java/com/atguigu/daijia/system/client/SysUserFeignClient.java @@ -0,0 +1,75 @@ +package com.atguigu.daijia.system.client; + + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.query.system.SysUserQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + + +@FeignClient(value = "service-system") +public interface SysUserFeignClient { + + /** + * 获取分页列表 + * + * @param page + * @param limit + * @param sysUserQuery + * @return + */ + @PostMapping("/sysUser/findPage/{page}/{limit}") + Result> findPage( + @PathVariable("page") Long page, + @PathVariable("limit") Long limit, + @RequestBody SysUserQuery sysUserQuery); + + /** + * 获取用户 + * + * @param id + * @return + */ + @GetMapping("/sysUser/getById/{id}") + Result getById(@PathVariable("id") Long id); + + /** + * 保存用户 + * + * @param user + * @return + */ + @PostMapping("/sysUser/save") + Result save(@RequestBody SysUser user); + + /** + * 更新用户 + * + * @param user + * @return + */ + @PutMapping("/sysUser/update") + Result update(@RequestBody SysUser user); + + /** + * 删除用户 + * + * @param id + * @return + */ + @DeleteMapping("/sysUser/remove/{id}") + Result remove(@PathVariable("id") Long id); + + /** + * 更新状态 + * + * @param id + * @param status + * @return + */ + @GetMapping("/sysUser/updateStatus/{id}/{status}") + Result updateStatus(@PathVariable("id") Long id, @PathVariable("status") Integer status); +} + diff --git a/service/pom.xml b/service/pom.xml new file mode 100644 index 0000000..899e7d8 --- /dev/null +++ b/service/pom.xml @@ -0,0 +1,114 @@ + + + + com.atguigu.daijia + daijia-parent1.0 + + 4.0.0 + + service + pom + + + service-map + service-driver + service-coupon + service-rules + service-dispatch + service-mq + service-order + service-payment + service-customer + service-system + + + + + com.atguigu.daijia + service-util + 1.0 + + + com.atguigu.daijia + common-log + 1.0 + + + + com.atguigu.daijia + service-system-client + 1.0 + + + com.atguigu.daijia + service-coupon-client + 1.0 + + + com.atguigu.daijia + service-driver-client + 1.0 + + + com.atguigu.daijia + service-order-client + 1.0 + + + com.atguigu.daijia + service-customer-client + 1.0 + + + com.atguigu.daijia + service-rules-client + 1.0 + + + com.atguigu.daijia + service-map-client + 1.0 + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + org.springframework.boot + spring-boot-starter-test + test + + + + \ No newline at end of file diff --git a/service/service-coupon/pom.xml b/service/service-coupon/pom.xml new file mode 100644 index 0000000..310a589 --- /dev/null +++ b/service/service-coupon/pom.xml @@ -0,0 +1,28 @@ + + + + com.atguigu.daijia + service + 1.0 + + 4.0.0 + + service-coupon + jar + 1.0 + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/service/service-coupon/src/main/java/com/atguigu/daijia/ServiceCouponApplication.java b/service/service-coupon/src/main/java/com/atguigu/daijia/ServiceCouponApplication.java new file mode 100644 index 0000000..93deb47 --- /dev/null +++ b/service/service-coupon/src/main/java/com/atguigu/daijia/ServiceCouponApplication.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceCouponApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceCouponApplication.class, args); + } +} diff --git a/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/controller/CouponInfoController.java b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/controller/CouponInfoController.java new file mode 100644 index 0000000..ba2cc4b --- /dev/null +++ b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/controller/CouponInfoController.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.coupon.controller; + +import com.atguigu.daijia.coupon.service.CouponInfoService; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Tag(name = "优惠券活动接口管理") +@RestController +@RequestMapping(value="/coupon/info") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CouponInfoController { + + +} + diff --git a/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/mapper/CouponInfoMapper.java b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/mapper/CouponInfoMapper.java new file mode 100644 index 0000000..0767a93 --- /dev/null +++ b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/mapper/CouponInfoMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.coupon.mapper; + +import com.atguigu.daijia.model.entity.coupon.CouponInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CouponInfoMapper extends BaseMapper { + +} diff --git a/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/mapper/CustomerCouponMapper.java b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/mapper/CustomerCouponMapper.java new file mode 100644 index 0000000..22b7d59 --- /dev/null +++ b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/mapper/CustomerCouponMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.coupon.mapper; + +import com.atguigu.daijia.model.entity.coupon.CustomerCoupon; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CustomerCouponMapper extends BaseMapper { + + +} diff --git a/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/service/CouponInfoService.java b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/service/CouponInfoService.java new file mode 100644 index 0000000..d9728ff --- /dev/null +++ b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/service/CouponInfoService.java @@ -0,0 +1,9 @@ +package com.atguigu.daijia.coupon.service; + +import com.atguigu.daijia.model.entity.coupon.CouponInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface CouponInfoService extends IService { + + +} diff --git a/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/service/impl/CouponInfoServiceImpl.java b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/service/impl/CouponInfoServiceImpl.java new file mode 100644 index 0000000..b326951 --- /dev/null +++ b/service/service-coupon/src/main/java/com/atguigu/daijia/coupon/service/impl/CouponInfoServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.coupon.service.impl; + +import com.atguigu.daijia.coupon.mapper.CouponInfoMapper; +import com.atguigu.daijia.coupon.service.CouponInfoService; +import com.atguigu.daijia.model.entity.coupon.CouponInfo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CouponInfoServiceImpl extends ServiceImpl implements CouponInfoService { + + +} diff --git a/service/service-coupon/src/main/resources/bootstrap.properties b/service/service-coupon/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..3c9587a --- /dev/null +++ b/service/service-coupon/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-coupon +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-coupon/src/main/resources/mapper/CouponInfoMapper.xml b/service/service-coupon/src/main/resources/mapper/CouponInfoMapper.xml new file mode 100644 index 0000000..309d662 --- /dev/null +++ b/service/service-coupon/src/main/resources/mapper/CouponInfoMapper.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + info.id,info.coupon_type,info.name,info.amount,info.discount,info.condition_amount,info.publish_count,info.per_limit,info.use_count,info.receive_count,info.expire_time,info.describe,info.status,info.create_time,info.update_time,info.is_deleted + + + + + + + + + + update coupon_info set receive_count = receive_count + 1 where id = #{id} + + + + update coupon_info set receive_count = receive_count + 1 where id = #{id} and receive_count < publish_count + + + + + + update coupon_info set use_count = use_count + 1 where id = #{id} + + + diff --git a/service/service-customer/pom.xml b/service/service-customer/pom.xml new file mode 100644 index 0000000..d3caf8b --- /dev/null +++ b/service/service-customer/pom.xml @@ -0,0 +1,32 @@ + + + + com.atguigu.daijia + service +1.0 + + 4.0.0 + + service-customer + jar + 1.0 + + + true + + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/service/service-customer/src/main/java/com/atguigu/daijia/ServiceCustomerApplication.java b/service/service-customer/src/main/java/com/atguigu/daijia/ServiceCustomerApplication.java new file mode 100644 index 0000000..78e0964 --- /dev/null +++ b/service/service-customer/src/main/java/com/atguigu/daijia/ServiceCustomerApplication.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceCustomerApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceCustomerApplication.class, args); + } +} diff --git a/service/service-customer/src/main/java/com/atguigu/daijia/customer/controller/CustomerInfoController.java b/service/service-customer/src/main/java/com/atguigu/daijia/customer/controller/CustomerInfoController.java new file mode 100644 index 0000000..034758c --- /dev/null +++ b/service/service-customer/src/main/java/com/atguigu/daijia/customer/controller/CustomerInfoController.java @@ -0,0 +1,29 @@ +package com.atguigu.daijia.customer.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.customer.service.CustomerInfoService; +import com.atguigu.daijia.model.entity.customer.CustomerInfo; +import io.swagger.v3.oas.annotations.Operation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/customer/info") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CustomerInfoController { + + @Autowired + private CustomerInfoService customerInfoService; + + @Operation(summary = "获取客户基本信息") + @GetMapping("/getCustomerInfo/{customerId}") + public Result getCustomerInfo(@PathVariable Long customerId) { + return Result.ok(customerInfoService.getById(customerId)); + } +} + diff --git a/service/service-customer/src/main/java/com/atguigu/daijia/customer/mapper/CustomerInfoMapper.java b/service/service-customer/src/main/java/com/atguigu/daijia/customer/mapper/CustomerInfoMapper.java new file mode 100644 index 0000000..e40b3cd --- /dev/null +++ b/service/service-customer/src/main/java/com/atguigu/daijia/customer/mapper/CustomerInfoMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.customer.mapper; + +import com.atguigu.daijia.model.entity.customer.CustomerInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CustomerInfoMapper extends BaseMapper { + +} diff --git a/service/service-customer/src/main/java/com/atguigu/daijia/customer/mapper/CustomerLoginLogMapper.java b/service/service-customer/src/main/java/com/atguigu/daijia/customer/mapper/CustomerLoginLogMapper.java new file mode 100644 index 0000000..f32bca4 --- /dev/null +++ b/service/service-customer/src/main/java/com/atguigu/daijia/customer/mapper/CustomerLoginLogMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.customer.mapper; + +import com.atguigu.daijia.model.entity.customer.CustomerLoginLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CustomerLoginLogMapper extends BaseMapper { + + +} diff --git a/service/service-customer/src/main/java/com/atguigu/daijia/customer/service/CustomerInfoService.java b/service/service-customer/src/main/java/com/atguigu/daijia/customer/service/CustomerInfoService.java new file mode 100644 index 0000000..2a005f3 --- /dev/null +++ b/service/service-customer/src/main/java/com/atguigu/daijia/customer/service/CustomerInfoService.java @@ -0,0 +1,8 @@ +package com.atguigu.daijia.customer.service; + +import com.atguigu.daijia.model.entity.customer.CustomerInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface CustomerInfoService extends IService { + +} diff --git a/service/service-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CustomerInfoServiceImpl.java b/service/service-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CustomerInfoServiceImpl.java new file mode 100644 index 0000000..414e74a --- /dev/null +++ b/service/service-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CustomerInfoServiceImpl.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.customer.service.impl; + +import com.atguigu.daijia.customer.mapper.CustomerInfoMapper; +import com.atguigu.daijia.customer.service.CustomerInfoService; +import com.atguigu.daijia.model.entity.customer.CustomerInfo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CustomerInfoServiceImpl extends ServiceImpl implements CustomerInfoService { + +} diff --git a/service/service-customer/src/main/resources/bootstrap.properties b/service/service-customer/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..8563f99 --- /dev/null +++ b/service/service-customer/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-customer +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-dispatch/pom.xml b/service/service-dispatch/pom.xml new file mode 100644 index 0000000..5205611 --- /dev/null +++ b/service/service-dispatch/pom.xml @@ -0,0 +1,31 @@ + + + + com.atguigu.daijiaservice +1.0 + + 4.0.0 + + service-dispatch + jar + 1.0 + + + true + + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/service/service-dispatch/src/main/java/com/atguigu/daijia/ServiceDispatchApplication.java b/service/service-dispatch/src/main/java/com/atguigu/daijia/ServiceDispatchApplication.java new file mode 100644 index 0000000..3c78148 --- /dev/null +++ b/service/service-dispatch/src/main/java/com/atguigu/daijia/ServiceDispatchApplication.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Bean; +import org.springframework.web.client.RestTemplate; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceDispatchApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceDispatchApplication.class, args); + } + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } +} diff --git a/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/controller/NewOrderController.java b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/controller/NewOrderController.java new file mode 100644 index 0000000..2275de8 --- /dev/null +++ b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/controller/NewOrderController.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.dispatch.controller; + +import com.atguigu.daijia.dispatch.service.NewOrderService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "司机新订单接口管理") +@RestController +@RequestMapping("/dispatch/newOrder") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class NewOrderController { + + + +} + diff --git a/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/mapper/OrderJobMapper.java b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/mapper/OrderJobMapper.java new file mode 100644 index 0000000..3f73a10 --- /dev/null +++ b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/mapper/OrderJobMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.dispatch.mapper; + +import com.atguigu.daijia.model.entity.dispatch.OrderJob; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderJobMapper extends BaseMapper { + +} diff --git a/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/mapper/XxlJobLogMapper.java b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/mapper/XxlJobLogMapper.java new file mode 100644 index 0000000..114c41c --- /dev/null +++ b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/mapper/XxlJobLogMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.dispatch.mapper; + +import com.atguigu.daijia.model.entity.dispatch.XxlJobLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface XxlJobLogMapper extends BaseMapper { + +} diff --git a/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/service/NewOrderService.java b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/service/NewOrderService.java new file mode 100644 index 0000000..d0390d5 --- /dev/null +++ b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/service/NewOrderService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.dispatch.service; + +public interface NewOrderService { + +} diff --git a/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/service/impl/NewOrderServiceImpl.java b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/service/impl/NewOrderServiceImpl.java new file mode 100644 index 0000000..bfd574f --- /dev/null +++ b/service/service-dispatch/src/main/java/com/atguigu/daijia/dispatch/service/impl/NewOrderServiceImpl.java @@ -0,0 +1,12 @@ +package com.atguigu.daijia.dispatch.service.impl; + +import com.atguigu.daijia.dispatch.service.NewOrderService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class NewOrderServiceImpl implements NewOrderService { + +} diff --git a/service/service-dispatch/src/main/resources/bootstrap.properties b/service/service-dispatch/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..bab474f --- /dev/null +++ b/service/service-dispatch/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-dispatch +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-driver/pom.xml b/service/service-driver/pom.xml new file mode 100644 index 0000000..688881f --- /dev/null +++ b/service/service-driver/pom.xml @@ -0,0 +1,27 @@ + + + + com.atguigu.daijia + service1.0 + + 4.0.0 + + service-driver + jar + 1.0 + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/ServiceDriverApplication.java b/service/service-driver/src/main/java/com/atguigu/daijia/ServiceDriverApplication.java new file mode 100644 index 0000000..b88eac9 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/ServiceDriverApplication.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableAsync; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceDriverApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceDriverApplication.class, args); + } + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/CiController.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/CiController.java new file mode 100644 index 0000000..22bb802 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/CiController.java @@ -0,0 +1,24 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.driver.service.CiService; +import com.atguigu.daijia.model.vo.order.TextAuditingVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "腾讯云CI审核接口管理") +@RestController +@RequestMapping(value="/cos") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CiController { + + +} + diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/CosController.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/CosController.java new file mode 100644 index 0000000..c81dce3 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/CosController.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.driver.service.CosService; +import com.atguigu.daijia.model.vo.driver.CosUploadVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +@Slf4j +@Tag(name = "腾讯云cos上传接口管理") +@RestController +@RequestMapping(value="/cos") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CosController { + + + +} + diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverAccountController.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverAccountController.java new file mode 100644 index 0000000..c3a104e --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverAccountController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.DriverAccountService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "司机账户API接口管理") +@RestController +@RequestMapping(value="/driver/account") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class DriverAccountController { + + +} + diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverInfoController.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverInfoController.java new file mode 100644 index 0000000..7eac3f2 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverInfoController.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.DriverInfoService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "司机API接口管理") +@RestController +@RequestMapping(value="/driver/info") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class DriverInfoController { + + + +} + diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/OcrController.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/OcrController.java new file mode 100644 index 0000000..4fcfe5b --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/controller/OcrController.java @@ -0,0 +1,26 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.driver.service.OcrService; +import com.atguigu.daijia.model.vo.driver.DriverLicenseOcrVo; +import com.atguigu.daijia.model.vo.driver.IdCardOcrVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +@Slf4j +@Tag(name = "腾讯云识别接口管理") +@RestController +@RequestMapping(value="/ocr") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OcrController { + + +} + diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverAccountDetailMapper.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverAccountDetailMapper.java new file mode 100644 index 0000000..b661aef --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverAccountDetailMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.driver.mapper; + +import com.atguigu.daijia.model.entity.driver.DriverAccountDetail; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DriverAccountDetailMapper extends BaseMapper { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverAccountMapper.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverAccountMapper.java new file mode 100644 index 0000000..a27b4a5 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverAccountMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.driver.mapper; + +import com.atguigu.daijia.model.entity.driver.DriverAccount; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DriverAccountMapper extends BaseMapper { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverFaceRecognitionMapper.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverFaceRecognitionMapper.java new file mode 100644 index 0000000..ac1cf22 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverFaceRecognitionMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.driver.mapper; + +import com.atguigu.daijia.model.entity.driver.DriverFaceRecognition; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DriverFaceRecognitionMapper extends BaseMapper { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverInfoMapper.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverInfoMapper.java new file mode 100644 index 0000000..f887616 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverInfoMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.driver.mapper; + +import com.atguigu.daijia.model.entity.driver.DriverInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DriverInfoMapper extends BaseMapper { + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverLoginLogMapper.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverLoginLogMapper.java new file mode 100644 index 0000000..a576dae --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverLoginLogMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.driver.mapper; + +import com.atguigu.daijia.model.entity.driver.DriverLoginLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DriverLoginLogMapper extends BaseMapper { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverSetMapper.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverSetMapper.java new file mode 100644 index 0000000..deb482e --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/mapper/DriverSetMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.driver.mapper; + +import com.atguigu.daijia.model.entity.driver.DriverSet; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DriverSetMapper extends BaseMapper { + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/CiService.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/CiService.java new file mode 100644 index 0000000..cd85222 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/CiService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.driver.service; + +public interface CiService { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/CosService.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/CosService.java new file mode 100644 index 0000000..fef6748 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/CosService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.driver.service; + +public interface CosService { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/DriverAccountService.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/DriverAccountService.java new file mode 100644 index 0000000..e3cb015 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/DriverAccountService.java @@ -0,0 +1,9 @@ +package com.atguigu.daijia.driver.service; + +import com.atguigu.daijia.model.entity.driver.DriverAccount; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface DriverAccountService extends IService { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/DriverInfoService.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/DriverInfoService.java new file mode 100644 index 0000000..ecf63a6 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/DriverInfoService.java @@ -0,0 +1,8 @@ +package com.atguigu.daijia.driver.service; + +import com.atguigu.daijia.model.entity.driver.DriverInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface DriverInfoService extends IService { + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/OcrService.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/OcrService.java new file mode 100644 index 0000000..eb4f029 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/OcrService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.driver.service; + +public interface OcrService { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CiServiceImpl.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CiServiceImpl.java new file mode 100644 index 0000000..02e9e4c --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CiServiceImpl.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.CiService; +import org.springframework.stereotype.Service; + +@Service +public class CiServiceImpl implements CiService { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CosServiceImpl.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CosServiceImpl.java new file mode 100644 index 0000000..d946528 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CosServiceImpl.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.CosService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CosServiceImpl implements CosService { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverAccountServiceImpl.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverAccountServiceImpl.java new file mode 100644 index 0000000..65fc026 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverAccountServiceImpl.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.mapper.DriverAccountMapper; +import com.atguigu.daijia.driver.service.DriverAccountService; +import com.atguigu.daijia.model.entity.driver.DriverAccount; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class DriverAccountServiceImpl extends ServiceImpl implements DriverAccountService { + + +} diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverInfoServiceImpl.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverInfoServiceImpl.java new file mode 100644 index 0000000..9e891b6 --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverInfoServiceImpl.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.mapper.DriverInfoMapper; +import com.atguigu.daijia.driver.service.DriverInfoService; +import com.atguigu.daijia.model.entity.driver.DriverInfo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class DriverInfoServiceImpl extends ServiceImpl implements DriverInfoService { + + + +} \ No newline at end of file diff --git a/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OcrServiceImpl.java b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OcrServiceImpl.java new file mode 100644 index 0000000..4932d6e --- /dev/null +++ b/service/service-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OcrServiceImpl.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.OcrService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OcrServiceImpl implements OcrService { + + +} diff --git a/service/service-driver/src/main/resources/bootstrap.properties b/service/service-driver/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..3759742 --- /dev/null +++ b/service/service-driver/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-driver +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-driver/src/main/resources/mapper/DriverAccountDetailMapper.xml b/service/service-driver/src/main/resources/mapper/DriverAccountDetailMapper.xml new file mode 100644 index 0000000..f96fbcd --- /dev/null +++ b/service/service-driver/src/main/resources/mapper/DriverAccountDetailMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + id,driver_id,title,trade_type,amount,order_no,create_time,update_time,is_deleted + + + + diff --git a/service/service-driver/src/main/resources/mapper/DriverAccountMapper.xml b/service/service-driver/src/main/resources/mapper/DriverAccountMapper.xml new file mode 100644 index 0000000..43686bc --- /dev/null +++ b/service/service-driver/src/main/resources/mapper/DriverAccountMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + id,user_id,total_amount,lock_amount,available_amount,total_income_amount,total_pay_amount,create_time,update_time,is_deleted + + + + diff --git a/service/service-driver/src/main/resources/mapper/DriverInfoMapper.xml b/service/service-driver/src/main/resources/mapper/DriverInfoMapper.xml new file mode 100644 index 0000000..5c5fb4e --- /dev/null +++ b/service/service-driver/src/main/resources/mapper/DriverInfoMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + id,wx_open_id,nickname,avatar_url,phone,name,gender,birthday,idcard_no,idcard_address,idcard_expire,idcard_front_url,idcard_back_url,idcard_hand_url,driver_license_class,driver_license_no,driver_license_expire,driver_license_issue_date,driver_license_front_url,driver_license_back_url,driver_license_hand_url,contact_name,contact_phone,contact_relationship,face_model_id,job_no,score,order_count,auth_status,status,create_time,update_time,is_deleted + + + + diff --git a/service/service-map/pom.xml b/service/service-map/pom.xml new file mode 100644 index 0000000..d4937d8 --- /dev/null +++ b/service/service-map/pom.xml @@ -0,0 +1,28 @@ + + + + com.atguigu.daijia + service +1.0 + + 4.0.0 + + service-map + jar + 1.0 + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/service/service-map/src/main/java/com/atguigu/daijia/ServiceMapApplication.java b/service/service-map/src/main/java/com/atguigu/daijia/ServiceMapApplication.java new file mode 100644 index 0000000..db58da0 --- /dev/null +++ b/service/service-map/src/main/java/com/atguigu/daijia/ServiceMapApplication.java @@ -0,0 +1,24 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Bean; +import org.springframework.web.client.RestTemplate; + +@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)//取消数据源自动配置 +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceMapApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceMapApplication.class, args); + } + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } +} diff --git a/service/service-map/src/main/java/com/atguigu/daijia/map/controller/LocationController.java b/service/service-map/src/main/java/com/atguigu/daijia/map/controller/LocationController.java new file mode 100644 index 0000000..035ca99 --- /dev/null +++ b/service/service-map/src/main/java/com/atguigu/daijia/map/controller/LocationController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.map.controller; + +import com.atguigu.daijia.map.service.LocationService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "位置API接口管理") +@RestController +@RequestMapping("/map/location") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class LocationController { + + +} + diff --git a/service/service-map/src/main/java/com/atguigu/daijia/map/controller/MapController.java b/service/service-map/src/main/java/com/atguigu/daijia/map/controller/MapController.java new file mode 100644 index 0000000..a0c356f --- /dev/null +++ b/service/service-map/src/main/java/com/atguigu/daijia/map/controller/MapController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.map.controller; + +import com.atguigu.daijia.map.service.MapService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "地图API接口管理") +@RestController +@RequestMapping("/map") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class MapController { + + +} + diff --git a/service/service-map/src/main/java/com/atguigu/daijia/map/repository/OrderServiceLocationRepository.java b/service/service-map/src/main/java/com/atguigu/daijia/map/repository/OrderServiceLocationRepository.java new file mode 100644 index 0000000..e8319fe --- /dev/null +++ b/service/service-map/src/main/java/com/atguigu/daijia/map/repository/OrderServiceLocationRepository.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.map.repository; + +import com.atguigu.daijia.model.entity.map.OrderServiceLocation; +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface OrderServiceLocationRepository extends MongoRepository { + +} diff --git a/service/service-map/src/main/java/com/atguigu/daijia/map/service/LocationService.java b/service/service-map/src/main/java/com/atguigu/daijia/map/service/LocationService.java new file mode 100644 index 0000000..b02bf37 --- /dev/null +++ b/service/service-map/src/main/java/com/atguigu/daijia/map/service/LocationService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.map.service; + +public interface LocationService { + +} diff --git a/service/service-map/src/main/java/com/atguigu/daijia/map/service/MapService.java b/service/service-map/src/main/java/com/atguigu/daijia/map/service/MapService.java new file mode 100644 index 0000000..26abaf9 --- /dev/null +++ b/service/service-map/src/main/java/com/atguigu/daijia/map/service/MapService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.map.service; + +public interface MapService { + +} diff --git a/service/service-map/src/main/java/com/atguigu/daijia/map/service/impl/LocationServiceImpl.java b/service/service-map/src/main/java/com/atguigu/daijia/map/service/impl/LocationServiceImpl.java new file mode 100644 index 0000000..0564101 --- /dev/null +++ b/service/service-map/src/main/java/com/atguigu/daijia/map/service/impl/LocationServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.map.service.impl; + +import com.atguigu.daijia.map.service.LocationService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class LocationServiceImpl implements LocationService { + + +} diff --git a/service/service-map/src/main/java/com/atguigu/daijia/map/service/impl/MapServiceImpl.java b/service/service-map/src/main/java/com/atguigu/daijia/map/service/impl/MapServiceImpl.java new file mode 100644 index 0000000..065453c --- /dev/null +++ b/service/service-map/src/main/java/com/atguigu/daijia/map/service/impl/MapServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.map.service.impl; + +import com.atguigu.daijia.map.service.MapService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class MapServiceImpl implements MapService { + + +} diff --git a/service/service-map/src/main/resources/bootstrap.properties b/service/service-map/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..8602584 --- /dev/null +++ b/service/service-map/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-map +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-mq/pom.xml b/service/service-mq/pom.xml new file mode 100644 index 0000000..ebe2ef1 --- /dev/null +++ b/service/service-mq/pom.xml @@ -0,0 +1,33 @@ + + + + com.atguigu.daijia + service + 1.0 + + 4.0.0 + + service-mq + jar + 1.0 + + + true + + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/service/service-mq/src/main/java/com/atguigu/daijia/ServiceMqApplication.java b/service/service-mq/src/main/java/com/atguigu/daijia/ServiceMqApplication.java new file mode 100644 index 0000000..fcd12ec --- /dev/null +++ b/service/service-mq/src/main/java/com/atguigu/daijia/ServiceMqApplication.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)//取消数据源自动配置 +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceMqApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceMqApplication.class, args); + } +} diff --git a/service/service-mq/src/main/java/com/atguigu/daijia/mq/controller/MqController.java b/service/service-mq/src/main/java/com/atguigu/daijia/mq/controller/MqController.java new file mode 100644 index 0000000..68846bb --- /dev/null +++ b/service/service-mq/src/main/java/com/atguigu/daijia/mq/controller/MqController.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.mq.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.service.RabbitService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/mq") +public class MqController { + + +} \ No newline at end of file diff --git a/service/service-mq/src/main/java/com/atguigu/daijia/mq/receiver/ConfirmReceiver.java b/service/service-mq/src/main/java/com/atguigu/daijia/mq/receiver/ConfirmReceiver.java new file mode 100644 index 0000000..d9049a4 --- /dev/null +++ b/service/service-mq/src/main/java/com/atguigu/daijia/mq/receiver/ConfirmReceiver.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.mq.receiver; + +import com.rabbitmq.client.Channel; +import lombok.SneakyThrows; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +@Component +public class ConfirmReceiver { + + +} \ No newline at end of file diff --git a/service/service-mq/src/main/resources/bootstrap.properties b/service/service-mq/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..355c847 --- /dev/null +++ b/service/service-mq/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-mq +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-order/pom.xml b/service/service-order/pom.xml new file mode 100644 index 0000000..3d528e4 --- /dev/null +++ b/service/service-order/pom.xml @@ -0,0 +1,33 @@ + + + + com.atguigu.daijia + service + 1.0 + + 4.0.0 + + service-order + jar + 1.0 + + + true + + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + + \ No newline at end of file diff --git a/service/service-order/src/main/java/com/atguigu/daijia/ServiceOrderApplication.java b/service/service-order/src/main/java/com/atguigu/daijia/ServiceOrderApplication.java new file mode 100644 index 0000000..37d0a4c --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/ServiceOrderApplication.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceOrderApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceOrderApplication.class, args); + } +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/controller/OrderInfoController.java b/service/service-order/src/main/java/com/atguigu/daijia/order/controller/OrderInfoController.java new file mode 100644 index 0000000..6308435 --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/controller/OrderInfoController.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.order.controller; + +import com.atguigu.daijia.order.service.OrderInfoService; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Tag(name = "订单API接口管理") +@RestController +@RequestMapping(value="/order/info") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderInfoController { + + +} + diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/controller/OrderMonitorController.java b/service/service-order/src/main/java/com/atguigu/daijia/order/controller/OrderMonitorController.java new file mode 100644 index 0000000..3fb90ad --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/controller/OrderMonitorController.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.order.controller; + +import com.atguigu.daijia.order.service.OrderMonitorService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/order/monitor") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderMonitorController { + + +} + diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderBillMapper.java b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderBillMapper.java new file mode 100644 index 0000000..5c97efb --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderBillMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.order.mapper; + +import com.atguigu.daijia.model.entity.order.OrderBill; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderBillMapper extends BaseMapper { + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderCommentMapper.java b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderCommentMapper.java new file mode 100644 index 0000000..e55820a --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderCommentMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.order.mapper; + +import com.atguigu.daijia.model.entity.order.OrderComment; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderCommentMapper extends BaseMapper { + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderInfoMapper.java b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderInfoMapper.java new file mode 100644 index 0000000..05d5ff7 --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderInfoMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.order.mapper; + +import com.atguigu.daijia.model.entity.order.OrderInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderInfoMapper extends BaseMapper { + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderMonitorMapper.java b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderMonitorMapper.java new file mode 100644 index 0000000..4404d43 --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderMonitorMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.order.mapper; + +import com.atguigu.daijia.model.entity.order.OrderMonitor; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderMonitorMapper extends BaseMapper { + + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderProfitsharingMapper.java b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderProfitsharingMapper.java new file mode 100644 index 0000000..6f1c63f --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderProfitsharingMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.order.mapper; + +import com.atguigu.daijia.model.entity.order.OrderProfitsharing; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderProfitsharingMapper extends BaseMapper { + + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderStatusLogMapper.java b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderStatusLogMapper.java new file mode 100644 index 0000000..8c56833 --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderStatusLogMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.order.mapper; + +import com.atguigu.daijia.model.entity.order.OrderStatusLog; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderStatusLogMapper extends BaseMapper { + + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderTrackMapper.java b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderTrackMapper.java new file mode 100644 index 0000000..f8cd064 --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/mapper/OrderTrackMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.order.mapper; + +import com.atguigu.daijia.model.entity.order.OrderTrack; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface OrderTrackMapper extends BaseMapper { + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/repository/OrderMonitorRecordRepository.java b/service/service-order/src/main/java/com/atguigu/daijia/order/repository/OrderMonitorRecordRepository.java new file mode 100644 index 0000000..0c0fc4b --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/repository/OrderMonitorRecordRepository.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.order.repository; + + +import com.atguigu.daijia.model.entity.order.OrderMonitorRecord; +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface OrderMonitorRecordRepository extends MongoRepository { + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/service/OrderInfoService.java b/service/service-order/src/main/java/com/atguigu/daijia/order/service/OrderInfoService.java new file mode 100644 index 0000000..26187fa --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/service/OrderInfoService.java @@ -0,0 +1,8 @@ +package com.atguigu.daijia.order.service; + +import com.atguigu.daijia.model.entity.order.OrderInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface OrderInfoService extends IService { + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/service/OrderMonitorService.java b/service/service-order/src/main/java/com/atguigu/daijia/order/service/OrderMonitorService.java new file mode 100644 index 0000000..368840e --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/service/OrderMonitorService.java @@ -0,0 +1,8 @@ +package com.atguigu.daijia.order.service; + +import com.atguigu.daijia.model.entity.order.OrderMonitor; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface OrderMonitorService extends IService { + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/service/impl/OrderInfoServiceImpl.java b/service/service-order/src/main/java/com/atguigu/daijia/order/service/impl/OrderInfoServiceImpl.java new file mode 100644 index 0000000..b1395e5 --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/service/impl/OrderInfoServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.order.service.impl; + +import com.atguigu.daijia.model.entity.order.OrderInfo; +import com.atguigu.daijia.order.mapper.OrderInfoMapper; +import com.atguigu.daijia.order.service.OrderInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderInfoServiceImpl extends ServiceImpl implements OrderInfoService { + + +} diff --git a/service/service-order/src/main/java/com/atguigu/daijia/order/service/impl/OrderMonitorServiceImpl.java b/service/service-order/src/main/java/com/atguigu/daijia/order/service/impl/OrderMonitorServiceImpl.java new file mode 100644 index 0000000..96f0fef --- /dev/null +++ b/service/service-order/src/main/java/com/atguigu/daijia/order/service/impl/OrderMonitorServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.order.service.impl; + +import com.atguigu.daijia.model.entity.order.OrderMonitor; +import com.atguigu.daijia.order.mapper.OrderMonitorMapper; +import com.atguigu.daijia.order.service.OrderMonitorService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderMonitorServiceImpl extends ServiceImpl implements OrderMonitorService { + + +} diff --git a/service/service-order/src/main/resources/bootstrap.properties b/service/service-order/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..9de6787 --- /dev/null +++ b/service/service-order/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-order +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-order/src/main/resources/mapper/OrderBillMapper.xml b/service/service-order/src/main/resources/mapper/OrderBillMapper.xml new file mode 100644 index 0000000..411f415 --- /dev/null +++ b/service/service-order/src/main/resources/mapper/OrderBillMapper.xml @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/service/service-order/src/main/resources/mapper/OrderInfoMapper.xml b/service/service-order/src/main/resources/mapper/OrderInfoMapper.xml new file mode 100644 index 0000000..5f47745 --- /dev/null +++ b/service/service-order/src/main/resources/mapper/OrderInfoMapper.xml @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/service/service-payment/pom.xml b/service/service-payment/pom.xml new file mode 100644 index 0000000..4d0e957 --- /dev/null +++ b/service/service-payment/pom.xml @@ -0,0 +1,28 @@ + + + + com.atguigu.daijia + service + 1.0 + + 4.0.0 + + service-payment + jar + 1.0 + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/service/service-payment/src/main/java/com/atguigu/daijia/ServicePaymentApplication.java b/service/service-payment/src/main/java/com/atguigu/daijia/ServicePaymentApplication.java new file mode 100644 index 0000000..c867c67 --- /dev/null +++ b/service/service-payment/src/main/java/com/atguigu/daijia/ServicePaymentApplication.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServicePaymentApplication { + + public static void main(String[] args) { + SpringApplication.run(ServicePaymentApplication.class, args); + } +} diff --git a/service/service-payment/src/main/java/com/atguigu/daijia/payment/controller/WxPayController.java b/service/service-payment/src/main/java/com/atguigu/daijia/payment/controller/WxPayController.java new file mode 100644 index 0000000..162a445 --- /dev/null +++ b/service/service-payment/src/main/java/com/atguigu/daijia/payment/controller/WxPayController.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.payment.controller; + +import com.atguigu.daijia.payment.service.WxPayService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Tag(name = "微信支付接口") +@RestController +@RequestMapping("payment/wxPay") +@Slf4j +public class WxPayController { + + +} diff --git a/service/service-payment/src/main/java/com/atguigu/daijia/payment/mapper/PaymentInfoMapper.java b/service/service-payment/src/main/java/com/atguigu/daijia/payment/mapper/PaymentInfoMapper.java new file mode 100644 index 0000000..f120204 --- /dev/null +++ b/service/service-payment/src/main/java/com/atguigu/daijia/payment/mapper/PaymentInfoMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.payment.mapper; + +import com.atguigu.daijia.model.entity.payment.PaymentInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PaymentInfoMapper extends BaseMapper { + + +} diff --git a/service/service-payment/src/main/java/com/atguigu/daijia/payment/mapper/ProfitsharingInfoMapper.java b/service/service-payment/src/main/java/com/atguigu/daijia/payment/mapper/ProfitsharingInfoMapper.java new file mode 100644 index 0000000..16155e7 --- /dev/null +++ b/service/service-payment/src/main/java/com/atguigu/daijia/payment/mapper/ProfitsharingInfoMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.payment.mapper; + +import com.atguigu.daijia.model.entity.payment.ProfitsharingInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ProfitsharingInfoMapper extends BaseMapper { + + +} diff --git a/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/WxPayService.java b/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/WxPayService.java new file mode 100644 index 0000000..bd61cd0 --- /dev/null +++ b/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/WxPayService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.payment.service; + +public interface WxPayService { + + +} diff --git a/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/WxProfitsharingService.java b/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/WxProfitsharingService.java new file mode 100644 index 0000000..d3e49b4 --- /dev/null +++ b/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/WxProfitsharingService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.payment.service; + +public interface WxProfitsharingService { + +} diff --git a/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/impl/WxPayServiceImpl.java b/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/impl/WxPayServiceImpl.java new file mode 100644 index 0000000..da1a57c --- /dev/null +++ b/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/impl/WxPayServiceImpl.java @@ -0,0 +1,14 @@ +package com.atguigu.daijia.payment.service.impl; + +import com.atguigu.daijia.payment.mapper.PaymentInfoMapper; +import com.atguigu.daijia.payment.service.WxPayService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class WxPayServiceImpl implements WxPayService { + + +} diff --git a/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/impl/WxProfitsharingServiceImpl.java b/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/impl/WxProfitsharingServiceImpl.java new file mode 100644 index 0000000..f502ae4 --- /dev/null +++ b/service/service-payment/src/main/java/com/atguigu/daijia/payment/service/impl/WxProfitsharingServiceImpl.java @@ -0,0 +1,14 @@ +package com.atguigu.daijia.payment.service.impl; + +import com.atguigu.daijia.payment.mapper.PaymentInfoMapper; +import com.atguigu.daijia.payment.service.WxProfitsharingService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class WxProfitsharingServiceImpl implements WxProfitsharingService { + + +} diff --git a/service/service-payment/src/main/resources/apiclient_key.pem b/service/service-payment/src/main/resources/apiclient_key.pem new file mode 100644 index 0000000..39b7cc2 --- /dev/null +++ b/service/service-payment/src/main/resources/apiclient_key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDJTi5U3u6W9Xv2 +FeFGnewTzUvefYQVFaOy7QaAUCizXmi5qhR9Afri8LUXiBiN68ZNa9dHbqd8AcQE +AcF1GTuPgH2MUSaftemJ0xpGvfs1hFmlzdNFIPcYuKA7eZxMfrELb2cWOHv57vb+ +99SI9SUwprCRUrxMHQymjZNXoNOVb8PhyKVOzKYeq+k+s+DLnAtVMovzrXuqrwdR +7/4WxEyJrhSAjrQLqlmNxIStpeeywVUqzQ8jL5ooGevtagOurDX32M2vAWh0/2qr +0iIJJTWg269uAOeqXWYbGJi6Emm6BlwJQB1ueuaAnKhNJnmPjx4uT8gk9QRKtdQX +kxvwkJEDAgMBAAECggEBAIV37Igg9xfn0zSp9R8Y/blzWGY/2h8QpeSv+quAejvS +0KSo+8SWV324EplzhrQyKtySL74Qw8MYeJoff+DfxfmzO4qZE3644gqbiMR2meQ1 +yCqCeR1QagReBP7p9pNRPJlUV4kIEkr4AZOzRZs4zlufaVow/N+KMyUKoTJsU1yz +/AeY2ychu4XJwOVomL/tsVkweRpwWvzDG9j4v+vbwXCgmn87N5pCY9DAnwuifz07 +ktPwzmQ+jKVxsWAmByREupKu1cdNd9JPG6TwSYxBCSa/AFK7wumi2tftQOpAXctA +iyLIBR9vT9v8b1fMOeJlNej7TfbdwffkY+8WQJ3XiaECgYEA8itjP/bJkGijS8WC +CfGpSt+Tje7B0RKoi9a6yuoMDebTjC4ZhL9AB9AS/VBnUb07SVKTRkW261a3v1aF +jPv6Tvm4q6k1jWP7fIFvpmGaY53KWwzThtkaY8fjLuTMO7XfEsk3SOYnTwkWkEOs +jxQaXcCYtMvSR+gDvpqaWwdPhkUCgYEA1M1YKLU8H35u8o1t5ZnJXKm9JL61SmnY +wqCUkTNL7TZp0gPCj0BigbQNZCGW2RPKJv7sczggC4cKtAmLsZ+neCP8+CgK4IL2 +4v6xfGfHxyY0PJdO80wCArWS0zNd1wkWrnKQwsRMzwpK5kOFvH00jjIt/zvADyPy +zD9VRr5EsqcCgYEArdiV1EpOoptrdq6fzpGsTXK403AttPAnDNQmnhpscuJcxUom +yZQd3D30E+NPeG9XCyj7TrwnN0S2feYX04DkTSOZ/aloJ0s6M0QcKZ3xnkedB8Xq +Z+icuDq7jWN0dfz22d6XEH8ggu1sRD5AtyngT6M+PLQBDduyLHeCDYzu+t0CgYEA +hPuqGw5e+yNsvADr6262akTcoWjYLB+HSOFG1pJi4WN+r7KP1CudI4bcU3W2KgP2 +8XWfV8V8KRgD9Ux90st9wVNkE8QaQAE3vdUCH0dPjkFupWq8+MfH/d9wWLGh8+6H +EQ8hLcW0ZjH9anZJzefEfxQWsIirVgrWAROW+/WNQsMCgYEA0/ngynlFSqpX5+uo +gRZ1DQUqPbtdbXN5J4oyOo9RR39ddeJFIL/yVC303j6+B7tSSVSz1U7Wz8h9aiza +YZo3MWjly92QbO3zcbtNH2xneo5X0qI93Y3YtaSlhy+66P88yRaxW2IxnIUdrP+O +OmZvHka+Qon7buSiLgmCjknQw58= +-----END PRIVATE KEY----- diff --git a/service/service-payment/src/main/resources/bootstrap.properties b/service/service-payment/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..4a20d49 --- /dev/null +++ b/service/service-payment/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-payment +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-rules/pom.xml b/service/service-rules/pom.xml new file mode 100644 index 0000000..a37c53c --- /dev/null +++ b/service/service-rules/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + com.atguigu.daijia + service + 1.0 + + + service-rules + jar + 1.0 + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/ServiceRulesApplication.java b/service/service-rules/src/main/java/com/atguigu/daijia/ServiceRulesApplication.java new file mode 100644 index 0000000..b29fc0c --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/ServiceRulesApplication.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceRulesApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceRulesApplication.class, args); + } +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/FeeRuleController.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/FeeRuleController.java new file mode 100644 index 0000000..1434bb9 --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/FeeRuleController.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.rules.controller; + +import com.atguigu.daijia.rules.service.FeeRuleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/rules/fee") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class FeeRuleController { + + + +} + diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/ProfitsharingRuleController.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/ProfitsharingRuleController.java new file mode 100644 index 0000000..5c8630e --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/ProfitsharingRuleController.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.rules.controller; + +import com.atguigu.daijia.rules.service.ProfitsharingRuleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/rules/profitsharing") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class ProfitsharingRuleController { + + +} + diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/RewardRuleController.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/RewardRuleController.java new file mode 100644 index 0000000..9533d7f --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/controller/RewardRuleController.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.rules.controller; + +import com.atguigu.daijia.rules.service.RewardRuleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/rules/reward") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class RewardRuleController { + + +} + diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/FeeRuleMapper.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/FeeRuleMapper.java new file mode 100644 index 0000000..be9e77a --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/FeeRuleMapper.java @@ -0,0 +1,11 @@ +package com.atguigu.daijia.rules.mapper; + +import com.atguigu.daijia.model.entity.rule.FeeRule; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface FeeRuleMapper extends BaseMapper { + + +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/ProfitsharingRuleMapper.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/ProfitsharingRuleMapper.java new file mode 100644 index 0000000..117a2d0 --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/ProfitsharingRuleMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.rules.mapper; + +import com.atguigu.daijia.model.entity.rule.ProfitsharingRule; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ProfitsharingRuleMapper extends BaseMapper { + +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/RewardRuleMapper.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/RewardRuleMapper.java new file mode 100644 index 0000000..11535c6 --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/mapper/RewardRuleMapper.java @@ -0,0 +1,10 @@ +package com.atguigu.daijia.rules.mapper; + +import com.atguigu.daijia.model.entity.rule.RewardRule; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface RewardRuleMapper extends BaseMapper { + +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/FeeRuleService.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/FeeRuleService.java new file mode 100644 index 0000000..909b52a --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/FeeRuleService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.rules.service; + +public interface FeeRuleService { + +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/ProfitsharingRuleService.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/ProfitsharingRuleService.java new file mode 100644 index 0000000..2e9a643 --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/ProfitsharingRuleService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.rules.service; + +public interface ProfitsharingRuleService { + +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/RewardRuleService.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/RewardRuleService.java new file mode 100644 index 0000000..0643a34 --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/RewardRuleService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.rules.service; + +public interface RewardRuleService { + +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/FeeRuleServiceImpl.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/FeeRuleServiceImpl.java new file mode 100644 index 0000000..9a9c4b7 --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/FeeRuleServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.rules.service.impl; + +import com.atguigu.daijia.rules.mapper.FeeRuleMapper; +import com.atguigu.daijia.rules.service.FeeRuleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class FeeRuleServiceImpl implements FeeRuleService { + + +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/ProfitsharingRuleServiceImpl.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/ProfitsharingRuleServiceImpl.java new file mode 100644 index 0000000..bbed30e --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/ProfitsharingRuleServiceImpl.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.rules.service.impl; + +import com.atguigu.daijia.rules.mapper.ProfitsharingRuleMapper; +import com.atguigu.daijia.rules.service.ProfitsharingRuleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class ProfitsharingRuleServiceImpl implements ProfitsharingRuleService { + + @Autowired + private ProfitsharingRuleMapper rewardRuleMapper; + + +} diff --git a/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/RewardRuleServiceImpl.java b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/RewardRuleServiceImpl.java new file mode 100644 index 0000000..3dfbbd8 --- /dev/null +++ b/service/service-rules/src/main/java/com/atguigu/daijia/rules/service/impl/RewardRuleServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.rules.service.impl; + +import com.atguigu.daijia.rules.mapper.RewardRuleMapper; +import com.atguigu.daijia.rules.service.RewardRuleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class RewardRuleServiceImpl implements RewardRuleService { + + +} diff --git a/service/service-rules/src/main/resources/bootstrap.properties b/service/service-rules/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..ca7c093 --- /dev/null +++ b/service/service-rules/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=service-rules +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/service/service-rules/src/main/resources/rules/FeeRule.drl b/service/service-rules/src/main/resources/rules/FeeRule.drl new file mode 100644 index 0000000..df3c0b2 --- /dev/null +++ b/service/service-rules/src/main/resources/rules/FeeRule.drl @@ -0,0 +1,179 @@ +//package对应的不一定是真正的目录,可以任意写com.abc,同一个包下的drl文件可以相互访问 +package com.atguigu.daijia + +import com.atguigu.daijia.model.form.rules.FeeRuleRequest; +import java.math.BigDecimal; +import java.math.RoundingMode; + +global com.atguigu.daijia.model.vo.rules.FeeRuleResponse feeRuleResponse; + +/** +1.起步价 + 00:00:00-06:59:59 19元(含3公里) + 07:00:00-23:59:59 19元(含5公里) +*/ +rule "起步价 00:00:00-06:59:59 19元(含3公里)" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(startTime >= "00:00:00" && startTime <= "06:59:59") + then + feeRuleResponse.setBaseDistance(new BigDecimal("3.0")); + feeRuleResponse.setBaseDistanceFee(new BigDecimal("19.0")); + //3公里内里程费为0 + feeRuleResponse.setExceedDistance(new BigDecimal("0.0")); + feeRuleResponse.setExceedDistancePrice(new BigDecimal("4.0")); + System.out.println("00:00:00-06:59:59 " + feeRuleResponse.getBaseDistance() + "公里,起步价:" + feeRuleResponse.getBaseDistanceFee() + "元"); +end +rule "起步价 07:00:00-23:59:59 19元(含5公里)" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(startTime >= "07:00:00" && startTime <= "23:59:59") + then + feeRuleResponse.setBaseDistance(new BigDecimal("5.0")); + feeRuleResponse.setBaseDistanceFee(new BigDecimal("19.0")); + + //5公里内里程费为0 + feeRuleResponse.setExceedDistance(new BigDecimal("0.0")); + feeRuleResponse.setExceedDistancePrice(new BigDecimal("3.0")); + System.out.println("07:00:00-23:59:59 " + feeRuleResponse.getBaseDistance() + "公里,起步价:" + feeRuleResponse.getBaseDistanceFee() + "元"); +end + +/** +2.里程费 + 超出起步里程后开始计算 + 00:00:00-06:59:59 4元/1公里 + 07:00:00-23:59:59 3元/1公里 +*/ +rule "里程费 00:00:00-06:59:59 4元/1公里" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(startTime >= "00:00:00" + && startTime <= "06:59:59" + && distance.doubleValue() > 3.0) + then + BigDecimal exceedDistance = $rule.getDistance().subtract(new BigDecimal("3.0")); + feeRuleResponse.setExceedDistance(exceedDistance); + feeRuleResponse.setExceedDistancePrice(new BigDecimal("4.0")); + System.out.println("里程费,超出里程:" + feeRuleResponse.getExceedDistance() + "公里,单价:" + feeRuleResponse.getExceedDistancePrice()); +end +rule "里程费 07:00:00-23:59:59 3元/1公里" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(startTime >= "07:00:00" + && startTime <= "23:59:59" + && distance.doubleValue() > 5.0) + then + BigDecimal exceedDistance = $rule.getDistance().subtract(new BigDecimal("5.0")); + feeRuleResponse.setExceedDistance(exceedDistance); + feeRuleResponse.setExceedDistancePrice(new BigDecimal("3.0")); + System.out.println("里程费,超出里程:" + feeRuleResponse.getExceedDistance() + "公里,单价:" + feeRuleResponse.getExceedDistancePrice()); +end + +/** +3.等候费 + 等候10分钟后 1元/1分钟 +*/ +rule "等候费 等候10分钟后 1元/1分钟" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(waitMinute > 10) + then + Integer exceedWaitMinute = $rule.getWaitMinute() - 10; + feeRuleResponse.setBaseWaitMinute(10); + feeRuleResponse.setExceedWaitMinute(exceedWaitMinute); + feeRuleResponse.setExceedWaitMinutePrice(new BigDecimal("1.0")); + System.out.println("等候费,超出分钟:" + feeRuleResponse.getExceedWaitMinute() + "分钟,单价:" + feeRuleResponse.getExceedWaitMinutePrice()); +end +rule "无等候费" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(waitMinute <= 10) + then + feeRuleResponse.setBaseWaitMinute(10); + feeRuleResponse.setExceedWaitMinute(0); + feeRuleResponse.setExceedWaitMinutePrice(new BigDecimal("1.0")); + System.out.println("等候费:无"); +end + +/** +4.远途费 + 订单行程超出12公里后每公里1元 +*/ +rule "远途费 订单行程超出12公里后每公里1元" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(distance.doubleValue() > 12.0) + then + BigDecimal exceedLongDistance = $rule.getDistance().subtract(new BigDecimal("12.0")); + feeRuleResponse.setBaseLongDistance(new BigDecimal("12.0")); + feeRuleResponse.setExceedLongDistance(exceedLongDistance); + feeRuleResponse.setExceedLongDistancePrice(new BigDecimal("1.0")); + System.out.println("远途费,超出公里:" + feeRuleResponse.getExceedLongDistance() + "公里,单价:" + feeRuleResponse.getExceedLongDistancePrice()); +end +rule "无远途费" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(distance.doubleValue() <= 12.0) + then + feeRuleResponse.setBaseLongDistance(new BigDecimal("12.0")); + feeRuleResponse.setExceedLongDistance(new BigDecimal("0")); + feeRuleResponse.setExceedLongDistancePrice(new BigDecimal("0")); + System.out.println("远途费:无"); +end + +/** +5.计算总金额 + 订单总金额 = 基础里程费 + 超出基础里程的费 + 等候费 + 远程费 +*/ +rule "计算总金额" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:FeeRuleRequest(distance.doubleValue() > 0.0) + then + //订单总金额 = 基础里程费 + 超出基础里程的费 + 等候费 + 远程费 + BigDecimal distanceFee = feeRuleResponse.getBaseDistanceFee().add(feeRuleResponse.getExceedDistance().multiply(feeRuleResponse.getExceedDistancePrice())); + BigDecimal waitFee = new BigDecimal(feeRuleResponse.getExceedWaitMinute()).multiply(feeRuleResponse.getExceedWaitMinutePrice()); + BigDecimal longDistanceFee = feeRuleResponse.getExceedLongDistance().multiply(feeRuleResponse.getExceedLongDistancePrice()); + BigDecimal totalAmount = distanceFee.add(waitFee).add(longDistanceFee); + feeRuleResponse.setDistanceFee(distanceFee); + feeRuleResponse.setWaitFee(waitFee); + feeRuleResponse.setLongDistanceFee(longDistanceFee); + feeRuleResponse.setTotalAmount(totalAmount); + System.out.println("计算总金额:" + feeRuleResponse.getTotalAmount() + "元"); +end \ No newline at end of file diff --git a/service/service-rules/src/main/resources/rules/ProfitsharingRule.drl b/service/service-rules/src/main/resources/rules/ProfitsharingRule.drl new file mode 100644 index 0000000..fc92843 --- /dev/null +++ b/service/service-rules/src/main/resources/rules/ProfitsharingRule.drl @@ -0,0 +1,125 @@ +//package对应的不一定是真正的目录,可以任意写com.abc,同一个包下的drl文件可以相互访问 +package com.atguigu.daijia + +import com.atguigu.daijia.model.form.rules.ProfitsharingRuleRequest; +import java.math.BigDecimal; +import java.math.RoundingMode; + +global com.atguigu.daijia.model.vo.rules.ProfitsharingRuleResponse profitsharingRuleResponse; +//支付微信平台费率:0.6% +//global BigDecimal paymentRate = new BigDecimal(0.006); +/** +支付微信平台费用 + 平台费率:0.6% +*/ +rule "支付微信平台费用 平台费率:0.6%" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:ProfitsharingRuleRequest() + then + profitsharingRuleResponse.setOrderAmount($rule.getOrderAmount()); + profitsharingRuleResponse.setPaymentRate(new BigDecimal("0.006")); + BigDecimal paymentFee = profitsharingRuleResponse.getOrderAmount().multiply(profitsharingRuleResponse.getPaymentRate()).setScale(2, RoundingMode.HALF_UP); + profitsharingRuleResponse.setPaymentFee(paymentFee); + System.out.println("支付微信平台费用:" + profitsharingRuleResponse.getPaymentFee() + "元"); +end + +/** +订单金额小于等于100 + 当天完成订单小于等于10单 平台抽成 20% + 当天完成订单大于10单 平台抽成 18% +*/ +rule "订单金额小于等于100 当天完成订单小于等于10单" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:ProfitsharingRuleRequest(orderAmount.doubleValue() <= 100.0 && orderNum <= 10) + then + BigDecimal totalAmount = profitsharingRuleResponse.getOrderAmount().subtract(profitsharingRuleResponse.getPaymentFee()); + BigDecimal platformIncome = totalAmount.multiply(new BigDecimal("0.2")).setScale(2, RoundingMode.HALF_UP); + BigDecimal driverTotalIncome = totalAmount.subtract(platformIncome); + //代驾司机个税,税率:10% + BigDecimal driverTaxFee = driverTotalIncome.multiply(new BigDecimal("0.1")).setScale(2, RoundingMode.HALF_UP); + BigDecimal driverIncome = driverTotalIncome.subtract(driverTaxFee); + profitsharingRuleResponse.setPlatformIncome(platformIncome); + profitsharingRuleResponse.setDriverIncome(driverIncome); + profitsharingRuleResponse.setDriverTaxRate(new BigDecimal("0.1")); + profitsharingRuleResponse.setDriverTaxFee(driverTaxFee); + System.out.println("平台分账收入:" + platformIncome + "元" + ",司机分账收入:" + driverIncome + "元" + ",司机个税:" + driverTaxFee + "元"); +end +rule "订单金额小于等于100 天完成订单大于10单" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:ProfitsharingRuleRequest(orderAmount.doubleValue() <= 100.0 && orderNum > 10) + then + BigDecimal totalAmount = profitsharingRuleResponse.getOrderAmount().subtract(profitsharingRuleResponse.getPaymentFee()); + BigDecimal platformIncome = totalAmount.multiply(new BigDecimal("0.18")).setScale(2, RoundingMode.HALF_UP); + BigDecimal driverTotalIncome = totalAmount.subtract(platformIncome); + //代驾司机个税,税率:10% + BigDecimal driverTaxFee = driverTotalIncome.multiply(new BigDecimal("0.1")).setScale(2, RoundingMode.HALF_UP); + BigDecimal driverIncome = driverTotalIncome.subtract(driverTaxFee); + profitsharingRuleResponse.setPlatformIncome(platformIncome); + profitsharingRuleResponse.setDriverIncome(driverIncome); + profitsharingRuleResponse.setDriverTaxRate(new BigDecimal("0.1")); + profitsharingRuleResponse.setDriverTaxFee(driverTaxFee); + System.out.println("平台分账收入:" + platformIncome + "元" + ",司机分账收入:" + driverIncome + "元" + ",司机个税:" + driverTaxFee + "元"); +end + +/** +订单金额大于100 + 当天完成订单小于等于10单 平台抽成 18% + 当天完成订单大于10单 平台抽成 16% +*/ +rule "订单金额大于100 当天完成订单小于等于10单" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:ProfitsharingRuleRequest(orderAmount.doubleValue() > 100.0 && orderNum <= 10) + then + BigDecimal totalAmount = profitsharingRuleResponse.getOrderAmount().subtract(profitsharingRuleResponse.getPaymentFee()); + BigDecimal platformIncome = totalAmount.multiply(new BigDecimal("0.18")).setScale(2, RoundingMode.HALF_UP); + BigDecimal driverTotalIncome = totalAmount.subtract(platformIncome); + //代驾司机个税,税率:10% + BigDecimal driverTaxFee = driverTotalIncome.multiply(new BigDecimal("0.1")).setScale(2, RoundingMode.HALF_UP); + BigDecimal driverIncome = driverTotalIncome.subtract(driverTaxFee); + profitsharingRuleResponse.setPlatformIncome(platformIncome); + profitsharingRuleResponse.setDriverIncome(driverIncome); + profitsharingRuleResponse.setDriverTaxRate(new BigDecimal("0.1")); + profitsharingRuleResponse.setDriverTaxFee(driverTaxFee); + System.out.println("平台分账收入:" + platformIncome + "元" + ",司机分账收入:" + driverIncome + "元" + ",司机个税:" + driverTaxFee + "元"); +end +rule "订单金额大于100 天完成订单大于10单" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:ProfitsharingRuleRequest(orderAmount.doubleValue() > 100.0 && orderNum > 10) + then + BigDecimal totalAmount = profitsharingRuleResponse.getOrderAmount().subtract(profitsharingRuleResponse.getPaymentFee()); + BigDecimal platformIncome = totalAmount.multiply(new BigDecimal("0.18")).setScale(2, RoundingMode.HALF_UP); + BigDecimal driverTotalIncome = totalAmount.subtract(platformIncome); + //代驾司机个税,税率:10% + BigDecimal driverTaxFee = driverTotalIncome.multiply(new BigDecimal("0.1")).setScale(2, RoundingMode.HALF_UP); + BigDecimal driverIncome = driverTotalIncome.subtract(driverTaxFee); + profitsharingRuleResponse.setPlatformIncome(platformIncome); + profitsharingRuleResponse.setDriverIncome(driverIncome); + profitsharingRuleResponse.setDriverTaxRate(new BigDecimal("0.1")); + profitsharingRuleResponse.setDriverTaxFee(driverTaxFee); + System.out.println("平台分账收入:" + platformIncome + "元" + ",司机分账收入:" + driverIncome + "元" + ",司机个税:" + driverTaxFee + "元"); +end \ No newline at end of file diff --git a/service/service-rules/src/main/resources/rules/RewardRule.drl b/service/service-rules/src/main/resources/rules/RewardRule.drl new file mode 100644 index 0000000..b8ede23 --- /dev/null +++ b/service/service-rules/src/main/resources/rules/RewardRule.drl @@ -0,0 +1,39 @@ +//package对应的不一定是真正的目录,可以任意写com.abc,同一个包下的drl文件可以相互访问 +package com.atguigu.daijia + +import com.atguigu.daijia.model.form.rules.RewardRuleRequest; +import java.math.BigDecimal; +import java.math.RoundingMode; + +global com.atguigu.daijia.model.vo.rules.RewardRuleResponse rewardRuleResponse; + +/** +系统奖励 + 00:00:00-06:59:59 完成5单后 每单奖励5元 + 07:00:00-23:59:59 完成10单后 每单奖励2元 +*/ +rule "00:00:00-06:59:59 完成5单后 每单奖励5元" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:RewardRuleRequest(startTime >= "00:00:00" && startTime <= "06:59:59" && orderNum > 5) + then + rewardRuleResponse.setRewardAmount(new BigDecimal("5.0")); + System.out.println("00:00:00-06:59:59 奖励:" + rewardRuleResponse.getRewardAmount() + "元"); +end +rule "07:00:00-23:59:59 完成10单后 每单奖励2元" + salience 10 //指定优先级,数值越大优先级越高,不指定的情况下由上到下执行 + no-loop true //防止陷入死循环 + when + /*规则条件,到工作内存中查找FeeRuleRequest对象 + 里面出来的结果只能是ture或者false + $rule是绑定变量名,可以任意命名,官方推荐$符号,定义了绑定变量名,可以在then部分操作fact对象*/ + $rule:RewardRuleRequest(startTime >= "07:00:00" && startTime <= "23:59:59" && orderNum > 10) + then + rewardRuleResponse.setRewardAmount(new BigDecimal("2.0")); + System.out.println("00:00:00-06:59:59 奖励:" + rewardRuleResponse.getRewardAmount() + "元"); +end + diff --git a/service/service-system/pom.xml b/service/service-system/pom.xml new file mode 100644 index 0000000..6ac9629 --- /dev/null +++ b/service/service-system/pom.xml @@ -0,0 +1,28 @@ + + + + com.atguigu.daijia + service + 1.0 + + 4.0.0 + + service-system + jar + + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/service/service-system/src/main/java/com/atguigu/daijia/ServiceSystemApplication.java b/service/service-system/src/main/java/com/atguigu/daijia/ServiceSystemApplication.java new file mode 100644 index 0000000..a4329a2 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/ServiceSystemApplication.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class ServiceSystemApplication { + + public static void main(String[] args) { + SpringApplication.run(ServiceSystemApplication.class, args); + } + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/config/DataSourceConfig.java b/service/service-system/src/main/java/com/atguigu/daijia/system/config/DataSourceConfig.java new file mode 100644 index 0000000..f176f78 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/config/DataSourceConfig.java @@ -0,0 +1,58 @@ +//package com.atguigu.daijia.system.config; +// +// +//import com.zaxxer.hikari.HikariDataSource; +//import io.seata.rm.datasource.DataSourceProxy; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.boot.context.properties.ConfigurationProperties; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.context.annotation.Primary; +// +///** +// * 数据源配置 +// * +// * https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html +// * +// * @author HelloWoodes +// */ +//@Configuration +//public class DataSourceConfig { +// +// @Value("${spring.datasource.url}") +// private String url; +// +// @Value("${spring.datasource.username}") +// private String username; +// +// @Value("${spring.datasource.password}") +// private String password; +// +// @Value("${spring.datasource.driver-class-name}") +// private String driveClassName; +// +// +// @Bean +// @ConfigurationProperties(prefix = "spring.datasource") +// public HikariDataSource hikariDataSource() { +// HikariDataSource hikariDataSource = new HikariDataSource(); +// hikariDataSource.setUsername(username); +// hikariDataSource.setPassword(password); +// hikariDataSource.setJdbcUrl(url); +// hikariDataSource.setDriverClassName(driveClassName); +// return hikariDataSource; +// } +// +// /** +// * 需要将 DataSourceProxy 设置为主数据源,否则事务无法回滚 +// * +// * @param hikariDataSource The HikariDataSource +// * @return The default datasource +// */ +// @Primary +// @Bean("dataSource") +// public DataSourceProxy dataSourceProxy(HikariDataSource hikariDataSource) { +// return new DataSourceProxy(hikariDataSource); +// } +// +//} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SecurityLoginController.java b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SecurityLoginController.java new file mode 100644 index 0000000..39f1756 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SecurityLoginController.java @@ -0,0 +1,57 @@ +package com.atguigu.daijia.system.controller; + +import com.alibaba.fastjson.JSON; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.vo.system.LoginVo; +import com.atguigu.daijia.system.service.SysMenuService; +import com.atguigu.daijia.system.service.SysUserService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Tag(name = "security登录管理") +@RestController +@RequestMapping(value="/securityLogin") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SecurityLoginController { + + @Resource + private SysUserService sysUserService; + + @Resource + private SysMenuService sysMenuService; + + @Operation(summary = "模拟登录") + @PostMapping("login") + public Result login(@RequestBody LoginVo loginVo) { + log.info(JSON.toJSONString(loginVo)); + return Result.ok(); + } + + @Operation(summary = "根据用户名获取用户信息") + @GetMapping("getByUsername/{username}") + public Result getByUsername(@PathVariable String username) { + return Result.ok(sysUserService.getByUsername(username)); + } + + @Operation(summary = "获取用户按钮权限") + @GetMapping("findUserPermsList/{userId}") + public Result> findUserPermsList(@PathVariable Long userId) { + return Result.ok(sysMenuService.findUserPermsList(userId)); + } + + @Operation(summary = "获取用户信息") + @GetMapping("getUserInfo/{userId}") + public Result> getUserInfo(@PathVariable Long userId) { + Map map = sysUserService.getUserInfo(userId); + return Result.ok(map); + } +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysDeptController.java b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysDeptController.java new file mode 100644 index 0000000..36db619 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysDeptController.java @@ -0,0 +1,67 @@ +package com.atguigu.daijia.system.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysDept; +import com.atguigu.daijia.system.service.SysDeptService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "部门管理") +@RestController +@RequestMapping(value="/sysDept") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysDeptController { + + @Resource + private SysDeptService sysDeptService; + + @Operation(summary = "获取") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysDept sysDept = sysDeptService.getById(id); + return Result.ok(sysDept); + } + + @Operation(summary = "新增") + @PostMapping("save") + public Result save(@RequestBody SysDept sysDept) { + return Result.ok(sysDeptService.save(sysDept)); + } + + @Operation(summary = "修改") + @PutMapping("update") + public Result update(@RequestBody SysDept sysDept) { + return Result.ok(sysDeptService.updateById(sysDept)); + } + + @Operation(summary = "删除") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + return Result.ok(sysDeptService.removeById(id)); + } + + @Operation(summary = "获取全部部门节点") + @GetMapping("findNodes") + public Result> findNodes() { + return Result.ok(sysDeptService.findNodes()); + } + + @Operation(summary = "获取用户部门节点") + @GetMapping("findUserNodes") + public Result> findUserNodes() { + return Result.ok(sysDeptService.findUserNodes()); + } + + @Operation(summary = "更新状态") + @GetMapping("updateStatus/{id}/{status}") + public Result updateStatus(@PathVariable Long id, @PathVariable Integer status) { + sysDeptService.updateStatus(id, status); + return Result.ok(true); + } + +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysLoginLogController.java b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysLoginLogController.java new file mode 100644 index 0000000..fc65709 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysLoginLogController.java @@ -0,0 +1,60 @@ +package com.atguigu.daijia.system.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.query.system.SysLoginLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.service.SysLoginLogService; +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 jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + +/** + * + * @author qy + * + */ +@Tag(name = "系统登录日志管理") +@RestController +@RequestMapping(value="/sysLoginLog") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysLoginLogController { + + @Resource + private SysLoginLogService sysLoginLogService; + + @Operation(summary = "获取分页列表") + @PostMapping("findPage/{page}/{limit}") + public Result> findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "sysLoginLogVo", description = "查询对象", required = false) + @RequestBody SysLoginLogQuery sysLoginLogQuery) { + Page pageParam = new Page<>(page, limit); + PageVo pageModel = sysLoginLogService.findPage(pageParam, sysLoginLogQuery); + return Result.ok(pageModel); + } + + @Operation(summary = "获取") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysLoginLog sysLoginLog = sysLoginLogService.getById(id); + return Result.ok(sysLoginLog); + } + + @Operation(summary = "记录登录日志") + @PostMapping("recordLoginLog") + public Result recordLoginLog(@RequestBody SysLoginLog sysLoginLog) { + sysLoginLogService.recordLoginLog(sysLoginLog); + return Result.ok(true); + } + +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysMenuController.java b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysMenuController.java new file mode 100644 index 0000000..f60483e --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysMenuController.java @@ -0,0 +1,61 @@ +package com.atguigu.daijia.system.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysMenu; +import com.atguigu.daijia.model.vo.system.AssginMenuVo; +import com.atguigu.daijia.system.service.SysMenuService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "菜单管理") +@RestController +@RequestMapping("/sysMenu") +public class SysMenuController { + + @Autowired + private SysMenuService sysMenuService; + + @Operation(summary = "获取菜单") + @GetMapping("findNodes") + public Result> findNodes() { + List list = sysMenuService.findNodes(); + return Result.ok(list); + } + + @Operation(summary = "新增菜单") + @PostMapping("save") + public Result save(@RequestBody SysMenu permission) { + return Result.ok(sysMenuService.save(permission)); + } + + @Operation(summary = "修改菜单") + @PutMapping("update") + public Result update(@RequestBody SysMenu permission) { + return Result.ok(sysMenuService.updateById(permission)); + } + + @Operation(summary = "删除菜单") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + return Result.ok(sysMenuService.removeById(id)); + } + + @Operation(summary = "根据角色获取菜单") + @GetMapping("toAssign/{roleId}") + public Result> toAssign(@PathVariable Long roleId) { + List list = sysMenuService.findSysMenuByRoleId(roleId); + return Result.ok(list); + } + + @Operation(summary = "给角色分配权限") + @PostMapping("/doAssign") + public Result doAssign(@RequestBody AssginMenuVo assginMenuVo) { + sysMenuService.doAssign(assginMenuVo); + return Result.ok(true); + } +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysOperLogController.java b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysOperLogController.java new file mode 100644 index 0000000..5cb0c07 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysOperLogController.java @@ -0,0 +1,61 @@ +package com.atguigu.daijia.system.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.model.query.system.SysOperLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.service.SysOperLogService; +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 jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + + +/** + * + * @author qy + * + */ +@Tag(name = "系统操作日志管理") +@RestController +@RequestMapping(value="/sysOperLog") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysOperLogController { + + @Resource + private SysOperLogService sysOperLogService; + + @Operation(summary = "获取分页列表") + @PostMapping("findPage/{page}/{limit}") + public Result findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "sysOperLogVo", description = "查询对象", required = false) + @RequestBody SysOperLogQuery sysOperLogQuery) { + Page pageParam = new Page<>(page, limit); + PageVo pageVo = sysOperLogService.findPage(pageParam, sysOperLogQuery); + return Result.ok(pageVo); + } + + @Operation(summary = "获取") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysOperLog sysOperLog = sysOperLogService.getById(id); + return Result.ok(sysOperLog); + } + + @Operation(summary = "记录日志") + @PostMapping("saveSysLog") + public Result saveSysLog(@RequestBody SysOperLog sysOperLog) { + sysOperLogService.saveSysLog(sysOperLog); + return Result.ok(true); + } + +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysPostController.java b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysPostController.java new file mode 100644 index 0000000..68ea679 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysPostController.java @@ -0,0 +1,80 @@ +package com.atguigu.daijia.system.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysPost; +import com.atguigu.daijia.model.query.system.SysPostQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.service.SysPostService; +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 jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "岗位管理") +@RestController +@RequestMapping(value="/sysPost") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysPostController { + + @Resource + private SysPostService sysPostService; + + @Operation(summary = "获取分页列表") + @PostMapping("findPage/{page}/{limit}") + public Result> findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "sysPostVo", description = "查询对象", required = false) + @RequestBody SysPostQuery sysPostQuery) { + Page pageParam = new Page<>(page, limit); + PageVo pageVo = sysPostService.findPage(pageParam, sysPostQuery); + return Result.ok(pageVo); + } + + @Operation(summary = "获取") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysPost sysPost = sysPostService.getById(id); + return Result.ok(sysPost); + } + + @GetMapping("findAll") + public Result> findAll() { + return Result.ok(sysPostService.findAll()); + } + + @Operation(summary = "新增") + @PostMapping("save") + public Result save(@RequestBody SysPost sysPost) { + return Result.ok(sysPostService.save(sysPost)); + } + + @Operation(summary = "修改") + @PutMapping("update") + public Result update(@RequestBody SysPost sysPost) { + return Result.ok(sysPostService.updateById(sysPost)); + } + + @Operation(summary = "删除") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + return Result.ok(sysPostService.removeById(id)); + } + + @Operation(summary = "更新状态") + @GetMapping("updateStatus/{id}/{status}") + public Result updateStatus(@PathVariable Long id, @PathVariable Integer status) { + sysPostService.updateStatus(id, status); + return Result.ok(true); + } + +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysRoleController.java b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysRoleController.java new file mode 100644 index 0000000..b91fc53 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysRoleController.java @@ -0,0 +1,101 @@ +package com.atguigu.daijia.system.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.model.entity.system.SysRole; +import com.atguigu.daijia.model.query.system.SysRoleQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.model.vo.system.AssginRoleVo; +import com.atguigu.daijia.system.service.SysRoleService; +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.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Tag(name = "角色管理") +@RestController +@RequestMapping("/sysRole") +public class SysRoleController { + + @Autowired + private SysRoleService sysRoleService; + + @Operation(summary = "获取全部角色列表") + @GetMapping("findAll") + public Result> findAll() { + List roleList = sysRoleService.list(); + return Result.ok(roleList); + } + + @Operation(summary = "获取分页列表") + @PostMapping("findPage/{page}/{limit}") + public Result> findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "roleQuery", description = "查询对象", required = false) + @RequestBody SysRoleQuery roleQuery) { + Page pageParam = new Page<>(page, limit); + PageVo pageVo = sysRoleService.findPage(pageParam, roleQuery); + return Result.ok(pageVo); + } + + @Operation(summary = "获取") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysRole sysRole = sysRoleService.getById(id); + return Result.ok(sysRole); + } + + @Operation(summary = "新增角色") + @PostMapping("save") + public Result save(@RequestBody @Validated SysRole role) { + return Result.ok(sysRoleService.save(role)); + } + + @Operation(summary = "修改角色") + @PutMapping("update") + public Result update(@RequestBody SysRole role) { + return Result.ok(sysRoleService.updateById(role)); + } + + @Operation(summary = "删除角色") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + return Result.ok(sysRoleService.removeById(id)); + } + + @Operation(summary = "根据id列表删除") + @DeleteMapping("batchRemove") + public Result batchRemove(@RequestBody List idList) { + sysRoleService.removeByIds(idList); + return Result.ok(); + } + + @Operation(summary = "根据用户获取角色数据") + @GetMapping("/toAssign/{userId}") + public Result> toAssign(@PathVariable Long userId) { + Map roleMap = sysRoleService.findRoleByUserId(userId); + return Result.ok(roleMap); + } + + @Operation(summary = "根据用户分配角色") + @PostMapping("/doAssign") + public Result doAssign(@RequestBody AssginRoleVo assginRoleVo) { + sysRoleService.doAssign(assginRoleVo); + return Result.ok(true); + } + + +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysUserController.java b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysUserController.java new file mode 100644 index 0000000..6ff8f5a --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/controller/SysUserController.java @@ -0,0 +1,78 @@ +package com.atguigu.daijia.system.controller; + +import com.atguigu.daijia.common.annotation.Log; +import com.atguigu.daijia.common.enums.BusinessType; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.util.MD5; +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.query.system.SysUserQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.service.SysUserService; +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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + + +@Tag(name = "用户管理") +@RestController +@RequestMapping("/sysUser") +@CrossOrigin +public class SysUserController { + + @Autowired + private SysUserService sysUserService; + + @Operation(summary = "获取分页列表") + @PostMapping("findPage/{page}/{limit}") + public Result> findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "userQuery", description = "查询对象", required = false) + @RequestBody SysUserQuery sysUserQuery) { + Page pageParam = new Page<>(page, limit); + PageVo pageVo = sysUserService.findPage(pageParam, sysUserQuery); + return Result.ok(pageVo); + } + + @Operation(summary = "获取用户") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysUser sysUser = sysUserService.getById(id); + return Result.ok(sysUser); + } + + @Log(title = "用户管理", businessType = BusinessType.INSERT) + @Operation(summary = "保存用户") + @PostMapping("save") + public Result save(@RequestBody SysUser user) { + user.setPassword(MD5.encrypt(user.getPassword())); + return Result.ok(sysUserService.save(user)); + } + + @Operation(summary = "更新用户") + @PutMapping("update") + public Result updateById(@RequestBody SysUser sysUser) { + return Result.ok(sysUserService.updateById(sysUser)); + } + + @Operation(summary = "删除用户") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + return Result.ok(sysUserService.removeById(id)); + } + + @Operation(summary = "更新状态") + @GetMapping("updateStatus/{id}/{status}") + public Result updateStatus(@PathVariable Long id, @PathVariable Integer status) { + sysUserService.updateStatus(id, status); + return Result.ok(true); + } +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/helper/DeptHelper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/helper/DeptHelper.java new file mode 100644 index 0000000..f86fb72 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/helper/DeptHelper.java @@ -0,0 +1,40 @@ +package com.atguigu.daijia.system.helper; + + +import com.atguigu.daijia.model.entity.system.SysDept; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 根据权限数据构建菜单数据 + *

+ * + */ +public class DeptHelper { + + //把一个List转成树 + public static List buildTree(List list, Long parentId) { + List tree = new ArrayList<>(); + for (SysDept org : list) { + if (Objects.equals(org.getParentId(), parentId)) { + tree.add(findChild(org, list)); + } + } + return tree; + } + + private static SysDept findChild(SysDept org, List list) { + for (SysDept n : list) { + if (Objects.equals(n.getParentId(), org.getId())) { + if (org.getChildren() == null) { + org.setChildren(new ArrayList()); + } + org.getChildren().add(findChild(n, list)); + } + } + return org; + } +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/helper/MenuHelper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/helper/MenuHelper.java new file mode 100644 index 0000000..522c01f --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/helper/MenuHelper.java @@ -0,0 +1,50 @@ +package com.atguigu.daijia.system.helper; + + +import com.atguigu.daijia.model.entity.system.SysMenu; + +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 根据菜单数据构建菜单数据 + *

+ * + */ +public class MenuHelper { + + /** + * 使用递归方法建菜单 + * @param sysMenuList + * @return + */ + public static List buildTree(List sysMenuList) { + List trees = new ArrayList<>(); + for (SysMenu sysMenu : sysMenuList) { + if (sysMenu.getParentId().longValue() == 0) { + trees.add(findChildren(sysMenu,sysMenuList)); + } + } + return trees; + } + + /** + * 递归查找子节点 + * @param treeNodes + * @return + */ + public static SysMenu findChildren(SysMenu sysMenu, List treeNodes) { + sysMenu.setChildren(new ArrayList()); + + for (SysMenu it : treeNodes) { + if(sysMenu.getId().longValue() == it.getParentId().longValue()) { + if (sysMenu.getChildren() == null) { + sysMenu.setChildren(new ArrayList<>()); + } + sysMenu.getChildren().add(findChildren(it,treeNodes)); + } + } + return sysMenu; + } +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysDeptMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysDeptMapper.java new file mode 100644 index 0000000..e1c7d3f --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysDeptMapper.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.system.mapper; + +import com.atguigu.daijia.model.entity.system.SysDept; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface SysDeptMapper extends BaseMapper { + + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysLoginLogMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysLoginLogMapper.java new file mode 100644 index 0000000..e81fb42 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysLoginLogMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.system.mapper; + +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.query.system.SysLoginLogQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface SysLoginLogMapper extends BaseMapper { + + IPage selectPage(Page page, @Param("query") SysLoginLogQuery sysLoginLogQuery); + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysMenuMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysMenuMapper.java new file mode 100644 index 0000000..a9f5225 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysMenuMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.system.mapper; + + +import com.atguigu.daijia.model.entity.system.SysMenu; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +@Mapper +public interface SysMenuMapper extends BaseMapper { + + List findListByUserId(@Param("userId") Long userId); +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysOperLogMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysOperLogMapper.java new file mode 100644 index 0000000..84cf411 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysOperLogMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.system.mapper; + +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.model.query.system.SysOperLogQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface SysOperLogMapper extends BaseMapper { + + IPage selectPage(Page page, @Param("query") SysOperLogQuery sysOperLogQuery); + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysPostMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysPostMapper.java new file mode 100644 index 0000000..76c64f3 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysPostMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.system.mapper; + +import com.atguigu.daijia.model.entity.system.SysPost; +import com.atguigu.daijia.model.query.system.SysPostQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface SysPostMapper extends BaseMapper { + + IPage selectPage(Page page, @Param("query") SysPostQuery sysPostQuery); + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysRoleMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysRoleMapper.java new file mode 100644 index 0000000..e2fc4b3 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysRoleMapper.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.system.mapper; + +import com.atguigu.daijia.model.entity.system.SysRole; +import com.atguigu.daijia.model.query.system.SysRoleQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Repository +@Mapper +public interface SysRoleMapper extends BaseMapper { + + IPage selectPage(Page page, @Param("query") SysRoleQuery roleQuery); +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysRoleMenuMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysRoleMenuMapper.java new file mode 100644 index 0000000..bd891e7 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysRoleMenuMapper.java @@ -0,0 +1,12 @@ +package com.atguigu.daijia.system.mapper; + +import com.atguigu.daijia.model.entity.system.SysRoleMenu; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Repository +@Mapper +public interface SysRoleMenuMapper extends BaseMapper { + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysUserMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysUserMapper.java new file mode 100644 index 0000000..6a93ae8 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysUserMapper.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.system.mapper; + +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.query.system.SysUserQuery; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +@Repository +@Mapper +public interface SysUserMapper extends BaseMapper { + + IPage selectPage(Page page, @Param("query") SysUserQuery userQuery); +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysUserRoleMapper.java b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysUserRoleMapper.java new file mode 100644 index 0000000..0cba4d4 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/mapper/SysUserRoleMapper.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.system.mapper; + +import com.atguigu.daijia.model.entity.system.SysUserRole; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Repository +@Mapper +public interface SysUserRoleMapper extends BaseMapper { + +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysDeptService.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysDeptService.java new file mode 100644 index 0000000..ba732a3 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysDeptService.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.system.service; + +import com.atguigu.daijia.model.entity.system.SysDept; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface SysDeptService extends IService { + + List findNodes(); + + List findUserNodes(); + + void updateStatus(Long id, Integer status); +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysLoginLogService.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysLoginLogService.java new file mode 100644 index 0000000..eb42571 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysLoginLogService.java @@ -0,0 +1,21 @@ +package com.atguigu.daijia.system.service; + +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.query.system.SysLoginLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface SysLoginLogService extends IService { + + PageVo findPage(Page pageParam, SysLoginLogQuery sysLoginLogQuery); + + /** + * 记录登录信息 + * + * @param sysLoginLog + * @return + */ + void recordLoginLog(SysLoginLog sysLoginLog); + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysMenuService.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysMenuService.java new file mode 100644 index 0000000..e7901fe --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysMenuService.java @@ -0,0 +1,45 @@ +package com.atguigu.daijia.system.service; + + +import com.atguigu.daijia.model.entity.system.SysMenu; +import com.atguigu.daijia.model.vo.system.AssginMenuVo; +import com.atguigu.daijia.model.vo.system.RouterVo; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface SysMenuService extends IService { + + /** + * 菜单树形数据 + * @return + */ + List findNodes(); + + /** + * 根据角色获取授权权限数据 + * @return + */ + List findSysMenuByRoleId(Long roleId); + + /** + * 保存角色权限 + * @param assginMenuVo + */ + void doAssign(AssginMenuVo assginMenuVo); + + /** + * 获取用户菜单 + * @param userId + * @return + */ + List findUserMenuList(Long userId); + + /** + * 获取用户按钮权限 + * @param userId + * @return + */ + List findUserPermsList(Long userId); + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysOperLogService.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysOperLogService.java new file mode 100644 index 0000000..79df603 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysOperLogService.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.system.service; + +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.model.query.system.SysOperLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface SysOperLogService extends IService { + + PageVo findPage(Page pageParam, SysOperLogQuery sysOperLogQuery); + + /** + * 保存系统日志记录 + */ + void saveSysLog(SysOperLog sysOperLog); +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysPostService.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysPostService.java new file mode 100644 index 0000000..eaea0b8 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysPostService.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.system.service; + +import com.atguigu.daijia.model.entity.system.SysPost; +import com.atguigu.daijia.model.query.system.SysPostQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface SysPostService extends IService { + + PageVo findPage(Page pageParam, SysPostQuery sysPostQuery); + + void updateStatus(Long id, Integer status); + + List findAll(); +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysRoleService.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysRoleService.java new file mode 100644 index 0000000..387c1f0 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysRoleService.java @@ -0,0 +1,28 @@ +package com.atguigu.daijia.system.service; + +import com.atguigu.daijia.model.entity.system.SysRole; +import com.atguigu.daijia.model.query.system.SysRoleQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.model.vo.system.AssginRoleVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +public interface SysRoleService extends IService { + + PageVo findPage(Page pageParam, SysRoleQuery roleQuery); + + /** + * 根据用户获取角色数据 + * @param userId + * @return + */ + Map findRoleByUserId(Long userId); + + /** + * 分配角色 + * @param assginRoleVo + */ + void doAssign(AssginRoleVo assginRoleVo); +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysUserService.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysUserService.java new file mode 100644 index 0000000..6456938 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/SysUserService.java @@ -0,0 +1,26 @@ +package com.atguigu.daijia.system.service; + + +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.query.system.SysUserQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +public interface SysUserService extends IService { + + PageVo findPage(Page pageParam, SysUserQuery adminQuery); + + void updateStatus(Long id, Integer status); + + SysUser getByUsername(String username); + + /** + * 根据用户名获取用户登录信息 + * @param userId + * @return + */ + Map getUserInfo(Long userId); +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysDeptServiceImpl.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysDeptServiceImpl.java new file mode 100644 index 0000000..db5c97e --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysDeptServiceImpl.java @@ -0,0 +1,57 @@ +package com.atguigu.daijia.system.service.impl; + +import com.atguigu.daijia.common.execption.GuiguException; +import com.atguigu.daijia.common.result.ResultCodeEnum; +import com.atguigu.daijia.model.entity.system.SysDept; +import com.atguigu.daijia.system.helper.DeptHelper; +import com.atguigu.daijia.system.mapper.SysDeptMapper; +import com.atguigu.daijia.system.service.SysDeptService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.io.Serializable; +import java.util.List; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysDeptServiceImpl extends ServiceImpl implements SysDeptService { + + @Resource + private SysDeptMapper sysDeptMapper; + + + @Override + public List findNodes() { + List goodsTypeList = this.list(); + return DeptHelper.buildTree(goodsTypeList, 0L); + } + + @Override + public List findUserNodes() { + List sysDeptList = this.list(new LambdaQueryWrapper().eq(SysDept::getStatus, 1)); + return DeptHelper.buildTree(sysDeptList, 0L); + } + + @Override + public void updateStatus(Long id, Integer status) { + SysDept sysDept = this.getById(id); + sysDept.setStatus(status); + this.updateById(sysDept); + } + + + + @Override + public boolean removeById(Serializable id) { + long count = this.count(new LambdaQueryWrapper().eq(SysDept::getParentId, id)); + if(count > 0) { + throw new GuiguException(ResultCodeEnum.NODE_ERROR); + } + sysDeptMapper.deleteById(id); + return false; + } + +} + diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysLoginLogServiceImpl.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysLoginLogServiceImpl.java new file mode 100644 index 0000000..a1d65fa --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysLoginLogServiceImpl.java @@ -0,0 +1,36 @@ +package com.atguigu.daijia.system.service.impl; + +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.query.system.SysLoginLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.mapper.SysLoginLogMapper; +import com.atguigu.daijia.system.service.SysLoginLogService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysLoginLogServiceImpl extends ServiceImpl implements SysLoginLogService { + + @Resource + private SysLoginLogMapper sysLoginLogMapper; + + @Override + public PageVo findPage(Page pageParam, SysLoginLogQuery sysLoginLogQuery) { + IPage pageInfo = sysLoginLogMapper.selectPage(pageParam, sysLoginLogQuery); + return new PageVo(pageInfo.getRecords(), pageInfo.getPages(), pageInfo.getTotal()); + } + + /** + * 记录登录信息 + * + * @param sysLoginLog + * @return + */ + public void recordLoginLog(SysLoginLog sysLoginLog) { + sysLoginLogMapper.insert(sysLoginLog); + } +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysMenuServiceImpl.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysMenuServiceImpl.java new file mode 100644 index 0000000..633a7e4 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysMenuServiceImpl.java @@ -0,0 +1,177 @@ +package com.atguigu.daijia.system.service.impl; + +import com.atguigu.daijia.common.execption.GuiguException; +import com.atguigu.daijia.common.result.ResultCodeEnum; +import com.atguigu.daijia.model.entity.system.SysMenu; +import com.atguigu.daijia.model.entity.system.SysRoleMenu; +import com.atguigu.daijia.model.vo.system.AssginMenuVo; +import com.atguigu.daijia.model.vo.system.MetaVo; +import com.atguigu.daijia.model.vo.system.RouterVo; +import com.atguigu.daijia.system.helper.MenuHelper; +import com.atguigu.daijia.system.mapper.SysMenuMapper; +import com.atguigu.daijia.system.mapper.SysRoleMenuMapper; +import com.atguigu.daijia.system.service.SysMenuService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import java.io.Serializable; +import java.util.LinkedList; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class SysMenuServiceImpl extends ServiceImpl implements SysMenuService { + + @Autowired + private SysMenuMapper sysMenuMapper; + + @Autowired + private SysRoleMenuMapper sysRoleMenuMapper; + + @Override + public List findNodes() { + //全部权限列表 + List sysMenuList = this.list(); + if (CollectionUtils.isEmpty(sysMenuList)) return null; + + //构建树形数据 + List result = MenuHelper.buildTree(sysMenuList); + return result; + } + + @Override + public boolean removeById(Serializable id) { + long count = this.count(new LambdaQueryWrapper().eq(SysMenu::getParentId, id)); + if (count > 0) { + throw new GuiguException(ResultCodeEnum.NODE_ERROR); + } + sysMenuMapper.deleteById(id); + return false; + } + + @Override + public List findSysMenuByRoleId(Long roleId) { + //全部权限列表 + List allSysMenuList = this.list(new LambdaQueryWrapper().eq(SysMenu::getStatus, 1)); + + //根据角色id获取角色权限 + List sysRoleMenuList = sysRoleMenuMapper.selectList(new LambdaQueryWrapper().eq(SysRoleMenu::getRoleId, roleId)); + //转换给角色id与角色权限对应Map对象 + List menuIdList = sysRoleMenuList.stream().map(e -> e.getMenuId()).collect(Collectors.toList()); + + allSysMenuList.forEach(permission -> { + if (menuIdList.contains(permission.getId())) { + permission.setSelect(true); + } else { + permission.setSelect(false); + } + }); + + List sysMenuList = MenuHelper.buildTree(allSysMenuList); + return sysMenuList; + } + + @Transactional + @Override + public void doAssign(AssginMenuVo assginMenuVo) { + sysRoleMenuMapper.delete(new LambdaQueryWrapper().eq(SysRoleMenu::getRoleId, assginMenuVo.getRoleId())); + + for (Long menuId : assginMenuVo.getMenuIdList()) { + if (null == menuId) continue; + SysRoleMenu rolePermission = new SysRoleMenu(); + rolePermission.setRoleId(assginMenuVo.getRoleId()); + rolePermission.setMenuId(menuId); + sysRoleMenuMapper.insert(rolePermission); + } + } + + @Override + public List findUserMenuList(Long userId) { + //超级管理员admin账号id为:1 + List sysMenuList = null; + if (userId.longValue() == 1) { + sysMenuList = this.list(new LambdaQueryWrapper().eq(SysMenu::getStatus, 1).orderByAsc(SysMenu::getSortValue)); + } else { + sysMenuList = sysMenuMapper.findListByUserId(userId); + } + //构建树形数据 + List sysMenuTreeList = MenuHelper.buildTree(sysMenuList); + + List routerVoList = this.buildMenus(sysMenuTreeList); + return routerVoList; + } + + /** + * 根据菜单构建路由 + * @param menus + * @return + */ + private List buildMenus(List menus) { + List routers = new LinkedList(); + for (SysMenu menu : menus) { + RouterVo router = new RouterVo(); + //router.setHidden(false); + router.setAlwaysShow(false); + router.setPath(getRouterPath(menu)); + router.setComponent(menu.getComponent()); + Boolean isHide = menu.getIsHide().intValue() == 1 ? true : false; + router.setMeta(new MetaVo(menu.getName(), menu.getIcon(), menu.getActiveMenu(), isHide)); + List children = menu.getChildren(); + //如果当前是菜单,需将按钮对应的路由加载出来,如:“角色授权”按钮对应的路由在“系统管理”下面 + if(menu.getType().intValue() == 1) { + List hiddenMenuList = children.stream().filter(item -> StringUtils.hasText(item.getComponent())).collect(Collectors.toList()); + for (SysMenu hiddenMenu : hiddenMenuList) { + RouterVo hiddenRouter = new RouterVo(); + //hiddenRouter.setHidden(true); + hiddenRouter.setAlwaysShow(false); + hiddenRouter.setPath(getRouterPath(hiddenMenu)); + hiddenRouter.setComponent(hiddenMenu.getComponent()); + Boolean isHide1 = hiddenMenu.getIsHide().intValue() == 1 ? true : false; + hiddenRouter.setMeta(new MetaVo(hiddenMenu.getName(), hiddenMenu.getIcon(), menu.getActiveMenu(), isHide1)); + routers.add(hiddenRouter); + } + } else { + if (!CollectionUtils.isEmpty(children)) { + if(children.size() > 0) { + router.setAlwaysShow(true); + } + router.setChildren(buildMenus(children)); + } + } + routers.add(router); + } + return routers; + } + + /** + * 获取路由地址 + * + * @param menu 菜单信息 + * @return 路由地址 + */ + public String getRouterPath(SysMenu menu) { + String routerPath = "/" + menu.getPath(); + if(menu.getParentId().intValue() != 0) { + routerPath = menu.getPath(); + } + return routerPath; + } + + @Override + public List findUserPermsList(Long userId) { + //超级管理员admin账号id为:1 + List sysMenuList = null; + if (userId.longValue() == 1) { + sysMenuList = this.list(new LambdaQueryWrapper().eq(SysMenu::getStatus, 1)); + } else { + sysMenuList = sysMenuMapper.findListByUserId(userId); + } + List permsList = sysMenuList.stream().filter(item -> item.getType() == 2).map(item -> item.getPerms()).collect(Collectors.toList()); + return permsList; + } +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysOperLogServiceImpl.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysOperLogServiceImpl.java new file mode 100644 index 0000000..97689b0 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysOperLogServiceImpl.java @@ -0,0 +1,31 @@ +package com.atguigu.daijia.system.service.impl; + +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.model.query.system.SysOperLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.mapper.SysOperLogMapper; +import com.atguigu.daijia.system.service.SysOperLogService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysOperLogServiceImpl extends ServiceImpl implements SysOperLogService { + + @Resource + private SysOperLogMapper sysOperLogMapper; + + @Override + public PageVo findPage(Page pageParam, SysOperLogQuery sysOperLogQuery) { + IPage pageInfo = sysOperLogMapper.selectPage(pageParam, sysOperLogQuery); + return new PageVo(pageInfo.getRecords(), pageInfo.getPages(), pageInfo.getTotal()); + } + + @Override + public void saveSysLog(SysOperLog sysOperLog) { + sysOperLogMapper.insert(sysOperLog); + } +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysPostServiceImpl.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysPostServiceImpl.java new file mode 100644 index 0000000..8126c1b --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysPostServiceImpl.java @@ -0,0 +1,43 @@ +package com.atguigu.daijia.system.service.impl; + +import com.atguigu.daijia.model.entity.system.SysPost; +import com.atguigu.daijia.model.query.system.SysPostQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.mapper.SysPostMapper; +import com.atguigu.daijia.system.service.SysPostService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysPostServiceImpl extends ServiceImpl implements SysPostService { + + @Resource + private SysPostMapper sysPostMapper; + + @Override + public PageVo findPage(Page pageParam, SysPostQuery sysPostQuery) { + IPage pageInfo = sysPostMapper.selectPage(pageParam, sysPostQuery); + return new PageVo(pageInfo.getRecords(), pageInfo.getPages(), pageInfo.getTotal()); + } + + @Override + public void updateStatus(Long id, Integer status) { + SysPost sysPost = this.getById(id); + sysPost.setStatus(status); + this.updateById(sysPost); + } + + @Override + public List findAll() { + List sysPostList = this.list(new LambdaQueryWrapper().eq(SysPost::getStatus, 1)); + return sysPostList; + } + +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysRoleServiceImpl.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysRoleServiceImpl.java new file mode 100644 index 0000000..3e4d8f7 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysRoleServiceImpl.java @@ -0,0 +1,77 @@ +package com.atguigu.daijia.system.service.impl; + +import com.atguigu.daijia.model.entity.system.SysRole; +import com.atguigu.daijia.model.entity.system.SysUserRole; +import com.atguigu.daijia.model.query.system.SysRoleQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.model.vo.system.AssginRoleVo; +import com.atguigu.daijia.system.mapper.SysRoleMapper; +import com.atguigu.daijia.system.mapper.SysUserRoleMapper; +import com.atguigu.daijia.system.service.SysRoleService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class SysRoleServiceImpl extends ServiceImpl implements SysRoleService { + + @Autowired + private SysRoleMapper sysRoleMapper; + + @Autowired + private SysUserRoleMapper sysUserRoleMapper; + + @Override + public PageVo findPage(Page pageParam, SysRoleQuery roleQuery) { + IPage pageInfo = sysRoleMapper.selectPage(pageParam, roleQuery); + return new PageVo(pageInfo.getRecords(), pageInfo.getPages(), pageInfo.getTotal()); + } + + @Override + public Map findRoleByUserId(Long userId) { + //查询所有的角色 + List allRolesList = this.list(); + + //拥有的角色id + List existUserRoleList = sysUserRoleMapper.selectList(new LambdaQueryWrapper().eq(SysUserRole::getUserId, userId).select(SysUserRole::getRoleId)); + List existRoleIdList = existUserRoleList.stream().map(c->c.getRoleId()).collect(Collectors.toList()); + + //对角色进行分类 + List assginRoleList = new ArrayList<>(); + for (SysRole role : allRolesList) { + //已分配 + if(existRoleIdList.contains(role.getId())) { + assginRoleList.add(role); + } + } + + Map roleMap = new HashMap<>(); + roleMap.put("assginRoleList", assginRoleList); + roleMap.put("allRolesList", allRolesList); + return roleMap; + } + + @Transactional + @Override + public void doAssign(AssginRoleVo assginRoleVo) { + sysUserRoleMapper.delete(new LambdaQueryWrapper().eq(SysUserRole::getUserId, assginRoleVo.getUserId())); + + for(Long roleId : assginRoleVo.getRoleIdList()) { + if(null == roleId) continue; + SysUserRole userRole = new SysUserRole(); + userRole.setUserId(assginRoleVo.getUserId()); + userRole.setRoleId(roleId); + sysUserRoleMapper.insert(userRole); + } + } +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysUserServiceImpl.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysUserServiceImpl.java new file mode 100644 index 0000000..1e9bdfe --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/SysUserServiceImpl.java @@ -0,0 +1,73 @@ +package com.atguigu.daijia.system.service.impl; + +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.query.system.SysUserQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.model.vo.system.RouterVo; +import com.atguigu.daijia.system.mapper.SysUserMapper; +import com.atguigu.daijia.system.service.SysMenuService; +import com.atguigu.daijia.system.service.SysUserService; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; + +@Service +public class SysUserServiceImpl extends ServiceImpl implements SysUserService { + + @Autowired + private SysUserMapper sysUserMapper; + + @Autowired + private SysMenuService sysMenuService; + + @Override + public PageVo findPage(Page pageParam, SysUserQuery sysUserQuery) { + IPage pageInfo = sysUserMapper.selectPage(pageParam, sysUserQuery); + return new PageVo(pageInfo.getRecords(), pageInfo.getPages(), pageInfo.getTotal()); + } + + @Transactional + @Override + public void updateStatus(Long id, Integer status) { + SysUser sysUser = this.getById(id); + if(status.intValue() == 1) { + sysUser.setStatus(status); + } else { + sysUser.setStatus(0); + } + this.updateById(sysUser); + } + + @Override + public SysUser getByUsername(String username) { + return this.getOne(new LambdaQueryWrapper().eq(SysUser::getUsername, username)); + } + + @Override + public Map getUserInfo(Long userId) { + Map result = new HashMap<>(); + SysUser sysUser = this.getById(userId); + + //根据用户id获取菜单权限值 + List routerVoList = sysMenuService.findUserMenuList(sysUser.getId()); + //根据用户id获取用户按钮权限 + List permsList = sysMenuService.findUserPermsList(sysUser.getId()); + + result.put("name", sysUser.getName()); + result.put("avatar", "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif"); + //当前权限控制使用不到,我们暂时忽略 + result.put("roles", new HashSet<>()); + result.put("buttons", permsList); + result.put("routers", routerVoList); + return result; + } +} diff --git a/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/UserDetailsServiceImpl.java b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/UserDetailsServiceImpl.java new file mode 100644 index 0000000..2c08c94 --- /dev/null +++ b/service/service-system/src/main/java/com/atguigu/daijia/system/service/impl/UserDetailsServiceImpl.java @@ -0,0 +1,40 @@ +package com.atguigu.daijia.system.service.impl;//package com.atguigu.daijia.system.service.impl; +// +//import com.atguigu.daijia.model.system.SysUser; +//import com.atguigu.daijia.security.custom.CustomUser; +//import com.atguigu.daijia.system.service.SysMenuService; +//import com.atguigu.daijia.system.service.SysUserService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.security.core.userdetails.UserDetails; +//import org.springframework.security.core.userdetails.UserDetailsService; +//import org.springframework.security.core.userdetails.UsernameNotFoundException; +//import org.springframework.stereotype.Component; +// +//import java.util.List; +// +// +//@Component +//public class UserDetailsServiceImpl implements UserDetailsService { +// +// @Autowired +// private SysUserService sysUserService; +// +// @Autowired +// private SysMenuService sysMenuService; +// +// @Override +// public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { +// SysUser sysUser = sysUserService.getByUsername(username); +// if(null == sysUser) { +// throw new UsernameNotFoundException("用户名不存在!"); +// } +// +// if(!"admin".equals(sysUser.getUsername()) && sysUser.getStatus().intValue() == 0) { +// throw new RuntimeException("账号已停用"); +// } +// List userPermsList = sysMenuService.findUserPermsList(sysUser.getId()); +// sysUser.setUserPermsList(userPermsList); +// //List authorities = userPermsList.stream().filter(code -> StringUtils.hasText(code.trim())).map(code -> new SimpleGrantedAuthority(code.trim())).collect(Collectors.toList()); +// return new CustomUser(sysUser); +// } +//} \ No newline at end of file diff --git a/service/service-system/src/main/resources/bootstrap.properties b/service/service-system/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..6315d1f --- /dev/null +++ b/service/service-system/src/main/resources/bootstrap.properties @@ -0,0 +1,7 @@ +spring.application.name=service-system +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml \ No newline at end of file diff --git a/service/service-system/src/main/resources/file.conf b/service/service-system/src/main/resources/file.conf new file mode 100644 index 0000000..a2b5ad3 --- /dev/null +++ b/service/service-system/src/main/resources/file.conf @@ -0,0 +1,66 @@ +transport { + # tcp udt unix-domain-socket + type = "TCP" + #NIO NATIVE + server = "NIO" + #enable heartbeat + heartbeat = true + # the client batch send request enable + enableClientBatchSendRequest = true + #thread factory for netty + threadFactory { + bossThreadPrefix = "NettyBoss" + workerThreadPrefix = "NettyServerNIOWorker" + serverExecutorThread-prefix = "NettyServerBizHandler" + shareBossWorker = false + clientSelectorThreadPrefix = "NettyClientSelector" + clientSelectorThreadSize = 1 + clientWorkerThreadPrefix = "NettyClientWorkerThread" + # netty boss thread size,will not be used for UDT + bossThreadSize = 1 + #auto default pin or 8 + workerThreadSize = "default" + } + shutdown { + # when destroy server, wait seconds + wait = 3 + } + serialization = "seata" + compressor = "none" +} +service { + #transaction service group mapping + vgroupMapping.daijia_tx_group = "default" + #only support when registry.type=file, please don't set multiple addresses + default.grouplist = "127.0.0.1:8091" + #degrade, current not support + enableDegrade = false + #disable seata + disableGlobalTransaction = false +} + +client { + rm { + asyncCommitBufferLimit = 10000 + lock { + retryInterval = 10 + retryTimes = 30 + retryPolicyBranchRollbackOnConflict = true + } + reportRetryCount = 5 + tableMetaCheckEnable = false + reportSuccessEnable = false + } + tm { + commitRetryCount = 5 + rollbackRetryCount = 5 + } + undo { + dataValidation = true + logSerialization = "jackson" + logTable = "undo_log" + } + log { + exceptionRate = 100 + } +} \ No newline at end of file diff --git a/service/service-system/src/main/resources/mapper/SysLoginLogMapper.xml b/service/service-system/src/main/resources/mapper/SysLoginLogMapper.xml new file mode 100644 index 0000000..a0dd183 --- /dev/null +++ b/service/service-system/src/main/resources/mapper/SysLoginLogMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + id,username,ipaddr,status,msg,access_time,create_time,update_time,is_deleted + + + + + + and username = #{query.username} + + + and create_time >= #{query.createTimeBegin} + + + and create_time <= #{query.createTimeEnd} + + and is_deleted = 0 + + + + + + + diff --git a/service/service-system/src/main/resources/mapper/SysMenuMapper.xml b/service/service-system/src/main/resources/mapper/SysMenuMapper.xml new file mode 100644 index 0000000..d382749 --- /dev/null +++ b/service/service-system/src/main/resources/mapper/SysMenuMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + m.id,m.parent_id,m.name,m.type,m.path,m.component,m.perms,m.icon,m.sort_value,m.active_menu,m.is_hide,m.status,m.create_time,m.update_time,m.is_deleted + + + + + + + diff --git a/service/service-system/src/main/resources/mapper/SysOperLogMapper.xml b/service/service-system/src/main/resources/mapper/SysOperLogMapper.xml new file mode 100644 index 0000000..86abbb6 --- /dev/null +++ b/service/service-system/src/main/resources/mapper/SysOperLogMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + id,title,business_type,method,request_method,operator_type,oper_name,dept_name,oper_url,oper_ip,oper_param,json_result,status,error_msg,oper_time,create_time,update_time,is_deleted + + + + + + and title like CONCAT('%',#{query.title},'%') + + + and oper_name like CONCAT('%',#{query.operName},'%') + + + and create_time >= #{query.createTimeBegin} + + + and create_time <= #{query.createTimeEnd} + + and is_deleted = 0 + + + + + + + diff --git a/service/service-system/src/main/resources/mapper/SysPostMapper.xml b/service/service-system/src/main/resources/mapper/SysPostMapper.xml new file mode 100644 index 0000000..a0e1ae8 --- /dev/null +++ b/service/service-system/src/main/resources/mapper/SysPostMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + id,post_code,name,description,status,create_time,update_time,is_deleted + + + + + + and post_code = #{query.postCode} + + + and name = #{query.name} + + + and status = #{query.status} + + and is_deleted = 0 + + + + + + + diff --git a/service/service-system/src/main/resources/mapper/SysRoleMapper.xml b/service/service-system/src/main/resources/mapper/SysRoleMapper.xml new file mode 100644 index 0000000..c5ce617 --- /dev/null +++ b/service/service-system/src/main/resources/mapper/SysRoleMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + id,role_name,role_code,description,create_time,update_time,is_deleted + + + + + + diff --git a/service/service-system/src/main/resources/mapper/SysUserMapper.xml b/service/service-system/src/main/resources/mapper/SysUserMapper.xml new file mode 100644 index 0000000..d46bdb2 --- /dev/null +++ b/service/service-system/src/main/resources/mapper/SysUserMapper.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,username,password,name,phone,head_url,post_id,dept_id,description,status,create_time,update_time,is_deleted + + + + + + diff --git a/service/service-system/src/main/resources/registry.conf b/service/service-system/src/main/resources/registry.conf new file mode 100644 index 0000000..ce19218 --- /dev/null +++ b/service/service-system/src/main/resources/registry.conf @@ -0,0 +1,89 @@ +registry { + # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa + type = "file" + + nacos { + application = "seata-server" + serverAddr = "127.0.0.1:8848" + group = "SEATA_GROUP" + namespace = "" + cluster = "default" + username = "nacos" + password = "nacos" + } + eureka { + serviceUrl = "http://localhost:8761/eureka" + application = "default" + weight = "1" + } + redis { + serverAddr = "localhost:6379" + db = 0 + password = "" + cluster = "default" + timeout = 0 + } + zk { + cluster = "default" + serverAddr = "127.0.0.1:2181" + sessionTimeout = 6000 + connectTimeout = 2000 + username = "" + password = "" + } + consul { + cluster = "default" + serverAddr = "127.0.0.1:8500" + } + etcd3 { + cluster = "default" + serverAddr = "http://localhost:2379" + } + sofa { + serverAddr = "127.0.0.1:9603" + application = "default" + region = "DEFAULT_ZONE" + datacenter = "DefaultDataCenter" + cluster = "default" + group = "SEATA_GROUP" + addressWaitTime = "3000" + } + file { + name = "file.conf" + } +} + +config { + # file、nacos 、apollo、zk、consul、etcd3 + type = "file" + + nacos { + serverAddr = "127.0.0.1:8848" + namespace = "" + group = "SEATA_GROUP" + username = "nacos" + password = "nacos" + dataId = "seataServer.properties" + } + consul { + serverAddr = "127.0.0.1:8500" + } + apollo { + appId = "seata-server" + apolloMeta = "http://192.168.1.204:8801" + namespace = "application" + } + zk { + serverAddr = "127.0.0.1:2181" + sessionTimeout = 6000 + connectTimeout = 2000 + username = "" + password = "" + } + etcd3 { + serverAddr = "http://localhost:2379" + } + file { + name = "file.conf" + } +} diff --git a/web/pom.xml b/web/pom.xml new file mode 100644 index 0000000..53218b5 --- /dev/null +++ b/web/pom.xml @@ -0,0 +1,124 @@ + + + 4.0.0 + + + com.atguigu.daijia + daijia-parent + 1.0 + + + + web-customer + web-driver + web-mgr + + + web + pom + 1.0 + + + + com.atguigu.daijia + service-util + 1.0 + + + com.atguigu.daijia + common-log + 1.0 + + + com.atguigu.daijia + service-system-client + 1.0 + + + com.atguigu.daijia + service-coupon-client + 1.0 + + + com.atguigu.daijia + service-driver-client + 1.0 + + + com.atguigu.daijia + service-order-client + 1.0 + + + com.atguigu.daijia + service-customer-client + 1.0 + + + com.atguigu.daijia + service-map-client + 1.0 + + + com.atguigu.daijia + service-rules-client + 1.0 + + + com.atguigu.daijia + service-dispatch-client + 1.0 + + + com.atguigu.daijia + service-payment-client + 1.0 + + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + org.springframework.cloud + spring-cloud-starter-bootstrap + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-test + test + + + + diff --git a/web/web-customer/pom.xml b/web/web-customer/pom.xml new file mode 100644 index 0000000..e33434b --- /dev/null +++ b/web/web-customer/pom.xml @@ -0,0 +1,37 @@ + + + 4.0.0 + + com.atguigu.daijia + web + 1.0 + + + web-customer + 1.0 + + jar + web-customer + web-customer + + + + com.atguigu.daijia + rabbit-util + 1.0 + + + + + + web-customer + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/WebCustomerApplication.java b/web/web-customer/src/main/java/com/atguigu/daijia/WebCustomerApplication.java new file mode 100644 index 0000000..a9e29e2 --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/WebCustomerApplication.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)//取消数据源自动配置 +@EnableDiscoveryClient +@EnableFeignClients +public class WebCustomerApplication { + + public static void main(String[] args) { + SpringApplication.run(WebCustomerApplication.class, args); + } + + +} diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/CouponController.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/CouponController.java new file mode 100644 index 0000000..5a2a2d8 --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/CouponController.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.customer.controller; + +import com.atguigu.daijia.customer.service.CouponService; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Tag(name = "优惠券活动接口管理") +@RestController +@RequestMapping(value="/coupon") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CouponController { + + +} + diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/CustomerController.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/CustomerController.java new file mode 100644 index 0000000..ca2d490 --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/CustomerController.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia.customer.controller; + +import com.atguigu.daijia.customer.service.CustomerService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "客户API接口管理") +@RestController +@RequestMapping("/customer") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CustomerController { + +} + diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/OrderController.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/OrderController.java new file mode 100644 index 0000000..fec9c63 --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/controller/OrderController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.customer.controller; + +import com.atguigu.daijia.customer.service.OrderService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "订单API接口管理") +@RestController +@RequestMapping("/order") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderController { + + +} + diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/CouponService.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/CouponService.java new file mode 100644 index 0000000..b492355 --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/CouponService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.customer.service; + +public interface CouponService { + + +} diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/CustomerService.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/CustomerService.java new file mode 100644 index 0000000..ab812ce --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/CustomerService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.customer.service; + +public interface CustomerService { + + +} diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/OrderService.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/OrderService.java new file mode 100644 index 0000000..616b42e --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/OrderService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.customer.service; + +public interface OrderService { + +} diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CouponServiceImpl.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CouponServiceImpl.java new file mode 100644 index 0000000..4578fc9 --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CouponServiceImpl.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.customer.service.impl; + +import com.atguigu.daijia.coupon.client.CouponFeignClient; +import com.atguigu.daijia.customer.service.CouponService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CouponServiceImpl implements CouponService { + + + +} diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CustomerServiceImpl.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CustomerServiceImpl.java new file mode 100644 index 0000000..6d6d7d9 --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/CustomerServiceImpl.java @@ -0,0 +1,16 @@ +package com.atguigu.daijia.customer.service.impl; + +import com.atguigu.daijia.customer.client.CustomerInfoFeignClient; +import com.atguigu.daijia.customer.service.CustomerService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CustomerServiceImpl implements CustomerService { + + + +} diff --git a/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/OrderServiceImpl.java b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/OrderServiceImpl.java new file mode 100644 index 0000000..4d5829a --- /dev/null +++ b/web/web-customer/src/main/java/com/atguigu/daijia/customer/service/impl/OrderServiceImpl.java @@ -0,0 +1,12 @@ +package com.atguigu.daijia.customer.service.impl; + +import com.atguigu.daijia.customer.service.OrderService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderServiceImpl implements OrderService { + +} diff --git a/web/web-customer/src/main/resources/bootstrap.properties b/web/web-customer/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..39f17c0 --- /dev/null +++ b/web/web-customer/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=web-customer +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/web/web-driver/pom.xml b/web/web-driver/pom.xml new file mode 100644 index 0000000..5d42b18 --- /dev/null +++ b/web/web-driver/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + com.atguigu.daijia + web + 1.0 + + + web-driver + 1.0 + + jar + web-driver + web-driver + + + + com.tencentcloudapi + tencentcloud-sdk-java-ocr + 3.1.829 + + + com.qcloud + cos_api + 5.6.155 + + + io.minio + minio + + + + + web-driver + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/WebDriverApplication.java b/web/web-driver/src/main/java/com/atguigu/daijia/WebDriverApplication.java new file mode 100644 index 0000000..890e37d --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/WebDriverApplication.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)//取消数据源自动配置 +@EnableDiscoveryClient +@EnableFeignClients +public class WebDriverApplication { + + public static void main(String[] args) { + SpringApplication.run(WebDriverApplication.class, args); + } + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/CosController.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/CosController.java new file mode 100644 index 0000000..adbd595 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/CosController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.CosService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "腾讯云cos上传接口管理") +@RestController +@RequestMapping(value="/cos") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CosController { + + +} + diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverController.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverController.java new file mode 100644 index 0000000..2274f6d --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/DriverController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.DriverService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "司机API接口管理") +@RestController +@RequestMapping(value="/driver") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class DriverController { + + +} + diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/FileController.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/FileController.java new file mode 100644 index 0000000..21c2688 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/FileController.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.FileService; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Tag(name = "上传管理接口") +@RestController +@RequestMapping("file") +public class FileController { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/LocationController.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/LocationController.java new file mode 100644 index 0000000..2aec6dc --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/LocationController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.LocationService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "位置API接口管理") +@RestController +@RequestMapping(value="/location") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class LocationController { + + +} + diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/MonitorController.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/MonitorController.java new file mode 100644 index 0000000..50be846 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/MonitorController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.MonitorService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "监控接口管理") +@RestController +@RequestMapping(value="/monitor") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class MonitorController { + + +} + diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/OcrController.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/OcrController.java new file mode 100644 index 0000000..23660e1 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/OcrController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.OcrService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "腾讯云识别接口管理") +@RestController +@RequestMapping(value="/ocr") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OcrController { + + +} + diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/OrderController.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/OrderController.java new file mode 100644 index 0000000..b19bec7 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/controller/OrderController.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.driver.controller; + +import com.atguigu.daijia.driver.service.OrderService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "订单API接口管理") +@RestController +@RequestMapping("/order") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderController { + + +} + diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/CosService.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/CosService.java new file mode 100644 index 0000000..fef6748 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/CosService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.driver.service; + +public interface CosService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/DriverService.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/DriverService.java new file mode 100644 index 0000000..85b5db9 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/DriverService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.driver.service; + +public interface DriverService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/FileService.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/FileService.java new file mode 100644 index 0000000..9295e79 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/FileService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.driver.service; + +public interface FileService { + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/LocationService.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/LocationService.java new file mode 100644 index 0000000..4e1078b --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/LocationService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.driver.service; + +public interface LocationService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/MonitorService.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/MonitorService.java new file mode 100644 index 0000000..88e9be9 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/MonitorService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.driver.service; + +public interface MonitorService { + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/OcrService.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/OcrService.java new file mode 100644 index 0000000..33de516 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/OcrService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.driver.service; + +public interface OcrService { + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/OrderService.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/OrderService.java new file mode 100644 index 0000000..9daa424 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/OrderService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.driver.service; + +public interface OrderService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CosServiceImpl.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CosServiceImpl.java new file mode 100644 index 0000000..d946528 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/CosServiceImpl.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.CosService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CosServiceImpl implements CosService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverServiceImpl.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverServiceImpl.java new file mode 100644 index 0000000..2bc64f4 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/DriverServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.client.DriverInfoFeignClient; +import com.atguigu.daijia.driver.service.DriverService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class DriverServiceImpl implements DriverService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/FileServiceImpl.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/FileServiceImpl.java new file mode 100644 index 0000000..0f9287b --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/FileServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.FileService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class FileServiceImpl implements FileService { + + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/LocationServiceImpl.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/LocationServiceImpl.java new file mode 100644 index 0000000..f05e80b --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/LocationServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.LocationService; +import com.atguigu.daijia.map.client.LocationFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class LocationServiceImpl implements LocationService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/MonitorServiceImpl.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/MonitorServiceImpl.java new file mode 100644 index 0000000..245cd44 --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/MonitorServiceImpl.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.MonitorService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class MonitorServiceImpl implements MonitorService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OcrServiceImpl.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OcrServiceImpl.java new file mode 100644 index 0000000..4932d6e --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OcrServiceImpl.java @@ -0,0 +1,13 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.OcrService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OcrServiceImpl implements OcrService { + + +} diff --git a/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OrderServiceImpl.java b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OrderServiceImpl.java new file mode 100644 index 0000000..3f60f1e --- /dev/null +++ b/web/web-driver/src/main/java/com/atguigu/daijia/driver/service/impl/OrderServiceImpl.java @@ -0,0 +1,15 @@ +package com.atguigu.daijia.driver.service.impl; + +import com.atguigu.daijia.driver.service.OrderService; +import com.atguigu.daijia.order.client.OrderInfoFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderServiceImpl implements OrderService { + + +} diff --git a/web/web-driver/src/main/resources/bootstrap.properties b/web/web-driver/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..3a2ee84 --- /dev/null +++ b/web/web-driver/src/main/resources/bootstrap.properties @@ -0,0 +1,8 @@ +spring.application.name=web-driver +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml +spring.cloud.nacos.config.shared-configs[0].data-id=common-account.yaml \ No newline at end of file diff --git a/web/web-mgr/pom.xml b/web/web-mgr/pom.xml new file mode 100644 index 0000000..f766e39 --- /dev/null +++ b/web/web-mgr/pom.xml @@ -0,0 +1,38 @@ + + + 4.0.0 + + + com.atguigu.daijia + web + 1.0 + + + web-mgr + 1.0 + + jar + web-mgr + web-mgr + + + + com.atguigu.daijia + spring-security + 1.0 + + + + + + web-mgr + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/WebMgrApplication.java b/web/web-mgr/src/main/java/com/atguigu/daijia/WebMgrApplication.java new file mode 100644 index 0000000..c835536 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/WebMgrApplication.java @@ -0,0 +1,18 @@ +package com.atguigu.daijia; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)//取消数据源自动配置 +@EnableDiscoveryClient +@EnableFeignClients +public class WebMgrApplication { + + public static void main(String[] args) { + SpringApplication.run(WebMgrApplication.class, args); + } + +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/CustomerInfoController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/CustomerInfoController.java new file mode 100644 index 0000000..a4de94d --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/CustomerInfoController.java @@ -0,0 +1,21 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.mgr.service.CustomerInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/customer/info") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CustomerInfoController { + + @Autowired + private CustomerInfoService customerInfoService; + + + +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/DriverInfoController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/DriverInfoController.java new file mode 100644 index 0000000..32ed798 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/DriverInfoController.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.mgr.service.DriverInfoService; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@Tag(name = "司机API接口管理") +@RestController +@RequestMapping(value="/driver/info") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class DriverInfoController { + + @Autowired + private DriverInfoService driverInfoService; + + + +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/OrderInfoController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/OrderInfoController.java new file mode 100644 index 0000000..4f5a11b --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/OrderInfoController.java @@ -0,0 +1,21 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.mgr.service.OrderInfoService; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Tag(name = "位置API接口管理") +@RestController +@RequestMapping(value="/order/info") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderInfoController { + + @Autowired + private OrderInfoService orderInfoService; + + +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SecurityLoginController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SecurityLoginController.java new file mode 100644 index 0000000..2df559e --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SecurityLoginController.java @@ -0,0 +1,41 @@ +package com.atguigu.daijia.mgr.controller; + +import com.alibaba.fastjson.JSON; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.util.AuthContextHolder; +import com.atguigu.daijia.model.form.system.LoginForm; +import com.atguigu.daijia.system.client.SecurityLoginFeignClient; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@Slf4j +@Tag(name = "security登录管理") +@RestController +@RequestMapping(value="/securityLogin") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SecurityLoginController { + + @Resource + private SecurityLoginFeignClient securityLoginFeignClient; + + @Operation(summary = "模拟登录") + @PostMapping("login") + public Result login(@RequestBody LoginForm loginForm) { + log.info(JSON.toJSONString(loginForm)); + return Result.ok(); + } + + @Operation(summary = "获取用户信息") + @GetMapping("getUserInfo") + public Result> getUserInfo() { + Long userId = AuthContextHolder.getUserId(); + Map map = securityLoginFeignClient.getUserInfo(userId).getData(); + return Result.ok(map); + } +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysDeptController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysDeptController.java new file mode 100644 index 0000000..8b200f7 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysDeptController.java @@ -0,0 +1,80 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.common.annotation.Log; +import com.atguigu.daijia.common.enums.BusinessType; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.mgr.service.SysDeptService; +import com.atguigu.daijia.model.entity.system.SysDept; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +@Tag(name = "部门管理") +@RestController +@RequestMapping(value="/sysDept") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysDeptController { + + @Autowired + private SysDeptService sysDeptService; + + @Operation(summary = "获取") + @PreAuthorize("hasAuthority('bnt.sysDept.list')") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysDept sysDept = sysDeptService.getById(id); + return Result.ok(sysDept); + } + + @Log(title = "部门管理", businessType = BusinessType.INSERT) + @Operation(summary = "新增") + @PreAuthorize("hasAuthority('bnt.sysDept.add')") + @PostMapping("save") + public Result save(@RequestBody SysDept sysDept) { + sysDeptService.save(sysDept); + return Result.ok(); + } + + @Log(title = "部门管理", businessType = BusinessType.UPDATE) + @Operation(summary = "修改") + @PreAuthorize("hasAuthority('bnt.sysDept.update')") + @PutMapping("update") + public Result update(@RequestBody SysDept sysDept) { + sysDeptService.update(sysDept); + return Result.ok(); + } + + @Log(title = "部门管理", businessType = BusinessType.DELETE) + @Operation(summary = "删除") + @PreAuthorize("hasAuthority('bnt.sysDept.remove')") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + sysDeptService.remove(id); + return Result.ok(); + } + + @Operation(summary = "获取全部部门节点") + @PreAuthorize("hasAuthority('bnt.sysDept.list')") + @GetMapping("findNodes") + public Result findNodes() { + return Result.ok(sysDeptService.findNodes()); + } + + @Operation(summary = "获取用户部门节点") + @GetMapping("findUserNodes") + public Result findUserNodes() { + return Result.ok(sysDeptService.findUserNodes()); + } + + @Log(title = "部门管理", businessType = BusinessType.STATUS) + @Operation(summary = "更新状态") + @GetMapping("updateStatus/{id}/{status}") + public Result updateStatus(@PathVariable Long id, @PathVariable Integer status) { + sysDeptService.updateStatus(id, status); + return Result.ok(); + } + +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysLoginLogController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysLoginLogController.java new file mode 100644 index 0000000..c6cb309 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysLoginLogController.java @@ -0,0 +1,56 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.mgr.service.SysLoginLogService; +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.query.system.SysLoginLogQuery; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + +/** + * + * @author qy + * + */ +@Tag(name = "系统登录日志管理") +@RestController +@RequestMapping(value="/sysLoginLog") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysLoginLogController { + + @Resource + private SysLoginLogService sysLoginLogService; + + @Operation(summary = "获取分页列表") + @PostMapping("{page}/{limit}") + public Result findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "sysLoginLogVo", description = "查询对象", required = false) + @RequestBody SysLoginLogQuery sysLoginLogQuery) { + return Result.ok(sysLoginLogService.findPage(page, limit, sysLoginLogQuery)); + } + + @Operation(summary = "获取") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysLoginLog sysLoginLog = sysLoginLogService.getById(id); + return Result.ok(sysLoginLog); + } + + @Operation(summary = "记录登录日志") + @PostMapping("recordLoginLog") + public Result recordLoginLog(@RequestBody SysLoginLog sysLoginLog) { + sysLoginLogService.recordLoginLog(sysLoginLog); + return Result.ok(); + } + +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysMenuController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysMenuController.java new file mode 100644 index 0000000..1eeed7d --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysMenuController.java @@ -0,0 +1,77 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.common.annotation.Log; +import com.atguigu.daijia.common.enums.BusinessType; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.mgr.service.SysMenuService; +import com.atguigu.daijia.model.entity.system.SysMenu; +import com.atguigu.daijia.model.vo.system.AssginMenuVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Tag(name = "菜单管理") +@RestController +@RequestMapping("/sysMenu") +public class SysMenuController { + + @Autowired + private SysMenuService sysMenuService; + + @PreAuthorize("hasAuthority('bnt.sysMenu.list')") + @Operation(summary = "获取菜单") + @GetMapping("findNodes") + public Result findNodes() { + List list = sysMenuService.findNodes(); + return Result.ok(list); + } + + @Log(title = "菜单管理", businessType = BusinessType.INSERT) + @PreAuthorize("hasAuthority('bnt.sysMenu.add')") + @Operation(summary = "新增菜单") + @PostMapping("save") + public Result save(@RequestBody SysMenu permission) { + sysMenuService.save(permission); + return Result.ok(); + } + + @Log(title = "菜单管理", businessType = BusinessType.UPDATE) + @PreAuthorize("hasAuthority('bnt.sysMenu.update')") + @Operation(summary = "修改菜单") + @PutMapping("update") + public Result update(@RequestBody SysMenu permission) { + sysMenuService.update(permission); + return Result.ok(); + } + + @Log(title = "菜单管理", businessType = BusinessType.DELETE) + @PreAuthorize("hasAuthority('bnt.sysMenu.remove')") + @Operation(summary = "删除菜单") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + sysMenuService.remove(id); + return Result.ok(); + } + + @PreAuthorize("hasAuthority('bnt.sysRole.assignAuth')") + @Operation(summary = "根据角色获取菜单") + @GetMapping("toAssign/{roleId}") + public Result toAssign(@PathVariable Long roleId) { + List list = sysMenuService.toAssign(roleId); + return Result.ok(list); + } + + @Log(title = "角色管理", businessType = BusinessType.ASSGIN) + @PreAuthorize("hasAuthority('bnt.sysRole.assignAuth')") + @Operation(summary = "给角色分配权限") + @PostMapping("/doAssign") + public Result doAssign(@RequestBody AssginMenuVo assginMenuVo) { + sysMenuService.doAssign(assginMenuVo); + return Result.ok(); + } +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysOperLogController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysOperLogController.java new file mode 100644 index 0000000..35f2460 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysOperLogController.java @@ -0,0 +1,59 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.util.AuthContextHolder; +import com.atguigu.daijia.mgr.service.SysOperLogService; +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.model.query.system.SysOperLogQuery; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + + +/** + * + * @author qy + * + */ +@Tag(name = "系统操作日志管理") +@RestController +@RequestMapping(value="/sysOperLog") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysOperLogController { + + @Resource + private SysOperLogService sysOperLogService; + + @Operation(summary = "获取分页列表") + @PostMapping("{page}/{limit}") + public Result findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "sysOperLogVo", description = "查询对象", required = false) + @RequestBody SysOperLogQuery sysOperLogQuery) { + return Result.ok(sysOperLogService.findPage(page, limit, sysOperLogQuery)); + } + + @Operation(summary = "获取") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysOperLog sysOperLog = sysOperLogService.getById(id); + return Result.ok(sysOperLog); + } + + @Operation(summary = "记录日志") + @PostMapping("saveSysLog") + public Result saveSysLog(@RequestBody SysOperLog sysOperLog) { + sysOperLog.setOperName(AuthContextHolder.getUserId()+""); + sysOperLogService.saveSysLog(sysOperLog); + return Result.ok(); + } + +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysPostController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysPostController.java new file mode 100644 index 0000000..9294d92 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysPostController.java @@ -0,0 +1,88 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.common.annotation.Log; +import com.atguigu.daijia.common.enums.BusinessType; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.mgr.service.SysPostService; +import com.atguigu.daijia.model.entity.system.SysPost; +import com.atguigu.daijia.model.query.system.SysPostQuery; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +@Tag(name = "岗位管理") +@RestController +@RequestMapping(value="/sysPost") +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysPostController { + + @Resource + private SysPostService sysPostService; + + @Operation(summary = "获取分页列表") + @PreAuthorize("hasAuthority('bnt.sysPost.list')") + @PostMapping("{page}/{limit}") + public Result findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "sysPostVo", description = "查询对象", required = false) + @RequestBody SysPostQuery sysPostQuery) { + return Result.ok(sysPostService.findPage(page, limit, sysPostQuery)); + } + + @Operation(summary = "获取") + @PreAuthorize("hasAuthority('bnt.sysPost.list')") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysPost sysPost = sysPostService.getById(id); + return Result.ok(sysPost); + } + + @GetMapping("findAll") + public Result findAll() { + return Result.ok(sysPostService.findAll()); + } + + @Log(title = "岗位管理", businessType = BusinessType.INSERT) + @Operation(summary = "新增") + @PreAuthorize("hasAuthority('bnt.sysPost.add')") + @PostMapping("save") + public Result save(@RequestBody SysPost sysPost) { + sysPostService.save(sysPost); + return Result.ok(); + } + + @Log(title = "岗位管理", businessType = BusinessType.UPDATE) + @Operation(summary = "修改") + @PreAuthorize("hasAuthority('bnt.sysPost.update')") + @PutMapping("update") + public Result update(@RequestBody SysPost sysPost) { + sysPostService.update(sysPost); + return Result.ok(); + } + + @Log(title = "岗位管理", businessType = BusinessType.DELETE) + @Operation(summary = "删除") + @PreAuthorize("hasAuthority('bnt.sysPost.remove')") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + sysPostService.remove(id); + return Result.ok(); + } + + @Operation(summary = "更新状态") + @GetMapping("updateStatus/{id}/{status}") + public Result updateStatus(@PathVariable Long id, @PathVariable Integer status) { + sysPostService.updateStatus(id, status); + return Result.ok(); + } + +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysRoleController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysRoleController.java new file mode 100644 index 0000000..e2be97b --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysRoleController.java @@ -0,0 +1,114 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.common.annotation.Log; +import com.atguigu.daijia.common.enums.BusinessType; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.mgr.service.SysRoleService; +import com.atguigu.daijia.model.entity.system.SysRole; +import com.atguigu.daijia.model.query.system.SysRoleQuery; +import com.atguigu.daijia.model.vo.system.AssginRoleVo; +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.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@Slf4j +@Tag(name = "角色管理") +@RestController +@RequestMapping("/sysRole") +public class SysRoleController { + + @Autowired + private SysRoleService sysRoleService; + + @Operation(summary = "获取全部角色列表") + @GetMapping("findAll") + public Result> findAll() { + List roleList = sysRoleService.findAll(); + return Result.ok(roleList); + } + + @PreAuthorize("hasAuthority('bnt.sysRole.list')") + @Operation(summary = "获取分页列表") + @PostMapping("{page}/{limit}") + public Result findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "roleQuery", description = "查询对象", required = false) + @RequestBody SysRoleQuery roleQuery) { + return Result.ok(sysRoleService.findPage(page,limit, roleQuery)); + } + + @PreAuthorize("hasAuthority('bnt.sysRole.list')") + @Operation(summary = "获取") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysRole role = sysRoleService.getById(id); + return Result.ok(role); + } + + @Log(title = "角色管理", businessType = BusinessType.INSERT) + @PreAuthorize("hasAuthority('bnt.sysRole.add')") + @Operation(summary = "新增角色") + @PostMapping("save") + public Result save(@RequestBody @Validated SysRole role) { + sysRoleService.save(role); + return Result.ok(); + } + + @Log(title = "角色管理", businessType = BusinessType.UPDATE) + @PreAuthorize("hasAuthority('bnt.sysRole.update')") + @Operation(summary = "修改角色") + @PutMapping("update") + public Result update(@RequestBody SysRole role) { + sysRoleService.update(role); + return Result.ok(); + } + + @Log(title = "角色管理", businessType = BusinessType.DELETE) + @PreAuthorize("hasAuthority('bnt.sysRole.remove')") + @Operation(summary = "删除角色") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + sysRoleService.remove(id); + return Result.ok(); + } + + @Log(title = "角色管理", businessType = BusinessType.DELETE) + @PreAuthorize("hasAuthority('bnt.sysRole.remove')") + @Operation(summary = "根据id列表删除") + @DeleteMapping("batchRemove") + public Result batchRemove(@RequestBody List idList) { + sysRoleService.batchRemove(idList); + return Result.ok(); + } + + @Operation(summary = "根据用户获取角色数据") + @GetMapping("/toAssign/{userId}") + public Result toAssign(@PathVariable Long userId) { + Map roleMap = sysRoleService.toAssign(userId); + return Result.ok(roleMap); + } + + @Log(title = "用户管理", businessType = BusinessType.ASSGIN) + @Operation(summary = "根据用户分配角色") + @PostMapping("/doAssign") + public Result doAssign(@RequestBody AssginRoleVo assginRoleVo) { + sysRoleService.doAssign(assginRoleVo); + return Result.ok(); + } + + +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysUserController.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysUserController.java new file mode 100644 index 0000000..8204de6 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/controller/SysUserController.java @@ -0,0 +1,87 @@ +package com.atguigu.daijia.mgr.controller; + +import com.atguigu.daijia.common.annotation.Log; +import com.atguigu.daijia.common.enums.BusinessType; +import com.atguigu.daijia.common.result.Result; +import com.atguigu.daijia.common.util.MD5; +import com.atguigu.daijia.mgr.service.SysUserService; +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.query.system.SysUserQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + + +@Tag(name = "用户管理") +@RestController +@RequestMapping("/sysUser") +@CrossOrigin +public class SysUserController { + + @Autowired + private SysUserService sysUserService; + + @Operation(summary = "获取分页列表") + @PreAuthorize("hasAuthority('bnt.sysUser.list')") + @PostMapping("{page}/{limit}") + public Result> findPage( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Long page, + + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Long limit, + + @Parameter(name = "userQuery", description = "查询对象", required = false) + @RequestBody SysUserQuery sysUserQuery) { + return Result.ok(sysUserService.findPage(page, limit, sysUserQuery)); + } + + @Operation(summary = "获取用户") + @PreAuthorize("hasAuthority('bnt.sysUser.list')") + @GetMapping("getById/{id}") + public Result getById(@PathVariable Long id) { + SysUser sysUser = sysUserService.getById(id); + return Result.ok(sysUser); + } + + @Log(title = "用户管理", businessType = BusinessType.INSERT) + @Operation(summary = "保存用户") + @PreAuthorize("hasAuthority('bnt.sysUser.add')") + @PostMapping("save") + public Result save(@RequestBody SysUser sysUser) { + sysUser.setPassword(MD5.encrypt(sysUser.getPassword())); + sysUserService.save(sysUser); + return Result.ok(); + } + + @Log(title = "用户管理", businessType = BusinessType.UPDATE) + @Operation(summary = "更新用户") + @PreAuthorize("hasAuthority('bnt.sysUser.update')") + @PutMapping("update") + public Result update(@RequestBody SysUser sysUser) { + sysUserService.update(sysUser); + return Result.ok(); + } + + @Log(title = "用户管理", businessType = BusinessType.DELETE) + @Operation(summary = "删除用户") + @PreAuthorize("hasAuthority('bnt.sysUser.remove')") + @DeleteMapping("remove/{id}") + public Result remove(@PathVariable Long id) { + sysUserService.remove(id); + return Result.ok(); + } + + @Log(title = "用户管理", businessType = BusinessType.STATUS) + @Operation(summary = "更新状态") + @GetMapping("updateStatus/{id}/{status}") + public Result updateStatus(@PathVariable Long id, @PathVariable Integer status) { + sysUserService.updateStatus(id, status); + return Result.ok(); + } +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/CustomerInfoService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/CustomerInfoService.java new file mode 100644 index 0000000..fba6926 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/CustomerInfoService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.mgr.service; + +public interface CustomerInfoService { + +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/DriverInfoService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/DriverInfoService.java new file mode 100644 index 0000000..504e670 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/DriverInfoService.java @@ -0,0 +1,5 @@ +package com.atguigu.daijia.mgr.service; + +public interface DriverInfoService { + +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/OrderInfoService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/OrderInfoService.java new file mode 100644 index 0000000..8eca061 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/OrderInfoService.java @@ -0,0 +1,6 @@ +package com.atguigu.daijia.mgr.service; + +public interface OrderInfoService { + + +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysDeptService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysDeptService.java new file mode 100644 index 0000000..b7ee7cc --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysDeptService.java @@ -0,0 +1,22 @@ +package com.atguigu.daijia.mgr.service; + +import com.atguigu.daijia.model.entity.system.SysDept; + +import java.util.List; + +public interface SysDeptService { + + List findNodes(); + + List findUserNodes(); + + void updateStatus(Long id, Integer status); + + SysDept getById(Long id); + + void save(SysDept sysDept); + + void update(SysDept sysDept); + + void remove(Long id); +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysLoginLogService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysLoginLogService.java new file mode 100644 index 0000000..7e28204 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysLoginLogService.java @@ -0,0 +1,20 @@ +package com.atguigu.daijia.mgr.service; + +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.query.system.SysLoginLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; + +public interface SysLoginLogService { + + PageVo findPage(Long page, Long limit, SysLoginLogQuery sysLoginLogQuery); + + /** + * 记录登录信息 + * + * @param sysLoginLog + * @return + */ + void recordLoginLog(SysLoginLog sysLoginLog); + + SysLoginLog getById(Long id); +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysMenuService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysMenuService.java new file mode 100644 index 0000000..d5166d4 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysMenuService.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.mgr.service; + + +import com.atguigu.daijia.model.entity.system.SysMenu; +import com.atguigu.daijia.model.vo.system.AssginMenuVo; + +import java.util.List; + +public interface SysMenuService { + + void save(SysMenu sysMenu); + + void update(SysMenu sysMenu); + + void remove(Long id); + + /** + * 菜单树形数据 + * @return + */ + List findNodes(); + + + /** + * 保存角色权限 + * @param assginMenuVo + */ + void doAssign(AssginMenuVo assginMenuVo); + + + List toAssign(Long roleId); +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysOperLogService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysOperLogService.java new file mode 100644 index 0000000..3c871e5 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysOperLogService.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.mgr.service; + +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.model.query.system.SysOperLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; + +public interface SysOperLogService { + + PageVo findPage(Long page, Long limit, SysOperLogQuery sysOperLogQuery); + + /** + * 保存系统日志记录 + */ + void saveSysLog(SysOperLog sysOperLog); + + SysOperLog getById(Long id); +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysPostService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysPostService.java new file mode 100644 index 0000000..c0d6b51 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysPostService.java @@ -0,0 +1,24 @@ +package com.atguigu.daijia.mgr.service; + +import com.atguigu.daijia.model.entity.system.SysPost; +import com.atguigu.daijia.model.query.system.SysPostQuery; +import com.atguigu.daijia.model.vo.base.PageVo; + +import java.util.List; + +public interface SysPostService { + + SysPost getById(Long id); + + void save(SysPost sysPost); + + void update(SysPost sysPost); + + void remove(Long id); + + PageVo findPage(Long page, Long limit, SysPostQuery sysPostQuery); + + void updateStatus(Long id, Integer status); + + List findAll(); +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysRoleService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysRoleService.java new file mode 100644 index 0000000..60b4517 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysRoleService.java @@ -0,0 +1,31 @@ +package com.atguigu.daijia.mgr.service; + +import com.atguigu.daijia.model.entity.system.SysRole; +import com.atguigu.daijia.model.query.system.SysRoleQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.model.vo.system.AssginRoleVo; + +import java.util.List; +import java.util.Map; + +public interface SysRoleService { + + SysRole getById(Long id); + + void save(SysRole sysRole); + + void update(SysRole sysRole); + + void remove(Long id); + + PageVo findPage(Long page, Long limit, SysRoleQuery roleQuery); + + + void batchRemove(List idList); + + Map toAssign(Long userId); + + void doAssign(AssginRoleVo assginRoleVo); + + List findAll(); +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysUserService.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysUserService.java new file mode 100644 index 0000000..a3b9ee6 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/SysUserService.java @@ -0,0 +1,23 @@ +package com.atguigu.daijia.mgr.service; + + +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.query.system.SysUserQuery; +import com.atguigu.daijia.model.vo.base.PageVo; + +public interface SysUserService { + + SysUser getById(Long id); + + void save(SysUser sysUser); + + void update(SysUser sysUser); + + void remove(Long id); + + PageVo findPage(Long page, Long limit, SysUserQuery sysUserQuery); + + void updateStatus(Long id, Integer status); + + +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/CustomerInfoServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/CustomerInfoServiceImpl.java new file mode 100644 index 0000000..bd64ca5 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/CustomerInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.customer.client.CustomerInfoFeignClient; +import com.atguigu.daijia.mgr.service.CustomerInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class CustomerInfoServiceImpl implements CustomerInfoService { + + @Autowired + private CustomerInfoFeignClient customerInfoFeignClient; + + + +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/DriverInfoServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/DriverInfoServiceImpl.java new file mode 100644 index 0000000..f7c1540 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/DriverInfoServiceImpl.java @@ -0,0 +1,19 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.driver.client.DriverInfoFeignClient; +import com.atguigu.daijia.mgr.service.DriverInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class DriverInfoServiceImpl implements DriverInfoService { + + @Autowired + private DriverInfoFeignClient driverInfoFeignClient; + + + +} \ No newline at end of file diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/OrderInfoServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/OrderInfoServiceImpl.java new file mode 100644 index 0000000..7c97b38 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/OrderInfoServiceImpl.java @@ -0,0 +1,17 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.mgr.service.OrderInfoService; +import com.atguigu.daijia.order.client.OrderInfoFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class OrderInfoServiceImpl implements OrderInfoService { + + @Autowired + private OrderInfoFeignClient orderInfoFeignClient; + + + +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysDeptServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysDeptServiceImpl.java new file mode 100644 index 0000000..0e2811e --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysDeptServiceImpl.java @@ -0,0 +1,54 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.mgr.service.SysDeptService; +import com.atguigu.daijia.model.entity.system.SysDept; +import com.atguigu.daijia.system.client.SysDeptFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysDeptServiceImpl implements SysDeptService { + + @Autowired + private SysDeptFeignClient sysDeptFeignClient; + + + @Override + public List findNodes() { + return sysDeptFeignClient.findNodes().getData(); + } + + @Override + public List findUserNodes() { + return sysDeptFeignClient.findUserNodes().getData(); + } + + @Override + public void updateStatus(Long id, Integer status) { + sysDeptFeignClient.updateStatus(id, status); + } + + @Override + public SysDept getById(Long id) { + return sysDeptFeignClient.getById(id).getData(); + } + + @Override + public void save(SysDept sysDept) { + sysDeptFeignClient.save(sysDept); + } + + @Override + public void update(SysDept sysDept) { + sysDeptFeignClient.update(sysDept); + } + + @Override + public void remove(Long id) { + sysDeptFeignClient.remove(id); + } +} + diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysLoginLogServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysLoginLogServiceImpl.java new file mode 100644 index 0000000..ecc594e --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysLoginLogServiceImpl.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.mgr.service.SysLoginLogService; +import com.atguigu.daijia.model.entity.system.SysLoginLog; +import com.atguigu.daijia.model.query.system.SysLoginLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.client.SysLoginLogFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysLoginLogServiceImpl implements SysLoginLogService { + + @Autowired + private SysLoginLogFeignClient sysLoginLogFeignClient; + + @Override + public PageVo findPage(Long page, Long limit, SysLoginLogQuery sysLoginLogQuery) { + return sysLoginLogFeignClient.findPage(page, limit, sysLoginLogQuery).getData(); + } + + @Override + public void recordLoginLog(SysLoginLog sysLoginLog) { + sysLoginLogFeignClient.recordLoginLog(sysLoginLog); + } + + @Override + public SysLoginLog getById(Long id) { + return sysLoginLogFeignClient.getById(id).getData(); + } +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysMenuServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysMenuServiceImpl.java new file mode 100644 index 0000000..1468aff --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysMenuServiceImpl.java @@ -0,0 +1,47 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.mgr.service.SysMenuService; +import com.atguigu.daijia.model.entity.system.SysMenu; +import com.atguigu.daijia.model.vo.system.AssginMenuVo; +import com.atguigu.daijia.system.client.SysMenuFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class SysMenuServiceImpl implements SysMenuService { + + @Autowired + private SysMenuFeignClient sysMenuFeignClient; + + @Override + public void save(SysMenu sysMenu) { + sysMenuFeignClient.save(sysMenu); + } + + @Override + public void update(SysMenu sysMenu) { + sysMenuFeignClient.update(sysMenu); + } + + @Override + public void remove(Long id) { + sysMenuFeignClient.remove(id); + } + + @Override + public List findNodes() { + return sysMenuFeignClient.findNodes().getData(); + } + + @Override + public void doAssign(AssginMenuVo assginMenuVo) { + sysMenuFeignClient.doAssign(assginMenuVo); + } + + @Override + public List toAssign(Long roleId) { + return sysMenuFeignClient.toAssign(roleId).getData(); + } +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysOperLogServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysOperLogServiceImpl.java new file mode 100644 index 0000000..4052840 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysOperLogServiceImpl.java @@ -0,0 +1,32 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.mgr.service.SysOperLogService; +import com.atguigu.daijia.model.entity.system.SysOperLog; +import com.atguigu.daijia.model.query.system.SysOperLogQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.client.SysOperLogFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysOperLogServiceImpl implements SysOperLogService { + + @Autowired + private SysOperLogFeignClient sysOperLogFeignClient; + + @Override + public PageVo findPage(Long page, Long limit, SysOperLogQuery sysOperLogQuery) { + return sysOperLogFeignClient.findPage(page, limit, sysOperLogQuery).getData(); + } + + @Override + public void saveSysLog(SysOperLog sysOperLog) { + sysOperLogFeignClient.saveSysLog(sysOperLog); + } + + @Override + public SysOperLog getById(Long id) { + return sysOperLogFeignClient.getById(id).getData(); + } +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysPostServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysPostServiceImpl.java new file mode 100644 index 0000000..9dccf83 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysPostServiceImpl.java @@ -0,0 +1,54 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.mgr.service.SysPostService; +import com.atguigu.daijia.model.entity.system.SysPost; +import com.atguigu.daijia.model.query.system.SysPostQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.client.SysPostFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@SuppressWarnings({"unchecked", "rawtypes"}) +public class SysPostServiceImpl implements SysPostService { + + @Autowired + private SysPostFeignClient sysPostFeignClient; + + @Override + public SysPost getById(Long id) { + return sysPostFeignClient.getById(id).getData(); + } + + @Override + public void save(SysPost sysPost) { + sysPostFeignClient.save(sysPost); + } + + @Override + public void update(SysPost sysPost) { + sysPostFeignClient.update(sysPost); + } + + @Override + public void remove(Long id) { + sysPostFeignClient.remove(id); + } + + @Override + public PageVo findPage(Long page, Long limit, SysPostQuery sysPostQuery) { + return sysPostFeignClient.findPage(page, limit, sysPostQuery).getData(); + } + + @Override + public void updateStatus(Long id, Integer status) { + sysPostFeignClient.updateStatus(id, status); + } + + @Override + public List findAll() { + return sysPostFeignClient.findAll().getData(); + } +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysRoleServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysRoleServiceImpl.java new file mode 100644 index 0000000..b1a7420 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysRoleServiceImpl.java @@ -0,0 +1,65 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.mgr.service.SysRoleService; +import com.atguigu.daijia.model.entity.system.SysRole; +import com.atguigu.daijia.model.query.system.SysRoleQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.model.vo.system.AssginRoleVo; +import com.atguigu.daijia.system.client.SysRoleFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@Service +public class SysRoleServiceImpl implements SysRoleService { + + @Autowired + private SysRoleFeignClient sysRoleFeignClient; + + @Override + public SysRole getById(Long id) { + return sysRoleFeignClient.getById(id).getData(); + } + + @Override + public void save(SysRole sysRole) { + sysRoleFeignClient.save(sysRole); + } + + @Override + public void update(SysRole sysRole) { + sysRoleFeignClient.update(sysRole); + } + + @Override + public void remove(Long id) { + sysRoleFeignClient.remove(id); + } + + @Override + public PageVo findPage(Long page, Long limit, SysRoleQuery roleQuery) { + return sysRoleFeignClient.findPage(page,limit, roleQuery).getData(); + } + + @Override + public void batchRemove(List idList) { + sysRoleFeignClient.batchRemove(idList); + } + + @Override + public Map toAssign(Long userId) { + return sysRoleFeignClient.toAssign(userId).getData(); + } + + @Override + public void doAssign(AssginRoleVo assginRoleVo) { + sysRoleFeignClient.doAssign(assginRoleVo); + } + + @Override + public List findAll() { + return sysRoleFeignClient.findAll().getData(); + } +} diff --git a/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysUserServiceImpl.java b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysUserServiceImpl.java new file mode 100644 index 0000000..f0981c1 --- /dev/null +++ b/web/web-mgr/src/main/java/com/atguigu/daijia/mgr/service/impl/SysUserServiceImpl.java @@ -0,0 +1,47 @@ +package com.atguigu.daijia.mgr.service.impl; + +import com.atguigu.daijia.mgr.service.SysUserService; +import com.atguigu.daijia.model.entity.system.SysUser; +import com.atguigu.daijia.model.query.system.SysUserQuery; +import com.atguigu.daijia.model.vo.base.PageVo; +import com.atguigu.daijia.system.client.SysUserFeignClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class SysUserServiceImpl implements SysUserService { + + @Autowired + private SysUserFeignClient sysUserFeignClient; + + @Override + public SysUser getById(Long id) { + return sysUserFeignClient.getById(id).getData(); + } + + @Override + public void save(SysUser sysUser) { + sysUserFeignClient.save(sysUser); + } + + @Override + public void update(SysUser sysUser) { + sysUserFeignClient.update(sysUser); + } + + @Override + public void remove(Long id) { + sysUserFeignClient.remove(id); + } + + @Override + public PageVo findPage(Long page, Long limit, SysUserQuery sysUserQuery) { + return sysUserFeignClient.findPage(page, limit, sysUserQuery).getData(); + } + + @Override + public void updateStatus(Long id, Integer status) { + sysUserFeignClient.updateStatus(id, status); + } + +} diff --git a/web/web-mgr/src/main/resources/bootstrap.properties b/web/web-mgr/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..89ca5e3 --- /dev/null +++ b/web/web-mgr/src/main/resources/bootstrap.properties @@ -0,0 +1,7 @@ +spring.application.name=web-mgr +spring.profiles.active=dev +spring.main.allow-bean-definition-overriding=true +spring.cloud.nacos.discovery.server-addr=localhost:8848 +spring.cloud.nacos.config.server-addr=localhost:8848 +spring.cloud.nacos.config.prefix=${spring.application.name} +spring.cloud.nacos.config.file-extension=yaml \ No newline at end of file