From d83d5726cf4ead0f6fefbeb0dbd4d4669e5ec1c9 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Tue, 3 Dec 2024 09:05:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yxt/ordermall/OrdermallApplication.java | 24 + .../adminservice/AdminMallMapper.java | 20 + .../adminservice/AdminMallService.java | 22 + .../api/appletgiftbag/AppletGiftBag.java | 35 + .../appletgiftbag/AppletGiftBagDetailVo.java | 26 + .../api/appletgiftbag/AppletGiftBagDto.java | 30 + .../appletgiftbag/AppletGiftBagInitVo.java | 27 + .../api/appletgiftbag/AppletGiftBagQuery.java | 15 + .../api/appletgiftbag/AppletGiftBagVo.java | 45 + .../api/appletgiftbag/GiftBagGoods.java | 87 + .../api/appletgiftbag/GiftBagGoodss.java | 70 + .../ordermall/api/appletgiftbag/GoodsV.java | 16 + .../api/appletgiftbag/MyGoodsVo.java | 28 + .../api/appletgiftbag/RecommendRecord.java | 12 + .../AppletGiftBagGoods.java | 29 + .../AppletGiftBagGoodsDto.java | 14 + .../AppletGiftBagGoodsQuery.java | 15 + .../AppletGiftBagGoodsVo.java | 23 + .../api/appletnotice/AppletNotice.java | 34 + .../api/appletnotice/AppletNoticeDto.java | 32 + .../api/appletnotice/AppletNoticeQuery.java | 16 + .../api/appletnotice/AppletNoticeVo.java | 32 + .../api/approvalrecords/ApprovalRecords.java | 25 + .../approvalrecords/ApprovalRecordsDto.java | 22 + .../approvalrecords/ApprovalRecordsQuery.java | 15 + .../approvalrecords/ApprovalRecordsVo.java | 23 + .../CannotReserveDictionary.java | 26 + .../CannotReserveDictionaryDto.java | 23 + .../CannotReserveDictionaryQuery.java | 15 + .../CannotReserveDictionaryVo.java | 25 + .../api/customerinvoice/CustomerInvoice.java | 40 + .../customerinvoice/CustomerInvoiceDto.java | 29 + .../customerinvoice/CustomerInvoiceQuery.java | 14 + .../customerinvoice/CustomerInvoiceVo.java | 29 + .../api/customerstore/CustomerStore.java | 31 + .../api/customerstore/CustomerStoreDto.java | 28 + .../api/customerstore/CustomerStoreQuery.java | 15 + .../api/customerstore/CustomerStoreVo.java | 36 + .../ordermall/api/empcard/EmpAppletNewVo.java | 99 + .../ordermall/api/empcard/EmpAppletVo.java | 241 +++ .../yxt/ordermall/api/empcard/EmpCard.java | 38 + .../yxt/ordermall/api/empcard/EmpCardDto.java | 35 + .../ordermall/api/empcard/EmpCardExport.java | 23 + .../ordermall/api/empcard/EmpCardQuery.java | 20 + .../empcard/EmpCardStatisticsExportVo.java | 58 + .../yxt/ordermall/api/empcard/EmpCardVo.java | 35 + .../EmpCardBuildRecord.java | 31 + .../EmpCardBuildRecordDto.java | 30 + .../EmpCardBuildRecordQuery.java | 15 + .../EmpCardBuildRecordVo.java | 19 + .../api/empcardgift/EmpCardGift.java | 51 + .../api/empcardgift/EmpCardGiftDto.java | 43 + .../api/empcardgift/EmpCardGiftExport.java | 25 + .../api/empcardgift/EmpCardGiftListQuery.java | 18 + .../api/empcardgift/EmpCardGiftListVo.java | 8 + .../api/empcardgift/EmpCardGiftQuery.java | 39 + .../EmpCardGiftStatisticsQuery.java | 17 + .../empcardgift/EmpCardGiftStatisticsVo.java | 24 + .../api/empcardgift/EmpCardGiftVo.java | 48 + .../api/empcardgift/EmpCardGiftWordVo.java | 17 + .../api/empcardgift/EmpGiftAppletNVo.java | 100 + .../api/empcardgift/EmpGiftAppletVo.java | 170 ++ .../ordermall/api/empcardgift/GoodsVo.java | 21 + .../api/empcardgift/SaveVegetableVo.java | 17 + .../empcardgiftgoods/EmpCardGiftGoods.java | 26 + .../empcardgiftgoods/EmpCardGiftGoodsDto.java | 20 + .../EmpCardGiftGoodsQuery.java | 15 + .../empcardgiftgoods/EmpCardGiftGoodsVo.java | 27 + .../api/empcardgiftgoods/EmpCardGoodsVo.java | 20 + .../api/empcardgrantlog/EmpCardGrantLog.java | 25 + .../empcardgrantlog/EmpCardGrantLogDto.java | 30 + .../empcardgrantlog/EmpCardGrantLogQuery.java | 15 + .../empcardgrantlog/EmpCardGrantLogVo.java | 30 + .../api/empreserveorder/EmpReserveOrder.java | 31 + .../EmpReserveOrderCardVo.java | 47 + .../empreserveorder/EmpReserveOrderDto.java | 26 + .../empreserveorder/EmpReserveOrderQuery.java | 18 + .../empreserveorder/EmpReserveOrderVo.java | 29 + .../ordermall/api/empreserveorder/Goods.java | 14 + .../api/empreserveorder/OrderGoodsVo.java | 15 + .../empreserveorder/ReserveOrderExport.java | 28 + .../ReserveOrderExportByStore.java | 20 + .../EmpReserveOrderGoods.java | 26 + .../EmpReserveOrderGoodsDto.java | 14 + .../EmpReserveOrderGoodsQuery.java | 8 + .../EnterpriseCertification.java | 27 + .../EnterpriseCertificationDto.java | 25 + .../EnterpriseCertificationQuery.java | 15 + .../EnterpriseCertificationVo.java | 25 + .../InvoiceApprovalRecords.java | 25 + .../InvoiceApprovalRecordsDto.java | 22 + .../InvoiceApprovalRecordsQuery.java | 15 + .../InvoiceApprovalRecordsVo.java | 23 + .../api/invoicerecords/InvoiceRecords.java | 34 + .../api/invoicerecords/InvoiceRecordsDto.java | 32 + .../invoicerecords/InvoiceRecordsQuery.java | 14 + .../api/invoicerecords/InvoiceRecordsVo.java | 36 + .../api/invoicetype/InvoiceType.java | 21 + .../api/invoicetype/InvoiceTypeDto.java | 19 + .../api/invoicetype/InvoiceTypeQuery.java | 14 + .../api/invoicetype/InvoiceTypeVo.java | 18 + .../yxt/ordermall/api/lpkbank/LpkBank.java | 25 + .../yxt/ordermall/api/lpkbank/LpkBankDto.java | 22 + .../ordermall/api/lpkbank/LpkBankQuery.java | 14 + .../yxt/ordermall/api/lpkbank/LpkBankVo.java | 22 + .../LpkCardBuildRecord.java | 33 + .../LpkCardBuildRecordDto.java | 12 + .../LpkCardBuildRecordQuery.java | 15 + .../LpkCardBuildRecordVo.java | 21 + .../LpkCardGrantRecord.java | 32 + .../LpkCardGrantRecordDto.java | 26 + .../LpkCardGrantRecordQuery.java | 15 + .../LpkCardGrantRecordVo.java | 20 + .../api/lpkcardqrcode/LpkCardQrcode.java | 29 + .../api/lpkcardqrcode/LpkCardQrcodeDto.java | 24 + .../api/lpkcardqrcode/LpkCardQrcodeQuery.java | 15 + .../api/lpkcardqrcode/LpkCardQrcodeVo.java | 25 + .../api/lpkcustomer/CustomerInfoVo.java | 34 + .../api/lpkcustomer/LpkCustomer.java | 51 + .../api/lpkcustomer/LpkCustomerDto.java | 14 + .../api/lpkcustomer/LpkCustomerQuery.java | 16 + .../api/lpkcustomer/LpkCustomerVo.java | 24 + .../api/lpkcustomer/RealInfoDto.java | 25 + .../ordermall/api/lpkcustomer/RealInfoVo.java | 24 + .../api/lpkcustomer/WxBindMobileDto.java | 17 + .../api/lpkcustomerbank/LpkCustomerBank.java | 29 + .../lpkcustomerbank/LpkCustomerBankQuery.java | 19 + .../lpkcustomerbank/LpkCustomerBankVo.java | 17 + .../api/lpkgiftbag/GiftBagGoods.java | 17 + .../ordermall/api/lpkgiftbag/LpkGiftBag.java | 35 + .../api/lpkgiftbag/LpkGiftBagDto.java | 29 + .../api/lpkgiftbag/LpkGiftBagInitVo.java | 26 + .../api/lpkgiftbag/LpkGiftBagQuery.java | 15 + .../api/lpkgiftbag/LpkGiftBagVo.java | 26 + .../api/lpkgiftbaggoods/LpkGifGoodsVo.java | 20 + .../api/lpkgiftbaggoods/LpkGiftBagGoods.java | 28 + .../lpkgiftbaggoods/LpkGiftBagGoodsDto.java | 14 + .../lpkgiftbaggoods/LpkGiftBagGoodsQuery.java | 15 + .../lpkgiftbaggoods/LpkGiftBagGoodsVo.java | 23 + .../api/lpkgiftcard/AppletNewVo.java | 102 + .../ordermall/api/lpkgiftcard/AppletVo.java | 173 ++ .../api/lpkgiftcard/BindCardDto.java | 16 + .../api/lpkgiftcard/CardGrantDto.java | 15 + .../api/lpkgiftcard/CardShareDetailVo.java | 22 + .../lpkgiftcard/CardStatisticsExportVo.java | 58 + .../api/lpkgiftcard/GoodsTypeVo.java | 14 + .../ordermall/api/lpkgiftcard/GoodsVo.java | 21 + .../api/lpkgiftcard/LpkGiftCard.java | 42 + .../api/lpkgiftcard/LpkGiftCardDto.java | 17 + .../api/lpkgiftcard/LpkGiftCardExport.java | 25 + .../api/lpkgiftcard/LpkGiftCardListQuery.java | 19 + .../api/lpkgiftcard/LpkGiftCardListVo.java | 32 + .../api/lpkgiftcard/LpkGiftCardQuery.java | 21 + .../api/lpkgiftcard/LpkGiftCardVo.java | 41 + .../api/lpkgiftcard/LpkGiftCardWordVo.java | 16 + .../api/lpkgiftcard/ReturnExcelInfo.java | 17 + .../lpkgiftcard/ReturnExcelInfoDetails.java | 16 + .../ordermall/api/lpkgiftcard/ReturnMsg.java | 17 + .../api/lpkgiftcard/ShareRecord.java | 14 + .../api/lpkgiftcard/ShareUserVo.java | 13 + .../ordermall/api/lpkgoods/GoodsTypeVo.java | 20 + .../yxt/ordermall/api/lpkgoods/LpkGoods.java | 51 + .../api/lpkgoods/LpkGoodsDetailsVo.java | 56 + .../ordermall/api/lpkgoods/LpkGoodsDto.java | 42 + .../ordermall/api/lpkgoods/LpkGoodsQuery.java | 20 + .../ordermall/api/lpkgoods/LpkGoodsVo.java | 46 + .../ordermall/api/lpkreserveorder/Goods.java | 17 + .../api/lpkreserveorder/LpkReserveOrder.java | 34 + .../LpkReserveOrderCardVo.java | 56 + .../lpkreserveorder/LpkReserveOrderDto.java | 28 + .../lpkreserveorder/LpkReserveOrderQuery.java | 22 + .../lpkreserveorder/LpkReserveOrderVo.java | 39 + .../api/lpkreserveorder/MergeStrategy.java | 92 + .../api/lpkreserveorder/OrderGoodsVo.java | 15 + .../lpkreserveorder/ReserveOrderExport.java | 55 + .../ReserveOrderExportByBank.java | 48 + .../ReserveOrderExportByStore.java | 50 + .../ReserveOrderExportByZ.java | 36 + .../LpkReserveOrderGoods.java | 28 + .../LpkReserveOrderGoodsDto.java | 14 + .../LpkReserveOrderGoodsQuery.java | 8 + .../yxt/ordermall/api/lpkstore/LpkStore.java | 35 + .../api/lpkstore/LpkStoreDetailsVo.java | 26 + .../ordermall/api/lpkstore/LpkStoreDto.java | 26 + .../ordermall/api/lpkstore/LpkStoreQuery.java | 16 + .../ordermall/api/lpkstore/LpkStoreVo.java | 32 + .../ordermall/api/lpkstore/StoreSelect.java | 13 + .../NewcomerRecoRecord.java | 30 + .../NewcomerRecoRecordDto.java | 30 + .../NewcomerRecoRecordQuery.java | 15 + .../NewcomerRecoRecordVo.java | 27 + .../yxt/ordermall/api/ordorder/OrdOrder.java | 38 + .../ordermall/api/ordorder/OrdOrderDto.java | 42 + .../ordermall/api/ordorder/OrdOrderQuery.java | 20 + .../ordermall/api/ordorder/OrdOrderVo.java | 47 + .../ordermall/api/ordorder/OrderParams.java | 12 + .../yxt/ordermall/api/ordorder/OrderUrl.java | 14 + .../ordermall/api/ordorder/PayOrderVo.java | 23 + .../yxt/ordermall/api/ordorder/PayParams.java | 12 + .../yxt/ordermall/api/ordorder/PayResult.java | 19 + .../yxt/ordermall/api/ordorder/PayUrl.java | 13 + .../ordermall/api/ordorder/TradeNoUrl.java | 13 + .../ordermall/api/ordorder/TradeParams.java | 12 + .../api/ordorderdetails/OrdOrderDetail.java | 37 + .../ordorderdetails/OrdOrderDetailDto.java | 27 + .../ordorderdetails/OrdOrderDetailQuery.java | 15 + .../api/ordorderdetails/OrdOrderDetailVo.java | 27 + .../com/yxt/ordermall/api/package-info.java | 4 + .../RecommendNewUserBag.java | 35 + .../RecommendNewUserBagDetailVo.java | 27 + .../RecommendNewUserBagDto.java | 31 + .../RecommendNewUserBagInitVo.java | 28 + .../RecommendNewUserBagQuery.java | 15 + .../RecommendNewUserBagVo.java | 47 + .../RecommendNewUserBagDetails.java | 29 + .../RecommendNewUserBagDetailsDto.java | 14 + .../RecommendNewUserBagDetailsQuery.java | 15 + .../RecommendNewUserBagDetailsVo.java | 23 + .../api/refundorder/RefundBusinessQuery.java | 13 + .../api/refundorder/RefundOrder.java | 27 + .../api/refundorder/RefundOrderDto.java | 26 + .../api/refundorder/RefundOrderQuery.java | 12 + .../api/refundorder/RefundOrderVo.java | 24 + .../com/yxt/ordermall/api/region/Region.java | 38 + .../reservedeliveryorder/MergeStrategy.java | 92 + .../reservedeliveryorder/OrderGoodsVo.java | 16 + .../ReserveDeliveryOrder.java | 31 + .../ReserveDeliveryOrderDto.java | 31 + .../ReserveDeliveryOrderQuery.java | 23 + .../ReserveDeliveryOrderVo.java | 43 + .../ReserveDeliveryOrderDetails.java | 29 + .../ReserveDeliveryOrderDetailsDto.java | 14 + .../ReserveDeliveryOrderDetailsQuery.java | 8 + .../api/shoppingcart/ShoppingCart.java | 29 + .../api/shoppingcart/ShoppingCartDto.java | 28 + .../api/shoppingcart/ShoppingCartQuery.java | 17 + .../api/shoppingcart/ShoppingCartVo.java | 36 + .../api/shoppingcart/ShoppingGoodsVo.java | 8 + .../ordermall/api/sms/entity/SmsCoupon.java | 120 ++ .../api/sms/entity/SmsCouponHistory.java | 94 + .../SmsCouponProductCategoryRelation.java | 96 + .../sms/entity/SmsCouponProductRelation.java | 96 + .../api/sms/vo/SmsCouponHistoryDetail.java | 46 + .../ordermall/api/sms/vo/SmsCouponParam.java | 35 + .../yxt/ordermall/api/sysuser/SysUser.java | 72 + .../yxt/ordermall/api/sysuser/SysUserDto.java | 40 + .../ordermall/api/sysuser/SysUserInfoVo.java | 30 + .../ordermall/api/sysuser/SysUserListVo.java | 19 + .../ordermall/api/sysuser/SysUserQuery.java | 51 + .../yxt/ordermall/api/sysuser/SysUserVo.java | 93 + .../yxt/ordermall/api/sysuser/UserQuery.java | 21 + .../ordermall/api/sysuser/UserRoleQuery.java | 19 + .../api/transferrecords/TransferRecords.java | 31 + .../transferrecords/TransferRecordsDto.java | 24 + .../transferrecords/TransferRecordsQuery.java | 22 + .../transferrecords/TransferRecordsVo.java | 31 + .../TransferRecordsGoodsDetails.java | 29 + .../TransferRecordsGoodsDetailsDto.java | 16 + .../TransferRecordsGoodsDetailsQuery.java | 21 + .../TransferRecordsGoodsDetailsVo.java | 45 + .../VegeCellarReserveDetails.java | 29 + .../VegeCellarReserveDetailsDto.java | 14 + .../VegeCellarReserveDetailsQuery.java | 8 + .../api/vegecallerreserveorder/Goods.java | 17 + .../LpkReserveOrderCardVo.java | 56 + .../vegecallerreserveorder/MergeStrategy.java | 92 + .../vegecallerreserveorder/OrderGoodsVo.java | 16 + .../ReserveOrderExport.java | 55 + .../ReserveOrderExportByBank.java | 48 + .../ReserveOrderExportByStore.java | 50 + .../ReserveOrderExportByZ.java | 36 + .../VegeCellarReserveOrder.java | 33 + .../VegeCellarReserveOrderDto.java | 31 + .../VegeCellarReserveOrderQuery.java | 23 + .../VegeCellarReserveOrderVo.java | 50 + .../api/vegereplenish/VegeReplenish.java | 31 + .../VegeReplenishDetail.java | 32 + .../api/vegetablecellar/VegetableCellar.java | 29 + .../vegetablecellar/VegetableCellarDto.java | 30 + .../vegetablecellar/VegetableCellarQuery.java | 15 + .../vegetablecellar/VegetableCellarVo.java | 19 + .../ordermall/api/vegetablecellar/vegeVo.java | 14 + .../yxt/ordermall/apiadmin/AdminBankRest.java | 38 + .../yxt/ordermall/apiadmin/AdminMallRest.java | 33 + .../ordermall/apiadmin/AdminReserveRest.java | 128 ++ .../yxt/ordermall/apiadmin/BannerRest.java | 52 + .../ordermall/apiadmin/OrdertoolsRest.java | 27 + .../apiadmin/aggregation/PmsBrandRest.java | 188 ++ .../apiadmin/aggregation/SysMenuRest.java | 189 ++ .../apiadmin/aggregation/SysMenuRoleRest.java | 116 ++ .../aggregation/SysOrganizationRest.java | 269 +++ .../apiadmin/aggregation/SysPostRest.java | 119 ++ .../aggregation/SysRoleAuthorizeRest.java | 29 + .../apiadmin/aggregation/SysRoleRest.java | 117 ++ .../apiadmin/aggregation/SysStaffOrgRest.java | 32 + .../aggregation/SysStaffinfoRest.java | 196 ++ .../apiadmin/aggregation/SysUserRest.java | 115 ++ .../apiadmin/aggregation/SysUserRoleRest.java | 104 + .../apiadmin/aggregation/SystemLogRest.java | 81 + .../ordertools/OrdertoolsService.java | 66 + .../ordertools/ToImportOrderExcel.java | 44 + .../apiadmin/ordertools/WxOrderIn.java | 12 + .../yxt/ordermall/apiadmin/vo/PmsBrandVo.java | 30 + .../apiadmin/vo/PmsProductCategoryVo.java | 25 + .../biz/appletbanner/AppletBanner.java | 41 + .../biz/appletbanner/AppletBannerMapper.java | 8 + .../biz/appletbanner/AppletBannerQuery.java | 16 + .../biz/appletbanner/AppletBannerService.java | 74 + .../appletgiftbag/AppletGiftBagMapper.java | 29 + .../biz/appletgiftbag/AppletGiftBagMapper.xml | 63 + .../biz/appletgiftbag/AppletGiftBagRest.java | 83 + .../appletgiftbag/AppletGiftBagService.java | 301 +++ .../AppletGiftBagGoodsMapper.java | 36 + .../AppletGiftBagGoodsMapper.xml | 24 + .../AppletGiftBagGoodsRest.java | 24 + .../AppletGiftBagGoodsService.java | 40 + .../biz/appletnotice/AppletNoticeMapper.java | 24 + .../biz/appletnotice/AppletNoticeMapper.xml | 25 + .../biz/appletnotice/AppletNoticeRest.java | 51 + .../biz/appletnotice/AppletNoticeService.java | 81 + .../ApprovalRecordsMapper.java | 22 + .../approvalrecords/ApprovalRecordsMapper.xml | 17 + .../approvalrecords/ApprovalRecordsRest.java | 47 + .../ApprovalRecordsService.java | 52 + .../CannotReserveDictionaryMapper.java | 29 + .../CannotReserveDictionaryMapper.xml | 25 + .../CannotReserveDictionaryRest.java | 51 + .../CannotReserveDictionaryService.java | 79 + .../CustomerInvoiceMapper.java | 29 + .../customerinvoice/CustomerInvoiceMapper.xml | 16 + .../customerinvoice/CustomerInvoiceRest.java | 57 + .../CustomerInvoiceService.java | 79 + .../customerstore/CustomerStoreMapper.java | 16 + .../biz/customerstore/CustomerStoreMapper.xml | 11 + .../biz/customerstore/CustomerStoreRest.java | 36 + .../customerstore/CustomerStoreService.java | 173 ++ .../ordermall/biz/empcard/EmpCardMapper.java | 61 + .../ordermall/biz/empcard/EmpCardMapper.xml | 246 +++ .../ordermall/biz/empcard/EmpCardRest.java | 120 ++ .../ordermall/biz/empcard/EmpCardService.java | 656 ++++++ .../EmpCardBuildRecordMapper.java | 19 + .../EmpCardBuildRecordMapper.xml | 22 + .../EmpCardBuildRecordRest.java | 31 + .../EmpCardBuildRecordService.java | 49 + .../biz/empcardgift/EmpCardGiftMapper.java | 56 + .../biz/empcardgift/EmpCardGiftMapper.xml | 255 +++ .../biz/empcardgift/EmpCardGiftRest.java | 131 ++ .../biz/empcardgift/EmpCardGiftService.java | 1194 +++++++++++ .../EmpCardGiftGoodsMapper.java | 38 + .../EmpCardGiftGoodsMapper.xml | 25 + .../EmpCardGiftGoodsRest.java | 22 + .../EmpCardGiftGoodsService.java | 55 + .../EmpCardGrantLogMapper.java | 24 + .../empcardgrantlog/EmpCardGrantLogMapper.xml | 50 + .../empcardgrantlog/EmpCardGrantLogRest.java | 32 + .../EmpCardGrantLogService.java | 61 + .../EmpReserveOrderMapper.java | 37 + .../empreserveorder/EmpReserveOrderMapper.xml | 114 ++ .../empreserveorder/EmpReserveOrderRest.java | 81 + .../EmpReserveOrderService.java | 484 +++++ .../EmpReserveOrderGoodsMapper.java | 28 + .../EmpReserveOrderGoodsMapper.xml | 36 + .../EmpReserveOrderGoodsRest.java | 25 + .../EmpReserveOrderGoodsService.java | 191 ++ .../EnterpriseCertificationMapper.java | 22 + .../EnterpriseCertificationMapper.xml | 17 + .../EnterpriseCertificationRest.java | 51 + .../EnterpriseCertificationService.java | 92 + .../biz/func/basebrandinfo/BaseBrandInfo.java | 21 + .../func/basebrandinfo/BaseBrandInfoDto.java | 29 + .../basebrandinfo/BaseBrandInfoMapper.java | 18 + .../basebrandinfo/BaseBrandInfoMapper.xml | 15 + .../basebrandinfo/BaseBrandInfoQuery.java | 22 + .../basebrandinfo/BaseBrandInfoService.java | 87 + .../func/basebrandinfo/BaseBrandInfoVo.java | 32 + .../biz/func/basegoodssku/BaseGoodsSku.java | 22 + .../basegoodssku/BaseGoodsSkuDetailsVo.java | 69 + .../func/basegoodssku/BaseGoodsSkuDto.java | 33 + .../func/basegoodssku/BaseGoodsSkuMapper.java | 26 + .../func/basegoodssku/BaseGoodsSkuMapper.xml | 64 + .../BaseGoodsSkuPurSelectList.java | 35 + .../BaseGoodsSkuPurSelectQuery.java | 30 + .../func/basegoodssku/BaseGoodsSkuQuery.java | 13 + .../basegoodssku/BaseGoodsSkuSelectList.java | 41 + .../basegoodssku/BaseGoodsSkuSelectQuery.java | 36 + .../basegoodssku/BaseGoodsSkuService.java | 164 ++ .../biz/func/basegoodssku/BaseGoodsSkuVo.java | 40 + .../biz/func/basegoodssku/SkuSelectList1.java | 49 + .../BaseGoodsSkuExtend.java | 45 + .../BaseGoodsSkuExtendDto.java | 56 + .../BaseGoodsSkuExtendMapper.java | 20 + .../BaseGoodsSkuExtendMapper.xml | 28 + .../BaseGoodsSkuExtendQuery.java | 13 + .../BaseGoodsSkuExtendService.java | 135 ++ .../BaseGoodsSkuExtendVo.java | 63 + .../biz/func/basegoodsskuextend/UrlsVo.java | 12 + .../func/basegoodsspu/BaseGoodsImportVo.java | 13 + .../biz/func/basegoodsspu/BaseGoodsSpu.java | 52 + .../func/basegoodsspu/BaseGoodsSpuDto.java | 71 + .../func/basegoodsspu/BaseGoodsSpuMapper.java | 19 + .../func/basegoodsspu/BaseGoodsSpuMapper.xml | 27 + .../func/basegoodsspu/BaseGoodsSpuQuery.java | 42 + .../basegoodsspu/BaseGoodsSpuService.java | 558 ++++++ .../biz/func/basegoodsspu/BaseGoodsSpuVo.java | 73 + .../BaseGoodsSpuDetail.java | 20 + .../BaseGoodsSpuDetailDto.java | 29 + .../BaseGoodsSpuDetailMapper.java | 20 + .../BaseGoodsSpuDetailMapper.xml | 24 + .../BaseGoodsSpuDetailQuery.java | 13 + .../BaseGoodsSpuDetailService.java | 102 + .../BaseGoodsSpuDetailVo.java | 35 + .../biz/func/basegoodstype/BaseGoodsType.java | 23 + .../func/basegoodstype/BaseGoodsTypeDto.java | 37 + .../basegoodstype/BaseGoodsTypeMapper.java | 17 + .../basegoodstype/BaseGoodsTypeMapper.xml | 15 + .../basegoodstype/BaseGoodsTypeQuery.java | 25 + .../basegoodstype/BaseGoodsTypeService.java | 90 + .../func/basegoodstype/BaseGoodsTypeVo.java | 42 + .../biz/func/basegoodsunit/BaseGoodsUnit.java | 16 + .../func/basegoodsunit/BaseGoodsUnitDto.java | 31 + .../basegoodsunit/BaseGoodsUnitMapper.java | 17 + .../basegoodsunit/BaseGoodsUnitMapper.xml | 15 + .../basegoodsunit/BaseGoodsUnitQuery.java | 22 + .../basegoodsunit/BaseGoodsUnitService.java | 67 + .../func/basegoodsunit/BaseGoodsUnitVo.java | 29 + .../basemanufacturer/BaseManufacturer.java | 20 + .../basemanufacturer/BaseManufacturerDto.java | 37 + .../BaseManufacturerMapper.java | 21 + .../BaseManufacturerMapper.xml | 20 + .../BaseManufacturerQuery.java | 22 + .../BaseManufacturerService.java | 70 + .../basemanufacturer/BaseManufacturerVo.java | 36 + .../biz/func/commonmethod/CommonMethod.java | 53 + .../biz/func/commonmethod/DataRule.java | 13 + .../biz/func/dictcommon/DictCommon.java | 25 + .../biz/func/dictcommon/DictCommonDto.java | 36 + .../biz/func/dictcommon/DictCommonMapper.java | 60 + .../biz/func/dictcommon/DictCommonMapper.xml | 43 + .../biz/func/dictcommon/DictCommonQuery.java | 24 + .../func/dictcommon/DictCommonService.java | 60 + .../func/dictcommon/DictCommonTypeQuery.java | 21 + .../biz/func/dictcommon/DictCommonVo.java | 32 + .../ordermall/biz/func/dicttype/DictType.java | 21 + .../biz/func/dicttype/DictTypeDto.java | 30 + .../biz/func/dicttype/DictTypeMapper.java | 28 + .../biz/func/dicttype/DictTypeMapper.xml | 17 + .../biz/func/dicttype/DictTypeQuery.java | 24 + .../biz/func/dicttype/DictTypeService.java | 35 + .../biz/func/dicttype/DictTypeVo.java | 32 + .../yxt/ordermall/biz/func/region/Region.java | 29 + .../biz/func/region/RegionChildTwoVo.java | 30 + .../biz/func/region/RegionChildVo.java | 34 + .../ordermall/biz/func/region/RegionDto.java | 46 + .../biz/func/region/RegionListVo.java | 24 + .../biz/func/region/RegionMapper.java | 21 + .../biz/func/region/RegionMapper.xml | 33 + .../biz/func/region/RegionQuery.java | 23 + .../biz/func/region/RegionService.java | 45 + .../func/region/RegionThirdLevelNameVo.java | 24 + .../ordermall/biz/func/region/RegionVo.java | 35 + .../func/sysmenu/ButtonPermissionQuery.java | 22 + .../biz/func/sysmenu/ButtonPermissionVo.java | 12 + .../ordermall/biz/func/sysmenu/SysMenu.java | 65 + .../biz/func/sysmenu/SysMenuDto.java | 74 + .../func/sysmenu/SysMenuFunctionQuery.java | 30 + .../biz/func/sysmenu/SysMenuMapper.java | 82 + .../biz/func/sysmenu/SysMenuMapper.xml | 88 + .../biz/func/sysmenu/SysMenuQuery.java | 68 + .../biz/func/sysmenu/SysMenuService.java | 418 ++++ .../biz/func/sysmenu/SysMenuTreeVo.java | 64 + .../ordermall/biz/func/sysmenu/SysMenuVo.java | 76 + .../biz/func/sysmenurole/MenuRoleVo.java | 19 + .../biz/func/sysmenurole/SysMenuRole.java | 37 + .../func/sysmenurole/SysMenuRoleDataDto.java | 30 + .../sysmenurole/SysMenuRoleDataQuery.java | 30 + .../func/sysmenurole/SysMenuRoleDataVo.java | 32 + .../biz/func/sysmenurole/SysMenuRoleDto.java | 31 + .../func/sysmenurole/SysMenuRoleMapper.java | 56 + .../func/sysmenurole/SysMenuRoleMapper.xml | 74 + .../func/sysmenurole/SysMenuRoleQuery.java | 40 + .../func/sysmenurole/SysMenuRoleService.java | 210 ++ .../biz/func/sysmenurole/SysMenuRoleVo.java | 56 + .../AppContactSysOrganizationVo.java | 40 + .../biz/func/sysorganization/QrCodeVo.java | 23 + .../func/sysorganization/SysOrgListVo.java | 29 + .../func/sysorganization/SysOrgStaffVo.java | 17 + .../biz/func/sysorganization/SysOrgVo.java | 31 + .../func/sysorganization/SysOrganization.java | 87 + .../sysorganization/SysOrganizationDto.java | 91 + .../SysOrganizationListQuery.java | 16 + .../SysOrganizationListVo.java | 23 + .../SysOrganizationListsVo.java | 17 + .../SysOrganizationMapper.java | 121 ++ .../sysorganization/SysOrganizationMapper.xml | 220 ++ .../sysorganization/SysOrganizationQuery.java | 58 + .../SysOrganizationService.java | 249 +++ .../sysorganization/SysOrganizationVo.java | 86 + .../ordermall/biz/func/syspost/SysPost.java | 46 + .../biz/func/syspost/SysPostDto.java | 44 + .../biz/func/syspost/SysPostListVo.java | 22 + .../biz/func/syspost/SysPostMapper.java | 65 + .../biz/func/syspost/SysPostMapper.xml | 44 + .../biz/func/syspost/SysPostQuery.java | 41 + .../biz/func/syspost/SysPostService.java | 130 ++ .../ordermall/biz/func/syspost/SysPostVo.java | 52 + .../ordermall/biz/func/sysrole/SysRole.java | 50 + .../biz/func/sysrole/SysRoleDto.java | 53 + .../biz/func/sysrole/SysRoleMapper.java | 68 + .../biz/func/sysrole/SysRoleMapper.xml | 134 ++ .../biz/func/sysrole/SysRoleQuery.java | 40 + .../biz/func/sysrole/SysRoleService.java | 131 ++ .../ordermall/biz/func/sysrole/SysRoleVo.java | 50 + .../func/sysroleauthorize/SysMenuRoleVo.java | 55 + .../sysroleauthorize/SysRoleAuthorize.java | 31 + .../sysroleauthorize/SysRoleAuthorizeDto.java | 32 + .../SysRoleAuthorizeMapper.java | 34 + .../SysRoleAuthorizeMapper.xml | 33 + .../SysRoleAuthorizeQuery.java | 41 + .../SysRoleAuthorizeService.java | 34 + .../sysroleauthorize/SysRoleAuthorizeVo.java | 31 + .../sysstaffinfo/AppContactsDetailsVo.java | 34 + .../func/sysstaffinfo/PcSysStaffQuery.java | 18 + .../biz/func/sysstaffinfo/PcSysStaffVo.java | 19 + .../biz/func/sysstaffinfo/SysStaffQuery.java | 30 + .../biz/func/sysstaffinfo/SysStaffinfo.java | 87 + .../SysStaffinfoAppContactsSearchVo.java | 34 + .../SysStaffinfoAppContactsVo.java | 34 + .../sysstaffinfo/SysStaffinfoDetailsVo.java | 89 + .../func/sysstaffinfo/SysStaffinfoDto.java | 193 ++ .../func/sysstaffinfo/SysStaffinfoMapper.java | 127 ++ .../func/sysstaffinfo/SysStaffinfoMapper.xml | 398 ++++ .../func/sysstaffinfo/SysStaffinfoQuery.java | 42 + .../sysstaffinfo/SysStaffinfoService.java | 138 ++ .../biz/func/sysstaffinfo/SysStaffinfoVo.java | 47 + .../biz/func/sysstaffinfo/WxBase64Query.java | 20 + .../biz/func/sysstaffinfo/WxSysInfoQuery.java | 37 + .../sysstaffinfo/app/AppSysStaffQuery.java | 30 + .../func/sysstaffinfo/app/AppSysStaffVo.java | 30 + .../func/sysstafforg/SysStaffOrgByUserVo.java | 30 + .../sysstafforg/SysStaffOrgDetailsVo.java | 29 + .../biz/func/sysstafforg/SysStaffOrgDto.java | 43 + .../func/sysstafforg/SysStaffOrgService.java | 26 + .../biz/func/systemlog/SystemLog.java | 44 + .../biz/func/systemlog/SystemLogDto.java | 46 + .../biz/func/systemlog/SystemLogMapper.java | 38 + .../biz/func/systemlog/SystemLogMapper.xml | 13 + .../biz/func/systemlog/SystemLogQuery.java | 44 + .../biz/func/systemlog/SystemLogService.java | 59 + .../biz/func/systemlog/SystemLogVo.java | 44 + .../biz/func/sysuser/SysUserService.java | 78 + .../biz/func/sysuserrole/SysUserRole.java | 34 + .../biz/func/sysuserrole/SysUserRoleDto.java | 33 + .../func/sysuserrole/SysUserRoleMapper.java | 58 + .../func/sysuserrole/SysUserRoleMapper.xml | 53 + .../func/sysuserrole/SysUserRoleQuery.java | 32 + .../func/sysuserrole/SysUserRoleService.java | 135 ++ .../biz/func/sysuserrole/SysUserRoleVo.java | 33 + .../InvoiceApprovalRecordsMapper.java | 22 + .../InvoiceApprovalRecordsMapper.xml | 16 + .../InvoiceApprovalRecordsRest.java | 47 + .../InvoiceApprovalRecordsService.java | 53 + .../invoicerecords/InvoiceRecordsMapper.java | 29 + .../invoicerecords/InvoiceRecordsMapper.xml | 16 + .../invoicerecords/InvoiceRecordsRest.java | 55 + .../invoicerecords/InvoiceRecordsService.java | 102 + .../biz/invoicetype/InvoiceTypeMapper.java | 29 + .../biz/invoicetype/InvoiceTypeMapper.xml | 16 + .../biz/invoicetype/InvoiceTypeRest.java | 58 + .../biz/invoicetype/InvoiceTypeService.java | 76 + .../ordermall/biz/lpkbank/LpkBankMapper.java | 29 + .../ordermall/biz/lpkbank/LpkBankMapper.xml | 16 + .../ordermall/biz/lpkbank/LpkBankRest.java | 62 + .../ordermall/biz/lpkbank/LpkBankService.java | 74 + .../LpkCardBuildRecordMapper.java | 24 + .../LpkCardBuildRecordMapper.xml | 30 + .../LpkCardBuildRecordRest.java | 37 + .../LpkCardBuildRecordService.java | 58 + .../LpkCardGrantRecordMapper.java | 20 + .../LpkCardGrantRecordMapper.xml | 20 + .../LpkCardGrantRecordRest.java | 41 + .../LpkCardGrantRecordService.java | 58 + .../lpkcardqrcode/LpkCardQrcodeMapper.java | 24 + .../biz/lpkcardqrcode/LpkCardQrcodeMapper.xml | 27 + .../biz/lpkcardqrcode/LpkCardQrcodeRest.java | 41 + .../lpkcardqrcode/LpkCardQrcodeService.java | 63 + .../biz/lpkcustomer/LpkCustomerMapper.java | 32 + .../biz/lpkcustomer/LpkCustomerMapper.xml | 31 + .../biz/lpkcustomer/LpkCustomerRest.java | 101 + .../biz/lpkcustomer/LpkCustomerService.java | 344 ++++ .../LpkCustomerBankMapper.java | 24 + .../lpkcustomerbank/LpkCustomerBankMapper.xml | 21 + .../lpkcustomerbank/LpkCustomerBankRest.java | 43 + .../LpkCustomerBankService.java | 59 + .../biz/lpkgiftbag/LpkGiftBagMapper.java | 26 + .../biz/lpkgiftbag/LpkGiftBagMapper.xml | 37 + .../biz/lpkgiftbag/LpkGiftBagRest.java | 62 + .../biz/lpkgiftbag/LpkGiftBagService.java | 193 ++ .../LpkGiftBagGoodsMapper.java | 48 + .../lpkgiftbaggoods/LpkGiftBagGoodsMapper.xml | 24 + .../lpkgiftbaggoods/LpkGiftBagGoodsRest.java | 24 + .../LpkGiftBagGoodsService.java | 39 + .../biz/lpkgiftcard/LpkGiftCardMapper.java | 84 + .../biz/lpkgiftcard/LpkGiftCardMapper.xml | 335 ++++ .../biz/lpkgiftcard/LpkGiftCardRest.java | 194 ++ .../biz/lpkgiftcard/LpkGiftCardService.java | 1777 +++++++++++++++++ .../generateRule/UniqueIdGenerator.java | 55 + .../biz/lpkgoods/LpkGoodsMapper.java | 41 + .../ordermall/biz/lpkgoods/LpkGoodsMapper.xml | 165 ++ .../ordermall/biz/lpkgoods/LpkGoodsRest.java | 116 ++ .../biz/lpkgoods/LpkGoodsService.java | 418 ++++ .../LpkReserveOrderMapper.java | 48 + .../lpkreserveorder/LpkReserveOrderMapper.xml | 766 +++++++ .../lpkreserveorder/LpkReserveOrderRest.java | 93 + .../LpkReserveOrderService.java | 687 +++++++ .../LpkReserveOrderGoodsMapper.java | 28 + .../LpkReserveOrderGoodsMapper.xml | 37 + .../LpkReserveOrderGoodsRest.java | 25 + .../LpkReserveOrderGoodsService.java | 91 + .../biz/lpkstore/LpkStoreMapper.java | 33 + .../ordermall/biz/lpkstore/LpkStoreMapper.xml | 48 + .../ordermall/biz/lpkstore/LpkStoreRest.java | 66 + .../biz/lpkstore/LpkStoreService.java | 114 ++ .../NewcomerRecoRecordMapper.java | 31 + .../NewcomerRecoRecordMapper.xml | 46 + .../NewcomerRecoRecordRest.java | 38 + .../NewcomerRecoRecordService.java | 144 ++ .../biz/ordorder/OrdOrderGoodsItem.java | 9 + .../biz/ordorder/OrdOrderMapper.java | 31 + .../ordermall/biz/ordorder/OrdOrderMapper.xml | 26 + .../ordermall/biz/ordorder/OrdOrderRest.java | 83 + .../biz/ordorder/OrdOrderService.java | 711 +++++++ .../ordorderdetails/OrdOrderDetailMapper.java | 15 + .../ordorderdetails/OrdOrderDetailMapper.xml | 114 ++ .../ordorderdetails/OrdOrderDetailRest.java | 16 + .../OrdOrderDetailService.java | 14 + .../com/yxt/ordermall/biz/package-info.java | 4 + .../RecommendNewUserBagMapper.java | 29 + .../RecommendNewUserBagMapper.xml | 63 + .../RecommendNewUserBagRest.java | 79 + .../RecommendNewUserBagService.java | 282 +++ .../RecommendNewUserBagDetailsMapper.java | 36 + .../RecommendNewUserBagDetailsMapper.xml | 24 + .../RecommendNewUserBagDetailsRest.java | 24 + .../RecommendNewUserBagDetailsService.java | 40 + .../biz/refundorder/RefundOrderMapper.java | 31 + .../biz/refundorder/RefundOrderMapper.xml | 26 + .../biz/refundorder/RefundOrderRest.java | 43 + .../biz/refundorder/RefundOrderService.java | 192 ++ .../yxt/ordermall/biz/region/RegionRest.java | 19 + .../ReserveDeliveryOrderMapper.java | 60 + .../ReserveDeliveryOrderMapper.xml | 558 ++++++ .../ReserveDeliveryOrderRest.java | 99 + .../ReserveDeliveryOrderService.java | 845 ++++++++ .../ReserveDeliveryOrderDetailsMapper.java | 28 + .../ReserveDeliveryOrderDetailsMapper.xml | 37 + .../ReserveDeliveryOrderDetailsRest.java | 25 + .../ReserveDeliveryOrderDetailsService.java | 91 + .../biz/scheduled/scheduledRest.java | 250 +++ .../biz/shoppingcart/ShoppingCartMapper.java | 20 + .../biz/shoppingcart/ShoppingCartMapper.xml | 24 + .../biz/shoppingcart/ShoppingCartRest.java | 54 + .../biz/shoppingcart/ShoppingCartService.java | 270 +++ .../smscoupon/ISmsCouponHistoryService.java | 16 + ...sCouponProductCategoryRelationService.java | 16 + .../ISmsCouponProductRelationService.java | 16 + .../biz/smscoupon/ISmsCouponService.java | 35 + .../biz/smscoupon/SmsCouponController.java | 121 ++ .../smscoupon/SmsCouponHistoryController.java | 132 ++ .../biz/smscoupon/SmsCouponHistoryMapper.java | 26 + .../biz/smscoupon/SmsCouponHistoryMapper.xml | 72 + .../SmsCouponHistoryServiceImpl.java | 18 + .../biz/smscoupon/SmsCouponMapper.java | 29 + .../biz/smscoupon/SmsCouponMapper.xml | 76 + ...uponProductCategoryRelationController.java | 132 ++ ...msCouponProductCategoryRelationMapper.java | 17 + ...SmsCouponProductCategoryRelationMapper.xml | 19 + ...ponProductCategoryRelationServiceImpl.java | 18 + .../SmsCouponProductRelationController.java | 132 ++ .../SmsCouponProductRelationMapper.java | 17 + .../SmsCouponProductRelationMapper.xml | 19 + .../SmsCouponProductRelationServiceImpl.java | 18 + .../biz/smscoupon/SmsCouponServiceImpl.java | 105 + .../TransferRecordsMapper.java | 34 + .../transferrecords/TransferRecordsMapper.xml | 58 + .../transferrecords/TransferRecordsRest.java | 40 + .../TransferRecordsService.java | 165 ++ .../TransferRecordsGoodsDetailsMapper.java | 28 + .../TransferRecordsGoodsDetailsMapper.xml | 37 + .../TransferRecordsGoodsDetailsRest.java | 25 + .../TransferRecordsGoodsDetailsService.java | 78 + .../VegeCellarReserveDetailsMapper.java | 28 + .../VegeCellarReserveDetailsMapper.xml | 37 + .../VegeCellarReserveDetailsRest.java | 25 + .../VegeCellarReserveDetailsService.java | 108 + .../ReserveAllExcel.java | 26 + .../ReserveBankExcel.java | 38 + .../ReserveCustomerExcel.java | 44 + .../ReserveOrderVo.java | 33 + .../ReserveStoreExcel.java | 41 + .../VegeCellarReserveOrderMapper.java | 39 + .../VegeCellarReserveOrderMapper.xml | 185 ++ .../VegeCellarReserveOrderRest.java | 42 + .../VegeCellarReserveOrderService.java | 419 ++++ .../vegereplenish/VegeReplenishMapper.java | 14 + .../biz/vegereplenish/VegeReplenishMapper.xml | 8 + .../biz/vegereplenish/VegeReplenishRest.java | 27 + .../vegereplenish/VegeReplenishService.java | 132 ++ .../VegeReplenishDetailMapper.java | 14 + .../VegeReplenishDetailMapper.xml | 8 + .../VegeReplenishDetailRest.java | 19 + .../VegeReplenishDetailService.java | 14 + .../VegetableCellarMapper.java | 19 + .../vegetablecellar/VegetableCellarMapper.xml | 22 + .../vegetablecellar/VegetableCellarRest.java | 35 + .../VegetableCellarService.java | 199 ++ .../com/yxt/ordermall/biz/wx/RequestMes.java | 16 + .../com/yxt/ordermall/biz/wx/WxConfig.java | 171 ++ .../wx/invoice/ElectronicInvoiceService.java | 47 + .../ordermall/config/SaTokenConfigure.java | 122 ++ .../config/SaTokenGloableException.java | 67 + .../com/yxt/ordermall/config/YythConfig.java | 4 + .../yxt/ordermall/config/package-info.java | 4 + .../com/yxt/ordermall/feign/YythFeign.java | 4 + .../basebrandinfo/BaseBrandInfoFeign.java | 54 + .../BaseBrandInfoFeignFallback.java | 58 + .../basegoodssku/BaseGoodsSkuDetailsVo.java | 50 + .../base/basegoodssku/BaseGoodsSkuFeign.java | 41 + .../BaseGoodsSkuFeignFallback.java | 43 + .../BaseGoodsSkuExtendFeign.java | 25 + .../BaseGoodsSkuExtendFeignFallback.java | 19 + .../base/basegoodsspu/BaseGoodsSpuFeign.java | 57 + .../BaseGoodsSpuFeignFallback.java | 64 + .../basegoodstype/BaseGoodsTypeFeign.java | 57 + .../BaseGoodsTypeFeignFallback.java | 63 + .../basegoodsunit/BaseGoodsUnitFeign.java | 54 + .../BaseGoodsUnitFeignFallback.java | 60 + .../BaseManufacturerFeign.java | 58 + .../BaseManufacturerFeignFallback.java | 64 + .../com/yxt/ordermall/feign/package-info.java | 4 + .../portal/dictcommon/DictCommonFeign.java | 68 + .../dictcommon/DictCommonFeignFallback.java | 60 + .../feign/portal/dicttype/DictTypeFeign.java | 49 + .../dicttype/DictTypeFeignFallback.java | 37 + .../portal/privilege/PrivilegeQuery.java | 22 + .../feign/portal/region/RegionFeign.java | 55 + .../feign/portal/sysmenu/SysMenuFeign.java | 135 ++ .../portal/sysmenu/SysMenuFeignFallback.java | 98 + .../portal/sysmenurole/SysMenuRoleFeign.java | 84 + .../sysmenurole/SysMenuRoleFeignFallback.java | 86 + .../sysorganization/SysOrganizationFeign.java | 204 ++ .../SysOrganizationFeignFallback.java | 199 ++ .../feign/portal/syspost/SysPostFeign.java | 93 + .../portal/syspost/SysPostFeignFallback.java | 89 + .../feign/portal/sysrole/SysRoleFeign.java | 86 + .../portal/sysrole/SysRoleFeignFallback.java | 88 + .../SysRoleAuthorizeFeign.java | 35 + .../SysRoleAuthorizeFeignFallback.java | 28 + .../sysstaffinfo/SysStaffinfoFeign.java | 164 ++ .../portal/sysstafforg/SysStaffOrgFeign.java | 33 + .../portal/systemlog/SystemLogFeign.java | 68 + .../systemlog/SystemLogFeignFallback.java | 67 + .../feign/portal/sysuser/OrgList.java | 21 + .../feign/portal/sysuser/SysOrganization.java | 87 + .../feign/portal/sysuser/SysStaffOrgVo.java | 49 + .../feign/portal/sysuser/SysUser.java | 73 + .../feign/portal/sysuser/SysUserDto.java | 48 + .../feign/portal/sysuser/SysUserFeign.java | 94 + .../portal/sysuser/SysUserFeignFallback.java | 89 + .../feign/portal/sysuser/SysUserQuery.java | 58 + .../feign/portal/sysuser/SysUserVo.java | 110 + .../portal/sysuserrole/SysUserRoleFeign.java | 81 + .../sysuserrole/SysUserRoleFeignFallback.java | 83 + .../pms/controller/PmsAlbumController.java | 135 ++ .../pms/controller/PmsAlbumPicController.java | 132 ++ .../pms/controller/PmsBrandController.java | 168 ++ .../pms/controller/PmsCommentController.java | 133 ++ .../PmsCommentReplayController.java | 133 ++ .../PmsFeightTemplateController.java | 133 ++ .../PmsGiftsCategoryController.java | 133 ++ .../pms/controller/PmsGiftsController.java | 155 ++ .../controller/PmsMemberPriceController.java | 133 ++ ...PmsProductAttributeCategoryController.java | 189 ++ .../PmsProductAttributeController.java | 161 ++ .../PmsProductAttributeValueController.java | 132 ++ ...ctCategoryAttributeRelationController.java | 133 ++ .../PmsProductCategoryController.java | 222 ++ .../PmsProductConsultController.java | 99 + .../pms/controller/PmsProductController.java | 542 +++++ .../PmsProductFullReductionController.java | 133 ++ .../PmsProductLadderController.java | 133 ++ .../PmsProductOperateLogController.java | 133 ++ .../PmsProductVertifyRecordController.java | 133 ++ .../pms/controller/PmsSkuStockController.java | 153 ++ .../PmsSmallNaviconCategoryController.java | 134 ++ .../biz/pms/service/IPmsAlbumPicService.java | 16 + .../biz/pms/service/IPmsAlbumService.java | 16 + .../biz/pms/service/IPmsBrandService.java | 25 + .../pms/service/IPmsCommentReplayService.java | 16 + .../biz/pms/service/IPmsCommentService.java | 16 + .../service/IPmsFeightTemplateService.java | 16 + .../pms/service/IPmsGiftsCategoryService.java | 16 + .../biz/pms/service/IPmsGiftsService.java | 16 + .../pms/service/IPmsMemberPriceService.java | 16 + .../IPmsProductAttributeCategoryService.java | 20 + .../service/IPmsProductAttributeService.java | 22 + .../IPmsProductAttributeValueService.java | 16 + ...oductCategoryAttributeRelationService.java | 16 + .../service/IPmsProductCategoryService.java | 34 + .../service/IPmsProductConsultService.java | 16 + .../IPmsProductFullReductionService.java | 16 + .../pms/service/IPmsProductLadderService.java | 16 + .../service/IPmsProductOperateLogService.java | 16 + .../biz/pms/service/IPmsProductService.java | 78 + .../IPmsProductVertifyRecordService.java | 16 + .../biz/pms/service/IPmsSkuStockService.java | 26 + .../IPmsSmallNaviconCategoryService.java | 16 + .../service/impl/PmsAlbumPicServiceImpl.java | 20 + .../pms/service/impl/PmsAlbumServiceImpl.java | 20 + .../pms/service/impl/PmsBrandServiceImpl.java | 49 + .../impl/PmsCommentReplayServiceImpl.java | 20 + .../service/impl/PmsCommentServiceImpl.java | 20 + .../impl/PmsFeightTemplateServiceImpl.java | 20 + .../impl/PmsGiftsCategoryServiceImpl.java | 20 + .../pms/service/impl/PmsGiftsServiceImpl.java | 20 + .../impl/PmsMemberPriceServiceImpl.java | 20 + ...msProductAttributeCategoryServiceImpl.java | 31 + .../impl/PmsProductAttributeServiceImpl.java | 58 + .../PmsProductAttributeValueServiceImpl.java | 20 + ...tCategoryAttributeRelationServiceImpl.java | 20 + .../impl/PmsProductCategoryServiceImpl.java | 150 ++ .../impl/PmsProductConsultServiceImpl.java | 20 + .../PmsProductFullReductionServiceImpl.java | 20 + .../impl/PmsProductLadderServiceImpl.java | 20 + .../impl/PmsProductOperateLogServiceImpl.java | 20 + .../service/impl/PmsProductServiceImpl.java | 403 ++++ .../PmsProductVertifyRecordServiceImpl.java | 20 + .../service/impl/PmsSkuStockServiceImpl.java | 44 + .../PmsSmallNaviconCategoryServiceImpl.java | 19 + .../mallplus/biz/util/BuildTree.java | 113 ++ .../ordermall/mallplus/biz/util/ColUtil.java | 38 + .../mallplus/biz/util/DateUtils.java | 426 ++++ .../mallplus/biz/util/EasyPoiUtils.java | 104 + .../mallplus/biz/util/FileTypeMap.java | 27 + .../ordermall/mallplus/biz/util/FileUtil.java | 278 +++ .../mallplus/biz/util/FileUtils.java | 82 + .../ordermall/mallplus/biz/util/GenUtil.java | 315 +++ .../mallplus/biz/util/GenUtils1.java | 308 +++ .../mallplus/biz/util/IpAddressUtil.java | 45 + .../ordermall/mallplus/biz/util/JsonUtil.java | 399 ++++ .../biz/util/JsonValueProcessorImpl.java | 49 + .../mallplus/biz/util/JwtTokenUtil.java | 134 ++ .../biz/util/MatrixToImageWriter.java | 127 ++ .../ordermall/mallplus/biz/util/MyModule.java | 10 + .../ordermall/mallplus/biz/util/PageUtil.java | 55 + .../biz/util/PropertyFilterMixIn.java | 8 + .../mallplus/biz/util/QiNiuUtil.java | 57 + .../mallplus/biz/util/RedisUtil.java | 1 + .../mallplus/biz/util/RequestUtil.java | 66 + .../mallplus/biz/util/StringUtils.java | 144 ++ .../mallplus/biz/util/UserUtils.java | 25 + .../mallplus/mbg/oms/vo/CartProduct.java | 33 + .../CmsPrefrenceAreaProductRelation.java | 58 + .../pms/entity/CmsSubjectProductRelation.java | 66 + .../mbg/pms/entity/EsShopGoodsGroupMap.java | 34 + .../mallplus/mbg/pms/entity/PmsAlbum.java | 40 + .../mallplus/mbg/pms/entity/PmsAlbumPic.java | 49 + .../mallplus/mbg/pms/entity/PmsBrand.java | 214 ++ .../mallplus/mbg/pms/entity/PmsComment.java | 223 +++ .../mbg/pms/entity/PmsCommentReplay.java | 116 ++ .../mallplus/mbg/pms/entity/PmsFavorite.java | 53 + .../mbg/pms/entity/PmsFeightTemplate.java | 63 + .../mallplus/mbg/pms/entity/PmsGifts.java | 73 + .../mbg/pms/entity/PmsGiftsCategory.java | 50 + .../mbg/pms/entity/PmsMemberPrice.java | 94 + .../mallplus/mbg/pms/entity/PmsProduct.java | 319 +++ .../mbg/pms/entity/PmsProductAttribute.java | 198 ++ .../entity/PmsProductAttributeCategory.java | 52 + .../pms/entity/PmsProductAttributeValue.java | 64 + .../mbg/pms/entity/PmsProductCategory.java | 87 + .../PmsProductCategoryAttributeRelation.java | 66 + .../mbg/pms/entity/PmsProductConsult.java | 103 + .../pms/entity/PmsProductFullReduction.java | 79 + .../mbg/pms/entity/PmsProductLadder.java | 97 + .../mbg/pms/entity/PmsProductOperateLog.java | 182 ++ .../pms/entity/PmsProductVertifyRecord.java | 107 + .../mallplus/mbg/pms/entity/PmsSkuStock.java | 248 +++ .../pms/entity/PmsSmallNaviconCategory.java | 54 + .../mbg/pms/entity/brand/BrandVo.java | 25 + ...CmsPrefrenceAreaProductRelationMapper.java | 18 + .../CmsPrefrenceAreaProductRelationMapper.xml | 17 + .../CmsSubjectProductRelationMapper.java | 18 + .../CmsSubjectProductRelationMapper.xml | 17 + .../mbg/pms/mapper/PmsAlbumMapper.java | 18 + .../mbg/pms/mapper/PmsAlbumMapper.xml | 17 + .../mbg/pms/mapper/PmsAlbumPicMapper.java | 18 + .../mbg/pms/mapper/PmsAlbumPicMapper.xml | 17 + .../mbg/pms/mapper/PmsBrandMapper.java | 22 + .../mbg/pms/mapper/PmsBrandMapper.xml | 29 + .../mbg/pms/mapper/PmsCommentMapper.java | 20 + .../mbg/pms/mapper/PmsCommentMapper.xml | 35 + .../pms/mapper/PmsCommentReplayMapper.java | 18 + .../mbg/pms/mapper/PmsCommentReplayMapper.xml | 21 + .../mbg/pms/mapper/PmsFavoriteMapper.java | 22 + .../mbg/pms/mapper/PmsFavoriteMapper.xml | 24 + .../pms/mapper/PmsFeightTemplateMapper.java | 18 + .../pms/mapper/PmsFeightTemplateMapper.xml | 22 + .../pms/mapper/PmsGiftsCategoryMapper.java | 18 + .../mbg/pms/mapper/PmsGiftsMapper.java | 18 + .../pms/mapper/PmsGoodsGroupMapMapper.java | 28 + .../mbg/pms/mapper/PmsMemberPriceMapper.java | 18 + .../mbg/pms/mapper/PmsMemberPriceMapper.xml | 19 + .../PmsProductAttributeCategoryMapper.java | 22 + .../PmsProductAttributeCategoryMapper.xml | 35 + .../pms/mapper/PmsProductAttributeMapper.java | 26 + .../pms/mapper/PmsProductAttributeMapper.xml | 44 + .../PmsProductAttributeValueMapper.java | 18 + .../mapper/PmsProductAttributeValueMapper.xml | 18 + ...roductCategoryAttributeRelationMapper.java | 18 + ...ProductCategoryAttributeRelationMapper.xml | 17 + .../pms/mapper/PmsProductCategoryMapper.java | 27 + .../pms/mapper/PmsProductCategoryMapper.xml | 50 + .../pms/mapper/PmsProductConsultMapper.java | 18 + .../pms/mapper/PmsProductConsultMapper.xml | 28 + .../mapper/PmsProductFullReductionMapper.java | 18 + .../mapper/PmsProductFullReductionMapper.xml | 18 + .../pms/mapper/PmsProductLadderMapper.java | 18 + .../mbg/pms/mapper/PmsProductLadderMapper.xml | 19 + .../mbg/pms/mapper/PmsProductMapper.java | 36 + .../mbg/pms/mapper/PmsProductMapper.xml | 275 +++ .../mapper/PmsProductOperateLogMapper.java | 18 + .../pms/mapper/PmsProductOperateLogMapper.xml | 27 + .../mapper/PmsProductVertifyRecordMapper.java | 18 + .../mapper/PmsProductVertifyRecordMapper.xml | 20 + .../mbg/pms/mapper/PmsSkuStockMapper.java | 24 + .../mbg/pms/mapper/PmsSkuStockMapper.xml | 43 + .../mapper/PmsSmallNaviconCategoryMapper.java | 32 + .../mapper/PmsSmallNaviconCategoryMapper.xml | 93 + .../mallplus/mbg/pms/vo/ConsultTypeCount.java | 24 + .../mbg/pms/vo/GoodsDetailResult.java | 38 + .../mallplus/mbg/pms/vo/GoodsUtils.java | 6 + .../mallplus/mbg/pms/vo/PaiMaiParam.java | 17 + .../mbg/pms/vo/PmsProductAndGroup.java | 16 + .../mallplus/mbg/pms/vo/PmsProductAttr.java | 17 + .../vo/PmsProductAttributeCategoryItem.java | 23 + .../PmsProductCategoryWithChildrenItem.java | 21 + .../mallplus/mbg/pms/vo/PmsProductParam.java | 35 + .../mbg/pms/vo/PmsProductQueryParam.java | 101 + .../mallplus/mbg/pms/vo/PmsProductResult.java | 23 + .../mallplus/mbg/pms/vo/ProductAttrInfo.java | 27 + .../mbg/pms/vo/ProductConsultParam.java | 17 + .../mallplus/mbg/pms/vo/ProductTypeVo.java | 22 + .../mallplus/mbg/pms/vo/PromotionProduct.java | 47 + .../mallplus/mbg/pms/vo/SamplePmsProduct.java | 1 + .../com/yxt/ordermall/utils/DoubleUtils.java | 93 + .../com/yxt/ordermall/utils/ExcelUtil.java | 171 ++ .../com/yxt/ordermall/utils/OrgPathQuery.java | 14 + .../java/com/yxt/ordermall/utils/Rule.java | 15 + .../com/yxt/ordermall/utils/StyleUtils.java | 90 + .../com/yxt/ordermall/wxapi/WxBannerRest.java | 36 + .../ordermall/wxapi/vo/WxBannerListVo.java | 14 + .../com/zscat/mallplus/enums/AllEnum.java | 428 ++++ .../com/zscat/mallplus/enums/BargainEnum.java | 57 + .../com/zscat/mallplus/enums/BaseEnum.java | 7 + .../zscat/mallplus/enums/ConstansValue.java | 37 + .../com/zscat/mallplus/enums/OrderStatus.java | 40 + .../com/zscat/mallplus/enums/SmsEnum.java | 114 ++ .../com/zscat/mallplus/enums/StatusEnum.java | 92 + .../zscat/mallplus/enums/UmsStatusEnum.java | 92 + .../exception/ApiMallPlusException.java | 53 + .../exception/BusinessMallException.java | 53 + .../exception/JwtTokenExpiredException.java | 54 + .../exception/MemberNotExitException.java | 53 + .../com/zscat/mallplus/exception/Server.java | 202 ++ .../zscat/mallplus/exception/server/Cpu.java | 89 + .../zscat/mallplus/exception/server/Jvm.java | 108 + .../zscat/mallplus/exception/server/Mem.java | 54 + .../zscat/mallplus/exception/server/Sys.java | 73 + .../mallplus/exception/server/SysFile.java | 99 + .../java/com/zscat/mallplus/utils/Arith.java | 113 ++ .../com/zscat/mallplus/utils/BankUtil.java | 390 ++++ .../com/zscat/mallplus/utils/BaseEntity.java | 23 + .../com/zscat/mallplus/utils/BeanUtil.java | 104 + .../com/zscat/mallplus/utils/CommonPage.java | 1 + .../zscat/mallplus/utils/CommonResult.java | 176 ++ .../com/zscat/mallplus/utils/DateUtils.java | 135 ++ .../zscat/mallplus/utils/EncryptUtils.java | 93 + .../zscat/mallplus/utils/ExportEntityMap.java | 18 + .../mallplus/utils/ExportExcelUtils.java | 278 +++ .../com/zscat/mallplus/utils/HttpUtils.java | 314 +++ .../com/zscat/mallplus/utils/IdWorker.java | 35 + .../zscat/mallplus/utils/InterfaceUrl.java | 30 + .../zscat/mallplus/utils/IpAddressUtil.java | 1 + .../com/zscat/mallplus/utils/IpUtils.java | 1 + .../java/com/zscat/mallplus/utils/Lists.java | 1 + .../java/com/zscat/mallplus/utils/Maps.java | 42 + .../com/zscat/mallplus/utils/PhoneUtil.java | 31 + .../com/zscat/mallplus/utils/PluginUtils.java | 42 + .../mallplus/utils/ReducePriceUtils.java | 107 + .../com/zscat/mallplus/utils/Sequence.java | 128 ++ .../com/zscat/mallplus/utils/SystemClock.java | 62 + .../zscat/mallplus/utils/ValidatorUtils.java | 201 ++ .../com/zscat/mallplus/vo/ApplyRefundVo.java | 19 + .../zscat/mallplus/vo/BalancePayParam.java | 18 + .../com/zscat/mallplus/vo/BlobUpload.java | 16 + .../java/com/zscat/mallplus/vo/IdStatus.java | 12 + .../java/com/zscat/mallplus/vo/LogParam.java | 17 + .../com/zscat/mallplus/vo/LogStatisc.java | 29 + .../zscat/mallplus/vo/MallThreadLocal.java | 37 + .../zscat/mallplus/vo/OrderStatusCount.java | 25 + .../com/zscat/mallplus/vo/OssAliyunField.java | 70 + .../java/com/zscat/mallplus/vo/Rediskey.java | 99 + .../java/com/zscat/mallplus/vo/SmsCode.java | 15 + .../com/zscat/mallplus/vo/home/Configs.java | 36 + .../com/zscat/mallplus/vo/home/Pages.java | 31 + .../zscat/mallplus/vo/home/PagesItems.java | 29 + .../com/zscat/mallplus/vo/home/Params.java | 43 + .../zscat/mallplus/vo/home/ServiceMenu.java | 25 + .../mallplus/vo/timeline/TimeSecound.java | 23 + .../zscat/mallplus/vo/timeline/Timeline.java | 23 + .../mallplus/vo/timeline/TimelineMonth.java | 24 + .../mallplus/vo/timeline/TimelinePost.java | 28 + .../src/main/resources/application-devv.yml | 47 + .../src/main/resources/application-pro.yml | 38 + .../src/main/resources/application-test.yml | 45 + ordermall/src/main/resources/application.yml | 50 + .../src/main/resources/logback-spring.xml | 50 + .../java/com/yxt/ordermall/AuthFilter.java | 128 ++ .../com/yxt/ordermall/GatewayApplication.java | 18 + .../java/com/yxt/ordermall/RedisUtil.java | 300 +++ .../yxt/ordermall/utils/CacheConstants.java | 25 + .../com/yxt/ordermall/utils/CharsetKit.java | 86 + .../com/yxt/ordermall/utils/Constants.java | 29 + .../java/com/yxt/ordermall/utils/Convert.java | 999 +++++++++ .../com/yxt/ordermall/utils/HttpStatus.java | 23 + .../com/yxt/ordermall/utils/HttpUtils.java | 167 ++ .../yxt/ordermall/utils/IResultCodeMsg.java | 44 + .../utils/IgnoreWhiteProperties.java | 42 + .../com/yxt/ordermall/utils/ResultBean.java | 191 ++ .../com/yxt/ordermall/utils/StrFormatter.java | 91 + .../com/yxt/ordermall/utils/StringUtils.java | 526 +++++ .../src/main/resources/application-dev.yml | 20 + .../src/main/resources/application-pro.yml | 20 + .../src/main/resources/application-test.yml | 1 + .../src/main/resources/application.yml | 41 + 1044 files changed, 66451 insertions(+) create mode 100644 ordermall/src/main/java/com/yxt/ordermall/OrdermallApplication.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/adminservice/AdminMallMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/adminservice/AdminMallService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBag.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagDetailVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagInitVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GiftBagGoods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GiftBagGoodss.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GoodsV.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/MyGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/RecommendRecord.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNotice.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecords.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionary.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoice.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStore.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpAppletNewVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpAppletVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCard.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardExport.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardStatisticsExportVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecord.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGift.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftExport.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftListQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftListVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftStatisticsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftStatisticsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftWordVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpGiftAppletNVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpGiftAppletVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/GoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/SaveVegetableVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLog.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrder.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderCardVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/Goods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/OrderGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/ReserveOrderExport.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/ReserveOrderExportByStore.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoodsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoodsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertification.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecords.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecords.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceType.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBank.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecord.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecord.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcode.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/CustomerInfoVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomer.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/RealInfoDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/RealInfoVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/WxBindMobileDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBank.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBankQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBankVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/GiftBagGoods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBag.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagInitVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGifGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/AppletNewVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/AppletVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/BindCardDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardGrantDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardShareDetailVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardStatisticsExportVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/GoodsTypeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/GoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCard.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardExport.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardListQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardListVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardWordVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnExcelInfo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnExcelInfoDetails.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnMsg.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ShareRecord.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ShareUserVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/GoodsTypeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/Goods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrder.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderCardVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/MergeStrategy.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/OrderGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExport.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByBank.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByStore.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByZ.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoodsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoodsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStore.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/StoreSelect.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecord.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrder.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrderParams.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrderUrl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayOrderVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayParams.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayResult.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayUrl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/TradeNoUrl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorder/TradeParams.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetail.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/package-info.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBag.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagDetailVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagInitVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetails.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundBusinessQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrder.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/region/Region.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/MergeStrategy.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/OrderGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrder.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetails.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCart.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCoupon.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponHistory.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponProductCategoryRelation.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponProductRelation.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sms/vo/SmsCouponHistoryDetail.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sms/vo/SmsCouponParam.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUser.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserInfoVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserListVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sysuser/UserQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/sysuser/UserRoleQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecords.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetails.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetails.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetailsDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetailsQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/Goods.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/LpkReserveOrderCardVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/MergeStrategy.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/OrderGoodsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExport.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByBank.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByStore.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByZ.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrder.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegereplenish/VegeReplenish.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegereplenishdetail/VegeReplenishDetail.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellar.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/vegeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminBankRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminMallRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminReserveRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/BannerRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/OrdertoolsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/PmsBrandRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysMenuRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysMenuRoleRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysOrganizationRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysPostRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysRoleAuthorizeRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysRoleRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysStaffOrgRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysStaffinfoRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysUserRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysUserRoleRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SystemLogRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/OrdertoolsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/ToImportOrderExcel.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/WxOrderIn.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/vo/PmsBrandVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/apiadmin/vo/PmsProductCategoryVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBanner.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSku.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuPurSelectList.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuPurSelectQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuSelectList.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuSelectQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/SkuSelectList1.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtend.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/UrlsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsImportVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpu.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetail.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsType.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnit.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturer.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/commonmethod/CommonMethod.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/commonmethod/DataRule.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommon.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonTypeQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictType.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/Region.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionChildTwoVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionChildVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionListVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionThirdLevelNameVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/ButtonPermissionQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/ButtonPermissionVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenu.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuFunctionQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuTreeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/MenuRoleVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRole.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/AppContactSysOrganizationVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/QrCodeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgListVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgStaffVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganization.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPost.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostListVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRole.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysMenuRoleVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorize.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/AppContactsDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/PcSysStaffQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/PcSysStaffVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoAppContactsSearchVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoAppContactsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/WxBase64Query.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/WxSysInfoQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/app/AppSysStaffQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/app/AppSysStaffVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgByUserVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLog.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuser/SysUserService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRole.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/generateRule/UniqueIdGenerator.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderGoodsItem.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/package-info.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/region/RegionRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/scheduled/scheduledRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponHistoryService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponProductCategoryRelationService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponProductRelationService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveAllExcel.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveBankExcel.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveCustomerExcel.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveOrderVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveStoreExcel.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/wx/RequestMes.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/wx/WxConfig.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/biz/wx/invoice/ElectronicInvoiceService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/config/SaTokenConfigure.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/config/SaTokenGloableException.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/config/YythConfig.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/config/package-info.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/YythFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basebrandinfo/BaseBrandInfoFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basebrandinfo/BaseBrandInfoFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuDetailsVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsspu/BaseGoodsSpuFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsspu/BaseGoodsSpuFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodstype/BaseGoodsTypeFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodstype/BaseGoodsTypeFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsunit/BaseGoodsUnitFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsunit/BaseGoodsUnitFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basemanufacturer/BaseManufacturerFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/base/basemanufacturer/BaseManufacturerFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/package-info.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/dictcommon/DictCommonFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/dictcommon/DictCommonFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/dicttype/DictTypeFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/dicttype/DictTypeFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/privilege/PrivilegeQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/region/RegionFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenu/SysMenuFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenu/SysMenuFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenurole/SysMenuRoleFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenurole/SysMenuRoleFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysorganization/SysOrganizationFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysorganization/SysOrganizationFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/syspost/SysPostFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/syspost/SysPostFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysrole/SysRoleFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysrole/SysRoleFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysroleauthorize/SysRoleAuthorizeFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysroleauthorize/SysRoleAuthorizeFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysstaffinfo/SysStaffinfoFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysstafforg/SysStaffOrgFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/systemlog/SystemLogFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/systemlog/SystemLogFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/OrgList.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysOrganization.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysStaffOrgVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUser.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserDto.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuserrole/SysUserRoleFeign.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuserrole/SysUserRoleFeignFallback.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsAlbumController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsAlbumPicController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsBrandController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsCommentController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsCommentReplayController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsFeightTemplateController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsGiftsCategoryController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsGiftsController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsMemberPriceController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeCategoryController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeValueController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductCategoryAttributeRelationController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductCategoryController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductConsultController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductFullReductionController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductLadderController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductOperateLogController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductVertifyRecordController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsSkuStockController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsSmallNaviconCategoryController.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsAlbumPicService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsAlbumService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsBrandService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsCommentReplayService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsCommentService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsFeightTemplateService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsGiftsCategoryService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsGiftsService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsMemberPriceService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeCategoryService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeValueService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductCategoryAttributeRelationService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductCategoryService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductConsultService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductFullReductionService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductLadderService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductOperateLogService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductVertifyRecordService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsSkuStockService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsSmallNaviconCategoryService.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsAlbumPicServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsAlbumServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsBrandServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsCommentReplayServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsCommentServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsFeightTemplateServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsGiftsCategoryServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsGiftsServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsMemberPriceServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeCategoryServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeValueServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductCategoryAttributeRelationServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductCategoryServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductConsultServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductFullReductionServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductLadderServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductOperateLogServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductVertifyRecordServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsSkuStockServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsSmallNaviconCategoryServiceImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/BuildTree.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/ColUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/DateUtils.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/EasyPoiUtils.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileTypeMap.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileUtils.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/GenUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/GenUtils1.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/IpAddressUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JsonUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JsonValueProcessorImpl.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JwtTokenUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/MatrixToImageWriter.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/MyModule.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/PageUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/PropertyFilterMixIn.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/QiNiuUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/RedisUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/RequestUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/StringUtils.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/UserUtils.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/oms/vo/CartProduct.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/CmsPrefrenceAreaProductRelation.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/CmsSubjectProductRelation.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/EsShopGoodsGroupMap.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsAlbum.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsAlbumPic.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsBrand.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsComment.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsCommentReplay.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsFavorite.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsFeightTemplate.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsGifts.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsGiftsCategory.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsMemberPrice.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProduct.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttribute.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttributeCategory.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttributeValue.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductCategory.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductCategoryAttributeRelation.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductConsult.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductFullReduction.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductLadder.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductOperateLog.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductVertifyRecord.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsSkuStock.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsSmallNaviconCategory.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/brand/BrandVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsPrefrenceAreaProductRelationMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsPrefrenceAreaProductRelationMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsSubjectProductRelationMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsSubjectProductRelationMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumPicMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumPicMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsBrandMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsBrandMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentReplayMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentReplayMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFavoriteMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFavoriteMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFeightTemplateMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFeightTemplateMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGiftsCategoryMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGiftsMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGoodsGroupMapMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsMemberPriceMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsMemberPriceMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeCategoryMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeCategoryMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeValueMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeValueMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryAttributeRelationMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryAttributeRelationMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductConsultMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductConsultMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductFullReductionMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductFullReductionMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductLadderMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductLadderMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductOperateLogMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductOperateLogMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductVertifyRecordMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductVertifyRecordMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSkuStockMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSkuStockMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSmallNaviconCategoryMapper.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSmallNaviconCategoryMapper.xml create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ConsultTypeCount.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/GoodsDetailResult.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/GoodsUtils.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PaiMaiParam.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAndGroup.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAttr.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAttributeCategoryItem.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductCategoryWithChildrenItem.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductParam.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductQueryParam.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductResult.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductAttrInfo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductConsultParam.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductTypeVo.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PromotionProduct.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/SamplePmsProduct.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/utils/DoubleUtils.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/utils/ExcelUtil.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/utils/OrgPathQuery.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/utils/Rule.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/utils/StyleUtils.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/wxapi/WxBannerRest.java create mode 100644 ordermall/src/main/java/com/yxt/ordermall/wxapi/vo/WxBannerListVo.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/enums/AllEnum.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/enums/BargainEnum.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/enums/BaseEnum.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/enums/ConstansValue.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/enums/OrderStatus.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/enums/SmsEnum.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/enums/StatusEnum.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/enums/UmsStatusEnum.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/ApiMallPlusException.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/BusinessMallException.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/JwtTokenExpiredException.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/MemberNotExitException.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/Server.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/server/Cpu.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/server/Jvm.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/server/Mem.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/server/Sys.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/exception/server/SysFile.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/Arith.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/BankUtil.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/BaseEntity.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/BeanUtil.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/CommonPage.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/CommonResult.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/DateUtils.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/EncryptUtils.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/ExportEntityMap.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/ExportExcelUtils.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/HttpUtils.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/IdWorker.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/InterfaceUrl.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/IpAddressUtil.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/IpUtils.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/Lists.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/Maps.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/PhoneUtil.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/PluginUtils.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/ReducePriceUtils.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/Sequence.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/SystemClock.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/utils/ValidatorUtils.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/ApplyRefundVo.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/BalancePayParam.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/BlobUpload.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/IdStatus.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/LogParam.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/LogStatisc.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/MallThreadLocal.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/OrderStatusCount.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/OssAliyunField.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/Rediskey.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/SmsCode.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/home/Configs.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/home/Pages.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/home/PagesItems.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/home/Params.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/home/ServiceMenu.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimeSecound.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/timeline/Timeline.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimelineMonth.java create mode 100644 ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimelinePost.java create mode 100644 ordermall/src/main/resources/application-devv.yml create mode 100644 ordermall/src/main/resources/application-pro.yml create mode 100644 ordermall/src/main/resources/application-test.yml create mode 100644 ordermall/src/main/resources/application.yml create mode 100644 ordermall/src/main/resources/logback-spring.xml create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/AuthFilter.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/GatewayApplication.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/RedisUtil.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/CacheConstants.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/CharsetKit.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/Constants.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/Convert.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/HttpStatus.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/HttpUtils.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/IResultCodeMsg.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/IgnoreWhiteProperties.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/ResultBean.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/StrFormatter.java create mode 100644 ordermallGateway/src/main/java/com/yxt/ordermall/utils/StringUtils.java create mode 100644 ordermallGateway/src/main/resources/application-dev.yml create mode 100644 ordermallGateway/src/main/resources/application-pro.yml create mode 100644 ordermallGateway/src/main/resources/application-test.yml create mode 100644 ordermallGateway/src/main/resources/application.yml diff --git a/ordermall/src/main/java/com/yxt/ordermall/OrdermallApplication.java b/ordermall/src/main/java/com/yxt/ordermall/OrdermallApplication.java new file mode 100644 index 0000000..6d2558b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/OrdermallApplication.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall; + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableScheduling; + +/** + * @author dimengzhe + */ +@SpringBootApplication(scanBasePackages = { + "com.yxt.ordermall.config", + "com.yxt.common.base.config", + "com.yxt.ordermall" +}) +// 启用自带定时任务 +@EnableScheduling +@EnableFeignClients(basePackages = {}) +public class OrdermallApplication { + public static void main(String[] args) { + SpringApplication.run(OrdermallApplication.class, args); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/adminservice/AdminMallMapper.java b/ordermall/src/main/java/com/yxt/ordermall/adminservice/AdminMallMapper.java new file mode 100644 index 0000000..9a4af81 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/adminservice/AdminMallMapper.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.adminservice; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.apiadmin.vo.PmsBrandVo; +import com.yxt.ordermall.apiadmin.vo.PmsProductCategoryVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface AdminMallMapper extends BaseMapper { + + @Select("select * from pms_brand ") + List listBrand(); + + @Select("select * from pms_product_category where parent_id=0 ") + List listAllCategory(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/adminservice/AdminMallService.java b/ordermall/src/main/java/com/yxt/ordermall/adminservice/AdminMallService.java new file mode 100644 index 0000000..f351059 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/adminservice/AdminMallService.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.adminservice; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.apiadmin.vo.PmsBrandVo; +import com.yxt.ordermall.apiadmin.vo.PmsProductCategoryVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class AdminMallService extends ServiceImpl { + + + public List listBrand() { + return baseMapper.listBrand(); + } + + public List listAllCategory() { + return baseMapper.listAllCategory(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBag.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBag.java new file mode 100644 index 0000000..04ce88d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBag.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "礼包信息", description = "礼包信息") +@TableName("applet_giftbag") +@Data +public class AppletGiftBag { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dateStart; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dateEnd; + private String name; + private String price; + private String iconUrl; + private String isGrounding; + private String isRecommend; + private String preferentialPrice; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagDetailVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagDetailVo.java new file mode 100644 index 0000000..b37840d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagDetailVo.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/6 15:39 + */ +@Data +public class AppletGiftBagDetailVo { + private String sid; + private String name; + private String dateStart; + private String dateEnd; + private String price; + private String iconUrl; + private String isEnable; + private String isGrounding; + private String isRecommend; + private String remark; + private String count; + private List goods = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagDto.java new file mode 100644 index 0000000..2b104d0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagDto.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "礼包信息 数据传输对象", description = "礼包信息 数据传输对象") +@Data +public class AppletGiftBagDto implements Dto { + + private String sid; + private String remarks; + private String dateStart; + private String dateEnd; + private String name; + private String price; + private String iconUrl; + private String isGrounding; + private String isRecommend; + private String preferentialPrice; + //商品sid + private List goods = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagInitVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagInitVo.java new file mode 100644 index 0000000..7ce6e3f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagInitVo.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/22 11:15 + */ +@Data +public class AppletGiftBagInitVo implements Vo { + private String sid; + private String remarks; + private String dateStart; + private String dateEnd; + private String name; + private String price; + private String iconUrl; + private String isRecommend; + private String preferentialPrice; + //商品sid + private List goods = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagQuery.java new file mode 100644 index 0000000..69fc3a7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "礼包信息 查询条件", description = "礼包信息 查询条件") +@Data +public class AppletGiftBagQuery implements Query { + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagVo.java new file mode 100644 index 0000000..d02ef4e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/AppletGiftBagVo.java @@ -0,0 +1,45 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecordVo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.text.DecimalFormat; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "礼包信息 视图数据对象", description = "礼包信息 视图数据对象") +@NoArgsConstructor +public class AppletGiftBagVo implements Vo { + private String sid; + private String name;// + private String dateStart; + private String dateEnd; + private String price;//礼包总价格 + private String prefPrice;//优惠价格 + private String iconUrl;//图片 + private String isEnable; + private String isGrounding; + private String isRecommend;//是否推荐 1 推荐 0 默认 + private String remarks; + private String count;// + private String goodsSid; + private String weight="0";//重量 + private List giftBagGoods; + private List recordList; + private List newcomerRecoRecordVos; + + public String getPrice() { + DecimalFormat decimalFormat = new DecimalFormat("#0.00"); + if(null==price){ + price="0"; + } + return price=decimalFormat.format(Double.valueOf(price)); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GiftBagGoods.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GiftBagGoods.java new file mode 100644 index 0000000..2e0987c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GiftBagGoods.java @@ -0,0 +1,87 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.StrUtil; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/22 11:08 + */ +@Data +public class GiftBagGoods { + private String goodsSid; + private String goodsNumber = "0";//份数 + private String name; //商品名 + private String unitName; //单位 + private String price; //商品单价 + private String iconUrl;//图片 + private String remark; //备注 + private String weight; //每份的重量 + private String jPrice; //每斤单价 + private String specificationUnit; //规格单位 + private String totalValue; //总价值 + private String spec; //总价值 + private String count="0"; //总价值 + private String mefenPrice; + +// public String getJPrice() { +// +// if (StringUtils.isBlank(jPrice)) { +// jPrice = "0"; +// } +// DecimalFormat decimalFormat = new DecimalFormat("#0.00"); +// return decimalFormat.format(Double.valueOf(jPrice)); +// } + + public String getMefenPrice() { + double dj = 0.0; + if (StrUtil.isNotBlank(price)) { + try { + dj = Double.parseDouble(price); + } catch (Exception e) { + e.printStackTrace(); + } + } + int js = 1; + if (StrUtil.isNotBlank(weight)) { + try { + js = Integer.parseInt(weight); + } catch (Exception e) { + e.printStackTrace(); + } + } + double mfjg = dj * js; + return NumberUtil.decimalFormatMoney(mfjg); + } + + public String getSubtotal() { + double dj = 0.0; + if (StrUtil.isNotBlank(price)) { + try { + dj = Double.parseDouble(price); + } catch (Exception e) { + e.printStackTrace(); + } + } + int js = 1; + if (StrUtil.isNotBlank(weight)) { + try { + js = Integer.parseInt(weight); + } catch (Exception e) { + e.printStackTrace(); + } + } + int fs = 1; + if (StrUtil.isNotBlank(goodsNumber)) { + try { + fs = Integer.parseInt(goodsNumber); + } catch (Exception e) { + e.printStackTrace(); + } + } + double mfjg = dj * js * fs; + return NumberUtil.decimalFormatMoney(mfjg); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GiftBagGoodss.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GiftBagGoodss.java new file mode 100644 index 0000000..ba4dc71 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GiftBagGoodss.java @@ -0,0 +1,70 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import cn.hutool.core.util.StrUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/1/16 12:07 + */ +@Data +public class GiftBagGoodss { + private String goodsSid; + private String goodsNumber = "0";//份数 + private String name; //商品名 + private String unitName; //单位 + private String price; //商品单价 + private String iconUrl;//图片 + private String remark; //备注 + private String weight; //每份的重量 + private String jPrice; //每斤单价 + private String specificationUnit; //规格单位 + private String prefPrice;//优惠价格 + private String bagPrice;//礼包价格 + private String totalValue; //总价值 + private String spec; //总价值 + private String count="0"; //总价值 + private String mefenPrice="0"; + private boolean showCart=false; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date periodValidity; + private String state="0"; + private String remarks; + + + + + public String getSubtotal() { + double dj = 0.0; + if (StrUtil.isNotBlank(price)) { + try { + dj = Double.parseDouble(price); + } catch (Exception e) { + e.printStackTrace(); + } + } + int js = 1; + if (StrUtil.isNotBlank(weight)) { + try { + js = Integer.parseInt(weight); + } catch (Exception e) { + e.printStackTrace(); + } + } + int fs = 1; + if (StrUtil.isNotBlank(goodsNumber)) { + try { + fs = Integer.parseInt(goodsNumber); + } catch (Exception e) { + e.printStackTrace(); + } + } + double mfjg = dj * js * fs; + int m=(int)mfjg; +// return NumberUtil.decimalFormatMoney(mfjg); + return String.valueOf(m); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GoodsV.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GoodsV.java new file mode 100644 index 0000000..dc06d05 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/GoodsV.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/17 10:18 + */ +@Data +public class GoodsV { + private String weight; + private String price; + private List giftBagGoodssList; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/MyGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/MyGoodsVo.java new file mode 100644 index 0000000..58c8d5b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/MyGoodsVo.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/1/18 8:50 + */ +@Data +public class MyGoodsVo { + private String goodsSid; + private String name; //商品名 + private String goodsNumber ;//份数 + private String residue ;//剩余 + private String iconUrl;//图片 + private String weight; //每份的重量 + private String remark; //备注 + private String type; //0 百姓菜窖 1 精品菜窖 2 企业菜窖 + private String specificationUnit; //规格单位 + private String unitName; //份 + private String count="0"; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date periodValidity; + private String state="0";//商品过期状态 0未过期 1已过期 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/RecommendRecord.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/RecommendRecord.java new file mode 100644 index 0000000..082efb7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbag/RecommendRecord.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.api.appletgiftbag; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/11 9:29 + */ +@Data +public class RecommendRecord { + private String content; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoods.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoods.java new file mode 100644 index 0000000..e422162 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoods.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.appletgiftbaggoods; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "礼包包含商品信息", description = "礼包包含商品信息") +@TableName("applet_giftbag_goods") +@Data +public class AppletGiftBagGoods { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String giftbagSid; + private String goodsSid; + private String goodsNumber; +// private String isGrounding; + private double price; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsDto.java new file mode 100644 index 0000000..703fa4a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsDto.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.appletgiftbaggoods; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "礼包包含商品信息 数据传输对象", description = "礼包包含商品信息 数据传输对象") +@Data +public class AppletGiftBagGoodsDto implements Dto { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsQuery.java new file mode 100644 index 0000000..f3a31e3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.appletgiftbaggoods; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "礼包包含商品信息 查询条件", description = "礼包包含商品信息 查询条件") +@Data +public class AppletGiftBagGoodsQuery implements Query { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsVo.java new file mode 100644 index 0000000..f8f203c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletgiftbaggoods/AppletGiftBagGoodsVo.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.appletgiftbaggoods; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "礼包包含商品信息 视图数据对象", description = "礼包包含商品信息 视图数据对象") +@NoArgsConstructor +public class AppletGiftBagGoodsVo implements Vo { + private String goodsName; + private double goodsNumber; + private String picUrl; + private String goodsSid; + private String price; + private String unitName; + private String remarks; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNotice.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNotice.java new file mode 100644 index 0000000..8c3489f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNotice.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.api.appletnotice; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class AppletNotice { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String title; + private String content; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date startDate; + @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") + private Date endDate; + private String sort; + @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") + private Date releaseTime;//发布时间 + private String publisher;//发布人 + private String isShow; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeDto.java new file mode 100644 index 0000000..698c9ab --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeDto.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.api.appletnotice; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class AppletNoticeDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String title;//标题 + private String content;//内容 + + private String startDate;//开始时间 + + private String endDate;//结束时间 + private String sort;//排序 + + private String releaseTime;//发布时间 + private String publisher;//发布人 + private String isShow; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeQuery.java new file mode 100644 index 0000000..aedf0a4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeQuery.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.appletnotice; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class AppletNoticeQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeVo.java new file mode 100644 index 0000000..04aaca0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/appletnotice/AppletNoticeVo.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.api.appletnotice; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class AppletNoticeVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String title;//标题 + private String content;//内容 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date startDate;//开始时间 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date endDate;//结束时间 + private String sort;//排序 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date releaseTime;//发布时间 + private String publisher;//发布人 + private String isShow; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecords.java b/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecords.java new file mode 100644 index 0000000..fe2b1d0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecords.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.approvalrecords; + +import lombok.Data; + +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class ApprovalRecords { + + private String id; + private String sid= UUID.randomUUID().toString(); + private String createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String approvalOpinions;//审核意见 + private String operator;//操作人 + private String operatorSid;//操作人sid + private String approvalStatus;//审核状态 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsDto.java new file mode 100644 index 0000000..9869470 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsDto.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.api.approvalrecords; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class ApprovalRecordsDto implements Dto { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String approvalOpinions;//审核意见 + private String operator;//操作人 + private String operatorSid;//操作人sid + private String approvalStatus;//审核状态 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsQuery.java new file mode 100644 index 0000000..2b48019 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.approvalrecords; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class ApprovalRecordsQuery implements Query { + private String shortName; + private String name; + private String reviewStatus; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsVo.java new file mode 100644 index 0000000..02d4245 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/approvalrecords/ApprovalRecordsVo.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.approvalrecords; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class ApprovalRecordsVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String approvalOpinions;//审核意见 + private String operator;//操作人 + private String operatorSid;//操作人sid + private String approvalStatus;//审核状态 + private String customerName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionary.java b/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionary.java new file mode 100644 index 0000000..d8480ad --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionary.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.cannotreservedictionary; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "不能预约时间字典", description = "不能预约时间字典") +@TableName("cannot_reserve_dictionary") +@Data +public class CannotReserveDictionary { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String unavailableTime; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryDto.java new file mode 100644 index 0000000..19f819c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryDto.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.cannotreservedictionary; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "不能预约时间字典 数据传输对象", description = "不能预约时间字典 数据传输对象") +@Data +public class CannotReserveDictionaryDto implements Dto { + private String id; + private String sid ; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String unavailableTime; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryQuery.java new file mode 100644 index 0000000..7df8c44 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.cannotreservedictionary; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "不能预约时间字典 查询条件", description = "不能预约时间字典 查询条件") +@Data +public class CannotReserveDictionaryQuery implements Query { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryVo.java new file mode 100644 index 0000000..e602bb8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/cannotreservedictionary/CannotReserveDictionaryVo.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.cannotreservedictionary; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "不能预约时间字典 视图数据对象", description = "不能预约时间字典 视图数据对象") +@NoArgsConstructor +public class CannotReserveDictionaryVo implements Vo { + private String id; + private String sid ; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String unavailableTime; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoice.java b/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoice.java new file mode 100644 index 0000000..16f5047 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoice.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.api.customerinvoice; + +import lombok.Data; + +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class CustomerInvoice { + + private String id; + private String sid= UUID.randomUUID().toString(); + private String createTime; + private String remarks; + private String isEnable; + private String invoiceTypeSid;//发票类型sid + private String invoiceType;//发票类型 + private String headingType;//发票类型 + private String invoiceHeader;//发票抬头 + private String dutyParagraph;//税号 + private String bankOfDeposit;//开户行 + private String bankAccount;//账号 + private String enterpriseAddress;//企业地址 + private String enterprisePhone;//企业电话 + private String isDefault;//是否默认 1 为默认 + private String customerSid; + private String email; + + + + + + + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceDto.java new file mode 100644 index 0000000..b306052 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceDto.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.customerinvoice; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class CustomerInvoiceDto implements Dto { + private String sid; + private String id; + private String createTime; + private String remarks; + private String isEnable; + private String invoiceTypeSid;//发票类型sid + private String invoiceType;//发票类型 + private String headingType;//发票类型 + private String invoiceHeader;//发票抬头 + private String dutyParagraph;//税号 + private String bankOfDeposit;//开户行 + private String bankAccount;//账号 + private String enterpriseAddress;//企业地址 + private String enterprisePhone;//企业电话 + private String isDefault;//是否默认 1 为默认 + private String customerSid; + private String email; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceQuery.java new file mode 100644 index 0000000..34b138c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceQuery.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.customerinvoice; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class CustomerInvoiceQuery implements Query { + private String shortName; + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceVo.java new file mode 100644 index 0000000..a2fde50 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/customerinvoice/CustomerInvoiceVo.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.customerinvoice; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class CustomerInvoiceVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String invoiceTypeSid;//发票类型sid + private String invoiceType;//发票类型 + private String headingType;//发票类型 + private String invoiceHeader;//发票抬头 + private String dutyParagraph;//税号 + private String bankOfDeposit;//开户行 + private String bankAccount;//账号 + private String enterpriseAddress;//企业地址 + private String enterprisePhone;//企业电话 + private String isDefault;//是否默认 1 为默认 + private String customerSid; + private String email; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStore.java b/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStore.java new file mode 100644 index 0000000..2927101 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStore.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.customerstore; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "礼包包含商品信息", description = "礼包包含商品信息") +@TableName("customer_store") +@Data +public class CustomerStore { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String storeSid; +// private String isGrounding; + private String phone; + private String name; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreDto.java new file mode 100644 index 0000000..25fcf98 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreDto.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.api.customerstore; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "礼包包含商品信息 数据传输对象", description = "礼包包含商品信息 数据传输对象") +@Data +public class CustomerStoreDto implements Dto { + private String id; + private String sid ; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String storeSid; + // private String isGrounding; + private String phone; + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreQuery.java new file mode 100644 index 0000000..3aeba0f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.customerstore; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "礼包包含商品信息 查询条件", description = "礼包包含商品信息 查询条件") +@Data +public class CustomerStoreQuery implements Query { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreVo.java new file mode 100644 index 0000000..b0af4a5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/customerstore/CustomerStoreVo.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.api.customerstore; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "礼包包含商品信息 视图数据对象", description = "礼包包含商品信息 视图数据对象") +@NoArgsConstructor +public class CustomerStoreVo implements Vo { + private String id; + private String sid ; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String storeSid; + private String storeName;//提货点名称 + private String businessHours;//营业时间 + private String address;//地址 + // private String isGrounding; + private String phone;//电话 + private String name;//姓名 + private String start; + private String end; + private String reserveDate; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpAppletNewVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpAppletNewVo.java new file mode 100644 index 0000000..6031ffa --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpAppletNewVo.java @@ -0,0 +1,99 @@ +package com.yxt.ordermall.api.empcard; + +import cn.hutool.core.date.DateUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.ordermall.api.empcardgift.EmpCardGiftVo; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/9 15:26 + */ +@Data +public class EmpAppletNewVo { + private String dateStart; + private String dateEnd; + private String customerSid; + private String giftbagSid; + private String code; + private String sid ; + private String state; + private String states; + private boolean showBtn=true; + private boolean showRecord=true; + private String time; + private String name="卡号:"; + private String pName; + private String start; + private String end; + private String store; //门店 + private String reserveDate; //预约时间 + private List goodsVos; + private List select; + private String storeSid;//上次提货地点 + private String addressName; + private String isReservation;//是否超过预约时间 0 否 1是 + private boolean notRese=true; //是否能预约 + private List empCardGiftVos; + private String value; + private String serialNumber; + private String giftCode; + private String giftCodeKey; + private String qrCode; + private List orderCardVoList; + private String isTransfer; + + + + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); + if( String.valueOf(i).equals("-1")){ + state="已过期"; + showBtn=false; + }else if(isTransfer.equals("1")){ + state="已转赠"; + showBtn=false; + this.notRese=false; + } + else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + this.notRese=false; + }else{ + this.state="已完成"; + showBtn=false; + } + }else if(states.equals("4")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="待提货"; + } + } + } + }else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="已完成"; + showBtn=false; + } + } + } + return state; + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpAppletVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpAppletVo.java new file mode 100644 index 0000000..14a4f66 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpAppletVo.java @@ -0,0 +1,241 @@ +package com.yxt.ordermall.api.empcard; + +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.ordermall.api.empcardgift.EmpCardGiftVo; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 11:26 + */ +@Data +public class EmpAppletVo { + private String dateStart; + private String dateEnd; + private String customerSid; + private String giftbagSid; + private String code; + private String sid ; + private String state; + private String states; + private boolean showBtn=true; + private boolean showRecord=true; + private String time; + private String name="卡号:"; + private String pName; + private String start; + private String end; + private String store; //门店 + private String reserveDate; //预约时间 + private List goodsVos; + private List select; + private String storeSid;//上次提货地点 + private String addressName; + private String isReservation;//是否超过预约时间 0 否 1是 + private boolean notRese=true; //是否能预约 + private List empCardGiftVos; + private String value; + private String serialNumber; + private String giftCode; + private String giftCodeKey; + private String qrCode; + private List orderCardVoList; + private String isTransfer; + + public String getStart() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalTime timeOfDay = LocalTime.of(15, 0); // 设置下午3点的小时数为15,分钟数为0 + LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 + + ZoneId zoneId = ZoneId.systemDefault(); + Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); +// System.out.println(date); + //1>2 1 、1<2 -1 、1=2 0 + int k=DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(new Date())))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(date))))); + if(String.valueOf(k).equals("1")){ + int j=DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(new Date())))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse("2024-01-15")))); + if(String.valueOf(j).equals("1")){ + start=sdf.format(DateUtil.offsetDay(new Date(),+2)); + }else{ +// start=sdf.format(DateUtil.offsetDay(new Date(),+2)); + start=sdf.format(DateUtil.offsetDay(DateUtil.parse("2024-01-15"),+2)); + } + + }else{ + int j=DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(new Date())))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse("2024-01-15")))); + if(String.valueOf(j).equals("1")){ + start=sdf.format(DateUtil.offsetDay(new Date(),+1)); + }else{ +// start=sdf.format(DateUtil.offsetDay(new Date(),+2)); + start=sdf.format(DateUtil.offsetDay(DateUtil.parse("2024-01-15"),+1)); + } +// start=sdf.format(DateUtil.offsetDay(new Date(),+1)); + } + + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(start))).compareTo(DateUtil.parse(sdf.format(DateUtil.parse(dateEnd)))); + if(String.valueOf(i).equals("-1")){ + long o=DateUtil.between(DateUtil.parse(start),DateUtil.parse(dateEnd), DateUnit.DAY); + if(o<10){ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),10)); + }else{ +// end=sdf.format(DateUtil.parse(dateEnd)); + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(start),4)); + } + }else{ + if(String.valueOf(k).equals("1")){ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),2)); + }else{ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),1)); + } + } + } + reserveDate=start; + return start; + } + public String getName() { + name=name+code; + return name; + } + + public String getTime() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy.MM.dd"); + if(StringUtils.isNotBlank(dateStart)){ + if(StringUtils.isNotBlank(dateEnd)){ + time=sdf.format(DateUtil.parse(dateStart))+"~"+sdf.format(DateUtil.parse(dateEnd)); + } + } + return time; + } + + /* public boolean isShowBtn() { + if(states.equals("5")){ + if(isReservation.equals("1")){ + this.state="已完成"; + showBtn=false; + } + } + return showBtn; + }*/ + /*public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); + if( String.valueOf(i).equals("-1")){ + state="已过期"; + showBtn=false; + }else{ + state="待提货"; + if(states.equals("2")){ + this.state="已绑定"; + + }else if(states.equals("3")){ + this.state="已完成"; + showBtn=false; + } + } + }else{ + state="已绑定"; + if(states.equals("2")){ + this.state="已预约"; + } + } + return state; + }*/ + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); + if( String.valueOf(i).equals("-1")){ + state="已过期"; + showBtn=false; + }else if(isTransfer.equals("1")){ + state="已转赠"; + showBtn=false; + this.notRese=false; + } + else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + this.notRese=false; + }else{ + this.state="已完成"; + showBtn=false; + } + }else if(states.equals("4")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="待提货"; + } + } + } + }else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="已完成"; + showBtn=false; + } + } + } + return state; + } +// public String getState() { +// SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); +// if(StringUtils.isNotBlank(dateEnd)){ +// int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); +// if( String.valueOf(i).equals("-1")){ +// state="已过期"; +// showBtn=false; +// }else{ +// state="待提货"; +// if(states.equals("5")){ +// if(isReservation.equals("0")){ +// this.state="已预约"; +// this.notRese=false; +// }else{ +// this.state="已完成"; +// showBtn=false; +// } +// }else if(states.equals("4")){ +// if(isReservation.equals("0")){ +// this.state="已预约"; +// }else{ +// this.state="待提货"; +// } +// } +// } +// }else{ +// state="待提货"; +// if(states.equals("5")){ +// if(isReservation.equals("0")){ +// this.state="已预约"; +// }else{ +// this.state="已完成"; +// showBtn=false; +// } +// } +// } +// return state; +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCard.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCard.java new file mode 100644 index 0000000..e16bf67 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCard.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.api.empcard; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class EmpCard { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String recordId; + private String recordSid; + private String giftbagSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private Date bindDate; + private String isReservation ;//是否超过预约时间 0 否 1是 + private String isTransfer ;//是否转增 0 未转赠 1 转赠 + private String isItInvalid ;//是否失效 0 有效 1失效 用于排序失效卡排后边 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardDto.java new file mode 100644 index 0000000..ce9da92 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardDto.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.api.empcard; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String recordId; + private String recordSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + private String grantDate; + private String customerSid; + private String customerMobile; + + private String giftbagSid; + private String num; + private String cardArea; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardExport.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardExport.java new file mode 100644 index 0000000..cc8091c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardExport.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.empcard; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 11:29 + */ +@Data +public class EmpCardExport { + @ExportEntityMap(CnName = "企业卡二维码", EnName = "pic") + private String pic; + @ExportEntityMap(CnName = "企业卡编码第一行", EnName = "code1") + private String code1; + @ExportEntityMap(CnName = "企业卡编码第二行", EnName = "code2") + private String code2; + @ExportEntityMap(CnName = "企业卡密码", EnName = "codeKey") + private String codeKey; + @ExportEntityMap(CnName = "序列号", EnName = "serialNumber") + private String serialNumber; + private String code; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardQuery.java new file mode 100644 index 0000000..267af96 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardQuery.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.empcard; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardQuery implements Query { + private String state; + private String noEnd; + private String noStart; + + private String number; + private String sid; + private String customerSid; + private String serialNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardStatisticsExportVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardStatisticsExportVo.java new file mode 100644 index 0000000..0a21c34 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardStatisticsExportVo.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.api.empcard; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/22 14:11 + */ +@Data +public class EmpCardStatisticsExportVo { + @ColumnWidth(30) + @ExcelProperty(value = "卡号",index = 1) + private String code; + @ColumnWidth(20) + @ExcelProperty(value = "序列号",index = 0) + private String serialNumber; + @ColumnWidth(20) + @ExcelProperty(value = "发行时间",index = 2) + private String createTime; +// @ColumnWidth(20) +// @ExcelProperty(value = "卡片种类",index = 2) +// private String cardType; +// @ColumnWidth(20) +// @ExcelProperty(value = "发行人",index = 3) +// private String people; + @ColumnWidth(20) + @ExcelProperty(value = "状态",index = 3) + private String stateValue; +// @ColumnWidth(20) +// @ExcelProperty(value = "是否过期",index = 5) +// private String isExpire; +// @ColumnWidth(20) +// @ExcelProperty(value = "是否作废",index = 6) +// private String isCancel; +// @ColumnWidth(20) +// @ExcelProperty(value = "绑定id",index = 7) +// private String bind; + @ColumnWidth(20) + @ExcelProperty(value = "绑定时间",index = 4) + private String bindDate; +// @ColumnWidth(20) +// @ExcelProperty(value = "提货卡商品",index = 9) +// private String goodsName; +// @ColumnWidth(20) +// @ExcelProperty(value = "商品数量(份)",index = 10) +// private String goodsNumber; +// @ColumnWidth(20) +// @ExcelProperty(value = "已提数量(份)",index = 11) +// private String receiveNumber; +// @ColumnWidth(20) +// @ExcelProperty(value = "未提数量(份)",index = 12) +// private String unclaimedNumber; + @ExcelIgnore + private String isEnable; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardVo.java new file mode 100644 index 0000000..865119e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcard/EmpCardVo.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.api.empcard; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String recordId; + private String recordSid; + private String giftbagSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + private String grantDate; + private String customerSid; + private String customerMobile; + private double goodsNumber; + private String goodsSid; + private String cardType; + private String stateValue; + private String bindDate; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecord.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecord.java new file mode 100644 index 0000000..f37c8b8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecord.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.empcardbuildrecord; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class EmpCardBuildRecord { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; +// private String isEnable; + private String giftbagSid; + + private String startNumber; + private String endNumber; + private String countNumber; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date buildDate; + private String cardArea; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordDto.java new file mode 100644 index 0000000..7167d3b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordDto.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.api.empcardbuildrecord; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardBuildRecordDto implements Dto { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String recordId; + private String recordSid; + private String giftbagSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + private String grantDate; + private String customerSid; + private String customerMobile; + private String Num; + private String cardArea; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordQuery.java new file mode 100644 index 0000000..c2d9574 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.empcardbuildrecord; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardBuildRecordQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordVo.java new file mode 100644 index 0000000..2b75ebd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardbuildrecord/EmpCardBuildRecordVo.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.api.empcardbuildrecord; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardBuildRecordVo implements Vo { + private String sid; + private String buildDate; //创建时间 + private String countNumber; //总数 + private String startNumber; //起始号 + private String endNumber; //结束号 + private String bagName; + private String grantCountNumber; //发放总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGift.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGift.java new file mode 100644 index 0000000..983e3cf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGift.java @@ -0,0 +1,51 @@ +package com.yxt.ordermall.api.empcardgift; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/11 16:54 + */ +@Data +public class EmpCardGift { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String empCardSid; + private String empCardSerialNumber; + private String empCardCode; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private String recordSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItInvalid; + private String isReservation; + private String isShare; + @TableField(exist = false) + private String goods; + private String cardType; //1企业卡 2 福礼卡 3提货卡 + private String isTransfer; //是否转增 0 未转赠 1 转赠 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endDate; //结束日期 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date startDate; //开始日期 + private String isSenior;//是否是最高级的卡 1 是 2不是 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftDto.java new file mode 100644 index 0000000..47d8803 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftDto.java @@ -0,0 +1,43 @@ +package com.yxt.ordermall.api.empcardgift; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/11 16:58 + */ +@Data +public class EmpCardGiftDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String empCardSid; + private String empCardSerialNumber; + private String empCardCode; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private String recordSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItInvalid; + private String iReservation; + private List goodsVoList; + private String count; + private String cardType; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftExport.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftExport.java new file mode 100644 index 0000000..677108f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftExport.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.empcardgift; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/27 10:34 + */ +@Data +public class EmpCardGiftExport { + @ExportEntityMap(CnName = "提货二维码", EnName = "pic") + private String pic; + @ExportEntityMap(CnName = "提货编码第一行", EnName = "code1") + private String code1; + @ExportEntityMap(CnName = "提货编码第二行", EnName = "code2") + private String code2; + @ExportEntityMap(CnName = "提货密码", EnName = "codeKey") + private String codeKey; + @ExportEntityMap(CnName = "序列号", EnName = "serialNumber") + private String serialNumber; + private String code; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftListQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftListQuery.java new file mode 100644 index 0000000..f4f60b9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftListQuery.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.api.empcardgift; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/24 10:07 + */ +@Data +public class EmpCardGiftListQuery implements Query { + private String state; + private String noStart; //序列号开始 + private String noEnd; //序列号结束 + private String sid; + private String number; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftListVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftListVo.java new file mode 100644 index 0000000..a12f3ff --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftListVo.java @@ -0,0 +1,8 @@ +package com.yxt.ordermall.api.empcardgift; + +/** + * @author wangpengfei + * @date 2023/12/11 17:09 + */ +public class EmpCardGiftListVo { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftQuery.java new file mode 100644 index 0000000..38d1bab --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftQuery.java @@ -0,0 +1,39 @@ +package com.yxt.ordermall.api.empcardgift; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.query.Query; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/11 16:57 + */ +@Data +public class EmpCardGiftQuery implements Query { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String empCardSid; + private String empCardSerialNumber; + private String empCardCode; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private String recordSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItInvalid; + private String iReservation; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftStatisticsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftStatisticsQuery.java new file mode 100644 index 0000000..9c36be9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftStatisticsQuery.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.empcardgift; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/2 + **/ +@Data +public class EmpCardGiftStatisticsQuery implements Query { + private static final long serialVersionUID = -8730985789870186066L; + @ApiModelProperty("卡券序列号") + private String serialNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftStatisticsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftStatisticsVo.java new file mode 100644 index 0000000..ff7d777 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftStatisticsVo.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.api.empcardgift; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/2 + **/ +@Data +public class EmpCardGiftStatisticsVo { + + @ApiModelProperty("卡券序列号") + private String serialNumber; + @ApiModelProperty("提货编号") + private String code; + @ApiModelProperty("发行时间") + private String createTime; + @ApiModelProperty("卡券状态") + private String stateValue; + @ApiModelProperty("绑定时间") + private String bindDate; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftVo.java new file mode 100644 index 0000000..4cfd994 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftVo.java @@ -0,0 +1,48 @@ +package com.yxt.ordermall.api.empcardgift; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/11 16:57 + */ +@Data +public class EmpCardGiftVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String empCardSid; + private String empCardSerialNumber; + private String empCardCode; + private String empCardCustomerSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerSid; + private String customerMobile; + private String recordSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItInvalid; + private String iReservation; + private String isShare; + private double goodsNumber=0; + private String qrCode; + private String goods; + private String share; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date startDate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date endDate; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftWordVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftWordVo.java new file mode 100644 index 0000000..462623c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpCardGiftWordVo.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.empcardgift; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/6 15:49 + */ +@Data +public class EmpCardGiftWordVo { + private String qrCode;//二维码 + private String bagName;//礼包名 + private String serialNumber;//序列号 + private String code;//卡号 + private String codeKey;//密码 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpGiftAppletNVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpGiftAppletNVo.java new file mode 100644 index 0000000..3ff0157 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpGiftAppletNVo.java @@ -0,0 +1,100 @@ +package com.yxt.ordermall.api.empcardgift; + +import cn.hutool.core.date.DateUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/9 15:29 + */ +@Data +public class EmpGiftAppletNVo { + private String dateStart; + private String dateEnd; + private String customerSid; + private String giftbagSid; + private String code; + private String sid; + private String state; + private String states; + private boolean showBtn = true; + private boolean showRecord = true; + private String time; + private String name = "卡号:"; + private String pName; + private String start; + private String end; + private String store; //门店 + private String reserveDate; //预约时间 + private List goodsVos; + private List select; + private String storeSid;//上次提货地点 + private String addressName; + private String isReservation;//是否超过预约时间 0 否 1是 + private boolean notRese = true; //是否能预约 + private List orderCardVoList; + private List empCardGifts; + private String value; + private String serialNumber; + private String isEnable; + private String isTransfer;//是否转增 0 未转赠 1 转赠 + + + + + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); + if( String.valueOf(i).equals("-1")){ + state="已过期"; + showBtn=false; + }else if(isEnable.equals("2")){ + state="已作废"; + showBtn=false; + } + else if(isTransfer.equals("1")){ + state="已转赠"; + showBtn=false; + this.notRese=false; + } + else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + this.notRese=false; + }else{ + this.state="已完成"; + showBtn=false; + } + }else if(states.equals("4")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="待提货"; + } + } + } + }else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="已完成"; + showBtn=false; + } + } + } + return state; + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpGiftAppletVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpGiftAppletVo.java new file mode 100644 index 0000000..9bf492f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/EmpGiftAppletVo.java @@ -0,0 +1,170 @@ +package com.yxt.ordermall.api.empcardgift; + +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/11 17:14 + */ +@Data +public class EmpGiftAppletVo { + + private String dateStart; + private String dateEnd; + private String customerSid; + private String giftbagSid; + private String code; + private String sid; + private String state; + private String states; + private boolean showBtn = true; + private boolean showRecord = true; + private String time; + private String name = "卡号:"; + private String pName; + private String start; + private String end; + private String store; //门店 + private String reserveDate; //预约时间 + private List goodsVos; + private List select; + private String storeSid;//上次提货地点 + private String addressName; + private String isReservation;//是否超过预约时间 0 否 1是 + private boolean notRese = true; //是否能预约 + private List orderCardVoList; + private List empCardGifts; + private String value; + private String serialNumber; + private String isEnable; + private String isTransfer;//是否转增 0 未转赠 1 转赠 + private String isSenior;//是否是最高级的卡 1 是 2不是 + + + + public String getStart() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalTime timeOfDay = LocalTime.of(15, 0); // 设置下午3点的小时数为15,分钟数为0 + LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 + + ZoneId zoneId = ZoneId.systemDefault(); + Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); +// System.out.println(date); + //1>2 1 、1<2 -1 、1=2 0 + int k=DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(new Date())))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(date))))); + if(String.valueOf(k).equals("1")){ + start=sdf.format(DateUtil.offsetDay(new Date(),+2)); + }else{ + start=sdf.format(DateUtil.offsetDay(new Date(),+1)); + } + + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(start))).compareTo(DateUtil.parse(sdf.format(DateUtil.parse(dateEnd)))); + if(String.valueOf(i).equals("-1")){ + long o=DateUtil.between(DateUtil.parse(start),DateUtil.parse(dateEnd), DateUnit.DAY); + if(o<10){ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),10)); + }else{ +// end=sdf.format(DateUtil.parse(dateEnd)); + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(start),4)); + } + }else{ + if(String.valueOf(k).equals("1")){ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),2)); + }else{ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),1)); + } + } + } + reserveDate=start; + return start; + } + + public String getName() { + name=name+code; + return name; + } + + public String getTime() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy.MM.dd"); + if(StringUtils.isNotBlank(dateStart)){ + if(StringUtils.isNotBlank(dateEnd)){ + time=sdf.format(DateUtil.parse(dateStart))+"~"+sdf.format(DateUtil.parse(dateEnd)); + } + } + return time; + } + + public boolean isShowBtn() { + if(states.equals("5")){ + if(isReservation.equals("1")){ + this.state="已完成"; + showBtn=false; + } + } + return showBtn; + } + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); + if( String.valueOf(i).equals("-1")){ + state="已过期"; + showBtn=false; + }else if(isEnable.equals("2")){ + state="已作废"; + showBtn=false; + } + else if(isTransfer.equals("1")){ + state="已转赠"; + showBtn=false; + this.notRese=false; + } + else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + this.notRese=false; + }else{ + this.state="已完成"; + showBtn=false; + } + }else if(states.equals("4")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="待提货"; + } + } + } + }else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="已完成"; + showBtn=false; + } + } + } + return state; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/GoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/GoodsVo.java new file mode 100644 index 0000000..1831dfd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/GoodsVo.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.api.empcardgift; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/22 15:35 + */ +@Data +public class GoodsVo { + private String goods; + private String pic; + private double num; + private double lNum; + private double select = 0; + private String goodsSid; + private double orderNum; //预约数量 + private String price; //预约数量 + private String unitName; //预约数量 + private String remarks; //预约数量 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/SaveVegetableVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/SaveVegetableVo.java new file mode 100644 index 0000000..5de1229 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgift/SaveVegetableVo.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.empcardgift; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/20 16:27 + */ +@Data +public class SaveVegetableVo { + private String goodsSid; + private String goodsName; + private String goodsNumber; + private String barndId; + private String cetegoryId; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoods.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoods.java new file mode 100644 index 0000000..6fee000 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoods.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.empcardgiftgoods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class EmpCardGiftGoods { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String empCardGiftSid; + private String goodsSid; + private String goodsNumber; + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsDto.java new file mode 100644 index 0000000..67d8efc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsDto.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.empcardgiftgoods; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGiftGoodsDto implements Dto { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String empCardGiftSid; + private String goodsSid; + private double goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsQuery.java new file mode 100644 index 0000000..e785375 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.empcardgiftgoods; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGiftGoodsQuery implements Query { + private String empCardGiftSid; + private String goodsSid; + private String goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsVo.java new file mode 100644 index 0000000..e572d7b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGiftGoodsVo.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.api.empcardgiftgoods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGiftGoodsVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String empCardGiftSid; + private String goodsSid; + private Integer goodsNumber; + private String name; + private String unitName; + private String picUrl; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGoodsVo.java new file mode 100644 index 0000000..64b0896 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgiftgoods/EmpCardGoodsVo.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.empcardgiftgoods; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/9 11:42 + */ +@Data +public class EmpCardGoodsVo { + private String goodsName; + private String goodsSid; + private double goodsNumber; + private double residue; + private String unitName; + private String specificationUnit; + private String weight; + private String remarks; + private String content; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLog.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLog.java new file mode 100644 index 0000000..666e942 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLog.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.empcardgrantlog; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class EmpCardGrantLog { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String empCardSid; + private String empCardCustomerSid; + private String serialNumber; + private String code; +// private String isShare; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogDto.java new file mode 100644 index 0000000..a798e81 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogDto.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.api.empcardgrantlog; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGrantLogDto implements Dto { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String recordId; + private String recordSid; + private String giftbagSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + private String grantDate; + private String customerSid; + private String customerMobile; + private String Num; + private String cardArea; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogQuery.java new file mode 100644 index 0000000..dbb19d1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.empcardgrantlog; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGrantLogQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogVo.java new file mode 100644 index 0000000..d75a4ca --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empcardgrantlog/EmpCardGrantLogVo.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.api.empcardgrantlog; + +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.empcardgift.GoodsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class EmpCardGrantLogVo implements Vo { + private String sid; + private String buildDate; //创建时间 + private String countNumber; //总数 + private String startNumber; //起始号 + private String endNumber; //结束号 + private String bagName; + private String grantCountNumber; //发放总数 + private List goodsVos; + private String cardSid; + private String goods; + private double goodsNumber=0; + private String goodsSid; + private String code; + private String codeKey; + private String remarks; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrder.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrder.java new file mode 100644 index 0000000..6a95930 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrder.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.empreserveorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class EmpReserveOrder { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String reserveType; + private String cardSid; + private String cardCode; + private String isCustomer; + private String customerSid; + private String userName; + private String userPhone; + private String userAddress; + private String storeSid; + private String reserveDate; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderCardVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderCardVo.java new file mode 100644 index 0000000..4a7aff3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderCardVo.java @@ -0,0 +1,47 @@ +package com.yxt.ordermall.api.empreserveorder; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 16:53 + */ +@Data +public class EmpReserveOrderCardVo implements Vo { + private String code; //卡号 + private String sid; +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String store; //提货门店 + private String storeSid; //提货门店 + private String bagName; //礼包 + private String cardSid; // 提货卡sid + private String orderSid; //预约订单sid + private String userName; + private String userPhone; + private String state;//提货状态 + private List goodsVos; + private String goods; + private String serialNumber; + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + int c= DateUtil.parse(sdf.format(reserveDate)).compareTo(DateUtil.parse(sdf.format(new Date()))); + if(String.valueOf(c).equals("-1")){ + this.state="已提货"; + }else{ + this.state="未提货"; + } + return state; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderDto.java new file mode 100644 index 0000000..a0857c8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderDto.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.empreserveorder; + +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.api.empcardgift.GoodsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class EmpReserveOrderDto implements Dto { + private String cardSid;//礼包卡sid + private String sid; + private String value; + private String storeSid;//发放点 + private String customerSid;//客户sid + private String reserveDate;//发放时间 + private String userName;//用户名 + private String userPhone;//用户联系方式 + private List goodsVos; + private String orderSid; + private String addressName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderQuery.java new file mode 100644 index 0000000..9fdca4a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderQuery.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.api.empreserveorder; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +@Data +public class EmpReserveOrderQuery implements Query { + private String userName; //用户名 + private String store; // 门店 + private String startDate; //预约开始日期 + private String endDate; // 预约结束日期 + private String userSid; + private String storeSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderVo.java new file mode 100644 index 0000000..01e0841 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/EmpReserveOrderVo.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.empreserveorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 15:11 + */ +@Data +public class EmpReserveOrderVo implements Vo { + private String sid; //预约订单sid + private String userName; //用户名 + private String userPhone; //用户电话 + private String store; //门店 + private String storeSid; //门店 + @JsonFormat(pattern = "yyyy-MM-dd ",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String bagName; //礼包 + private String code; //卡号 + private String goodsInfo; + private List goodsVo = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/Goods.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/Goods.java new file mode 100644 index 0000000..00223da --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/Goods.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.empreserveorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 14:34 + */ +@Data +public class Goods { + private double goodsNumber;//数量 + private String goodsSid;//商品sid + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/OrderGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/OrderGoodsVo.java new file mode 100644 index 0000000..ad659b7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/OrderGoodsVo.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.empreserveorder; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:11 + */ +@Data +public class OrderGoodsVo implements Vo { + private int num; + private String goodName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/ReserveOrderExport.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/ReserveOrderExport.java new file mode 100644 index 0000000..37e3302 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/ReserveOrderExport.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.api.empreserveorder; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:26 + */ +@Data +public class ReserveOrderExport { + @ExportEntityMap(CnName = "预约时间", EnName = "reserveDate") + private String reserveDate; + @ExportEntityMap(CnName = "提货门店", EnName = "store") + private String store; + @ExportEntityMap(CnName = "姓名", EnName = "userName") + private String userName; + @ExportEntityMap(CnName = "联系方式", EnName = "userPhone") + private String userPhone; + @ExportEntityMap(CnName = "提货卡号", EnName = "code") + private String code; + @ExportEntityMap(CnName = "礼包名称", EnName = "bagName") + private String bagName; + @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + private String goodsInfo; + private String sid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/ReserveOrderExportByStore.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/ReserveOrderExportByStore.java new file mode 100644 index 0000000..e4466bf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveorder/ReserveOrderExportByStore.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.empreserveorder; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Data +public class ReserveOrderExportByStore { + @ExportEntityMap(CnName = "预约时间", EnName = "reserveDate") + private String reserveDate; + @ExportEntityMap(CnName = "提货门店", EnName = "store") + private String store; + private String storeSid; + @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + private String goodsInfo; + private String sid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoods.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoods.java new file mode 100644 index 0000000..2065491 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoods.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.empreserveordergoods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class EmpReserveOrderGoods { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String goodsSid; + private double goodsNumber; + private String num; + private String orderSid; + private String goodsName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoodsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoodsDto.java new file mode 100644 index 0000000..ab31b75 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoodsDto.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.empreserveordergoods; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class EmpReserveOrderGoodsDto { + private String cardSid; + private String goodsSid; + private String goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoodsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoodsQuery.java new file mode 100644 index 0000000..6da249f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/empreserveordergoods/EmpReserveOrderGoodsQuery.java @@ -0,0 +1,8 @@ +package com.yxt.ordermall.api.empreserveordergoods; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +public class EmpReserveOrderGoodsQuery { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertification.java b/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertification.java new file mode 100644 index 0000000..6c1c59a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertification.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.api.enterprisecertification; + +import lombok.Data; + +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class EnterpriseCertification { + + private String id; + private String sid= UUID.randomUUID().toString(); + private String createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String enterpriseName; + private String shippingAddress; + private String contacts; + private String telephone; + private String reviewStatus; + private String state; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationDto.java new file mode 100644 index 0000000..c741c40 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationDto.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.enterprisecertification; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class EnterpriseCertificationDto implements Dto { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String enterpriseName;//企业名称 + private String shippingAddress;//地址 + private String contacts;//联系人 + private String telephone;//联系电话 + private String reviewStatus; + private String state; + private String operator; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationQuery.java new file mode 100644 index 0000000..10073d6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.enterprisecertification; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class EnterpriseCertificationQuery implements Query { + private String shortName; + private String name; + private String reviewStatus; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationVo.java new file mode 100644 index 0000000..b14aea1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/enterprisecertification/EnterpriseCertificationVo.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.enterprisecertification; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class EnterpriseCertificationVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String customerSid; + private String enterpriseName; + private String shippingAddress; + private String contacts; + private String telephone; + private String reviewStatus; + private String state; + private String customerName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecords.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecords.java new file mode 100644 index 0000000..3c89f49 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecords.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.invoiceapprovalrecords; + +import lombok.Data; + +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceApprovalRecords { + + private String id; + private String sid= UUID.randomUUID().toString(); + private String createTime; + private String remarks; + private String isEnable; + private String orderSid; + private String approvalOpinions;//审核意见 + private String operator;//操作人 + private String operatorSid;//操作人sid + private String approvalStatus;//审核状态 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsDto.java new file mode 100644 index 0000000..5e89c73 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsDto.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.api.invoiceapprovalrecords; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceApprovalRecordsDto implements Dto { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String orderSid; + private String approvalOpinions;//审核意见 + private String operator;//操作人 + private String operatorSid;//操作人sid + private String approvalStatus;//审核状态 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsQuery.java new file mode 100644 index 0000000..c80286b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.invoiceapprovalrecords; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceApprovalRecordsQuery implements Query { + private String shortName; + private String name; + private String reviewStatus; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsVo.java new file mode 100644 index 0000000..dc8b3d8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoiceapprovalrecords/InvoiceApprovalRecordsVo.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.invoiceapprovalrecords; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceApprovalRecordsVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String orderSid; + private String approvalOpinions;//审核意见 + private String operator;//操作人 + private String operatorSid;//操作人sid + private String approvalStatus;//审核状态 + private String customerName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecords.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecords.java new file mode 100644 index 0000000..2781221 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecords.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.api.invoicerecords; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceRecords { + + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String invoiceType;//发票类型 + private String headingType;//抬头类型 + private String invoiceHeader;//发票抬头 + private String dutyParagraph;//税号 + private String bankOfDeposit;//开户行 + private String bankAccount;//账号 + private String enterpriseAddress;//企业地址 + private String enterprisePhone;//企业电话 + private String orderSid;//订单sid + private String state; + private String email; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsDto.java new file mode 100644 index 0000000..4f343f6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsDto.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.api.invoicerecords; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceRecordsDto implements Dto { + private String sid; + private String id; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String invoiceType;//发票类型 + private String headingType;//抬头类型 + private String invoiceHeader;//发票抬头 + private String dutyParagraph;//税号 + private String bankOfDeposit;//开户行 + private String bankAccount;//账号 + private String enterpriseAddress;//企业地址 + private String enterprisePhone;//企业电话 + private String orderSid;//订单sid + private String state;//2申请通过 3不通过 + private String email; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsQuery.java new file mode 100644 index 0000000..ada998a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsQuery.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.invoicerecords; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceRecordsQuery implements Query { + private String shortName; + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsVo.java new file mode 100644 index 0000000..5c4f79b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoicerecords/InvoiceRecordsVo.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.api.invoicerecords; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceRecordsVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String invoiceType;//发票类型 + private String headingType;//抬头类型 + private String invoiceHeader;//发票抬头 + private String dutyParagraph;//税号 + private String bankOfDeposit;//开户行 + private String bankAccount;//账号 + private String enterpriseAddress;//企业地址 + private String enterprisePhone;//企业电话 + private String orderSid;//订单sid + private String totalTee;//金额 + private String outTradeNo;//订单编号 + private String nick;//昵称 + private String mobile;//电话 + private String state; + private String email; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceType.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceType.java new file mode 100644 index 0000000..54600c8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceType.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.api.invoicetype; + +import lombok.Data; + +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceType { + + private String id; + private String sid= UUID.randomUUID().toString(); + private String createTime; + private String remarks; + private String isEnable; + private String name; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeDto.java new file mode 100644 index 0000000..7e280bd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeDto.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.api.invoicetype; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceTypeDto implements Dto { + private String sid; + private String id; + private String createTime; + private String remarks; + private String isEnable; + private String name;// + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeQuery.java new file mode 100644 index 0000000..556b221 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeQuery.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.invoicetype; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceTypeQuery implements Query { + private String shortName; + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeVo.java new file mode 100644 index 0000000..8f4fef3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/invoicetype/InvoiceTypeVo.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.api.invoicetype; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class InvoiceTypeVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBank.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBank.java new file mode 100644 index 0000000..3ce2eb3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBank.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.lpkbank; + +import lombok.Data; + +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class LpkBank { + + private String id; + private String sid= UUID.randomUUID().toString(); + private String createTime; + private String remarks; + private String isEnable; + private String name; + private String shortName; + private String linker; + private String linkPhone; + private String address; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankDto.java new file mode 100644 index 0000000..47760fc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankDto.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.api.lpkbank; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class LpkBankDto implements Dto { + private String sid; + private String id; + private String createTime; + private String remarks; + private String isEnable; + private String name;//姓名 + private String shortName;//简称 + private String linker;//联系人 + private String linkPhone;//联系电话 + private String address;//地址 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankQuery.java new file mode 100644 index 0000000..b08e336 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankQuery.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.lpkbank; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class LpkBankQuery implements Query { + private String shortName; + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankVo.java new file mode 100644 index 0000000..6eea83f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkbank/LpkBankVo.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.api.lpkbank; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 9:27 + */ +@Data +public class LpkBankVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String name; + private String shortName; + private String linker; + private String linkPhone; + private String address; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecord.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecord.java new file mode 100644 index 0000000..4585f4f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecord.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.api.lpkcardbuildrecord; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author Fan + * @description + * @date 2023/11/24 16:03 + */ +@Data +@ApiModel(value = "礼品卡生成记录表", description = "礼品卡生成记录表") +@TableName("lpk_card_build_record") +public class LpkCardBuildRecord { + + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String giftbagSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date buildDate; + private String countNumber; + private String startNumber; + private String endNumber; + private String cardArea; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordDto.java new file mode 100644 index 0000000..6748e20 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordDto.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.api.lpkcardbuildrecord; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + + +@ApiModel(value = "礼品卡生成记录表 数据传输对象", description = "礼品卡生成记录表 数据传输对象") +@Data +public class LpkCardBuildRecordDto implements Dto { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordQuery.java new file mode 100644 index 0000000..229c2ef --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.lpkcardbuildrecord; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + + +@ApiModel(value = "礼品卡生成记录表 查询条件", description = "礼品卡生成记录表 查询条件") +@Data +public class LpkCardBuildRecordQuery implements Query { + + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordVo.java new file mode 100644 index 0000000..8a74cd6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardbuildrecord/LpkCardBuildRecordVo.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.api.lpkcardbuildrecord; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@ApiModel(value = "礼品卡生成记录表 视图数据对象", description = "礼品卡生成记录表 视图数据对象") +@NoArgsConstructor +public class LpkCardBuildRecordVo implements Vo { + + private String sid; + private String buildDate; //创建时间 + private String countNumber; //总数 + private String startNumber; //起始号 + private String endNumber; //结束号 + private String bagName; + private String grantCountNumber; //发放总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecord.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecord.java new file mode 100644 index 0000000..2baf316 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecord.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.api.lpkcardgrantrecord; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author Fan + * @description + * @date 2023/11/24 16:03 + */ +@Data +@ApiModel(value = "礼品卡生成记录表", description = "礼品卡生成记录表") +@TableName("lpk_card_grant_record") +public class LpkCardGrantRecord { + + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String giftcardSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date buildDate; + private String countNumber; + private String startNumber; + private String endNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordDto.java new file mode 100644 index 0000000..4fec9d7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordDto.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.lpkcardgrantrecord; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + + +@ApiModel(value = "礼品卡生成记录表 数据传输对象", description = "礼品卡生成记录表 数据传输对象") +@Data +public class LpkCardGrantRecordDto implements Dto { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date buildDate; + private String countNumber; + private String startNumber; + private String endNumber; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordQuery.java new file mode 100644 index 0000000..e26c71e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.lpkcardgrantrecord; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + + +@ApiModel(value = "礼品卡生成记录表 查询条件", description = "礼品卡生成记录表 查询条件") +@Data +public class LpkCardGrantRecordQuery implements Query { + + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordVo.java new file mode 100644 index 0000000..1fbeab0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardgrantrecord/LpkCardGrantRecordVo.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.lpkcardgrantrecord; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@ApiModel(value = "礼品卡生成记录表 视图数据对象", description = "礼品卡生成记录表 视图数据对象") +@NoArgsConstructor +public class LpkCardGrantRecordVo implements Vo { + + private String sid; + private String buildDate; //创建时间 + private String countNumber; //总数 + private String startNumber; //起始号 + private String endNumber; //结束号 + private String bagName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcode.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcode.java new file mode 100644 index 0000000..8872dac --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcode.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.lpkcardqrcode; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author Fan + * @description + * @date 2023/11/24 16:03 + */ +@Data +@ApiModel(value = "礼品卡二维码表", description = "礼品卡二维码表") +@TableName("lpk_card_qrcode") +public class LpkCardQrcode { + + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String file; + private String fileName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeDto.java new file mode 100644 index 0000000..41ca064 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeDto.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.api.lpkcardqrcode; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + + +@ApiModel(value = "礼品卡二维码表 数据传输对象", description = "礼品卡二维码表 数据传输对象") +@Data +public class LpkCardQrcodeDto implements Dto { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String file; + private String fileName; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeQuery.java new file mode 100644 index 0000000..0cfeb03 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.lpkcardqrcode; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + + +@ApiModel(value = "礼品卡二维码表 查询条件", description = "礼品卡二维码表 查询条件") +@Data +public class LpkCardQrcodeQuery implements Query { + + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeVo.java new file mode 100644 index 0000000..a77d886 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcardqrcode/LpkCardQrcodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.lpkcardqrcode; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + + +@Data +@ApiModel(value = "礼品卡二维码表 视图数据对象", description = "礼品卡二维码表 视图数据对象") +@NoArgsConstructor +public class LpkCardQrcodeVo implements Vo { + + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String file; + private String fileName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/CustomerInfoVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/CustomerInfoVo.java new file mode 100644 index 0000000..29a4010 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/CustomerInfoVo.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.api.lpkcustomer; + +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBankVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/18 + **/ +@Data +public class CustomerInfoVo { + + @ApiModelProperty("头像") + private String photo; + @ApiModelProperty("昵称") + private String nick; + + private String phone; + + @ApiModelProperty("是否实名:已实名或未实名") + private String realAttestationExplain; + @ApiModelProperty("客户绑定的支行名称") + private String customerBankName; + + @ApiModelProperty("支行信息") + private List customerBankList = new ArrayList<>(); + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomer.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomer.java new file mode 100644 index 0000000..9e3ef3a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomer.java @@ -0,0 +1,51 @@ +package com.yxt.ordermall.api.lpkcustomer; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "客户信息", description = "客户信息") +@TableName("lpk_customer") +@Data +public class LpkCustomer { + private String id; + private String sid=UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String isEnable; +// @TableField(value = "wx_mp_openid") + private String wxMpOpenid; + private String unionId; + private String mobile; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private String bindDate; + private String realName; + private String nick; + private String photo; + @TableField(exist = false) + private String token; + @ApiModelProperty("性别") + private String sex; + @ApiModelProperty("生日") + private String birthDay; + @ApiModelProperty("所在区域code") + private String regionCode; + @ApiModelProperty("所在区域名称") + private String regionName; + private String isNewUser;//是否新人 0 否 1 是 + private String isPurchase;//是否购买过 0 是 1否 + + @ApiModelProperty("客户绑定的支行sid") + private String customerBankSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerDto.java new file mode 100644 index 0000000..3c4da7d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerDto.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.lpkcustomer; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "客户信息 数据传输对象", description = "客户信息 数据传输对象") +@Data +public class LpkCustomerDto implements Dto { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerQuery.java new file mode 100644 index 0000000..82cb290 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerQuery.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.lpkcustomer; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "客户信息 查询条件", description = "客户信息 查询条件") +@Data +public class LpkCustomerQuery implements Query { + private String realName; + private String mobile; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerVo.java new file mode 100644 index 0000000..e13e479 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/LpkCustomerVo.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.api.lpkcustomer; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "客户信息 视图数据对象", description = "客户信息 视图数据对象") +@NoArgsConstructor +public class LpkCustomerVo implements Vo { + private String sid; + private String mobile; + private String bindDate; + private String realName; + private String nick; + private String photo; + private String wxMpOpenid; + private String createTime; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/RealInfoDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/RealInfoDto.java new file mode 100644 index 0000000..e0ed108 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/RealInfoDto.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.lpkcustomer; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/19 + **/ +@Data +public class RealInfoDto { + + private String userSid; + @ApiModelProperty("所在区县code") + private String regionCode; + @ApiModelProperty("所在区域名称:拼接省/市/县区") + private String regionName; + @ApiModelProperty("生日") + private String birthDay; + @ApiModelProperty("真实姓名") + private String realName; + @ApiModelProperty("性别:男/女") + private String sex; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/RealInfoVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/RealInfoVo.java new file mode 100644 index 0000000..2603ab0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/RealInfoVo.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.api.lpkcustomer; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/19 + **/ +@Data +public class RealInfoVo { + + @ApiModelProperty("所在区域code") + private String regionCode; + @ApiModelProperty("所在区域名称") + private String regionName; + @ApiModelProperty("真实姓名") + private String realName; + @ApiModelProperty("性别") + private String sex; + @ApiModelProperty("生日") + private String birthDay; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/WxBindMobileDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/WxBindMobileDto.java new file mode 100644 index 0000000..8b7411d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomer/WxBindMobileDto.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.lpkcustomer; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class WxBindMobileDto implements Dto { + + @ApiModelProperty(value = "手机号") + private String mobile; + @ApiModelProperty(value = "验证码") + private String code; + //微信id + private String openid; + private String unionid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBank.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBank.java new file mode 100644 index 0000000..cbb70bf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBank.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.lpkcustomerbank; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.UUID; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/28 + **/ +@Data +public class LpkCustomerBank { + private String id; + private String sid = UUID.randomUUID().toString(); + private String createTime; + private String remarks; + private String isEnable; + private String name; + private String shortName; + private String linker; + private String linkPhone; + private String address; + @ApiModelProperty("经度") + private String lon; + @ApiModelProperty("纬度") + private String lat; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBankQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBankQuery.java new file mode 100644 index 0000000..6e5871c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBankQuery.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.api.lpkcustomerbank; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/28 + **/ +@Data +public class LpkCustomerBankQuery implements Query { + + @ApiModelProperty("名称") + private String name; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBankVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBankVo.java new file mode 100644 index 0000000..dd21f6c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkcustomerbank/LpkCustomerBankVo.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.lpkcustomerbank; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/28 + **/ +@Data +public class LpkCustomerBankVo { + @ApiModelProperty("支行sid") + private String bankSid; + @ApiModelProperty("支行名称") + private String bankName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/GiftBagGoods.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/GiftBagGoods.java new file mode 100644 index 0000000..3c0f76f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/GiftBagGoods.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.lpkgiftbag; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/22 11:08 + */ +@Data +public class GiftBagGoods { + private String goodsSid; + private String goodsNumber; + private String name; //商品名 + private String unitName; //单位 + private String price; //商品单价 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBag.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBag.java new file mode 100644 index 0000000..5b70606 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBag.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.api.lpkgiftbag; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "礼包信息", description = "礼包信息") +@TableName("lpk_giftbag") +@Data +public class LpkGiftBag { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dateStart; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dateEnd; + private String name; + private String boundary; + private String boundaryPrice; + private String iconUrl; + private String isGrounding; + private String isSel; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagDto.java new file mode 100644 index 0000000..21e57e9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagDto.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.lpkgiftbag; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "礼包信息 数据传输对象", description = "礼包信息 数据传输对象") +@Data +public class LpkGiftBagDto implements Dto { + + private String sid; + private String remarks; + private String dateStart; + private String dateEnd; + private String name; + private String boundary; + private String boundaryPrice; + private String iconUrl; + private String isGrounding; + //商品sid + private List goods = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagInitVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagInitVo.java new file mode 100644 index 0000000..354023d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagInitVo.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.lpkgiftbag; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/22 11:15 + */ +@Data +public class LpkGiftBagInitVo implements Vo { + private String sid; + private String remarks; + private String dateStart; + private String dateEnd; + private String name; + private String boundary; + private String boundaryPrice; + private String iconUrl; + //商品sid + private List goods = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagQuery.java new file mode 100644 index 0000000..838d2ed --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.lpkgiftbag; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "礼包信息 查询条件", description = "礼包信息 查询条件") +@Data +public class LpkGiftBagQuery implements Query { + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagVo.java new file mode 100644 index 0000000..ef48286 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbag/LpkGiftBagVo.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.lpkgiftbag; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "礼包信息 视图数据对象", description = "礼包信息 视图数据对象") +@NoArgsConstructor +public class LpkGiftBagVo implements Vo { + private String sid; + private String name; + private String dateStart; + private String dateEnd; + private String boundary; + private String boundaryPrice; + private String iconUrl; + private String isEnable; + private String isGrounding; + private String remarks; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGifGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGifGoodsVo.java new file mode 100644 index 0000000..509d3c3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGifGoodsVo.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.lpkgiftbaggoods; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/9 11:04 + */ +@Data +public class LpkGifGoodsVo { + private String goodsName;//商品名 + private String goodsSid; + private double goodsNumber; + private double residue; + private String unitName; + private String specificationUnit; + private String weight; + private String remarks; //5斤每份 + private String content;//剩余 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoods.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoods.java new file mode 100644 index 0000000..6c9b65d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoods.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.api.lpkgiftbaggoods; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "礼包包含商品信息", description = "礼包包含商品信息") +@TableName("lpk_giftbag_goods") +@Data +public class LpkGiftBagGoods { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String giftbagSid; + private String goodsSid; + private String goodsNumber; + private String isGrounding; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsDto.java new file mode 100644 index 0000000..c06ffdb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsDto.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.lpkgiftbaggoods; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "礼包包含商品信息 数据传输对象", description = "礼包包含商品信息 数据传输对象") +@Data +public class LpkGiftBagGoodsDto implements Dto { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsQuery.java new file mode 100644 index 0000000..50d740d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.lpkgiftbaggoods; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "礼包包含商品信息 查询条件", description = "礼包包含商品信息 查询条件") +@Data +public class LpkGiftBagGoodsQuery implements Query { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsVo.java new file mode 100644 index 0000000..c50c08c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftbaggoods/LpkGiftBagGoodsVo.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.lpkgiftbaggoods; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "礼包包含商品信息 视图数据对象", description = "礼包包含商品信息 视图数据对象") +@NoArgsConstructor +public class LpkGiftBagGoodsVo implements Vo { + private String goodsName; + private double goodsNumber; + private String picUrl; + private String goodsSid; + private String price; + private String unitName; + private String remarks; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/AppletNewVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/AppletNewVo.java new file mode 100644 index 0000000..fdd64e7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/AppletNewVo.java @@ -0,0 +1,102 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import cn.hutool.core.date.DateUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.ordermall.api.empcardgift.EmpCardGift; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/9 15:24 + */ +@Data +public class AppletNewVo { + private String dateStart; + private String dateEnd; + private String customerSid; + private String giftbagSid; + private String code; + private String sid ; + private String state; + private String states; + private boolean showBtn=true; + private boolean showRecord=true; + private String time; + private String name="窖号:"; + private String pName; + private String start; + private String end; + private String store; //门店 + private String reserveDate; //预约时间 + private List goodsVos; + private List select; + private String storeSid;//上次提货地点 + private String addressName; + private String isReservation;//是否超过预约时间 0 否 1是 + private boolean notRese=true; //是否能预约 + private List orderCardVoList; + private List empCardGifts; + private String value; + private String serialNumber; + private String goods; + private String isEnable; + private String isTransfer;//是否转增 0 未转赠 1 转赠 + private String type;//是否转增 1亲情卡 2家庭 3 企业 + private String logo;//查询标识 1亲情卡 2家庭 3 企业 + private List list; + + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); + if( String.valueOf(i).equals("-1")){ + state="已过期"; + showBtn=false; + }else if(isEnable.equals("2")){ + state="已作废"; + showBtn=false; + } + else if(isTransfer.equals("1")){ + state="已转赠"; + showBtn=false; + this.notRese=false; + } + else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + this.notRese=false; + }else{ + this.state="已完成"; + showBtn=false; + } + }else if(states.equals("4")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="待提货"; + } + } + } + }else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="已完成"; + showBtn=false; + } + } + } + return state; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/AppletVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/AppletVo.java new file mode 100644 index 0000000..0dbdf3f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/AppletVo.java @@ -0,0 +1,173 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.ordermall.api.empcardgift.EmpCardGift; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/22 11:07 + */ +@Data +public class AppletVo { + private String dateStart; + private String dateEnd; + private String customerSid; + private String giftbagSid; + private String code; + private String sid ; + private String state; + private String states; + private boolean showBtn=true; + private boolean showRecord=true; + private String time; + private String name="窖号:"; + private String pName; + private String start; + private String end; + private String store; //门店 + private String reserveDate; //预约时间 + private List goodsVos; + private List select; + private String storeSid;//上次提货地点 + private String addressName; + private String isReservation;//是否超过预约时间 0 否 1是 + private boolean notRese=true; //是否能预约 + private List orderCardVoList; + private List empCardGifts; + private String value; + private String serialNumber; + private String goods; + private String isEnable; + private String isTransfer;//是否转增 0 未转赠 1 转赠 + private String type;//是否转增 1亲情卡 2家庭 3 企业 + private String logo;//查询标识 1亲情卡 2家庭 3 企业 + private List list; + + public String getStart() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalTime timeOfDay = LocalTime.of(15, 0); // 设置下午3点的小时数为15,分钟数为0 + LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 + + ZoneId zoneId = ZoneId.systemDefault(); + Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); + Date nowDate=new Date(); +// Date nowDate=DateUtil.parse("2024-01-03 11:43:52"); +// System.out.println(date); + //1>2 1 、1<2 -1 、1=2 0 + int k=DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(nowDate)))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(date))))); + if(String.valueOf(k).equals("1")){ + start=sdf.format(DateUtil.offsetDay(nowDate,+2)); + }else{ + start=sdf.format(DateUtil.offsetDay(nowDate,+1)); + } + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(start))).compareTo(DateUtil.parse(sdf.format(DateUtil.parse(dateEnd)))); + if(String.valueOf(i).equals("-1")){ + long o=DateUtil.between(DateUtil.parse(start),DateUtil.parse(dateEnd), DateUnit.DAY); + if(o<10){ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),10)); + }else{ +// end=sdf.format(DateUtil.parse(dateEnd)); + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(start),4)); + } + }else{ + if(String.valueOf(k).equals("1")){ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),2)); + }else{ + end=sdf.format(DateUtil.offsetDay(DateUtil.parse(dateEnd),1)); + } + } + } + reserveDate=start; + return start; + } + + public String getName() { + name=name+code; + return name; + } + + public String getTime() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy.MM.dd"); + if(StringUtils.isNotBlank(dateStart)){ + if(StringUtils.isNotBlank(dateEnd)){ + time=sdf.format(DateUtil.parse(dateStart))+"~"+sdf.format(DateUtil.parse(dateEnd)); + } + } + return time; + } + +// public boolean isShowBtn() { +// if(states.equals("5")){ +// if(isReservation.equals("1")){ +// this.state="已完成"; +// showBtn=false; +// } +// } +// return showBtn; +// } + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + if(StringUtils.isNotBlank(dateEnd)){ + int i=DateUtil.parse(sdf.format(DateUtil.parse(dateEnd))).compareTo(DateUtil.parse(sdf.format(DateUtil.date()))); + if( String.valueOf(i).equals("-1")){ + state="已过期"; + showBtn=false; + }else if(isEnable.equals("2")){ + state="已作废"; + showBtn=false; + } + else if(isTransfer.equals("1")){ + state="已转赠"; + showBtn=false; + this.notRese=false; + } + else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + this.notRese=false; + }else{ + this.state="已完成"; + showBtn=false; + } + }else if(states.equals("4")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="待提货"; + } + } + } + }else{ + state="待提货"; + if(states.equals("5")){ + if(isReservation.equals("0")){ + this.state="已预约"; + }else{ + this.state="已完成"; + showBtn=false; + } + } + } + return state; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/BindCardDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/BindCardDto.java new file mode 100644 index 0000000..fbbb779 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/BindCardDto.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/22 10:05 + */ +@Data +public class BindCardDto implements Dto { + private String code;//卡号 + private String codeKey;//密钥 + private String customerMobile;//客户手机号 + private String customerSid;//客户sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardGrantDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardGrantDto.java new file mode 100644 index 0000000..411e94a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardGrantDto.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/30 13:50 + */ +@Data +public class CardGrantDto { + private String start;//开始序列号 + private String end;//结束序列号 + private String bankSid;//网点sid + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardShareDetailVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardShareDetailVo.java new file mode 100644 index 0000000..f933479 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardShareDetailVo.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/7 16:00 + */ +@Data +public class CardShareDetailVo { + private String code; + private String endDate; + private String startDate; + private String periodValidity; + private String count; + private List shareRecordList; + private List shareUserVoList; + private List goodsVos; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardStatisticsExportVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardStatisticsExportVo.java new file mode 100644 index 0000000..84387d6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/CardStatisticsExportVo.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/22 14:11 + */ +@Data +public class CardStatisticsExportVo { + @ColumnWidth(30) + @ExcelProperty(value = "卡号",index = 1) + private String code; + @ColumnWidth(20) + @ExcelProperty(value = "序列号",index = 0) + private String serialNumber; + @ColumnWidth(20) + @ExcelProperty(value = "发行时间",index = 2) + private String createTime; +// @ColumnWidth(20) +// @ExcelProperty(value = "卡片种类",index = 2) +// private String cardType; +// @ColumnWidth(20) +// @ExcelProperty(value = "发行人",index = 3) +// private String people; + @ColumnWidth(20) + @ExcelProperty(value = "状态",index = 3) + private String stateValue; +// @ColumnWidth(20) +// @ExcelProperty(value = "是否过期",index = 5) +// private String isExpire; +// @ColumnWidth(20) +// @ExcelProperty(value = "是否作废",index = 6) +// private String isCancel; +// @ColumnWidth(20) +// @ExcelProperty(value = "绑定id",index = 7) +// private String bind; + @ColumnWidth(20) + @ExcelProperty(value = "绑定时间",index = 4) + private String bindDate; +// @ColumnWidth(20) +// @ExcelProperty(value = "提货卡商品",index = 9) +// private String goodsName; +// @ColumnWidth(20) +// @ExcelProperty(value = "商品数量(份)",index = 10) +// private String goodsNumber; +// @ColumnWidth(20) +// @ExcelProperty(value = "已提数量(份)",index = 11) +// private String receiveNumber; +// @ColumnWidth(20) +// @ExcelProperty(value = "未提数量(份)",index = 12) +// private String unclaimedNumber; + @ExcelIgnore + private String isEnable; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/GoodsTypeVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/GoodsTypeVo.java new file mode 100644 index 0000000..f252e54 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/GoodsTypeVo.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/15 15:06 + */ +@Data +public class GoodsTypeVo { + private String name; + private String sid; + private String count; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/GoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/GoodsVo.java new file mode 100644 index 0000000..d61706d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/GoodsVo.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/22 15:35 + */ +@Data +public class GoodsVo { + private String goods; + private String pic; + private double num; + private double lNum; + private double select = 0; + private String goodsSid; + private double orderNum; //预约数量 + private String price; //预约数量 + private String unitName; //预约数量 + private String remarks; //预约数量 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCard.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCard.java new file mode 100644 index 0000000..54fee81 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCard.java @@ -0,0 +1,42 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "礼品卡信息", description = "礼品卡信息") +@TableName("lpk_giftcard") +@Data +public class LpkGiftCard { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String giftbagSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerMobile; + private String customerSid; + private String recordSid; + private String recordId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date bindDate; + private String isItInvalid; + private String isReservation ;//是否超过预约时间 0 否 1是 + private String isTransfer;//是否转增 0 未转赠 1 转赠 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardDto.java new file mode 100644 index 0000000..680b4b8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardDto.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "礼品卡信息 数据传输对象", description = "礼品卡信息 数据传输对象") +@Data +public class LpkGiftCardDto implements Dto { + private String bagSid; + private String num; + private String cardArea; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardExport.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardExport.java new file mode 100644 index 0000000..ec02495 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardExport.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/27 10:34 + */ +@Data +public class LpkGiftCardExport { + @ExportEntityMap(CnName = "提货二维码", EnName = "pic") + private String pic; + @ExportEntityMap(CnName = "提货编码第一行", EnName = "code1") + private String code1; + @ExportEntityMap(CnName = "提货编码第二行", EnName = "code2") + private String code2; + @ExportEntityMap(CnName = "提货密码", EnName = "codeKey") + private String codeKey; + @ExportEntityMap(CnName = "序列号", EnName = "serialNumber") + private String serialNumber; + private String code; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardListQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardListQuery.java new file mode 100644 index 0000000..fa81ede --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardListQuery.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/24 10:07 + */ +@Data +public class LpkGiftCardListQuery implements Query { + private String state; + private String noStart; //序列号开始 + private String noEnd; //序列号结束 + private String sid; + private String number; + private String serialNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardListVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardListVo.java new file mode 100644 index 0000000..66d63ac --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardListVo.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/24 10:04 + */ +@Data +public class LpkGiftCardListVo implements Vo { + private String sid; + private String createTime; + private String remarks; + private String giftbagSid; + private String serialNumber; + private String code; + private String codeKey; + private String state; + private String grantName; + private String grantDate; + private String customerMobile; + private String customerSid; + private String bagName; + private String recordId; + private String name; + private String buildDate; + private String countNumber; + private String qrCode; + private String isEnable; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardQuery.java new file mode 100644 index 0000000..adc8ca4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardQuery.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "礼品卡信息 查询条件", description = "礼品卡信息 查询条件") +@Data +public class LpkGiftCardQuery implements Query { + private String customerSid; + private String name; + private String sid; + private String affiliation; + private String brandId; + private String categoryId; + private String periodValidity; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardVo.java new file mode 100644 index 0000000..4a5a63b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardVo.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "礼品卡信息 视图数据对象", description = "礼品卡信息 视图数据对象") +@NoArgsConstructor +public class LpkGiftCardVo implements Vo { + private String id; + private String sid ; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String giftbagSid; + private String code; + private String codeKey; + private String state; + private String grantName; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date grantDate; + private String customerMobile; + private String customerSid; + private String dateStart; + private String dateEnd; + private String pName; + private String serialNumber; + private String stateValue; + private String bindDate; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardWordVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardWordVo.java new file mode 100644 index 0000000..c983461 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/LpkGiftCardWordVo.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/6 15:49 + */ +@Data +public class LpkGiftCardWordVo { + private String qrCode;//二维码 + private String bagName;//礼包名 + private String serialNumber;//序列号 + private String code;//卡号 + private String codeKey;//密码 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnExcelInfo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnExcelInfo.java new file mode 100644 index 0000000..f5d6e9d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnExcelInfo.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/12/16 15:00 + */ +@Data +public class ReturnExcelInfo { + List infoDetails; + private String name; + private String phone; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnExcelInfoDetails.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnExcelInfoDetails.java new file mode 100644 index 0000000..ed868c6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnExcelInfoDetails.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/12/16 16:05 + */ +@Data +public class ReturnExcelInfoDetails { + private String goodName; + private String goodNum; + private String name; + private String phone; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnMsg.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnMsg.java new file mode 100644 index 0000000..2fe97e0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ReturnMsg.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +import java.util.List; +import java.util.Set; + +/** + * @author Fan + * @description + * @date 2023/12/16 18:34 + */ +@Data +public class ReturnMsg { + List infos; + Set setMsg; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ShareRecord.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ShareRecord.java new file mode 100644 index 0000000..247c392 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ShareRecord.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/7 16:03 + */ +@Data +public class ShareRecord { + private String date; + private String name; + private String operate; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ShareUserVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ShareUserVo.java new file mode 100644 index 0000000..db56c32 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgiftcard/ShareUserVo.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.api.lpkgiftcard; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/7 16:02 + */ +@Data +public class ShareUserVo { + private String iconUrl; + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/GoodsTypeVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/GoodsTypeVo.java new file mode 100644 index 0000000..4afd632 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/GoodsTypeVo.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.lpkgoods; + +import com.yxt.ordermall.mallplus.mbg.pms.entity.brand.BrandVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/15 15:06 + */ +@Data +public class GoodsTypeVo { + private String name; + private String sid; + private String id; + private String count; + private List typeVos; + private List brandVos; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoods.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoods.java new file mode 100644 index 0000000..e2a1b13 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoods.java @@ -0,0 +1,51 @@ +package com.yxt.ordermall.api.lpkgoods; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "商品信息", description = "商品信息") +@TableName("lpk_goods") +@Data +public class LpkGoods { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String code; + private String barcode; + private String name; + private String unitName; + private String typeCode; + private String price; + private String picUrl; + private String appContent; + private String specificationUnit; + private String number; + private String isAppletGrounding; + private String content; + private String weight; + private String useTo; + + private Long brandId; // 品牌ID'; + private String brandName; // 品牌名称'; + private Long categoryId; // 类别ID'; + private String categoryName; // 类别名称'; + @ApiModelProperty("阶梯重量") + private String stepWeight; + @ApiModelProperty("阶梯价格") + private String stepPrice; + private String periodValidity; + private String sort; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsDetailsVo.java new file mode 100644 index 0000000..3a2b4ed --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsDetailsVo.java @@ -0,0 +1,56 @@ +package com.yxt.ordermall.api.lpkgoods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @author Administrator + * @description + * @date 2023/11/22 9:48 + */ +@Data +public class LpkGoodsDetailsVo implements Vo { + + private String sid; + private String createTime; + private String remarks; //规格 + private String code;//商品编码 + private String barcode;//商品条码 + private String name;//商品名 + private String unitName;//单位 + private String typeCode;//类别编码 + private String price;//商品价格 + private String picUrl;//图片 + private String appContent; + private String specificationUnit; + private double number; + private String content; + private String weight; + + + private Long brandId; // 品牌ID'; + private String brandName; // 品牌名称'; + private Long categoryId; // 类别ID'; + private String categoryName; // 类别名称'; + + @ApiModelProperty("阶梯重量") + private String stepWeight; + @ApiModelProperty("阶梯价格") + private String stepPrice; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date periodValidity; + private Integer qssl; + /** + * 订购协议 + */ + private String dgxy; + + private String qdxy; + private String goodsNumber; + private String mefenPrice; + private String sort; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsDto.java new file mode 100644 index 0000000..f978299 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsDto.java @@ -0,0 +1,42 @@ +package com.yxt.ordermall.api.lpkgoods; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "商品信息 数据传输对象", description = "商品信息 数据传输对象") +@Data +public class LpkGoodsDto implements Dto { + private String sid; + private String remarks; + private String code; + private String barcode; + private String name; + private String unitName; + private String typeCode; + private String price; + private String picUrl; + private String appContent; + private String specificationUnit; + private double number; + private String content; + private String weight; + private String useTo; + + private Long brandId; // 品牌ID'; + private String brandName; // 品牌名称'; + private Long categoryId; // 类别ID'; + private String categoryName; // 类别名称'; + + @ApiModelProperty("阶梯重量") + private String stepWeight; + @ApiModelProperty("阶梯价格") + private String stepPrice; + private String periodValidity; + private String sort; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsQuery.java new file mode 100644 index 0000000..53371ca --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsQuery.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.lpkgoods; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "商品信息 查询条件", description = "商品信息 查询条件") +@Data +public class LpkGoodsQuery implements Query { + private String name; + private String customerSid; + private String affiliation; + private String brandId; + private String periodValidity; + private String now; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsVo.java new file mode 100644 index 0000000..a384c73 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkgoods/LpkGoodsVo.java @@ -0,0 +1,46 @@ +package com.yxt.ordermall.api.lpkgoods; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "商品信息 视图数据对象", description = "商品信息 视图数据对象") +@NoArgsConstructor +public class LpkGoodsVo implements Vo { + + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String code; + private String barcode; + private String name; + private String unitName; + private String typeCode; + private String price; + private String picUrl; + private String appContent; + private String specificationUnit; + private double number; + private String isAppletGrounding; //1 上架 2 下架 + private String content; + private String useTo; + private String weight; + + private Long brandId; // 品牌ID'; + private String brandName; // 品牌名称'; + private Long categoryId; // 类别ID'; + private String categoryName; // 类别名称'; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date periodValidity; + private String sort; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/Goods.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/Goods.java new file mode 100644 index 0000000..f0c6645 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/Goods.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 14:34 + */ +@Data +public class Goods { + private double goodsNumber;//数量 + private String goodsSid;//商品sid + @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + private String goodsInfo; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrder.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrder.java new file mode 100644 index 0000000..d63517a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrder.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +@TableName("lpk_reserve_order") +public class LpkReserveOrder{ + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String reserveType; + private String cardSid; + private String cardCode; + private String isCustomer; + private String customerSid; + private String userName; + private String userPhone; + private String userAddress; + private String storeSid; + private String reserveDate; + private String cardType;//提货类型,1=提货卡;2=福利卡 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderCardVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderCardVo.java new file mode 100644 index 0000000..67e8765 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderCardVo.java @@ -0,0 +1,56 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 16:53 + */ +@Data +public class LpkReserveOrderCardVo implements Vo { + private String code; //卡号 + private String sid; +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String store; //提货门店 + private String storeSid; //提货门店 + private String bagName; //礼包 + private String cardSid; // 提货卡sid + private String orderSid; //预约订单sid + private String userName; + private String userPhone; + private String state;//提货状态 + private List goodsVos; + private String goods; + private String serialNumber; + private String type; + + public String getBagName() { + if(StringUtils.isBlank(bagName)){ + bagName="福礼卡"; + } + return bagName; + } + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + int c= DateUtil.parse(sdf.format(reserveDate)).compareTo(DateUtil.parse(sdf.format(new Date()))); + if(String.valueOf(c).equals("-1")){ + this.state="已提货"; + }else{ + this.state="未提货"; + } + return state; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderDto.java new file mode 100644 index 0000000..9fdc20a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderDto.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class LpkReserveOrderDto implements Dto { + private String cardSid;//礼包卡sid + private String sid; + private String value; + private String storeSid;//发放点 + private String customerSid;//客户sid + private String reserveDate;//发放时间 + private String userName;//用户名 + private String userPhone;//用户联系方式 + private List goodsVos; + private String orderSid; + private String addressName; + private String cardType;//提货类型,1=提货卡;2=福利卡 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderQuery.java new file mode 100644 index 0000000..71f2edf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderQuery.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +@Data +public class LpkReserveOrderQuery implements Query { + private String userName; //用户名 + private String store; // 门店 + private String startDate; //预约开始日期 + private String endDate; // 预约结束日期 + private String userSid; + private String storeSid; + private String bankSid; + private String bankName; + private String serialNumber; + private String cardType; //1 家庭 2 亲情卡 3 企业 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderVo.java new file mode 100644 index 0000000..6b743a1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/LpkReserveOrderVo.java @@ -0,0 +1,39 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 15:11 + */ +@Data +public class LpkReserveOrderVo implements Vo { + private String sid; //预约订单sid + private String userName; //用户名 + private String userPhone; //用户电话 + private String store; //门店 + private String storeSid; //门店 + @JsonFormat(pattern = "yyyy-MM-dd ",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String bagName; //礼包 + private String code; //卡号 + private String goodsInfo; + private List goodsVo = new ArrayList<>(); + private List goods=new ArrayList<>(); + private String bankName; + private String goodsSid; + private String goodsName; + private String goodsNumber; + private String serialNumber; + private String linker; + private String linkPhone; + private String address; + private String cardType; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/MergeStrategy.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/MergeStrategy.java new file mode 100644 index 0000000..a821f4b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/MergeStrategy.java @@ -0,0 +1,92 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.alibaba.excel.metadata.Head; +import com.alibaba.excel.write.merge.AbstractMergeStrategy; +import org.apache.commons.collections.map.HashedMap; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.util.CellRangeAddress; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +/** + * @author wangpengfei + * @date 2023/12/15 13:43 + */ +public class MergeStrategy extends AbstractMergeStrategy { + + // 合并的列编号,从0开始,指定的index或自己按字段顺序数 + private Set mergeCellIndex = new HashSet<>(); + + // 数据集大小,用于区别结束行位置 + private Integer maxRow = 0; + + // 禁止无参声明 + private MergeStrategy() { + } + + public MergeStrategy(Integer maxRow, int... mergeCellIndex) { + Arrays.stream(mergeCellIndex).forEach(item -> { + this.mergeCellIndex.add(item); + }); + this.maxRow = maxRow; + } + + // 记录上一次合并的信息 + private Map lastRow = new HashedMap(); + + // 每行每列都会进入,绝对不要在这写循环 + @Override + protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) { + int currentCellIndex = cell.getColumnIndex(); + // 判断该行是否需要合并 + if (mergeCellIndex.contains(currentCellIndex)) { + String currentCellValue = cell.getStringCellValue(); + int currentRowIndex = cell.getRowIndex(); + if (!lastRow.containsKey(currentCellIndex)) { + // 记录首行起始位置 + lastRow.put(currentCellIndex, new MergeRange(currentCellValue, currentRowIndex, currentRowIndex, currentCellIndex, currentCellIndex)); + return; + } + //有上行这列的值了,拿来对比. + MergeRange mergeRange = lastRow.get(currentCellIndex); + if (!(mergeRange.lastValue != null && mergeRange.lastValue.equals(currentCellValue))) { + // 结束的位置触发下合并. + // 同行同列不能合并,会抛异常 + if (mergeRange.startRow != mergeRange.endRow || mergeRange.startCell != mergeRange.endCell) { + sheet.addMergedRegionUnsafe(new CellRangeAddress(mergeRange.startRow, mergeRange.endRow, mergeRange.startCell, mergeRange.endCell)); + } + // 更新当前列起始位置 + lastRow.put(currentCellIndex, new MergeRange(currentCellValue, currentRowIndex, currentRowIndex, currentCellIndex, currentCellIndex)); + } + // 合并行 + 1 + mergeRange.endRow += 1; + // 结束的位置触发下最后一次没完成的合并 + if (relativeRowIndex.equals(maxRow - 1)) { + MergeRange lastMergeRange = lastRow.get(currentCellIndex); + // 同行同列不能合并,会抛异常 + if (lastMergeRange.startRow != lastMergeRange.endRow || lastMergeRange.startCell != lastMergeRange.endCell) { + sheet.addMergedRegionUnsafe(new CellRangeAddress(lastMergeRange.startRow, lastMergeRange.endRow, lastMergeRange.startCell, lastMergeRange.endCell)); + } + } + } + } +} +class MergeRange { + public int startRow; + public int endRow; + public int startCell; + public int endCell; + public String lastValue; + + public MergeRange(String lastValue, int startRow, int endRow, int startCell, int endCell) { + this.startRow = startRow; + this.endRow = endRow; + this.startCell = startCell; + this.endCell = endCell; + this.lastValue = lastValue; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/OrderGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/OrderGoodsVo.java new file mode 100644 index 0000000..fbce3f2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/OrderGoodsVo.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:11 + */ +@Data +public class OrderGoodsVo implements Vo { + private int num; + private String goodName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExport.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExport.java new file mode 100644 index 0000000..8b50f10 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExport.java @@ -0,0 +1,55 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:26 + */ +@Getter +@Setter +@EqualsAndHashCode +public class ReserveOrderExport { + + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "提货门店",index = 2) + private String store; + @ColumnWidth(20) + @ExcelProperty(value = "礼包名称",index = 3) + private String bagName; + + @ColumnWidth(20) + @ExcelProperty(value = "提货卡序列号",index = 4) + private String serialNumber; + + @ColumnWidth(20) + @ExcelProperty(value = "姓名",index = 5) + private String userName; + + @ColumnWidth(20) + @ExcelProperty(value = "联系方式",index = 6) + private String userPhone; + + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 7) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 8) + private String goodsNumber; + @ExcelIgnore + private String sid; + @ExcelIgnore + private String goodsSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByBank.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByBank.java new file mode 100644 index 0000000..ea7ebfa --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByBank.java @@ -0,0 +1,48 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Getter +@Setter +@EqualsAndHashCode +public class ReserveOrderExportByBank { + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "卡类型",index = 2) + private String cardType; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 3) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 4) + private String goodsNumber; + @ColumnWidth(20) + @ExcelProperty(value = "联系人",index = 5) + private String linker; + @ColumnWidth(20) + @ExcelProperty(value = "联系电话",index = 6) + private String linkPhone; + @ColumnWidth(50) + @ExcelProperty(value = "地址",index = 7) + private String address; + + @ExcelIgnore + private String storeSid; + @ExcelIgnore + private String goodsSid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByStore.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByStore.java new file mode 100644 index 0000000..b12d394 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByStore.java @@ -0,0 +1,50 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Getter +@Setter +@EqualsAndHashCode +public class ReserveOrderExportByStore { + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "提货门店",index = 2) + private String store; + @ColumnWidth(20) + @ExcelProperty(value = "卡类型",index = 3) + private String cardType; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 4) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 5) + private String goodsNumber; + @ColumnWidth(20) + @ExcelProperty(value = "联系人",index = 6) + private String linker; + @ColumnWidth(20) + @ExcelProperty(value = "联系电话",index = 7) + private String linkPhone; + @ColumnWidth(50) + @ExcelProperty(value = "地址",index = 8) + private String address; + + @ExcelIgnore + private String storeSid; + @ExcelIgnore + private String goodsSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByZ.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByZ.java new file mode 100644 index 0000000..a89ffdc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveorder/ReserveOrderExportByZ.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.api.lpkreserveorder; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Getter +@Setter +@EqualsAndHashCode +public class ReserveOrderExportByZ { + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "卡类型",index = 1) + private String cardType; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 2) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 3) + private String goodsNumber; + + @ExcelIgnore + private String storeSid; + @ExcelIgnore + private String goodsSid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoods.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoods.java new file mode 100644 index 0000000..b5fc8d5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoods.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.api.lpkreserveordergoods; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +@TableName("lpk_reserve_order_goods") +public class LpkReserveOrderGoods { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String goodsSid; + private double goodsNumber=0; + private String num; + private String orderSid; + private String goodsName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoodsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoodsDto.java new file mode 100644 index 0000000..b3efc70 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoodsDto.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.lpkreserveordergoods; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class LpkReserveOrderGoodsDto { + private String cardSid; + private String goodsSid; + private String goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoodsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoodsQuery.java new file mode 100644 index 0000000..0457ed8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkreserveordergoods/LpkReserveOrderGoodsQuery.java @@ -0,0 +1,8 @@ +package com.yxt.ordermall.api.lpkreserveordergoods; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +public class LpkReserveOrderGoodsQuery { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStore.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStore.java new file mode 100644 index 0000000..e2b8a26 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStore.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.api.lpkstore; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "取货点(门店)信息", description = "取货点(门店)信息") +@TableName("lpk_store") +@Data +public class LpkStore { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String code; + private String name; + private String address; + private String phone; + private String businessHours; + private int sort; + private String linker; + private String picUrl; + private String lonAndLat; + private String bankSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreDetailsVo.java new file mode 100644 index 0000000..326b082 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreDetailsVo.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.lpkstore; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/22 13:39 + */ +@Data +public class LpkStoreDetailsVo { + private String sid; + private String remarks; + private String code; + private String name; + private String address; + private String phone; + private String businessHours; + private String createTime; + private int sort; + private String linker; + private String picUrl; + private String lonAndLat; + private String bankName; + private String bankSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreDto.java new file mode 100644 index 0000000..3b9bbdf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreDto.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.lpkstore; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "取货点(门店)信息 数据传输对象", description = "取货点(门店)信息 数据传输对象") +@Data +public class LpkStoreDto implements Dto { + private String sid; + private String remarks; + private String code; + private String name; + private String address; + private String phone; + private String businessHours; + private int sort; + private String linker; + private String picUrl; + private String lonAndLat; + private String bankSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreQuery.java new file mode 100644 index 0000000..0a99e2d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreQuery.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.lpkstore; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "取货点(门店)信息 查询条件", description = "取货点(门店)信息 查询条件") +@Data +public class LpkStoreQuery implements Query { + private String name; + private String sort; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreVo.java new file mode 100644 index 0000000..9c94cfa --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/LpkStoreVo.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.api.lpkstore; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "取货点(门店)信息 视图数据对象", description = "取货点(门店)信息 视图数据对象") +@NoArgsConstructor +public class LpkStoreVo implements Vo { + private String sid; + private Date createTime; + private String remarks;//备注信息 + private String code;//编号 + private String name;//名称 + private String address;//地址 + private String phone;//电话 + private String businessHours;//营业时间,提货时间(早X点到晚X点) + private String linker;//联系人 + private String sort;//排序 + private String isEnable;//排序 + private String lonAndLat; + private String bankName; + private String bankSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/StoreSelect.java b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/StoreSelect.java new file mode 100644 index 0000000..b717718 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/lpkstore/StoreSelect.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.api.lpkstore; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 11:53 + */ +@Data +public class StoreSelect { + private String value; + private String text; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecord.java b/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecord.java new file mode 100644 index 0000000..36b507a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecord.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.api.newcomerrecorecord; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class NewcomerRecoRecord { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String recommendSid; + private String recommendedSid; + private String giftBagSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date assistanceDate; + private String giftName; + private String state; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordDto.java new file mode 100644 index 0000000..29c2a34 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordDto.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.api.newcomerrecorecord; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class NewcomerRecoRecordDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String recommendSid;//推荐人 + private String recommendedSid;//被推荐人 + private String giftBagSid;//礼包sid + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date assistanceDate;//助力时间 + private String state; + private String giftName;//礼包名 + private String customerSid;//礼包名 + private String orderSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordQuery.java new file mode 100644 index 0000000..db5a45b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.newcomerrecorecord; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class NewcomerRecoRecordQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordVo.java new file mode 100644 index 0000000..b7d3175 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/newcomerrecorecord/NewcomerRecoRecordVo.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.api.newcomerrecorecord; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class NewcomerRecoRecordVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String recommendSid; + private String recommendedSid; + private String giftBagSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date assistanceDate; + private String giftName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrder.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrder.java new file mode 100644 index 0000000..0356b33 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrder.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.api.ordorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class OrdOrder { + private String id; + private String sid= UUID.randomUUID().toString();; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String mainSid; + private String outTradeNo; + private int payStatus; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date payTime; + private int cardNumber; + private int source; + private String totalTee;//实际价格 + private String openId; + private String userSid; + private String name; + private int timeRemarks; + private String returnUrl; + private String meet; + private String invoiceStatus;//开票状态 +// private String receivablePrice;//应收价格 + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderDto.java new file mode 100644 index 0000000..1517dff --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderDto.java @@ -0,0 +1,42 @@ +package com.yxt.ordermall.api.ordorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetailVo; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String mainSid; + private int payStatus; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date payTime; + private int cardNumber;//卡的张数 + private int source;//来源:0、云菜窖 + private String totalTee;//金额 + private String openId;//微信唯一标识openid + private String userSid;//用户sid + private String name; + private int timeRemarks; + private String returnUrl; + private String customerSid; + private String brandId; + private String bagSid; + private String meet; + private String invoiceStatus;//开票状态 +// private String receivablePrice; + + private List ordOrderDetailsVoList; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderQuery.java new file mode 100644 index 0000000..478f945 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderQuery.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.api.ordorder; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String customerSid; //总数 + private String state; + private String mainSid; + private String payTime; + private String totalTee; + private String outTradeNo; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderVo.java new file mode 100644 index 0000000..360fa0f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrdOrderVo.java @@ -0,0 +1,47 @@ +package com.yxt.ordermall.api.ordorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetail; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String mainSid; + private String outTradeNo; + private int payStatus;//状态 + private String payType="微信支付"; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date payTime; + private int cardNumber; + private int source; + private String totalTee;//实付金额 + private String meet="0";//应付价格 + private String surcharge="0";//附加费 + private String openId; + private String userSid; + private String name; + private int timeRemarks; + private String returnUrl; + private String count;//商品数 + private List picUrls;//图片 + List ordOrderDetails; + private String endTime; + private PayResult result; + private long nowDate; + private String invoiceStatus;//开票状态 + private boolean invoiceB=false; + private String reason;//理由 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrderParams.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrderParams.java new file mode 100644 index 0000000..cf797c1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrderParams.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:12 + */ +@Data +public class OrderParams { + private String mainSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrderUrl.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrderUrl.java new file mode 100644 index 0000000..b54ff52 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/OrderUrl.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:09 + */ +@Data +public class OrderUrl { + private String page=null; + private OrderParams params; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayOrderVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayOrderVo.java new file mode 100644 index 0000000..7280f3c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayOrderVo.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.ordorder; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/8 + **/ +@Data +public class PayOrderVo { + @ApiModelProperty("主订单sid") + private String mainSid; + @ApiModelProperty("订单编号") + private String outTradeNo; + @ApiModelProperty("订单创建时间") + private String createTime; + @ApiModelProperty("商品总价格") + private String price; + @ApiModelProperty("商品名称") + private String goods; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayParams.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayParams.java new file mode 100644 index 0000000..e21530b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayParams.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:15 + */ +@Data +public class PayParams { + private String mainSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayResult.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayResult.java new file mode 100644 index 0000000..4841540 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayResult.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:08 + */ +@Data +public class PayResult { + private String price; + private String goods; + private String remainder; + private String orderId; + private OrderUrl order_url; + private PayUrl pay_url; + private TradeNoUrl trade_no_url; + private String[] bus; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayUrl.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayUrl.java new file mode 100644 index 0000000..9c57228 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/PayUrl.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:10 + */ +@Data +public class PayUrl { + private String url; + private PayParams params; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/TradeNoUrl.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/TradeNoUrl.java new file mode 100644 index 0000000..47d1284 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/TradeNoUrl.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:11 + */ +@Data +public class TradeNoUrl { + private String url; + private TradeParams params; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/TradeParams.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/TradeParams.java new file mode 100644 index 0000000..5c35e2d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorder/TradeParams.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.api.ordorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/8 17:17 + */ +@Data +public class TradeParams { + private String mainSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetail.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetail.java new file mode 100644 index 0000000..c4226c9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetail.java @@ -0,0 +1,37 @@ +package com.yxt.ordermall.api.ordorderdetails; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class OrdOrderDetail { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String orderSid; + private String goodsSid; + private String goodsName;//商品名 + private int partNumber; //份数 + private double numofPart;//每份数量 + private double priceUnit;// + private double pricePart;//每份价格 + + @TableField(exist = false) + private String picUrl;//图片 + @TableField(exist = false) + private String unitName;//斤 + @TableField(exist = false) + private String specificationUnit;//份 + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailDto.java new file mode 100644 index 0000000..991ec66 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailDto.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.api.ordorderdetails; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderDetailDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String orderSid; + private String goodsSid; + private String goodsName; + private int partNumber; + private double numofPart; + private double priceUnit; + private double pricePart; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailQuery.java new file mode 100644 index 0000000..15cd326 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.ordorderdetails; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderDetailQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailVo.java new file mode 100644 index 0000000..1427f0f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/ordorderdetails/OrdOrderDetailVo.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.api.ordorderdetails; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class OrdOrderDetailVo implements Vo { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String orderSid; + private String goodsSid;//商品Sid + private String goodsName;//商品名称 + private int partNumber;//份数 + private double numofPart;//每份数量 + private double priceUnit;//商品单价 + private double pricePart;//每份价格 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/package-info.java b/ordermall/src/main/java/com/yxt/ordermall/api/package-info.java new file mode 100644 index 0000000..5efbd02 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/package-info.java @@ -0,0 +1,4 @@ +/** + * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明 + */ +package com.yxt.ordermall.api; \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBag.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBag.java new file mode 100644 index 0000000..4a14968 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBag.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.api.recommendnewuserbag; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "礼包信息", description = "礼包信息") +@TableName("recommend_newuser_bag") +@Data +public class RecommendNewUserBag { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dateStart; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dateEnd; + private String name; + private String price; + private String iconUrl; + private String isGrounding; + private String isRecommend; + private String preferentialPrice; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagDetailVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagDetailVo.java new file mode 100644 index 0000000..44461fd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagDetailVo.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.api.recommendnewuserbag; + +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/1/6 15:39 + */ +@Data +public class RecommendNewUserBagDetailVo { + private String sid; + private String name; + private String dateStart; + private String dateEnd; + private String price; + private String iconUrl; + private String isEnable; + private String isGrounding; + private String isRecommend; + private String remark; + private String count; + private List goods = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagDto.java new file mode 100644 index 0000000..67258b5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagDto.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.recommendnewuserbag; + +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "礼包信息 数据传输对象", description = "礼包信息 数据传输对象") +@Data +public class RecommendNewUserBagDto implements Dto { + + private String sid; + private String remarks; + private String dateStart; + private String dateEnd; + private String name; + private String price; + private String iconUrl; + private String isGrounding; + private String isRecommend; + private String preferentialPrice; + //商品sid + private List goods = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagInitVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagInitVo.java new file mode 100644 index 0000000..141be07 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagInitVo.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.api.recommendnewuserbag; + +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/22 11:15 + */ +@Data +public class RecommendNewUserBagInitVo implements Vo { + private String sid; + private String remarks; + private String dateStart; + private String dateEnd; + private String name; + private String price; + private String iconUrl; + private String isRecommend; + private String preferentialPrice; + //商品sid + private List goods = new ArrayList<>(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagQuery.java new file mode 100644 index 0000000..1da03ee --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.recommendnewuserbag; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "礼包信息 查询条件", description = "礼包信息 查询条件") +@Data +public class RecommendNewUserBagQuery implements Query { + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagVo.java new file mode 100644 index 0000000..b9ccfd8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbag/RecommendNewUserBagVo.java @@ -0,0 +1,47 @@ +package com.yxt.ordermall.api.recommendnewuserbag; + +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.appletgiftbag.RecommendRecord; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecordVo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.text.DecimalFormat; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "礼包信息 视图数据对象", description = "礼包信息 视图数据对象") +@NoArgsConstructor +public class RecommendNewUserBagVo implements Vo { + private String sid; + private String name;// + private String dateStart; + private String dateEnd; + private String price;//礼包总价格 + private String prefPrice;//优惠价格 + private String iconUrl;//图片 + private String isEnable; + private String isGrounding; + private String isRecommend;//是否推荐 1 推荐 0 默认 + private String remarks; + private String count;// + private String goodsSid; + private String weight="0";//重量 + private List giftBagGoods; + private List recordList; + private List vos; + + public String getPrice() { + DecimalFormat decimalFormat = new DecimalFormat("#0.00"); + if(null==price){ + price="0"; + } + return price=decimalFormat.format(Double.valueOf(price)); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetails.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetails.java new file mode 100644 index 0000000..2984711 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetails.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.recommendnewuserbagdetails; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "礼包包含商品信息", description = "礼包包含商品信息") +@TableName("recommend_newuser_bag_details") +@Data +public class RecommendNewUserBagDetails { + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String giftbagSid; + private String goodsSid; + private String goodsNumber; +// private String isGrounding; + private double price; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsDto.java new file mode 100644 index 0000000..13d9be4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsDto.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.recommendnewuserbagdetails; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "礼包包含商品信息 数据传输对象", description = "礼包包含商品信息 数据传输对象") +@Data +public class RecommendNewUserBagDetailsDto implements Dto { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsQuery.java new file mode 100644 index 0000000..40b6413 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.recommendnewuserbagdetails; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "礼包包含商品信息 查询条件", description = "礼包包含商品信息 查询条件") +@Data +public class RecommendNewUserBagDetailsQuery implements Query { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsVo.java new file mode 100644 index 0000000..63c8bd4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/recommendnewuserbagdetails/RecommendNewUserBagDetailsVo.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.recommendnewuserbagdetails; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "礼包包含商品信息 视图数据对象", description = "礼包包含商品信息 视图数据对象") +@NoArgsConstructor +public class RecommendNewUserBagDetailsVo implements Vo { + private String goodsName; + private double goodsNumber; + private String picUrl; + private String goodsSid; + private String price; + private String unitName; + private String remarks; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundBusinessQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundBusinessQuery.java new file mode 100644 index 0000000..f35a26b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundBusinessQuery.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.api.refundorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/4/1 14:01 + */ +@Data +public class RefundBusinessQuery { + String mainSid; + boolean code; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrder.java b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrder.java new file mode 100644 index 0000000..16fb68f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrder.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.api.refundorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/3/28 15:03 + */ +@Data +public class RefundOrder { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String state; + private String outTradeNo;//订单号 + private int source;//0 + private String name; + private String amount; + private String openId;// + private String mainSid;//mainSid + private String reason;//退款理由 + private String orderSid;//支付订单sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderDto.java new file mode 100644 index 0000000..f9e58b7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderDto.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.api.refundorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/3/28 15:03 + */ +@Data +public class RefundOrderDto { + private String id; + private String sid; + private String createTime; + private String state; + private String outTradeNo; + private String outRefundNo; + private String source; + private String name; + private String amount; + private String openId; + private String mainSid; + private String reason; + private String refundTime; + private String orderSid; + private String customerSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderQuery.java new file mode 100644 index 0000000..c6f7549 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderQuery.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.api.refundorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/3/28 15:04 + */ +@Data +public class RefundOrderQuery { + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderVo.java new file mode 100644 index 0000000..d62ee2c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/refundorder/RefundOrderVo.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.api.refundorder; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/3/28 15:03 + */ +@Data +public class RefundOrderVo { + private String id; + private String sid; + private String createTime; + private String state; + private String outTradeNo; + private String source; + private String name; + private String amount; + private String openId; + private String mainSid; + private String reason; + private String refundTime; + private String orderSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/region/Region.java b/ordermall/src/main/java/com/yxt/ordermall/api/region/Region.java new file mode 100644 index 0000000..7c24ca1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/region/Region.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.api.region; + +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/19 + **/ +@Data +public class Region extends BaseEntity { + + /** + * 名称,区域名称 + */ + private String name; + /** + * 级别 + */ + private Integer level; + /** + * 行政区划代码 + */ + private String districtCode; + /** + * 上级sid + */ + private String pSid; + /** + * sid全路径Id(provincesid/citysid/countysid/townsid) + */ + private String sidPath; + /** + * 排序号 + */ + private String sortNo; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/MergeStrategy.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/MergeStrategy.java new file mode 100644 index 0000000..1fd1869 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/MergeStrategy.java @@ -0,0 +1,92 @@ +package com.yxt.ordermall.api.reservedeliveryorder; + +import com.alibaba.excel.metadata.Head; +import com.alibaba.excel.write.merge.AbstractMergeStrategy; +import org.apache.commons.collections.map.HashedMap; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.util.CellRangeAddress; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +/** + * @author wangpengfei + * @date 2023/12/15 13:43 + */ +public class MergeStrategy extends AbstractMergeStrategy { + + // 合并的列编号,从0开始,指定的index或自己按字段顺序数 + private Set mergeCellIndex = new HashSet<>(); + + // 数据集大小,用于区别结束行位置 + private Integer maxRow = 0; + + // 禁止无参声明 + private MergeStrategy() { + } + + public MergeStrategy(Integer maxRow, int... mergeCellIndex) { + Arrays.stream(mergeCellIndex).forEach(item -> { + this.mergeCellIndex.add(item); + }); + this.maxRow = maxRow; + } + + // 记录上一次合并的信息 + private Map lastRow = new HashedMap(); + + // 每行每列都会进入,绝对不要在这写循环 + @Override + protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) { + int currentCellIndex = cell.getColumnIndex(); + // 判断该行是否需要合并 + if (mergeCellIndex.contains(currentCellIndex)) { + String currentCellValue = cell.getStringCellValue(); + int currentRowIndex = cell.getRowIndex(); + if (!lastRow.containsKey(currentCellIndex)) { + // 记录首行起始位置 + lastRow.put(currentCellIndex, new MergeRange(currentCellValue, currentRowIndex, currentRowIndex, currentCellIndex, currentCellIndex)); + return; + } + //有上行这列的值了,拿来对比. + MergeRange mergeRange = lastRow.get(currentCellIndex); + if (!(mergeRange.lastValue != null && mergeRange.lastValue.equals(currentCellValue))) { + // 结束的位置触发下合并. + // 同行同列不能合并,会抛异常 + if (mergeRange.startRow != mergeRange.endRow || mergeRange.startCell != mergeRange.endCell) { + sheet.addMergedRegionUnsafe(new CellRangeAddress(mergeRange.startRow, mergeRange.endRow, mergeRange.startCell, mergeRange.endCell)); + } + // 更新当前列起始位置 + lastRow.put(currentCellIndex, new MergeRange(currentCellValue, currentRowIndex, currentRowIndex, currentCellIndex, currentCellIndex)); + } + // 合并行 + 1 + mergeRange.endRow += 1; + // 结束的位置触发下最后一次没完成的合并 + if (relativeRowIndex.equals(maxRow - 1)) { + MergeRange lastMergeRange = lastRow.get(currentCellIndex); + // 同行同列不能合并,会抛异常 + if (lastMergeRange.startRow != lastMergeRange.endRow || lastMergeRange.startCell != lastMergeRange.endCell) { + sheet.addMergedRegionUnsafe(new CellRangeAddress(lastMergeRange.startRow, lastMergeRange.endRow, lastMergeRange.startCell, lastMergeRange.endCell)); + } + } + } + } +} +class MergeRange { + public int startRow; + public int endRow; + public int startCell; + public int endCell; + public String lastValue; + + public MergeRange(String lastValue, int startRow, int endRow, int startCell, int endCell) { + this.startRow = startRow; + this.endRow = endRow; + this.startCell = startCell; + this.endCell = endCell; + this.lastValue = lastValue; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/OrderGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/OrderGoodsVo.java new file mode 100644 index 0000000..94e866f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/OrderGoodsVo.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.reservedeliveryorder; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:11 + */ +@Data +public class OrderGoodsVo implements Vo { + private int num; + private String goodName; + private String unitName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrder.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrder.java new file mode 100644 index 0000000..a54af2c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrder.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.reservedeliveryorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class ReserveDeliveryOrder { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String affiliation; + private String customerSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date reserveDate; + private String userName; + private String userPhone; + private String userAddress; + private String reserveCode; + private String state; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderDto.java new file mode 100644 index 0000000..a8d2006 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderDto.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.reservedeliveryorder; + +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class ReserveDeliveryOrderDto implements Dto { + private String customerSid; + private String reserveDate; + private String storeSid; + private String storeName; + private String userName; + private String userPhone; + private String userAddress; + private String affiliation; + private String brandId; + private List goodsVos; + private String goodsSid; + private double select; + private String orderSid; + private String addressName; + private String cardType;//提货类型,1=提货卡;2=福利卡 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderQuery.java new file mode 100644 index 0000000..d2bc2e8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderQuery.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.reservedeliveryorder; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +@Data +public class ReserveDeliveryOrderQuery implements Query { + private String userName; //用户名 + private String store; // 门店 + private String startDate; //预约开始日期 + private String endDate; // 预约结束日期 + private String userSid; + private String customerSid; + private String storeSid; + private String bankSid; + private String bankName; + private String serialNumber; + private String state; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderVo.java new file mode 100644 index 0000000..57c451a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorder/ReserveDeliveryOrderVo.java @@ -0,0 +1,43 @@ +package com.yxt.ordermall.api.reservedeliveryorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 15:11 + */ +@Data +public class ReserveDeliveryOrderVo implements Vo { + private String sid; //预约订单sid + private String userName; //用户名 + private String userPhone; //用户电话 + private String store; //门店 + private String storeSid; //门店 + @JsonFormat(pattern = "yyyy-MM-dd ",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String bagName; //礼包 + private String code; //卡号 + private String goodsInfo; + private List goodsVo = new ArrayList<>(); + private List goods=new ArrayList<>(); + private String bankName; + private String goodsSid; + private String goodsName; + private String goodsNumber; + private String serialNumber; + private String linker; + private String linkPhone; + private String address; + private String cardType; + private String goodss; + private String stateValue; + private String affiliationValue; + private String reserveCode; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetails.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetails.java new file mode 100644 index 0000000..7b6a2b9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetails.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.reservedeliveryorderdetails; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class ReserveDeliveryOrderDetails { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + + private double goodsNumber=0; + @TableField(exist = false) + private String num; +// @TableField(exist = false) + private String orderSid; + private String goodsName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsDto.java new file mode 100644 index 0000000..8085111 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsDto.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.reservedeliveryorderdetails; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class ReserveDeliveryOrderDetailsDto { + private String cardSid; + private String goodsSid; + private String goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsQuery.java new file mode 100644 index 0000000..a12cd7c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsQuery.java @@ -0,0 +1,8 @@ +package com.yxt.ordermall.api.reservedeliveryorderdetails; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +public class ReserveDeliveryOrderDetailsQuery { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCart.java b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCart.java new file mode 100644 index 0000000..7412dc6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCart.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.shoppingcart; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class ShoppingCart { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String isEnable; + private String goodsSid; + private String goodsName; + private String goodsNumber; + private String affiliation; + private String price; + private String customerSid; + private String weight; //每份重量 + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartDto.java new file mode 100644 index 0000000..338ff4b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartDto.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.api.shoppingcart; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class ShoppingCartDto implements Dto { + + + + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String goodsSid;//商品sid + private String goodsName;//商品名称 + private String goodsNumber;//商品数量 + private String affiliation;//所属菜窖 1百姓菜窖 2 精品菜窖 3企业菜窖 + private String price;//价格 + private String customerSid; //客户sid + private String weight; //每份重量 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartQuery.java new file mode 100644 index 0000000..005e9e6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartQuery.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.shoppingcart; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class ShoppingCartQuery implements Query { + private String customerSid; //客户 + private String affiliation; //类型 + private String brandId; + private String periodValidity; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartVo.java new file mode 100644 index 0000000..e22238c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingCartVo.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.api.shoppingcart; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class ShoppingCartVo implements Vo { + private String id; + private String sid; + private String createTime; + private String remarks; + private String isEnable; + private String goodsSid;//商品sid + private String goodsName;//商品名称 + private String goodsNumber;//商品数量 + private String affiliation;//所属菜窖 1百姓菜窖 2 精品菜窖 3企业菜窖 + private String price;//价格 + private String jPrice;//价格 + private String customerSid; //客户sid + + private String weight; //每份重量 + private String totalPrice; + private String standbyPrice;//没有折扣的总价格 + private String totalWeight; + + private String unitName; + private String iconUrl; + private String specificationUnit; +// private String text; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingGoodsVo.java new file mode 100644 index 0000000..ce7a529 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/shoppingcart/ShoppingGoodsVo.java @@ -0,0 +1,8 @@ +package com.yxt.ordermall.api.shoppingcart; + +/** + * @author wangpengfei + * @date 2024/1/17 14:03 + */ +public class ShoppingGoodsVo { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCoupon.java b/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCoupon.java new file mode 100644 index 0000000..49c2401 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCoupon.java @@ -0,0 +1,120 @@ +package com.yxt.ordermall.api.sms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + *

+ * 优惠卷表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Setter +@Getter +@TableName("sms_coupon") +public class SmsCoupon extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 优惠卷类型;0->全场赠券;1->会员赠券;2->购物赠券;3->注册赠券 + */ + private Integer type; + + private String name; + + /** + * 使用平台:0->全部;1->移动;2->PC + */ + private Integer platform; + + /** + * 数量 + */ + private Integer count; + + /** + * 金额 + */ + private BigDecimal amount; + + /** + * 每人限领张数 + */ + @TableField("per_limit") + private Integer perLimit; + + /** + * 使用门槛;0表示无门槛 + */ + @TableField("min_point") + private BigDecimal minPoint; + + @TableField("start_time") + private Date startTime; + + @TableField("end_time") + private Date endTime; + + /** + * 使用类型:0->全场通用;1->指定分类;2->指定商品 + */ + @TableField("use_type") + private Integer useType; + + /** + * 备注 + */ + private String note; + + /** + * 发行数量 + */ + @TableField("publish_count") + private Integer publishCount; + + /** + * 已使用数量 + */ + @TableField("use_count") + private Integer useCount; + + /** + * 领取数量 + */ + @TableField("receive_count") + private Integer receiveCount; + + /** + * 可以领取的日期 + */ + @TableField("enable_time") + private Date enableTime; + + /** + * 优惠码 + */ + private String code; + + /** + * 可领取的会员类型:0->无限时 + */ + @TableField("member_level") + private Integer memberLevel; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponHistory.java b/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponHistory.java new file mode 100644 index 0000000..fd77745 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponHistory.java @@ -0,0 +1,94 @@ +package com.yxt.ordermall.api.sms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + *

+ * 优惠券使用、领取历史表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Data +@TableName("sms_coupon_history") +public class SmsCouponHistory extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("coupon_id") + private Long couponId; + /** + * 使用门槛;0表示无门槛 + */ + @TableField("min_point") + private BigDecimal minPoint; + + @TableField("member_id") + private Long memberId; + + @TableField("coupon_code") + private String couponCode; + + private BigDecimal amount; + /** + * 领取人昵称 + */ + @TableField("member_nickname") + private String memberNickname; + + /** + * 获取类型:0->后台赠送;1->主动获取 + */ + @TableField("get_type") + private Integer getType; + + @TableField("create_time") + private Date createTime; + + /** + * 使用状态:0->未使用;1->已使用;2->已过期 + */ + @TableField("use_status") + private Integer useStatus; + + /** + * 使用时间 + */ + @TableField("use_time") + private Date useTime; + + /** + * 订单编号 + */ + @TableField("order_id") + private Long orderId; + + /** + * 订单号码 + */ + @TableField("order_sn") + private String orderSn; + + @TableField("start_time") + private Date startTime; + + @TableField("end_time") + private Date endTime; + + private String note; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponProductCategoryRelation.java b/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponProductCategoryRelation.java new file mode 100644 index 0000000..45db9e7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponProductCategoryRelation.java @@ -0,0 +1,96 @@ +package com.yxt.ordermall.api.sms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; + +/** + *

+ * 优惠券和产品分类关系表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("sms_coupon_product_category_relation") +public class SmsCouponProductCategoryRelation extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("coupon_id") + private Long couponId; + + @TableField("product_category_id") + private Long productCategoryId; + + /** + * 产品分类名称 + */ + @TableField("product_category_name") + private String productCategoryName; + + /** + * 父分类名称 + */ + @TableField("parent_category_name") + private String parentCategoryName; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getCouponId() { + return couponId; + } + + public void setCouponId(Long couponId) { + this.couponId = couponId; + } + + public Long getProductCategoryId() { + return productCategoryId; + } + + public void setProductCategoryId(Long productCategoryId) { + this.productCategoryId = productCategoryId; + } + + public String getProductCategoryName() { + return productCategoryName; + } + + public void setProductCategoryName(String productCategoryName) { + this.productCategoryName = productCategoryName; + } + + public String getParentCategoryName() { + return parentCategoryName; + } + + public void setParentCategoryName(String parentCategoryName) { + this.parentCategoryName = parentCategoryName; + } + + @Override + public String toString() { + return "SmsCouponProductCategoryRelation{" + + ", id=" + id + + ", couponId=" + couponId + + ", productCategoryId=" + productCategoryId + + ", productCategoryName=" + productCategoryName + + ", parentCategoryName=" + parentCategoryName + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponProductRelation.java b/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponProductRelation.java new file mode 100644 index 0000000..f3d3b6b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sms/entity/SmsCouponProductRelation.java @@ -0,0 +1,96 @@ +package com.yxt.ordermall.api.sms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; + +/** + *

+ * 优惠券和产品的关系表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("sms_coupon_product_relation") +public class SmsCouponProductRelation extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("coupon_id") + private Long couponId; + + @TableField("product_id") + private Long productId; + + /** + * 商品名称 + */ + @TableField("product_name") + private String productName; + + /** + * 商品编码 + */ + @TableField("product_sn") + private String productSn; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getCouponId() { + return couponId; + } + + public void setCouponId(Long couponId) { + this.couponId = couponId; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getProductSn() { + return productSn; + } + + public void setProductSn(String productSn) { + this.productSn = productSn; + } + + @Override + public String toString() { + return "SmsCouponProductRelation{" + + ", id=" + id + + ", couponId=" + couponId + + ", productId=" + productId + + ", productName=" + productName + + ", productSn=" + productSn + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sms/vo/SmsCouponHistoryDetail.java b/ordermall/src/main/java/com/yxt/ordermall/api/sms/vo/SmsCouponHistoryDetail.java new file mode 100644 index 0000000..e848d62 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sms/vo/SmsCouponHistoryDetail.java @@ -0,0 +1,46 @@ +package com.yxt.ordermall.api.sms.vo; + + +import com.yxt.ordermall.api.sms.entity.SmsCoupon; +import com.yxt.ordermall.api.sms.entity.SmsCouponHistory; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductCategoryRelation; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductRelation; + +import java.util.List; + +/** + * 优惠券领取历史详情封装 + * https://github.com/shenzhuan/mallplus on 2018/8/29. + */ +public class SmsCouponHistoryDetail extends SmsCouponHistory { + //相关优惠券信息 + private SmsCoupon coupon; + //优惠券关联商品 + private List productRelationList; + //优惠券关联商品分类 + private List categoryRelationList; + + public SmsCoupon getCoupon() { + return coupon; + } + + public void setCoupon(SmsCoupon coupon) { + this.coupon = coupon; + } + + public List getProductRelationList() { + return productRelationList; + } + + public void setProductRelationList(List productRelationList) { + this.productRelationList = productRelationList; + } + + public List getCategoryRelationList() { + return categoryRelationList; + } + + public void setCategoryRelationList(List categoryRelationList) { + this.categoryRelationList = categoryRelationList; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sms/vo/SmsCouponParam.java b/ordermall/src/main/java/com/yxt/ordermall/api/sms/vo/SmsCouponParam.java new file mode 100644 index 0000000..9510bb9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sms/vo/SmsCouponParam.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.api.sms.vo; + + +import com.yxt.ordermall.api.sms.entity.SmsCoupon; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductCategoryRelation; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductRelation; + +import java.util.List; + +/** + * 优惠券信息封装,包括绑定商品和绑定分类 + * https://github.com/shenzhuan/mallplus on 2018/8/28. + */ +public class SmsCouponParam extends SmsCoupon { + //优惠券绑定的商品 + private List productRelationList; + //优惠券绑定的商品分类 + private List productCategoryRelationList; + + public List getProductRelationList() { + return productRelationList; + } + + public void setProductRelationList(List productRelationList) { + this.productRelationList = productRelationList; + } + + public List getProductCategoryRelationList() { + return productCategoryRelationList; + } + + public void setProductCategoryRelationList(List productCategoryRelationList) { + this.productCategoryRelationList = productCategoryRelationList; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUser.java b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUser.java new file mode 100644 index 0000000..96a328d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUser.java @@ -0,0 +1,72 @@ +package com.yxt.ordermall.api.sysuser; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUser.java
+ * Class: SysUser
+ * Description: 用户表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表", description = "用户表") +@TableName("sys_user") +@Data +public class SysUser extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("登录名,登录名不能相同") + private String userName; + + @ApiModelProperty("密码(加密或签名后)") + private String password; + + @ApiModelProperty("密码修改时限") + private String pwdDayslimit; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("最后一次密码修改时间") + private Date pwdModifyTime; + + @ApiModelProperty("在线状态(0为离线、1为在线)") + private Integer onlineState; + + @ApiModelProperty("用户登录时随机生成身份验证字符串") + private String token; + + @ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员") + private String isAdmin; + + @ApiModelProperty("手机登录唯一标识,手机与用户绑定字段") + private String appId; + + @ApiModelProperty("关联的人员sid") + private String staffSid; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private Integer userType; + + @ApiModelProperty("用户头像") + private String headImage; + + private String roleSid; + private String orgSid; + private String postSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserDto.java new file mode 100644 index 0000000..46fcba1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserDto.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.api.sysuser; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserDto.java
+ * Class: SysUserDto
+ * Description: 用户表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 数据传输对象", description = "用户表 数据传输对象") +@Data +public class SysUserDto implements Dto { + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private Integer userType; + @ApiModelProperty(value = "姓名", required = true) + //@NotBlank(message = "姓名不能为空") + private String name; + @ApiModelProperty(value = "验证码", required = true) + //@NotBlank(message = "验证码不能为空") + private String verificationCode; + @ApiModelProperty(value = "部门sid") + private String deptSid; + @ApiModelProperty(value = "岗位sid") + private String postSid; + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserInfoVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserInfoVo.java new file mode 100644 index 0000000..6d31ec7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserInfoVo.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.api.sysuser; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/2/9 9:12 + * @Description 用户组织信息 + */ +@Data +public class SysUserInfoVo implements Vo { + + private static final long serialVersionUID = 7931121025686046432L; + @ApiModelProperty("关联的员工sid") + private String staffSid; + + @ApiModelProperty("关联的员工名称") + private String staffName; + + @ApiModelProperty("员工的组织sid(多个时为第一个)") + private String orgSid; + + @ApiModelProperty("员工的组织名称(多个时为第一个)") + private String orgName; + + @ApiModelProperty("员工的组织部门编码") + private String orgCode; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserListVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserListVo.java new file mode 100644 index 0000000..f0e22da --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserListVo.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.api.sysuser; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/9/14 15:36 + * @Description + */ +@Data +public class SysUserListVo implements Vo { + private static final long serialVersionUID = -3047907553025391436L; + + private String name; + + private String sid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserQuery.java new file mode 100644 index 0000000..1f99bd2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserQuery.java @@ -0,0 +1,51 @@ +package com.yxt.ordermall.api.sysuser; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserQuery.java
+ * Class: SysUserQuery
+ * Description: 用户表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 查询条件", description = "用户表 查询条件") +@Data +public class SysUserQuery implements Query { + + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("用户名称") + private String userName; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("部门名称") + private String orgName; + + @ApiModelProperty("密码(加密或签名后)") + private String password; + + @ApiModelProperty("用户登录时随机生成身份验证字符串") + private String token; + @ApiModelProperty("用户登录时随机生成的验证码字符串") + private String verifyCode; + private String uuid; + + @ApiModelProperty("手机登录唯一标识,手机与用户绑定字段") + private String appId; + @ApiModelProperty("手机登录类型:1、密码登录2、验证码登录") + private String type; + @ApiModelProperty(value = "是否是测试",example = "false") + private Boolean isTest; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserVo.java new file mode 100644 index 0000000..078c78b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/SysUserVo.java @@ -0,0 +1,93 @@ +package com.yxt.ordermall.api.sysuser; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserVo.java
+ * Class: SysUserVo
+ * Description: 用户表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 视图数据对象", description = "用户表 视图数据对象") +@Data +@NoArgsConstructor +public class SysUserVo implements Vo { + private static final long serialVersionUID = 2415131854581950721L; + @ApiModelProperty("部门sid") + private String departmentSid; + @ApiModelProperty("部门名称") + private String departmentName; + @ApiModelProperty("上级部门名称-本级部门名称 岗位名称") + @JsonProperty("pNameAndDepartmentNameAndPostName") + private String pNameAndDepartmentNameAndPostName; + @ApiModelProperty("岗位名称") + private String postName; + @ApiModelProperty("岗位Sid") + private String postSid; + @ApiModelProperty("单位sid") + private String organizationSid; + @ApiModelProperty("单位名称") + private String organizationName; + @ApiModelProperty("用户姓名") + private String name; + @ApiModelProperty("登录名,登录名不能相同") + private String userName; + + @ApiModelProperty("id") + private Integer id; + @ApiModelProperty("用户sid") + private String sid; + @ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员") + private String isAdmin; + @ApiModelProperty("角色名称") + private String roleName; +// private List roleList; + @ApiModelProperty("关联的人员sid") + private String staffSid; + + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty(value = "禁用状态") + private String isEnable; + + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private String userType; + @ApiModelProperty("用户类型:1、2、3") + private String userTypeKey; + @ApiModelProperty("用户头像") + private String headImage; + @ApiModelProperty("组织名称") + private String orgNamePath; + @ApiModelProperty("组织sid") + private String orgSidPath; + @ApiModelProperty(value = "token") + private String token; + @ApiModelProperty(value = "角色sids") + private List roleSids = new ArrayList<>(); + +// private List orgList = new ArrayList<>(); + private String defaultOrgPath; + private String defaultOrgPathName; + + @ApiModelProperty("是否需要更换密码") + private Boolean needResetPsd; + @ApiModelProperty("工号") + private String jobNumber; + private String password; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/UserQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/UserQuery.java new file mode 100644 index 0000000..e54c25c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/UserQuery.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.api.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/21 8:47 + * @Description + */ +@Data +public class UserQuery implements Query { + + private static final long serialVersionUID = -3979717077029562761L; + @ApiModelProperty(value = "角色sid必传项") + private String roleSid; + @ApiModelProperty(value = "用户部门sid路径是必传项") + private String orgSidPath; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/UserRoleQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/UserRoleQuery.java new file mode 100644 index 0000000..3530e54 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/sysuser/UserRoleQuery.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.api.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/25 8:38 + * @Description + */ +@Data +public class UserRoleQuery implements Query { + private static final long serialVersionUID = 1913450300189800653L; + + @ApiModelProperty("角色sid") + private String roleSid; + private String orgSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecords.java b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecords.java new file mode 100644 index 0000000..a59e296 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecords.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.transferrecords; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class TransferRecords { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + + private String customerSid;//客户sid + private String transferCode;//转赠code + private String affiliation;//所属菜窖 + private String state;// + private String recipientSid;//领取人 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date recipientTime;//领取人 + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsDto.java new file mode 100644 index 0000000..9ec9afb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsDto.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.api.transferrecords; + +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class TransferRecordsDto implements Dto { + private String customerSid;//客户sid + private String transferCode;//转赠code + private String affiliation;//所属菜窖 + private String state;// + private String recipientSid;//领取人 + private String orderSid; + private String remarks; + private List vos; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsQuery.java new file mode 100644 index 0000000..ac3d685 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsQuery.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.api.transferrecords; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +@Data +public class TransferRecordsQuery implements Query { + private String userName; //用户名 + private String store; // 门店 + private String startDate; //预约开始日期 + private String endDate; // 预约结束日期 + private String customerSid; + private String storeSid; + private String bankSid; + private String bankName; + private String serialNumber; + private String state; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsVo.java new file mode 100644 index 0000000..d9b9c59 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecords/TransferRecordsVo.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.transferrecords; + +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.transferrecordsgoodsdetails.TransferRecordsGoodsDetailsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 15:11 + */ +@Data +public class TransferRecordsVo implements Vo { + private String sid; + private String customerSid;//客户sid + private String transferCode;//转赠code + private String newCode;//转赠code 加空格 + private String affiliation;//所属菜窖 + private String state;// + private String stateValue;// + private String type; + private String recipientSid;//领取人 + private String goodss; + private String createTime; + private String remarks; + private String fxNick; + private String lqNick; + private List list; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetails.java b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetails.java new file mode 100644 index 0000000..c5c700d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetails.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.transferrecordsgoodsdetails; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class TransferRecordsGoodsDetails { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + + private String orderSid; + private String goodsSid; + private double goodsNumber;//商品份数 + @TableField(exist = false) + private String goodsName;//商品名 + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsDto.java new file mode 100644 index 0000000..401a3a1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsDto.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.transferrecordsgoodsdetails; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class TransferRecordsGoodsDetailsDto implements Dto { + private String orderSid; + private String goodsSid; + private String goodsNumber; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsQuery.java new file mode 100644 index 0000000..c590abb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsQuery.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.api.transferrecordsgoodsdetails; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +@Data +public class TransferRecordsGoodsDetailsQuery implements Query { + private String userName; //用户名 + private String store; // 门店 + private String startDate; //预约开始日期 + private String endDate; // 预约结束日期 + private String userSid; + private String storeSid; + private String bankSid; + private String bankName; + private String serialNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsVo.java new file mode 100644 index 0000000..0f394d3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsVo.java @@ -0,0 +1,45 @@ +package com.yxt.ordermall.api.transferrecordsgoodsdetails; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.vegecallerreserveorder.OrderGoodsVo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 15:11 + */ +@Data +public class TransferRecordsGoodsDetailsVo implements Vo { + private String sid; //预约订单sid + private String userName; //用户名 + private String userPhone; //用户电话 + private String store; //门店 + private String storeSid; //门店 + @JsonFormat(pattern = "yyyy-MM-dd ",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String bagName; //礼包 + private String code; //卡号 + private String goodsInfo; + private List goodsVo = new ArrayList<>(); + private List goods=new ArrayList<>(); + private String bankName; + private String goodsSid; + private String goodsName; + private String goodsNumber; + private String goodsContent; + private String goodsPicUrl; + private String goodsFs; + private String goodsJs; + private String price; + private String serialNumber; + private String linker; + private String linkPhone; + private String address; + private String cardType; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetails.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetails.java new file mode 100644 index 0000000..6224269 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetails.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.vegecallerreservedetails; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class VegeCellarReserveDetails { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String cardSid; + private String goodsSid; + private double goodsNumber=0; + @TableField(exist = false) + private String num; +// @TableField(exist = false) + private String orderSid; + private String goodsName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetailsDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetailsDto.java new file mode 100644 index 0000000..720e0b5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetailsDto.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.vegecallerreservedetails; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class VegeCellarReserveDetailsDto { + private String cardSid; + private String goodsSid; + private String goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetailsQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetailsQuery.java new file mode 100644 index 0000000..0725942 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreservedetails/VegeCellarReserveDetailsQuery.java @@ -0,0 +1,8 @@ +package com.yxt.ordermall.api.vegecallerreservedetails; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +public class VegeCellarReserveDetailsQuery { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/Goods.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/Goods.java new file mode 100644 index 0000000..aa79448 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/Goods.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.yxt.common.core.utils.ExportEntityMap; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 14:34 + */ +@Data +public class Goods { + private double goodsNumber;//数量 + private String goodsSid;//商品sid + @ExportEntityMap(CnName = "商品明细", EnName = "goodsInfo") + private String goodsInfo; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/LpkReserveOrderCardVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/LpkReserveOrderCardVo.java new file mode 100644 index 0000000..de9a1d6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/LpkReserveOrderCardVo.java @@ -0,0 +1,56 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import cn.hutool.core.date.DateUtil; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import lombok.Data; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 16:53 + */ +@Data +public class LpkReserveOrderCardVo implements Vo { + private String code; //卡号 + private String sid; +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String store; //提货门店 + private String storeSid; //提货门店 + private String bagName; //礼包 + private String cardSid; // 提货卡sid + private String orderSid; //预约订单sid + private String userName; + private String userPhone; + private String state;//提货状态 + private List goodsVos; + private String goods; + private String serialNumber; + private String type; + + public String getBagName() { + if(StringUtils.isBlank(bagName)){ + bagName="福礼卡"; + } + return bagName; + } + + public String getState() { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + int c= DateUtil.parse(sdf.format(reserveDate)).compareTo(DateUtil.parse(sdf.format(new Date()))); + if(String.valueOf(c).equals("-1")){ + this.state="已提货"; + }else{ + this.state="未提货"; + } + return state; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/MergeStrategy.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/MergeStrategy.java new file mode 100644 index 0000000..b6e0c18 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/MergeStrategy.java @@ -0,0 +1,92 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.alibaba.excel.metadata.Head; +import com.alibaba.excel.write.merge.AbstractMergeStrategy; +import org.apache.commons.collections.map.HashedMap; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.util.CellRangeAddress; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +/** + * @author wangpengfei + * @date 2023/12/15 13:43 + */ +public class MergeStrategy extends AbstractMergeStrategy { + + // 合并的列编号,从0开始,指定的index或自己按字段顺序数 + private Set mergeCellIndex = new HashSet<>(); + + // 数据集大小,用于区别结束行位置 + private Integer maxRow = 0; + + // 禁止无参声明 + private MergeStrategy() { + } + + public MergeStrategy(Integer maxRow, int... mergeCellIndex) { + Arrays.stream(mergeCellIndex).forEach(item -> { + this.mergeCellIndex.add(item); + }); + this.maxRow = maxRow; + } + + // 记录上一次合并的信息 + private Map lastRow = new HashedMap(); + + // 每行每列都会进入,绝对不要在这写循环 + @Override + protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) { + int currentCellIndex = cell.getColumnIndex(); + // 判断该行是否需要合并 + if (mergeCellIndex.contains(currentCellIndex)) { + String currentCellValue = cell.getStringCellValue(); + int currentRowIndex = cell.getRowIndex(); + if (!lastRow.containsKey(currentCellIndex)) { + // 记录首行起始位置 + lastRow.put(currentCellIndex, new MergeRange(currentCellValue, currentRowIndex, currentRowIndex, currentCellIndex, currentCellIndex)); + return; + } + //有上行这列的值了,拿来对比. + MergeRange mergeRange = lastRow.get(currentCellIndex); + if (!(mergeRange.lastValue != null && mergeRange.lastValue.equals(currentCellValue))) { + // 结束的位置触发下合并. + // 同行同列不能合并,会抛异常 + if (mergeRange.startRow != mergeRange.endRow || mergeRange.startCell != mergeRange.endCell) { + sheet.addMergedRegionUnsafe(new CellRangeAddress(mergeRange.startRow, mergeRange.endRow, mergeRange.startCell, mergeRange.endCell)); + } + // 更新当前列起始位置 + lastRow.put(currentCellIndex, new MergeRange(currentCellValue, currentRowIndex, currentRowIndex, currentCellIndex, currentCellIndex)); + } + // 合并行 + 1 + mergeRange.endRow += 1; + // 结束的位置触发下最后一次没完成的合并 + if (relativeRowIndex.equals(maxRow - 1)) { + MergeRange lastMergeRange = lastRow.get(currentCellIndex); + // 同行同列不能合并,会抛异常 + if (lastMergeRange.startRow != lastMergeRange.endRow || lastMergeRange.startCell != lastMergeRange.endCell) { + sheet.addMergedRegionUnsafe(new CellRangeAddress(lastMergeRange.startRow, lastMergeRange.endRow, lastMergeRange.startCell, lastMergeRange.endCell)); + } + } + } + } +} +class MergeRange { + public int startRow; + public int endRow; + public int startCell; + public int endCell; + public String lastValue; + + public MergeRange(String lastValue, int startRow, int endRow, int startCell, int endCell) { + this.startRow = startRow; + this.endRow = endRow; + this.startCell = startCell; + this.endCell = endCell; + this.lastValue = lastValue; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/OrderGoodsVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/OrderGoodsVo.java new file mode 100644 index 0000000..0e22109 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/OrderGoodsVo.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:11 + */ +@Data +public class OrderGoodsVo implements Vo { + private int num; + private String goodName; + private String unitName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExport.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExport.java new file mode 100644 index 0000000..c5fde7b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExport.java @@ -0,0 +1,55 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * @author Fan + * @description + * @date 2023/11/28 10:26 + */ +@Getter +@Setter +@EqualsAndHashCode +public class ReserveOrderExport { + + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "提货门店",index = 2) + private String store; + @ColumnWidth(20) + @ExcelProperty(value = "礼包名称",index = 3) + private String bagName; + + @ColumnWidth(20) + @ExcelProperty(value = "提货卡序列号",index = 4) + private String serialNumber; + + @ColumnWidth(20) + @ExcelProperty(value = "姓名",index = 5) + private String userName; + + @ColumnWidth(20) + @ExcelProperty(value = "联系方式",index = 6) + private String userPhone; + + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 7) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 8) + private String goodsNumber; + @ExcelIgnore + private String sid; + @ExcelIgnore + private String goodsSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByBank.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByBank.java new file mode 100644 index 0000000..211d9bd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByBank.java @@ -0,0 +1,48 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Getter +@Setter +@EqualsAndHashCode +public class ReserveOrderExportByBank { + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "卡类型",index = 2) + private String cardType; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 3) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 4) + private String goodsNumber; + @ColumnWidth(20) + @ExcelProperty(value = "联系人",index = 5) + private String linker; + @ColumnWidth(20) + @ExcelProperty(value = "联系电话",index = 6) + private String linkPhone; + @ColumnWidth(50) + @ExcelProperty(value = "地址",index = 7) + private String address; + + @ExcelIgnore + private String storeSid; + @ExcelIgnore + private String goodsSid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByStore.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByStore.java new file mode 100644 index 0000000..06d8a07 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByStore.java @@ -0,0 +1,50 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Getter +@Setter +@EqualsAndHashCode +public class ReserveOrderExportByStore { + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "提货门店",index = 2) + private String store; + @ColumnWidth(20) + @ExcelProperty(value = "卡类型",index = 3) + private String cardType; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 4) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 5) + private String goodsNumber; + @ColumnWidth(20) + @ExcelProperty(value = "联系人",index = 6) + private String linker; + @ColumnWidth(20) + @ExcelProperty(value = "联系电话",index = 7) + private String linkPhone; + @ColumnWidth(50) + @ExcelProperty(value = "地址",index = 8) + private String address; + + @ExcelIgnore + private String storeSid; + @ExcelIgnore + private String goodsSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByZ.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByZ.java new file mode 100644 index 0000000..a7fb251 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/ReserveOrderExportByZ.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * @author wangpengfei + * @date 2023/12/11 13:58 + */ +@Getter +@Setter +@EqualsAndHashCode +public class ReserveOrderExportByZ { + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "卡类型",index = 1) + private String cardType; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 2) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 3) + private String goodsNumber; + + @ExcelIgnore + private String storeSid; + @ExcelIgnore + private String goodsSid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrder.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrder.java new file mode 100644 index 0000000..8e8da0d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrder.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class VegeCellarReserveOrder { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String affiliation; + private String customerSid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date reserveDate; + private String storeSid; + private String userName; + private String userPhone; + private String userAddress; + private String reserveCode; + private String storeName; + private String state; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java new file mode 100644 index 0000000..7331977 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderDto.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import lombok.Data; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:29 + */ +@Data +public class VegeCellarReserveOrderDto implements Dto { + private String customerSid; + private String reserveDate; + private String storeSid; + private String storeName; + private String userName; + private String userPhone; + private String userAddress; + private String affiliation; + private String brandId; + private List goodsVos; + private String goodsSid; + private double select; + private String orderSid; + private String addressName; + private String cardType;//提货类型,1=提货卡;2=福利卡 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderQuery.java new file mode 100644 index 0000000..d973464 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderQuery.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/23 10:30 + */ +@Data +public class VegeCellarReserveOrderQuery implements Query { + private String userName; //用户名 + private String store; // 门店 + private String startDate; //预约开始日期 + private String endDate; // 预约结束日期 + private String userSid; + private String customerSid; + private String storeSid; + private String bankSid; + private String bankName; + private String serialNumber; + private String state; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderVo.java new file mode 100644 index 0000000..62d5750 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegecallerreserveorder/VegeCellarReserveOrderVo.java @@ -0,0 +1,50 @@ +package com.yxt.ordermall.api.vegecallerreserveorder; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/11/27 15:11 + */ +@Data +public class VegeCellarReserveOrderVo implements Vo { + private String sid; //预约订单sid + private String userName; //用户名 + private String userPhone; //用户电话 + private String store; //门店 + private String storeSid; //门店 + private String storeName; //门店 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd ",timezone="GMT+8") + private Date reserveDate; //预约时间 + private String bagName; //礼包 + private String code; //卡号 + private String goodsInfo; + private List goodsVo = new ArrayList<>(); + private List goods=new ArrayList<>(); + private String bankName; + private String goodsSid; + private String goodsName; + private String goodsNumber; + private String serialNumber; + private String linker; + private String linkPhone; + private String address; + private String cardType; + private String goodss; + private String stateValue; + private String affiliationValue; + private String reserveCode; + private String newCode; + private boolean showLsit=false; + private String state; + private boolean isCancel=false;//是否能取消 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegereplenish/VegeReplenish.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegereplenish/VegeReplenish.java new file mode 100644 index 0000000..776aa00 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegereplenish/VegeReplenish.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.api.vegereplenish; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author Fan + * @description + * @date 2024/1/21 10:49 + */ + +@ApiModel(value = "绑卡记录", description = "绑卡记录") +@TableName("vege_replenish") +@Data +public class VegeReplenish { + + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String customerSid;//客户sid + private String cardCode;//卡编码,个人卡、企业卡是卡编码,转赠记录的是转赠编码 + private String cardtype;//0 个人卡 1 企业卡 2 转赠的 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegereplenishdetail/VegeReplenishDetail.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegereplenishdetail/VegeReplenishDetail.java new file mode 100644 index 0000000..81a7116 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegereplenishdetail/VegeReplenishDetail.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.api.vegereplenishdetail; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author Fan + * @description + * @date 2024/1/21 10:49 + */ + +@ApiModel(value = "绑卡记录商品信息", description = "绑卡记录商品信息") +@TableName("vege_replenish_detail") +@Data +public class VegeReplenishDetail { + + private String id; + private String sid = UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String orderSid;//订单SID + private String goodsSid;//商品Sid + private String goodsName;//商品名称 + private Integer goodsNumber;//商品数量 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellar.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellar.java new file mode 100644 index 0000000..c143c65 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellar.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.api.vegetablecellar; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +public class VegetableCellar { + private String id; + private String sid= UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; +// private String isEnable; + private String goodsSid; + private String customerSid; + private String affiliation; + private String goodsNumber; + private String totalNumber; + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarDto.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarDto.java new file mode 100644 index 0000000..155b37f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarDto.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.api.vegetablecellar; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class VegetableCellarDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + // private String isEnable; + private String goodsSid; + private String customerSid; + private String affiliation; + private String goodsNumber; + private String totalNumber; + private List vos; + private String transferSid;//转赠sid + private String brandId;//转赠sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarQuery.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarQuery.java new file mode 100644 index 0000000..c9653e9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarQuery.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.api.vegetablecellar; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class VegetableCellarQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarVo.java new file mode 100644 index 0000000..9e50574 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/VegetableCellarVo.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.api.vegetablecellar; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class VegetableCellarVo implements Vo { + private String sid; + private String buildDate; //创建时间 + private String countNumber; //总数 + private String startNumber; //起始号 + private String endNumber; //结束号 + private String bagName; + private String grantCountNumber; //发放总数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/vegeVo.java b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/vegeVo.java new file mode 100644 index 0000000..c370395 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/api/vegetablecellar/vegeVo.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.api.vegetablecellar; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/1/19 9:10 + */ +@Data +public class vegeVo { + private String goodsSid; + private String brandId; + private String goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminBankRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminBankRest.java new file mode 100644 index 0000000..5422754 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminBankRest.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.apiadmin; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkbank.LpkBank; +import com.yxt.ordermall.api.lpkstore.LpkStore; +import com.yxt.ordermall.biz.lpkbank.LpkBankService; +import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +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.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController("com.yxt.ordermall.adminapi.AdminBankRest") +@RequestMapping("/adminapi/bank") +public class AdminBankRest { + + @Autowired + private LpkBankService lpkBankService; + @Autowired + private LpkStoreService lpkStoreService; + + @GetMapping(value = "/listBankAll") + public ResultBean> listBankAll() { + ResultBean rb = ResultBean.fireFail(); + List list = lpkBankService.listAllBank(); + return rb.success().setData(list); + } + + @GetMapping(value = "/listStoreOfBank") + public ResultBean> listStoreOfBank(@RequestParam(name = "bankSid", required = false) String bankSid) { + ResultBean rb = ResultBean.fireFail(); + List list = lpkStoreService.listStoreOfBank(bankSid); + return rb.success().setData(list); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminMallRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminMallRest.java new file mode 100644 index 0000000..540a849 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminMallRest.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.apiadmin; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.apiadmin.vo.PmsBrandVo; +import com.yxt.ordermall.apiadmin.vo.PmsProductCategoryVo; +import com.yxt.ordermall.adminservice.AdminMallService; +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; + +import java.util.List; + +@RestController("com.yxt.ordermall.adminapi.AdminMallRest") +@RequestMapping("/adminapi/mall") +public class AdminMallRest { + + @Autowired + private AdminMallService adminMallService; + + @GetMapping(value = "/listAllBrand") + public ResultBean> listAllBrand() { + ResultBean rb = ResultBean.fireFail(); + List list = adminMallService.listBrand(); + return rb.success().setData(list); + } + @GetMapping(value = "/listAllCategory") + public ResultBean> listAllCategory() { + ResultBean rb = ResultBean.fireFail(); + List list = adminMallService.listAllCategory(); + return rb.success().setData(list); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminReserveRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminReserveRest.java new file mode 100644 index 0000000..c0e5c2a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/AdminReserveRest.java @@ -0,0 +1,128 @@ +package com.yxt.ordermall.apiadmin; + +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderQuery; +import com.yxt.ordermall.biz.vegecallerreserveorder.*; +import io.swagger.annotations.ApiOperation; +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; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; + +@RestController("com.yxt.ordermall.adminapi.AdminReserveRest") +@RequestMapping("/adminapi/reserve") +public class AdminReserveRest { + + @Autowired + private VegeCellarReserveOrderService vegeCellarReserveOrderService; + + @ApiOperation("精确到客户的预约单列表") + @PostMapping("/pageOfCustomer") + public ResultBean> pageOfCustomer(@RequestBody PagerQuery pq) { + return vegeCellarReserveOrderService.pageOfCustomer(pq); + } + + @PostMapping("/expExcelOfCustomer") + public void expExcelOfCustomer(@RequestBody LpkReserveOrderQuery pq, HttpServletResponse response) throws IOException { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + String fileName = URLEncoder.encode("预约单明细", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); +// Map> map = vegeCellarReserveOrderService.mapForExcelCustomer(pq); + List list = vegeCellarReserveOrderService.listForExcelCustomer(pq); + EasyExcel.write(response.getOutputStream(), ReserveCustomerExcel.class).sheet("预约单明细").doWrite(list); +// try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReserveCustomerExcel.class).build()) { +// AtomicInteger i= new AtomicInteger(); +// map.forEach((key,val) ->{ +// WriteSheet writeSheet = EasyExcel.writerSheet(i.get(),key).build(); +// i.getAndIncrement(); +// excelWriter.write(val, writeSheet); +// }); +// } + } + + @ApiOperation("精确到客户的预约单列表") + @PostMapping("/pageOfStore") + public ResultBean> pageOfStore(@RequestBody PagerQuery pq) { + return vegeCellarReserveOrderService.pageOfStore(pq); + } + + @PostMapping("/expExcelOfStore") + public void expExcelOfStore(@RequestBody LpkReserveOrderQuery pq, HttpServletResponse response) throws IOException { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + String fileName = URLEncoder.encode("提货点配货单", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); +// Map> map = vegeCellarReserveOrderService.mapForExcelStore(pq); + List list = vegeCellarReserveOrderService.listForExcelStore(pq); + + EasyExcel.write(response.getOutputStream(), ReserveStoreExcel.class).sheet("网点配货单").doWrite(list); +// try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReserveStoreExcel.class).build()) { +// AtomicInteger i= new AtomicInteger(); +// map.forEach((key,val) ->{ +// WriteSheet writeSheet = EasyExcel.writerSheet(i.get(),key).build(); +// i.getAndIncrement(); +// excelWriter.write(val, writeSheet); +// }); +// } + } + + @ApiOperation("精确到客户的预约单列表") + @PostMapping("/pageOfBank") + public ResultBean> pageOfBank(@RequestBody PagerQuery pq) { + return vegeCellarReserveOrderService.pageOfBank(pq); + } + + @PostMapping("/expExcelOfBank") + public void expExcelOfBank(@RequestBody LpkReserveOrderQuery pq, HttpServletResponse response) throws IOException { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + String fileName = URLEncoder.encode("支行配货单", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + Map> map = vegeCellarReserveOrderService.mapForExcelBank(pq); + List list = vegeCellarReserveOrderService.listForExcelBank(pq); + EasyExcel.write(response.getOutputStream(), ReserveBankExcel.class).sheet("支行配货单").doWrite(list); +// try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReserveBankExcel.class).build()) { +// AtomicInteger i= new AtomicInteger(); +// map.forEach((key,val) ->{ +// WriteSheet writeSheet = EasyExcel.writerSheet(i.get(),key).build(); +// i.getAndIncrement(); +// excelWriter.write(val, writeSheet); +// }); +// } + } + + @ApiOperation("精确到客户的预约单列表") + @PostMapping("/pageOfAll") + public ResultBean> pageOfAll(@RequestBody PagerQuery pq) { + return vegeCellarReserveOrderService.pageOfAll(pq); + } + + @PostMapping("/expExcelOfAll") + public void expExcelOfAll(@RequestBody LpkReserveOrderQuery pq, HttpServletResponse response) throws IOException { + // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + String fileName = URLEncoder.encode("提货点配货单", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + List list = vegeCellarReserveOrderService.listForExcelAll(pq); + EasyExcel.write(response.getOutputStream(), ReserveAllExcel.class).sheet("总配货明细").doWrite(list); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/BannerRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/BannerRest.java new file mode 100644 index 0000000..5d14b19 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/BannerRest.java @@ -0,0 +1,52 @@ +package com.yxt.ordermall.apiadmin; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.appletbanner.AppletBanner; +import com.yxt.ordermall.biz.appletbanner.AppletBannerQuery; +import com.yxt.ordermall.biz.appletbanner.AppletBannerService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController("com.yxt.ordermall.adminapi.BannerRest") +@RequestMapping("/adminapi/banner") +public class BannerRest { + @Autowired + private AppletBannerService appletBannerService; + + + @ApiOperation("分页列表") + @PostMapping("/pageList") + public ResultBean> pageList(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + IPage page = appletBannerService.pageList(pq); + return rb.success().setData(page); + } + + @ApiOperation("修改或保存") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody AppletBanner dto) { + ResultBean rb = ResultBean.fireFail(); + appletBannerService.doSaveOrUpdate(dto); + return rb.success(); + } + + @ApiOperation("初始化") + @GetMapping("/noticeInit/{sid}") + public ResultBean noticeInit(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + AppletBanner ab = appletBannerService.fetchBySid(sid); + return rb.success().setData(ab); + } + + @ApiOperation("是否显示") + @GetMapping("/isDisplayed/{sid}/{state}") + public ResultBean isDisplayed(@PathVariable("sid") String sid, @PathVariable("state") String state) { + ResultBean rb = ResultBean.fireFail(); + appletBannerService.updateShowState(sid, state); + return rb.success().setMsg("更改成功!"); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/OrdertoolsRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/OrdertoolsRest.java new file mode 100644 index 0000000..8ae524a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/OrdertoolsRest.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.apiadmin; + + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.apiadmin.ordertools.OrdertoolsService; +import io.swagger.annotations.ApiOperation; +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.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +@RestController("com.yxt.ordermall.adminapi.OrdertoolsRest") +@RequestMapping("/adminapi/ordertools") +public class OrdertoolsRest { + @Autowired + private OrdertoolsService ordertoolsService; + + @ApiOperation("上传和导出") + @PostMapping("/uploadExcelFile") + public ResultBean uploadExcelFile(@RequestParam("file") MultipartFile file) { + ResultBean rb = ResultBean.fireFail(); + String fileUrl = ordertoolsService.uploadAndResetData(file); + return rb.success().setData(fileUrl); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/PmsBrandRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/PmsBrandRest.java new file mode 100644 index 0000000..a734720 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/PmsBrandRest.java @@ -0,0 +1,188 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoDto; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoQuery; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoVo; +import com.yxt.ordermall.feign.base.basebrandinfo.BaseBrandInfoFeign; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsBrandService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsBrand; +import com.yxt.ordermall.mallplus.mbg.pms.entity.brand.BrandVo; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 品牌表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsBrandController", description = "品牌表管理") +@RequestMapping("/pms/PmsBrand") +public class PmsBrandRest { + @Resource + private IPmsBrandService IPmsBrandService; + @Autowired + BaseBrandInfoFeign baseBrandInfoFeign; + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有品牌表列表") + @ApiOperation("根据条件查询所有品牌表列表") + @GetMapping(value = "/list") + public ResultBean getPmsBrandByPage(@RequestBody PagerQuery pq) { + PmsBrand brand=new PmsBrand(); + List brands=new ArrayList<>(); + PagerVo vo=new PagerVo(); + ResultBean> voResultBean=baseBrandInfoFeign.listPage(pq); + for (BaseBrandInfoVo record : voResultBean.getData().getRecords()) { + brand.setId(Long.valueOf(record.getBrandCode())); + brand.setName(record.getBrandName()); + brand.setFirstLetter(record.getLetter()); +// brand.setSort(record.get); + brands.add(brand); + } + BeanUtil.copyProperties(voResultBean.getData(),vo); + vo.setRecords(brands); + return new ResultBean().success().setData(vo); + } + + // @SysLog(MODULE = "pms", REMARK = "保存品牌表") + @ApiOperation("保存品牌表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsBrand:create')") + public Object savePmsBrand(@RequestBody PmsBrand entity) { + + BaseBrandInfoDto dto =new BaseBrandInfoDto(); + dto.setBrandCode(entity.getId().toString()); + dto.setBrandName(entity.getName()); +// dto.set + baseBrandInfoFeign.saveOrUpdate(dto); + + + try { + if (IPmsBrandService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存品牌表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新品牌表") + @ApiOperation("更新品牌表") + @PostMapping(value = "/update/{id}") + public Object updatePmsBrand(@RequestBody PmsBrand entity) { + try { + if (IPmsBrandService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新品牌表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除品牌表") + @ApiOperation("删除品牌表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsBrand:delete')") + public Object deletePmsBrand(@ApiParam("品牌表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("品牌表id"); + } + if (IPmsBrandService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除品牌表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给品牌表分配品牌表") + @ApiOperation("查询品牌表明细") + @GetMapping(value = "/{id}") + public Object getPmsBrandById(@ApiParam("品牌表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("品牌表id"); + } + PmsBrand coupon = IPmsBrandService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询品牌表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除品牌表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除品牌表") + // @PreAuthorize("hasAuthority('pms:PmsBrand:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsBrandService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation(value = "批量更新显示状态") + @RequestMapping(value = "/update/showStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量更新显示状态") + public Object updateShowStatus(@RequestParam("ids") List ids, + @RequestParam("showStatus") Integer showStatus) { + int count = IPmsBrandService.updateShowStatus(ids, showStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation(value = "批量更新厂家制造商状态") + @RequestMapping(value = "/update/factoryStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量更新厂家制造商状态") + public Object updateFactoryStatus(@RequestParam("ids") List ids, + @RequestParam("factoryStatus") Integer factoryStatus) { + int count = IPmsBrandService.updateFactoryStatus(ids, factoryStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation(value = "获取品牌") + @GetMapping("/getList") + ResultBean> getList(){ + return IPmsBrandService.getList(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysMenuRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysMenuRest.java new file mode 100644 index 0000000..d77427a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysMenuRest.java @@ -0,0 +1,189 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysmenu.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_ordermall(门户建设)
+ * File: SysMenuFeignFallback.java
+ * Class: com.yxt.user.biz.sysmenu.SysMenuRest
+ * Description: 菜单表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "菜单表") +@RestController +@RequestMapping("apiadmin/sysmenu") +public class SysMenuRest { + + @Autowired + SysMenuService sysMenuService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + + return sysMenuService.listPageVo(pq); + } + + /* @Override + public ResultBean> listAll(@RequestBody SysMenuQuery query) { + ResultBean rb = ResultBean.fireFail(); + List list = sysMenuService.listAllVo(query); + return rb.success().setData(list); + }*/ + + /** + * 菜单列表:根据资源归类 + * + * @param query + * @return + */ + @ApiOperation("菜单列表:根据资源归类") + @PostMapping("/listAllVoForSource") + public ResultBean> listAllVoForSource(@RequestBody PagerQuery query){ + return sysMenuService.listAllVoForSource(query); + } + + /** + * 菜单列表:根据资源归类 设置功能的url用 + * @return + */ + @ApiOperation("菜单列表:根据资源归类 设置功能的url用") + @PostMapping("/getMenusForFunction") + public ResultBean>> getMenusForFunction(@RequestBody SysMenuFunctionQuery sysMenuFunctionQuery) { + return sysMenuService.getMenusForFunction(sysMenuFunctionQuery); + } + private void makeMenuListForChildren(SysMenuTreeVo s, List> l){ + List children = s.getChildren(); + int size = children.size(); + for (int i=0;i m=new HashMap<>(); + m.put("name",s.getName()); + m.put("url",s.getMenuUrl()); + m.put("sid",s.getSid()); + l.add(m); + } + + } + @ApiOperation("根据用户sid查询所有数据列表 ") + @PostMapping("/sourceMenuTreeByUserSid") + public ResultBean>> sourceMenuTreeByUserSid(@RequestBody SysMenuQuery query){ + return sysMenuService.sourceMenuTreeByUserSid(query); + } + @ApiOperation("根据资源sid查询所有数据列表 ") + @PostMapping("/sourcemenutree") + public ResultBean>> sourcemenutree(@RequestBody SysMenuQuery query) { + + return sysMenuService.sourcemenutree(query); + } + + @ApiOperation("根据角色sid条件查询所有数据列表") + @PostMapping("/listAllByRoleSid") + public ResultBean> listAllByRoleSid(@RequestBody SysMenuQuery query) { + return sysMenuService.listAllByRoleSid(query); + } + + + public ResultBean> list() { + ResultBean rb = ResultBean.fireFail(); + return sysMenuService.listVo(); + } + + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@Valid @RequestBody SysMenuDto dto) { + return sysMenuService.saveMenu(dto); + } + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@Valid @RequestBody SysMenuDto dto, @PathVariable("sid") String sid){ + return sysMenuService.updateBySid(dto, sid); + } + + /** + * 修改是否可用的状态 + * + * @param sid 菜单sid或资源sid + * @param isEnable 是否可用的状态:1可用,0不可用 + * @return + */ + @ApiOperation("修改是否可用的状态 ") + @PostMapping("/updateIsEnable/{sid}/{isEnable}") + public ResultBean updateIsEnable(@PathVariable("sid") String sid, @PathVariable("isEnable") Integer isEnable) { + return sysMenuService.updateIsEnable(sid,isEnable); + } + + /* @Override + public ResultBean del(String ids) { + ResultBean rb = ResultBean.fireFail(); + sysMenuService.delByIds(ids); + return rb.success(); + }*/ + /** + * 根据当前行sid删除菜单 + * + * @param sid 菜单sid + * @return + */ + @ApiOperation("删除记录 根据sid") + @GetMapping("/delBySids/{sid}") + public ResultBean delBySids(@PathVariable("sid") String sid) { + return sysMenuService.delBySids(sid); + } + + /* @Override + public ResultBean fetch(String id) { + ResultBean rb = ResultBean.fireFail(); + SysMenuVo vo = sysMenuService.fetchByIdVo(id); + return rb.success().setData(vo); + } + + + public ResultBean fetchBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + SysMenu sysMenu = sysMenuService.fetchBySid(sid); + SysMenuVo vo = new SysMenuVo(); + BeanUtil.copyProperties(sysMenu, vo); + return rb.success().setData(vo); + }*/ + + @ApiOperation("菜单列表:根据资源归类") + @PostMapping("/listAllVoForSourceG") + public ResultBean> listAllVoForSourceG(@RequestBody PagerQuery query){ + return sysMenuService.listAllVoForSourceG(query); + } + @ApiOperation("根据角色sid条件查询所有数据列表") + @PostMapping("/listAllByRoleSidG") + public ResultBean> listAllByRoleSidG(@RequestBody SysMenuQuery query){ + return sysMenuService.listAllByRoleSidG(query); + } + @ApiOperation("查询按钮的权限") + @PostMapping("/getButtonPermissions") + public ResultBean> getButtonPermissions(@RequestBody ButtonPermissionQuery query){ + return sysMenuService.getButtonPermissions(query); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysMenuRoleRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysMenuRoleRest.java new file mode 100644 index 0000000..0f264de --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysMenuRoleRest.java @@ -0,0 +1,116 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysmenurole.*; +import com.yxt.ordermall.biz.func.sysrole.SysRoleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleFeignFallback.java
+ * Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleRest
+ * Description: 菜单与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "菜单与角色关联表") +@RestController +@RequestMapping("apiadmin/sysmenurole") +public class SysMenuRoleRest { + @Autowired + private SysMenuRoleService sysMenuRoleService; + @Autowired + private SysRoleService sysRoleService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + return sysMenuRoleService.listPageVo(pq); + } + + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysMenuRoleQuery query){ + return sysMenuRoleService.listAllVo(query); + } + + @ApiOperation("根据角色查询授权的菜单列表(PC)") + @PostMapping("/selMenuByRole") + public ResultBean> selMenuByRole(@RequestBody SysMenuRoleDataQuery query) { + return sysMenuRoleService.selMenuByRole(query); + } + + @ApiOperation("根据角色查询授权的菜单列表(APP)") + @PostMapping("/selMenuByRoleApp") + public ResultBean> selMenuByRoleApp(@RequestBody SysMenuRoleDataQuery query) { + return sysMenuRoleService.selMenuByRoleApp(query); + } + + @ApiOperation("修改角色菜单的数据权限(PC)") + @PostMapping("/updateDataByRoleMenu") + public ResultBean updateDataByRoleMenu(@RequestBody List dtos) { + return sysMenuRoleService.updateDataByRoleMenu(dtos); + } + + @ApiOperation("修改角色菜单的数据权限(移动端)") + @PostMapping("/updateDataByRoleMenuApp") + public ResultBean updateDataByRoleMenuApp(@RequestBody List dtos) { + return sysMenuRoleService.updateDataByRoleMenuApp(dtos); + } + + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(){ + return sysMenuRoleService.listVo(); + } + + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysMenuRoleDto dto){ + return sysMenuRoleService.saveOrUpdateDto(dto); + } + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysMenuRoleDto dto,@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + return sysMenuRoleService.updateBySid(dto,sid); + } + + + @ApiOperation("修改角色的菜单配置") + @PostMapping("/updateRoleAndMenu") + public ResultBean updateRoleAndMenu(@RequestBody SysMenuRoleDto dto) { + + return sysMenuRoleService.updateRoleAndMenu(dto); + } + + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids){ + return sysMenuRoleService.del(ids); + } + + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id){ + return sysMenuRoleService.fetchByIdVo(id); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysOrganizationRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysOrganizationRest.java new file mode 100644 index 0000000..eefd852 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysOrganizationRest.java @@ -0,0 +1,269 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.base.config.RedisUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysorganization.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganizationFeignFallback.java
+ * Class: SysOrganizationRest
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "组织机构表") +@RestController +@RequestMapping("apiadmin/sysorganization") +public class SysOrganizationRest { + + @Autowired + private SysOrganizationService sysOrganizationService; + + @Autowired + private RedisUtil redisUtil; + + @PostMapping("/saveSysOrg") + public ResultBean saveOrg(@RequestBody SysOrganizationDto dto){ + return sysOrganizationService.saveOrg(dto); + } + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + return sysOrganizationService.listPageVo(pq); + } + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysOrganizationQuery query) { + return sysOrganizationService.listAllVo(query); + } + + @ApiOperation("所有数据列表") + @GetMapping("/list/{orgSid}") + public ResultBean> list(@PathVariable("orgSid") String orgSid) { + return sysOrganizationService.listVo(orgSid); + } + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysOrganizationDto dto) { + return sysOrganizationService.saveOrUpdateDto(dto); + } + + @ApiOperation("一级组织机构列表") + @GetMapping("/selectFirstOrgList") + public ResultBean> selectFirstOrgList(){ + return sysOrganizationService.selectFirstOrgList(); + } + + @ApiOperation("根据父级sid查询子集列表") + @GetMapping("/selectChildrenListBySid/{sid}") + public ResultBean> selectChildrenListBySid(@PathVariable("sid") String sid) { + return sysOrganizationService.selectChildrenListBySid(sid); + } + + + @Transactional(rollbackFor = Exception.class) + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysOrganizationDto dto, @PathVariable("sid") String sid){ + return sysOrganizationService.updateBySid(dto, sid); + } + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids){ + return sysOrganizationService.del(ids); + } + + @ApiOperation("删除记录 根据sid") + @GetMapping("/delBySid/{sid}") + public ResultBean delBySid(@PathVariable("sid") String sid){ + + return sysOrganizationService.deIds(sid); + } + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id){ + return sysOrganizationService.fetchByIdVo(id); + } + + @ApiOperation("获取一条记录 根据sid") + @ResponseBody + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + + return sysOrganizationService.fetchBySidVo(sid); + } + + @ApiOperation("手机获取组织架构") + @ResponseBody + @GetMapping("/selectAppOrganization") + public ResultBean> selectAppOrganization(@RequestParam(value = "sid", required = false) String sid) { + return sysOrganizationService.selectAppOrganization(sid); + } + + + @ApiOperation("组织架构") + @ResponseBody + @GetMapping("/selectListOrg") + ResultBean> selectListOrg(){ + return sysOrganizationService.treeList(); + } + + + @ApiOperation("获取到分公司") + @ResponseBody + @GetMapping("/getListOrg") + ResultBean> getListOrg(){ + return sysOrganizationService.getListOrg(); + } + + @ApiOperation("获取同品牌下分公司") + @ResponseBody + @GetMapping("/getListOrgByBrand/{orgSid}") + ResultBean> getListOrgByBrand(@PathVariable(value = "orgSid") String orgSid){ + return null;//sysOrganizationService.getListOrgByBrand(orgSid); + } + + @ApiOperation("获取指定品牌下分公司(已筛选本分公司)") + @ResponseBody + @GetMapping("/getListOrgByBrandSid/{orgSid}/{brandSid}") + ResultBean> getListOrgByBrandSid(@PathVariable(value = "orgSid") String orgSid,@PathVariable(value = "brandSid") String brandSid){ + return null;//sysOrganizationService.getListOrgByBrandSid(orgSid,brandSid); + } + + @ApiOperation("获取指定品牌下分公司(未筛选本分公司)") + @ResponseBody + @GetMapping("/getListOrgByBrandSidNo/{orgSid}/{brandSid}") + ResultBean> getListOrgByBrandSidNo(@PathVariable(value = "orgSid") String orgSid,@PathVariable(value = "brandSid") String brandSid){ + return null;//sysOrganizationService.getListOrgByBrandSidNo(orgSid,brandSid); + } + + @ApiOperation("获取指定分公司下部门信息") + @ResponseBody + @GetMapping("/getListDeptByOrgSid/{orgSid}") + ResultBean> getListDeptByOrgSid(@PathVariable(value = "orgSid") String orgSid){ + return sysOrganizationService.getListDeptByOrgSid(orgSid); + } + + + @ApiOperation("根据业务员sid获取到分公司") + @ResponseBody + @GetMapping("/getUseOrgByUserSid") + ResultBean getUseOrgByUserSid(@RequestParam("userSid") String userSid){ + ResultBean rb = ResultBean.fireFail(); + SysOrganizationVo vo = sysOrganizationService.getUseOrgByUserSid(userSid); + return rb.success().setData(vo); + } + + + @ApiOperation("根据部门sid查询组织信息") + @ResponseBody + @GetMapping("/selectBySid") + ResultBean selectBySid(@RequestParam("sid") String sid){ + return sysOrganizationService.selectBySid(sid); + } + + + @ApiOperation("根据组织架构sid查询组织下所有分公司") + @ResponseBody + @GetMapping("/selectUseOrgSidBySid") + ResultBean>> selectUseOrgSidBySid(@RequestParam("sid") String sid){ + return sysOrganizationService.selectUseOrgSidBySid(sid); + } + + /** + * 查询公司所有的部门 + * + * @return + */ + @ApiOperation("所在部门下拉") + @ResponseBody + @GetMapping("/selectListOne") + ResultBean> selectListOne(){ + return sysOrganizationService.selectListOne(); + } + + @PostMapping("/getQrCode/{sid}") + @ResponseBody + @ApiOperation("查看二维码") + public ResultBean getQrCode(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid) { + return sysOrganizationService.getQrCode(sid); + } + + + @GetMapping("/getOrgSid/{sid}") + @ResponseBody + @ApiOperation("根据当前用户的所在组织获取当前用户所在的分公司") + ResultBean getOrgSid(@PathVariable(value = "sid") String sid){ + return sysOrganizationService.getOrgSid(sid); + } + + @GetMapping("/selectOrgList") + @ResponseBody + @ApiOperation("当前分公司销售部门及部门人员") + ResultBean> selectOrgList(@SpringQueryMap SysOrganizationListQuery query){ + return sysOrganizationService.selectOrgList(query); + } + + + @GetMapping("/selectOrgLists") + @ResponseBody + @ApiOperation("当前分公司下所有部门") + ResultBean> selectOrgLists(@SpringQueryMap SysOrganizationListQuery query){ + return sysOrganizationService.selectOrgLists(query); + } + + + @GetMapping("/selectByPSid") + @ResponseBody + @ApiOperation("查询分公司下的销售支持部") + ResultBean selectByPSid(@RequestParam("sid") String sid, @RequestParam("name") String name){ + return sysOrganizationService.selectByPSid(sid,name); + } + + @GetMapping("/selectOrgSidList") + @ResponseBody + @ApiOperation("所有分公司sid") + ResultBean> selectOrgSidList() { + return sysOrganizationService.selectOrgSidList(); + } + + + @GetMapping("/selectOrgByPSid") + @ResponseBody + @ApiOperation("查询事业部下所有分公司") + ResultBean> selectOrgByPSid(@RequestParam("psid") String psid){ + return sysOrganizationService.selectOrgByPSid(psid); + } + + + @GetMapping("/selectByOrgSidPath") + @ResponseBody + @ApiOperation("组织层级分页查询") + ResultBean selectByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath){ + return sysOrganizationService.selectByOrgSidPath(orgSidPath); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysPostRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysPostRest.java new file mode 100644 index 0000000..6ab27dc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysPostRest.java @@ -0,0 +1,119 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.syspost.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPostFeignFallback.java
+ * Class: com.yxt.anrui.portal.biz.syspost.SysPostRest
+ * Description: 岗位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "岗位") +@RestController +@RequestMapping("apiadmin/syspost") +public class SysPostRest { + + @Autowired + private SysPostService sysPostService; + + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + return sysPostService.listPageVo(pq); + } + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysPostQuery query){ + return sysPostService.listAllVo(query); + } + + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list() { + return sysPostService.listVo(); + } + + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysPostDto dto){ + return sysPostService.saveOrUpdateDto(dto); + } + + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysPostDto dto, @PathVariable("sid") String sid){ + return sysPostService.updateBySid(dto, sid); + } + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids){ + return sysPostService.del(ids); + } + + + @ApiOperation("删除记录") + @GetMapping("/delBySids/{sids}") + public ResultBean delBySids(@PathVariable("sids") String sids){ + return sysPostService.delBySids(sids); + } + + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id){ + return sysPostService.fetchByIdVo(id); + } + + + @ApiOperation("获取一条记录") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid){ + return sysPostService.fetchBySidVo(sid); + } + + + @ApiOperation("根据部门sid获取岗位列表") + @GetMapping("/fetchByOrgSid/{orgSid}") + public ResultBean> fetchByOrgSid(@PathVariable("orgSid") String orgSid){ + return sysPostService.fetchByOrgSid(orgSid); + } + + @ApiOperation("根据部门sid获取岗位编号") + @GetMapping("/fetchByOrgSidPostCode/{orgSid}") + public ResultBean fetchByOrgSidPostCode(){ + return sysPostService.fetchByOrgSidPostCode(); + } + + /** + * 查询岗位列表 + * + * @return + */ + @ApiOperation("查询岗位列表") + @GetMapping("/selectList") + public ResultBean> selectList() { + return sysPostService.selectList(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysRoleAuthorizeRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysRoleAuthorizeRest.java new file mode 100644 index 0000000..90796bf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysRoleAuthorizeRest.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.sysroleauthorize.SysRoleAuthorizeDto; +import com.yxt.ordermall.biz.func.sysroleauthorize.SysRoleAuthorizeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2024/5/15 16:00 + */ +@Api(tags = "角色授权表") +@RestController +@RequestMapping("apiadmin/sysroleauthorize") +public class SysRoleAuthorizeRest { + @Autowired + SysRoleAuthorizeService sysRoleAuthorizeService; + @ApiOperation("修改角色的菜单配置") + @PostMapping("/updateRoleAndMenu") + public ResultBean updateRoleAndMenu(@RequestBody SysRoleAuthorizeDto dto){ + return sysRoleAuthorizeService.updateRoleAndMenu(dto); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysRoleRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysRoleRest.java new file mode 100644 index 0000000..feeafc9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysRoleRest.java @@ -0,0 +1,117 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysrole.SysRoleDto; +import com.yxt.ordermall.biz.func.sysrole.SysRoleQuery; +import com.yxt.ordermall.biz.func.sysrole.SysRoleService; +import com.yxt.ordermall.biz.func.sysrole.SysRoleVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRoleFeignFallback.java
+ * Class: com.yxt.anrui.portal.biz.sysrole.SysRoleRest
+ * Description: 角色.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "角色") +@RestController +@RequestMapping("apiadmin/sysrole") +public class SysRoleRest { + + @Autowired + private SysRoleService sysRoleService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + return sysRoleService.listPageVo(pq); + } + + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysRoleQuery query){ + return sysRoleService.listAllVo(query); + } + + + @ApiOperation("查询所有的角色数据,并根据用户sid查询被选中的角色") + @PostMapping("/listAllByUserSid/{userSid}/{orgSid}") + public ResultBean> listAllByUserSid(@PathVariable("userSid") String userSid,@PathVariable("orgSid") String orgSid){ + return sysRoleService.listAllByUserSid(userSid,orgSid); + } + + + @ApiOperation("根据用户sid查询用户的角色列表") + @PostMapping("/fetchByUserSid/{userSid}") + public ResultBean> fetchByUserSid(@PathVariable("userSid") String userSid){ + return sysRoleService.fetchByUserSid(userSid); + } + + + public ResultBean> list(){ + return sysRoleService.listVo(); + } + + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysRoleDto dto){ + return sysRoleService.saveOrUpdateDto(dto); + } + + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysRoleDto dto,@PathVariable("sid") String sid){ + return sysRoleService.updateBySid(dto,sid); + } + + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids){ + return sysRoleService.del(ids); + } + + @ApiOperation("删除记录根据sids") + @GetMapping("/delBySids/{sids}") + public ResultBean delBySids(@PathVariable("sids") String sids){ + return sysRoleService.delBySid(sids); + } + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id){ + return sysRoleService.fetchByIdVo(id); + } + + @ApiOperation("获取一条记录根据sid") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + return sysRoleService.fetchBySidVo(sid); + } + + @PostMapping("/setIsEnable/{sid}/{isEnable}") + @ResponseBody + @ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用") + public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable){ + return sysRoleService.updateIsEnable(sid, isEnable); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysStaffOrgRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysStaffOrgRest.java new file mode 100644 index 0000000..a32bba5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysStaffOrgRest.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.sysstafforg.SysStaffOrgByUserVo; +import com.yxt.ordermall.biz.func.sysstafforg.SysStaffOrgService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/apiadmin/sysstafforg") +public class SysStaffOrgRest { + + @Autowired + private SysStaffOrgService sysStaffOrgService; + + @GetMapping("/getOrgSidByPath") + @ResponseBody + @ApiOperation("根据用户组织全路径获取用户的分公司sid") + ResultBean getOrgSidByPath(@RequestParam("orgPath") String orgPath){ + return sysStaffOrgService.getOrgSidByPath(orgPath); + } + + @GetMapping("/selAllByOrgSidPath") + @ResponseBody + @ApiOperation("根据组织全路径查询当前部门下的所有员工") + public ResultBean> selAllByOrgSidPath(String orgSidPath) { + return sysStaffOrgService.selAllByOrgSidPath(orgSidPath); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysStaffinfoRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysStaffinfoRest.java new file mode 100644 index 0000000..39dcffa --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysStaffinfoRest.java @@ -0,0 +1,196 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysstaffinfo.*; +import com.yxt.ordermall.biz.func.sysstaffinfo.app.AppSysStaffQuery; +import com.yxt.ordermall.biz.func.sysstaffinfo.app.AppSysStaffVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffinfoFeignFallback.java
+ * Class: com.yxt.user.biz.sysstaffinfo.SysStaffinfoRest
+ * Description: 人员基础信息表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "人员基础信息表") +@RestController +@RequestMapping("/apiadmin/sysstaffinfo") +public class SysStaffinfoRest { + + + + @Autowired + private SysStaffinfoService sysStaffinfoService; + + + + /** + * 员工管理的分页列表 + * + * @param pq 查询条件 + * @return + */ + @ApiOperation("员工管理分页列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + return sysStaffinfoService.pagerList(pq); + } + + /** + * 员工信息的新增保存 + * + * @param dto 数据传输对象 + * @return + */ + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysStaffinfoDto dto) { + return sysStaffinfoService.saveStaffInfo(dto); + } + + /** + * 员工信息的修改保存 + * + * @param dto 数据传输对象 + * @param sid 员工信息sid + * @return + */ + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysStaffinfoDto dto, @PathVariable("sid") String sid) { + return sysStaffinfoService.updateStaffInfo(dto, sid); + } + + /** + * 进行删除操作,即设置员工类型为离职类型02的操作。 + * + * @param sysStaffQuery 数据传输对象 + * @return + */ + @ApiOperation("设置离职") + @PostMapping("/del") + public ResultBean del(SysStaffQuery sysStaffQuery) { + return sysStaffinfoService.del(sysStaffQuery); + } + + @ApiOperation("员工信息编辑初始化及详情") + @GetMapping("/fetchBySid/{sid}/{orgSid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid,@PathVariable("orgSid") String orgSid) { + return sysStaffinfoService.selectDetailsBySid(sid,orgSid); + } + /** + * 获取集团内全部员工姓名 + * + * @param staffName 员工姓名 + * @return + */ + @ApiOperation("获取集团内全部员工姓名") + @GetMapping("/getStaffName") + + public ResultBean>> getStaffName(String staffName, String deptSid) { + return sysStaffinfoService.getStaffName(staffName, deptSid); + } + /** + * 获取部门内全部员工姓名 + * + * @param staffName 员工姓名 + * @return + */ + @ApiOperation("获取部门内全部员工姓名") + @GetMapping("/getStaffNameByDeptSid") + + public ResultBean>> getStaffNameByDeptSid(String staffName, String deptSid) { + return sysStaffinfoService.getStaffNameByDeptSid(staffName, deptSid); + } + + + @ApiOperation("获取App通讯录") + @ResponseBody + @GetMapping("/selectAppContactsList") + public ResultBean> selectAppContactsList(String names) { + return sysStaffinfoService.selectAppContactsList(); + } + + @ApiOperation("app查看通讯录详情") + @ResponseBody + @GetMapping("/selectAppContactsVO/{staffSid}") + public ResultBean selectAppContactsVO(String staffSid) { + + return sysStaffinfoService.selectAppContactsVO(staffSid); + } + + @ApiOperation("App通讯录搜索") + @ResponseBody + @PostMapping("/searchAppContactsList") + public ResultBean> searchAppContactsList(PagerQuery pq) { + + return sysStaffinfoService.searchAppContactsList(pq); + } + + @ApiOperation("App通讯录搜索2") + @ResponseBody + @PostMapping("/searchAppContactsList2") + public ResultBean> searchAppContactsList2(PagerQuery pq) { + return sysStaffinfoService.searchAppContactsList2(pq); + } + + @ApiOperation("销售订单-内部推荐人下拉框") + @ResponseBody + @GetMapping("/selectStaffList") + public ResultBean> selectStaffList(PcSysStaffQuery pcSysStaffQuery) { + return sysStaffinfoService.selectStaffList(pcSysStaffQuery); + } + + @ApiOperation("移动端-销售订单-内部推荐人下拉框") + @ResponseBody + @PostMapping("/getUserList") + public ResultBean> getUserList(PagerQuery pagerQuery) { + return sysStaffinfoService.getUserList(pagerQuery); + } + + @ApiOperation("存放地点变更-获取人员列表") + @ResponseBody + @GetMapping("/getGressionUserList/{userSid}") + public ResultBean> getGressionUserList(String userSid) { + return sysStaffinfoService.getGressionUserList(userSid, ""); + } + + @ApiOperation("切换机构:存放地点变更-获取人员列表") + @ResponseBody + @GetMapping("/getGressionUserList") + public ResultBean> getGressionUserList(String userSid, String orgPath) { + return sysStaffinfoService.getGressionUserList(userSid, orgPath); + } + + @ApiOperation("获取集团所有人员") + @ResponseBody + @GetMapping("/selectStaffLists") + public ResultBean> selectStaffLists() { + return sysStaffinfoService.selectStaffLists(); + } + + @ApiOperation("获取集团所有在职人员") + @ResponseBody + @GetMapping("/selectStaffListss") + public ResultBean> selectStaffListss() { + return sysStaffinfoService.selectStaffListss(); + } + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysUserRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysUserRest.java new file mode 100644 index 0000000..7cd1dc3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysUserRest.java @@ -0,0 +1,115 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.sysuser.SysUserService; +import com.yxt.ordermall.feign.portal.sysuser.SysUserDto; +import com.yxt.ordermall.feign.portal.sysuser.SysUserQuery; +import com.yxt.ordermall.feign.portal.sysuser.SysUserVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +/** + * @author wangpengfei + * @date 2024/5/6 10:29 + */ +@Api(tags = "用户信息") +@RestController +@RequestMapping("/apiadmin/sysuser") +public class SysUserRest { + @Autowired + SysUserService sysUserService; + + + @PostMapping("/login") + @ResponseBody + @ApiOperation(value = "3、登录") + @ApiOperationSupport(order = 30) + public ResultBean login(@RequestBody SysUserQuery userQuery){ + return sysUserService.login(userQuery); + } + @PostMapping("/register") + @ResponseBody + @ApiOperation(value = "3、注册") + @ApiOperationSupport(order = 30) + public ResultBean register(@RequestBody SysUserDto dto){ + return sysUserService.register(dto); + } + @PostMapping("/loginDetails") + @ResponseBody + @ApiOperation(value = "获取登录人") + @ApiOperationSupport(order = 30) + public ResultBean loginDetails(HttpServletRequest httpServletRequest){ + return sysUserService.loginDetails(httpServletRequest); + } + @PostMapping("/sendMessageCode") + @ResponseBody + @ApiOperation(value = "3、获取注册码") + public ResultBean sendMessageCode(@RequestParam("mobile") String mobile){ + return sysUserService.sendMessageCode(mobile); + } + @PostMapping("/sendMessageLogin") + @ResponseBody + @ApiOperation(value = "3、获取登录码") + public ResultBean sendMessageLogin(@RequestParam("mobile") String mobile){ + return sysUserService.sendMessageLogin(mobile); + } + @PostMapping("/sendMessageUpdate") + @ResponseBody + @ApiOperation(value = "3、获取修改码") + public ResultBean sendMessageUpdate(@RequestParam("mobile") String mobile){ + return sysUserService.sendMessageUpdate(mobile); + } + + @PostMapping("/listPage") + @ResponseBody + public ResultBean listPage(@RequestBody PagerQuery pq){ + return sysUserService.listPage(pq); + } + + @PostMapping("/bindOrganization") + @ResponseBody + @ApiOperation(value = "绑定组织") + @ApiOperationSupport(order = 30) + public ResultBean bindOrganization(@RequestBody SysUserDto dto){ + return sysUserService.bindOrganization(dto); + } + @PostMapping("/selOrganization") + @ResponseBody + @ApiOperation(value = "选择所登录的组织") + @ApiOperationSupport(order = 30) + public ResultBean selOrganization(@RequestBody SysUserDto dto){ + return sysUserService.selOrganization(dto); + } + @PostMapping("/setIsEnable/{sid}/{isEnable}") + @ResponseBody + @ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用") + public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable){ + return sysUserService.setIsEnable(sid,isEnable); + } + /** + * 初始化密码 + * + * @param sid 用户sid + * @return ResultBean + */ + @ResponseBody + @PostMapping("/initPwd/{sid}") + @ApiOperation(value = "10、用户初始化密码") + @ApiOperationSupport(order = 100) + public ResultBean + initPwd(@ApiParam(value = "用户sid", required = true) @PathVariable("sid") String sid) { + return sysUserService.initPwd(sid); + } + @ApiOperation("删除记录根据sid") + @GetMapping("/delBySid/{sid}") + public ResultBean delBySid(@PathVariable("sid") String sid){ + return sysUserService.delBySid(sid); + }; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysUserRoleRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysUserRoleRest.java new file mode 100644 index 0000000..52379f6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SysUserRoleRest.java @@ -0,0 +1,104 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleDto; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleQuery; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleService; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRoleFeignFallback.java
+ * Class: com.yxt.anrui.portal.biz.sysuserrole.SysUserRoleRest
+ * Description: 用户与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "用户与角色关联表") +@RestController +@RequestMapping("apiadmin/sysuserrole") +public class SysUserRoleRest { + + @Autowired + private SysUserRoleService sysUserRoleService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + return sysUserRoleService.listPageVo(pq); + } + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysUserRoleQuery query){ + return sysUserRoleService.listAllVo(query); + } + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(){ + return sysUserRoleService.listVo(); + } + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysUserRoleDto dto){ + return sysUserRoleService.saveOrUpdateDto(dto); + } + + @ApiOperation("修改保存") + @PostMapping("/update") + public ResultBean update(@RequestBody SysUserRoleDto dto){ + return sysUserRoleService.saveOrUpdate(dto); + } + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids){ + return sysUserRoleService.del(ids); + } + + @ApiOperation("根据用户sid和角色sid删除记录") + @GetMapping("/delByUserSidAndRoleSid/{userSid}/{roleSid}") + public ResultBean delByUserSidAndRoleSid(@PathVariable("userSid")String userSid, + @PathVariable("roleSid")String roleSid) { + return sysUserRoleService.delByUserSidAndRoleSid(userSid,roleSid); + } + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id){ + return sysUserRoleService.fetchByIdVo(id); + } + + @ApiOperation("根据用户sid查询用户角色sid列表") + @GetMapping("/getUserRoleSidByUserSid/{userSid}") + public ResultBean> getUserRoleSidByUserSid(@PathVariable("userSid") String userSid) { + return sysUserRoleService.getUserRoleSidByUserSid(userSid); + } + + @ApiOperation("根据角色sid查询用户id列表") + @GetMapping("/getUserIdListByRoleSid") + public ResultBean> getUserIdListByRoleSid(@RequestParam("roleList") List roleList) { + return sysUserRoleService.getUserIdListByRoleSid(roleList); + } + + @ApiOperation("查询用户的角色") + @GetMapping("/selectByUserSid") + ResultBean> selectByUserSid(@RequestParam("userSid") String userSid) { + return sysUserRoleService.selectByUserSids(userSid); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SystemLogRest.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SystemLogRest.java new file mode 100644 index 0000000..85b67b8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/aggregation/SystemLogRest.java @@ -0,0 +1,81 @@ +package com.yxt.ordermall.apiadmin.aggregation; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.systemlog.SystemLogDto; +import com.yxt.ordermall.biz.func.systemlog.SystemLogQuery; +import com.yxt.ordermall.biz.func.systemlog.SystemLogService; +import com.yxt.ordermall.biz.func.systemlog.SystemLogVo; +import com.yxt.ordermall.feign.portal.systemlog.SystemLogFeign; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLogFeignFallback.java
+ * Class: com.yxt.anrui.portal.biz.systemlog.SystemLogRest
+ * Description: 系统日志表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "系统日志表") +@RestController +@RequestMapping("apiadmin/systemlog") +public class SystemLogRest implements SystemLogFeign { + + @Resource + private SystemLogService systemLogService; + + @Override + public ResultBean> listPage(@RequestBody PagerQuery pq){ + return systemLogService.listPageVo(pq); + } + + @Override + public ResultBean> listAll(@RequestBody SystemLogQuery query){ + return systemLogService.listAllVo(query); + } + + @Override + public ResultBean> list(){ + return systemLogService.listVo(); + } + + @Override + public ResultBean save(SystemLogDto dto){ + ResultBean rb = ResultBean.fireFail(); + systemLogService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + public ResultBean update(SystemLogDto dto,String sid){ + ResultBean rb = ResultBean.fireFail(); + systemLogService.updateBySid(dto.toMap(),sid); + return rb.success(); + } + + @Override + public ResultBean del(String ids){ + ResultBean rb = ResultBean.fireFail(); + systemLogService.delByIds(ids); + return rb.success(); + } + + @Override + public ResultBean fetch(String id){ + return systemLogService.fetchByIdVo(id); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/OrdertoolsService.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/OrdertoolsService.java new file mode 100644 index 0000000..3c52208 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/OrdertoolsService.java @@ -0,0 +1,66 @@ +package com.yxt.ordermall.apiadmin.ordertools; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.builder.ExcelReaderBuilder; +import com.alibaba.excel.read.listener.ReadListener; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.core.result.FileUploadResult; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.ordorder.OrdOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class OrdertoolsService { + + @Autowired + private FileUploadComponent fileUploadComponent; + + @Autowired + private OrdOrderService ordOrderService; + + public String uploadAndResetData(MultipartFile file) { + ResultBean fub = fileUploadComponent.uploadFile(file, "zfdd"); + String filePath = fub.getData().getFilePath(); + String fp = fileUploadComponent.getUploadPath() + filePath; + String outFilePath = "zfdd/fhd" + System.currentTimeMillis() + ".xlsx"; + String outFileName = fileUploadComponent.getUploadPath() + outFilePath; + String outFileUrl = fileUploadComponent.getUrlPrefix() + outFilePath; + + List inList = new ArrayList<>(); + ExcelReaderBuilder read = EasyExcel.read(fp, WxOrderIn.class, createReadListener(inList)); + read.sheet().doRead(); + + List toList = new ArrayList<>(); + inList.forEach(inObj -> { + ToImportOrderExcel toObj = new ToImportOrderExcel(); + toObj.setTranOrderNo(inObj.getTranOrderNo()); + toObj.setMerchantOrderNo(inObj.getMerchantOrderNo()); + toObj.setMerchantNo(inObj.getMerchantNo()); + toObj.setGoodsNames(ordOrderService.orderGoodsNames(inObj.getMerchantOrderNo())); + toList.add(toObj); + }); + EasyExcel.write(outFileName, ToImportOrderExcel.class).sheet("发货单").doWrite(toList); + + return outFileUrl; + } + + private ReadListener createReadListener(List inList) { + + return new ReadListener() { + @Override + public void invoke(WxOrderIn obj, AnalysisContext analysisContext) { + inList.add(obj); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + } + }; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/ToImportOrderExcel.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/ToImportOrderExcel.java new file mode 100644 index 0000000..4f84dd3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/ToImportOrderExcel.java @@ -0,0 +1,44 @@ +package com.yxt.ordermall.apiadmin.ordertools; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@EqualsAndHashCode +public class ToImportOrderExcel { + @ColumnWidth(20) + @ExcelProperty(value = "交易单号",index = 0) + private String tranOrderNo; // 交易单号 + @ColumnWidth(20) + @ExcelProperty(value = "商户单号",index = 1) + private String merchantOrderNo; // 商户单号 + @ColumnWidth(20) + @ExcelProperty(value = "商户号",index = 2) + private String merchantNo;// 商户号 + @ColumnWidth(20) + @ExcelProperty(value = "发货方式",index = 3) + private String modeOfDespatch = "用户自提";// 发货方式 + @ColumnWidth(20) + @ExcelProperty(value = "发货模式",index = 4) + private String deliveryMode = "统一发货";// 发货模式 + @ColumnWidth(20) + @ExcelProperty(value = "快递公司",index = 5) + private String kdgs = ""; // 快递公司 + @ColumnWidth(20) + @ExcelProperty(value = "快递单号(多个快递单使用;分隔)",index = 6) + private String kddh = ""; // 快递单号(多个快递单使用;分隔) + @ColumnWidth(20) + @ExcelProperty(value = "是否完成发货",index = 7) + private String sfwcfh = ""; // 是否完成发货 + @ColumnWidth(20) + @ExcelProperty(value = "是否重新发货",index = 8) + private String sfcxfh = ""; // 是否重新发货 + @ColumnWidth(20) + @ExcelProperty(value = "商品信息",index = 9) + private String goodsNames; // 商品信息 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/WxOrderIn.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/WxOrderIn.java new file mode 100644 index 0000000..147027f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/ordertools/WxOrderIn.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.apiadmin.ordertools; + +import lombok.Data; + +@Data +public class WxOrderIn { + private String tranTime; // 支付时间 + private String tranOrderNo; // 交易单号 + private String merchantOrderNo; // 商户单号 + private String merchantNo;// 商户号 + private String status; // 状态 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/vo/PmsBrandVo.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/vo/PmsBrandVo.java new file mode 100644 index 0000000..c81ab12 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/vo/PmsBrandVo.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.apiadmin.vo; + + +import lombok.Data; + +@Data +public class PmsBrandVo { + + private Long id; + + private String name; + private Integer sort; + /** + * 起始销售数量 + */ + private Integer qssl; + /** + * 订购协议 + */ + private String dgxy; + /** + * 品牌logo + */ + private String logo; + + /** + * 专区大图 + */ + private String bigPic; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/apiadmin/vo/PmsProductCategoryVo.java b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/vo/PmsProductCategoryVo.java new file mode 100644 index 0000000..a0efcbb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/apiadmin/vo/PmsProductCategoryVo.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.apiadmin.vo; + +import lombok.Data; + +@Data +public class PmsProductCategoryVo { + private Long id; + private Long parentId; + + private String name; + private Integer level; + private Integer sort; + + /** + * 图标 + */ + private String icon; + + private String keywords; + + /** + * 描述 + */ + private String description; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBanner.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBanner.java new file mode 100644 index 0000000..df9f06f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBanner.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.biz.appletbanner; + +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.domain.EntityWithId; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2023/12/8 9:10 + */ +@Data +@TableName("applet_banner") +public class AppletBanner extends EntityWithId { + + private String sid = IdUtil.fastSimpleUUID(); + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime = new Date(); + private String remarks; + private String isEnable; + private String title; + private String content; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date startDate; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date endDate; + private int sort = 1; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date releaseTime;//发布时间 + private String publisher;//发布人 + private String isShow = "1"; + + + private String bannerUrl;//轮播图完整URL + private String bannerPath;//轮播图相对地址 + private String contentUrl;//内容图片 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerMapper.java new file mode 100644 index 0000000..92be3b8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerMapper.java @@ -0,0 +1,8 @@ +package com.yxt.ordermall.biz.appletbanner; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AppletBannerMapper extends BaseMapper { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerQuery.java new file mode 100644 index 0000000..ddcf757 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerQuery.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.appletbanner; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/12/8 9:11 + */ +@Data +public class AppletBannerQuery implements Query { + private String startDate; //开始时间 + private String endDate; //结束时间 + private String countNumber; //总数 + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerService.java new file mode 100644 index 0000000..a1062cc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletbanner/AppletBannerService.java @@ -0,0 +1,74 @@ +package com.yxt.ordermall.biz.appletbanner; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.ordermall.wxapi.vo.WxBannerListVo; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class AppletBannerService extends ServiceImpl { + + public IPage pageList(PagerQuery pq) { + AppletBannerQuery query = pq.getParams(); + IPage page = PagerUtil.queryToPage(pq); + + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("title", query.getName()); + } + IPage iPage = baseMapper.selectPage(page, qw); + return iPage; + } + + public AppletBanner fetchBySid(String sid) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("sid", sid); + List list = baseMapper.selectList(qw); + if (list == null || list.isEmpty()) + return null; + return list.get(0); + } + + public void updateShowState(String sid, String state) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.set("isShow", state); + uw.eq("sid", sid); + baseMapper.update(null, uw); + } + + public List listWxVo() { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("isShow", 1); + List list = baseMapper.selectList(qw); + List voList = new ArrayList<>(); + list.forEach(entity -> { + WxBannerListVo vo = new WxBannerListVo(); + BeanUtil.copyProperties(entity, vo); + voList.add(vo); + }); + return voList; + } + + public void doSaveOrUpdate(AppletBanner dto) { + if (StrUtil.isBlank(dto.getSid())) { + dto.setSid(IdUtil.fastSimpleUUID()); + baseMapper.insert(dto); + return; + } + AppletBanner entity = this.fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagMapper.java new file mode 100644 index 0000000..4547a58 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagMapper.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.appletgiftbag; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.appletgiftbag.AppletGiftBag; +import com.yxt.ordermall.api.appletgiftbag.AppletGiftBagVo; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoodss; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface AppletGiftBagMapper extends BaseMapper { + + + IPage giftBagListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List giftBagList(); + + List giftBagGoodsList(); + List getGoodsByBagSid(@Param("bagSid") String bagSid); + int saveBags(@Param("bags") List bags); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagMapper.xml new file mode 100644 index 0000000..8575f73 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + insert into lpk_giftbag(sid,createTime,`name`,dateStart,dateEnd) + values + + (#{item.sid},#{item.createTime},#{item.name},#{item.dateStart},#{item.dateEnd}) + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagRest.java new file mode 100644 index 0000000..fbf5994 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagRest.java @@ -0,0 +1,83 @@ +package com.yxt.ordermall.biz.appletgiftbag; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.appletgiftbag.AppletGiftBagDto; +import com.yxt.ordermall.api.appletgiftbag.AppletGiftBagQuery; +import com.yxt.ordermall.api.appletgiftbag.AppletGiftBagVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "小程序礼包信息") +@RestController +@RequestMapping("appletgiftbag") +public class AppletGiftBagRest { + + @Autowired + AppletGiftBagService AppletGiftBagService; + + + @ApiOperation("礼包信息列表") + @PostMapping("/giftBagListPage") + public ResultBean> giftBagListPage(@RequestBody PagerQuery pq) { + return AppletGiftBagService.giftBagListPage(pq); + } + + @ApiOperation("保存修改") + @PostMapping("/saveGiftBag") + public ResultBean saveGiftBag(@RequestBody AppletGiftBagDto dto) { + return AppletGiftBagService.saveGiftBag(dto); + } + + @ApiOperation("礼包初始化") + @GetMapping("/giftBagInit/{sid}") + public ResultBean giftBagInit(@PathVariable String sid) { + return AppletGiftBagService.giftBagInit(sid); + } + + @ApiOperation("删除礼包") + @DeleteMapping("/deleteBag/{sid}") + public ResultBean deleteBag(@PathVariable("sid") String sid) { + return AppletGiftBagService.deleteBag(sid); + } + @ApiOperation("礼包信息列表") + @GetMapping("/giftBagList") + public ResultBean giftBagList() { + return AppletGiftBagService.giftBagList(); + } + @GetMapping("/isGrounding/{sid}/{state}") + @ApiOperation(value = "设置是否上下架") + public ResultBean isGrounding(@PathVariable("sid")String sid,@PathVariable("state") String state) { + return AppletGiftBagService.isGrounding(sid, state); + } + @ApiOperation("小程序礼包信息列表") + @GetMapping("/appletGiftBagList") + public ResultBean> appletGiftBagList() { + return AppletGiftBagService.appletGiftBagList(); + } + @ApiOperation("礼包初始化") + @GetMapping("/getGiftBagBySid/{sid}") + public ResultBean getGiftBagBySid(@PathVariable String sid) { + return AppletGiftBagService.getGiftBagBySid(sid); + } + @ApiOperation("") + @GetMapping("/recommendRecord/{sid}") + public ResultBean recommendRecord(@PathVariable("sid") String sid) { + return AppletGiftBagService.recommendRecord(sid); + } + @ApiOperation("新人专属购买礼包") + @PostMapping("/newUserQuota") + public ResultBean newUserQuota() { + return AppletGiftBagService.newUserQuota(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagService.java new file mode 100644 index 0000000..a2a4ac5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbag/AppletGiftBagService.java @@ -0,0 +1,301 @@ +package com.yxt.ordermall.biz.appletgiftbag; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.appletgiftbag.*; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.appletgiftbag.RecommendRecord; +import com.yxt.ordermall.api.appletgiftbaggoods.AppletGiftBagGoods; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.biz.appletgiftbaggoods.AppletGiftBagGoodsService; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class AppletGiftBagService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private AppletGiftBagGoodsService appletGiftBagGoodsService; + @Autowired + private LpkGoodsService lpkGoodsService; + + public ResultBean> giftBagListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + AppletGiftBagQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + qw.orderByDesc("isRecommend"); + qw.orderByDesc("createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.giftBagListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (AppletGiftBagVo record : records) { + if (StringUtils.isNotBlank(record.getIconUrl())) { + record.setIconUrl(fileUploadComponent.getUrlPrefix() + record.getIconUrl()); + } + } + } + return rb.success().setData(p); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveGiftBag(AppletGiftBagDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + appletGiftBagGoodsService.deleteGoodsByBagSid(dto.getSid()); + AppletGiftBag AppletGiftBag = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, AppletGiftBag, "id", "sid"); + AppletGiftBag.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getIconUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getIconUrl().substring(urlPrefix.length()); + AppletGiftBag.setIconUrl(path); + } + baseMapper.updateById(AppletGiftBag); + if (!dto.getGoods().isEmpty()) { + List goodsList = dto.getGoods(); + for (GiftBagGoods goods : goodsList) { + AppletGiftBagGoods AppletGiftBagGoods = new AppletGiftBagGoods(); + AppletGiftBagGoods.setCreateTime(new DateTime()); + AppletGiftBagGoods.setGoodsSid(goods.getGoodsSid()); + AppletGiftBagGoods.setGiftbagSid(AppletGiftBag.getSid()); + AppletGiftBagGoods.setGoodsNumber(goods.getGoodsNumber()); + AppletGiftBagGoods.setPrice(Double.valueOf(goods.getPrice())); + appletGiftBagGoodsService.insert(AppletGiftBagGoods); + } + } + } else { + AppletGiftBag AppletGiftBag = new AppletGiftBag(); + sid = AppletGiftBag.getSid(); + BeanUtil.copyProperties(dto, AppletGiftBag, "id", "sid"); + AppletGiftBag.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getIconUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getIconUrl().substring(urlPrefix.length()); + AppletGiftBag.setIconUrl(path); + } + baseMapper.insert(AppletGiftBag); + if (!dto.getGoods().isEmpty()) { + List goodsList = dto.getGoods(); + for (GiftBagGoods goods : goodsList) { + AppletGiftBagGoods AppletGiftBagGoods = new AppletGiftBagGoods(); + AppletGiftBagGoods.setCreateTime(new DateTime()); + AppletGiftBagGoods.setGoodsSid(goods.getGoodsSid()); + AppletGiftBagGoods.setGiftbagSid(AppletGiftBag.getSid()); + AppletGiftBagGoods.setGoodsNumber(goods.getGoodsNumber()); + AppletGiftBagGoods.setPrice(Double.valueOf(goods.getPrice())); + appletGiftBagGoodsService.insert(AppletGiftBagGoods); + } + } + } + return rb.success().setData(sid); + } + + public ResultBean giftBagInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AppletGiftBagInitVo vo = new AppletGiftBagInitVo(); + AppletGiftBag entity = fetchBySid(sid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != entity) { + BeanUtil.copyProperties(entity, vo); + if (null != entity.getDateStart()) { + vo.setDateStart(sdf.format(entity.getDateStart())); + } + if (null != entity.getDateEnd()) { + vo.setDateEnd(sdf.format(entity.getDateEnd())); + } + if (StringUtils.isNotBlank(entity.getIconUrl())) { + vo.setIconUrl(fileUploadComponent.getUrlPrefix() + entity.getIconUrl()); + } + List goods = new ArrayList<>(); + List records = appletGiftBagGoodsService.getRecordsByBagSid(sid); + if (!records.isEmpty()) { + for (AppletGiftBagGoods record : records) { + GiftBagGoods bagGoods = new GiftBagGoods(); + if (StringUtils.isNotBlank(record.getGoodsNumber())) { + bagGoods.setGoodsNumber(record.getGoodsNumber()); + } + if (StringUtils.isNotBlank(record.getGoodsSid())) { + bagGoods.setGoodsSid(record.getGoodsSid()); + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(record.getGoodsSid()); + if (null != lpkGoods) { + if (StringUtils.isNotBlank(lpkGoods.getName())) { + bagGoods.setName(lpkGoods.getName()); + } + if (StringUtils.isNotBlank(lpkGoods.getPicUrl())) { + bagGoods.setIconUrl(lpkGoods.getPicUrl()); + } + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + bagGoods.setUnitName(lpkGoods.getUnitName()); + } + if (StringUtils.isNotBlank(lpkGoods.getPrice())) { + bagGoods.setPrice(lpkGoods.getPrice()); + } + bagGoods.setWeight(lpkGoods.getWeight()); + bagGoods.setSpecificationUnit(lpkGoods.getSpecificationUnit()); + } + } + goods.add(bagGoods); + } + } + vo.setGoods(goods); + } + return rb.success().setData(vo); + } + + public ResultBean deleteBag(String sid) { + ResultBean rb = ResultBean.fireFail(); + AppletGiftBag AppletGiftBag = fetchBySid(sid); + if (null != AppletGiftBag) { + baseMapper.deleteById(AppletGiftBag.getId()); + appletGiftBagGoodsService.deleteGoodsByBagSid(sid); + } + return rb.success(); + } + + public ResultBean giftBagList() { + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.giftBagList(); + return rb.success().setData(pagging); + } + public ResultBean isGrounding(String sid,String state) { + ResultBean rb = new ResultBean().fail(); + AppletGiftBag bag=baseMapper.selectOne(new QueryWrapper().eq("sid",sid)); + bag.setIsGrounding(state); + baseMapper.updateById(bag); + return rb.success().setMsg("修改成功"); + } + + public int saveBags(List bags) { + return baseMapper.saveBags(bags); + } + public ResultBean> appletGiftBagList() { + ResultBean rb = ResultBean.fireFail(); + List list=baseMapper.giftBagList(); + list.forEach(s->{ +// s.setPrice(Double.valueOf(aa(s.getPrice()))); + List list1=appletGiftBagGoodsService.getGoodsByBagSidB(s.getSid()); + list1.forEach(l->{ + l.setCount("共"+Integer.valueOf(l.getGoodsNumber())+l.getUnitName()); + l.setSpec(l.getWeight()+l.getSpecificationUnit()+"/"+l.getUnitName()); + + }); +// List appletGiftBagGoods=appletGiftBagGoodsService.list(new QueryWrapper().eq("giftbagSid",s.getSid())); + s.setCount(list1.size()+"种蔬菜"); + s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl()); + s.setGiftBagGoods(list1); + }); + + return rb.success().setData(list); + } + public ResultBean getGiftBagBySid(String sid ) { + ResultBean rb = ResultBean.fireFail(); + List goodsList=appletGiftBagGoodsService.getGoodsByBagSidA(sid); + AppletGiftBagDetailVo appletGiftBagVo=new AppletGiftBagDetailVo(); + AppletGiftBag s= baseMapper.selectOne(new QueryWrapper().eq("sid",sid)); + double i=0; + DecimalFormat decimalFormat = new DecimalFormat("#0.00"); + for(GiftBagGoods goods:goodsList){ +// i=i+Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getGoodsNumber()); + i=i+Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())*Double.valueOf(goods.getGoodsNumber()); + goods.setIconUrl(fileUploadComponent.getUrlPrefix() +goods.getIconUrl()); + goods.setTotalValue(String.valueOf(decimalFormat.format(Double.valueOf(goods.getGoodsNumber())*Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())))); +// goods.setJPrice(String.valueOf(decimalFormat.format(Double.valueOf(goods.getPrice())*Double.valueOf(goods.getWeight())))); + goods.setPrice(String.valueOf(decimalFormat.format(Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())))); + } + appletGiftBagVo.setPrice(decimalFormat.format(i)); + appletGiftBagVo.setGoods(goodsList); + appletGiftBagVo.setName(s.getName()); + return rb.success().setData(appletGiftBagVo); + } + public static String aa(double a){ + BigDecimal d=new BigDecimal(a); + String c= d.setScale(2,BigDecimal.ROUND_HALF_UP).toString(); + return String.valueOf(c); + } + public ResultBean recommendRecord(String sid ) { + ResultBean rb=new ResultBean().fail(); + AppletGiftBagVo vo=new AppletGiftBagVo(); + AppletGiftBag bag=baseMapper.selectOne(new QueryWrapper().eq("sid","e49555f2-5370-45b0-9637-aa4d54c22e31")); + vo.setRemarks(bag.getRemarks()); + vo.setIconUrl(fileUploadComponent.getUrlPrefix() +bag.getIconUrl()); + RecommendRecord recommendRecord=new RecommendRecord(); + recommendRecord.setContent("梧桐居助力您获得7斤白菜"); + RecommendRecord recommendRecord1=new RecommendRecord(); + recommendRecord1.setContent("龙助力您获得7斤白菜"); + RecommendRecord recommendRecord2=new RecommendRecord(); + recommendRecord2.setContent("美人助力您获得15斤土豆"); + List list=new ArrayList<>(); + list.add(recommendRecord); + list.add(recommendRecord1); + list.add(recommendRecord2); + vo.setRecordList(list); + return rb.success().setData(vo); + } + public ResultBean newUserQuota() { + ResultBean rb=new ResultBean().fail(); + List s=baseMapper.giftBagGoodsList(); + for (AppletGiftBagVo appletGiftBagVo : s) { + List giftBagGoods=appletGiftBagGoodsService.list(new QueryWrapper().eq("giftbagSid",appletGiftBagVo.getSid())); + for(AppletGiftBagGoods goods:giftBagGoods){ + LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods.getGoodsSid())); + appletGiftBagVo.setWeight(removeZeros(String.valueOf(Double.valueOf(lpkGoods.getWeight())*Double.valueOf(goods.getGoodsNumber())+Double.valueOf(appletGiftBagVo.getWeight())))); + } + appletGiftBagVo.setIconUrl(fileUploadComponent.getUrlPrefix() +appletGiftBagVo.getIconUrl()); + } + return rb.success().setData(s); + } + public ResultBean> getGoodsByBagSid(String bagSid) { + ResultBean rb=new ResultBean().fail(); + List s=baseMapper.getGoodsByBagSid(bagSid); + return rb.success().setData(s); + } + /** + * 去除多余.0 + * @param num + * @return + */ + public static String removeZeros(String num) { + if (num.indexOf(".") > 0) { + // 去掉多余的0 + num = num.replaceAll("0+?$", ""); + // 如果最后一位是. 则去掉 + num = num.replaceAll("[.]$", ""); + } + return num; + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsMapper.java new file mode 100644 index 0000000..f03ffb2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsMapper.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.biz.appletgiftbaggoods; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.appletgiftbaggoods.AppletGiftBagGoods; +import com.yxt.ordermall.api.appletgiftbaggoods.AppletGiftBagGoodsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface AppletGiftBagGoodsMapper extends BaseMapper { + + + int deleteGoodsByBagSid(@Param("sid") String sid); + + @Select("select goods.name as goodsName,bads.goodsNumber ,bads.goodsSid,goods.picUrl,goods.price,goods.unitName,goods.remarks " + + " from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") + List getGoodsByBagSid(String sid); + + @Select("select goods.name as name,bads.goodsNumber ,bads.goodsSid,goods.picUrl as iconUrl,goods.price as jPrice,goods.unitName,goods.content as remark " + + " ,goods.weight, goods.specificationUnit from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") + List getGoodsByBagSidA(String sid); + @Select("select goods.name as name,bads.goodsNumber ,bads.goodsSid,goods.picUrl as iconUrl,goods.price as jPrice,goods.unitName,goods.content as remark " + + " ,goods.weight, goods.specificationUnit from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") + List getGoodsByBagSidB(String sid); + List getRecordsByBagSid(@Param("sid") String sid); + + int saveBagGoods(@Param("bagGoods") List bagGoods); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsMapper.xml new file mode 100644 index 0000000..f60c964 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + DELETE + FROM applet_giftbag_goods + WHERE giftbagSid = #{sid} + + + + insert into applet_giftbag_goods(sid,createTime,giftbagSid,goodsSid,goodsNumber) + values + + (#{item.sid},#{item.createTime},#{item.giftbagSid},#{item.goodsSid},#{item.goodsNumber}) + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsRest.java new file mode 100644 index 0000000..e86d2e3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsRest.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.appletgiftbaggoods; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼包包含商品信息") +@RestController +@RequestMapping("appletgiftbaggoods") +public class AppletGiftBagGoodsRest { + + @Autowired + AppletGiftBagGoodsService appletGiftBagGoodsService; + + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsService.java new file mode 100644 index 0000000..bf48079 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletgiftbaggoods/AppletGiftBagGoodsService.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.biz.appletgiftbaggoods; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.appletgiftbaggoods.AppletGiftBagGoods; +import com.yxt.ordermall.api.appletgiftbaggoods.AppletGiftBagGoodsVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class AppletGiftBagGoodsService extends MybatisBaseService { + + public int deleteGoodsByBagSid(String sid) { + return baseMapper.deleteGoodsByBagSid(sid); + } + + public List getRecordsByBagSid(String sid) { + return baseMapper.getRecordsByBagSid(sid); + } + + public List getGoodsByBagSid(String sid) { + return baseMapper.getGoodsByBagSid(sid); + } + public List getGoodsByBagSidA(String sid) { + return baseMapper.getGoodsByBagSidA(sid); + } + public List getGoodsByBagSidB(String sid) { + return baseMapper.getGoodsByBagSidB(sid); + } + + public int saveBagGoods(List bagGoods) { + return baseMapper.saveBagGoods(bagGoods); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeMapper.java new file mode 100644 index 0000000..94e088a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeMapper.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.appletnotice; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.appletnotice.AppletNotice; +import com.yxt.ordermall.api.appletnotice.AppletNoticeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface AppletNoticeMapper extends BaseMapper { + + IPage pageList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getNotices (@Param("now") String now); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeMapper.xml new file mode 100644 index 0000000..7e4b012 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeRest.java new file mode 100644 index 0000000..0804f46 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeRest.java @@ -0,0 +1,51 @@ +package com.yxt.ordermall.biz.appletnotice; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.appletnotice.AppletNoticeDto; +import com.yxt.ordermall.api.appletnotice.AppletNoticeQuery; +import com.yxt.ordermall.api.appletnotice.AppletNoticeVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "公告记录表") +@RestController +@RequestMapping("appletnotice") +public class AppletNoticeRest { + @Autowired + AppletNoticeService NoticeService; + + + @ApiOperation("分页列表") + @PostMapping("/pageList") + public ResultBean> pageList(@RequestBody PagerQuery pq){ + return NoticeService.pageList(pq); + } + @ApiOperation("修改或保存") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody AppletNoticeDto dto){ + return NoticeService.saveOrUpdate(dto); + } + @ApiOperation("初始化") + @GetMapping("/noticeInit/{sid}") + public ResultBean noticeInit(@PathVariable("sid")String sid){ + return NoticeService.noticeInit(sid); + } + @ApiOperation("是否显示") + @GetMapping("/isDisplayed/{sid}/{state}") + public ResultBean isDisplayed(@PathVariable("sid")String sid,@PathVariable("state")String state){ + return NoticeService.isDisplayed(sid,state); + } + @ApiOperation("是否显示") + @GetMapping("/getNotice") + public ResultBean getNotice(){ + return NoticeService.getNotice(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeService.java new file mode 100644 index 0000000..bb59433 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/appletnotice/AppletNoticeService.java @@ -0,0 +1,81 @@ +package com.yxt.ordermall.biz.appletnotice; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.appletnotice.AppletNotice; +import com.yxt.ordermall.api.appletnotice.AppletNoticeDto; +import com.yxt.ordermall.api.appletnotice.AppletNoticeQuery; +import com.yxt.ordermall.api.appletnotice.AppletNoticeVo; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class AppletNoticeService extends MybatisBaseService { + + public ResultBean> pageList(PagerQuery pq) { + ResultBean rb = new ResultBean(); + AppletNoticeQuery query = pq.getParams(); + + + IPage page = PagerUtil.queryToPage(pq); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("title", query.getName()); + } + IPage pagging = baseMapper.pageList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + @Transactional(rollbackFor = Exception.class) + public ResultBean saveOrUpdate(AppletNoticeDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isNotBlank(dto.getSid())) { + AppletNotice notice = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, notice, "id", "sid"); + notice.setCreateTime(new DateTime()); + baseMapper.updateById(notice); + } else { + AppletNotice notice = new AppletNotice(); + BeanUtil.copyProperties(dto, notice, "id", "sid"); + notice.setCreateTime(new DateTime()); + baseMapper.insert(notice); + } + return rb.success().setData("成功"); + } + + public ResultBean noticeInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AppletNotice entity = fetchBySid(sid); + return rb.success().setData(entity); + } + public ResultBean isDisplayed(String sid,String state) { + ResultBean rb = ResultBean.fireFail(); + AppletNotice entity = fetchBySid(sid); + entity.setIsShow(state); + baseMapper.updateById(entity); + return rb.success().setData("成功"); + } + public ResultBean getNotice() { + ResultBean rb = ResultBean.fireFail(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List noticeVos= baseMapper.getNotices(sdf.format(new Date())); + return rb.success().setData(noticeVos); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsMapper.java new file mode 100644 index 0000000..3fb427d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsMapper.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.approvalrecords; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecords; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecordsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface ApprovalRecordsMapper extends BaseMapper { + + IPage ListPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsMapper.xml new file mode 100644 index 0000000..e93d458 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsRest.java new file mode 100644 index 0000000..4a9ec79 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsRest.java @@ -0,0 +1,47 @@ +package com.yxt.ordermall.biz.approvalrecords; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecordsDto; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecordsQuery; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecordsVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "企业认证") +@RestController +@RequestMapping("ApprovalRecords") +public class ApprovalRecordsRest { + + @Autowired + ApprovalRecordsService approvalRecordsService; + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> ListPageVo(@RequestBody PagerQuery pq) { + return approvalRecordsService.ListPageVo(pq); + } + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody ApprovalRecordsDto dto) { + return approvalRecordsService.save(dto); + } +// @ApiOperation("修改") +// @PostMapping("/update") +// public ResultBean update(@RequestBody ApprovalRecordsDto dto) { +// return approvalRecordsService.update(dto); +// } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsService.java new file mode 100644 index 0000000..4b4dc55 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/approvalrecords/ApprovalRecordsService.java @@ -0,0 +1,52 @@ +package com.yxt.ordermall.biz.approvalrecords; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecords; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecordsDto; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecordsQuery; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecordsVo; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class ApprovalRecordsService extends MybatisBaseService { + + + public ResultBean> ListPageVo(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + ApprovalRecordsQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("reviewStatus","0"); + qw.orderByDesc("createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.ListPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean save(ApprovalRecordsDto dto) { + ResultBean rb = ResultBean.fireFail(); + ApprovalRecords entity=new ApprovalRecords(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("添加成功"); + } +// public ResultBean update(ApprovalRecordsDto dto) { +// ResultBean rb=new ResultBean(); +// ApprovalRecords entity=baseMapper.selectOne(new QueryWrapper().eq("customerSid",dto.getCustomerSid())); +// BeanUtil.copyProperties(dto, entity, "id", "sid"); +// entity.setReviewStatus("0"); +// baseMapper.updateById(entity); +// return rb.success().setMsg("修改成功"); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryMapper.java new file mode 100644 index 0000000..0b2b54a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryMapper.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.cannotreservedictionary; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionary; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionaryVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface CannotReserveDictionaryMapper extends BaseMapper { + + IPage pageList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getNotices (@Param("now") String now); + + @Select("select unavailableTime from cannot_reserve_dictionary") + List getAllTime (); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryMapper.xml new file mode 100644 index 0000000..668ab1e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryRest.java new file mode 100644 index 0000000..8aabe53 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryRest.java @@ -0,0 +1,51 @@ +package com.yxt.ordermall.biz.cannotreservedictionary; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionaryDto; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionaryQuery; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionaryVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "公告记录表") +@RestController +@RequestMapping("CannotReserveDictionary") +public class CannotReserveDictionaryRest { + @Autowired + CannotReserveDictionaryService NoticeService; + + + @ApiOperation("分页列表") + @PostMapping("/pageList") + public ResultBean> pageList(@RequestBody PagerQuery pq){ + return NoticeService.pageList(pq); + } + @ApiOperation("修改或保存") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody CannotReserveDictionaryDto dto){ + return NoticeService.saveOrUpdate(dto); + } + @ApiOperation("初始化") + @GetMapping("/noticeInit/{sid}") + public ResultBean noticeInit(@PathVariable("sid")String sid){ + return NoticeService.noticeInit(sid); + } + @ApiOperation("是否显示") + @GetMapping("/isDisplayed/{sid}/{state}") + public ResultBean isDisplayed(@PathVariable("sid")String sid,@PathVariable("state")String state){ + return NoticeService.isDisplayed(sid,state); + } + @ApiOperation("是否显示") + @GetMapping("/getNotice") + public ResultBean getNotice(){ + return NoticeService.getNotice(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryService.java new file mode 100644 index 0000000..8a3344c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/cannotreservedictionary/CannotReserveDictionaryService.java @@ -0,0 +1,79 @@ +package com.yxt.ordermall.biz.cannotreservedictionary; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionary; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionaryDto; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionaryQuery; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionaryVo; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class CannotReserveDictionaryService extends MybatisBaseService { + + public ResultBean> pageList(PagerQuery pq) { + ResultBean rb = new ResultBean(); + CannotReserveDictionaryQuery query = pq.getParams(); + IPage page = PagerUtil.queryToPage(pq); + QueryWrapper qw = new QueryWrapper<>(); + IPage pagging = baseMapper.pageList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + @Transactional(rollbackFor = Exception.class) + public ResultBean saveOrUpdate(CannotReserveDictionaryDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isNotBlank(dto.getSid())) { + CannotReserveDictionary notice = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, notice, "id", "sid"); + notice.setCreateTime(new DateTime()); + baseMapper.updateById(notice); + } else { + CannotReserveDictionary notice = new CannotReserveDictionary(); + BeanUtil.copyProperties(dto, notice, "id", "sid"); + notice.setCreateTime(new DateTime()); + baseMapper.insert(notice); + } + return rb.success().setData("成功"); + } + + public ResultBean noticeInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + CannotReserveDictionary entity = fetchBySid(sid); + return rb.success().setData(entity); + } + public ResultBean isDisplayed(String sid,String state) { + ResultBean rb = ResultBean.fireFail(); + CannotReserveDictionary entity = fetchBySid(sid); + baseMapper.updateById(entity); + return rb.success().setData("成功"); + } + public ResultBean getNotice() { + ResultBean rb = ResultBean.fireFail(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List noticeVos= baseMapper.getNotices(sdf.format(new Date())); + return rb.success().setData(noticeVos); + } + public ResultBean> getAllTime() { + ResultBean rb = ResultBean.fireFail(); + List noticeVos= baseMapper.getAllTime(); + return rb.success().setData(noticeVos); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceMapper.java new file mode 100644 index 0000000..df590a6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceMapper.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.customerinvoice; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoice; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoiceVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface CustomerInvoiceMapper extends BaseMapper { + + IPage ListPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select * from customer_invoice where customerSid=#{customerSid} order by isDefault desc") + List listInvoice(@Param("customerSid")String customerSid); + + @Select("select * from customer_invoice where sid=#{sid}") + CustomerInvoiceVo getCustomerInvoiceBySid( @Param("sid") String sid); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceMapper.xml new file mode 100644 index 0000000..3cef811 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceRest.java new file mode 100644 index 0000000..e67692b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceRest.java @@ -0,0 +1,57 @@ +package com.yxt.ordermall.biz.customerinvoice; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoiceDto; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoiceQuery; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoiceVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "客户发票") +@RestController +@RequestMapping("customerinvoice") +public class CustomerInvoiceRest { + + @Autowired + CustomerInvoiceService customerInvoiceService; + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> ListPageVo(@RequestBody PagerQuery pq) { + return customerInvoiceService.ListPageVo(pq); + } + @ApiOperation("根据客户sid查询所有的发票") + @GetMapping("/listInvoice/{customerSid}") + public ResultBean listInvoice(@PathVariable("customerSid")String customerSid) { + return customerInvoiceService.listInvoice(customerSid); + } + @ApiOperation("保存或者修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody CustomerInvoiceDto dto) { + return customerInvoiceService.saveOrUpdate(dto); + } + + @ApiOperation("根据sid查询") + @GetMapping("/getCustomerInvoiceBySid/{sid}") + public ResultBean getCustomerInvoiceBySid(@PathVariable String sid){ + ResultBean rb = ResultBean.fireFail(); + CustomerInvoiceVo CustomerInvoiceVo=customerInvoiceService.getCustomerInvoiceBySid(sid); + return rb.success().setData(CustomerInvoiceVo); + } + @ApiOperation("删除") + @DeleteMapping("/delete/{sid}") + public ResultBean delete(@PathVariable String sid) { + return customerInvoiceService.delete(sid); + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceService.java new file mode 100644 index 0000000..4a684c6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/customerinvoice/CustomerInvoiceService.java @@ -0,0 +1,79 @@ +package com.yxt.ordermall.biz.customerinvoice; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoice; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoiceDto; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoiceQuery; +import com.yxt.ordermall.api.customerinvoice.CustomerInvoiceVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class CustomerInvoiceService extends MybatisBaseService { + + + public ResultBean> ListPageVo(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + CustomerInvoiceQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.ListPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean listInvoice(String customerSid) { + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.listInvoice(customerSid); + return rb.success().setData(pagging); + } + + public ResultBean saveOrUpdate(CustomerInvoiceDto dto) { + ResultBean rb = ResultBean.fireFail(); + if(StringUtils.isBlank(dto.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + if(dto.getIsDefault().equals("1")){ + CustomerInvoice customerInvoice = baseMapper.selectOne(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("isDefault","1")); + customerInvoice.setIsDefault("0"); + baseMapper.updateById(customerInvoice); + } + if (StringUtils.isNotBlank(dto.getSid())) { + String dtoSid = dto.getSid(); + CustomerInvoice entity=fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + return rb.success().setMsg("修改成功").setData(entity.getSid()); + }else{ + CustomerInvoice entity=new CustomerInvoice(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("添加成功").setData(entity.getSid()); + } + } + + public CustomerInvoiceVo getCustomerInvoiceBySid(String sid){ + return baseMapper.getCustomerInvoiceBySid(sid); + } + public ResultBean delete(String sid) { + ResultBean rb=new ResultBean(); + baseMapper.delete(new QueryWrapper().eq("sid",sid)); + return rb.success().setMsg("删除成功"); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreMapper.java new file mode 100644 index 0000000..43077c6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreMapper.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.customerstore; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.customerstore.CustomerStore; +import com.yxt.ordermall.api.customerstore.CustomerStoreVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface CustomerStoreMapper extends BaseMapper { + CustomerStoreVo getStoreBySid(@Param("customerSid") String customerSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreMapper.xml new file mode 100644 index 0000000..ef74149 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreMapper.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreRest.java new file mode 100644 index 0000000..6ec2fc9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreRest.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.biz.customerstore; + +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "客户网点关联") +@RestController +@RequestMapping("customerstore") +public class CustomerStoreRest { + + @Autowired + CustomerStoreService customerStoreService; + + @ApiOperation("我的默认提货地点") + @GetMapping("/getStoreBySid/{sid}") + public ResultBean getStoreBySid(@PathVariable String sid) { + return customerStoreService.getStoreBySid(sid); + } + @GetMapping("/isSaturAndSun") + @ApiOperation(value = "获取时间段的周六日") + public ResultBean isSaturAndSun() { + return customerStoreService.isSaturAndSun(); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreService.java new file mode 100644 index 0000000..8b836fc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/customerstore/CustomerStoreService.java @@ -0,0 +1,173 @@ +package com.yxt.ordermall.biz.customerstore; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionary; +import com.yxt.ordermall.api.customerstore.CustomerStore; +import com.yxt.ordermall.api.customerstore.CustomerStoreDto; +import com.yxt.ordermall.api.customerstore.CustomerStoreVo; +import com.yxt.ordermall.biz.cannotreservedictionary.CannotReserveDictionaryService; +import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class CustomerStoreService extends MybatisBaseService { + @Autowired + LpkStoreService lpkStoreService; + @Autowired + CannotReserveDictionaryService cannotReserveDictionaryService; + public ResultBean getStoreBySid(String customerSid) { + ResultBean rb=new ResultBean().fail(); + + CustomerStoreVo vo=baseMapper.getStoreBySid(customerSid); + +// if(null==vo){ +// LpkStoreVo list= lpkStoreService.getAllStoreByQuery(new LpkStoreQuery()).getData().get(0); +// CustomerStoreVo vo1=new CustomerStoreVo(); +// vo1.setAddress(list.getAddress()); +// vo1.setStoreSid(list.getSid()); +// vo1.setBusinessHours(list.getBusinessHours()); +// vo1.setStoreName(list.getName()); +// vo1=getStart(vo1); +// return rb.success().setData(vo1); +// } + if(null==vo){ + CustomerStoreVo vo1=new CustomerStoreVo(); + vo1=getStart(vo1); + return rb.success().setData(vo1); + } + vo=getStart(vo); + return rb.success().setData(vo); + } + + public ResultBean saveStore(CustomerStoreDto dto){ + ResultBean rb=new ResultBean(); + baseMapper.delete(new QueryWrapper().eq("customerSid",dto.getCustomerSid())); + CustomerStore customerStore=new CustomerStore(); + BeanUtil.copyProperties(dto, customerStore, "id", "sid"); + baseMapper.insert(customerStore); + return rb.success().setMsg("成功"); + } + +// public ResultBean isSaturAndSun() { +// ResultBean rb = new ResultBean().fail(); +// +// Date date =new Date(); +// SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String nowDate =sdf1.format(date); +// String endDate= sdf1.format(DateUtil.offsetMonth(date,12)); +// LocalDate now = DateUtil.parse(nowDate).toSqlDate().toLocalDate(); +// LocalDate endD = DateUtil.parse(endDate).toSqlDate().toLocalDate(); +// List weekMap = new ArrayList<>(); +// // 第一个星期六 +// LocalDate saturday = now.with(DayOfWeek.SATURDAY); +// do { +// if (CollectionUtils.isEmpty(weekMap)) { +// weekMap.add(saturday.toString()); +// } else { +// weekMap.add(saturday.toString()); +// } +// // 迭代一个星期 +// saturday = saturday.plus(Period.ofDays(7)); +// } while (saturday.compareTo(endD) < 1); +// // 第一个星期天 +// LocalDate sunday = now.with(DayOfWeek.SUNDAY); +// do { +// if (CollectionUtils.isEmpty(weekMap)) { +// weekMap.add(sunday.toString()); +// } else { +// weekMap.add(sunday.toString()); +// } +// // 迭代一个星期 +// sunday = sunday.plus(Period.ofDays(7)); +// } while (sunday.compareTo(endD) < 1); +// String nextYear = DateUtil.offsetMonth(new Date(), 12).toString(); +// int y = DateUtil.year(DateUtil.parse(nextYear)); +// weekMap.add(String.valueOf(y) + "-01-01"); +// +// weekMap.add("2024-02-05"); +// weekMap.add("2024-02-06"); +// weekMap.add("2024-02-07"); +// weekMap.add("2024-02-08"); +// weekMap.add("2024-02-09"); +// +// weekMap.add("2024-02-12"); +// weekMap.add("2024-02-13"); +// weekMap.add("2024-02-14"); +// weekMap.add("2024-02-15"); +// weekMap.add("2024-02-16"); +// +// +// weekMap=weekMap.stream().filter(e->!e.equals("2024-02-04")).collect(Collectors.toList()); +// Object[] array = weekMap.stream().sorted().toArray(); +// return rb.success().setData(array); +// } + public ResultBean isSaturAndSun() { + ResultBean rb = new ResultBean().fail(); + List s=cannotReserveDictionaryService.getAllTime().getData(); + Object[] array = s.stream().sorted().toArray(); + return rb.success().setData(array); + } + public CustomerStoreVo getStart(CustomerStoreVo vo) { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalTime timeOfDay = LocalTime.of(15, 0); // 设置下午3点的小时数为15,分钟数为0 + LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 + + ZoneId zoneId = ZoneId.systemDefault(); + Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); + Date nowDate=new Date(); + String start =""; + + //1>2 1 、1<2 -1 、1=2 0 + int k= DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(nowDate)))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(date))))); + if(String.valueOf(k).equals("1")){ + start=sdf.format(DateUtil.offsetDay(nowDate,+2)); + }else{ + start=sdf.format(DateUtil.offsetDay(nowDate,+1)); + } + String end=sdf.format(DateUtil.offsetDay(DateUtil.parse(start),4)); + + vo.setStart(start); + vo.setEnd(end); + String reserveDate=reserveDate(start); + vo.setReserveDate(reserveDate); + return vo; + } + public String reserveDate(String start){ + CannotReserveDictionary cannotReserveDictionary=new CannotReserveDictionary(); + cannotReserveDictionary=cannotReserveDictionaryService.getOne(new QueryWrapper().eq("unavailableTime",start)); + if(null!=cannotReserveDictionary){ + int i=0; + do { + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + cannotReserveDictionary=cannotReserveDictionaryService.getOne(new QueryWrapper().eq("unavailableTime",start)); + if(null!=cannotReserveDictionary){ + start=sdf.format(DateUtil.offsetDay(DateUtil.parse(start),+1)); + } + i++; + } while (cannotReserveDictionary!=null); + if(i>=5){ + start=""; + } + } + return start; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardMapper.java new file mode 100644 index 0000000..25330da --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardMapper.java @@ -0,0 +1,61 @@ +package com.yxt.ordermall.biz.empcard; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.empcard.*; +import com.yxt.ordermall.api.lpkgiftcard.*; +import com.yxt.ordermall.api.vegetablecellar.vegeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Mapper +public interface EmpCardMapper extends BaseMapper { + String selctMaxSerNum(@Param("cardArea") String cardArea); + IPage cardList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage recordDetails(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + EmpAppletVo getEmpCardBySid(@Param("sid") String sid); + EmpAppletNewVo getEmpCardsBySid(@Param("sid") String sid); + + List exportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select count(id) from emp_card where recordSid=#{recordSid} and grantRecordSid is not null") + Integer cardGrantCount(@Param("recordSid") String recordSid); + + IPage getEmpCardByCustomerSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List selEmpCardSid(@Param("empCardSid")String empCardSid); + EmpCardVo getBagGoods(@Param("sid")String sid ,@Param("goodsSid")String goodsSid); + + IPage cardStatisticsList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List cardStatisticsListExport(@Param(Constants.WRAPPER) QueryWrapper qw); + @Select(" SELECT\n" + + " card.*,\n" + + " case card.state\n" + + " WHEN 3 then '未提货'\n" + + " WHEN 4 then '已经预约提货(预约部分提货)'\n" + + " WHEN 5 then '已经提取完成'\n" + + " end stateValue,\n" + + " bag.dateStart as dateStart\n" + + " ,bag.dateEnd as dateEnd\n" + + " ,bag.name as pname,card.state as states,card.serialNumber as serialNumber\n" + + " FROM\n" + + " emp_card card\n" + + " LEFT JOIN lpk_giftbag bag on card.giftbagSid=bag.sid" + + " where card.sid=#{sid}") + AppletVo getCardBySid(String cardSid); + + @Select("update emp_card set isItInvalid='1',state='5',isReservation='1' where giftbagSid=#{giftbagSid} and state!=#{state} ") + Integer updateIsItInvalid(@Param("giftbagSid") String giftbagSid, @Param("state") String state); + + + IPage selGiftCard(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List getGoodsList(@Param("sid") String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardMapper.xml new file mode 100644 index 0000000..3b45798 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardMapper.xml @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardRest.java new file mode 100644 index 0000000..ae020d5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardRest.java @@ -0,0 +1,120 @@ +package com.yxt.ordermall.biz.empcard; + +import com.alibaba.fastjson.JSONObject; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empcard.EmpCardDto; +import com.yxt.ordermall.api.empcard.EmpCardQuery; +import com.yxt.ordermall.api.empcard.EmpCardVo; +import com.yxt.ordermall.api.lpkgiftcard.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Api(tags = "礼品卡信息") +@RestController +@RequestMapping("empcard") +public class EmpCardRest { + + + + @Autowired + EmpCardService empCardService; + + @PostMapping("/bindCard") + @ApiOperation(value = "客户绑定企业卡") + public ResultBean bindCard(@RequestBody EmpCardDto dto) { + return empCardService.bindCard(dto); + } + @PostMapping("/generateCard") + @ApiOperation(value = "生成企业卡信息") + public ResultBean generateCard(@RequestBody EmpCardDto dto) { + return empCardService.generateCard(dto); + } + +// @PostMapping("/updateEmpCardState") +// @ApiOperation(value = "生成企业卡信息") +// public ResultBean generateCard(@RequestBody EmpCardDto dto) { +// return empCardService.generateCard(dto); +// } + @PostMapping("/cardList") + @ApiOperation(value = "企业卡信息列表") + public ResultBean> cardList(@RequestBody PagerQuery pq) { + return empCardService.cardList(pq); + } + @ApiOperation("查看记录详情列表") + @PostMapping("/recordDetails") + public ResultBean> recordDetails(@RequestBody PagerQuery pq) { + return empCardService.recordDetails(pq); + } + @ApiOperation(value = "企业卡信息列表导出") + @PostMapping("/exportExcel") + public void exportExcel(@RequestBody LpkGiftCardListQuery query) { + empCardService.exportExcel(query); + } + + @PostMapping("/getEmpCardByCustomerSid") + @ApiOperation(value = "获取客户绑定的礼包卡") + public ResultBean getEmpCardByCustomerSid(@RequestBody PagerQuery query) { + return empCardService.getEmpCardByCustomerSid(query); + } + @GetMapping("/getEmpCardBySid/{sid}") + @ApiOperation(value = "获取企业卡的详情信息") + public ResultBean getEmpCardBySid(@PathVariable("sid") String sid) { + return empCardService.getEmpCardBySid(sid); + } + @ApiOperation("企业卡信息列表") + @PostMapping("/empCardStatisticsList") + public ResultBean empCardStatisticsList(@RequestBody PagerQuery pq) { + return empCardService.cardStatisticsList(pq); + } + @ApiOperation("企业卡信息导出") + @PostMapping("/empCardStatisticsListExport") + public void cardStatisticsListExport(@RequestBody EmpCardQuery pq) { + empCardService.cardStatisticsListExport(pq); + } + + + @GetMapping("/isSaturAndSun/{cardSid}") + @ApiOperation(value = "获取时间段的周六日") + public ResultBean isSaturAndSun(@PathVariable("cardSid") String cardSid) { + return empCardService.isSaturAndSun(cardSid); + } + + /** + * 企业卡积木报表接口 + * @param pageNo + * @param pageSize + * @param printAll + * @param end + * @param start + * @return + */ + @GetMapping("/getEmpCard") + @ApiOperation(value = "生成礼包卡信息") + public JSONObject getCardByBank(@RequestParam(value = "pageNo",defaultValue = "1")Integer pageNo, + @RequestParam(value = "pageSize",defaultValue = "8")Integer pageSize, + @RequestParam(value = "printAll",required = false) String printAll, + @RequestParam(value = "end",defaultValue = "") String end, + @RequestParam(value = "start",defaultValue = "") String start) { + PagerQuery pq=new PagerQuery<>(); + LpkGiftCardListQuery q=new LpkGiftCardListQuery(); + pq.setCurrent(pageNo); + pq.setSize(pageSize); + q.setNoEnd(end); + q.setNoStart(start); + pq.setParams(q); + PagerVo p=empCardService.getCardByBank(pq).getData(); + JSONObject jsonObject=new JSONObject(); + jsonObject.put("date",p.getRecords()); + jsonObject.put("total",p.getPages()); + jsonObject.put("count",p.getTotal()); + return jsonObject; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardService.java new file mode 100644 index 0000000..6c48560 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcard/EmpCardService.java @@ -0,0 +1,656 @@ +package com.yxt.ordermall.biz.empcard; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.ExportExcelUtils; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empcard.*; +import com.yxt.ordermall.api.empcardbuildrecord.EmpCardBuildRecord; +import com.yxt.ordermall.api.empcardgift.EmpCardGift; +import com.yxt.ordermall.api.empcardgift.EmpCardGiftVo; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLogVo; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; +import com.yxt.ordermall.api.lpkgiftcard.*; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderVo; +import com.yxt.ordermall.api.lpkreserveordergoods.LpkReserveOrderGoods; +import com.yxt.ordermall.api.lpkstore.LpkStoreDetailsVo; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellarDto; +import com.yxt.ordermall.api.vegetablecellar.vegeVo; +import com.yxt.ordermall.biz.empcardbuildrecord.EmpCardBuildRecordService; +import com.yxt.ordermall.biz.empcardgift.EmpCardGiftService; +import com.yxt.ordermall.biz.empcardgiftgoods.EmpCardGiftGoodsService; +import com.yxt.ordermall.biz.empcardgrantlog.EmpCardGrantLogService; +import com.yxt.ordermall.biz.lpkgiftbaggoods.LpkGiftBagGoodsService; +import com.yxt.ordermall.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.lpkreserveorder.LpkReserveOrderService; +import com.yxt.ordermall.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; +import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +import com.yxt.ordermall.biz.vegereplenish.VegeReplenishService; +import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +import com.yxt.ordermall.utils.StyleUtils; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.Period; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Random; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Service +public class EmpCardService extends MybatisBaseService { + + @Autowired + LpkGiftBagGoodsService lpkGiftBagGoodsService; + @Autowired + EmpCardBuildRecordService empCardBuildRecordService; + @Autowired + EmpCardGiftService empCardGiftService; + @Autowired + EmpCardGrantLogService empCardGrantLogService; + @Autowired + EmpCardGiftGoodsService empCardGiftGoodsService; + + @Autowired + private LpkReserveOrderService lpkReserveOrderService; + @Autowired + private LpkGoodsService lpkGoodsService; + @Autowired + private LpkStoreService lpkStoreService; + @Autowired + private LpkReserveOrderGoodsService lpkReserveOrderGoodsService; + @Autowired + private VegetableCellarService vegetableCellarService; + @Autowired + private VegeReplenishService vegeReplenishService; + @Autowired + private HttpServletResponse response; + @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}") + private String urlPrefix; + @Value("${weixin.qrcode.empCard}") + String qrUrl; + + + public ResultBean bindCard(EmpCardDto bindCardDto) { + ResultBean rb = new ResultBean().fail(); + EmpCard lpkGiftCard = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode()) + .eq("codeKey", bindCardDto.getCodeKey())); + if (null == lpkGiftCard) { + return rb.setMsg("请核对卡号和密钥"); + } + EmpAppletVo vo = baseMapper.getEmpCardBySid(lpkGiftCard.getSid()); + if (vo.getState().equals("已过期")) { + return rb.setMsg("该卡已过期"); + } + if (StringUtils.isNotBlank(lpkGiftCard.getCustomerSid())) { + return rb.setMsg("该卡已绑定"); + } + lpkGiftCard.setCustomerSid(bindCardDto.getCustomerSid()); + lpkGiftCard.setState("2"); + lpkGiftCard.setBindDate(new Date()); + baseMapper.updateById(lpkGiftCard); + return rb.success().setMsg("绑定成功"); + } + + public ResultBean bindCardA(BindCardDto bindCardDto) { + ResultBean rb = new ResultBean().fail(); + EmpCard lpkGiftCard = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode()) + .eq("codeKey", bindCardDto.getCodeKey())); + if (null == lpkGiftCard) { + return rb.setMsg("请核对卡号和密钥"); + } + EmpAppletVo vo = baseMapper.getEmpCardBySid(lpkGiftCard.getSid()); + if (vo.getState().equals("已过期")) { + return rb.setMsg("该卡已过期"); + } + if (StringUtils.isNotBlank(lpkGiftCard.getCustomerSid())) { + return rb.setMsg("该卡已绑定"); + } + lpkGiftCard.setCustomerSid(bindCardDto.getCustomerSid()); + lpkGiftCard.setState("3"); + lpkGiftCard.setBindDate(new Date()); + baseMapper.updateById(lpkGiftCard); + List k = baseMapper.getGoodsList(lpkGiftCard.getSid()); + VegetableCellarDto dto = new VegetableCellarDto(); + dto.setCustomerSid(bindCardDto.getCustomerSid()); + dto.setVos(k); + vegetableCellarService.save1Goods(dto); + vegeReplenishService.saveBindRecord(bindCardDto, "1"); + return rb.success().setMsg("绑定成功"); + } + + public ResultBean updateEmpCardState(String empCardSid) { + ResultBean rb = new ResultBean().fail(); + List vos = baseMapper.selEmpCardSid(empCardSid); + int i = 0; + for (EmpCardVo vo : vos) { + EmpCardGrantLogVo empCardGrantLogVo = empCardGrantLogService.recordGoodsSid(empCardSid, vo.getGoodsSid()).getData(); + if (vo.getGoodsNumber() == empCardGrantLogVo.getGoodsNumber()) { + i++; + } + if (i == vos.size()) { + EmpCard empCard = baseMapper.selectOne(new QueryWrapper().eq("sid", empCardSid)); + empCard.setState("3"); + baseMapper.updateById(empCard); + } + } + return rb.success().setMsg("绑定成功"); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean generateCard(EmpCardDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dto.getGiftbagSid())) { + return rb.setMsg("请添加礼包"); + } + if (StringUtils.isBlank(dto.getNum())) { + return rb.setMsg("请输入生成卡片的数量"); + } + if (StringUtils.isBlank(dto.getCardArea())) { + return rb.setMsg("请输入区域号"); + } + int i = Integer.parseInt(dto.getNum()); + String cardArea = dto.getCardArea(); + EmpCardBuildRecord record = new EmpCardBuildRecord(); + record.setCountNumber(dto.getNum()); + record.setBuildDate(new DateTime()); + record.setCreateTime(new DateTime()); + record.setGiftbagSid(dto.getGiftbagSid()); + String startNum = ""; + String endNum = ""; + record.setCardArea(cardArea); + empCardBuildRecordService.insert(record); + EmpCardBuildRecord cardBuildRecord = empCardBuildRecordService.fetchBySid(record.getSid()); + if (null != cardBuildRecord) { + for (int j = 0; j < i; j++) { + EmpCard card = new EmpCard(); + card.setRecordSid(record.getSid()); + card.setState("1"); + card.setCreateTime(new DateTime()); + card.setGiftbagSid(dto.getGiftbagSid()); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); + card.setCode(uuid); + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 6 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + if (j == 0) { + startNum = card.getSerialNumber(); + } + if (j == i - 1) { + endNum = card.getSerialNumber(); + } + card.setRecordId(cardBuildRecord.getId()); + //生成二维码转base64 +// genarateQRCodesToBase64(card.getCode(),card.getSid()); + baseMapper.insert(card); + } + } + cardBuildRecord.setStartNumber(startNum); + cardBuildRecord.setEndNumber(endNum); + empCardBuildRecordService.updateById(cardBuildRecord); + return rb.success(); + } + + public ResultBean> cardList(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpCardQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + qw.eq("1", "1"); + String sNoStart = query.getNoStart(); + String sNoEnd = query.getNoEnd(); + qw.apply(StringUtils.isNotBlank(sNoStart), "serialNumber >=" + sNoStart). + apply(StringUtils.isNotBlank(sNoEnd), "serialNumber <=" + sNoEnd + ); + qw.orderByDesc("id"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.cardList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean> recordDetails(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpCardQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + if (StringUtils.isNotBlank(query.getNumber())) { + qw.like("serialNumber", query.getNumber()); + } + if (StringUtils.isNotBlank(query.getSid())) { + qw.eq("recordSid", query.getSid()); + } + qw.orderByDesc("serialNumber"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.recordDetails(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public void exportExcel(LpkGiftCardListQuery query) { + +// String finUrl = "https://supervise.yxtsoft.com/lpkapi?qy="; + String finUrl = qrUrl; + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + if (StringUtils.isNotBlank(query.getNumber())) { + qw.like("serialNumber", query.getNumber()); + } + qw.eq("recordSid", query.getSid()); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcel(qw); + if (!exportList.isEmpty()) { + for (EmpCardExport lpkGiftCardExport : exportList) { + if (StringUtils.isNotBlank(lpkGiftCardExport.getCode())) { + lpkGiftCardExport.setPic(finUrl + lpkGiftCardExport.getCode()); + lpkGiftCardExport.setCode1(lpkGiftCardExport.getCode().substring(0, 10)); + lpkGiftCardExport.setCode2(lpkGiftCardExport.getCode().substring(lpkGiftCardExport.getCode().length() - 10)); + } + } + } + //定义导出的excel名字 + String excelName = "1"; + String fileNameURL = "1"; +// try { +// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// } + //导出提货卡信息列表 + ExportExcelUtils.export(fileNameURL, exportList, EmpCardExport.class, response); + + } + + public ResultBean cardGrantCount(String recordSid) { + ResultBean rb = new ResultBean().fail(); + Integer i = baseMapper.cardGrantCount(recordSid); + return rb.success().setData(i); + } + + public ResultBean getEmpCardByCustomerSid(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + EmpCardQuery query = pq.getParams(); + if (StringUtils.isBlank(query.getCustomerSid())) { + return rb.setMsg("参数不能为空"); + } + QueryWrapper qw = new QueryWrapper<>(); +// updateIsItInvalid(query.getCustomerSid()); + if (StringUtils.isNotBlank(query.getCustomerSid())) { + qw.eq("customerSid", query.getCustomerSid()); + } + qw.orderByAsc("state").orderByDesc("bindDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage list = baseMapper.getEmpCardByCustomerSid(page, qw); + PagerVo p = PagerUtil.pageToVo(list, null); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return rb.success().setData(p); + } + + public ResultBean> getEmpCardsBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + EmpAppletNewVo vo = baseMapper.getEmpCardsBySid(sid); + List list = lpkGiftBagGoodsService.getGoodsByEmpGiftSid(sid); + List list1 = new ArrayList<>(); + list.forEach(s -> { + LpkGifGoodsVo g = new LpkGifGoodsVo(); + EmpCardGiftVo goods = empCardGiftService.getEmpCardGoods(vo.getSid(), s.getGoodsSid()).getData(); + LpkReserveOrderGoods goodsOne = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + GoodsVo goodsVo = new GoodsVo(); + if (vo.getState().equals("已过期")) { + goodsVo.setLNum(0); + } else if (!vo.isShowBtn()) { + goodsVo.setLNum(0); + } else { + if (null != goods && null != goodsOne) { + if ((goods.getGoodsNumber() + goodsOne.getGoodsNumber()) != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber() - goodsOne.getGoodsNumber()); + } + } else if (null != goodsOne) { + if (goodsOne.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goodsOne.getGoodsNumber()); + } + } else if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + } + if (goodsVo.getLNum() != 0) { + // g.setContent("剩余"+goodsVo.getLNum()+"份/"+"共"+s.getGoodsNumber()+"份"); + g.setContent("共" + (int) goodsVo.getLNum() + "份"); + g.setRemarks(s.getWeight() + s.getSpecificationUnit() + "/" + s.getUnitName()); + g.setGoodsName(s.getGoodsName()); + list1.add(g); + } + } + }); + return rb.success().setData(list1); + } + + public ResultBean getEmpCardBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + EmpAppletVo vo = baseMapper.getEmpCardBySid(sid); + List list = lpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); + List goodsVos = new ArrayList<>(); + + list.forEach(s -> { + EmpCardGiftVo goods = empCardGiftService.getEmpCardGoods(vo.getSid(), s.getGoodsSid()).getData(); + LpkReserveOrderGoods goodsOne = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getGoodsName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setRemarks(s.getRemarks()); + goodsVo.setUnitName(s.getUnitName()); + goodsVo.setPic(urlPrefix + s.getPicUrl()); + if (vo.getState().equals("已过期")) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else if (!vo.isShowBtn()) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else { + if (null != goods && null != goodsOne) { + if ((goods.getGoodsNumber() + goodsOne.getGoodsNumber()) != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber() - goodsOne.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else if (null != goodsOne) { + if (goodsOne.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goodsOne.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + goodsVo.setSelect(0); + } + goodsVos.add(goodsVo); + } + }); + List EmpCardGiftVos = empCardGiftService.recordList(vo.getSid()).getData(); + EmpCardGiftVos.forEach(s -> { + List l = empCardGiftGoodsService.getGoodsByEmpCardGiftSid(s.getSid()).getData(); + if (StringUtils.isNotBlank(s.getCustomerSid())) { + EmpCardGift empCardGift = new EmpCardGift(); +// BeanUtil.copyProperties(EmpCardGiftVos, empCardGift, "id", "sid"); + s.setShare("3"); +// empCardGift.setIsShare("3"); +// empCardGiftService.updateById(empCardGift); + } + l.forEach(c -> { + if (c.getGoodsNumber() != 0) { + if (StringUtils.isBlank(s.getGoods())) { + s.setGoods(c.getName() + ":" + c.getGoodsNumber() + c.getUnitName()); + } else { + s.setGoods(s.getGoods() + " " + c.getName() + ":" + c.getGoodsNumber() + c.getUnitName()); + } + } + }); + }); + vo.setEmpCardGiftVos(EmpCardGiftVos); + vo.setGoodsVos(goodsVos); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + vo.setGiftCodeKey(String.valueOf(randomNumber)); + vo.setGiftCode("99" + uuid.substring(2)); + vo.setQrCode(qrUrl + vo.getGiftCode()); + List empReserveOrderCardVos = lpkReserveOrderService.selOrderByCardSid(sid).getData(); + for (LpkReserveOrderCardVo vo2 : empReserveOrderCardVos) { + List goods = lpkReserveOrderGoodsService.selByOrderSids(vo2.getSid()); + for (LpkReserveOrderGoods goods1 : goods) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); + if (StringUtils.isBlank(vo2.getGoods())) { + vo2.setGoods(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } else { + vo2.setGoods(vo2.getGoods() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } + } + } + //上次取货点 + LpkReserveOrderVo vo1 = lpkReserveOrderService.getStoreByCustomerSid(vo.getCustomerSid()).getData(); + if (null != vo1) { + LpkStoreDetailsVo vo2 = lpkStoreService.storeInit(vo1.getStoreSid()).getData(); + if (null != vo2) { + vo.setAddressName(vo2.getName()); + vo.setValue(vo2.getSid()); + } + } + vo.setPName("企业菜窖"); + vo.setOrderCardVoList(empReserveOrderCardVos); + return rb.success().setData(vo); + } + + public ResultBean changState(String cardSid, String state) { + ResultBean rb = new ResultBean().fail(); + EmpCard card = baseMapper.selectOne(new QueryWrapper().eq("sid", cardSid)); + card.setState(state); + card.setIsReservation("0"); + baseMapper.updateById(card); + return rb.success().setData("成功"); + } + + public ResultBean getBagGoods(String sid, String goodsSid) { + ResultBean rb = new ResultBean().fail(); + EmpCardVo card = baseMapper.getBagGoods(sid, goodsSid); + return rb.success().setData(card); + } + + public void cardStatisticsListExport(EmpCardQuery query) { + ResultBean rb = new ResultBean(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getSerialNumber())) { + qw.like("a.serialNumber", query.getSerialNumber()); + } + qw.groupBy("a.sid"); + qw.orderByDesc("a.createTime"); +// qw.groupBy("c.goodsSid"); + List statisticsExportVos = baseMapper.cardStatisticsListExport(qw); +// statisticsExportVos.forEach(s->{ +// if(s.getIsEnable().equals("2")){ +// s.setStateValue("已作废"); +// } +// }); + String excelName = "提货卡信息.xlsx"; + String fileNameURL = "1"; + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition", "attachment;filename=" + excelName); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), EmpCardStatisticsExportVo.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) +// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(statisticsExportVos); + } catch (IOException e) { + throw new RuntimeException(e); + } + + } + + public ResultBean cardStatisticsList(PagerQuery pq) { + ResultBean rb = new ResultBean(); + EmpCardQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getSerialNumber())) { + qw.like("a.serialNumber", query.getSerialNumber()); + } + qw.groupBy("a.sid"); + qw.orderByDesc("a.createTime"); +// qw.groupBy("c.goodsSid"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.cardStatisticsList(page, qw); +// pagging.getRecords().forEach(s->{ +// if(s.getIsEnable().equals("2")){ +// s.setStateValue("已作废"); +// } +// }); + return rb.success().setData(pagging); + } + + public ResultBean isSaturAndSun(String cardSid) { + ResultBean rb = new ResultBean().fail(); + AppletVo appletVo = baseMapper.getCardBySid(cardSid); + Date date = new Date(); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowDate = sdf1.format(date); + LocalDate now = DateUtil.parse(nowDate).toSqlDate().toLocalDate(); + LocalDate endD = DateUtil.parse(appletVo.getDateEnd()).toSqlDate().toLocalDate(); + List weekMap = new ArrayList<>(); + // 第一个星期六 + LocalDate saturday = now.with(DayOfWeek.SATURDAY); + do { + if (CollectionUtils.isEmpty(weekMap)) { + weekMap.add(saturday.toString()); + } else { + weekMap.add(saturday.toString()); + } + // 迭代一个星期 + saturday = saturday.plus(Period.ofDays(7)); + } while (saturday.compareTo(endD) < 1); + // 第一个星期天 + LocalDate sunday = now.with(DayOfWeek.SUNDAY); + do { + if (CollectionUtils.isEmpty(weekMap)) { + weekMap.add(saturday.toString()); + } else { + weekMap.add(sunday.toString()); + } + // 迭代一个星期 + sunday = sunday.plus(Period.ofDays(7)); + } while (sunday.compareTo(endD) < 1); + String nextYear = DateUtil.offsetMonth(new Date(), 12).toString(); + int y = DateUtil.year(DateUtil.parse(nextYear)); + weekMap.add(String.valueOf(y) + "-01-01"); + Object[] array = weekMap.stream().sorted().toArray(); + return rb.success().setData(array); + } + + /** + * 是否转赠 + * + * @param sid + * @return + */ + public ResultBean cardTransfer(String sid) { + ResultBean rb = new ResultBean(); + EmpCard card = baseMapper.selectOne(new QueryWrapper().eq("sid", sid)); + card.setIsTransfer("1"); + card.setIsItInvalid("1");//失效 + baseMapper.updateById(card); + return rb.success().setData("成功"); + } + + public ResultBean> getCardByBank(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + LpkGiftCardListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + Integer end = 0; + Integer start = 0; + List serialNumbers = new ArrayList<>(); + if (StringUtils.isNotBlank(query.getNoStart())) { + start = Integer.valueOf(query.getNoStart()); + if (StringUtils.isNotBlank(query.getNoEnd())) { + end = Integer.valueOf(query.getNoEnd()); + if (start > end) { + for (int i = 0; end <= start; end++) { + serialNumbers.add(end); + } + } else { + for (int i = 0; start <= end; start++) { + serialNumbers.add(start); + } + } + qw.in("card.serialNumber", serialNumbers); + } + } + qw.eq("card.isEnable", "1"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selGiftCard(page, qw); + pagging.getRecords().forEach(s -> { +// s.setQrCode("https://supervise.yxtsoft.com/lpkapi?code=" + s.getCode()); + s.setQrCode(qrUrl + s.getCode()); + }); + PagerVo p = PagerUtil.pageToVo(pagging, null); +// System.out.println(a); + return rb.success().setData(p); + } + + public EmpCard selectOneByCodeAndCodeKey(String code, String codeKey) { + return baseMapper.selectOne(new QueryWrapper().eq("code", code) + .eq("codeKey", codeKey)); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordMapper.java new file mode 100644 index 0000000..4e2ab5a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordMapper.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.biz.empcardbuildrecord; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.empcardbuildrecord.EmpCardBuildRecord; +import com.yxt.ordermall.api.empcardbuildrecord.EmpCardBuildRecordVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Mapper +public interface EmpCardBuildRecordMapper extends BaseMapper { + IPage recordListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordMapper.xml new file mode 100644 index 0000000..2ed3019 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordRest.java new file mode 100644 index 0000000..b1a837c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordRest.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.empcardbuildrecord; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empcardbuildrecord.EmpCardBuildRecordQuery; +import com.yxt.ordermall.api.empcardbuildrecord.EmpCardBuildRecordVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Api(tags = "企业卡生成记录") +@RestController +@RequestMapping("empcardbuildrecord") +public class EmpCardBuildRecordRest { + @Autowired + EmpCardBuildRecordService empCardBuildRecordService; + @ApiOperation("创建记录列表") + @PostMapping("/recordListPage") + public ResultBean> recordListPage(@RequestBody PagerQuery pq) { + return empCardBuildRecordService.recordListPage(pq); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordService.java new file mode 100644 index 0000000..fcb8eb2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardbuildrecord/EmpCardBuildRecordService.java @@ -0,0 +1,49 @@ +package com.yxt.ordermall.biz.empcardbuildrecord; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empcardbuildrecord.EmpCardBuildRecord; +import com.yxt.ordermall.api.empcardbuildrecord.EmpCardBuildRecordQuery; +import com.yxt.ordermall.api.empcardbuildrecord.EmpCardBuildRecordVo; +import com.yxt.ordermall.biz.empcard.EmpCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Service +public class EmpCardBuildRecordService extends MybatisBaseService { + + @Autowired + EmpCardService empCardService; + public ResultBean> recordListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpCardBuildRecordQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getCountNumber())) { + qw.eq("r.countNumber", query.getCountNumber()); + } + String startDate = query.getStartDate(); + String effEndTime = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (r.buildDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). + apply(org.apache.commons.lang3.StringUtils.isNotEmpty(effEndTime), "date_format (r.buildDate,'%Y-%m-%d') <= date_format('" + effEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("r.createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.recordListPage(page, qw); +// for(EmpCardBuildRecordVo vo:pagging.getRecords()){ +// vo.setGrantCountNumber(String.valueOf(empCardService.cardGrantCount(vo.getSid()).getData())); +// } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftMapper.java new file mode 100644 index 0000000..987c6f5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftMapper.java @@ -0,0 +1,56 @@ +package com.yxt.ordermall.biz.empcardgift; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.empcardgift.*; +import com.yxt.ordermall.api.vegetablecellar.vegeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface EmpCardGiftMapper extends BaseMapper { + + IPage getGifCardByCustomerSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + EmpGiftAppletVo getGifCardBySid(@Param("sid") String sid); + EmpGiftAppletNVo getGifCardsBySid(@Param("sid") String sid); + + + String selctMaxSerNum(@Param("cardArea") String cardArea); + + IPage cardList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List selAllByRecordSid(@Param("sid") String sid); + + IPage recordDetails(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List exportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); + + Integer updateState(@Param("serialNumbers") List serialNumbers, @Param("state") String state, @Param("bankSid") String bankSid, @Param("recordSid") String recordSid); + + @Select("select count(id) from lpk_giftcard where recordSid=#{recordSid} and grantRecordSid is not null") + Integer cardGrantCount(@Param("recordSid") String recordSid); + + + + Integer updateIsItInvalid(@Param("sids") List sids, @Param("state") String state); + + // List selGiftCard(@Param("serialNumbers") List serialNumbers); + IPage selGiftCard(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + EmpCardGiftVo getEmpCardGoods(@Param("empCardSid")String empCardSid,@Param("goodsSid")String goodsSid); + List recordList(@Param("empCardSid")String empCardSid); + + List getEmpCardGiftByGiftbagSid(@Param("endDate")String endDate,@Param("state") String state); + List getGoodsList(@Param("sid") String sid); + + IPage empCardGiftStatisticsList(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftMapper.xml new file mode 100644 index 0000000..c5586ea --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftMapper.xml @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + update lpk_giftcard set state=#{state}, bankSid=#{bankSid},grantRecordSid =#{recordSid} where serialNumber in + + #{item} + + + + update emp_card_gift set isItInvalid='1',state='5',isReservation='1' where empCardSid in + + #{item} + + and state!=#{state} + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftRest.java new file mode 100644 index 0000000..1c0e523 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftRest.java @@ -0,0 +1,131 @@ +package com.yxt.ordermall.biz.empcardgift; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.empcardgift.*; +import com.yxt.ordermall.api.lpkgiftcard.BindCardDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼品卡信息") +@RestController +@RequestMapping("empcardgift") +public class EmpCardGiftRest { + + @Autowired + EmpCardGiftService EmpCardGiftService; + + + @PostMapping("/bindCard") + @ApiOperation(value = "客户绑定福利卡") + public ResultBean wxBindMobile(@RequestBody BindCardDto bindCardDto) { + return EmpCardGiftService.bindCard(bindCardDto); + } + + @PostMapping("/gifCardByCustomerSid") + @ApiOperation(value = "获取客户绑定的福利卡") + public ResultBean gifCardByCustomerSid(@RequestBody PagerQuery query) { + return EmpCardGiftService.getGifCardByCustomerSid(query); + } + @GetMapping("/isSaturAndSun/{cardSid}") + @ApiOperation(value = "获取时间段的周六日") + public ResultBean isSaturAndSun(@PathVariable("cardSid") String cardSid) { + return EmpCardGiftService.isSaturAndSun(cardSid); + } + + @GetMapping("/getGifCardBySid/{sid}") + @ApiOperation(value = "获取礼包卡的详情信息") + public ResultBean getGifCardBySid(@PathVariable("sid") String sid) { + return EmpCardGiftService.getGifCardBySid(sid); + } + + @GetMapping("/shareEmpCard/{sid}") + @ApiOperation(value = "分享") + public ResultBean getReservationBySid(@PathVariable("sid") String sid) { + return EmpCardGiftService.shareEmpCard(sid); + } + + @PostMapping("/generateCard") + @ApiOperation(value = "企业卡生成福礼卡信息") + public ResultBean generateCard(@RequestBody EmpCardGiftDto dto) { + return EmpCardGiftService.generateCard(dto); + } + @PostMapping("/generateEmpCard") + @ApiOperation(value = "提货卡生成福礼卡信息") + public ResultBean generateEmpCard(@RequestBody EmpCardGiftDto dto) { + return EmpCardGiftService.generateEmpCard(dto); + } + @PostMapping("/generateEmpCardGift") + @ApiOperation(value = "福礼卡生成福礼卡信息") + public ResultBean generateEmpCardGift(@RequestBody EmpCardGiftDto dto) { + return EmpCardGiftService.generateEmpCardGift(dto); + } + + @PostMapping("/empCardGiftStatisticsList") + @ApiOperation(value = "福礼卡统计") + ResultBean empCardGiftStatisticsList(@RequestBody PagerQuery query){ + return EmpCardGiftService.empCardGiftStatisticsList(query); + } + + @GetMapping("/generateTopEmpCard") + @ApiOperation(value = "云选菜购买生成顶级亲情卡") + public ResultBean generateTopEmpCard(@RequestParam("mainSid") String mainSid) { + return EmpCardGiftService.generateTopEmpCard(mainSid); + } + +// @GetMapping("/getCardByBank") +// @ApiOperation(value = "生成礼包卡信息") +// public JSONObject getCardByBank(@RequestParam(value = "pageNo",defaultValue = "1")Integer pageNo, +// @RequestParam(value = "pageSize",defaultValue = "8")Integer pageSize, +// @RequestParam(value = "printAll",required = false) String printAll, +// @RequestParam(value = "end",defaultValue = "") String end, +// @RequestParam(value = "start",defaultValue = "") String start) { +// PagerQuery pq=new PagerQuery<>(); +// EmpCardGiftListQuery q=new EmpCardGiftListQuery(); +// pq.setCurrent(pageNo); +// pq.setSize(pageSize); +// +// q.setNoEnd(end); +// q.setNoStart(start); +// pq.setParams(q); +// +// PagerVo p=EmpCardGiftService.getCardByBank(pq).getData(); +// JSONObject jsonObject=new JSONObject(); +// jsonObject.put("date",p.getRecords()); +// jsonObject.put("total",p.getPages()); +// jsonObject.put("count",p.getTotal()); +// return jsonObject; +// } + +// @PostMapping("/cardList") +// @ApiOperation(value = "礼包卡信息列表") +// public ResultBean> cardList(@RequestBody PagerQuery pq) { +// return EmpCardGiftService.cardList(pq); +// } + +// @ApiOperation("查看记录详情列表") +// @PostMapping("/recordDetails") +// public ResultBean> recordDetails(@RequestBody PagerQuery pq) { +// return EmpCardGiftService.recordDetails(pq); +// } + + +// @ApiOperation(value = "礼包卡信息列表导出") +// @PostMapping("/exportExcel") +// public void exportExcel(@RequestBody EmpCardGiftListQuery query) { +// EmpCardGiftService.exportExcel(query); +// } + +// @ApiOperation(value = "礼包卡发放信息") +// @PostMapping("/cardGrant") +// public ResultBean cardGrant(@RequestBody CardGrantDto dto) { +// return EmpCardGiftService.cardGrant(dto); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftService.java new file mode 100644 index 0000000..4ea6ff9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgift/EmpCardGiftService.java @@ -0,0 +1,1194 @@ +package com.yxt.ordermall.biz.empcardgift; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import com.alibaba.nacos.client.naming.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empcard.EmpAppletVo; +import com.yxt.ordermall.api.empcard.EmpCard; +import com.yxt.ordermall.api.empcardgift.*; +import com.yxt.ordermall.api.empcardgift.GoodsVo; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoods; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoodsDto; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLog; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLogVo; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBag; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import com.yxt.ordermall.api.lpkgiftcard.*; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderVo; +import com.yxt.ordermall.api.lpkreserveordergoods.LpkReserveOrderGoods; +import com.yxt.ordermall.api.lpkstore.LpkStoreDetailsVo; +import com.yxt.ordermall.api.ordorder.OrdOrder; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetail; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellarDto; +import com.yxt.ordermall.api.vegetablecellar.vegeVo; +import com.yxt.ordermall.biz.empcard.EmpCardService; +import com.yxt.ordermall.biz.empcardgiftgoods.EmpCardGiftGoodsService; +import com.yxt.ordermall.biz.empcardgrantlog.EmpCardGrantLogService; +import com.yxt.ordermall.biz.lpkgiftbag.LpkGiftBagService; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardService; +import com.yxt.ordermall.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.lpkreserveorder.LpkReserveOrderService; +import com.yxt.ordermall.biz.lpkreserveordergoods.LpkReserveOrderGoodsMapper; +import com.yxt.ordermall.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; +import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +import com.yxt.ordermall.biz.ordorder.OrdOrderService; +import com.yxt.ordermall.biz.ordorderdetails.OrdOrderDetailService; +import com.yxt.ordermall.biz.vegereplenish.VegeReplenishService; +import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; +import java.time.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Random; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class EmpCardGiftService extends MybatisBaseService { + @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}") + private String urlPrefix; + @Autowired + EmpCardGrantLogService empCardGrantLogService; + @Autowired + EmpCardService empCardService; + @Autowired + EmpCardGiftGoodsService empCardGiftGoodsService; + // @Autowired +// EmpReserveOrderGoodsService empReserveOrderGoodsService; + @Autowired + LpkReserveOrderGoodsService lpkReserveOrderGoodsService; + // @Autowired +// EmpReserveOrderService empReserveOrderService; + @Autowired + LpkReserveOrderService lpkReserveOrderService; + @Autowired + LpkGoodsService lpkGoodsService; + @Autowired + LpkStoreService lpkStoreService; + @Autowired + LpkGiftCardService lpkGiftCardService; + @Autowired + LpkGiftBagService lpkGiftBagService; + @Autowired + private LpkReserveOrderGoodsMapper lpkReserveOrderGoodsMapper; + @Autowired + private FileUploadComponent fileUploadComponent; + + @Autowired + private HttpServletResponse response; + @Autowired + OrdOrderService ordOrderService; + @Autowired + OrdOrderDetailService ordOrderDetailsService; + @Autowired + VegetableCellarService vegetableCellarService; + @Autowired + VegeReplenishService vegeReplenishService; + + public ResultBean bindCard(BindCardDto bindCardDto) { + ResultBean rb = new ResultBean().fail(); + EmpCardGift empCardGift = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode()) + .eq("codeKey", bindCardDto.getCodeKey())); + if (null == empCardGift) { + return rb.setMsg("请核对卡号和密钥"); + } + EmpGiftAppletVo vo = baseMapper.getGifCardBySid(empCardGift.getSid()); + if (vo.getState().equals("已过期")) { + return rb.setMsg("该卡已过期"); + } + if (StringUtils.isNotBlank(empCardGift.getCustomerSid())) { + return rb.setMsg("该卡已绑定"); + } + empCardGift.setCustomerSid(bindCardDto.getCustomerSid()); + empCardGift.setState("3"); + empCardGift.setIsShare("3"); + empCardGift.setBindDate(new Date()); + baseMapper.updateById(empCardGift); + List k = baseMapper.getGoodsList(empCardGift.getSid()); + VegetableCellarDto dto = new VegetableCellarDto(); + dto.setCustomerSid(bindCardDto.getCustomerSid()); + dto.setVos(k); + vegetableCellarService.save1Goods(dto); + vegeReplenishService.saveBindRecord(bindCardDto,"2"); + return rb.success().setMsg("绑定成功"); + } + + public ResultBean getGifCardByCustomerSid(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + EmpCardGiftQuery query = pq.getParams(); + if (StringUtils.isBlank(query.getCustomerSid())) { + return rb.setMsg("参数不能为空"); + } + QueryWrapper qw = new QueryWrapper<>(); +// updateIsItInvalid(query.getCustomerSid()); + if (StringUtils.isNotBlank(query.getCustomerSid())) { + qw.eq("gi.customerSid", query.getCustomerSid()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage list = baseMapper.getGifCardByCustomerSid(page, qw); + PagerVo p = PagerUtil.pageToVo(list, null); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return rb.success().setData(p); + } + +// public ResultBean updateIsItInvalid() { +// ResultBean rb = new ResultBean(); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// List lpkGiftBags = lpkGiftBagService.list(new QueryWrapper().lt("dateEnd", sdf.format(new Date()))); +// for (LpkGiftBag lpkGiftBag : lpkGiftBags) { +// Integer i = baseMapper.selectCount(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid()).ne("state", "5")); +// if (i != 0) { +// baseMapper.updateIsItInvalid(lpkGiftBag.getSid(), "5"); +// } +// } +// return rb.success(); +// } +// public ResultBean updateIsItInvalid(String customerSid) { +// ResultBean rb = new ResultBean(); +// List lpkGiftBags = lpkGiftBagService.list(new QueryWrapper()); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// for (LpkGiftBag lpkGiftBag : lpkGiftBags) { +// int in = DateUtil.parse(sdf.format(lpkGiftBag.getDateEnd())).compareTo(DateUtil.parse(sdf.format(new Date()))); +// if (String.valueOf(in).equals("-1")) { +// Integer i = baseMapper.selectCount(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid()).ne("state", "5")); +// if (i != 0) { +// baseMapper.updateIsItInvalid(lpkGiftBag.getSid(), "5"); +// } +// } else { +// List list = baseMapper.selectList(new QueryWrapper().eq("customerSid", customerSid).eq("giftbagSid", lpkGiftBag.getSid())); +// for (EmpCardGift card : list) { +// LpkReserveOrderVo LpkReserveOrderVo = lpkReserveOrderService.selByCardSid(card.getSid()).getData(); +// if (null != LpkReserveOrderVo) { +// int c = DateUtil.parse(sdf.format(LpkReserveOrderVo.getReserveDate())).compareTo(DateUtil.parse(sdf.format(new Date()))); +// // EmpCardGift card1 = baseMapper.selectOne(new QueryWrapper().eq("sid", card.getSid())); +// if (String.valueOf(c).equals("-1")) { +// card.setIsReservation("1"); +// baseMapper.updateById(card); +// } +// } +// } +// } +// } +// +// // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// // List lpkGiftBags = lpkGiftBagService.list(new QueryWrapper().lt("dateEnd", sdf.format(new Date()))); +// // for (LpkGiftBag lpkGiftBag : lpkGiftBags) { +// // Integer i = baseMapper.selectCount(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid()).ne("state", "5")); +// // if (i != 0) { +// // baseMapper.updateIsItInvalid(lpkGiftBag.getSid(), "5"); +// // } +// // } +// return rb.success(); +// } + + public ResultBean> getGifCardsBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + EmpGiftAppletNVo vo = baseMapper.getGifCardsBySid(sid); + List list = empCardGiftGoodsService.getGoodsByGiftSid(sid).getData(); + List list1 = new ArrayList<>(); + list.forEach(s -> { + LpkGifGoodsVo g = new LpkGifGoodsVo(); + LpkReserveOrderGoods goods = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + EmpCardGiftVo vo1 = baseMapper.getEmpCardGoods(vo.getSid(), s.getGoodsSid()); + GoodsVo goodsVo = new GoodsVo(); + if (vo.getState().equals("已过期")) { + goodsVo.setLNum(0); + } else if (!vo.isShowBtn()) { + goodsVo.setLNum(0); + } else { + if (null != goods && null != vo1) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber() - vo1.getGoodsNumber()); + } + } else if (null != vo1) { + if (vo1.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - vo1.getGoodsNumber()); + } + } else if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + } + if (goodsVo.getLNum() != 0) { + // g.setContent("剩余"+goodsVo.getLNum()+"份/"+"共"+s.getGoodsNumber()+"份"); + g.setContent("共" + (int) goodsVo.getLNum() + "份"); + g.setRemarks(s.getWeight() + s.getSpecificationUnit() + "/" + s.getUnitName()); + g.setGoodsName(s.getGoodsName()); + list1.add(g); + } + } + }); + return rb.success().setData(list1); + } + + public ResultBean getGifCardBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + EmpGiftAppletVo vo = baseMapper.getGifCardBySid(sid); + List list = empCardGiftGoodsService.getGoodsByEmpCardGiftSid(vo.getSid()).getData(); + List goodsVos = new ArrayList<>(); + list.forEach(s -> { +// EmpReserveOrderGoods goods = empReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + LpkReserveOrderGoods goods = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + EmpCardGiftVo vo1 = baseMapper.getEmpCardGoods(vo.getSid(), s.getGoodsSid()); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setRemarks(s.getRemarks()); + goodsVo.setUnitName(s.getUnitName()); + goodsVo.setPic(urlPrefix + s.getPicUrl()); + if (vo.getState().equals("已过期")) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else if (!vo.isShowBtn()) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else { + if (null != goods && null != vo1) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber() - vo1.getGoodsNumber()); +// goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else if (null != vo1) { + if (vo1.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - vo1.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); +// goodsVo.setSelect(s.getGoodsNumber()); + goodsVo.setSelect(0); + } + goodsVos.add(goodsVo); + } + }); +// List empReserveOrderCardVos = empReserveOrderService.selOrderByCardSid(sid).getData(); + List empReserveOrderCardVos = lpkReserveOrderService.selOrderByCardSid(sid).getData(); + for (LpkReserveOrderCardVo vo2 : empReserveOrderCardVos) { + List goods = lpkReserveOrderGoodsService.selByOrderSids(vo2.getSid()); + for (LpkReserveOrderGoods goods1 : goods) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); + if (StringUtils.isBlank(vo2.getGoods())) { + vo2.setGoods(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } else { + vo2.setGoods(vo2.getGoods() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } + } + } + //上次取货点 + LpkReserveOrderVo vo1 = lpkReserveOrderService.getStoreByCustomerSid(vo.getCustomerSid()).getData(); + if (null != vo1) { + LpkStoreDetailsVo vo2 = lpkStoreService.storeInit(vo1.getStoreSid()).getData(); + if (null != vo2) { + vo.setAddressName(vo2.getName()); + vo.setValue(vo2.getSid()); + } + } + List empCardGift = baseMapper.selectList(new QueryWrapper().eq("empCardSid", vo.getSid()).eq("cardType", "2").orderByDesc("createTime")); + empCardGift.forEach(s -> { + List list1 = empCardGiftGoodsService.list(new QueryWrapper().eq("empCardGiftSid", s.getSid())); + list1.forEach(l -> { + LpkGoods goods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", l.getGoodsSid())); + if (StringUtils.isBlank(s.getGoods())) { + s.setGoods(goods.getName() + ":" + l.getGoodsNumber() + "份"); + } else { + s.setGoods(s.getGoods() + " " + goods.getName() + ":" + l.getGoodsNumber() + "份"); + } + }); + }); + vo.setEmpCardGifts(empCardGift); + vo.setOrderCardVoList(empReserveOrderCardVos); + vo.setGoodsVos(goodsVos); + if (vo.getIsSenior().equals("1")) { + vo.setPName("家庭菜窖"); + } else { + vo.setPName("亲情菜窖"); + } + return rb.success().setData(vo); + } + + public ResultBean> recordList(String empCardSid) { + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.recordList(empCardSid); + return rb.success().setData(pagging); + } + + public ResultBean shareEmpCard(String sid) { + ResultBean rb = new ResultBean().fail(); + EmpCardGift empCardGift = baseMapper.selectOne(new QueryWrapper().eq("sid", sid)); + empCardGift.setIsShare("2"); + baseMapper.updateById(empCardGift); + return rb.success().setMsg("成功"); + } + + // +// public ResultBean getReservationBySid(String sid) { +// ResultBean rb = new ResultBean().fail(); +// EmpGiftAppletVo vo = baseMapper.getGifCardBySid(sid); +// List list = LpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); +// // List l = lpkStoreService.getAllStore().getData(); +// List l = lpkStoreService.getSelectStore().getData(); +// // LpkStoreQuery query=new LpkStoreQuery(); +// // List l = lpkStoreService.getAllStoreByQuery(query).getData(); +// +// List goodsVos = new ArrayList<>(); +// list.forEach(s -> { +// LpkReserveOrderGoods goods = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); +// GoodsVo goodsVo = new GoodsVo(); +// goodsVo.setGoods(s.getGoodsName()); +// goodsVo.setNum(s.getGoodsNumber()); +// goodsVo.setGoodsSid(s.getGoodsSid()); +// goodsVo.setPrice(s.getPrice()); +// goodsVo.setUnitName(s.getUnitName()); +// goodsVo.setRemarks(s.getRemarks()); +// goodsVo.setPic(urlPrefix + s.getPicUrl()); +// if (null != goods) { +// if (goods.getGoodsNumber() != s.getGoodsNumber()) { +// goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); +// goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); +// goodsVos.add(goodsVo); +// } +// } else { +// goodsVo.setLNum(s.getGoodsNumber()); +// goodsVo.setSelect(s.getGoodsNumber()); +// goodsVos.add(goodsVo); +// } +// }); +// vo.setGoodsVos(goodsVos); +// vo.setSelect(l); +// LpkReserveOrderVo vo1 = lpkReserveOrderService.getStoreByCustomerSid(vo.getCustomerSid()).getData(); +// if (null != vo1) { +// LpkStoreDetailsVo vo2 = lpkStoreService.storeInit(vo1.getStoreSid()).getData(); +// if (null != vo2) { +// vo.setAddressName(vo2.getName()); +// vo.setValue(vo2.getSid()); +// } +// } +// List lpkReserveOrderCardVos = lpkReserveOrderService.selOrderByCardSid(sid).getData(); +// for (LpkReserveOrderCardVo vo2 : lpkReserveOrderCardVos) { +// List goods = lpkReserveOrderGoodsService.selByOrderSids(vo2.getSid()); +// for (LpkReserveOrderGoods goods1 : goods) { +// LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); +// if (StringUtils.isBlank(vo2.getGoods())) { +// vo2.setGoods(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); +// } else { +// vo2.setGoods(vo2.getGoods() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); +// } +// } +// } +// vo.setOrderCardVoList(lpkReserveOrderCardVos); +// return rb.success().setData(vo); +// } +// + @Transactional(rollbackFor = Exception.class) + public ResultBean generateCard(EmpCardGiftDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (dto.getCount().contains("-")) { + return rb.setMsg("卡券数量不能为负数,请重新填写"); + } + int count = 0; + try { + count = Integer.parseInt(dto.getCount()); + } catch (Exception e) { + return rb.setMsg("卡券数量不是数字,请重新填写"); + } + if (count == 0) { + return rb.setMsg("卡券数量不能为0,请重新填写"); + } + if (StringUtils.isBlank(dto.getEmpCardSid())) { + return rb.setMsg("请选择企业卡"); + } + EmpCard empCard = empCardService.fetchBySid(dto.getEmpCardSid()); + if (null == empCard) { + return rb.setMsg("请选择正确的企业卡"); + } + EmpAppletVo empAppletVo = empCardService.getEmpCardBySid(dto.getEmpCardSid()).getData(); + for (com.yxt.ordermall.api.lpkgiftcard.GoodsVo goodsVo : empAppletVo.getGoodsVos()) { + for (GoodsVo gv : dto.getGoodsVoList()) { + if (goodsVo.getGoodsSid().equals(gv.getGoodsSid())) { + if (gv.getSelect() * count > goodsVo.getLNum()) { + return rb.setMsg("商品数量不足,请重新选择"); + } + } + } + } + LpkGiftBag bag = lpkGiftBagService.getOne(new QueryWrapper().eq("sid", empCard.getGiftbagSid())); + for (int k = 0; k < count; k++) { + EmpCardGrantLog record = new EmpCardGrantLog(); + record.setCreateTime(new DateTime()); + record.setEmpCardSid(dto.getEmpCardSid()); + record.setEmpCardCustomerSid(empCard.getCustomerSid()); + empCardGrantLogService.insert(record); + + EmpCardGift card = new EmpCardGift(); + card.setRemarks(dto.getRemarks()); + card.setEmpCardSid(dto.getEmpCardSid()); + card.setEmpCardSerialNumber(empCard.getSerialNumber()); + card.setEmpCardCode(empCard.getCode()); + card.setEmpCardCustomerSid(empCard.getCustomerSid()); + card.setRecordSid(record.getSid()); + card.setState("1"); + card.setCreateTime(new DateTime()); + card.setGrantDate(new Date()); + card.setEndDate(bag.getDateEnd()); + card.setStartDate(bag.getDateStart()); + + String cardArea = "9"; + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); + card.setCode("99" + uuid.substring(2)); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "0000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 7 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + baseMapper.insert(card); + for (GoodsVo vo : dto.getGoodsVoList()) { + if (vo.getSelect() != 0) { + EmpCardGiftGoodsDto dto1 = new EmpCardGiftGoodsDto(); + dto1.setEmpCardGiftSid(card.getSid()); + dto1.setGoodsSid(vo.getGoodsSid()); + dto1.setGoodsNumber(vo.getSelect()); + empCardGiftGoodsService.save(dto1); + } + } + record.setSerialNumber(card.getSerialNumber()); + record.setEmpCardSid(dto.getEmpCardSid()); + record.setCode(card.getCode()); + empCardGrantLogService.updateById(record); + int i = 0; +// EmpAppletVo vo = empCardService.getEmpCardBySid(empCard.getSid()).getData(); + for (com.yxt.ordermall.api.lpkgiftcard.GoodsVo vo1 : empAppletVo.getGoodsVos()) { + EmpCardGrantLogVo goods1 = empCardGrantLogService.recordListGoods(dto.getEmpCardSid(), vo1.getGoodsSid()).getData(); + LpkReserveOrderGoods goods2 = lpkReserveOrderGoodsMapper.getReserveByCardSid(empCard.getSid(), vo1.getGoodsSid()); + double c = 0; + if (goods1 == null) { + if (goods2 == null) { + c = 0; + } else { + c = goods2.getGoodsNumber(); + } + } else { + if (goods2 == null) { + c = goods1.getGoodsNumber(); + } else { + c = goods2.getGoodsNumber() + goods1.getGoodsNumber(); + } + } + if (vo1.getNum() <= c) { + i++; + } + } + if (empAppletVo.getGoodsVos().size() == i) { + int i1 = lpkReserveOrderGoodsMapper.selectCount(new QueryWrapper().eq("cardSid", empCard.getSid())); + if (i1 == 0) { + //如果没有预约记录 直接改转赠状态 + empCardService.cardTransfer(dto.getEmpCardSid()); + } else { + empCardService.changState(empCard.getSid(), "5"); + } + } + } + return rb.success(); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean generateEmpCard(EmpCardGiftDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dto.getEmpCardSid())) { + return rb.setMsg("请选择提货卡"); + } + int count = 0; + try { + count = Integer.parseInt(dto.getCount()); + } catch (Exception e) { + return rb.setMsg("卡券数量不是数字,请重新填写"); + } + if (count == 0) { + return rb.setMsg("卡券数量不能为0,请重新填写"); + } + LpkGiftCard empCard = lpkGiftCardService.fetchBySid(dto.getEmpCardSid()); + if (null == empCard) { + return rb.setMsg("请选择正确的提货卡"); + } +// EmpAppletVo empAppletVo =empCardService.getEmpCardBySid(dto.getEmpCardSid()).getData(); + AppletVo empAppletVo = lpkGiftCardService.getGifCardBySid(dto.getEmpCardSid()).getData(); + for (com.yxt.ordermall.api.lpkgiftcard.GoodsVo goodsVo : empAppletVo.getGoodsVos()) { + for (GoodsVo gv : dto.getGoodsVoList()) { + if (goodsVo.getGoodsSid().equals(gv.getGoodsSid())) { + if (gv.getSelect() * count > goodsVo.getLNum()) { + return rb.setMsg("商品数量不足,请重新选择"); + } + } + } + } + LpkGiftBag bag = lpkGiftBagService.getOne(new QueryWrapper().eq("sid", empCard.getGiftbagSid())); + for (int k = 0; k < count; k++) { + EmpCardGift card = new EmpCardGift(); + card.setCardType("3"); + card.setRemarks(dto.getRemarks()); + card.setEmpCardSid(dto.getEmpCardSid()); + card.setEmpCardSerialNumber(empCard.getSerialNumber()); + card.setEmpCardCode(empCard.getCode()); + card.setEmpCardCustomerSid(empCard.getCustomerSid()); + card.setState("1"); + card.setCreateTime(new DateTime()); + card.setGrantDate(new Date()); + card.setEndDate(bag.getDateEnd()); + card.setStartDate(bag.getDateStart()); + String cardArea = "9"; + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); + card.setCode("99" + uuid.substring(2)); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "0000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 7 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + baseMapper.insert(card); + for (GoodsVo vo : dto.getGoodsVoList()) { + if (vo.getSelect() != 0) { + EmpCardGiftGoodsDto dto1 = new EmpCardGiftGoodsDto(); + dto1.setEmpCardGiftSid(card.getSid()); + dto1.setGoodsSid(vo.getGoodsSid()); + dto1.setGoodsNumber(vo.getSelect()); + empCardGiftGoodsService.save(dto1); + } + } + int i = 0; + for (com.yxt.ordermall.api.lpkgiftcard.GoodsVo vo1 : empAppletVo.getGoodsVos()) { + EmpCardGiftGoodsVo goods1 = empCardGiftGoodsService.recordListGoods(dto.getEmpCardSid(), vo1.getGoodsSid()).getData(); + LpkReserveOrderGoods goods2 = lpkReserveOrderGoodsMapper.getReserveByCardSid(empCard.getSid(), vo1.getGoodsSid()); + double c = 0; + if (goods1 == null) { + if (goods2 == null) { + c = 0; + } else { + c = goods2.getGoodsNumber(); + } + } else { + if (goods2 == null) { + c = goods1.getGoodsNumber(); + } else { + c = goods2.getGoodsNumber() + goods1.getGoodsNumber(); + } + } + if (vo1.getNum() <= c) { + i++; + } + } + if (empAppletVo.getGoodsVos().size() == i) { + int i1 = lpkReserveOrderGoodsMapper.selectCount(new QueryWrapper().eq("cardSid", empCard.getSid())); + if (i1 == 0) { + //如果没有预约记录 直接改转赠状态 + lpkGiftCardService.cardTransfer(dto.getEmpCardSid()); + } else { + lpkGiftCardService.changState(empCard.getSid(), "5"); + } + } + } + return rb.success(); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean generateEmpCardGift(EmpCardGiftDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dto.getEmpCardSid())) { + return rb.setMsg("请选择福礼卡"); + } + int count = 0; + try { + count = Integer.parseInt(dto.getCount()); + } catch (Exception e) { + return rb.setMsg("卡券数量不是数字,请重新填写"); + } + if (count == 0) { + return rb.setMsg("卡券数量不能为0,请重新填写"); + } + EmpCardGift empCard = baseMapper.selectOne(new QueryWrapper().eq("sid", dto.getEmpCardSid())); + if (null == empCard) { + return rb.setMsg("请选择正确的福礼卡"); + } + EmpGiftAppletVo empAppletVo = getGifCardBySid(dto.getEmpCardSid()).getData(); + for (GoodsVo goodsVo : empAppletVo.getGoodsVos()) { + for (GoodsVo gv : dto.getGoodsVoList()) { + if (goodsVo.getGoodsSid().equals(gv.getGoodsSid())) { + if (gv.getSelect() * count > goodsVo.getLNum()) { + return rb.setMsg("商品数量不足,请重新选择"); + } + } + } + } + for (int k = 0; k < count; k++) { + EmpCardGift card = new EmpCardGift(); + card.setCardType("2"); + card.setRemarks(dto.getRemarks()); + card.setEmpCardSid(dto.getEmpCardSid()); + card.setEmpCardSerialNumber(empCard.getSerialNumber()); + card.setEmpCardCode(empCard.getCode()); + card.setEmpCardCustomerSid(empCard.getCustomerSid()); + card.setState("1"); + card.setCreateTime(new DateTime()); + card.setGrantDate(new Date()); + card.setEndDate(empCard.getEndDate()); + card.setStartDate(empCard.getStartDate()); + String cardArea = "9"; + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); + card.setCode("99" + uuid.substring(2)); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "0000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 7 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + baseMapper.insert(card); + for (GoodsVo vo : dto.getGoodsVoList()) { + if (vo.getSelect() != 0) { + EmpCardGiftGoodsDto dto1 = new EmpCardGiftGoodsDto(); + dto1.setEmpCardGiftSid(card.getSid()); + dto1.setGoodsSid(vo.getGoodsSid()); + dto1.setGoodsNumber(vo.getSelect()); + empCardGiftGoodsService.save(dto1); + } + } + int i = 0; + for (GoodsVo vo1 : empAppletVo.getGoodsVos()) { + EmpCardGiftGoodsVo goods1 = empCardGiftGoodsService.recordListGoods(dto.getEmpCardSid(), vo1.getGoodsSid()).getData(); + LpkReserveOrderGoods goods2 = lpkReserveOrderGoodsMapper.getReserveByCardSid(empCard.getSid(), vo1.getGoodsSid()); + double c = 0; + if (goods1 == null) { + if (goods2 == null) { + c = 0; + } else { + c = goods2.getGoodsNumber(); + } + } else { + if (goods2 == null) { + c = goods1.getGoodsNumber(); + } else { + c = goods2.getGoodsNumber() + goods1.getGoodsNumber(); + } + } + if (vo1.getNum() <= c) { + i++; + } + } + if (empAppletVo.getGoodsVos().size() == i) { + int i1 = lpkReserveOrderGoodsMapper.selectCount(new QueryWrapper().eq("cardSid", empCard.getSid())); + if (i1 == 0) { + //如果没有预约记录 直接改转赠状态 + cardTransfer(dto.getEmpCardSid()); + } else { + changState(empCard.getSid(), "5"); + } + } + } +// cardTransfer(dto.getEmpCardSid()); + return rb.success(); + } + + /** + * 是否转赠 + * + * @param sid + * @return + */ + public ResultBean cardTransfer(String sid) { + ResultBean rb = new ResultBean(); + EmpCardGift card = baseMapper.selectOne(new QueryWrapper().eq("sid", sid)); + card.setIsTransfer("1"); + card.setIsItInvalid("1"); + baseMapper.updateById(card); + return rb.success().setData("成功"); + } + + public ResultBean getEmpCardGoods(String empCardSid, String goodsSid) { + ResultBean rb = ResultBean.fireFail(); + return rb.success().setData(baseMapper.getEmpCardGoods(empCardSid, goodsSid)); + } + + // +// public ResultBean> cardList(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// EmpCardGiftListQuery query = pq.getParams(); +// QueryWrapper qw = new QueryWrapper<>(); +// if (StringUtils.isNotBlank(query.getState())) { +// qw.eq("state", query.getState()); +// } +// qw.eq("1", "1"); +// String sNoStart = query.getNoStart(); +// String sNoEnd = query.getNoEnd(); +// qw.apply(StringUtils.isNotBlank(sNoStart), "serialNumber >=" + sNoStart). +// apply(StringUtils.isNotBlank(sNoEnd), "serialNumber <=" + sNoEnd +// ); +// qw.orderByDesc("id"); +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagging = baseMapper.cardList(page, qw); +// PagerVo p = PagerUtil.pageToVo(pagging, null); +// return rb.success().setData(p); +// } +// +// /** +// * 生成二维码 +// * +// * @return +// * @throws IOException +// */ +// public String genarateQRCode(String uuid) throws IOException { +// BufferedImage bufferedImage = QrCodeUtil.generate(uuid, 300, 300); +// byte[] bytes = ImgUtil.toBytes(bufferedImage, "JPG"); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); +// //创建一个文件,待会儿将二维码写入 +// String path = fileUploadComponent.getUploadPath() + sdf.format(new Date()) + "/" + uuid.substring(uuid.length() - 6) + ".jpg"; +// File localFile = new File(path); +// if (!localFile.getParentFile().exists()) { //这里就判断了文件夹是否存在 +// localFile.getParentFile().mkdirs(); //如果不存在就创建文件夹 +// } +// if (!localFile.exists()) +// localFile.createNewFile(); +// //将二维码写入 +// FileOutputStream out = new FileOutputStream(path); +// out.write(bytes); +// out.close(); +// return sdf.format(new Date()) + "/" + uuid.substring(uuid.length() - 6) + ".jpg"; +// } +// +// /** +// * 二维码转base64 +// */ +// public void genarateQRCodesToBase64(String uuid, String cardSid) { +// LpkCardQrcodeDto dto = new LpkCardQrcodeDto(); +// dto.setCardSid(cardSid); +// dto.setCreateTime(new Date()); +// BufferedImage bufferedImage = QrCodeUtil.generate(uuid, 300, 300); +// byte[] bytes = ImgUtil.toBytes(bufferedImage, "JPG"); +// Base64Encoder base64Encoder = new Base64Encoder(); +// String a = base64Encoder.encode(bytes); +// a = a.trim(); +// a = a.replaceAll("\n", "").replaceAll("\r", ""); +// dto.setFile(a); +// lpkCardQrcodeService.save(dto); +// System.out.println(a); +// } +// +// public ResultBean> getCardByBank(PagerQuery pq) { +// ResultBean rb = new ResultBean().fail(); +// EmpCardGiftListQuery query = pq.getParams(); +// QueryWrapper qw = new QueryWrapper<>(); +// Integer end = 0; +// Integer start = 0; +// List serialNumbers = new ArrayList<>(); +// if (StringUtils.isNotBlank(query.getNoStart())) { +// start = Integer.valueOf(query.getNoStart()); +// if (StringUtils.isNotBlank(query.getNoEnd())) { +// end = Integer.valueOf(query.getNoEnd()); +// if (start > end) { +// for (int i = 0; end <= start; end++) { +// serialNumbers.add(end); +// } +// } else { +// for (int i = 0; start <= end; start++) { +// serialNumbers.add(start); +// } +// } +// qw.in("card.serialNumber", serialNumbers); +// } +// } +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagging = baseMapper.selGiftCard(page, qw); +// pagging.getRecords().forEach(s -> { +// s.setQrCode("https://supervise.yxtsoft.com/lpkapi?code=" + s.getCode()); +// }); +// PagerVo p = PagerUtil.pageToVo(pagging, null); +// // System.out.println(a); +// return rb.success().setData(p); +// } +// +// // public static void main(String[] args) throws IOException { +// // String encodedImage = "/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEsASwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK+AKAPv+ivgCigD7/or4AooA+/6K+AKKAPv+ivgCigD7/or4Ar3/wDZl/5mn/t0/wDa1AH0BRRRQAUV8/8A7TX/ADK3/b3/AO0a8AoA+/6K+AK9/wD2Zf8Amaf+3T/2tQB9AUUV8AUAff8ARXz/APsy/wDM0/8Abp/7Wr6AoAKK+AKKAPv+ivgCigD7/or4AooA+/6K+AKKAPv+ivgCigD7/or5/wD2Zf8Amaf+3T/2tX0BQAUUUUAFFFFABXwBX3/XwBQB6B8Mvhl/wsb+1P8Aib/2f9g8r/l283fv3/7a4xs9+td//wAMy/8AU3f+U3/7bR+zL/zNP/bp/wC1q+gKAPn/AP4Zl/6m7/ym/wD22j/hmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APbaP+GZf+pu/wDKb/8Aba+gKKAPgCvf/wBmX/maf+3T/wBrV4BXv/7Mv/M0/wDbp/7WoA+gKKKKAPP/AIm/DL/hY39l/wDE3/s/7B5v/Lt5u/fs/wBtcY2e/WvP/wDhmX/qbv8Aym//AG2voCigD4Ar3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvn/wD4Zl/6m7/ym/8A22voCigDz/4ZfDL/AIVz/an/ABN/7Q+3+V/y7eVs2b/9ts53+3SvQKKKAPgCvQPhl8Mv+Fjf2p/xN/7P+weV/wAu3m79+/8A21xjZ79a8/r3/wDZl/5mn/t0/wDa1AB/wzL/ANTd/wCU3/7bR/wzL/1N3/lN/wDttfQFFAHz/wD8My/9Td/5Tf8A7bR/wzL/ANTd/wCU3/7bX0BRQB8//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO219AUUAfP/APwzL/1N3/lN/wDtteAV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAFFFFABRRRQAV8AV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFFFFABRRRQB7/APsy/wDM0/8Abp/7Wr6Ar5//AGZf+Zp/7dP/AGtX0BQB8AV7/wDsy/8AM0/9un/tavAK9/8A2Zf+Zp/7dP8A2tQB9AV8AV9/18AUAFFFFABXv/7Mv/M0/wDbp/7WrwCvf/2Zf+Zp/wC3T/2tQB9AV8AV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFfAFff9fAFABRRRQAV7/+zL/zNP8A26f+1q8Ar3/9mX/maf8At0/9rUAfQFfAFff9fAFAHv8A+zL/AMzT/wBun/tavoCvn/8AZl/5mn/t0/8Aa1fQFABRRRQAUUUUAFfAFff9fAFAHv8A+zL/AMzT/wBun/tavoCvn/8AZl/5mn/t0/8Aa1fQFAHwBRRRQAUUUUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFfAFff9fAFABRXv8A+zL/AMzT/wBun/tavoCgD4Ar3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvgCvv+vgCgD3/9mX/maf8At0/9rV9AV8//ALMv/M0/9un/ALWr6AoA+AK9/wD2Zf8Amaf+3T/2tXgFe/8A7Mv/ADNP/bp/7WoA+gK+AK+/6+AKACiiigAr3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvgCvv+vgCgD3/9mX/maf8At0/9rV9AV8//ALMv/M0/9un/ALWr6AoAKKKKACiiigAr4Ar7/r4AoA9//Zl/5mn/ALdP/a1fQFfP/wCzL/zNP/bp/wC1q+gKAPn/AP4Zl/6m7/ym/wD22j/hmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA8/8Ahl8Mv+Fc/wBqf8Tf+0Pt/lf8u3lbNm//AG2znf7dK9AoooA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4Ar0D4ZfE3/hXP8Aan/Eo/tD7f5X/Lz5WzZv/wBhs53+3SvP6KAPf/8Ahpr/AKlH/wAqX/2qj/hmX/qbv/Kb/wDba8Ar7/oA8/8Ahl8Mv+Fc/wBqf8Tf+0Pt/lf8u3lbNm//AG2znf7dK9AoooA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+f/wDhmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APba9A+GXwy/4Vz/AGp/xN/7Q+3+V/y7eVs2b/8AbbOd/t0r0CigAr4Ar7/r4AoA9/8A2Zf+Zp/7dP8A2tX0BXz/APsy/wDM0/8Abp/7Wr6AoAKKKKACiiigAr4Ar7/r5/8A+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCivf/8AhmX/AKm7/wApv/22j/hmX/qbv/Kb/wDbaAPAKK9//wCGZf8Aqbv/ACm//baP+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrUf8ADMv/AFN3/lN/+216B8Mvhl/wrn+1P+Jv/aH2/wAr/l28rZs3/wC22c7/AG6UAegV8AV9/wBfAFAHv/7Mv/M0/wDbp/7Wr6Ar5A+GXxN/4Vz/AGp/xKP7Q+3+V/y8+Vs2b/8AYbOd/t0rv/8Ahpr/AKlH/wAqX/2qgDwCvf8A9mX/AJmn/t0/9rV4BXv/AOzL/wAzT/26f+1qAPoCvgCvv+vn/wD4Zl/6m7/ym/8A22gA/Zl/5mn/ALdP/a1fQFef/DL4Zf8ACuf7U/4m/wDaH2/yv+Xbytmzf/ttnO/26V6BQB8AUV7/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbQB4BRXv8A/wAMy/8AU3f+U3/7bR/wzL/1N3/lN/8AttAHgFFe/wD/AAzL/wBTd/5Tf/ttH/DMv/U3f+U3/wC20AeAUV7/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbQB4BRXv8A/wAMy/8AU3f+U3/7bR/wzL/1N3/lN/8AttAB+zL/AMzT/wBun/tavoCvP/hl8Mv+Fc/2p/xN/wC0Pt/lf8u3lbNm/wD22znf7dK9AoAKKKKACiiigAoor4AoA+/6K+f/ANmX/maf+3T/ANrV9AUAFFfAFFAH3/RXwBRQB9/0V8AUUAff9FfAFe//ALMv/M0/9un/ALWoA+gK+AK+/wCigD4Aor3/APaa/wCZW/7e/wD2jXgFABXv/wCzL/zNP/bp/wC1q8AooA+/6K+AK+/6ACiiigAor4AooA+/6K+AKKAPv+ivgCigD7/or4Ar3/8AZl/5mn/t0/8Aa1AH0BRRRQAUUUUAFFFFABRRRQAV8AV9/wBfAFAHv/7Mv/M0/wDbp/7Wr6Ar5/8A2Zf+Zp/7dP8A2tX0BQB8/wD/AAzL/wBTd/5Tf/ttcB8Tfhl/wrn+y/8Aib/2h9v83/l28rZs2f7bZzv9ulfX9fP/AO01/wAyt/29/wDtGgDwCiiigD0D4ZfDL/hY39qf8Tf+z/sHlf8ALt5u/fv/ANtcY2e/Wu//AOGZf+pu/wDKb/8AbaP2Zf8Amaf+3T/2tX0BQB8//wDDMv8A1N3/AJTf/ttegfDL4Zf8K5/tT/ib/wBofb/K/wCXbytmzf8A7bZzv9ulegUUAFfP/wDw01/1KP8A5Uv/ALVX0BXwBQB7/wD8nGf9S9/YX/b35/n/APfvbt8n3zu7Y5P+GZf+pu/8pv8A9to/Zl/5mn/t0/8Aa1fQFAHwBRRRQAV7/wD8NNf9Sj/5Uv8A7VXgFFAH1/8ADL4m/wDCxv7U/wCJR/Z/2Dyv+Xnzd+/f/sLjGz3616BXz/8Asy/8zT/26f8AtavoCgD4Ar0D4ZfDL/hY39qf8Tf+z/sHlf8ALt5u/fv/ANtcY2e/WvP69/8A2Zf+Zp/7dP8A2tQAf8My/wDU3f8AlN/+214BX3/XwBQAUUUUAFe//sy/8zT/ANun/tavAK9//Zl/5mn/ALdP/a1AH0BXz/8A8NNf9Sj/AOVL/wC1V9AV8AUAfX/wy+Jv/Cxv7U/4lH9n/YPK/wCXnzd+/f8A7C4xs9+tegV8/wD7Mv8AzNP/AG6f+1q+gKACiiigAooooAK+AK+/6+AKACivQPhl8Mv+Fjf2p/xN/wCz/sHlf8u3m79+/wD21xjZ79a7/wD4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrUf8ADMv/AFN3/lN/+216B8Mvhl/wrn+1P+Jv/aH2/wAr/l28rZs3/wC22c7/AG6UAegV8AV9/wBfP/8AwzL/ANTd/wCU3/7bQAfsy/8AM0/9un/tavoCvP8A4ZfDL/hXP9qf8Tf+0Pt/lf8ALt5WzZv/ANts53+3SvQKAPgCivf/APhmX/qbv/Kb/wDba4D4m/DL/hXP9l/8Tf8AtD7f5v8Ay7eVs2bP9ts53+3SgDz+vv8Ar4Ar3/8A4aa/6lH/AMqX/wBqoA+gKK+f/wDhpr/qUf8Aypf/AGqj/hpr/qUf/Kl/9qoA8Ar3/wDZl/5mn/t0/wDa1H/DMv8A1N3/AJTf/ttH/Juf/Uw/27/26eR5H/fzdu872xt754APoCvgCvf/APhpr/qUf/Kl/wDaq8AoAKKKKAPv+vn/APaa/wCZW/7e/wD2jR/w01/1KP8A5Uv/ALVXAfE34m/8LG/sv/iUf2f9g83/AJefN379n+wuMbPfrQB5/RRRQB7/APsy/wDM0/8Abp/7Wr6Ar5A+GXxN/wCFc/2p/wASj+0Pt/lf8vPlbNm//YbOd/t0rv8A/hpr/qUf/Kl/9qoA8Ar3/wDZl/5mn/t0/wDa1H/DMv8A1N3/AJTf/ttegfDL4Zf8K5/tT/ib/wBofb/K/wCXbytmzf8A7bZzv9ulAHoFfAFff9fP/wDwzL/1N3/lN/8AttAB+zL/AMzT/wBun/tavoCvP/hl8Mv+Fc/2p/xN/wC0Pt/lf8u3lbNm/wD22znf7dK9AoAKKKKACiiigAr4Ar7/AK+AKAPf/wBmX/maf+3T/wBrV9AV8/8A7Mv/ADNP/bp/7Wr6AoAKKK+f/wBpr/mVv+3v/wBo0AfQFFfAFFAH3/RXwBRQB9/18/8A7TX/ADK3/b3/AO0a8AooAKKKKACivf8A9mX/AJmn/t0/9rV9AUAFfP8A+01/zK3/AG9/+0a+gKKAPgCivv8Ar4AoAKK9/wD2Zf8Amaf+3T/2tX0BQB8AUV9/0UAfAFFff9fAFABRRRQB9/0V8AUUAff9FfAFFAH3/RXz/wDsy/8AM0/9un/tavoCgAooooAKKKKACvn/AP4Zl/6m7/ym/wD22voCigDz/wCGXwy/4Vz/AGp/xN/7Q+3+V/y7eVs2b/8AbbOd/t0r0CiigArz/wCJvwy/4WN/Zf8AxN/7P+web/y7ebv37P8AbXGNnv1r0CigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APbaP+GZf+pu/wDKb/8Aba+gKKAPn/8A4Zl/6m7/AMpv/wBto/4Zl/6m7/ym/wD22voCigD5/wD+GZf+pu/8pv8A9trwCvv+vgCgD0D4ZfE3/hXP9qf8Sj+0Pt/lf8vPlbNm/wD2Gznf7dK7/wD4aa/6lH/ypf8A2qvAKKAPv+iiigAr4Ar7/r4AoA9//Zl/5mn/ALdP/a1fQFfP/wCzL/zNP/bp/wC1q+gKACvP/ib8Tf8AhXP9l/8AEo/tD7f5v/Lz5WzZs/2Gznf7dK9Ar5//AGmv+ZW/7e//AGjQAf8ADTX/AFKP/lS/+1V4BRRQAUUUUAe//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO219AUUAfP/APwzL/1N3/lN/wDttH/DMv8A1N3/AJTf/ttfQFFAHn/wy+GX/Cuf7U/4m/8AaH2/yv8Al28rZs3/AO22c7/bpXoFFFABRRRQAUUUUAFfAFff9fAFABRXoHwy+GX/AAsb+1P+Jv8A2f8AYPK/5dvN379/+2uMbPfrXf8A/DMv/U3f+U3/AO20AeAUV7//AMMy/wDU3f8AlN/+20f8My/9Td/5Tf8A7bQB4BRXv/8AwzL/ANTd/wCU3/7bR/wzL/1N3/lN/wDttAHgFFe//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO20AeAV7/8Asy/8zT/26f8AtavAK9//AGZf+Zp/7dP/AGtQB9AUUV8//wDDTX/Uo/8AlS/+1UAH7TX/ADK3/b3/AO0a8Ar0D4m/E3/hY39l/wDEo/s/7B5v/Lz5u/fs/wBhcY2e/WvP6APv+vn/APaa/wCZW/7e/wD2jR/w01/1KP8A5Uv/ALVR/wAnGf8AUvf2F/29+f5//fvbt8n3zu7Y5APAK+/6+f8A/hmX/qbv/Kb/APba+gKACiiigAr5/wD2mv8AmVv+3v8A9o19AV8//tNf8yt/29/+0aAPAKKKKACivQPhl8Mv+Fjf2p/xN/7P+weV/wAu3m79+/8A21xjZ79a7/8A4Zl/6m7/AMpv/wBtoA8Ar3/9mX/maf8At0/9rV4BXoHwy+Jv/Cuf7U/4lH9ofb/K/wCXnytmzf8A7DZzv9ulAH1/RXz/AP8ADTX/AFKP/lS/+1V9AUAFFFFABRRRQAUUUUAFfAFff9fAFAHv/wCzL/zNP/bp/wC1q+gK+f8A9mX/AJmn/t0/9rV9AUAFFfAFFAH3/RXwBRQB9/0V8/8A7Mv/ADNP/bp/7Wr6AoA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+AK+/6+AKACiiigAr3/wDZl/5mn/t0/wDa1fQFfP8A+01/zK3/AG9/+0aAPoCivgCvv+gAooooAK+f/wBpr/mVv+3v/wBo19AV8/8A7TX/ADK3/b3/AO0aAPAKKK+/6APn/wDZl/5mn/t0/wDa1fQFFFAHwBRX3/Xz/wDtNf8AMrf9vf8A7RoA8Ar7/r4Ar7/oAKKKKACiiigAooooAK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4AooooAKKKKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4Ar3/wDZl/5mn/t0/wDa1eAV7/8Asy/8zT/26f8AtagD6Ar4Ar7/AK+AKAPQPhl8Mv8AhY39qf8AE3/s/wCweV/y7ebv37/9tcY2e/Wu/wD+GZf+pu/8pv8A9to/Zl/5mn/t0/8Aa1fQFAHz/wD8NNf9Sj/5Uv8A7VXAfE34m/8ACxv7L/4lH9n/AGDzf+Xnzd+/Z/sLjGz3615/RQAV7/8A8NNf9Sj/AOVL/wC1V4BRQB7/AP8ADTX/AFKP/lS/+1Uf8NNf9Sj/AOVL/wC1V4BRQB7/AP8ADTX/AFKP/lS/+1VwHxN+Jv8Awsb+y/8AiUf2f9g83/l583fv2f7C4xs9+tef0UAFff8AXwBX3/QAUUUUAfP/APw01/1KP/lS/wDtVH/Jxn/Uvf2F/wBvfn+f/wB+9u3yffO7tjnwCvf/ANmX/maf+3T/ANrUAH/DMv8A1N3/AJTf/ttfQFFFABRRRQAUUUUAFFFFABXwBX3/AF8AUAe//sy/8zT/ANun/tavoCvn/wDZl/5mn/t0/wDa1fQFAHwBRXv/APwzL/1N3/lN/wDttH/DMv8A1N3/AJTf/ttAHgFFe/8A/DMv/U3f+U3/AO20f8My/wDU3f8AlN/+20AH7Mv/ADNP/bp/7Wr6Arz/AOGXwy/4Vz/an/E3/tD7f5X/AC7eVs2b/wDbbOd/t0r0CgD4Ar3/APZl/wCZp/7dP/a1eAV7/wDsy/8AM0/9un/tagD6Ar4Ar7/r5/8A+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrV4BXoHwy+Jv/AArn+1P+JR/aH2/yv+Xnytmzf/sNnO/26UAfX9fAFe//APDTX/Uo/wDlS/8AtVeAUAe//sy/8zT/ANun/tavoCvkD4ZfE3/hXP8Aan/Eo/tD7f5X/Lz5WzZv/wBhs53+3Su//wCGmv8AqUf/ACpf/aqAPAKKKKACiiigAor0D4ZfDL/hY39qf8Tf+z/sHlf8u3m79+//AG1xjZ79a7//AIZl/wCpu/8AKb/9toA+gKKK8/8Aib8Tf+Fc/wBl/wDEo/tD7f5v/Lz5WzZs/wBhs53+3SgD0Civn/8A4aa/6lH/AMqX/wBqr6AoAKKKKACiiigAooooAK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8AUUAff9FfAFFAH3/RXwBRQB9/0V8AUUAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFFFfAFAH3/RXwBRQAUV9/0UAfAFFff9fAFABRXv8A+zL/AMzT/wBun/tavoCgD4Aor7/ooA+AKK+/6KAPn/8AZl/5mn/t0/8Aa1fQFFFABXz/APtNf8yt/wBvf/tGvAK9/wD2Zf8Amaf+3T/2tQB4BX3/AEUUAFFFFABRRRQAUUUUAFfP/wDwzL/1N3/lN/8AttfQFFAHz/8A8My/9Td/5Tf/ALbR/wAMy/8AU3f+U3/7bX0BRQB8/wD/AAzL/wBTd/5Tf/ttH/DMv/U3f+U3/wC219AUUAfP/wDwzL/1N3/lN/8AttH/AAzL/wBTd/5Tf/ttfQFFAHz/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbX0BRQB8//APDMv/U3f+U3/wC216B8Mvhl/wAK5/tT/ib/ANofb/K/5dvK2bN/+22c7/bpXoFFABXz/wD8My/9Td/5Tf8A7bX0BRQB8/8A/DMv/U3f+U3/AO20f8My/wDU3f8AlN/+219AUUAFFFFABXz/AP8ADMv/AFN3/lN/+219AUUAef8Awy+GX/Cuf7U/4m/9ofb/ACv+Xbytmzf/ALbZzv8AbpXoFFFABRRRQAUUUUAFFFFAHz//AMMy/wDU3f8AlN/+216B8Mvhl/wrn+1P+Jv/AGh9v8r/AJdvK2bN/wDttnO/26V6BRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/Z"; // 这里需要替换成真正的 Base64 编码图片数据 +// // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); +// // byte[] imageBytes = Base64.getDecoder().decode(encodedImage); +// // String path = "D:/project/yxtt/yyth/yxt-yyth-biz/target/classes/static/upload/" + sdf.format(new Date()) + "/" + 111 + ".jpg"; +// // +// // File outputFile = new File(path); // 输出文件名及路径 +// // +// // try (OutputStream os = new FileOutputStream(outputFile)) { +// // os.write(imageBytes); +// // os.close(); +// // System.out.println("已保存文件到:" + outputFile.getAbsolutePath()); +// // } catch (IOException e) { +// // e.printStackTrace(); +// // } +// // } +// public List selAllByRecordSid(String sid) { +// return baseMapper.selAllByRecordSid(sid); +// } +// +// public ResultBean> recordDetails(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// EmpCardGiftListQuery query = pq.getParams(); +// QueryWrapper qw = new QueryWrapper<>(); +// qw.eq("1", "1"); +// if (StringUtils.isNotBlank(query.getState())) { +// qw.eq("state", query.getState()); +// } +// if (StringUtils.isNotBlank(query.getNumber())) { +// qw.like("serialNumber", query.getNumber()); +// } +// if (StringUtils.isNotBlank(query.getSid())) { +// qw.eq("recordSid", query.getSid()); +// } +// qw.orderByDesc("serialNumber"); +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagging = baseMapper.recordDetails(page, qw); +// PagerVo p = PagerUtil.pageToVo(pagging, null); +// return rb.success().setData(p); +// } +// + public ResultBean changState(String cardSid, String state) { + ResultBean rb = new ResultBean().fail(); + EmpCardGift card = baseMapper.selectOne(new QueryWrapper().eq("sid", cardSid)); + card.setState(state); + card.setIsReservation("0"); + baseMapper.updateById(card); + return rb.success().setData("成功"); + } + + // +// public void exportExcel(EmpCardGiftListQuery query) { +// +// String finUrl = "https://supervise.yxtsoft.com/lpkapi?code="; +// QueryWrapper qw = new QueryWrapper<>(); +// qw.eq("1", "1"); +// if (StringUtils.isNotBlank(query.getState())) { +// qw.eq("state", query.getState()); +// } +// if (StringUtils.isNotBlank(query.getNumber())) { +// qw.like("serialNumber", query.getNumber()); +// } +// qw.eq("recordSid", query.getSid()); +// //得到所有要导出的数据 +// List exportList = baseMapper.exportExcel(qw); +// if (!exportList.isEmpty()) { +// for (EmpCardGiftExport EmpCardGiftExport : exportList) { +// if (StringUtils.isNotBlank(EmpCardGiftExport.getCode())) { +// EmpCardGiftExport.setPic(finUrl + EmpCardGiftExport.getCode()); +// EmpCardGiftExport.setCode1(EmpCardGiftExport.getCode().substring(0, 10)); +// EmpCardGiftExport.setCode2(EmpCardGiftExport.getCode().substring(EmpCardGiftExport.getCode().length() - 10)); +// } +// } +// } +// //定义导出的excel名字 +// String excelName = "1"; +// String fileNameURL = "1"; +// // try { +// // fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// // fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// // } catch (UnsupportedEncodingException e) { +// // e.printStackTrace(); +// // } +// //导出提货卡信息列表 +// ExportExcelUtils.export(fileNameURL, exportList, EmpCardGiftExport.class, response); +// +// } +// +// public ResultBean cardGrant(CardGrantDto dto) { +// ResultBean rb = new ResultBean().fail(); +// int start = Integer.parseInt(dto.getStart()); +// int end = Integer.parseInt(dto.getEnd()); +// List serialNumbers = new ArrayList<>(); +// if (start > end) { +// for (int i = 0; end <= start; end++) { +// serialNumbers.add(end); +// } +// Integer integer = baseMapper.selectCount(new QueryWrapper().in("serialNumber", serialNumbers).eq("state", "2")); +// if (integer != 0) { +// return rb.setMsg("序列号错误"); +// } +// } else { +// for (int i = 0; start <= end; start++) { +// serialNumbers.add(start); +// } +// Integer integer = baseMapper.selectCount(new QueryWrapper().in("serialNumber", serialNumbers).eq("state", "2")); +// if (integer != 0) { +// return rb.setMsg("序列号错误"); +// } +// } +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// LpkCardGrantRecordDto d = new LpkCardGrantRecordDto(); +// d.setBuildDate(new Date()); +// d.setEndNumber(dto.getEnd()); +// d.setStartNumber(dto.getStart()); +// d.setCountNumber(String.valueOf(serialNumbers.size())); +// String r = lpkCardGrantRecordService.save(d).getMsg(); +// baseMapper.updateState(serialNumbers, "2", dto.getBankSid(), r); +// return rb.success().setData("成功"); +// } +// +// public ResultBean cardGrantCount(String recordSid) { +// ResultBean rb = new ResultBean().fail(); +// Integer i = baseMapper.cardGrantCount(recordSid); +// return rb.success().setData(i); +// } +// + public ResultBean isSaturAndSun(String cardSid) { + ResultBean rb = new ResultBean().fail(); + EmpCardGift empCardGift = baseMapper.selectOne(new QueryWrapper().eq("sid", cardSid)); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// LocalDate now = DateUtil.parse(sdf1.format(empCardGift.getStartDate())).toSqlDate().toLocalDate(); + LocalDate now = DateUtil.parse(sdf1.format(new Date())).toSqlDate().toLocalDate(); + LocalDate endD = DateUtil.parse(sdf1.format(empCardGift.getEndDate())).toSqlDate().toLocalDate(); + List weekMap = new ArrayList<>(); + // 第一个星期六 + // LocalDate saturday = now.with(firstInMonth(DayOfWeek.SATURDAY)); + LocalDate saturday = now.with(DayOfWeek.SATURDAY); + do { + if (CollectionUtils.isEmpty(weekMap)) { + weekMap.add(saturday.toString()); + } else { + weekMap.add(saturday.toString()); + } + // 迭代一个星期 + saturday = saturday.plus(Period.ofDays(7)); +// System.out.println(saturday.compareTo(endD)); + } while (saturday.compareTo(endD) < 1); + // 第一个星期天 + LocalDate sunday = now.with(DayOfWeek.SUNDAY); + do { + if (CollectionUtils.isEmpty(weekMap)) { + weekMap.add(saturday.toString()); + } else { + weekMap.add(sunday.toString()); + } + // 迭代一个星期 + sunday = sunday.plus(Period.ofDays(7)); +// System.out.println(sunday.compareTo(endD)); + } while (sunday.compareTo(endD) < 1); + String nextYear = DateUtil.offsetMonth(new Date(), 12).toString(); + int y = DateUtil.year(DateUtil.parse(nextYear)); + weekMap.add(String.valueOf(y) + "-01-01"); + Object[] array = weekMap.stream().sorted().toArray(); + return rb.success().setData(array); + } + + public ResultBean empCardGiftStatisticsList(PagerQuery query) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGiftStatisticsQuery params = query.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(params.getSerialNumber())) { + qw.like("a.serialNumber", params.getSerialNumber()); + } + qw.groupBy("a.sid"); + qw.orderByDesc("a.createTime"); + IPage page = PagerUtil.queryToPage(query); + IPage pagging = baseMapper.empCardGiftStatisticsList(page, qw); + return rb.success().setData(pagging); + } +// +// public static void main(String[] args) { +// String startDate = "2023-12-16"; +// String endDate = "2024-12-14"; +// LocalDate now = DateUtil.parse(startDate).toSqlDate().toLocalDate(); +// LocalDate endD = DateUtil.parse(endDate).toSqlDate().toLocalDate(); +// List weekMap = new ArrayList<>(); +// // 第一个星期六 +// // LocalDate saturday = now.with(firstInMonth(DayOfWeek.SATURDAY)); +// LocalDate saturday = now.with(DayOfWeek.SATURDAY); +// do { +// if (CollectionUtils.isEmpty(weekMap)) { +// weekMap.add(saturday.toString()); +// } else { +// weekMap.add(saturday.toString()); +// } +// // 迭代一个星期 +// saturday = saturday.plus(Period.ofDays(7)); +// System.out.println(saturday.compareTo(endD)); +// } while (saturday.compareTo(endD) < 1); +// // 第一个星期天 +// LocalDate sunday = now.with(DayOfWeek.SUNDAY); +// do { +// if (CollectionUtils.isEmpty(weekMap)) { +// weekMap.add(saturday.toString()); +// } else { +// weekMap.add(sunday.toString()); +// } +// // 迭代一个星期 +// sunday = sunday.plus(Period.ofDays(7)); +// System.out.println(sunday.compareTo(endD)); +// } while (sunday.compareTo(endD) < 1); +// Object[] array = weekMap.stream().sorted().toArray(); +// +// System.out.println(array); +// } + + + public EmpGiftAppletVo getDate(EmpGiftAppletVo vo) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalTime timeOfDay = LocalTime.of(15, 0); // 设置下午3点的小时数为15,分钟数为0 + LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 + + ZoneId zoneId = ZoneId.systemDefault(); + Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); +// System.out.println(date); + //1>2 1 、1<2 -1 、1=2 0 + int k = DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(new Date())))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(date))))); + if (String.valueOf(k).equals("1")) { + vo.setStart(sdf.format(DateUtil.offsetDay(new Date(), +2))); + } else { + vo.setStart(sdf.format(DateUtil.offsetDay(new Date(), +1))); + } + + if (StringUtils.isNotBlank(vo.getDateStart())) { + int i = DateUtil.parse(sdf.format(DateUtil.parse(vo.getStart()))).compareTo(DateUtil.parse(sdf.format(DateUtil.parse(vo.getDateEnd())))); + if (String.valueOf(i).equals("-1")) { + long o = DateUtil.between(DateUtil.parse(vo.getStart()), DateUtil.parse(vo.getDateEnd()), DateUnit.DAY); + if (o < 10) { + vo.setEnd(sdf.format(DateUtil.offsetDay(DateUtil.parse(vo.getDateEnd()), 10))); + } else { +// end=sdf.format(DateUtil.parse(dateEnd)); + vo.setEnd(sdf.format(DateUtil.offsetDay(DateUtil.parse(vo.getStart()), 4))); + } + } else { + if (String.valueOf(k).equals("1")) { + vo.setEnd(sdf.format(DateUtil.offsetDay(DateUtil.parse(vo.getDateEnd()), 2))); + } else { + vo.setEnd(sdf.format(DateUtil.offsetDay(DateUtil.parse(vo.getDateEnd()), 1))); + } + } + } + vo.setReserveDate(vo.getStart()); + return vo; + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean generateTopEmpCard(String mainSid) { + ResultBean rb = ResultBean.fireFail(); + + int count = 0; + OrdOrder order = ordOrderService.getOne(new QueryWrapper().eq("mainSid", mainSid)); + count = order.getCardNumber(); + List list = ordOrderDetailsService.list(new QueryWrapper().eq("orderSid", order.getSid())); + for (int k = 0; k < count; k++) { + EmpCardGift card = new EmpCardGift(); + card.setCardType("3"); +// card.setRemarks(dto.getRemarks()); + card.setState("3"); + card.setCreateTime(new DateTime()); + card.setGrantDate(new Date()); + card.setEndDate(DateUtil.parse("2024-03-31")); + card.setStartDate(new Date()); + card.setIsSenior("1"); + card.setCustomerSid(order.getUserSid()); + card.setBindDate(new Date()); + String cardArea = "1"; + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); + card.setCode("99" + uuid.substring(2)); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "0000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 7 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + baseMapper.insert(card); + for (OrdOrderDetail vo : list) { + if (vo.getPartNumber() != 0) { + EmpCardGiftGoodsDto dto1 = new EmpCardGiftGoodsDto(); + dto1.setEmpCardGiftSid(card.getSid()); + dto1.setGoodsSid(vo.getGoodsSid()); + dto1.setGoodsNumber(vo.getPartNumber() / count); + empCardGiftGoodsService.save(dto1); + } + } + } + order.setPayStatus(4); + order.setPayTime(new Date()); + ordOrderService.updateById(order); + return rb.success(); + } + + public EmpCardGift selectOneByCodeAndCodeKey(String code, String codeKey) { + return baseMapper.selectOne(new QueryWrapper().eq("code", code) + .eq("codeKey", codeKey)); + } + /// + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.java new file mode 100644 index 0000000..49ac422 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.biz.empcardgiftgoods; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoods; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface EmpCardGiftGoodsMapper extends BaseMapper { + List getGoodsByEmpCardGiftSid(@Param("empCardGiftSid")String empCardGiftSid ); + List getGoodsBySid(@Param("empCardGiftSid")String empCardGiftSid ); + EmpCardGiftGoodsVo recordListGoods( @Param("empCardSid")String empCardSid,@Param("goodsSid")String goodsSid); + @Select("SELECT\n" + + "\tl.NAME AS goodsName,\n" + + "\tl.sid AS goodsSid,\n" + + "\tl.weight,\n" + + "\tl.specificationUnit,\n" + + "\tl.unitName,\n" + + "\ts.goodsNumber \n" + + "FROM\n" + + "\temp_card_gift g\n" + + "\tLEFT JOIN emp_card_gift_goods s ON s.empCardGiftSid = g.sid\n" + + "\tLEFT JOIN lpk_goods l ON l.sid = s.goodsSid \n" + + "WHERE\n" + + "\tg.sid =#{sid}") + List getGoodsByGiftSid(String sid); + + List getGoodsDetailsByEmpCardGiftSid(@Param("empCardGiftSid") String empCardGiftSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.xml new file mode 100644 index 0000000..7ff6759 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsRest.java new file mode 100644 index 0000000..055e2fe --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsRest.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.empcardgiftgoods; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "企业福利卡商品") +@RestController +@RequestMapping("empcardgiftgoods") +public class EmpCardGiftGoodsRest { + + @Autowired + EmpCardGiftGoodsService EmpCardGiftService; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsService.java new file mode 100644 index 0000000..2a30d84 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgiftgoods/EmpCardGiftGoodsService.java @@ -0,0 +1,55 @@ +package com.yxt.ordermall.biz.empcardgiftgoods; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoods; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoodsDto; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class EmpCardGiftGoodsService extends MybatisBaseService { + + + + public ResultBean save(EmpCardGiftGoodsDto dto) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGiftGoods entity=new EmpCardGiftGoods(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success(); + } + public ResultBean> getGoodsByEmpCardGiftSid(String empCardGiftSid) { + ResultBean rb = ResultBean.fireFail(); + List list= baseMapper.getGoodsByEmpCardGiftSid(empCardGiftSid); + return rb.success().setData(list); + } + public ResultBean> getGoodsBySid(String empCardGiftSid) { + ResultBean rb = ResultBean.fireFail(); + List list= baseMapper.getGoodsBySid(empCardGiftSid); + return rb.success().setData(list); + } + public ResultBean recordListGoods(String empCardSid,String goodsSid) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGiftGoodsVo list= baseMapper.recordListGoods(empCardSid,goodsSid); + return rb.success().setData(list); + } + public ResultBean> getGoodsByGiftSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + List list= baseMapper.getGoodsByGiftSid(sid); + return rb.success().setData(list); + } + public ResultBean> getGoodsDetailsByEmpCardGiftSid(String empCardGiftSid) { + ResultBean rb = ResultBean.fireFail(); + List list= baseMapper.getGoodsDetailsByEmpCardGiftSid(empCardGiftSid); + return rb.success().setData(list); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogMapper.java new file mode 100644 index 0000000..45f91f5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogMapper.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.empcardgrantlog; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLog; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLogVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Mapper +public interface EmpCardGrantLogMapper extends BaseMapper { + IPage recordListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List recordList(@Param("empCardSid")String empCardSid); + EmpCardGrantLogVo recordGoodsSid(@Param("empCardSid")String empCardSid,@Param("goodsSid")String goodsSid); + EmpCardGrantLogVo recordListGoods(@Param("empCardSid")String empCardSid,@Param("goodsSid")String goodsSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogMapper.xml new file mode 100644 index 0000000..ca61911 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogRest.java new file mode 100644 index 0000000..d98f3b1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogRest.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.biz.empcardgrantlog; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLogQuery; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLogVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Api(tags = "礼品卡信息") +@RestController +@RequestMapping("empcardgrantlog") +public class EmpCardGrantLogRest { + @Autowired + EmpCardGrantLogService EmpCardGrantLogService; + @ApiOperation("创建记录列表") + @PostMapping("/recordListPage") + public ResultBean> recordListPage(@RequestBody PagerQuery pq) { + return EmpCardGrantLogService.recordListPage(pq); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogService.java new file mode 100644 index 0000000..6279eb6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empcardgrantlog/EmpCardGrantLogService.java @@ -0,0 +1,61 @@ +package com.yxt.ordermall.biz.empcardgrantlog; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLog; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLogQuery; +import com.yxt.ordermall.api.empcardgrantlog.EmpCardGrantLogVo; +import com.yxt.ordermall.biz.empcard.EmpCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Service +public class EmpCardGrantLogService extends MybatisBaseService { + + @Autowired + EmpCardService empCardService; + public ResultBean> recordListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGrantLogQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getCountNumber())) { + qw.eq("r.countNumber", query.getCountNumber()); + } + String startDate = query.getStartDate(); + String effEndTime = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (r.buildDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). + apply(org.apache.commons.lang3.StringUtils.isNotEmpty(effEndTime), "date_format (r.buildDate,'%Y-%m-%d') <= date_format('" + effEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("r.createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.recordListPage(page, qw); +// for(EmpCardGrantLogVo vo:pagging.getRecords()){ +// vo.setGrantCountNumber(String.valueOf(empCardService.cardGrantCount(vo.getSid()).getData())); +// } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean recordListGoods(String empCardSid,String goodsSid) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGrantLogVo pagging = baseMapper.recordListGoods(empCardSid,goodsSid); + return rb.success().setData(pagging); + } + public ResultBean recordGoodsSid(String empCardSid,String goodsSid) { + ResultBean rb = ResultBean.fireFail(); + EmpCardGrantLogVo pagging = baseMapper.recordGoodsSid(empCardSid,goodsSid); + return rb.success().setData(pagging); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderMapper.java new file mode 100644 index 0000000..20c6042 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderMapper.java @@ -0,0 +1,37 @@ +package com.yxt.ordermall.biz.empreserveorder; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.empreserveorder.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface EmpReserveOrderMapper extends BaseMapper { + IPage orderList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage orderListByStore(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List orderByCardSid(String sid); + + IPage orderListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List exportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); + List exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select sid from lpk_reserve_order where storeSid=#{storeSid}") + List getOrderByStore(@Param("storeSid")String storeSid); + @Select("select * from emp_reserve_order where customerSid =#{sid} order by createTime desc limit 1") + EmpReserveOrderVo getStoreByCustomerSid(@Param("sid") String sid); + @Select("select * from lpk_reserve_order where cardSid =#{sid} order by reserveDate desc limit 1") + EmpReserveOrderVo selByCardSid(@Param("sid") String sid); + @Select("SELECT o.*,st.`name` AS store FROM emp_reserve_order o LEFT JOIN lpk_store st ON o.storeSid = st.sid where o.cardSid =#{sid} ORDER BY o.reserveDate desc") + List selOrderByCardSid(@Param("sid") String sid); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderMapper.xml new file mode 100644 index 0000000..ebbeeae --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderRest.java new file mode 100644 index 0000000..51c2230 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderRest.java @@ -0,0 +1,81 @@ +package com.yxt.ordermall.biz.empreserveorder; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empreserveorder.EmpReserveOrderCardVo; +import com.yxt.ordermall.api.empreserveorder.EmpReserveOrderQuery; +import com.yxt.ordermall.api.empreserveorder.EmpReserveOrderVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("/empsreservoorder") +public class EmpReserveOrderRest { + @Autowired + EmpReserveOrderService empReserveOrderService; + + + @ApiOperation("预约提交") + @PostMapping("/submission") + public ResultBean submission(@RequestBody LpkReserveOrderDto dto) { + ResultBean resultBean=new ResultBean<>().fail(); + return resultBean.setMsg("请求异常"); +// return empReserveOrderService.submission(dto); + + } + + @ApiOperation("企业卡预约提交") + @PostMapping("/submissionEmp") + public ResultBean submissionEmp(@RequestBody LpkReserveOrderDto dto) { + ResultBean resultBean=new ResultBean<>().fail(); + return resultBean.setMsg("请求异常"); +// return empReserveOrderService.submissionEmp(dto); + } + @ApiOperation("订单列表") + @PostMapping("/orderList") + public ResultBean> orderList(@RequestBody PagerQuery pq) { + return empReserveOrderService.orderList(pq); + } + @ApiOperation("订单门店汇总列表") + @PostMapping("/orderListByStore") + public ResultBean> orderListByStore(@RequestBody PagerQuery pq) { + return empReserveOrderService.orderListByStore(pq); + } + @ApiOperation("根据提货卡查询预约记录") + @GetMapping("/orderByCardSid/{sid}") + public ResultBean orderByCardSid(@PathVariable("sid") String sid) { + return empReserveOrderService.orderByCardSid(sid); + } + + @ApiOperation("移动端预约订单列表") + @PostMapping("/orderListByUserSid") + public ResultBean> orderListByUserSid(@RequestBody PagerQuery pq) { + return empReserveOrderService.orderListByUserSid(pq); + } + + @ApiOperation("预约记录详情") + @GetMapping("/orderDetails/{orderSid}") + public ResultBean orderDetails(@PathVariable("orderSid") String orderSid) { + return empReserveOrderService.orderDetails(orderSid); + } + + @ApiOperation(value = "预约订单信息列表导出") + @PostMapping("/exportExcel") + public void exportExcel(@RequestBody EmpReserveOrderQuery query) { + empReserveOrderService.exportExcel(query); + } + @ApiOperation(value = "预约订单门店汇总导出") + @PostMapping("/exportExcelByStore") + public void exportExcelByStore(@RequestBody EmpReserveOrderQuery query) { + empReserveOrderService.exportExcelByStore(query); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderService.java new file mode 100644 index 0000000..943f63a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveorder/EmpReserveOrderService.java @@ -0,0 +1,484 @@ +package com.yxt.ordermall.biz.empreserveorder; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.ExportExcelUtils; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empreserveorder.*; +import com.yxt.ordermall.api.empreserveordergoods.EmpReserveOrderGoods; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; +import com.yxt.ordermall.api.lpkgiftcard.AppletVo; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrder; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderDto; +import com.yxt.ordermall.api.lpkstore.LpkStore; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import com.yxt.ordermall.biz.empreserveordergoods.EmpReserveOrderGoodsService; +import com.yxt.ordermall.biz.lpkgiftbaggoods.LpkGiftBagGoodsService; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardMapper; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.lpkreserveorder.LpkReserveOrderMapper; +import com.yxt.ordermall.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; +import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class EmpReserveOrderService extends MybatisBaseService { + @Autowired + EmpReserveOrderGoodsService empReserveOrderGoodsService; + @Autowired + LpkGiftCardMapper lpkGiftCardMapper; + @Autowired + LpkGiftBagGoodsService lpkGiftBagGoodsService; + @Autowired + LpkStoreService lpkStoreService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private LpkGoodsService lpkGoodsService; + @Autowired + private HttpServletResponse response; + @Autowired + LpkReserveOrderMapper lpkReserveOrderMapper; + @Autowired + LpkReserveOrderGoodsService lpkReserveOrderGoodsService; + + @Transactional(rollbackFor = Exception.class) + public ResultBean submission(LpkReserveOrderDto dto) { + ResultBean rb = new ResultBean().fail(); + boolean b=isSatAndSun(dto.getReserveDate()); + if(!b){ + return rb.setMsg("周六、周日不能预约提货"); + } + LpkReserveOrder order = new LpkReserveOrder(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + order.setStoreSid(dto.getValue()); + order.setCardSid(dto.getSid()); + order.setCreateTime(new DateTime()); + order.setCardType("2"); + lpkReserveOrderMapper.insert(order); + dto.setOrderSid(order.getSid()); + empReserveOrderGoodsService.submissionDetail(dto); + return rb.success().setData("预约成功"); + } + @Transactional(rollbackFor = Exception.class) + public ResultBean submissionEmp(LpkReserveOrderDto dto) { + ResultBean rb = new ResultBean().fail(); + boolean b=isSatAndSun(dto.getReserveDate()); + if(!b){ + return rb.setMsg("周六、周日不能预约提货"); + } + LpkReserveOrder order = new LpkReserveOrder(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + order.setStoreSid(dto.getValue()); + order.setCardSid(dto.getSid()); + order.setCreateTime(new DateTime()); + order.setCardType("3"); + lpkReserveOrderMapper.insert(order); + dto.setOrderSid(order.getSid()); + empReserveOrderGoodsService.submissionDetailEmp(dto); + return rb.success().setData("预约成功"); + } +// public ResultBean submission(EmpReserveOrderDto dto) { +// ResultBean rb = new ResultBean().fail(); +// boolean b=isSatAndSun(dto.getReserveDate()); +// if(!b){ +// return rb.setMsg("周六、周日不能预约提货"); +// } +// EmpReserveOrder order = new EmpReserveOrder(); +// BeanUtil.copyProperties(dto, order, "id", "sid"); +// order.setStoreSid(dto.getValue()); +// order.setCardSid(dto.getSid()); +// order.setCreateTime(new DateTime()); +// baseMapper.insert(order); +// dto.setOrderSid(order.getSid()); +// empReserveOrderGoodsService.submissionDetail(dto); +// return rb.success().setData("预约成功"); +// } + public boolean isSatAndSun(String date){ + DateTime dateTime = DateUtil.parse(date);; // 获取当前时间 + int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) +// System.out.println(dayOfWeek); + if (dayOfWeek == 1 || dayOfWeek == 7) { + return false; + } else { + return true; + } + } + @Test + public void isSatAndSun(){ + String date="2023-12-11"; + DateTime dateTime = DateUtil.parse(date);; // 获取当前时间 + int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) + +// System.out.println(dayOfWeek); + if (dayOfWeek == 1 || dayOfWeek == 7) { +// System.out.println(dayOfWeek); + } else { +// System.out.println(11111); + } + } + public ResultBean> orderList(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getUserName())) { + qw.like("o.userName", query.getUserName()); + } + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.like("o.customerSid", query.getUserSid()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + + + qw.orderByDesc("o.reserveDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderList(page, qw); + List records = pagging.getRecords(); + if (!records.isEmpty()) { + records.forEach(s -> { + List orderGoods = empReserveOrderGoodsService.selByOrderSid(s.getSid()); + List goodsVoList = new ArrayList<>(); + if (!orderGoods.isEmpty()) { + for (EmpReserveOrderGoods orderGood : orderGoods) { + OrderGoodsVo goodsVo = new OrderGoodsVo(); + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsVo.setGoodName(lpkGoods.getName()); + } + } + if (orderGood.getGoodsNumber() != 0) { + goodsVo.setNum((int) orderGood.getGoodsNumber()); + } + goodsVoList.add(goodsVo); + } + } + s.setGoodsVo(goodsVoList); + }); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean> orderListByStore(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getUserName())) { + qw.like("o.userName", query.getUserName()); + } + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.like("o.customerSid", query.getUserSid()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + + qw.orderByDesc("o.reserveDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByStore(page, qw); + List records = pagging.getRecords(); + if (!records.isEmpty()) { + records.forEach(s -> { + List list=baseMapper.getOrderByStore(s.getStoreSid()); + List orderGoods = empReserveOrderGoodsService.selInOrderSid(list); + if (!orderGoods.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (EmpReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = num + unitName + goodsName; + sb.append(finWord).append("、"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + s.setGoodsInfo(sb.toString()); + } + } + }); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean orderByCardSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + List list = baseMapper.orderByCardSid(sid); + return rb.success().setData(list); + } + + public ResultBean> orderListByUserSid(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EmpReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("o.customerSid", query.getUserSid()); + qw.orderByDesc("o.reserveDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByUserSid(page, qw); + for(EmpReserveOrderCardVo vo:pagging.getRecords()){ + List goods =empReserveOrderGoodsService.selByOrderSids(vo.getSid()); + for(EmpReserveOrderGoods goods1:goods){ + LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods1.getGoodsSid())); + if(StringUtils.isBlank(vo.getGoods())){ + vo.setGoods(lpkGoods.getName()+":"+goods1.getNum()+lpkGoods.getUnitName()); + }else{ + vo.setGoods(vo.getGoods()+" "+lpkGoods.getName()+":"+goods1.getNum()+lpkGoods.getUnitName()); + } + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean orderDetails(String orderSid) { + ResultBean rb = new ResultBean().fail(); + EmpReserveOrder EmpReserveOrder = fetchBySid(orderSid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != EmpReserveOrder) { + AppletVo vo = lpkGiftCardMapper.getGifCardBySid(EmpReserveOrder.getCardSid()); + if (StringUtils.isNotBlank(EmpReserveOrder.getStoreSid())) { + LpkStore lpkStore = lpkStoreService.fetchBySid(EmpReserveOrder.getStoreSid()); + if (null != lpkStore) { + if (StringUtils.isNotBlank(lpkStore.getName())) { + vo.setStore(lpkStore.getName()); + } + } + } + if (StringUtils.isNotBlank(EmpReserveOrder.getReserveDate())) { + try { + Date parse = sdf.parse(EmpReserveOrder.getReserveDate()); + vo.setReserveDate(sdf.format(parse)); + } catch (ParseException e) { + e.printStackTrace(); + } + } + List list = lpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); + List l = lpkStoreService.getAllStore().getData(); + List goodsVos = new ArrayList<>(); + list.forEach(s -> { + EmpReserveOrderGoods goods = empReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + EmpReserveOrderGoods orderGoods = empReserveOrderGoodsService.selByOrderSidAndGoodSid(orderSid, s.getGoodsSid()); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getGoodsName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setPic(fileUploadComponent.getUrlPrefix() + s.getPicUrl()); + if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); + if (null != orderGoods) { + goodsVo.setOrderNum(orderGoods.getGoodsNumber()); + } + goodsVos.add(goodsVo); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber()); + goodsVos.add(goodsVo); + } + }); + vo.setGoodsVos(goodsVos); + vo.setSelect(l); + return rb.success().setData(vo); + } + return rb.success(); + } + + public void exportExcel(EmpReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getUserName())) { + qw.like("o.userName", query.getUserName()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + qw.orderByDesc("o.createTime"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcel(qw); + if (!exportList.isEmpty()) { + exportList.forEach(s -> { + if (StringUtils.isNotBlank(s.getUserPhone())) { +// String phone = s.getUserPhone().substring(0, 3) + "****" + s.getUserPhone().substring(7); + String phone = s.getUserPhone(); + s.setUserPhone(phone); + } + List orderGoods = empReserveOrderGoodsService.selByOrderSid(s.getSid()); + if (!orderGoods.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (EmpReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = num + unitName + goodsName; + sb.append(finWord).append("、"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + s.setGoodsInfo(sb.toString()); + } + } + }); + } + //定义导出的excel名字 + String excelName = "1"; + String fileNameURL = "1"; +// try { +// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// } + //导出预约订单信息列表 + ExportExcelUtils.export(fileNameURL, exportList, ReserveOrderExport.class, response); + } + public void exportExcelByStore(EmpReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + qw.orderByDesc("o.createTime"); + qw.groupBy("s.name"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcelByStore(qw); + if (!exportList.isEmpty()) { + exportList.forEach(s -> { + List list=baseMapper.getOrderByStore(s.getStoreSid()); + List orderGoods = empReserveOrderGoodsService.selInOrderSid(list); + if (!orderGoods.isEmpty()) { + StringBuffer sb = new StringBuffer(); + for (EmpReserveOrderGoods orderGood : orderGoods) { + String num = ""; + String goodsName = ""; + String finWord = ""; + String unitName = ""; + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsName = lpkGoods.getName(); + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + unitName = lpkGoods.getUnitName(); + } + } + } + if (orderGood.getGoodsNumber() != 0) { + num = String.valueOf((int) orderGood.getGoodsNumber()); + } + finWord = num + unitName + goodsName; + sb.append(finWord).append("、"); + } + if (sb.length() > 0) { + sb.delete(sb.length() - 1, sb.length()); + s.setGoodsInfo(sb.toString()); + } + } + }); + } + //定义导出的excel名字 + String excelName = "1"; + String fileNameURL = "1"; + //导出预约订单信息列表 + ExportExcelUtils.export(fileNameURL, exportList, ReserveOrderExportByStore.class, response); + } + + + public ResultBean getStoreByCustomerSid(String sid) { + return new ResultBean().success().setData(baseMapper.getStoreByCustomerSid(sid)); + } + public ResultBean selByCardSid(String sid) { + return new ResultBean().success().setData(baseMapper.selByCardSid(sid)); + } + public ResultBean> selOrderByCardSid(String sid) { + return new ResultBean().success().setData(baseMapper.selOrderByCardSid(sid)); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.java new file mode 100644 index 0000000..e309669 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.biz.empreserveordergoods; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.empreserveordergoods.EmpReserveOrderGoods; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface EmpReserveOrderGoodsMapper extends BaseMapper { + @Select("select sum(goodsNumber) as goodsNumber , goodsSid as goodsSid from emp_reserve_order_goods where cardSid=#{cardSid} and goodsSid=#{goodsSid}") + EmpReserveOrderGoods getReserveByCardSid(@Param("cardSid") String cardSid, @Param("goodsSid") String goodsSid); + + EmpReserveOrderGoods selByOrderSidAndGoodSid(@Param("orderSid") String orderSid, @Param("goodsSid") String goodsSid); + + @Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); + @Select("select *,goodsNumber as num from emp_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSids(String orderSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.xml new file mode 100644 index 0000000..b344087 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsRest.java new file mode 100644 index 0000000..373bc9a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsRest.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.biz.empreserveordergoods; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("empsreservoorder") +public class EmpReserveOrderGoodsRest { + @Autowired + EmpReserveOrderGoodsService empReserveOrderGoodsService; + + +// @ApiOperation("预约提交") +// @PostMapping("/submissionDetail") +// public ResultBean submissionDetail(EmpReserveOrderGoodsDto dto){ +// return empReserveOrderGoodsService.submissionDetail(dto); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsService.java new file mode 100644 index 0000000..41e06fc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/empreserveordergoods/EmpReserveOrderGoodsService.java @@ -0,0 +1,191 @@ +package com.yxt.ordermall.biz.empreserveordergoods; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.empcard.EmpAppletVo; +import com.yxt.ordermall.api.empcardgift.EmpGiftAppletVo; +import com.yxt.ordermall.api.empcardgift.GoodsVo; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.ordermall.api.empreserveordergoods.EmpReserveOrderGoods; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderDto; +import com.yxt.ordermall.api.lpkreserveordergoods.LpkReserveOrderGoods; +import com.yxt.ordermall.biz.empcard.EmpCardService; +import com.yxt.ordermall.biz.empcardgift.EmpCardGiftService; +import com.yxt.ordermall.biz.empcardgiftgoods.EmpCardGiftGoodsService; +import com.yxt.ordermall.biz.lpkreserveordergoods.LpkReserveOrderGoodsMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class EmpReserveOrderGoodsService extends MybatisBaseService { + @Autowired + EmpCardGiftService empCardGiftService; + @Autowired + LpkReserveOrderGoodsMapper lpkReserveOrderGoodsMapper; + @Autowired + private EmpCardService empCardService; + @Autowired + EmpCardGiftGoodsService empCardGiftGoodsService; + public ResultBean getReserveByCardSid(String carSid, String goodsSid) { + ResultBean rb = new ResultBean(); + EmpReserveOrderGoods goods = baseMapper.getReserveByCardSid(carSid, goodsSid); + return rb.success().setData(goods); + } + public ResultBean submissionDetail(LpkReserveOrderDto dto) { + ResultBean rb = new ResultBean(); + LpkReserveOrderGoods goods = new LpkReserveOrderGoods(); + BeanUtil.copyProperties(dto, goods, "id", "sid"); + goods.setCardSid(dto.getSid()); + for (com.yxt.ordermall.api.lpkgiftcard.GoodsVo goods1 : dto.getGoodsVos()) { + if (goods1.getSelect() != 0) { + goods.setCardSid(dto.getSid()); + goods.setGoodsSid(goods1.getGoodsSid()); + goods.setGoodsNumber(goods1.getSelect()); + goods.setCreateTime(new DateTime()); + lpkReserveOrderGoodsMapper.insert(goods); + } + } + EmpGiftAppletVo vo = empCardGiftService.getGifCardBySid(dto.getSid()).getData(); + int i = 0; + + for (GoodsVo vo1 : vo.getGoodsVos()) { + EmpCardGiftGoodsVo goods1=empCardGiftGoodsService.recordListGoods(dto.getSid(),vo1.getGoodsSid()).getData(); + LpkReserveOrderGoods goods2 = lpkReserveOrderGoodsMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid()); + double c=0; + if(goods1==null){ + if(goods2==null){ + c=0; + }else{ + c=goods2.getGoodsNumber(); + } + }else{ + if(goods2==null){ + c=goods1.getGoodsNumber(); + }else{ + c=goods2.getGoodsNumber()+goods1.getGoodsNumber(); + } + } + if (vo1.getNum() <= c) { + i++; + } + } + if (vo.getGoodsVos().size() == i) { + empCardGiftService.changState(dto.getSid(), "5"); + } else { + empCardGiftService.changState(dto.getSid(), "4"); + } +// for (GoodsVo vo1 : vo.getGoodsVos()) { +// LpkReserveOrderGoods goods1 = lpkReserveOrderGoodsMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid()); +// if (null != goods1) { +// if (vo1.getNum() <= goods1.getGoodsNumber()) { +// i++; +// } +// } +// +// } + return rb.success().setData("预约成功"); + } + + public ResultBean submissionDetailEmp(LpkReserveOrderDto dto) { + ResultBean rb = new ResultBean(); + LpkReserveOrderGoods goods = new LpkReserveOrderGoods(); + BeanUtil.copyProperties(dto, goods, "id", "sid"); + goods.setCardSid(dto.getSid()); + for (com.yxt.ordermall.api.lpkgiftcard.GoodsVo goods1 : dto.getGoodsVos()) { + if (goods1.getSelect() != 0) { + goods.setCardSid(dto.getSid()); + goods.setGoodsSid(goods1.getGoodsSid()); + goods.setGoodsNumber(goods1.getSelect()); + goods.setCreateTime(new DateTime()); + lpkReserveOrderGoodsMapper.insert(goods); + } + } + EmpAppletVo vo =empCardService.getEmpCardBySid(dto.getSid()).getData(); + int i = 0; + for (com.yxt.ordermall.api.lpkgiftcard.GoodsVo vo1 : vo.getGoodsVos()) { + LpkReserveOrderGoods goods1 = lpkReserveOrderGoodsMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid()); + LpkReserveOrderGoods goods2 = lpkReserveOrderGoodsMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid()); + double c=0; + if(goods1==null){ + if(goods2==null){ + c=0; + }else{ + c=goods2.getGoodsNumber(); + } + }else{ + if(goods2==null){ + c=goods1.getGoodsNumber(); + }else{ + c=goods2.getGoodsNumber()+goods1.getGoodsNumber(); + } + } + if (vo1.getNum() <= c) { + i++; + } +// if (null != goods1) { +// if (vo1.getNum() <= goods1.getGoodsNumber()) { +// i++; +// } +// } + } + if (vo.getGoodsVos().size() == i) { + empCardService.changState(dto.getSid(), "5"); + } else { + empCardService.changState(dto.getSid(), "4"); + } + return rb.success().setData("预约成功"); + } +// +// public ResultBean submissionDetail(EmpReserveOrderDto dto) { +// ResultBean rb = new ResultBean(); +// EmpReserveOrderGoods goods = new EmpReserveOrderGoods(); +// BeanUtil.copyProperties(dto, goods, "id", "sid"); +// goods.setCardSid(dto.getSid()); +// for (GoodsVo goods1 : dto.getGoodsVos()) { +// if (goods1.getSelect() != 0) { +// goods.setCardSid(dto.getSid()); +// goods.setGoodsSid(goods1.getGoodsSid()); +// goods.setGoodsNumber(goods1.getSelect()); +// goods.setCreateTime(new DateTime()); +// baseMapper.insert(goods); +// } +// } +// EmpGiftAppletVo vo = empCardGiftService.getGifCardBySid(dto.getSid()).getData(); +// int i = 0; +// for (GoodsVo vo1 : vo.getGoodsVos()) { +// EmpReserveOrderGoods goods1 = baseMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid()); +// if (null != goods1) { +// if (vo1.getNum() <= goods1.getGoodsNumber()) { +// i++; +// } +// } +// if (vo.getGoodsVos().size() == i) { +// empCardGiftService.changState(dto.getSid(), "5"); +// } else { +// empCardGiftService.changState(dto.getSid(), "4"); +// } +// } +// return rb.success().setData("预约成功"); +// } + + public EmpReserveOrderGoods selByOrderSidAndGoodSid(String orderSid, String goodsSid) { + return baseMapper.selByOrderSidAndGoodSid(orderSid,goodsSid); + } + public List selByOrderSid(String orderSid) { + return baseMapper.selByOrderSid(orderSid); + } + public List selInOrderSid(List orderSids) { + return baseMapper.selInOrderSid(orderSids); + } + public List selByOrderSids(String orderSid) { + return baseMapper.selByOrderSids(orderSid); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationMapper.java new file mode 100644 index 0000000..671ac44 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationMapper.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.enterprisecertification; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertification; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertificationVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface EnterpriseCertificationMapper extends BaseMapper { + + IPage ListPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationMapper.xml new file mode 100644 index 0000000..b27c651 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationRest.java new file mode 100644 index 0000000..974166d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationRest.java @@ -0,0 +1,51 @@ +package com.yxt.ordermall.biz.enterprisecertification; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertificationDto; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertificationQuery; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertificationVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "企业认证") +@RestController +@RequestMapping("enterprisecertification") +public class EnterpriseCertificationRest { + + @Autowired + EnterpriseCertificationService EnterpriseCertificationService; + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> ListPageVo(@RequestBody PagerQuery pq) { + return EnterpriseCertificationService.ListPageVo(pq); + } + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody EnterpriseCertificationDto dto) { + return EnterpriseCertificationService.save(dto); + } + @ApiOperation("修改") + @PostMapping("/update") + public ResultBean update(@RequestBody EnterpriseCertificationDto dto) { + return EnterpriseCertificationService.update(dto); + } + + @ApiOperation("审核") + @PostMapping("/toExamine") + public ResultBean toExamine(@RequestBody EnterpriseCertificationDto dto) { + return EnterpriseCertificationService.toExamine(dto); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationService.java new file mode 100644 index 0000000..e34a5b7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/enterprisecertification/EnterpriseCertificationService.java @@ -0,0 +1,92 @@ +package com.yxt.ordermall.biz.enterprisecertification; + +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.approvalrecords.ApprovalRecordsDto; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertification; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertificationDto; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertificationQuery; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertificationVo; +import com.yxt.ordermall.api.sysuser.SysUser; +import com.yxt.ordermall.biz.approvalrecords.ApprovalRecordsService; + +import com.yxt.ordermall.biz.func.sysuser.SysUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class EnterpriseCertificationService extends MybatisBaseService { + @Autowired + ApprovalRecordsService approvalRecordsService; + @Autowired + SysUserService sysUserService; + + public ResultBean> ListPageVo(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + EnterpriseCertificationQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("reviewStatus","0"); + qw.orderByDesc("createTime"); + if(StringUtils.isNotBlank(query.getName())){ + qw.like("enterpriseName",query.getName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.ListPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean save(EnterpriseCertificationDto dto) { + ResultBean rb = ResultBean.fireFail(); + baseMapper.delete(new QueryWrapper().eq("customerSid",dto.getCustomerSid())); + EnterpriseCertification entity=new EnterpriseCertification(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("添加成功"); + } + public ResultBean update(EnterpriseCertificationDto dto) { + ResultBean rb=new ResultBean(); + EnterpriseCertification entity=baseMapper.selectOne(new QueryWrapper().eq("customerSid",dto.getCustomerSid())); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setReviewStatus("0"); + baseMapper.updateById(entity); + return rb.success().setMsg("修改成功"); + } + public ResultBean toExamine(EnterpriseCertificationDto dto) { + ResultBean rb=new ResultBean(); + if(StringUtils.isBlank(dto.getSid())){ + return rb.setMsg("参数不全"); + } + EnterpriseCertification entity=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); + entity.setReviewStatus(dto.getReviewStatus()); + if(StringUtils.isNotBlank(dto.getRemarks())){ + entity.setRemarks(dto.getRemarks()); + } + baseMapper.updateById(entity); + //审核记录 + ApprovalRecordsDto dto1=new ApprovalRecordsDto(); + dto1.setApprovalOpinions(dto.getRemarks()); + dto1.setCustomerSid(entity.getCustomerSid()); + Object id=StpUtil.getLoginIdByToken(StpUtil.getTokenValue()); +// SysUser sysUser=sysUserService.getOne(new QueryWrapper().eq("id",id)); + SysUser sysUser=new SysUser(); + dto1.setOperator(sysUser.getUserName()); + dto1.setOperatorSid(sysUser.getSid()); + dto1.setApprovalStatus(dto.getReviewStatus()); + approvalRecordsService.save(dto1); + return rb.success().setMsg("审核成功"); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfo.java new file mode 100644 index 0000000..d1189bf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfo.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.biz.func.basebrandinfo; + +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseBrandInfo extends BaseEntity { + + private String brandName;//品牌代码 + private String brandCode;//品牌名称 + private String image;//品牌图片url地址 + private String letter;//品牌的首字母大写 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoDto.java new file mode 100644 index 0000000..f54b3a4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoDto.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.func.basebrandinfo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:38 + */ +@Data +public class BaseBrandInfoDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String brandName;//品牌代码 + private String brandCode;//品牌名称 + private String image;//品牌图片url地址 + private String letter;//品牌的首字母大写 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + private String userSid; + private String orgPath; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoMapper.java new file mode 100644 index 0000000..aeab07e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.biz.func.basebrandinfo; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseBrandInfoMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoMapper.xml new file mode 100644 index 0000000..01cbf2c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoQuery.java new file mode 100644 index 0000000..908d720 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoQuery.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.func.basebrandinfo; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseBrandInfoQuery implements Query { + private String name; + private String orgLevelKey;//权限等级 + @ApiModelProperty("菜单路由") + private String menuUrl; + @ApiModelProperty("组织全路径sid") + private String orgPath; + @ApiModelProperty("用户sid") + private String userSid; + private int index; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoService.java new file mode 100644 index 0000000..0cdc2fb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoService.java @@ -0,0 +1,87 @@ +package com.yxt.ordermall.biz.func.basebrandinfo; + +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.commonmethod.CommonMethod; +import com.yxt.ordermall.biz.func.commonmethod.DataRule; +import com.yxt.ordermall.feign.base.basebrandinfo.*; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseBrandInfoService extends MybatisBaseService { + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + BaseBrandInfoFeign baseBrandInfoFeign; + @Autowired + CommonMethod commonMethod; + + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + BaseBrandInfoQuery query=pq.getParams(); + //通用组装方法 根据用户sid、菜单、组织全路径sid 获取组装参数 + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); + ResultBean> w=baseBrandInfoFeign.listPage(pq); + if(!w.getCode().equals("200")){ + return w; + } + PagerVo baseBrandInfoVos=w.getData(); + for (BaseBrandInfoVo baseBrandInfoVo : baseBrandInfoVos.getRecords()) { + if(StringUtils.isNotBlank(baseBrandInfoVo.getImage())){ + baseBrandInfoVo.setImage(fileUploadComponent.getUrlPrefix() + baseBrandInfoVo.getImage()); + } + } + + return rb.success().success().setData(baseBrandInfoVos); + } + public ResultBean> listAll( OrgPathQuery query) { + return baseBrandInfoFeign.listAll(query); +} + public ResultBean saveOrUpdate(BaseBrandInfoDto dto) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + if (StringUtils.isNotBlank(dto.getImage())){ + String path = dto.getImage().substring(urlPrefix.length()); + dto.setImage(path); + } + return baseBrandInfoFeign.saveOrUpdate(dto); + } + + public ResultBean initialization(String sid) { + ResultBean w=baseBrandInfoFeign.initialization(sid); + if(!w.getCode().equals("200")){ + return w; + } + BaseBrandInfoVo baseBrandInfoVo=w.getData(); + baseBrandInfoVo.setImage(fileUploadComponent.getUrlPrefix() + baseBrandInfoVo.getImage()); + return new ResultBean().success().setData(baseBrandInfoVo); + } + + + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + return rb.success().setMsg("成功"); + } + public ResultBean delAll(String[] sids) { + return baseBrandInfoFeign.delBySids(sids); + } + public ResultBean updateIsEnable(String sid,String isEnable) { + ResultBean rb = ResultBean.fireFail(); + return baseBrandInfoFeign.updateIsEnable(sid,isEnable); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoVo.java new file mode 100644 index 0000000..918f10f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basebrandinfo/BaseBrandInfoVo.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.biz.func.basebrandinfo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseBrandInfoVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String brandName;//品牌代码 + private String brandCode;//品牌名称 + private String image;//品牌图片url地址 + private String letter;//品牌的首字母大写 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSku.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSku.java new file mode 100644 index 0000000..2c8da05 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSku.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseGoodsSku extends BaseEntity { + private String goodsSkuCode;//商品Sku代码 + private String title;//商品标题 + private String goodsSpuSid;//商品基础信息Sid + private String externalCode;//外部编码 + private String indexes;//特有规格属性在spu表中special_spec字段对应每个参数值数组下标的组合,如0_0_0,1_0_0,相当于SKU这条记录的编码。 + @TableField(value = "own_spec") + private String ownSpec;//sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序 + private String barCode;//条形码 + private String aidBarCode;//辅助条码 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuDetailsVo.java new file mode 100644 index 0000000..6c6b412 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuDetailsVo.java @@ -0,0 +1,69 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/19 + **/ +@Data +public class BaseGoodsSkuDetailsVo { + + @ApiModelProperty("商品代码") + private String goodsCode; + @ApiModelProperty("条形码") + private String barCode; + @ApiModelProperty("商品名称") + private String goodsName; + @ApiModelProperty("副标题") + private String subTitle; + @ApiModelProperty("拼音缩写") + private String goodsPY; + @ApiModelProperty("商品简称") + private String goodsShortName; + @ApiModelProperty("商品分类sid") + private String goodsTypeSid; + @ApiModelProperty("品牌sid") + private String brandSid; + @ApiModelProperty("厂家sid") + private String manufacturersid; + @ApiModelProperty("商品单位sid") + private String goodsUnitSid; + @ApiModelProperty("商品单位名称") + private String goodsUnitName; + + @ApiModelProperty("商品Sku代码") + private String goodsSkuCode; + @ApiModelProperty("商品标题") + private String title; + @ApiModelProperty("是否一品一码(goodID),0否,1是") + @JsonProperty("isGoodsID") + private int isGoodsID; + + //================================= + + //商品名称 + //零件号 + //拼音 + //条形码 + //计量单位 + //商品类别 + private String goodsTypeName;//商品类别名称 + //厂家 + //规格 + //品牌 + //车型 + //原厂标志 + //产地 + //锁定售价 + //备注 + //上限数量 + //下限数量 + //积分商品 + //所需积分 + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuDto.java new file mode 100644 index 0000000..ea2a3de --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuDto.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.biz.func.basegoodsskuextend.BaseGoodsSkuExtendDto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:38 + */ +@Data +public class BaseGoodsSkuDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String goodsSkuCode;//商品Sku代码 + private String title;//商品标题 + private String goodsSpuSid;//商品基础信息Sid + private String externalCode;//外部编码 + private String indexes;//特有规格属性在spu表中special_spec字段对应每个参数值数组下标的组合,如0_0_0,1_0_0,相当于SKU这条记录的编码。 + @TableField(value = "own_spec") + private String ownSpec;//sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序 + private BaseGoodsSkuExtendDto baseGoodsSkuExtend;//sku扩展 + private String barCode;//条形码 + private String aidBarCode;//辅助条码 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuMapper.java new file mode 100644 index 0000000..52b9ba4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuMapper.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseGoodsSkuMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List getSkusBySpuSid(@Param("spuSid")String spuSid); + BaseGoodsSkuVo getSkuBySid(@Param("sid")String sid); + + IPage getSelectList(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + + IPage purGoodsListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuMapper.xml new file mode 100644 index 0000000..d77cbc5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuMapper.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuPurSelectList.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuPurSelectList.java new file mode 100644 index 0000000..e63531e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuPurSelectList.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/21 + **/ +@Data +public class BaseGoodsSkuPurSelectList { + + //sid + private String sid; + //零件号 + private String goodsSkuCode; + //规格 + private String title; + //商品名称 + private String goodsName; + //商品拼音 + private String goodsPY; + //商品简称 + private String goodsShortName; + //商品类别sid + private String goodsTypeSid; + //品牌sid + private String brandSid; + //厂家sid + private String manufacturerSid; + //商品单位名称 + private String goodsUnitName; + //sku特有规格参数键值对 + private String ownSpec; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuPurSelectQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuPurSelectQuery.java new file mode 100644 index 0000000..f6266ad --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuPurSelectQuery.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/21 + **/ +@Data +public class BaseGoodsSkuPurSelectQuery implements Query { + + //组织sid + private String orgSid; + //商品名称 + private String goodsName; + //商品类别sid + private String goodsTypeSid; + //商品拼音 + private String goodsPY; + //品牌sid + private String brandSid; + //零件号 + private String goodsSkuCode; + //规格 + private String title; + //其他查询条件 + private String otherQuery; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuQuery.java new file mode 100644 index 0000000..b8678db --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuQuery.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSkuQuery implements Query { + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuSelectList.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuSelectList.java new file mode 100644 index 0000000..a37deb8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuSelectList.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/21 + **/ +@Data +public class BaseGoodsSkuSelectList { + + //商品名称 + private String goodsSpuSid; + private String goodsSpuName; + //商品sid + private String goodsSkuSid; + // + private String goodsSkuTitle; + //商品编码 + private String goodsSkuCode; + //条码 + private String barCode; + //规格/型号 + private String ownSpec; + + //计量单位 + private String goodsUnitSid;// + private String goodsUnitName;//单位 + private BigDecimal costPrice=new BigDecimal(0);//单价 + private BigDecimal totalPrice=new BigDecimal(0);//总金额 + private String remarks;//备注 + private Integer count=0;//数量 + private String serialNumber;//序列号 + private String batch;//批次 + private String warehouseRackSid;// + private String warehouseRackName;//库位 + private String shelfLife;//保质期 天数 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuSelectQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuSelectQuery.java new file mode 100644 index 0000000..8b1b842 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuSelectQuery.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/21 + **/ +@Data +public class BaseGoodsSkuSelectQuery implements Query { + + private String createOrgSid; + //商品编码 + private String goodsCode; + //商品名称 + private String goodsName; + //条形码 + private String barCode; + //规格编码 + private String goodsSkuCode; + //规格型号 + private String title; + //具体规格 + private String ownSpec; + //品牌 + private String brandName; + //厂家 + private String manufacturerName; + //分类 + private String typeName; + //厂家货号 + private String manufacturerCode; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuService.java new file mode 100644 index 0000000..7f6c885 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuService.java @@ -0,0 +1,164 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.base.basegoodssku.BaseGoodsSkuFeign; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseGoodsSkuService extends MybatisBaseService { + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + BaseGoodsSkuFeign baseGoodsSkuFeign; + + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("goodsName", query.getName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean> listAllByOrg(OrgPathQuery query) { + return baseGoodsSkuFeign.listAllByOrg(query); + } + + @Transactional + public ResultBean saveOrUpdate(BaseGoodsSkuDto dto) { + ResultBean rb = ResultBean.fireFail(); + + return rb.success().setMsg("成功"); + } + @Transactional + public ResultBean saveOrUpdate(List dtos) { + ResultBean rb = ResultBean.fireFail(); + for (BaseGoodsSkuDto dto : dtos) { + BaseGoodsSku sku=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); + String sid = ""; + if (null!=sku) { + sid = dto.getSid(); + BaseGoodsSku ordermallGoods = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, ordermallGoods); + ordermallGoods.setModifyTime(new Date()); + baseMapper.updateById(ordermallGoods); + dto.getBaseGoodsSkuExtend().setGoodsSkuSid(ordermallGoods.getSid()); +// baseGoodsSkuExtendService.saveOrUpdate(dto.getBaseGoodsSkuExtend()); + } else { + BaseGoodsSku ordermallGoods = new BaseGoodsSku(); + BeanUtil.copyProperties(dto, ordermallGoods); + ordermallGoods.setCreateTime(new DateTime()); + baseMapper.insert(ordermallGoods); + dto.getBaseGoodsSkuExtend().setGoodsSkuSid(ordermallGoods.getSid()); +// baseGoodsSkuExtendService.saveOrUpdate(dto.getBaseGoodsSkuExtend()); + } + } + + return rb.success().setMsg("成功"); + } + + public ResultBean initialization(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuVo vo = baseMapper.getSkuBySid(sid); +// BaseGoodsSkuExtendVo vo1=baseGoodsSkuExtendService.getExtendBySkuSid(vo.getSid()).getData(); +// if(vo1==null){ +// vo.setBaseGoodsSkuExtend(new BaseGoodsSkuExtendVo()); +// } +// vo.setBaseGoodsSkuExtend(vo1); + return rb.success().setData(vo); + } + + public ResultBean> getSkusBySpuSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + List vo = baseMapper.getSkusBySpuSid(sid); + return rb.success().setData(vo); + } + + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSku ordermallGoods = fetchBySid(sid); + if (null != ordermallGoods) { + baseMapper.deleteById(ordermallGoods.getId()); + } + return rb.success(); + } + + public ResultBean updateIsEnable(String sid, String isEnable) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSku ordermallGoods = fetchBySid(sid); + if (null != ordermallGoods) { + ordermallGoods.setIsEnable(Integer.parseInt(isEnable)); + baseMapper.updateById(ordermallGoods); + } + return rb.success().setMsg("成功"); + } + + public ResultBean getDetails(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuDetailsVo baseGoodsSkuDetailsVo = new BaseGoodsSkuDetailsVo(); + BaseGoodsSku baseGoodsSku = fetchBySid(sid); + return rb.success().setData(baseGoodsSkuDetailsVo); + } + + public ResultBean> getSelectList(PagerQuery pagerQuery) { + return baseGoodsSkuFeign.getSelectList(pagerQuery); + } + + public ResultBean> purGoodsListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuPurSelectQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getOrgSid())){ + qw.eq("s.createOrgSid",query.getOrgSid()); + } + if (StringUtils.isNotBlank(query.getGoodsName())) { + qw.like("a.goodsName", query.getGoodsName()); + } + if (StringUtils.isNotBlank(query.getGoodsTypeSid())) { + qw.eq("a.goodsTypeSid", query.getGoodsTypeSid()); + } + if (StringUtils.isNotBlank(query.getGoodsPY())) { + qw.like("a.goodsPY", query.getGoodsPY()); + } + if (StringUtils.isNotBlank(query.getBrandSid())) { + qw.like("a.brandSid", query.getBrandSid()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { + qw.like("s.goodsSkuCode", query.getGoodsSkuCode()); + } + if (StringUtils.isNotBlank(query.getTitle())) { + qw.like("s.title", query.getTitle()); + } + if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getOtherQuery())){ + qw.and(wrapper -> wrapper.like("a.goodsName", query.getOtherQuery()).or().like("s.goodsSkuCode", query.getOtherQuery()).or().like("a.goodsPY",query.getOtherQuery())); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.purGoodsListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuVo.java new file mode 100644 index 0000000..9f7d399 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/BaseGoodsSkuVo.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.biz.func.basegoodsskuextend.BaseGoodsSkuExtendVo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSkuVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String goodsSkuCode;//商品Sku代码 + private String title;//商品标题 + private String goodsSpuSid;//商品基础信息Sid + private String externalCode;//外部编码 + private String indexes;//特有规格属性在spu表中special_spec字段对应每个参数值数组下标的组合,如0_0_0,1_0_0,相当于SKU这条记录的编码。 + @TableField(value = "own_spec") + private String ownSpec;//sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序 + private String goodsName; + private BaseGoodsSkuExtendVo baseGoodsSkuExtend; + private String barCode;//条形码 + private String aidBarCode;//辅助条码 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/SkuSelectList1.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/SkuSelectList1.java new file mode 100644 index 0000000..48a3e1a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodssku/SkuSelectList1.java @@ -0,0 +1,49 @@ +package com.yxt.ordermall.biz.func.basegoodssku; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/21 + **/ +@Data +public class SkuSelectList1 { + + //spusid + private String goodsSpuSid; + //商品编码 + private String goodsCode; + //商品名称 + private String goodsName; + //条形码 + private String barCode; + + private String goodsSkuSid; + //规格编码 + private String goodsSkuCode; + //规格型号 + private String title; + //具体规格 + private String ownSpec; + //分类 + private String typeName; + private String typeSid; + //品牌 + private String brandName; + private String brandSid; + //厂家名 + private String manufacturerSid; + private String manufacturerName; + //厂家货号 + private String factoryCode; + //单位 + private String unit; + private String unitSid; + //销售单价 + private BigDecimal salesPrice=new BigDecimal(0); + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtend.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtend.java new file mode 100644 index 0000000..6c5243c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtend.java @@ -0,0 +1,45 @@ +package com.yxt.ordermall.biz.func.basegoodsskuextend; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseGoodsSkuExtend extends BaseEntity { + private String goodsSkuSid;//商品Sku代码 + private String finalPurchasePrice;//最后采购价 + private String safetyStockDays;//安全库存天数 + private String isOriginalFactory;//是否原厂 + private String isInventoryAlert;//是否库存警戒 + @TableField(value = "InventoryAlertUpperLimit") + private String inventoryAlertUpperLimit;//库存警戒上线 + @TableField(value = "InventoryAlertLowerLimit") + private String inventoryAlertLowerLimit;//库存警戒下线 + private String costPrice;//成本价 + private String tagPrice;//吊牌价 + private String salesPrice;//销售单价 + private String standardPurchasePrice;//标准进价 + private String agencyPrice;//代理价 + private String discount;//折扣 + private String minimumSalesPrice;//最低零售价 + private String isLockingSalesPrice;//是否锁定销售价 + private String isIntegralExchange;//是否可以积分兑换 + private String integralAmount;//积分数量 + private String sortNo;//排序 + private String picUrl;//商品的图片,多个图片以‘,’分割 + private double weight;//重量 + private double volume;//体积(长*宽*高) + private double vLength;//长 + private double vWidth;//宽 + private double vHeight;//高 + private String packageSpecs;//包装规格(如1*30包,1*300ml) + private double quantityOfPackage;//包装内数量 + private String packUnit;//包装单位 + private BigDecimal packPrice;//包装单价 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendDto.java new file mode 100644 index 0000000..282471b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendDto.java @@ -0,0 +1,56 @@ +package com.yxt.ordermall.biz.func.basegoodsskuextend; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:38 + */ +@Data +public class BaseGoodsSkuExtendDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String goodsSkuSid;//商品Sku代码 + private String finalPurchasePrice;//最后采购价 + private String safetyStockDays;//安全库存天数 + private String isOriginalFactory;//是否原厂 + private String isInventoryAlert;//是否库存警戒 + @TableField(value = "InventoryAlertUpperLimit") + private String inventoryAlertUpperLimit;//库存警戒上线 + @TableField(value = "InventoryAlertLowerLimit") + private String inventoryAlertLowerLimit;//库存警戒下线 + private String costPrice;//成本价 + private String tagPrice;//吊牌价 + private String salesPrice;//销售单价 + private String standardPurchasePrice;//标准进价 + private String agencyPrice;//代理价 + private String discount;//折扣 + private String minimumSalesPrice;//最低零售价 + private String isLockingSalesPrice;//是否锁定销售价 + private String isIntegralExchange;//是否可以积分兑换 + private String integralAmount;//积分数量 + private String sortNo;//排序 + private String picUrl;//商品的图片,多个图片以‘,’分割 +// private String [] Urls={};//图片数组 + private List urls;//图片数组 + private double weight;//重量 + private double volume;//体积(长*宽*高) + private double vLength;//长 + private double vWidth;//宽 + private double vHeight;//高 + private String packageSpecs;//包装规格(如1*30包,1*300ml) + private double quantityOfPackage;//包装内数量 + private String packUnit;//包装单位 + private BigDecimal packPrice;//包装单价 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendMapper.java new file mode 100644 index 0000000..36d3431 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendMapper.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.biz.func.basegoodsskuextend; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseGoodsSkuExtendMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + BaseGoodsSkuExtendVo getExtendBySkuSid(@Param("skuSid")String skuSid); + BaseGoodsSkuExtendVo getExtendBySid(@Param("sid")String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml new file mode 100644 index 0000000..ca69ee6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendQuery.java new file mode 100644 index 0000000..7e31474 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendQuery.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.biz.func.basegoodsskuextend; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSkuExtendQuery implements Query { + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendService.java new file mode 100644 index 0000000..b59dfc6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendService.java @@ -0,0 +1,135 @@ +package com.yxt.ordermall.biz.func.basegoodsskuextend; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseGoodsSkuExtendService extends MybatisBaseService { + @Autowired + private FileUploadComponent fileUploadComponent; +// @Autowired +// private BaseBrandInfoService baseBrandInfoService; +// @Autowired +// private BaseGoodsTypeService baseGoodsTypeService; +// @Autowired +// private BaseManufacturerService baseManufacturerService; +// @Autowired +// BaseGoodsSpuDetailService baseGoodsSpuDetailService; + + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuExtendQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(StringUtils.isNotBlank(query.getName())){ + qw.like("goodsName",query.getName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); +// if (!records.isEmpty()) { +// for (BaseGoodsSpuVo record : records) { +// if (StringUtils.isNotBlank(record.getPicUrl())) { +// record.setPicUrl(fileUploadComponent.getUrlPrefix() + record.getPicUrl()); +// } +// } +// } + return rb.success().setData(p); + } + @Transactional + public ResultBean saveOrUpdate(BaseGoodsSkuExtendDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + BaseGoodsSkuExtend extend=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); + if (null!=extend) { + sid = dto.getSid(); + BaseGoodsSkuExtend ordermallGoods = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, ordermallGoods); + ordermallGoods.setModifyTime(new Date()); + for (UrlsVo url : dto.getUrls()) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = url.getUrl().substring(urlPrefix.length()); + if(StringUtils.isBlank(dto.getPicUrl())){ + ordermallGoods.setPicUrl(path); + }else{ + ordermallGoods.setPicUrl(ordermallGoods.getPicUrl()+","+path); + } + } + if (StringUtils.isNotBlank(dto.getPicUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getPicUrl().substring(urlPrefix.length()); + ordermallGoods.setPicUrl(path); + } + baseMapper.updateById(ordermallGoods); + + } else { + BaseGoodsSkuExtend ordermallGoods = new BaseGoodsSkuExtend(); + sid = ordermallGoods.getSid(); + BeanUtil.copyProperties(dto, ordermallGoods); + ordermallGoods.setCreateTime(new DateTime()); + for (UrlsVo url : dto.getUrls()) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = url.getUrl().substring(urlPrefix.length()); + if(StringUtils.isBlank(dto.getPicUrl())){ + ordermallGoods.setPicUrl(path); + }else{ + ordermallGoods.setPicUrl(ordermallGoods.getPicUrl()+","+path); + } + } + baseMapper.insert(ordermallGoods); + } + return rb.success().setMsg("成功"); + } + + public ResultBean initialization(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuExtendVo vo = baseMapper.getExtendBySid(sid); + return rb.success().setData(vo); + } + + public ResultBean getExtendBySkuSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuExtendVo vo = baseMapper.getExtendBySkuSid(sid); + return rb.success().setData(vo); + } + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuExtend ordermallGoods = fetchBySid(sid); + if (null != ordermallGoods) { + baseMapper.deleteById(ordermallGoods.getId()); + } + return rb.success(); + } + + public ResultBean updateIsEnable(String sid,String isEnable) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSkuExtend ordermallGoods = fetchBySid(sid); + if (null != ordermallGoods) { + ordermallGoods.setIsEnable(Integer.parseInt(isEnable)); + baseMapper.updateById(ordermallGoods); + } + return rb.success().setMsg("成功"); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java new file mode 100644 index 0000000..758c3f5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java @@ -0,0 +1,63 @@ +package com.yxt.ordermall.biz.func.basegoodsskuextend; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSkuExtendVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String goodsSkuSid;//商品Skusid + private String finalPurchasePrice;//最后采购价 + private String safetyStockDays;//安全库存天数 + private String isOriginalFactory;//是否原厂 + private String isInventoryAlert;//是否库存警戒 + @TableField(value = "InventoryAlertUpperLimit") + private String inventoryAlertUpperLimit;//库存警戒上线 + @TableField(value = "InventoryAlertLowerLimit") + private String inventoryAlertLowerLimit;//库存警戒下线 + private String costPrice;//成本价 + private String tagPrice;//吊牌价 + private String salesPrice;//销售单价 + private String standardPurchasePrice;//标准进价 + private String agencyPrice;//代理价 + private String discount;//折扣 + private String minimumSalesPrice;//最低零售价 + private String isLockingSalesPrice;//是否锁定销售价 + private String isIntegralExchange;//是否可以积分兑换 + private String integralAmount;//积分数量 + private String sortNo;//排序 + private String picUrl;//商品的图片,多个图片以‘,’分割 +// private String [] Urls={};//图片数组 + private List urls;//图片数组 + private String title;//sku标题 + private double weight;//重量 + private double volume;//体积(长*宽*高) + private double vLength;//长 + private double vWidth;//宽 + private double vHeight;//高 + private String packageSpecs;//包装规格(如1*30包,1*300ml) + private double quantityOfPackage;//包装内数量 + private String packUnit;//包装单位 + private BigDecimal packPrice;//包装单价 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/UrlsVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/UrlsVo.java new file mode 100644 index 0000000..bf37d1f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsskuextend/UrlsVo.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.biz.func.basegoodsskuextend; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/3/22 10:20 + */ +@Data +public class UrlsVo { + private String url; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsImportVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsImportVo.java new file mode 100644 index 0000000..dd55057 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsImportVo.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.biz.func.basegoodsspu; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/11/5 15:24 + */ +@Data +public class BaseGoodsImportVo { + private String xh; + private String xpdm; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpu.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpu.java new file mode 100644 index 0000000..f8ef8ed --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpu.java @@ -0,0 +1,52 @@ +package com.yxt.ordermall.biz.func.basegoodsspu; + +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseGoodsSpu extends BaseEntity { + private String goodsCode;//商品代码 + private String barCode;//条形码 + private String goodsName;//商品名称 + private String subTitle;//商品名称 + private String goodsPY;//拼音缩写 + private String goodsShortName;//商品简称 + private String goodsTypeSid;//商品分类sid + private String brandSid;//品牌sid + private String manufacturerSid;//厂家sid + private String goodsUnitSid;//商品单位sid + private String goodsUnitName;//商品单位名称 + private String taxRate;//税率 + private String shelfLife;//保质期天 + private String nationalStandardCode;//国标码 + private String sortNo;//排序 + private String externalCode;//外部编码 + private String factoryCode;//厂家货号 + private String isListed;//是否上架 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + private String goodsLevelKey;//商品等级Key + private String goodsLevelValue;//商品等级value(数据字典,如A、B、C) + private String goodsClassKey;//商品类型key + private String goodsClassValue;//商品类型value(数据字典,如正常商品、赠品、耗材等) + private String aidBarCode;//辅助条码 + private String lengthUnit;//长度单位 + private String volumeUnit;//体积单位 + private String weightUnit;//重量单位 + private double weight;//重量 + private double volume;//体积(长*宽*高) + private double vLength;//长 + private double vWidth;//宽 + private double vHeight;//高 + private String packageSpecs;//包装规格(如1*30包,1*300ml) + private double quantityOfPackage;//包装内数量 + private String packUnit;//包装单位 + private BigDecimal packPrice;//包装单价 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuDto.java new file mode 100644 index 0000000..690eb9c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuDto.java @@ -0,0 +1,71 @@ +package com.yxt.ordermall.biz.func.basegoodsspu; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.biz.func.basegoodssku.BaseGoodsSkuDto; +import com.yxt.ordermall.biz.func.basegoodsspudetail.BaseGoodsSpuDetailDto; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:38 + */ +@Data +public class BaseGoodsSpuDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String goodsCode;//商品代码 + private String barCode;//条形码 + private String goodsName;//商品名称 + private String subTitle;//副标题 + private String goodsPY;//拼音缩写 + private String goodsShortName;//商品简称 + private String goodsTypeSid;//商品分类sid + private String goodsTypeName;//商品分类sid + private String brandSid;//品牌sid + private String brandName;//品牌sid + private String manufacturerSid;//厂家sid + private String manufacturerName;//厂家sid + private String goodsUnitSid;//商品单位sid + private String goodsUnitName;//商品单位名称 + private String taxRate;//税率 + private String shelfLife;//保质期天 + private String nationalStandardCode;//国标码 + private String sortNo;//排序 + private String externalCode;//外部编码 + private String factoryCode;//厂家货号 + private String isListed;//是否上架 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + private BaseGoodsSpuDetailDto baseGoodsSpuDetail;//商品spu详情 + private List baseGoodsSkus;//商品sku + private String userSid; + private String orgPath; + private String goodsLevelKey;//商品等级Key + private String goodsLevelValue;//商品等级value(数据字典,如A、B、C) + private String goodsClassKey;//商品类型key + private String goodsClassValue;//商品类型value(数据字典,如正常商品、赠品、耗材等) + private String aidBarCode;//辅助条码 + private String lengthUnit;//长度单位 + private String volumeUnit;//体积单位 + private String weightUnit;//重量单位 + private double weight;//重量 + private double volume;//体积(长*宽*高) + private double vLength;//长 + private double vWidth;//宽 + private double vHeight;//高 + private String packageSpecs;//包装规格(如1*30包,1*300ml) + private double quantityOfPackage;//包装内数量 + private String packUnit;//包装单位 + private BigDecimal packPrice;//包装单价 + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuMapper.java new file mode 100644 index 0000000..df4c8ce --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuMapper.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.biz.func.basegoodsspu; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseGoodsSpuMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + BaseGoodsSpuVo initialization(@Param("sid")String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuMapper.xml new file mode 100644 index 0000000..d897e85 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuQuery.java new file mode 100644 index 0000000..a7f61bb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuQuery.java @@ -0,0 +1,42 @@ +package com.yxt.ordermall.biz.func.basegoodsspu; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSpuQuery implements Query { + private String name; + //商品编码 + private String goodsCode; + //商品名称 + private String goodsName; + //条形码 + private String barCode; + //规格编码 + private String goodsSkuCode; + //规格型号 + private String title; + //具体规格 + private String ownSpec; + //品牌 + private String brandName; + //厂家 + private String manufacturerName; + //分类 + private String typeName; + //厂家货号 + private String manufacturerCode; + private String orgLevelKey;//权限等级 + @ApiModelProperty("菜单路由") + private String menuUrl; + @ApiModelProperty("组织全路径sid") + private String orgPath; + @ApiModelProperty("用户sid") + private String userSid; + private int index; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuService.java new file mode 100644 index 0000000..c743ca9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuService.java @@ -0,0 +1,558 @@ +package com.yxt.ordermall.biz.func.basegoodsspu; + +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodssku.BaseGoodsSkuDto; +import com.yxt.ordermall.biz.func.basegoodssku.BaseGoodsSkuVo; +import com.yxt.ordermall.biz.func.basegoodsskuextend.BaseGoodsSkuExtendDto; +import com.yxt.ordermall.biz.func.basegoodsskuextend.UrlsVo; +import com.yxt.ordermall.biz.func.basegoodsspudetail.BaseGoodsSpuDetailDto; +import com.yxt.ordermall.biz.func.commonmethod.CommonMethod; +import com.yxt.ordermall.biz.func.commonmethod.DataRule; +import com.yxt.ordermall.feign.base.basebrandinfo.BaseBrandInfoFeign; +import com.yxt.ordermall.feign.base.basegoodssku.BaseGoodsSkuFeign; +import com.yxt.ordermall.feign.base.basegoodsspu.*; +import com.yxt.ordermall.feign.base.basegoodstype.BaseGoodsTypeFeign; +import com.yxt.ordermall.feign.base.basegoodsunit.BaseGoodsUnitFeign; +import com.yxt.ordermall.feign.base.basemanufacturer.BaseManufacturerFeign; +import com.yxt.ordermall.utils.ExcelUtil; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.net.URLEncoder; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseGoodsSpuService extends MybatisBaseService { + // @Autowired +// private FileUploadComponent fileUploadComponent; + @Autowired + BaseGoodsTypeFeign baseGoodsTypeFeign; + @Autowired + BaseBrandInfoFeign baseBrandInfoFeign; + @Autowired + BaseManufacturerFeign baseManufacturerFeign; + @Autowired + BaseGoodsUnitFeign baseGoodsUnitFeign; + @Value("${image.upload.path:http://127.0.0.1:8080/upload/}") + String path; + @Autowired + BaseGoodsSpuFeign baseGoodsSpuFeign; + @Autowired + BaseGoodsSkuFeign baseGoodsSkuFeign; + @Autowired + CommonMethod commonMethod; + @Autowired + private FileUploadComponent fileUploadComponent; + + + public ResultBean> listPage(PagerQuery pq) { + BaseGoodsSpuQuery query = pq.getParams(); + DataRule dataRule = commonMethod.dataRule(query.getOrgPath(), query.getMenuUrl(), query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); + return baseGoodsSpuFeign.listPage(pq); + } + + @Transactional + public ResultBean saveOrUpdate(BaseGoodsSpuDto dto) { + ResultBean rb = ResultBean.fireFail(); + for (BaseGoodsSkuDto baseGoodsSkus : dto.getBaseGoodsSkus()) { + baseGoodsSkus.getBaseGoodsSkuExtend().setPicUrl(""); + for (UrlsVo url : baseGoodsSkus.getBaseGoodsSkuExtend().getUrls()) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = url.getUrl().substring(urlPrefix.length()); + if (StringUtils.isBlank(baseGoodsSkus.getBaseGoodsSkuExtend().getPicUrl())) { + baseGoodsSkus.getBaseGoodsSkuExtend().setPicUrl(path); + } else { + baseGoodsSkus.getBaseGoodsSkuExtend().setPicUrl(baseGoodsSkus.getBaseGoodsSkuExtend().getPicUrl() + "," + path); + } + } + } + return baseGoodsSpuFeign.saveOrUpdate(dto); + } + + public ResultBean initialization(String sid) { + ResultBean rb = ResultBean.fireFail(); + ResultBean w = baseGoodsSpuFeign.initialization(sid); + if (!w.getCode().equals("200")) { + return w; + } + BaseGoodsSpuVo baseGoodsSpuVo = w.getData(); + for (BaseGoodsSkuVo baseGoodsSkus : baseGoodsSpuVo.getBaseGoodsSkus()) { + for (UrlsVo url : baseGoodsSkus.getBaseGoodsSkuExtend().getUrls()) { + url.setUrl(fileUploadComponent.getUrlPrefix() + url.getUrl()); + } + } + + return rb.success().setData(baseGoodsSpuVo); + } + + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSpu ordermallGoods = fetchBySid(sid); + if (null != ordermallGoods) { + baseMapper.deleteById(ordermallGoods.getId()); + } + return rb.success(); + } + + public ResultBean delAll(String[] sids) { + return baseGoodsSpuFeign.delBySids(sids); + } + + public ResultBean updateIsEnable(String sid, String isEnable) { + ResultBean rb = ResultBean.fireFail(); + return baseGoodsSpuFeign.updateIsEnable(sid, isEnable); + } + + public void download(HttpServletRequest request, HttpServletResponse response) { + + // 指定要下载的文件路径 + String filePath = path + "商享通商品导入明细模版.xls"; + String fileName = new File(filePath).getName(); + String encodedFileName = null; + try { + encodedFileName = URLEncoder.encode(fileName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + // 设置响应头信息 + response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedFileName + "\""); + // 获取文件名 + response.setContentType("application/octet-stream"); + // 读取文件并将其写入响应输出流 + try (InputStream in = new FileInputStream(filePath); + OutputStream out = response.getOutputStream()) { + byte[] buffer = new byte[4096]; + int bytesRead; + while ((bytesRead = in.read(buffer)) != -1) { + out.write(buffer, 0, bytesRead); + } + } catch (FileNotFoundException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public ResultBean batchSave(List dtos, String orgPath) { + return baseGoodsSpuFeign.batchSave(dtos, orgPath); + } + + public ResultBean importExcel(MultipartFile file, String orgPath) throws IOException { +// return baseGoodsSpuFeign.importExcel(file); + ResultBean rb = new ResultBean().fail(); + //檢查excel + ExcelUtil.checkFile(file); + //解析excel + List list = ExcelUtil.readExcel(file); + OrgPathQuery q = new OrgPathQuery(); + q.setOrgPath(orgPath); + List vos1 = baseGoodsSkuFeign.listAllByOrg(q).getData(); + List list2=new ArrayList<>(); + if (!list.isEmpty()) { + List tt = new ArrayList(); + List list1 = new ArrayList<>(); + List tt1 = new ArrayList(); + for (int i = 0; i < list.size(); i++) { + BaseGoodsSpuDto dto = new BaseGoodsSpuDto(); + String spuCode = StringUtils.isEmpty(list.get(i)[0]) ? null : list.get(i)[0]; + if (StringUtils.isBlank(spuCode)) { +// return rb.setMsg("第" + (i + 1) + "行商品编码为空!"); + list2.add("第" + (i + 1) + "行商品编码为空!"); + } + String spuName = StringUtils.isEmpty(list.get(i)[2]) ? null : list.get(i)[2]; + if (StringUtils.isBlank(spuName)) { +// return rb.setMsg("第" + (i + 1) + "行商品名称为空!"); + list2.add("第" + (i + 1) + "行商品名称为空!"); + } + String type = StringUtils.isEmpty(list.get(i)[6]) ? null : list.get(i)[6]; + if (StringUtils.isBlank(type)) { +// return rb.setMsg("第" + (i + 1) + "行商品分类为空!"); + list2.add("第" + (i + 1) + "行商品分类为空!"); + } + String brand = StringUtils.isEmpty(list.get(i)[7]) ? null : list.get(i)[7]; + if (StringUtils.isBlank(brand)) { +// return rb.setMsg("第" + (i + 1) + "行品牌为空!"); + list2.add("第" + (i + 1) + "行品牌为空!"); + } + String cj = StringUtils.isEmpty(list.get(i)[8]) ? null : list.get(i)[8]; + if (StringUtils.isBlank(cj)) { +// return rb.setMsg("第" + (i + 1) + "行厂家为空!"); + list2.add("第" + (i + 1) + "行厂家为空!"); + } + String unit = StringUtils.isEmpty(list.get(i)[9]) ? null : list.get(i)[9]; + if (StringUtils.isBlank(unit)) { +// return rb.setMsg("第" + (i + 1) + "行商品单位为空!"); + list2.add("第" + (i + 1) + "行商品单位为空!"); + } + String taxRate = StringUtils.isEmpty(list.get(i)[10]) ? null : list.get(i)[10]; + if (!isNumeric(taxRate)) { +// return rb.setMsg("第" + (i + 1) + "行税率不是数字!"); + list2.add("第" + (i + 1) + "行税率不是数字!"); + } + if (StringUtils.isNotBlank(taxRate)) { + if (taxRate.contains("-")) { +// return rb.setMsg("第" + (i + 1) + "行税率不能为负数!"); + list2.add("第" + (i + 1) + "行税率不能为负数!"); + } + if (!taxRate.contains(".")) { +// return rb.setMsg("第" + (i + 1) + "行税率不是小数!"); + list2.add("第" + (i + 1) + "行税率不是小数!"); + } + if (taxRate.length() > 4) { +// return rb.setMsg("第" + (i + 1) + "行税率长度不正确!"); + list2.add("第" + (i + 1) + "行税率长度不正确!"); + } + } else { +// return rb.setMsg("第" + (i + 1) + "行税率为空!"); + list2.add("第" + (i + 1) + "行税率为空!"); + } + String bzq = StringUtils.isEmpty(list.get(i)[11]) ? null : list.get(i)[11]; + if (!isNumeric(bzq)) { +// return rb.setMsg("第" + (i + 1) + "行保质期(天)不是数字!"); + list2.add("第" + (i + 1) + "行保质期(天)不是数字!"); + } + if (StringUtils.isBlank(bzq)) { +// return rb.setMsg("第" + (i + 1) + "行保质期(天)为空!"); + list2.add("第" + (i + 1) + "行保质期(天)为空!"); + } + String ggdm = StringUtils.isEmpty(list.get(i)[18]) ? null : list.get(i)[18]; + boolean b=vos1.stream().anyMatch(o->o.getGoodsSkuCode().equals(ggdm)); + if(b){ +// return rb.setMsg("第" + (i + 1) + "行规格代码已存在!"); + list2.add("第" + (i + 1) + "行规格代码已存在!"); + } + BaseGoodsImportVo vo = new BaseGoodsImportVo(); + vo.setXh(String.valueOf(i + 1)); + vo.setXpdm(ggdm); + list1.add(vo); + if (StringUtils.isBlank(ggdm)) { +// return rb.setMsg("第" + (i + 1) + "行规格代码不正确!"); + list2.add("第" + (i + 1) + "行规格代码不正确!"); + } + String ggxh = StringUtils.isEmpty(list.get(i)[20]) ? null : list.get(i)[20]; + if (StringUtils.isBlank(ggxh)) { +// return rb.setMsg("第" + (i + 1) + "行规格型号为空!"); + list2.add("第" + (i + 1) + "行规格型号为空!"); + } + String cgj = StringUtils.isEmpty(list.get(i)[21]) ? null : list.get(i)[21]; + if (!isNumeric(cgj)) { +// return rb.setMsg("第" + (i + 1) + "行最后采购价不是数字!"); + list2.add("第" + (i + 1) + "行最后采购价不是数字!"); + } + if (StringUtils.isBlank(cgj)) { +// return rb.setMsg("第" + (i + 1) + "行最后采购价为空!"); + list2.add("第" + (i + 1) + "行最后采购价为空!"); + } + String aqts = StringUtils.isEmpty(list.get(i)[22]) ? null : list.get(i)[22]; + if (!isNumeric(aqts)) { +// return rb.setMsg("第" + (i + 1) + "行库存安全天数不是数字!"); + list2.add("第" + (i + 1) + "行库存安全天数不是数字!"); + } + String jjsx = StringUtils.isEmpty(list.get(i)[25]) ? null : list.get(i)[25]; + if (!isNumeric(jjsx)) { +// return rb.setMsg("第" + (i + 1) + "行库存警戒上线不是数字!"); + list2.add("第" + (i + 1) + "行库存警戒上线不是数字!"); + } + String jjxx = StringUtils.isEmpty(list.get(i)[26]) ? null : list.get(i)[26]; + if (!isNumeric(jjxx)) { +// return rb.setMsg("第" + (i + 1) + "行库存警戒下线不是数字!"); + list2.add("第" + (i + 1) + "行库存警戒下线不是数字!"); + } + String cbj = StringUtils.isEmpty(list.get(i)[27]) ? null : list.get(i)[27]; + if (!isNumeric(cbj)) { +// return rb.setMsg("第" + (i + 1) + "行成本价不是数字!"); + list2.add("第" + (i + 1) + "行成本价不是数字!"); + } + if (StringUtils.isBlank(cbj)) { +// return rb.setMsg("第" + (i + 1) + "行成本价为空!"); + list2.add("第" + (i + 1) + "行成本价为空!"); + } + String dpj = StringUtils.isEmpty(list.get(i)[28]) ? null : list.get(i)[28]; + if (!isNumeric(dpj)) { +// return rb.setMsg("第" + (i + 1) + "行吊牌价不是数字!"); + list2.add("第" + (i + 1) + "行吊牌价不是数字!"); + } + String xsdj = StringUtils.isEmpty(list.get(i)[29]) ? null : list.get(i)[29]; + if(!isNumeric(xsdj)){ +// return rb.setMsg("第" + (i + 1) + "行销售单价不是数字!"); + list2.add("第" + (i + 1) + "行销售单价不是数字!"); + } + if (StringUtils.isBlank(xsdj)) { +// return rb.setMsg("第" + (i + 1) + "行销售单价为空!"); + list2.add("第" + (i + 1) + "行销售单价为空!"); + } + + String bzjj = StringUtils.isEmpty(list.get(i)[30]) ? null : list.get(i)[30]; + if(!isNumeric(bzjj)){ +// return rb.setMsg("第" + (i + 1) + "行标准进价不是数字!"); + list2.add("第" + (i + 1) + "行标准进价不是数字!"); + } + String dlj = StringUtils.isEmpty(list.get(i)[31]) ? null : list.get(i)[31]; + if(!isNumeric(dlj)){ +// return rb.setMsg("第" + (i + 1) + "行代理价不是数字!"); + list2.add("第" + (i + 1) + "行代理价不是数字!"); + } + String zk = StringUtils.isEmpty(list.get(i)[32]) ? null : list.get(i)[32]; + if(!isNumeric(zk)){ +// return rb.setMsg("第" + (i + 1) + "行折扣不是数字!"); + list2.add("第" + (i + 1) + "行折扣不是数字!"); + } + String zdls = StringUtils.isEmpty(list.get(i)[33]) ? null : list.get(i)[33]; + if(!isNumeric(zdls)){ +// return rb.setMsg("第" + (i + 1) + "行最低零售价不是数字!"); + list2.add("第" + (i + 1) + "行最低零售价不是数字!"); + } + String jf = StringUtils.isEmpty(list.get(i)[36]) ? null : list.get(i)[36]; + if(!isNumeric(jf)){ + list2.add("第" + (i + 1) + "行积分不是数字!"); +// return rb.setMsg("第" + (i + 1) + "行积分不是数字!"); + } + dto = this.packaging(list.get(i), dto); + if (null == dto) { + return rb.setMsg("导入失败,第" + (i + 1) + "行数据错误!"); + } else { + tt.add(dto); + } + } + Map nameCountMap = list1.stream() + .collect(Collectors.groupingBy(BaseGoodsImportVo::getXpdm, Collectors.counting())); + List vos = list1.stream().filter(a -> nameCountMap.getOrDefault(a.getXpdm(), 0L) > 1).collect(Collectors.toList()); + if (vos.size() != 0) { + String a = ""; + for (BaseGoodsImportVo vo : vos) { + if (vo.getXpdm().equals(vos.get(0).getXpdm())) { + if (StringUtils.isBlank(a)) { + a = vo.getXh(); + } else { + a = a + "," + vo.getXh(); + } + } + } + list2.add("导入失败,第" + a + "行规格代码数据重复!"); + } + tt1 = a(tt); + if (list2.size()!=0){ + String err=""; + for (String vo : list2) { + if(StringUtils.isBlank(err)){ + err=err+vo; + }else{ + err=err+","+vo; + } + } + return rb.setMsg(err).setData(tt1); + }else { + return rb.success().setMsg("导入成功").setData(tt1); + } + } else { + return rb.setMsg("导入文件没有有效数据"); + } + } + public static boolean isNumeric(String strNum) { + if (strNum == null) { + return false; + } + return strNum.matches("-?\\d+(\\.\\d+)?"); + } + + public List a(List dtos) { + ResultBean rb = new ResultBean().fail(); + List spus = new ArrayList<>();//spu list + int goodsCode = dtos.stream().filter(b -> StringUtils.isEmpty(b.getGoodsCode())).collect(Collectors.toList()).size(); + if (goodsCode == 0) { + spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsCode)).collect(Collectors.toList()); + } else { + spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsName)).collect(Collectors.toList()); + } + for (BaseGoodsSpuDto baseGoodsSpuDto : spus) { + BaseGoodsSpuDetailDto spuDetail = new BaseGoodsSpuDetailDto(); + List skus = new ArrayList<>(); + String sid = UUID.randomUUID().toString(); + baseGoodsSpuDto.setSid(sid); + List dtos1 = new ArrayList<>(); + if (goodsCode == 0) { + dtos1 = dtos.stream().filter(d -> d.getGoodsCode().equals(baseGoodsSpuDto.getGoodsCode())).collect(Collectors.toList()); + } else { + dtos1 = dtos.stream().filter(d -> d.getGoodsName().equals(baseGoodsSpuDto.getGoodsName())).collect(Collectors.toList()); + } + spuDetail.setGoodsExplain(dtos1.get(0).getBaseGoodsSpuDetail().getGoodsExplain()); + spuDetail.setGoodsDescription(dtos1.get(0).getBaseGoodsSpuDetail().getGoodsDescription()); + spuDetail.setSid(UUID.randomUUID().toString()); + spuDetail.setGoodSpuSid(baseGoodsSpuDto.getSid()); + for (BaseGoodsSpuDto dto : dtos1) { + BaseGoodsSkuDto sku = new BaseGoodsSkuDto(); + String skuSid = UUID.randomUUID().toString(); + sku.setGoodsSkuCode(dto.getBaseGoodsSkus().get(0).getGoodsSkuCode()); + sku.setTitle(dto.getBaseGoodsSkus().get(0).getTitle()); + sku.setExternalCode(dto.getBaseGoodsSkus().get(0).getExternalCode()); + sku.setGoodsSpuSid(sid); + sku.setSid(skuSid); + sku.setIndexes(dto.getBaseGoodsSkus().get(0).getIndexes()); + BaseGoodsSkuExtendDto skuExtend = new BaseGoodsSkuExtendDto(); + skuExtend.setSid(UUID.randomUUID().toString()); + skuExtend.setGoodsSkuSid(skuSid); + skuExtend.setSortNo("1"); + skuExtend.setFinalPurchasePrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getFinalPurchasePrice()); + skuExtend.setSafetyStockDays(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getSafetyStockDays()); + skuExtend.setIsOriginalFactory(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIsOriginalFactory()); + skuExtend.setIsInventoryAlert(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIsInventoryAlert()); + skuExtend.setInventoryAlertUpperLimit(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getInventoryAlertUpperLimit()); + skuExtend.setInventoryAlertLowerLimit(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getInventoryAlertLowerLimit()); + skuExtend.setCostPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getCostPrice()); + skuExtend.setTagPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getTagPrice()); + skuExtend.setSalesPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getSalesPrice()); + skuExtend.setStandardPurchasePrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getStandardPurchasePrice()); + skuExtend.setAgencyPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getAgencyPrice()); + skuExtend.setDiscount(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getDiscount()); + skuExtend.setMinimumSalesPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getMinimumSalesPrice()); + skuExtend.setIsLockingSalesPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIsLockingSalesPrice()); + skuExtend.setIsIntegralExchange(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIsIntegralExchange()); + skuExtend.setIntegralAmount(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIntegralAmount()); + sku.setBaseGoodsSkuExtend(skuExtend); + skus.add(sku); + } + baseGoodsSpuDto.setBaseGoodsSkus(skus); + baseGoodsSpuDto.setBaseGoodsSpuDetail(spuDetail); + } + return spus; + } + + private static Predicate distinctByKey(Function keyExtractor) { + Set seen = ConcurrentHashMap.newKeySet(); + return t -> seen.add(keyExtractor.apply(t)); + } + + private BaseGoodsSpuDto packaging(String[] arr, BaseGoodsSpuDto baseGoodsSpuDto) { + Map result = new HashMap<>(); + //0四电名称1四电类别2规格3数量4单价5总价6单位7备注 +// BaseGoodsSpuDto baseGoodsSpuDto =null; + try { + String goodsCode = StringUtils.isEmpty(arr[0]) ? "" : arr[0];// + String barCode = StringUtils.isEmpty(arr[1]) ? "" : arr[1];// + String goodsName = StringUtils.isEmpty(arr[2]) ? "" : arr[2];// + String subTitle = StringUtils.isEmpty(arr[3]) ? "" : arr[3]; + String goodsPY = StringUtils.isEmpty(arr[4]) ? "" : arr[4]; + String goodsShortName = StringUtils.isEmpty(arr[5]) ? "" : arr[5]; + String goodsType = StringUtils.isEmpty(arr[6]) ? "" : arr[6]; + String brand = StringUtils.isEmpty(arr[7]) ? "" : arr[7]; + String manufacturer = StringUtils.isEmpty(arr[8]) ? "" : arr[8]; + String goodsUnitName = StringUtils.isEmpty(arr[9]) ? "" : arr[9]; + String taxRate = StringUtils.isEmpty(arr[10]) ? "0" : arr[10]; + String shelfLife = StringUtils.isEmpty(arr[11]) ? "0" : arr[11]; + String nationalStandardCode = StringUtils.isEmpty(arr[12]) ? "" : arr[12]; + String externalCode = StringUtils.isEmpty(arr[13]) ? "" : arr[13]; + String factoryCode = StringUtils.isEmpty(arr[14]) ? "" : arr[14]; + String isListed = (StringUtils.isEmpty(arr[15]) ? "1" : arr[15].equals("是") ? "1" : "2"); + + String goodsExplain = StringUtils.isEmpty(arr[16]) ? "" : arr[16]; + String goodsDescription = StringUtils.isEmpty(arr[17]) ? "" : arr[17]; + + String goodsSkuSid = ""; + String goodsSkuCode = StringUtils.isEmpty(arr[18]) ? "" : arr[18]; + String title = StringUtils.isEmpty(arr[19]) ? "" : arr[19]; +// String ownSpec = StringUtils.isEmpty(arr[20]) ? "" : arr[20]; + String indexes = StringUtils.isEmpty(arr[20]) ? "" : arr[20]; + + String finalPurchasePrice = StringUtils.isEmpty(arr[21]) ? "" : arr[21]; + String safetyStockDays = StringUtils.isEmpty(arr[22]) ? "" : arr[22]; + String isOriginalFactory = (StringUtils.isEmpty(arr[23]) ? "1" : arr[23].equals("是") ? "1" : "2"); + String isInventoryAlert = (StringUtils.isEmpty(arr[24]) ? "1" : arr[24].equals("是") ? "1" : "2"); + String inventoryAlertUpperLimit = StringUtils.isEmpty(arr[25]) ? "0" : arr[25]; + String inventoryAlertLowerLimit = StringUtils.isEmpty(arr[26]) ? "0" : arr[26]; + String costPrice = StringUtils.isEmpty(arr[27]) ? "0" : arr[27]; + String tagPrice = StringUtils.isEmpty(arr[28]) ? "0" : arr[28]; + String salesPrice = StringUtils.isEmpty(arr[29]) ? "0" : arr[29]; + String standardPurchasePrice = StringUtils.isEmpty(arr[30]) ? "0" : arr[30]; + String agencyPrice = StringUtils.isEmpty(arr[31]) ? "0" : arr[31]; + String discount = StringUtils.isEmpty(arr[32]) ? "0" : arr[32]; + String minimumSalesPrice = StringUtils.isEmpty(arr[33]) ? "0" : arr[33]; + String isLockingSalesPrice = (StringUtils.isEmpty(arr[34]) ? "1" : arr[34].equals("是") ? "1" : "2"); + String isIntegralExchange = (StringUtils.isEmpty(arr[35]) ? "1" : arr[35].equals("是") ? "1" : "2"); + String integralAmount = StringUtils.isEmpty(arr[36]) ? "0" : arr[36]; + + //excel表中物资类别保存的是分类编号,插入数据库时 根据分类编号查询基础数据中 物资类别表的id + + baseGoodsSpuDto.setSortNo("1"); + baseGoodsSpuDto.setGoodsCode(goodsCode); + baseGoodsSpuDto.setBarCode(barCode);//物资类别 保存物资类别表id + baseGoodsSpuDto.setGoodsName(goodsName); + baseGoodsSpuDto.setSubTitle(subTitle); + baseGoodsSpuDto.setGoodsPY(goodsPY); + baseGoodsSpuDto.setGoodsShortName(goodsShortName); + + baseGoodsSpuDto.setGoodsTypeName(goodsType); + baseGoodsSpuDto.setBrandName(brand); + baseGoodsSpuDto.setManufacturerName(manufacturer); +// baseGoodsSpuDto.setGoodsUnitSid(goodsUnitSid); + baseGoodsSpuDto.setGoodsUnitName(goodsUnitName); + baseGoodsSpuDto.setTaxRate(taxRate); + baseGoodsSpuDto.setShelfLife(shelfLife); + baseGoodsSpuDto.setNationalStandardCode(nationalStandardCode); + baseGoodsSpuDto.setExternalCode(externalCode); + baseGoodsSpuDto.setFactoryCode(factoryCode); + baseGoodsSpuDto.setIsListed(isListed); + BaseGoodsSpuDetailDto dto = new BaseGoodsSpuDetailDto(); + dto.setGoodsExplain(goodsExplain); + dto.setGoodsDescription(goodsDescription); + baseGoodsSpuDto.setBaseGoodsSpuDetail(dto); + List dtos = new ArrayList<>(); + BaseGoodsSkuDto dto1 = new BaseGoodsSkuDto(); + dto1.setGoodsSkuCode(goodsSkuCode); + dto1.setTitle(title); + dto1.setIndexes(indexes); + BaseGoodsSkuExtendDto dto2 = new BaseGoodsSkuExtendDto(); + dto2.setSortNo("1"); + dto2.setFinalPurchasePrice(finalPurchasePrice); + dto2.setSafetyStockDays(safetyStockDays); + dto2.setIsOriginalFactory(isOriginalFactory); + dto2.setIsInventoryAlert(isInventoryAlert); + dto2.setInventoryAlertUpperLimit(inventoryAlertUpperLimit); + dto2.setInventoryAlertLowerLimit(inventoryAlertLowerLimit); + dto2.setCostPrice(costPrice); + dto2.setTagPrice(tagPrice); + dto2.setSalesPrice(salesPrice); + dto2.setStandardPurchasePrice(standardPurchasePrice); + dto2.setAgencyPrice(agencyPrice); + dto2.setDiscount(discount); + dto2.setMinimumSalesPrice(minimumSalesPrice); + dto2.setIsLockingSalesPrice(isLockingSalesPrice); + dto2.setIsIntegralExchange(isIntegralExchange); + dto2.setIntegralAmount(integralAmount); + dto1.setBaseGoodsSkuExtend(dto2); + dtos.add(dto1); + baseGoodsSpuDto.setBaseGoodsSkus(dtos); + + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return baseGoodsSpuDto; + } + + public ResultBean updateIsEnablebySku(String sid, String isEnable) { + return baseGoodsSpuFeign.updateIsEnablebySku(sid, isEnable); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuVo.java new file mode 100644 index 0000000..4d591a6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspu/BaseGoodsSpuVo.java @@ -0,0 +1,73 @@ +package com.yxt.ordermall.biz.func.basegoodsspu; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.biz.func.basegoodssku.BaseGoodsSkuVo; +import com.yxt.ordermall.biz.func.basegoodsspudetail.BaseGoodsSpuDetailVo; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSpuVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String goodsCode;//商品代码 + private String barCode;//条形码 + private String goodsName;//商品名称 + private String subTitle;//商品名称 + private String goodsPY;//拼音缩写 + private String goodsShortName;//商品简称 + private String goodsTypeSid;//商品分类sid + private String brandSid;//品牌sid + private String manufacturerSid;//厂家sid + private String goodsUnitSid;//商品单位sid + private String goodsUnitName;//商品单位名称 + private String taxRate;//税率 + private String shelfLife;//保质期天 + private String nationalStandardCode;//国标码 + private String sortNo;//排序 + private String externalCode;//外部编码 + private String factoryCode;//厂家货号 + private String isListed;//是否上架 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + private BaseGoodsSpuDetailVo baseGoodsSpuDetail; + private List baseGoodsSkus; + private String brandName; + private String manufacturerName; + private String typeName; + private String goodsLevelKey;//商品等级Key + private String goodsLevelValue;//商品等级value(数据字典,如A、B、C) + private String goodsClassKey;//商品类型key + private String goodsClassValue;//商品类型value(数据字典,如正常商品、赠品、耗材等) + private String aidBarCode;//辅助条码 + private String lengthUnit;//长度单位 + private String volumeUnit;//体积单位 + private String weightUnit;//重量单位 + private double weight;//重量 + private double volume;//体积(长*宽*高) + private double vLength;//长 + private double vWidth;//宽 + private double vHeight;//高 + private String packageSpecs;//包装规格(如1*30包,1*300ml) + private double quantityOfPackage;//包装内数量 + private String packUnit;//包装单位 + private BigDecimal packPrice;//包装单价 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetail.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetail.java new file mode 100644 index 0000000..2b9ae07 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetail.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.biz.func.basegoodsspudetail; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseGoodsSpuDetail extends BaseEntity { + private String goodSpuSid;//商品基础信息Sid + private String goodsExplain;//商品详细说明 + private String goodsDescription;//商品描述 + @TableField(value = "generic_spec") + private String genericSpec;//通用规格参数及数据,json格式(规格参数id,规格参数值的键值对) + @TableField(value = "special_spec") + private String specialSpec;//特有规格参数及可选值信息,json格式(特有规格参数id,[可选参数值]) +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailDto.java new file mode 100644 index 0000000..7fc4c25 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailDto.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.func.basegoodsspudetail; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:38 + */ +@Data +public class BaseGoodsSpuDetailDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String goodSpuSid;//商品基础信息Sid + private String goodsExplain;//商品详细说明 + private String goodsDescription;//商品描述 + @TableField(value = "generic_spec") + private String genericSpec;//通用规格参数及数据,json格式(规格参数id,规格参数值的键值对) + @TableField(value = "special_spec") + private String specialSpec;//特有规格参数及可选值信息,json格式(特有规格参数id,[可选参数值]) +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailMapper.java new file mode 100644 index 0000000..4a1c2cb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailMapper.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.biz.func.basegoodsspudetail; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseGoodsSpuDetailMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + BaseGoodsSpuDetailVo getSpuDetailsBySpuSid (@Param("skuSid")String skuSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml new file mode 100644 index 0000000..643e194 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailQuery.java new file mode 100644 index 0000000..210f63c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailQuery.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.biz.func.basegoodsspudetail; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSpuDetailQuery implements Query { + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailService.java new file mode 100644 index 0000000..2407192 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailService.java @@ -0,0 +1,102 @@ +package com.yxt.ordermall.biz.func.basegoodsspudetail; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseGoodsSpuDetailService extends MybatisBaseService { + @Autowired + private FileUploadComponent fileUploadComponent; +// @Autowired +// private BaseBrandInfoService baseBrandInfoService; +// @Autowired +// private BaseGoodsTypeService baseGoodsTypeService; +// @Autowired +// private BaseManufacturerService ordermallManufacturerService; + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSpuDetailQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(StringUtils.isNotBlank(query.getName())){ + qw.like("goodsName",query.getName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean saveOrUpdate(BaseGoodsSpuDetailDto dto) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSpuDetail detail=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); + String sid = ""; + if (null!=detail) { + sid = dto.getSid(); + BaseGoodsSpuDetail baseGoodsSpuDetail = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, baseGoodsSpuDetail); + baseGoodsSpuDetail.setModifyTime(new Date()); + baseMapper.updateById(baseGoodsSpuDetail); + } else { + + BaseGoodsSpuDetail baseGoodsSpuDetail = new BaseGoodsSpuDetail(); + sid = baseGoodsSpuDetail.getSid(); + BeanUtil.copyProperties(dto, baseGoodsSpuDetail); + baseGoodsSpuDetail.setCreateTime(new DateTime()); + + baseMapper.insert(baseGoodsSpuDetail); + } + return rb.success().setMsg("成功"); + } + + public ResultBean initialization(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSpuDetailVo vo = new BaseGoodsSpuDetailVo(); + BaseGoodsSpuDetail ordermallGoods = fetchBySid(sid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + BeanUtil.copyProperties(ordermallGoods, vo); + return rb.success().setData(vo); + } + public ResultBean getSpuDetailsBySpuSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSpuDetailVo vo = baseMapper.getSpuDetailsBySpuSid(sid); + return rb.success().setData(vo); + } + + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSpuDetail ordermallGoods = fetchBySid(sid); + if (null != ordermallGoods) { + baseMapper.deleteById(ordermallGoods.getId()); + } + return rb.success(); + } + + public ResultBean updateIsEnable(String sid,String isEnable) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSpuDetail ordermallGoods = fetchBySid(sid); + if (null != ordermallGoods) { + ordermallGoods.setIsEnable(Integer.parseInt(isEnable)); + baseMapper.updateById(ordermallGoods); + } + return rb.success().setMsg("成功"); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailVo.java new file mode 100644 index 0000000..18a4b0d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsspudetail/BaseGoodsSpuDetailVo.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.biz.func.basegoodsspudetail; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsSpuDetailVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String goodSpuSid;//商品基础信息Sid + private String goodsExplain;//商品详细说明 + private String goodsDescription;//商品描述 + @TableField(value = "generic_spec") + private String genericSpec;//通用规格参数及数据,json格式(规格参数id,规格参数值的键值对) + @TableField(value = "special_spec") + private String specialSpec;//特有规格参数及可选值信息,json格式(特有规格参数id,[可选参数值]) + private String goodsName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsType.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsType.java new file mode 100644 index 0000000..ca555c2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsType.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.biz.func.basegoodstype; + +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseGoodsType extends BaseEntity { + private String goodsTypeName;//商品类别名称 + private String goodsTypeCode;//类别编码 + private String percentageRate;//提成比例 + private String percentageAmount;//提成金额 + private String pSid;//父级sid + private String isParent;//是否为父节点,0为否,1为是,0标识为叶子节点 + private String isGoodsID="1";//是否一品一码 0 否 1是 + private String sortNo;//排序 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + private String outStockRule;//出库规则 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeDto.java new file mode 100644 index 0000000..1659bd5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeDto.java @@ -0,0 +1,37 @@ +package com.yxt.ordermall.biz.func.basegoodstype; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:38 + */ +@Data +public class BaseGoodsTypeDto implements Dto { + private String id; + private String sid; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + private String goodsTypeName;//商品类别名称 + private String goodsTypeCode;//类别编码 + private String percentageRate;//提成比例 + private String percentageAmount;//提成金额 + private String pSid;//父级sid + private String isParent;//是否为父节点,0为否,1为是,0标识为叶子节点 + private String isGoodsID;//是否一品一码 0 否 1是 + private String sortNo;//排序 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + private String pName;//创建组织sid + private String sids;//父级sid + private String outStockRule;//出库规则 + private String userSid; + private String orgPath; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeMapper.java new file mode 100644 index 0000000..74d80b3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeMapper.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.biz.func.basegoodstype; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseGoodsTypeMapper extends BaseMapper { + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeMapper.xml new file mode 100644 index 0000000..ddc9d36 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeQuery.java new file mode 100644 index 0000000..713d06d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeQuery.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.biz.func.basegoodstype; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsTypeQuery implements Query { + private String name;//名字 + private String code;//编码 + private String goodID;//是否一品一码(goodID),0否,1是 + private String outStockRule;//出库规则(先进先出0、先进后出1、保质期优先2) + private String orgLevelKey;//权限等级 + @ApiModelProperty("菜单路由") + private String menuUrl; + @ApiModelProperty("组织全路径sid") + private String orgPath; + @ApiModelProperty("用户sid") + private String userSid; + private int index; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeService.java new file mode 100644 index 0000000..16071e9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeService.java @@ -0,0 +1,90 @@ +package com.yxt.ordermall.biz.func.basegoodstype; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.commonmethod.CommonMethod; +import com.yxt.ordermall.biz.func.commonmethod.DataRule; +import com.yxt.ordermall.biz.func.sysorganization.SysOrganizationVo; +import com.yxt.ordermall.feign.base.basegoodstype.BaseGoodsTypeFeign; +import com.yxt.ordermall.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseGoodsTypeService extends MybatisBaseService { + + @Autowired + BaseGoodsTypeFeign baseGoodsTypeFeign; + @Autowired + SysOrganizationFeign sysOrganizationFeign; + @Autowired + CommonMethod commonMethod; + + public ResultBean> listPage(PagerQuery pq) { + BaseGoodsTypeQuery query=pq.getParams(); + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); + return baseGoodsTypeFeign.listPage(pq); + } + public ResultBean> listAll(OrgPathQuery query) { + ResultBean rb = ResultBean.fireFail(); + String useOrgSid = ""; + String orgPath = query.getOrgPath(); + if (StringUtils.isNotBlank(orgPath)) { + List split = Arrays.asList(orgPath.split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + useOrgSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + useOrgSid = sysOrganization.getSid(); + } + } + query.setUserOrgSid(useOrgSid); + return baseGoodsTypeFeign.listAll(query); + } + + public ResultBean saveOrUpdate(BaseGoodsTypeDto dto) { + ResultBean rb = ResultBean.fireFail(); + return baseGoodsTypeFeign.saveOrUpdate(dto); + } + + public ResultBean initialization(String sid) { + ResultBean rb = ResultBean.fireFail(); + return baseGoodsTypeFeign.initialization(sid); + } + + + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsType ordermallGoodsType = fetchBySid(sid); + if (null != ordermallGoodsType) { + baseMapper.deleteById(ordermallGoodsType.getId()); + } + return rb.success(); + } + public ResultBean delAll(String[] sids) { + return baseGoodsTypeFeign.delBySids(sids); + } + public ResultBean updateIsEnable(String sid,String isEnable) { + ResultBean rb = ResultBean.fireFail(); + return baseGoodsTypeFeign.updateIsEnable(sid, isEnable); + } + public ResultBean updateProductCode(String sid,String state) { + return baseGoodsTypeFeign.updateIsGoodsID(sid, state); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeVo.java new file mode 100644 index 0000000..e04bd17 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodstype/BaseGoodsTypeVo.java @@ -0,0 +1,42 @@ +package com.yxt.ordermall.biz.func.basegoodstype; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsTypeVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String goodsTypeName;//商品类别名称 + private String goodsTypeCode;//类别编码 + private String percentageRate;//提成比例 + private String percentageAmount;//提成金额 + private String pSid;//父级sid + private String pName;//父级sid + private String isParent="1";//是否为父节点,0为否,1为是,0标识为叶子节点 + private String isGoodsID="1";//是否一品一码 0 否 1是 + private String sortNo;//排序 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + private String sids;//创建组织sid + private String outStockRule;//出库规则 + private String outStockRuleVaule;//出库规则 + private String userSid; + private String orgPath; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnit.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnit.java new file mode 100644 index 0000000..df24137 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnit.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.func.basegoodsunit; + +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseGoodsUnit extends BaseEntity { + + private String unitName;//单位名称 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitDto.java new file mode 100644 index 0000000..35801a4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitDto.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.func.basegoodsunit; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:38 + */ +@Data +public class BaseGoodsUnitDto implements Dto { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String unitName;//单位名称 + private String userSid; + private String orgPath; + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitMapper.java new file mode 100644 index 0000000..962362e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitMapper.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.biz.func.basegoodsunit; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseGoodsUnitMapper extends BaseMapper { + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitMapper.xml new file mode 100644 index 0000000..574c2ed --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitQuery.java new file mode 100644 index 0000000..86324c2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitQuery.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.func.basegoodsunit; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsUnitQuery implements Query { + private String name; + private String orgLevelKey;//权限等级 + @ApiModelProperty("菜单路由") + private String menuUrl; + @ApiModelProperty("组织全路径sid") + private String orgPath; + @ApiModelProperty("用户sid") + private String userSid; + private int index; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitService.java new file mode 100644 index 0000000..45c34ea --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitService.java @@ -0,0 +1,67 @@ +package com.yxt.ordermall.biz.func.basegoodsunit; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.commonmethod.CommonMethod; +import com.yxt.ordermall.biz.func.commonmethod.DataRule; +import com.yxt.ordermall.feign.base.basegoodsunit.BaseGoodsUnitFeign; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseGoodsUnitService extends MybatisBaseService { + + @Autowired + BaseGoodsUnitFeign baseGoodsUnitFeign; + @Autowired + CommonMethod commonMethod; + + public ResultBean> listPage(PagerQuery pq) { + BaseGoodsUnitQuery query=pq.getParams(); + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); + return baseGoodsUnitFeign.listPage(pq); + } + public ResultBean> listAll(OrgPathQuery query) { + ResultBean rb = ResultBean.fireFail(); + return baseGoodsUnitFeign.listAll(query); + } + + public ResultBean saveOrUpdate(BaseGoodsUnitDto dto) { + ResultBean rb = ResultBean.fireFail(); + return baseGoodsUnitFeign.saveOrUpdate(dto); + } + + public ResultBean initialization(String sid) { + ResultBean rb = ResultBean.fireFail(); + return baseGoodsUnitFeign.initialization(sid); + } + + + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsUnit ordermallGoodsType = fetchBySid(sid); + if (null != ordermallGoodsType) { + baseMapper.deleteById(ordermallGoodsType.getId()); + } + return rb.success(); + } + public ResultBean delAll(String[] sids) { + return baseGoodsUnitFeign.delBySids(sids); + } + public ResultBean updateIsEnable(String sid,String isEnable) { + ResultBean rb = ResultBean.fireFail(); + return baseGoodsUnitFeign.updateIsEnable(sid, isEnable); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitVo.java new file mode 100644 index 0000000..71cc21b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basegoodsunit/BaseGoodsUnitVo.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.func.basegoodsunit; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseGoodsUnitVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String unitName;//单位名称 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturer.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturer.java new file mode 100644 index 0000000..c32ba19 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturer.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.biz.func.basemanufacturer; + +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseManufacturer extends BaseEntity { + private String manufacturerName;//厂家名称 + private String manufacturerCode;//厂家编码 + private String address;//地址 + private String telephone;//电话 + private String contacts;//联系人 + private String sortNo;//排序 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerDto.java new file mode 100644 index 0000000..c015618 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerDto.java @@ -0,0 +1,37 @@ +package com.yxt.ordermall.biz.func.basemanufacturer; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:38 + */ +@Data +public class BaseManufacturerDto implements Dto { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + + private String manufacturerName;//厂家名称 + private String manufacturerCode;//厂家编码 + private String address;//地址 + private String telephone;//电话 + private String contacts;//联系人 + private String sortNo;//排序 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid + private String userSid; + private String orgPath; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerMapper.java new file mode 100644 index 0000000..3043c75 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerMapper.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.biz.func.basemanufacturer; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseManufacturerMapper extends BaseMapper { + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getAllTypeByUseOrgSid(@Param("useOrgSid") String useOrgSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerMapper.xml new file mode 100644 index 0000000..3de6f42 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerQuery.java new file mode 100644 index 0000000..e5927a9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerQuery.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.func.basemanufacturer; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseManufacturerQuery implements Query { + private String name; + private String orgLevelKey;//权限等级 + @ApiModelProperty("菜单路由") + private String menuUrl; + @ApiModelProperty("组织全路径sid") + private String orgPath; + @ApiModelProperty("用户sid") + private String userSid; + private int index; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerService.java new file mode 100644 index 0000000..d3bce30 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerService.java @@ -0,0 +1,70 @@ +package com.yxt.ordermall.biz.func.basemanufacturer; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.commonmethod.CommonMethod; +import com.yxt.ordermall.biz.func.commonmethod.DataRule; +import com.yxt.ordermall.feign.base.basemanufacturer.BaseManufacturerFeign; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseManufacturerService extends MybatisBaseService { + @Autowired + BaseManufacturerFeign baseManufacturerFeign; + @Autowired + CommonMethod commonMethod; + + public ResultBean> listPage(PagerQuery pq) { + BaseManufacturerQuery query=pq.getParams(); + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); + return baseManufacturerFeign.listPage(pq); + } + public ResultBean> listAll( OrgPathQuery query) { + ResultBean rb = ResultBean.fireFail(); + return baseManufacturerFeign.listAll(query); + } + + public ResultBean saveOrUpdate(BaseManufacturerDto dto) { + ResultBean rb = ResultBean.fireFail(); + return baseManufacturerFeign.saveOrUpdate(dto); + } + + public ResultBean initialization(String sid) { + ResultBean rb = ResultBean.fireFail(); + return baseManufacturerFeign.initialization(sid); + } + + + + public ResultBean delete(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseManufacturer ordermallManufacturer = fetchBySid(sid); + if (null != ordermallManufacturer) { + baseMapper.deleteById(ordermallManufacturer.getId()); + } + return rb.success(); + } + public ResultBean updateIsEnable(String sid,String isEnable) { + ResultBean rb = ResultBean.fireFail(); + return baseManufacturerFeign.updateIsEnable(sid, isEnable); + } + public ResultBean delAll(String[] sids) { + return baseManufacturerFeign.delBySids(sids); + } + public ResultBean> getAllTypeByUseOrgSid(String useOrgSid) { + ResultBean rb = ResultBean.fireFail(); + return baseManufacturerFeign.getAllTypeByUseOrgSid(useOrgSid); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerVo.java new file mode 100644 index 0000000..20c85f9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/basemanufacturer/BaseManufacturerVo.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.biz.func.basemanufacturer; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.Date; + +/** + * @author wangpengfei + * @date 2024/2/26 13:37 + */ +@Data +public class BaseManufacturerVo implements Vo { + private String id; + private String sid; + private String lockVersion; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date modifyTime; + private String remarks; + private String isEnable; + private String state; + private String isDelete; + private String createBySid; + private String updateBySid; + private String manufacturerName;//厂家名称 + private String manufacturerCode;//厂家编码 + private String address;//地址 + private String telephone;//电话 + private String contacts;//联系人 + private String sortNo;//排序 + private String useOrgSid;//使用组织sid + private String createOrgSid;//创建组织sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/commonmethod/CommonMethod.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/commonmethod/CommonMethod.java new file mode 100644 index 0000000..ea16451 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/commonmethod/CommonMethod.java @@ -0,0 +1,53 @@ +package com.yxt.ordermall.biz.func.commonmethod; + +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.feign.portal.privilege.PrivilegeQuery; +import com.yxt.ordermall.feign.portal.sysuser.SysUserFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2024/7/11 10:35 + */ +@Service +public class CommonMethod { + @Autowired + SysUserFeign sysUserFeign; + + /** + * 根据参数组装新的数据权限参数 + * @param orgPath + * @param menuUrl + * @param userSid + * @return + */ + public ResultBean dataRule (String orgPath,String menuUrl,String userSid){ + ResultBean rb=new ResultBean().fail(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(orgPath); + privilegeQuery.setMenuUrl(menuUrl); + privilegeQuery.setUserSid(userSid); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + DataRule dataRule=new DataRule(); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1全部、2、本部门及子部门 3子部门、4本人数据) + String orgSidPath = orgPath; + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); +// int i3 = orgSidPath.indexOf("/", i2 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + dataRule.setDataRuleId(orgLevelKey); + if ("1".equals(orgLevelKey)) { + dataRule.setIndex(i1); + } else if ("2".equals(orgLevelKey)) { + dataRule.setIndex(i2); + } else if ("3".equals(orgLevelKey)) { + dataRule.setIndex(i2); + } + } + return rb.success().setData(dataRule); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/commonmethod/DataRule.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/commonmethod/DataRule.java new file mode 100644 index 0000000..8d7af3d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/commonmethod/DataRule.java @@ -0,0 +1,13 @@ +package com.yxt.ordermall.biz.func.commonmethod; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/7/11 10:54 + */ +@Data +public class DataRule { + private String dataRuleId; + private int index; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommon.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommon.java new file mode 100644 index 0000000..e98f190 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommon.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.biz.func.dictcommon; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/6/23 15:40 + * @description 数据字典数据项 + */ +@Data +public class DictCommon extends BaseEntity { + private static final long serialVersionUID = 8921237815183601526L; + @ApiModelProperty(value = "数据项值") + private String dictKey; + @ApiModelProperty(value = "数据类型") + private String dictType; + @ApiModelProperty(value = "数据项相对应的value值") + private String dictValue; + @ApiModelProperty(value = "数据项的父级sid") + private String parentSid; + @ApiModelProperty(value = "分组名称") + private String groupName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonDto.java new file mode 100644 index 0000000..0ccbcfb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonDto.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.biz.func.dictcommon; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author dimengzhe + * @date 2021/6/23 15:41 + * @description 数据字典数据项参数 + */ +@Data +public class DictCommonDto implements Dto { + private static final long serialVersionUID = 9102264215113210976L; + + @ApiModelProperty(value = "数据项值", required = true) + @NotBlank(message = "数据项值不能为空") + private String dictKey; + + @ApiModelProperty(value = "数据类型", required = true) + @NotBlank(message = "数据类型不能为空") + private String dictType; + + @ApiModelProperty(value = "数据项相对应的value值", required = true) + @NotBlank(message = "数据项相对应的value值不能为空") + private String dictValue; + + @ApiModelProperty(value = "数据项的父级sid", required = true) + @NotBlank(message = "数据项的父级sid不能为空") + private String parentSid; + + @ApiModelProperty(value = "分组名称", required = true) + private String groupName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonMapper.java new file mode 100644 index 0000000..28dc8d0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonMapper.java @@ -0,0 +1,60 @@ +package com.yxt.ordermall.biz.func.dictcommon; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/6/23 15:07 + * @description + */ +@Mapper +public interface DictCommonMapper extends BaseMapper { + /** + * 根据数据项的key值和分类类型code值查询数量 + * + * @param dictKey 数据项key值 + * @param dictType 类型code值 + * @param parentSid 父级sid,无父级的此字段为0 + * @return + */ + DictCommon selectSize(@Param("dictkey") String dictKey, @Param("dictType") String dictType, @Param("parentSid") String parentSid); + + + /** + * 根据类型查询数据项 + * + * @param dictTypeCode 数据分类的类型 + * @return + */ + List selectByType(String dictTypeCode); + + + IPage pageList( + IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + DictCommonVo selectBykey(@Param("key") String key, @Param("type") String sid); + + /** + * 根据类型和父级sid查询数据字典 + * + * @param qw 查询条件 + * @return + */ + List getValue(@Param(Constants.WRAPPER) QueryWrapper qw); + + /** + * 根据数据字典编码类别和分组查询数据字典 + * @param type 数据字典编码类别 + * @param groupNum 数据字典分组 + * @return + */ + List getList(@Param("type") String type, @Param("groupNum") String groupNum); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonMapper.xml new file mode 100644 index 0000000..a496c72 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonQuery.java new file mode 100644 index 0000000..eebcf52 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonQuery.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.func.dictcommon; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/6/28 10:39 + * @description + */ +@Data +public class DictCommonQuery implements Query { + private static final long serialVersionUID = -787372981183812826L; + + @ApiModelProperty(value = "数据字典条目key", required = false) + private String dictKey; + + @ApiModelProperty(value = "数据字典文本", required = false) + private String dictValue; + + @ApiModelProperty(value ="dictType") + private String dictType; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonService.java new file mode 100644 index 0000000..5913f0b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonService.java @@ -0,0 +1,60 @@ +package com.yxt.ordermall.biz.func.dictcommon; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.portal.dictcommon.DictCommonFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/6/23 15:06 + * @description + */ +@Service +public class DictCommonService extends MybatisBaseService { + + @Autowired + DictCommonFeign dictCommonFeign; + + public ResultBean save(DictCommonDto dictCommonDto) { + return dictCommonFeign.save(dictCommonDto); + } + public ResultBean updateBySid(DictCommonDto dictCommonDto,String sid ) { + return dictCommonFeign.update(dictCommonDto,sid ); + } + public ResultBean del(String sid ) { + return dictCommonFeign.delete(sid ); + } + + public List selectByType(String dictTypeCode) { + return baseMapper.selectByType(dictTypeCode); + } + + public ResultBean> pageList(PagerQuery pagerQuery) { + return dictCommonFeign.pageList(pagerQuery); + } + + /** + * 根据类型和父级sid查询数据字典 + * + * @param 查询条件 + * @return + */ + public ResultBean> getValue(String type,String psid) { + + return dictCommonFeign.getTypeValues(type, psid); + } + + public ResultBean selectBykey(String key, String type) { + return dictCommonFeign.selectBykey(key, type); + } + + public ResultBean> getList(String type, String groupNum) { + return dictCommonFeign.getTypeValueList(type,groupNum); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonTypeQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonTypeQuery.java new file mode 100644 index 0000000..38d1078 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonTypeQuery.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.biz.func.dictcommon; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/9/30 15:33 + * @description 下拉框条件 + */ +@Data +public class DictCommonTypeQuery implements Query { + private static final long serialVersionUID = 139959085226402464L; + + @ApiModelProperty(value = "数据字典类型", required = true) + private String type; + + @ApiModelProperty(value = "psid", required = false,example = "0") + private String psid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonVo.java new file mode 100644 index 0000000..2137b17 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dictcommon/DictCommonVo.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.biz.func.dictcommon; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/6/23 15:54 + * @description + */ +@Data +public class DictCommonVo implements Vo { + private static final long serialVersionUID = -1094142938193916816L; + + @ApiModelProperty(value = "数据字典项sid") + private String sid; + + @ApiModelProperty(value = "数据字典项key") + private String dictKey; + + @ApiModelProperty(value = "数据字典类型") + private String dictType; + + @ApiModelProperty(value = "数据字典项名称") + private String dictValue; + @ApiModelProperty(value = "父级sid:0为第一级") + private String parentSid; + + @ApiModelProperty(value = "分组名称") + private String groupName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictType.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictType.java new file mode 100644 index 0000000..b554bb3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictType.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.biz.func.dicttype; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/7/5 22:29 + * @description + */ +@Data +public class DictType extends BaseEntity { + + private static final long serialVersionUID = -2790449398289680139L; + + @ApiModelProperty(value = "类型代码") + private String dictTypeCode; + @ApiModelProperty(value = "类型名称") + private String dictTypeName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeDto.java new file mode 100644 index 0000000..1229533 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeDto.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.dicttype; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author dimengzhe + * @date 2021/6/23 15:20 + * @description 数据字典类型参数 + */ +@Data +public class DictTypeDto implements Dto { + private static final long serialVersionUID = -2302005624272862359L; + + @ApiModelProperty(value = "类型代码", required = true) + @NotBlank(message = "类型代码不能为空") + private String dictTypeCode; + + @ApiModelProperty(value = "类型名称", required = true) + @NotBlank(message = "类型名称不能为空") + private String dictTypeName; + + @ApiModelProperty(value = "类型说明", required = false) + private String remarks; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeMapper.java new file mode 100644 index 0000000..e35722b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeMapper.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.biz.func.dicttype; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author dimengzhe + * @date 2021/6/23 14:56 + * @description + */ +@Mapper +public interface DictTypeMapper extends BaseMapper { + + /** + * 查询该类型代码存在的数量 + * + * @param dictTypeCode 类型代码 + * @return + */ + int selectSize(String dictTypeCode); + + IPage pageList(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeMapper.xml new file mode 100644 index 0000000..e6c8338 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeQuery.java new file mode 100644 index 0000000..70f1ce5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeQuery.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.func.dicttype; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/6/28 9:17 + * @description + */ +@Data +public class DictTypeQuery implements Query { + private static final long serialVersionUID = -1033205660448956012L; + + @ApiModelProperty(value = "数据字典code", required = false) + private String dictTypeCode; + + @ApiModelProperty(value = "数据分类名称", required = false) + private String dictTypeName; + + @ApiModelProperty(value = "说明", required = false) + private String remarks; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeService.java new file mode 100644 index 0000000..a690436 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeService.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.biz.func.dicttype; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.portal.dicttype.DictTypeFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author dimengzhe + * @date 2021/6/23 14:55 + * @description 数据字典类型实现类 + */ +@Service +public class DictTypeService extends MybatisBaseService { + @Autowired + DictTypeFeign dictTypeFeign; + + + public ResultBean save(DictTypeDto dictTypeDto) { + return dictTypeFeign.save(dictTypeDto); + } + public ResultBean updateBySid(DictTypeDto dictTypeDto,String sid ) { + return dictTypeFeign.update(dictTypeDto,sid); + } + public ResultBean del( String sid ) { + return dictTypeFeign.delete(sid); + } + + public ResultBean> pageList(PagerQuery pagerQuery) { + return dictTypeFeign.pageList(pagerQuery); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeVo.java new file mode 100644 index 0000000..077c4a5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/dicttype/DictTypeVo.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.biz.func.dicttype; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/6/23 15:18 + * @description 数据字典类型返回数据 + */ +@Data +public class DictTypeVo implements Vo { + private static final long serialVersionUID = 9052935182700117654L; + + @ApiModelProperty(value = "数据类型sid") + private String sid; + + @ApiModelProperty(value = "类型代码") + private String dictTypeCode; + + @ApiModelProperty(value = "类型名称") + private String dictTypeName; + + @ApiModelProperty(value = "说明") + private String remarks; + + @ApiModelProperty(value = "分组名称") + private String groupName; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/Region.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/Region.java new file mode 100644 index 0000000..bbd1cb7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/Region.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/7/2 14:21 + * @description + */ +@Data +public class Region extends BaseEntity { + private static final long serialVersionUID = -2834981997098086066L; + @ApiModelProperty(value = "上级sid") + private String pSid; + @ApiModelProperty(value = "级别") + private Integer level; + @ApiModelProperty(value = "名称,区域名称") + private String name; + @ApiModelProperty(value = "行政区划代码") + private String districtCode; + @ApiModelProperty(value = "sid全路径") + private String sidPath; + @ApiModelProperty(value = "排序号") + private Integer sortNo; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionChildTwoVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionChildTwoVo.java new file mode 100644 index 0000000..103169e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionChildTwoVo.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/7/2 23:15 + * @description + */ +@Data +public class RegionChildTwoVo implements Vo { + private static final long serialVersionUID = 4618662603777612150L; + + @ApiModelProperty(value = "sid") + private String sid; + @ApiModelProperty(value = "上级sid") + private String pSid; + @ApiModelProperty(value = "级别") + private Integer level; + @ApiModelProperty(value = "名称,区域名称") + private String name; + @ApiModelProperty(value = "行政区划代码") + private String districtCode; + @ApiModelProperty(value = "sid全路径") + private String sidPath; + @ApiModelProperty(value = "排序号") + private Integer sortNo; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionChildVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionChildVo.java new file mode 100644 index 0000000..2221e9c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionChildVo.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/7/2 23:14 + * @description + */ +@Data +public class RegionChildVo implements Vo { + private static final long serialVersionUID = -4741874809037026585L; + + @ApiModelProperty(value = "sid") + private String sid; + @ApiModelProperty(value = "上级sid") + private String pSid; + @ApiModelProperty(value = "级别") + private Integer level; + @ApiModelProperty(value = "名称,区域名称") + private String name; + @ApiModelProperty(value = "行政区划代码") + private String districtCode; + @ApiModelProperty(value = "sid全路径") + private String sidPath; + @ApiModelProperty(value = "排序号") + private Integer sortNo; + + private List regionChildTwoVoList; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionDto.java new file mode 100644 index 0000000..bd73aea --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionDto.java @@ -0,0 +1,46 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Size; + +/** + * @Author dimengzhe + * @Date 2021/11/11 15:18 + * @Description + */ +@Data +public class RegionDto implements Dto { + private static final long serialVersionUID = 1283045363206557586L; + /** + * 名称,区域名称 + */ + @ApiModelProperty(value = "区域名称", required = true) + @NotBlank(message = "区域名称不能为空") + @Size(max = 64, min = 1) + private String name; + /** + * 行政区划代码 + */ + @ApiModelProperty(value = "行政区划代码", required = true) + @NotBlank(message = "行政区划代码不能为空") + private String districtCode; + /** + * 上级sid + */ + @ApiModelProperty(value = "上级sid", required = true, example = "0") + private String psid; + + /** + * 排序号 + */ + @ApiModelProperty(value = "排序号", required = true) + private Integer sortNo; + @ApiModelProperty(value = "级别") + private int level; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionListVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionListVo.java new file mode 100644 index 0000000..01da28c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionListVo.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * @author dimengzhe + * @date 2021/7/13 21:41 + * @description + */ +@Data +public class RegionListVo implements Vo { + private static final long serialVersionUID = 8123582673134551495L; + @ApiModelProperty(value = "sid") + private String sid; + @ApiModelProperty(value = "名称") + private String name; + @ApiModelProperty(value = "区划代码") + private String districtCode; + @ApiModelProperty(value = "排序") + private Integer sortNo; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionMapper.java new file mode 100644 index 0000000..8a09f10 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionMapper.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.biz.func.region; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/7/2 15:10 + * @description + */ +@Mapper +public interface RegionMapper extends BaseMapper { + + List getProvince(); + + List getCity(String sid); + + List getCounty(String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionMapper.xml new file mode 100644 index 0000000..2d203ab --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionQuery.java new file mode 100644 index 0000000..20e6cbe --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionQuery.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * @author dimengzhe + * @date 2021/7/13 21:55 + * @description + */ +@Data +public class RegionQuery implements Query { + private static final long serialVersionUID = -3494331991678665867L; + + @ApiModelProperty(value = "行政区划") + private String districtCode; + @ApiModelProperty(value = "名称") + private String name; + @ApiModelProperty(value = "pSid,市级列表此值需要传省级列表sid", example = "0") + private String psid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionService.java new file mode 100644 index 0000000..7719dc9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionService.java @@ -0,0 +1,45 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.ordermall.feign.portal.region.RegionFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/7/2 15:06 + * @description + */ +@Service +public class RegionService extends MybatisBaseService { + + @Autowired + private RegionFeign regionFeign; + + public List getProvince() { + return regionFeign.getProvince().getData(); + } + + /** + * 获取某省下的所有市 + * + * @param sid 省sid + * @return 该省下的所有市的list + */ + public List getCity(String sid) { + return regionFeign.getCity(sid).getData(); + + } + + /** + * 获取某市下的所有区县 + * + * @param sid 市sid + * @return 该市下的所有县区的list + */ + public List getCounty(String sid) { + return regionFeign.getCounty(sid).getData(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionThirdLevelNameVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionThirdLevelNameVo.java new file mode 100644 index 0000000..be30c13 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionThirdLevelNameVo.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/10/4 + */ +@Data +public class RegionThirdLevelNameVo implements Vo { + + @ApiModelProperty(value = "省") + private String province; + + @ApiModelProperty(value = "市") + private String city; + + @ApiModelProperty(value = "县") + private String county; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionVo.java new file mode 100644 index 0000000..499db23 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/region/RegionVo.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.biz.func.region; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/7/2 14:22 + * @description + */ +@Data +public class RegionVo implements Vo { + private static final long serialVersionUID = 3351684167946104384L; + + @ApiModelProperty(value = "sid") + private String sid; + @ApiModelProperty(value = "上级sid") + private String pSid; + @ApiModelProperty(value = "级别") + private Integer level; + @ApiModelProperty(value = "名称,区域名称") + private String name; + @ApiModelProperty(value = "行政区划代码") + private String districtCode; + @ApiModelProperty(value = "sid全路径") + private String sidPath; + @ApiModelProperty(value = "排序号") + private Integer sortNo; + + private List children; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/ButtonPermissionQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/ButtonPermissionQuery.java new file mode 100644 index 0000000..495348c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/ButtonPermissionQuery.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.func.sysmenu; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 查询按钮的权限的表单参数 + */ +@ApiModel(value = "查询按钮的权限的表单参数", description = "查询按钮的权限的表单参数") +@Data +public class ButtonPermissionQuery { + @ApiModelProperty("userSid") + private String userSid; + @ApiModelProperty("url") + private String url; + @ApiModelProperty("type") + private String type; + private String sourceSid; + private String orgSid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/ButtonPermissionVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/ButtonPermissionVo.java new file mode 100644 index 0000000..a2a6d7a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/ButtonPermissionVo.java @@ -0,0 +1,12 @@ +package com.yxt.ordermall.biz.func.sysmenu; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(value = "返回查询的按钮权限集合", description = "返回查询的按钮权限集合") +@Data +public class ButtonPermissionVo { + @ApiModelProperty("buttonId") + private String buttonId; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenu.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenu.java new file mode 100644 index 0000000..c71b17d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenu.java @@ -0,0 +1,65 @@ +package com.yxt.ordermall.biz.func.sysmenu; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenu.java
+ * Class: com.yxt.anrui.portal.api.sysmenu.SysMenu
+ * Description: 菜单表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表", description = "菜单表") +@TableName("sys_menu") +@Data +public class SysMenu extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("菜单名称") + private String name; + + @ApiModelProperty("菜单路由路径(VUE)") + private String menuUrl; + + @ApiModelProperty("菜单对应的前端页面路径") + private String pageUrl; + + @ApiModelProperty("菜单图标地址") + private String iconUrl; + + @ApiModelProperty("资源sid") + private String sourceSid; + + @ApiModelProperty("是否显示,默认为1显示,0为不显示") + private String isShow; + + @ApiModelProperty("排序号") + private Integer sortNo; + + @ApiModelProperty("上级sid") + private String pSid; + + @ApiModelProperty("前端页面路径重定向") + private Integer pageUrlRedirect; + + @ApiModelProperty("前端页面名称(vue组件名)") + private String pageName; + + @ApiModelProperty("前端页面别名") + private String pageAliasName; + + @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") + private String menuType; + private String cid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuDto.java new file mode 100644 index 0000000..96f7220 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuDto.java @@ -0,0 +1,74 @@ +package com.yxt.ordermall.biz.func.sysmenu; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuDto.java
+ * Class: com.yxt.anrui.portal.api.sysmenu.SysMenuDto
+ * Description: 菜单表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 数据传输对象", description = "菜单表 数据传输对象") +@Data +public class SysMenuDto implements Dto { + + + private static final long serialVersionUID = -8143707488992909267L; + @ApiModelProperty(value = "菜单名称", required = true) +// @NotBlank(message = "菜单名称不能为空") + private String name; + + @ApiModelProperty("菜单路由路径(VUE)") + private String menuUrl; + + @ApiModelProperty("菜单对应的前端页面路径") + private String pageUrl; + + @ApiModelProperty("菜单图标地址") + private String iconUrl; + + @ApiModelProperty(value = "资源sid", required = true) + @NotBlank(message = "资源不能为空") + private String sourceSid; + + @ApiModelProperty(value = "是否显示,默认为1显示,0为不显示", required = true) + @NotBlank(message = "是否显示不能为空") + private String isShow; + + @ApiModelProperty("排序号") + private Integer sortNo; + + @ApiModelProperty(value = "上级sid", example = "0", required = true) + @NotBlank(message = "上级菜单不能为空") + private String pSid; + + @ApiModelProperty(value = "前端页面路径重定向", required = false) + private Integer pageUrlRedirect; + + @ApiModelProperty("前端页面名称(vue组件名)") + private String pageName; + + @ApiModelProperty(value = "前端页面别名", required = false) + private String pageAliasName; + + @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") + private String menuType; + + @ApiModelProperty(value = "备注") + private String remarks; + private String cid; + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuFunctionQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuFunctionQuery.java new file mode 100644 index 0000000..4670f29 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuFunctionQuery.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.sysmenu; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuQuery.java
+ * Class: com.yxt.anrui.portal.api.sysmenu.SysMenuQuery
+ * Description: 菜单表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 查询条件 功能菜单设置查询用", description = "菜单表 查询条件 功能菜单设置查询用") +@Data +public class SysMenuFunctionQuery implements Query { + + + @ApiModelProperty("资源sid") + private String sourceSid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuMapper.java new file mode 100644 index 0000000..660a308 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuMapper.java @@ -0,0 +1,82 @@ +package com.yxt.ordermall.biz.func.sysmenu; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuMapper.java
+ * Class: com.yxt.anrui.portal.biz.sysmenu.SysMenuMapper
+ * Description: 菜单表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysMenuMapper extends BaseMapper { + + //@Update("update sys_menu set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_menu") + List selectListVo(); + + List listAllParentByRoleSid(String roleSid, String sid, @Param("sourceSid") String sourceSid); + + @Select("SELECT menu.*,sourceMenu.`sourceSid` FROM sys_menu menu " + + "LEFT JOIN sys_source_menu sourceMenu ON menu.sid=sourceMenu.menuSid where menu.sid=#{sid}") + SysMenu fetchBySid(@Param("sid") String sid); + + List getChildrensForMenuTree(@Param(Constants.WRAPPER) QueryWrapper qw); + + /** + * 将该资源下的所有菜单设置是否可用 + * + * @param sid 资源sid + * @param isEnable 是否可用:1可用,0不可用 + * @return + */ + int updateBySourceSid(@Param("sid") String sid, @Param("isEnable") Integer isEnable); + + /** + * 根据上级sid查询菜单的子集菜单 + * + * @param sid 菜单sid + * @return + */ + List selectChildernList(String sid); + + /** + * 查询该资源下是否有可用的菜单 + * + * @param isEnable + * @return + */ + int selectBySourceSid(@Param("isEnable") int isEnable, @Param("sourceSid") String sourceSid); + + List selectByMenuUrl(String menuUrl); + + /** + * 查询该资源下一级菜单列表 + * + * @param sourceSid 资源sid + * @return + */ + List fetchRootMenuBySourceSid(@Param("sourceSid") String sourceSid); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuMapper.xml new file mode 100644 index 0000000..69443d8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuMapper.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + update sys_menu + set isEnable = #{isEnable} + where sourceSid = #{sid} + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuQuery.java new file mode 100644 index 0000000..75fbb0c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuQuery.java @@ -0,0 +1,68 @@ +package com.yxt.ordermall.biz.func.sysmenu; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuQuery.java
+ * Class: com.yxt.anrui.portal.api.sysmenu.SysMenuQuery
+ * Description: 菜单表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 查询条件", description = "菜单表 查询条件") +@Data +public class SysMenuQuery implements Query { + + + @ApiModelProperty("菜单名称") + private String name; + + @ApiModelProperty("菜单路由路径(VUE)") + private String menuUrl; + + @ApiModelProperty("菜单对应的前端页面路径") + private String pageUrl; + + @ApiModelProperty("菜单图标地址") + private String iconUrl; + + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("角色sid") + private String roleSid; + + @ApiModelProperty("是否显示,默认为1显示,0为不显示") + private String isShow; + + @ApiModelProperty("排序号") + private Integer sortNo; + + @ApiModelProperty("上级sid") + private String pSid; + + @ApiModelProperty("前端页面路径重定向") + private Integer pageUrlRedirect; + + @ApiModelProperty("前端页面名称(vue组件名)") + private String pageName; + + @ApiModelProperty("前端页面别名") + private String pageAliasName; + + @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") + private String menuType; + private String orgSid;//部门 + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuService.java new file mode 100644 index 0000000..3003bf6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuService.java @@ -0,0 +1,418 @@ +package com.yxt.ordermall.biz.func.sysmenu; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysmenurole.SysMenuRoleVo; +import com.yxt.ordermall.feign.portal.sysmenu.SysMenuFeign; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuService.java
+ * Class: com.yxt.user.biz.sysmenu.SysMenuService
+ * Description: 菜单表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysMenuService extends MybatisBaseService { + @Autowired + SysMenuFeign sysMenuFeign; + + + + public PagerVo listPage(PagerQuery pq) { + SysMenuQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + @Override + public SysMenu fetchBySid(String sid) { + return baseMapper.fetchBySid(sid); + } + + public List listAll(SysMenuQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysMenuQuery query) { + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.eq("name", query.getName()); + } + if (StringUtils.isNotBlank(query.getMenuUrl())) { + qw.eq("menuUrl", query.getMenuUrl()); + } + if (StringUtils.isNotBlank(query.getPageUrl())) { + qw.eq("pageUrl", query.getPageUrl()); + } + if (StringUtils.isNotBlank(query.getIconUrl())) { + qw.eq("iconUrl", query.getIconUrl()); + } + if (query.getSourceSid() != null) { + qw.eq("sourceSid", query.getSourceSid()); + } + if (StringUtils.isNotBlank(query.getIsShow())) { + qw.eq("isShow", query.getIsShow()); + } + + if (query.getSortNo() != null) { + qw.eq("sortNo", query.getSortNo()); + } + + if (StringUtils.isNotBlank(query.getPSid())) { + qw.eq("pSid", query.getPSid()); + } + + if (query.getPageUrlRedirect() != null) { + qw.eq("pageUrlRedirect", query.getPageUrlRedirect()); + } + + if (StringUtils.isNotBlank(query.getPageName())) { + qw.eq("pageName", query.getPageName()); + } + + if (StringUtils.isNotBlank(query.getPageAliasName())) { + qw.eq("pageAliasName", query.getPageAliasName()); + } + + if (StringUtils.isNotBlank(query.getMenuType())) { + qw.eq("menuType", query.getMenuType()); + } + return qw; + } + + public ResultBean> listPageVo(PagerQuery pq) { + return sysMenuFeign.listPage(pq); + } + + /* public List listAllVo(SysMenuQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("menu.pSid", "0"); + List sysMenuVos = baseMapper.selectListAllVo(qw); + for(SysMenuVo s:sysMenuVos){ + getChildrens(s); + } + return sysMenuVos; + }*/ + public ResultBean> listAllVoForSource(PagerQuery query) { + + return sysMenuFeign.listAllVoForSource(query.getParams()); + } + public ResultBean> listAllVoForSourceG(PagerQuery query) { + + return sysMenuFeign.listAllVoForSourceG(query.getParams()); + } + public ResultBean>> getMenusForFunction(SysMenuFunctionQuery sysMenuFunctionQuery) { + return sysMenuFeign.getMenusForFunction(sysMenuFunctionQuery); + } + public ResultBean>> sourceMenuTreeByUserSid(SysMenuQuery query) { + return sysMenuFeign.sourceMenuTreeByUserSid(query); + } + + public ResultBean>> sourcemenutree(SysMenuQuery query) { + return sysMenuFeign.sourcemenutree(query); + } + + public void getChildList(List list) { + list.forEach(str -> { + String sid = str.getSid(); + List listChildren = baseMapper.selectChildernList(sid); + str.setChildren(listChildren); + getChildList(listChildren); + }); + } + + /*暂时废弃*/ + /*private List getChildrensForMenuTree(List sysMenuVoList) { + List list = new ArrayList<>(); + for (SysMenuTreeVo s : sysMenuVoList) { + SysMenu sysMenu = sysMenuService.fetchBySid(s.getMenuRootSid()); + SysMenuTreeVo sysMenuTreeVo = new SysMenuTreeVo(); + BeanUtil.copyProperties(sysMenu, sysMenuTreeVo); + list.add(sysMenuTreeVo); + } + for (SysMenuTreeVo s : list) { + getChildrensForMenuTree(s, s.getSid()); + } + return list; + } + private void getChildrensForMenuTree(SysMenuTreeVo s,String sid){ + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(sid)) { + qw.eq("menu.pSid", sid); + } + List sysMenuVos = baseMapper.getChildrensForMenuTree(qw); + if(!sysMenuVos.isEmpty()){ + for(SysMenuTreeVo smv:sysMenuVos){ + getChildrensForMenuTree(smv,smv.getSid()); + } + } + s.setChildren(sysMenuVos); + } + private void getChildrens(SysMenuVo s){ + String sid = s.getSid(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(sid)) { + qw.eq("menu.pSid", sid); + } + List sysMenuVos = baseMapper.selectListAllVo(qw); + if(!sysMenuVos.isEmpty()){ + for(SysMenuVo smv:sysMenuVos){ + getChildrens(smv); + } + } + s.setChildren(sysMenuVos); + }*/ + public ResultBean> listVo() { + return sysMenuFeign.list(); + } + + /* public void saveOrUpdateDto(SysMenuDto dto) { + SysMenu entity = new SysMenu(); + dto.fillEntity(entity); + SysSourceMenu sysSourceMenu = new SysSourceMenu(); + sysSourceMenu.setMenuSid(entity.getSid()); + sysSourceMenu.setSourceSid(dto.getSourceSid()); + setRootSid(entity, sysSourceMenu); + sysSourceMenuService.save(sysSourceMenu); + this.saveOrUpdate(entity); + }*/ + +// private void setRootSid(SysMenu entity, SysSourceMenu sysSourceMenu) { +// String pSid = entity.getPSid(); +// if ("0".equals(pSid)) { +// sysSourceMenu.setMenuRootSid(entity.getSid()); +// } else { +// SysMenu sysMenu = sysMenuService.fetchBySid(pSid); +// String pSid1 = sysMenu.getPSid(); +// if ("0".equals(pSid1)) { +// sysSourceMenu.setMenuRootSid(sysMenu.getSid()); +// } +// setRootSid(sysMenu, sysSourceMenu); +// } +// } + + public SysMenuVo fetchByIdVo(String id) { + SysMenu entity = this.fetchById(id); + SysMenuVo vo = new SysMenuVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public ResultBean> listAllByRoleSid(SysMenuQuery query) { + + return sysMenuFeign.listAllByRoleSid(query); + } + + private void getChildrensByRoleSid(SysMenuVo s, String roleSid, String sourceSid) { + String sid = s.getSid(); + List sysMenuVos = baseMapper.listAllParentByRoleSid(roleSid, sid, sourceSid); + if (!sysMenuVos.isEmpty()) { + for (SysMenuVo smv : sysMenuVos) { + getChildrensByRoleSid(smv, roleSid, sourceSid); + } + } + s.setChildren(sysMenuVos); + } + + /*public List listAllVoBySourceSId(SysMenuQuery query) { + SysSource sysSource = sysSourceService.fetchBySid(query.getSourceSid()); + List sysSourceVos = new ArrayList<>();//sysSourceService.listAllVoBySourceSId(query.getSourceSid()); + SysMenuTreeVo smtv=new SysMenuTreeVo(); + smtv.setName(sysSource.getSourceName()); + smtv.setSid(sysSource.getSid()); + smtv.setSourceSid(sysSource.getSid()); + sysSourceVos.add(smtv); + for(SysMenuTreeVo s:sysSourceVos){ + List sysMenuVoList=sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid()); + if(!sysMenuVoList.isEmpty()){ + sysMenuVoList = getChildrensForMenuTree(sysMenuVoList); + } + s.setChildren(sysMenuVoList); + } + return sysSourceVos; + }*/ + + /** + * 资源菜单树形列表 + * + * @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) + */ + public List> getSourceMenuTree(List list_menu, Map map_selectMenus) { + + //获取当前资源的菜单列表 + List> list_menus_map = new ArrayList>(); + + + //获取资源第一级菜单列表 + List list_firstLevel_menu = list_menu.stream().filter(s -> s.getPSid().equals("0")).collect(Collectors.toList()); + + //遍历资源的第一级菜单 + for (int i = 0; i < list_firstLevel_menu.size(); i++) { + Map map_firstLevel_menu = getMenuTreeFromStream(list_firstLevel_menu.get(i).getSid(), list_menu, map_selectMenus); + //把该菜单挂在当前菜单列表中 + if (null != map_firstLevel_menu) + list_menus_map.add(map_firstLevel_menu); + } + return list_menus_map; + + } + + /** + * 递归把list转换成菜单树形列表 + * + * @param psid + * @param list_menu + * @return + */ + private Map getMenuTreeFromStream(String psid, List list_menu, Map map_selectMenus) { + //获取当前菜单 + List list_current_menu = list_menu.stream().filter(s -> s.getSid().equals(psid)).collect(Collectors.toList()); + if (null == list_current_menu || 0 == list_current_menu.size()) + return null; + + Map map_menu = getMenuMap(list_current_menu.get(0), map_selectMenus); + + //2.获取菜单的子菜单列表 + //存储最终子菜单列表结果 + List> list_child = new ArrayList>(); + + //获取子菜单列表 + List list_child_menu = list_menu.stream().filter(s -> s.getPSid().equals(psid)).collect(Collectors.toList()); + for (int i = 0; i < list_child_menu.size(); i++) { + //获取该菜单子菜单列表 + Map map_child_menu = getMenuTreeFromStream(list_child_menu.get(i).getSid(), list_menu, map_selectMenus); + //把该菜单挂在当前菜单列表中 + if (null != map_child_menu) + list_child.add(map_child_menu); + } + //把该菜单列表放到父菜单的childMenus中 + map_menu.put("children", list_child); + + return map_menu; + + } + + /** + * 构造菜单的结果map + * + * @return + */ + private Map getMenuMap(SysMenuRoleVo menuVo, Map map_selectMenus) { + Map map_menu = new HashMap(); + + if (null != map_selectMenus) { + //角色授权时,菜单列表 + map_menu.put("sid", menuVo.getSid()); + map_menu.put("menuName", menuVo.getMenuName() + (StringUtils.isNotBlank(menuVo.getRemarks()) ? "(" + menuVo.getRemarks() + ")" : "")); + map_menu.put("menuUrl", menuVo.getMenuUrl()); + map_menu.put("pageUrl", menuVo.getPageUrl()); + map_menu.put("iconUrl", menuVo.getIconUrl()); + map_menu.put("isShow", menuVo.getIsShow()); + if (menuVo.getAlwaysShow() == 0) { + map_menu.put("alwaysShow", false); + } else if (menuVo.getAlwaysShow() == 1) { + map_menu.put("alwaysShow", true); + } + + //如果角色已有的菜单,则设置选中,并移除map中的项;否则设置不选中 + if (map_selectMenus.containsKey(menuVo.getSid())) { + map_menu.put("isCheck", 1); + map_selectMenus.remove(menuVo.getSid()); + } else { + map_menu.put("isCheck", 0); + } + } else { + //左侧菜单列表 + Map map_meta = new HashMap(); + map_meta.put("title", menuVo.getMenuName()); + map_meta.put("icon", menuVo.getIconUrl()); + map_menu.put("meta", map_meta); + + map_menu.put("redirect", menuVo.getPageUrlRedirect()); + //路径 + map_menu.put("path", menuVo.getPageUrl() != null && !menuVo.getPageUrl().equals("") ? menuVo.getPageUrl() : "/" + menuVo.getPageName()); + map_menu.put("name", menuVo.getPageAliasName() != null && !menuVo.getPageAliasName().equals("") ? menuVo.getPageAliasName() : menuVo.getPageUrl()); + //组件名 + map_menu.put("component", menuVo.getPageName()); + if (menuVo.getAlwaysShow() == 0) { + map_menu.put("alwaysShow", false); + } else if (menuVo.getAlwaysShow() == 1) { + map_menu.put("alwaysShow", true); + } + } + return map_menu; + } + + /** + * 将该资源下的所有菜单设置为是否可用 + * + * @param sid 资源sid + * @param isEnable 是否可用:1可用,0不可用 + * @return + */ + public int updateBySourceSid(String sid, Integer isEnable) { + return baseMapper.updateBySourceSid(sid, isEnable); + } + + public ResultBean saveMenu(SysMenuDto dto) { + return sysMenuFeign.save(dto); + } + public ResultBean updateBySid( SysMenuDto dto, String sid) { + return sysMenuFeign.update(dto,sid); + } + public ResultBean updateIsEnable( String sid, Integer isEnable) { + return sysMenuFeign.updateIsEnable(sid,isEnable); + } + public ResultBean delBySids( String sid) { + return sysMenuFeign.delBySids(sid); + } + + public List selectByMenuUrl(String menuUrl) { + return baseMapper.selectByMenuUrl(menuUrl); + } + + /** + * 根据资源sid查询该资源下的一级菜单列表(yxt_mtl 2024-01-31) + * + * @param sid 资源sid + * @return + */ + public List fetchRootMenuBySourceSid(String sid) { + return baseMapper.fetchRootMenuBySourceSid(sid); + } + + public ResultBean> listAllByRoleSidG(@RequestBody SysMenuQuery query){ + return sysMenuFeign.listAllByRoleSidG(query); + } + public ResultBean> getButtonPermissions(ButtonPermissionQuery query) { + return sysMenuFeign.getButtonPermissions(query); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuTreeVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuTreeVo.java new file mode 100644 index 0000000..06ed146 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuTreeVo.java @@ -0,0 +1,64 @@ +package com.yxt.ordermall.biz.func.sysmenu; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuVo.java
+ * Class: com.yxt.anrui.portal.api.sysmenu.SysMenuVo
+ * Description: 菜单表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 视图数据对象", description = "菜单表 视图数据对象") +@Data +public class SysMenuTreeVo implements Vo { + @ApiModelProperty("菜单名称") + private String name; + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("排序号") + private Integer sortNo; + @ApiModelProperty("上级sid") + private String pSid; + @ApiModelProperty("上级菜单名称") + private String pName; + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("资源名称") + private String sourceName; + @ApiModelProperty("菜单根路径sid") + private String menuRootSid; + @ApiModelProperty("pageUrl") + private String pageUrl; + @ApiModelProperty("menuUrl") + private String menuUrl; + @ApiModelProperty("menuUrl") + private String pageName; + @ApiModelProperty("iconUrl") + private String iconUrl; + @ApiModelProperty("菜单列表用,是否是资源层级1是,0不是") + private String isSource = "0"; + @ApiModelProperty("是否可用") + private String isEnable; + @ApiModelProperty(value = "备注") + private String remarks; + @ApiModelProperty("子菜单") + private List children; + private String menuType; + private String isShow; + private String menuTypeValue; + private String cid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuVo.java new file mode 100644 index 0000000..9d2d490 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenu/SysMenuVo.java @@ -0,0 +1,76 @@ +package com.yxt.ordermall.biz.func.sysmenu; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuVo.java
+ * Class: com.yxt.anrui.portal.api.sysmenu.SysMenuVo
+ * Description: 菜单表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单表 视图数据对象", description = "菜单表 视图数据对象") +@Data +public class SysMenuVo implements Vo { + + + @ApiModelProperty("菜单名称") + private String name; + + @ApiModelProperty("菜单路由路径(VUE)") + private String menuUrl; + + @ApiModelProperty("菜单对应的前端页面路径") + private String pageUrl; + + @ApiModelProperty("菜单图标地址") + private String iconUrl; + + @ApiModelProperty("资源sid") + private String sourceSid; + + @ApiModelProperty("是否显示,默认为1显示,0为不显示") + private String isShow; + + @ApiModelProperty("排序号") + private Integer sortNo; + + @ApiModelProperty("上级sid") + private String pSid; + @ApiModelProperty("上级名称") + private String pName; + @ApiModelProperty("sid") + private String sid; + + @ApiModelProperty("前端页面路径重定向") + private Integer pageUrlRedirect; + + @ApiModelProperty("前端页面名称(vue组件名)") + private String pageName; + + @ApiModelProperty("前端页面别名") + private String pageAliasName; + + @ApiModelProperty("菜单类型(0左侧当行菜单,1页面中功能)") + private String menuType; + @ApiModelProperty("子菜单") + private List children; + @ApiModelProperty("是否选中,1:未选中,0:选中") + private String checked; + @ApiModelProperty("资源名称") + private String sourceName; + private String cid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/MenuRoleVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/MenuRoleVo.java new file mode 100644 index 0000000..cb68644 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/MenuRoleVo.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: 菜单和角色临时存储 + * @author: dimengzhe + * @date: 2023/6/1 + **/ +@Data +public class MenuRoleVo { + + + @ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)") + private String dataRuleId; + @ApiModelProperty("菜单sid") + private String menuSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRole.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRole.java new file mode 100644 index 0000000..04af567 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRole.java @@ -0,0 +1,37 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRole.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRole
+ * Description: 菜单与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表", description = "菜单与角色关联表") +@TableName("sys_menu_role") +@Data +public class SysMenuRole extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; + + @ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)") + private String dataRuleId; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataDto.java new file mode 100644 index 0000000..7e09fc0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataDto.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleDto.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleDto
+ * Description: 菜单与角色关联表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象") +@Data +public class SysMenuRoleDataDto implements Dto { + + @ApiModelProperty("菜单与角色关联表sid") + private String sid; + @ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)") + private String dataRuleId; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataQuery.java new file mode 100644 index 0000000..39fb214 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataQuery.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleQuery.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleQuery
+ * Description: 菜单与角色关联表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件") +@Data +public class SysMenuRoleDataQuery implements Query { + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("菜单名称") + private String menuName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataVo.java new file mode 100644 index 0000000..8a1f77c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDataVo.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleVo.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleVo
+ * Description: 菜单与角色关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 视图数据对象", description = "菜单与角色关联表 视图数据对象") +@Data +public class SysMenuRoleDataVo implements Vo { + + @ApiModelProperty("菜单与角色关联表sid") + private String sid; + @ApiModelProperty("菜单名称") + private String name; + @ApiModelProperty("数据权限ID(1集团、2事业部、3分公司、4部门、5个人)") + private String dataRuleId; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDto.java new file mode 100644 index 0000000..5cac647 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleDto.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleDto.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleDto
+ * Description: 菜单与角色关联表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 数据传输对象", description = "菜单与角色关联表 数据传输对象") +@Data +public class SysMenuRoleDto implements Dto { + + + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("角色sid") + private String roleSid; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleMapper.java new file mode 100644 index 0000000..2a3e0e7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleMapper.java @@ -0,0 +1,56 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.*; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleMapper.java
+ * Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleMapper
+ * Description: 菜单与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysMenuRoleMapper extends BaseMapper { + + //@Update("update sys_menu_role set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_menu_role") + List selectListVo(); + + @Delete("delete from sys_menu_role where roleSid=#{roleSid}") + void delByRoleSid(@Param("roleSid") String roleSid); + + List list(@Param(Constants.WRAPPER) QueryWrapper qw); + + List selectByRoleSid(String roleSid); + + List selMenuByRole(@Param(Constants.WRAPPER) QueryWrapper qw); + + List selMenuByRoleApp(@Param(Constants.WRAPPER) QueryWrapper qw); + + @Update("update sys_menu_role set dataRuleId = #{dataRuleId} where sid = #{sid}") + void updateDataByRoleMenu(@Param("sid") String sid,@Param("dataRuleId") String dataRuleId); + + @Update("update sys_mobile_menu_role set dataRuleId = #{dataRuleId} where sid = #{sid}") + void updateDataByRoleMenuApp(@Param("sid") String sid,@Param("dataRuleId") String dataRuleId); + + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleMapper.xml new file mode 100644 index 0000000..bcc0a50 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleQuery.java new file mode 100644 index 0000000..d19e023 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleQuery.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleQuery.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleQuery
+ * Description: 菜单与角色关联表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 查询条件", description = "菜单与角色关联表 查询条件") +@Data +public class SysMenuRoleQuery implements Query { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("多个角色sid计集合") + private List roleSids; + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("是否是系统管理员") + private String isAdmin; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleService.java new file mode 100644 index 0000000..bbff1ce --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleService.java @@ -0,0 +1,210 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysmenu.SysMenuService; +import com.yxt.ordermall.feign.portal.sysmenurole.SysMenuRoleFeign; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleService.java
+ * Class: com.yxt.anrui.portal.biz.sysmenurole.SysMenuRoleService
+ * Description: 菜单与角色关联表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysMenuRoleService extends MybatisBaseService { + + @Autowired + SysMenuRoleFeign sysMenuRoleFeign; + @Autowired + SysMenuService sysMenuService; + + public PagerVo listPage(PagerQuery pq) { + SysMenuRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(SysMenuRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysMenuRoleQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getMenuSid())) { + qw.eq("menuSid", query.getMenuSid()); + } + + if (StringUtils.isNotBlank(query.getRoleSid())) { + qw.eq("roleSid", query.getRoleSid()); + } + return qw; + } + + public ResultBean> listPageVo(PagerQuery pq) { + return sysMenuRoleFeign.listPage(pq); + } + + public ResultBean> listAllVo(SysMenuRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return sysMenuRoleFeign.listAll(query); + } + + public ResultBean> listVo() { + return sysMenuRoleFeign.list(); + } + + public ResultBean saveOrUpdateDto(SysMenuRoleDto dto) { + return sysMenuRoleFeign.save(dto); + } + public ResultBean updateBySid(SysMenuRoleDto dto,String sid) { + return sysMenuRoleFeign.update(dto,sid); + } + public ResultBean updateRoleAndMenu(SysMenuRoleDto dto) { + return sysMenuRoleFeign.updateRoleAndMenu(dto); + } + public ResultBean del(String sid) { + return sysMenuRoleFeign.del(sid); + } + + public ResultBean fetchByIdVo(String id) { + return sysMenuRoleFeign.fetch(id); + } + + public void delByRoleSid(String roleSid) { + baseMapper.delByRoleSid(roleSid); + } + + // 不分页列表 + public List list(SysMenuRoleQuery query) { + // mybits所用的查询条件封装类 + QueryWrapper qw = buildQueryWrapper(query); + return baseMapper.list(qw); + } + + /** + * 解析和组装查询条件,封装在qw中 + * + * @param query + * @return + */ + private QueryWrapper buildQueryWrapper(SysMenuRoleQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getSourceSid())) { + qw.eq("m.sourceSid", query.getSourceSid()); + } + /*if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getRoleSid())) { + qw.in("rm.roleSid", query.getRoleSid()); + }*/ + if (StringUtils.isNotBlank(query.getIsAdmin())) { + if (!query.getIsAdmin().equals("1")){ + qw.eq("m.isEnable", 1); + } + } + + if (query.getRoleSids() != null && query.getRoleSids().size() > 0) { + qw.in("rm.roleSid", query.getRoleSids()); + } + qw.eq("m.isShow", 1); + qw.orderByAsc("m.sortNo"); + } + + return qw; + + } + + /** + * 资源菜单树形列表 + * + * @param query:roleSids,sourceSid + * @return 资源菜单树形列表(第一级一级菜单 第二级二级菜单) + */ + public List> getSourceMenuTreeOfRoles(SysMenuRoleQuery query, Map map_rolemenus) { + + //获取当前资源的菜单列表 + List> list_menus_map = new ArrayList>(); + if (null == query) + return list_menus_map; + + //角色s的某个资源的所有菜单列表 + List list_menu = list(query); + list_menus_map = sysMenuService.getSourceMenuTree(list_menu, map_rolemenus); + + return list_menus_map; + + } + + public List selectByRoleSid(String roleSid) { + return baseMapper.selectByRoleSid(roleSid); + } + + public ResultBean> selMenuByRole(SysMenuRoleDataQuery query) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("smr.roleSid",query.getRoleSid()); + if (StringUtils.isNotBlank(query.getMenuName())){ + qw.like("sm.name",query.getMenuName()); + } + List sysMenuRoleDataVos = baseMapper.selMenuByRole(qw); + return rb.success().setData(sysMenuRoleDataVos); + } + + public ResultBean> selMenuByRoleApp(SysMenuRoleDataQuery query) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("smmr.roleSid",query.getRoleSid()); + if (StringUtils.isNotBlank(query.getMenuName())){ + qw.like("smm.name",query.getMenuName()); + } + List sysMenuRoleDataVos = baseMapper.selMenuByRoleApp(qw); + return rb.success().setData(sysMenuRoleDataVos); + } + + public ResultBean updateDataByRoleMenu(List dtos) { + ResultBean rb = ResultBean.fireFail(); + for (SysMenuRoleDataDto dto : dtos) { + if (StringUtils.isNotBlank(dto.getDataRuleId())){ + baseMapper.updateDataByRoleMenu(dto.getSid(),dto.getDataRuleId()); + } + } + return rb.success(); + } + + public ResultBean updateDataByRoleMenuApp(List dtos) { + ResultBean rb = ResultBean.fireFail(); + for (SysMenuRoleDataDto dto : dtos) { + if (StringUtils.isNotBlank(dto.getDataRuleId())){ + baseMapper.updateDataByRoleMenuApp(dto.getSid(),dto.getDataRuleId()); + } + } + return rb.success(); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleVo.java new file mode 100644 index 0000000..3d8e267 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysmenurole/SysMenuRoleVo.java @@ -0,0 +1,56 @@ +package com.yxt.ordermall.biz.func.sysmenurole; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleVo.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleVo
+ * Description: 菜单与角色关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "菜单与角色关联表 视图数据对象", description = "菜单与角色关联表 视图数据对象") +@Data +public class SysMenuRoleVo implements Vo { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("菜单父级sid") + private String pSid; + @ApiModelProperty("menusid") + private String sid; + @ApiModelProperty("menuUrl") + private String menuUrl; + @ApiModelProperty("menuName") + private String menuName; + @ApiModelProperty("pageUrl") + private String pageUrl; + @ApiModelProperty("iconUrl") + private String iconUrl; + @ApiModelProperty("isShow") + private String isShow; + @ApiModelProperty("alwaysShow") + private Integer alwaysShow; + @ApiModelProperty("pageUrlRedirect") + private String pageUrlRedirect; + @ApiModelProperty("pageAliasName") + private String pageAliasName; + @ApiModelProperty("pageName") + private String pageName; + @ApiModelProperty("remarks") + private String remarks; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/AppContactSysOrganizationVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/AppContactSysOrganizationVo.java new file mode 100644 index 0000000..3e25ca6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/AppContactSysOrganizationVo.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/9/24 + */ +@ApiModel(value = "App通讯录组织架构") +@Data +public class AppContactSysOrganizationVo implements Vo { + + @ApiModelProperty("部门/组织sid") + private String sid; + + @ApiModelProperty("部门/组织名称|员工姓名") + private String name; + + @ApiModelProperty("员工数量") + private int staffNum; + + @ApiModelProperty("跳转类型:1、部门2、员工列表") + private Integer type; + + @ApiModelProperty("员工电话") + private String mobile; + + @ApiModelProperty("员工头像") + private String headImage; + + @ApiModelProperty("员工所在部门名称(路径)") + private String orgNamePath; + + @ApiModelProperty("员工职位") + private String position; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/QrCodeVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/QrCodeVo.java new file mode 100644 index 0000000..27291bb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/QrCodeVo.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2020/11/3 16:19 + * @description + */ +@Data +public class QrCodeVo { + @ApiModelProperty("部门名称") + private String departmentName; + @ApiModelProperty("单位名称") + private String organizationName; + @ApiModelProperty("部门地址") + private String address; + @ApiModelProperty("二维码图片地址") + private String qrFilePath; + @ApiModelProperty(value = "部门sid") + private String sid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgListVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgListVo.java new file mode 100644 index 0000000..ef06fc5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgListVo.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/2/14 11:45 + * @Description 员工所在部门下拉列表 + */ +@Data +public class SysOrgListVo implements Vo { + private static final long serialVersionUID = -3558876605554852892L; + + @ApiModelProperty(value = "组织名称") + private String name; + @ApiModelProperty(value = "部门编码") + private String orgCode; + @ApiModelProperty(value = "sid") + private String sid; + @ApiModelProperty(value = "上级sid") + private String psid; + @ApiModelProperty(value = "orgSidPath") + private String orgSidPath; + private List children; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgStaffVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgStaffVo.java new file mode 100644 index 0000000..5df2c06 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgStaffVo.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/9/26 11:48 + * @Description + */ +@Data +public class SysOrgStaffVo implements Vo { + private static final long serialVersionUID = -4311553944345419092L; + + private String staffName; + private String staffSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgVo.java new file mode 100644 index 0000000..a398f66 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrgVo.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/10/12 20:55 + * @description + */ +@Data +public class SysOrgVo implements Vo { + private static final long serialVersionUID = 2983637708030419942L; + @ApiModelProperty(value = "组织名称") + private String name; + @ApiModelProperty(value = "sid") + private String sid; + @ApiModelProperty(value = "psid") + private String psid; + @ApiModelProperty(value = "id") + private String id; + @ApiModelProperty(value = "orgSidPath") + private String orgSidPath; + @ApiModelProperty(value = "部门编码") + private String orgCode; + + private List children; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganization.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganization.java new file mode 100644 index 0000000..e631231 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganization.java @@ -0,0 +1,87 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganization.java
+ * Class: SysOrganization
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "组织机构表", description = "组织机构表") +@TableName("sys_organization") +@Data +public class SysOrganization extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("部门/组织名称") + private String name; + + @ApiModelProperty("父(部门/组织) sid") + private String psid; + + @ApiModelProperty("联系电话") + private String linkPhone; + @ApiModelProperty("联系人") + private String linkPerson; + + @ApiModelProperty("部门sid全路径") + private String orgSidPath; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("地址") + private String addrs; + + @ApiModelProperty("地理位置经纬度") + private String jwd; + + @ApiModelProperty("二维码") + private String qrText; + + @ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己") + private Integer limitOrgMember; + + @ApiModelProperty("部门编码") + private String orgCode; + +// @ApiModelProperty("部门简称(地区简称+门店名称首字母(遇到首字母重复时用2个字母))") +// private String orgShortName; + + @ApiModelProperty("销售区域划分(本店终端销售:0,门店对应业务区域划分销售:1至9,具体编号划分各门店报备确定)") + private String regionDivision; + + @ApiModelProperty("是否是部门(0否,1是)") + private Integer isDept; + + @ApiModelProperty("组织简称") + private String orgAbbre; + + @ApiModelProperty("组织属性key") + private String orgAttributeKey; + + @ApiModelProperty("组织属性value") + private String orgAttributeValue; + + @ApiModelProperty("管理层级key") + private String orgLevelKey; + + @ApiModelProperty("管理层级value") + private String orgLevelValue; + + @ApiModelProperty("其他编码") + private String otherCode; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationDto.java new file mode 100644 index 0000000..ea00670 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationDto.java @@ -0,0 +1,91 @@ +package com.yxt.ordermall.biz.func.sysorganization; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganizationDto.java
+ * Class: SysOrganizationDto
+ * Description: 组织机构表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "组织机构表 数据传输对象", description = "组织机构表 数据传输对象") +@Data +public class SysOrganizationDto implements Dto { + + + @ApiModelProperty("部门/组织名称") + private String name; + + @ApiModelProperty("父(部门/组织) sid") + private String psid; + + @ApiModelProperty("联系电话") + private String linkPhone; + @ApiModelProperty("联系人") + private String linkPerson; + + @ApiModelProperty("部门sid全路径") + private String orgSidPath; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("地址") + private String addrs; + + @ApiModelProperty("地理位置经纬度") + private String jwd; + + @ApiModelProperty("二维码") + private String qrText; + + @ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己") + private Integer limitOrgMember; + + @ApiModelProperty("部门编码") + private String orgCode; + + @ApiModelProperty("部门简称(地区简称+门店名称首字母(遇到首字母重复时用2个字母))") + private String orgShortName; + + @ApiModelProperty("销售区域划分(本店终端销售:0,门店对应业务区域划分销售:1至9,具体编号划分各门店报备确定)") + private String regionDivision; + + @ApiModelProperty("主管人员sid") + private String zgStaffSid; + + @ApiModelProperty("分管人员sid") + private String fgStaffSid; + + @ApiModelProperty("组织简称") + private String orgAbbre; + + @ApiModelProperty("是否是部门(0否,1是)") + private Integer isDept; + + @ApiModelProperty("组织属性key") + private String orgAttributeKey; + + @ApiModelProperty("组织属性value") + private String orgAttributeValue; + + @ApiModelProperty("管理层级key") + private String orgLevelKey; + + @ApiModelProperty("管理层级value") + private String orgLevelValue; + + @ApiModelProperty("其他编码") + private String otherCode; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListQuery.java new file mode 100644 index 0000000..5236431 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListQuery.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/9/26 11:49 + * @Description + */ +@Data +public class SysOrganizationListQuery implements Query { + private static final long serialVersionUID = 8657016527420117948L; + + private String userSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListVo.java new file mode 100644 index 0000000..f86109d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListVo.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/9/26 11:42 + * @Description + */ +@Data +public class SysOrganizationListVo implements Vo { + private static final long serialVersionUID = -3709239161608411765L; + + private String orgDeptSid; + private String orgDeptName; + + private List staffinfoVoList; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListsVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListsVo.java new file mode 100644 index 0000000..7cf0d9a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationListsVo.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/9/30 11:28 + * @Description + */ +@Data +public class SysOrganizationListsVo implements Vo { + private static final long serialVersionUID = -7021974833444298712L; + + private String orgDeptSid; + private String orgDeptName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationMapper.java new file mode 100644 index 0000000..c5a757e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationMapper.java @@ -0,0 +1,121 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganizationMapper.java
+ * Class: SysOrganizationMapper
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysOrganizationMapper extends BaseMapper { + + //@Update("update sys_organization set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + List selectFirstOrgList(); + + List selectChildrenListByPsid(@Param("psid") String psid); + + @Select("SELECT * FROM sys_organization") + List selectListVo(); + + @Select("SELECT name FROM sys_organization WHERE sid=#{sid}") + String selectOrgnameBySid(@Param("sid") String sid); + + String selectOrgSidPath(@Param("sid") String sid); + + List selectAppOrganization(); + + List selectAppOrganizationByPsid(@Param("psid") String psid); + + List treeList(String psid); + + SysOrganization selectOrgCode(); + + List getListOrg(); + + SysOrganization selectOrgCodeByPsid(); + + /** + * 根据上级sid查询组织的部门 + * + * @param psid 上级sid + * @return + */ + List selectTreeList(String psid); + + /** + * 根据部门编码查询部门信息 + * + * @param substring 部门编码 + * @return + */ + SysOrganization selectByOrgCode(String substring); + + List selectChildernList(String sid); + +// /** +// * 根据业务员sid获取到分公司 +// * +// * @param staffSid 业务员sid +// * @return +// */ +// SysStaffOrgVo getUseOrgByUserSid(@Param("staffSid") String staffSid); + + /** + * 根据sid判断是否是分公司并获取公司名称 + * + * @param sid + * @return + */ + SysOrganizationVo getUseOrgBySid(@Param("sid")String sid); + + int updateQrCodePath(@Param("sid") String sid, @Param("path") String path); + + QrCodeVo getQrCodeVo(@Param("sid") String sid); + + @Select("select * from sys_organization WHERE staffSid=#{sid}") + SysOrganizationVo getUseOrgByStaffSid(String sid); + + List> selectUseOrgSidBySid(String psid); + + SysOrgVo getListOrgByBrand(String sid); + + List selectOrgList(String orgSid); + List selectOrgLists(String orgSid); + + List selectByOrgDeptSid(String orgDeptSid); + + SysOrganizationVo selectByPSid(@Param("sid") String sid, @Param("name") String name); + + List selectOrgSidList(); + + @Select("select * from sys_organization where orgSidPath = #{orgSidPath}") + SysOrganizationVo selectByOrgSidPath(String orgSidPath); + + List getListDeptByOrgSid(String orgSid); + + List selectOrgByPSid(String psid); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationMapper.xml new file mode 100644 index 0000000..1a19b85 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationMapper.xml @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE sys_organization + SET qrText = #{path} + WHERE sid = #{sid} + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationQuery.java new file mode 100644 index 0000000..d415a6f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationQuery.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.biz.func.sysorganization; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganizationQuery.java
+ * Class: SysOrganizationQuery
+ * Description: 组织机构表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "组织机构表 查询条件", description = "组织机构表 查询条件") +@Data +public class SysOrganizationQuery implements Query { + + + @ApiModelProperty("部门/组织名称") + private String name; + + @ApiModelProperty("父(部门/组织) sid") + private String psid; + + @ApiModelProperty("联系电话") + private String linkPhone; + @ApiModelProperty("联系人") + private String linkPerson; + + @ApiModelProperty("部门sid全路径") + private String orgSidPath; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("地址") + private String addrs; + + @ApiModelProperty("地理位置经纬度") + private String jwd; + + @ApiModelProperty("二维码") + private String qrText; + + @ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己") + private Integer limitOrgMember; + + @ApiModelProperty("部门编码") + private String orgCode; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationService.java new file mode 100644 index 0000000..a1f2f8a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationService.java @@ -0,0 +1,249 @@ +package com.yxt.ordermall.biz.func.sysorganization; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.RedisUtil; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.portal.sysorganization.SysOrganizationFeign; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganizationService.java
+ * Class: SysOrganizationService
+ * Description: 组织机构表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysOrganizationService extends MybatisBaseService { + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + SysOrganizationFeign sysOrganizationFeign; + @Autowired + private RedisUtil redisUtil; + + public ResultBean saveOrg(SysOrganizationDto dto){ + return sysOrganizationFeign.saveOrg(dto); + } + + public PagerVo listPage(PagerQuery pq) { + SysOrganizationQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(SysOrganizationQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysOrganizationQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getName())) { + qw.eq("name", query.getName()); + } + + if (StringUtils.isNotBlank(query.getPsid())) { + qw.eq("psid", query.getPsid()); + } + + if (StringUtils.isNotBlank(query.getLinkPhone())) { + qw.eq("linkPhone", query.getLinkPhone()); + } + + if (StringUtils.isNotBlank(query.getOrgSidPath())) { + qw.eq("orgSidPath", query.getOrgSidPath()); + } + + if (query.getSort() != null) { + qw.eq("sort", query.getSort()); + } + + if (StringUtils.isNotBlank(query.getAddrs())) { + qw.eq("addrs", query.getAddrs()); + } + + if (StringUtils.isNotBlank(query.getJwd())) { + qw.eq("jwd", query.getJwd()); + } + + if (StringUtils.isNotBlank(query.getQrText())) { + qw.eq("qrText", query.getQrText()); + } + + if (query.getLimitOrgMember() != null) { + qw.eq("limitOrgMember", query.getLimitOrgMember()); + } + + if (StringUtils.isNotBlank(query.getOrgCode())) { + qw.eq("orgCode", query.getOrgCode()); + } + return qw; + } + + public ResultBean> listPageVo(PagerQuery pq) { + return sysOrganizationFeign.listPage(pq); + } + + public ResultBean> listAllVo(SysOrganizationQuery query) { + + return sysOrganizationFeign.listAll(query); + } + + public ResultBean> listVo(String orgSid) { + return sysOrganizationFeign.list(orgSid); + } + + + public ResultBean> selectFirstOrgList() { + return sysOrganizationFeign.selectFirstOrgList(); + } + + public ResultBean> selectChildrenListBySid(String sid) { + return sysOrganizationFeign.selectChildrenListBySid(sid); + } + public ResultBean updateBySid(SysOrganizationDto dto, String sid) { + return sysOrganizationFeign.update(dto, sid); + } + public ResultBean del(String sid) { + return sysOrganizationFeign.del(sid); + } + public ResultBean deIds(String sid) { + return sysOrganizationFeign.delBySid(sid); + } + + + public ResultBean saveOrUpdateDto(SysOrganizationDto dto) { + return sysOrganizationFeign.save(dto); + } + + public ResultBean fetchByIdVo(String id) { + return sysOrganizationFeign.fetch(id); + } + public ResultBean fetchBySidVo(String id) { + return sysOrganizationFeign.fetchBySid(id); + } + + + + public ResultBean> selectAppOrganization(String sid) { + return sysOrganizationFeign.selectAppOrganization(sid); + } + + + + + + /** + * @param + * @description: 获取组织架构即使用组织下拉框 + * @return: + * @Author: dimengzhe + * @Date: 2021/10/12 21:47 + */ + public ResultBean> treeList() { + return sysOrganizationFeign.selectListOrg(); + } + + + + public ResultBean> getListOrg() { + return sysOrganizationFeign.getListOrg(); + } + + + /** + * 查询所有部门列表 + * + * @return + */ + public ResultBean> selectListOne() { + + return sysOrganizationFeign.selectListOne(); + + } + + /** + * 根据业务员sid获取到分公司 + * + * @param userSid 业务员sid + * @return + */ + public SysOrganizationVo getUseOrgByUserSid(String userSid) { + + return new SysOrganizationVo(); + } + public ResultBean selectBySid(String userSid) { + return sysOrganizationFeign.selectBySid(userSid); + } + + + public ResultBean getQrCode(String sid) { + return sysOrganizationFeign.getQrCode(sid); + } + + + + public ResultBean>> selectUseOrgSidBySid(String sid) { + return sysOrganizationFeign.selectUseOrgSidBySid(sid); + } + + public ResultBean getOrgSid(String sid) { + return sysOrganizationFeign.getOrgSid(sid); + } + + public ResultBean> selectOrgList(SysOrganizationListQuery query) { + return sysOrganizationFeign.selectOrgList(query); + } + + public ResultBean> selectOrgLists(SysOrganizationListQuery query) { + return sysOrganizationFeign.selectOrgLists(query); + + } + + public ResultBean selectByPSid(String sid, String name) { + + return sysOrganizationFeign.selectByPSid(sid, name); + } + + public ResultBean> selectOrgSidList() { + return sysOrganizationFeign.selectOrgSidList(); + } + + public ResultBean selectByOrgSidPath(String orgSidPath) { + return sysOrganizationFeign.selectByOrgSidPath(orgSidPath); + } + + public ResultBean> getListDeptByOrgSid(String orgSid) { + return sysOrganizationFeign.getListDeptByOrgSid(orgSid); + } + + public ResultBean> selectOrgByPSid(String psid) { + + return sysOrganizationFeign.selectOrgByPSid(psid); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationVo.java new file mode 100644 index 0000000..dd0c9bf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysorganization/SysOrganizationVo.java @@ -0,0 +1,86 @@ +package com.yxt.ordermall.biz.func.sysorganization; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganizationVo.java
+ * Class: SysOrganizationVo
+ * Description: 组织机构表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "组织机构表 视图数据对象", description = "组织机构表 视图数据对象") +@Data +public class SysOrganizationVo implements Vo { + @ApiModelProperty("部门/组织名称") + private String name; + + @ApiModelProperty("父(部门/组织) sid") + private String psid; + + @ApiModelProperty("联系电话") + private String linkPhone; + + @ApiModelProperty("联系人") + private String linkPerson; + + @ApiModelProperty("部门sid全路径") + private String orgSidPath; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("地址") + private String addrs; + + @ApiModelProperty("地理位置经纬度") + private String jwd; + + @ApiModelProperty("二维码") + private String qrText; + + @ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己") + private Integer limitOrgMember; + + @ApiModelProperty("部门编码") + private String orgCode; + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("子集") + private List children = new ArrayList<>(); + @ApiModelProperty("主管人员名称") + private String zgNames; + @ApiModelProperty("分管人员名称") + private String fgNames; + @ApiModelProperty("主管人员sid") + private String zgStaffSid; + @ApiModelProperty("分管人员sid") + private String fgStaffSid; + @ApiModelProperty("组织简称") + private String orgAbbre; + @ApiModelProperty("是否是部门(0否,1是)") + private Integer isDept; + @ApiModelProperty("组织属性key") + private String orgAttributeKey; + @ApiModelProperty("组织属性value") + private String orgAttributeValue; + @ApiModelProperty("管理层级key") + private String orgLevelKey; + @ApiModelProperty("管理层级value") + private String orgLevelValue; + @ApiModelProperty("其他编码") + private String otherCode; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPost.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPost.java new file mode 100644 index 0000000..6ebfe17 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPost.java @@ -0,0 +1,46 @@ +package com.yxt.ordermall.biz.func.syspost; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPost.java
+ * Class: com.yxt.anrui.portal.api.syspost.SysPost
+ * Description: 岗位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "岗位", description = "岗位") +@TableName("sys_post") +@Data +public class SysPost extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("岗位名称") + private String name; + + @ApiModelProperty("职级key") + private String postLevelKey; + + @ApiModelProperty("职级") + private String postLevel; + + @ApiModelProperty("岗位编码") + private String postCode; + +// @ApiModelProperty("所属部门sid") +// private String orgSid; + + @ApiModelProperty(value = "父级sid") + private String parentSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostDto.java new file mode 100644 index 0000000..52787fb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostDto.java @@ -0,0 +1,44 @@ +package com.yxt.ordermall.biz.func.syspost; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPostDto.java
+ * Class: com.yxt.anrui.portal.api.syspost.SysPostDto
+ * Description: 岗位 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "岗位 数据传输对象", description = "岗位 数据传输对象") +@Data +public class SysPostDto implements Dto { + + private static final long serialVersionUID = 863876947510030464L; + @ApiModelProperty("岗位名称") + private String name; + + @ApiModelProperty("职级key") + private String postLevelKey; + + @ApiModelProperty("职级") + private String postLevel; + + @ApiModelProperty("岗位编码") + private String postCode; + +// @ApiModelProperty("所属部门sid") +// private String orgSid; + + @ApiModelProperty(value = "父级sid", example = "0") + private String parentSid; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostListVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostListVo.java new file mode 100644 index 0000000..42b3b35 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostListVo.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.func.syspost; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/2/14 13:49 + * @Description 部门下的岗位信息 + */ +@Data +public class SysPostListVo implements Vo { + private static final long serialVersionUID = -8060032905868283959L; + + @ApiModelProperty("岗位名称") + private String name; + @ApiModelProperty("岗位编码") + private String postCode; + @ApiModelProperty("岗位sid") + private String sid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostMapper.java new file mode 100644 index 0000000..b586691 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostMapper.java @@ -0,0 +1,65 @@ +package com.yxt.ordermall.biz.func.syspost; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPostMapper.java
+ * Class: com.yxt.anrui.portal.biz.syspost.SysPostMapper
+ * Description: 岗位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysPostMapper extends BaseMapper { + + //@Update("update sys_post set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_post") + List selectListVo(); + + @Select("select * from sys_post where sid=#{sid} ") + SysPost fetchBySid(@Param("sid") String sid); + + @Select("select * from sys_post where orgSid=#{orgSid} ") + List fetchByOrgSid(@Param("orgSid") String orgSid); + + @Select("select postCode,`name` from sys_post") + List fetchByOrgSidPostCode(); + + /** + * 查询所有岗位列表 + * + * @return + */ + List selectListOne(); + + /** + * 根据岗位编码查询岗位信息 + * + * @param substring 岗位编码 + * @return + */ + SysPost selectByPostCode(String substring); + + @Select("select * from sys_post where staffSid = #{sid}") + SysPost getPostByStaffSid(String sid); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostMapper.xml new file mode 100644 index 0000000..701f0ab --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostQuery.java new file mode 100644 index 0000000..ba49aa4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostQuery.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.biz.func.syspost; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPostQuery.java
+ * Class: com.yxt.anrui.portal.api.syspost.SysPostQuery
+ * Description: 岗位 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "岗位 查询条件", description = "岗位 查询条件") +@Data +public class SysPostQuery implements Query { + + + @ApiModelProperty("岗位名称") + private String name; + + @ApiModelProperty("职级key") + private String postLevelKey; + + @ApiModelProperty("职级") + private String postLevel; + + @ApiModelProperty("岗位编码") + private String postCode; + + @ApiModelProperty("所属部门sid") + private String orgSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostService.java new file mode 100644 index 0000000..7bb4659 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostService.java @@ -0,0 +1,130 @@ +package com.yxt.ordermall.biz.func.syspost; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.portal.syspost.SysPostFeign; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPostService.java
+ * Class: com.yxt.user.biz.syspost.SysPostService
+ * Description: 岗位 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysPostService extends MybatisBaseService { + + + @Autowired + SysPostFeign sysPostFeign; + + public PagerVo listPage(PagerQuery pq) { + SysPostQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public List listAll(SysPostQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + + private QueryWrapper createQueryWrapper(SysPostQuery query) { + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getName())) { + qw.like("post.name", query.getName()); + } + + if (StringUtils.isNotBlank(query.getOrgSid())) { + qw.eq("post.orgSid", query.getOrgSid()); + } + return qw; + } + + public ResultBean> listPageVo(PagerQuery pq) { + return sysPostFeign.listPage(pq); + } + + public ResultBean> listAllVo(SysPostQuery query) { + return sysPostFeign.listAll(query); + } + + public ResultBean> listVo() { + return sysPostFeign.list(); + } + + public ResultBean saveOrUpdateDto(SysPostDto dto) { + return sysPostFeign.save(dto); + } + public ResultBean updateBySid(SysPostDto dto,String sid) { + return sysPostFeign.update(dto,sid); + } + public ResultBean del(String sid) { + return sysPostFeign.del(sid); + } + public ResultBean delBySids(String sid) { + return sysPostFeign.delBySids(sid); + } + + public ResultBean fetchByIdVo(String id) { + return sysPostFeign.fetch(id); + } + + public ResultBean fetchBySidVo(String sid) { + return sysPostFeign.fetchBySid(sid); + } + + public ResultBean> fetchByOrgSid(String orgSid) { + return sysPostFeign.fetchByOrgSid(orgSid); + } + + public ResultBean fetchByOrgSidPostCode() { + return sysPostFeign.fetchByOrgSidPostCode(); + } + + /** + * 查询所有岗位列表 + * + * @return + */ + public ResultBean> selectList() { + + return sysPostFeign.selectList(); + } + + /** + * 根据岗位编码查询岗位信息 + * + * @param substring 岗位编码 + * @return + */ + public SysPost selectByPostCode(String substring) { + return baseMapper.selectByPostCode(substring); + } + + public SysPost getPostByStaffSid(String sid) { + return baseMapper.getPostByStaffSid(sid); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostVo.java new file mode 100644 index 0000000..5ff81eb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/syspost/SysPostVo.java @@ -0,0 +1,52 @@ +package com.yxt.ordermall.biz.func.syspost; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPostVo.java
+ * Class: com.yxt.anrui.portal.api.syspost.SysPostVo
+ * Description: 岗位 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "岗位 视图数据对象", description = "岗位 视图数据对象") +@Data +public class SysPostVo implements Vo { + + + @ApiModelProperty("岗位名称") + private String name; + + @ApiModelProperty("职级key") + private String postLevelKey; + + @ApiModelProperty("职级") + private String postLevel; + + @ApiModelProperty("岗位编码") + private String postCode; + + @ApiModelProperty("所属部门sid") + private String orgSid; + + @ApiModelProperty("所属部门名称") + private String orgName; + + @ApiModelProperty("岗位sid") + private String sid; + + @ApiModelProperty(value = "上级岗位名称") + private String parentName; + @ApiModelProperty(value = "上级岗位sid") + private String parentSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRole.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRole.java new file mode 100644 index 0000000..6ea61cf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRole.java @@ -0,0 +1,50 @@ +package com.yxt.ordermall.biz.func.sysrole; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRole.java
+ * Class: com.yxt.anrui.portal.api.sysrole.SysRole
+ * Description: 角色.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "角色", description = "角色") +@TableName("sys_role") +@Data +public class SysRole extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("角色名称") + private String name; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("编码") + private String code; + + @ApiModelProperty("1、系统管理员、2、普通角色") + private Integer type; + + @ApiModelProperty("岗位sid") + private String postSid; + + @ApiModelProperty(value = "角色组织层级key") + private String roleType; + @ApiModelProperty(value = "角色组织层级value") + private String roleTypeValue; + private String orgSid; + private String dataRuleId; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleDto.java new file mode 100644 index 0000000..3d59d86 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleDto.java @@ -0,0 +1,53 @@ +package com.yxt.ordermall.biz.func.sysrole; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRoleDto.java
+ * Class: com.yxt.anrui.portal.api.sysrole.SysRoleDto
+ * Description: 角色 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "角色 数据传输对象", description = "角色 数据传输对象") +@Data +public class SysRoleDto implements Dto { + + + @ApiModelProperty("角色名称") + private String name; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("编码") + private String code; + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("1、系统管理员、2、普通角色") + private Integer type; + + @ApiModelProperty("岗位sid") + private String postSid; + + @ApiModelProperty("岗位名称") + private String postName; + + @ApiModelProperty(value = "角色组织层级key") + private String roleType; + @ApiModelProperty(value = "角色组织层级value") + private String roleTypeValue; + private String orgSid; + private String dataRuleId; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleMapper.java new file mode 100644 index 0000000..401aaba --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleMapper.java @@ -0,0 +1,68 @@ +package com.yxt.ordermall.biz.func.sysrole; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRoleMapper.java
+ * Class: com.yxt.anrui.portal.biz.sysrole.SysRoleMapper
+ * Description: 角色.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysRoleMapper extends BaseMapper { + + //@Update("update sys_role set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_role") + List selectListVo(); + + List fetchByUserSid(String userSid); + + List listAllByUserSid(String userSid); + + SysRole fetchByName(String name); + + int deleteBatchSids(List list); + + int deleteBySid(String valueOf); + + SysRoleVo fetchBySid(String sid); + + int updateIsEnable(@Param("sid") String sid, @Param("isEnable") String isEnable); + + String getLevelType(String roleSid); + + String selectRoleSid(String userRoleSid); + + String selectByUserSid(String sid); + + List selectByUser(String userSid); + +// List selectRoleList(String menuSid); +// +// List selectMobileRoleList(String menuSid); + + List selectByRole(@Param("list") List roleSidList, @Param("menuSid") String menuSid,@Param("userSid") String userSid); + + List selectByMobileRole(@Param("list") List roleSidList, @Param("menuSid") String menuSid,@Param("userSid") String userSid); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleMapper.xml new file mode 100644 index 0000000..7527009 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleMapper.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + DELETE + FROM sys_role WHERE sid IN + + #{sid} + + + + DELETE + FROM sys_role + WHERE sid = #{sid} + + + + UPDATE sys_role + SET isEnable = #{isEnable} + WHERE sid = #{sid} + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleQuery.java new file mode 100644 index 0000000..3c9b905 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleQuery.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.biz.func.sysrole; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRoleQuery.java
+ * Class: com.yxt.anrui.portal.api.sysrole.SysRoleQuery
+ * Description: 角色 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "角色 查询条件", description = "角色 查询条件") +@Data +public class SysRoleQuery implements Query { + + + @ApiModelProperty("角色名称") + private String name; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("编码") + private String code; + + @ApiModelProperty("1、系统管理员、2、普通角色") + private Integer type; + private String orgSid;//组织 + private String sourceSid;//资源 +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleService.java new file mode 100644 index 0000000..c91ef13 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleService.java @@ -0,0 +1,131 @@ +package com.yxt.ordermall.biz.func.sysrole; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleService; +import com.yxt.ordermall.feign.portal.sysrole.SysRoleFeign; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRoleService.java
+ * Class: com.yxt.anrui.portal.biz.sysrole.SysRoleService
+ * Description: 角色 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysRoleService extends MybatisBaseService { + @Autowired + private SysUserRoleService sysUserRoleService; + @Autowired + SysRoleFeign sysRoleFeign; + + + public ResultBean> listPage(PagerQuery pq) { + return sysRoleFeign.listPage(pq); + } + + public ResultBean> listAll(SysRoleQuery query) { + return sysRoleFeign.listAll(query); + } + + private QueryWrapper createQueryWrapper(SysRoleQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getName())) { + qw.like("sr.name", query.getName()); + } + + if (query.getSort() != null) { + qw.eq("sr.sort", query.getSort()); + } + + if (StringUtils.isNotBlank(query.getCode())) { + qw.eq("sr.code", query.getCode()); + } + + if (query.getType() != null) { + qw.eq("sr.type", query.getType()); + } + return qw; + } + + public ResultBean> listPageVo(PagerQuery pq) { + return sysRoleFeign.listPage(pq); + } + + public ResultBean> listAllVo(SysRoleQuery query) { + return sysRoleFeign.listAll(query); + } + + public ResultBean> listVo() { + return sysRoleFeign.list(); + } + + public ResultBean saveOrUpdateDto(SysRoleDto dto) { + return sysRoleFeign.save(dto); + } + public ResultBean updateBySid(SysRoleDto dto,String sid) { + return sysRoleFeign.update(dto,sid); + } + public ResultBean fetchByIdVo(String id) { + return sysRoleFeign.fetch(id); + } + + public ResultBean> fetchByUserSid(String userSid) { + return sysRoleFeign.fetchByUserSid(userSid); + } + + public ResultBean> listAllByUserSid(String userSid,String orgSid) { + return sysRoleFeign.listAllByUserSid(userSid, orgSid); + } + + /** + * 描述 : <描述函数实现的功能>.
+ *

+ * + * @param sids + * @return + */ + public ResultBean delBySid(String sids) { + return sysRoleFeign.delBySids(sids); + } + /** + * 描述 : <描述函数实现的功能>.
+ *

+ * + * @param sids + * @return + */ + public ResultBean del(String sids) { + return sysRoleFeign.del(sids); + } + + public ResultBean fetchBySidVo(String sid) { + return sysRoleFeign.fetchBySid(sid); + } + public ResultBean updateIsEnable(String sid, String isEnable) { + return sysRoleFeign.setIsEnable(sid,isEnable); + } + + + + + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleVo.java new file mode 100644 index 0000000..5d76875 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysrole/SysRoleVo.java @@ -0,0 +1,50 @@ +package com.yxt.ordermall.biz.func.sysrole; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRoleVo.java
+ * Class: com.yxt.anrui.portal.api.sysrole.SysRoleVo
+ * Description: 角色 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "角色 视图数据对象", description = "角色 视图数据对象") +@Data +public class SysRoleVo implements Vo { + @ApiModelProperty("角色名称") + private String name; + @ApiModelProperty("排序") + private Integer sort; + @ApiModelProperty("编码") + private String code; + @ApiModelProperty("1、系统管理员、2、普通角色") + private Integer type; + @ApiModelProperty("角色sid") + private String sid; + @ApiModelProperty("说明") + private String remarks; + @ApiModelProperty("是否选中,1:未选中,0:选中") + private String checked; + @ApiModelProperty("是否可用") + private String isEnable; + @ApiModelProperty("岗位sid") + private String postSid; + @ApiModelProperty("岗位名称") + private String postName; + @ApiModelProperty(value = "组织层级") + private String roleTypeValue; + private String dataRuleId; + private String dataRuleValue; + private String orgSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysMenuRoleVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysMenuRoleVo.java new file mode 100644 index 0000000..efdb264 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysMenuRoleVo.java @@ -0,0 +1,55 @@ +package com.yxt.ordermall.biz.func.sysroleauthorize; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleVo.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleVo
+ * Description: 菜单与角色关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ + +@Data +public class SysMenuRoleVo implements Vo { + + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("菜单父级sid") + private String pSid; + @ApiModelProperty("menusid") + private String sid; + @ApiModelProperty("menuUrl") + private String menuUrl; + @ApiModelProperty("menuName") + private String menuName; + @ApiModelProperty("pageUrl") + private String pageUrl; + @ApiModelProperty("iconUrl") + private String iconUrl; + @ApiModelProperty("isShow") + private String isShow; + @ApiModelProperty("alwaysShow") + private Integer alwaysShow; + @ApiModelProperty("pageUrlRedirect") + private String pageUrlRedirect; + @ApiModelProperty("pageAliasName") + private String pageAliasName; + @ApiModelProperty("pageName") + private String pageName; + @ApiModelProperty("remarks") + private String remarks; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorize.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorize.java new file mode 100644 index 0000000..5e09243 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorize.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.func.sysroleauthorize; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSource.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSource
+ * Description: 资源表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "角色授权表", description = "角色授权表") +@TableName("sys_role_authorize") +@Data +public class SysRoleAuthorize extends BaseEntity { + private static final long serialVersionUID = 1L; + private String roleSid;//角色sid + private String sourceSid;//资源sid + private String menuSid;//菜单sid + private String dataRuleId;//菜单的数据权限id + private String funcSid;//功能sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeDto.java new file mode 100644 index 0000000..cc08e1d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeDto.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.biz.func.sysroleauthorize; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceDto.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceDto
+ * Description: 资源表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "资源表 数据传输对象", description = "资源表 数据传输对象") +@Data +public class SysRoleAuthorizeDto implements Dto { + + + private String roleSid;//角色sid + private String sourceSid;//资源sid + private String menuSid;//菜单sid + private String dataRuleId;//菜单的数据权限id + private String funcSid;//功能sid + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeMapper.java new file mode 100644 index 0000000..d82de9a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeMapper.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.biz.func.sysroleauthorize; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceMapper.java
+ * Class: com.yxt.anrui.portal.biz.syssource.SysSourceMapper
+ * Description: 角色授权表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysRoleAuthorizeMapper extends BaseMapper { + + + + List list(@Param(Constants.WRAPPER) QueryWrapper qw); + List selectByRoleSid(String roleSid); + @Delete("delete from sys_menu_role where roleSid=#{roleSid}") + void delByRoleSid(@Param("roleSid") String roleSid); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeMapper.xml new file mode 100644 index 0000000..aa90ef9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeQuery.java new file mode 100644 index 0000000..6dd8f44 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeQuery.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.biz.func.sysroleauthorize; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceQuery.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceQuery
+ * Description: 资源表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "资源表 查询条件", description = "资源表 查询条件") +@Data +public class SysRoleAuthorizeQuery implements Query { + + @ApiModelProperty("菜单sid") + private String menuSid; + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("多个角色sid计集合") + private List roleSids; + @ApiModelProperty("资源sid") + private String sourceSid; + @ApiModelProperty("是否是系统管理员") + private String isAdmin; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeService.java new file mode 100644 index 0000000..fd9f2a9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeService.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.biz.func.sysroleauthorize; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.feign.portal.sysroleauthorize.SysRoleAuthorizeFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceService.java
+ * Class: com.yxt.anrui.portal.biz.syssource.SysSourceService
+ * Description: 资源表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysRoleAuthorizeService extends MybatisBaseService { + @Autowired + SysRoleAuthorizeFeign sysRoleAuthorizeFeign; + + + + public ResultBean updateRoleAndMenu(SysRoleAuthorizeDto dto) { + + return sysRoleAuthorizeFeign.updateRoleAndMenu(dto); + } + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeVo.java new file mode 100644 index 0000000..2288f2f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysroleauthorize/SysRoleAuthorizeVo.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.func.sysroleauthorize; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceVo.java
+ * Class: com.yxt.user.biz.syssource.SysSourceVo
+ * Description: 资源表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "资源表 视图数据对象", description = "资源表 视图数据对象") +@Data +public class SysRoleAuthorizeVo implements Vo { + + + private String roleSid;//角色sid + private String sourceSid;//资源sid + private String menuSid;//菜单sid + private String dataRuleId;//菜单的数据权限id + private String funcSid;//功能sid +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/AppContactsDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/AppContactsDetailsVo.java new file mode 100644 index 0000000..8f191ec --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/AppContactsDetailsVo.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/9/17 + */ +@ApiModel(value = "App通讯录查看详情") +@Data +public class AppContactsDetailsVo implements Vo { + +// @ApiModelProperty("人员sid") +// private String sid; + + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("头像") + private String headImage; + + @ApiModelProperty("部门名称(路径)") + private String orgNamePath; + + @ApiModelProperty("职位") + private String position; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/PcSysStaffQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/PcSysStaffQuery.java new file mode 100644 index 0000000..38c90c3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/PcSysStaffQuery.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/20 15:47 + * @Description + */ +@Data +public class PcSysStaffQuery implements Query { + private static final long serialVersionUID = 1858291601540877140L; + @ApiModelProperty(value = "业务员sid",required = false) + private String staffSid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/PcSysStaffVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/PcSysStaffVo.java new file mode 100644 index 0000000..859bad5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/PcSysStaffVo.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/20 15:44 + * @Description + */ +@Data +public class PcSysStaffVo implements Vo { + private static final long serialVersionUID = -9042032921079833819L; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("人员") + private String staffName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffQuery.java new file mode 100644 index 0000000..26c657d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffQuery.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @Author dimengzhe + * @Date 2022/2/15 15:22 + * @Description + */ +@Data +public class SysStaffQuery implements Query { + private static final long serialVersionUID = -7345786610678948794L; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty(value = "离职日期") + @NotNull(message = "离职日期不能为空") + private Date quitDate; + @ApiModelProperty(value = "离职原因") + @NotBlank(message = "离职原因不能为空") + private String quitReason; + @ApiModelProperty(value = "员工sid") + private String sid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfo.java new file mode 100644 index 0000000..f8a9835 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfo.java @@ -0,0 +1,87 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffinfo.java
+ * Class: com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfo
+ * Description: 人员基础信息表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "人员基础信息表", description = "人员基础信息表") +@TableName("sys_staffinfo") +@Data +public class SysStaffinfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("工号") + private String jobNumber; + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty(value = "性别") + private String gender; + @ApiModelProperty("身份证号") + private String idNo; + @ApiModelProperty("证件有效期") + private String idTerm; + @ApiModelProperty("生日") + private Date birthday; + @ApiModelProperty("民族") + private String national; + + @ApiModelProperty("籍贯") + private String nativePlace; + + @ApiModelProperty("住址") + private String address; + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty("邮箱") + private String email; + + @ApiModelProperty("婚姻状况") + private String maritalStatus; + + @ApiModelProperty("员工类型(无类型、全职、兼职、实习、劳务派遣、退休返聘、劳务外包)") + private String personType; + + @ApiModelProperty("入职时间") + private Date joinCompnyDate; + @ApiModelProperty("试用期(无试用期、1个月、2个月、3个月、其他)") + private String probPeriod; + + @ApiModelProperty("计划转正日期") + private Date plannedConfirmDate; + @ApiModelProperty("实际转正日期") + private Date confirmationDate; + @ApiModelProperty("银行卡号") + private String bankCardNo; + @ApiModelProperty("开户行") + private String openBank; + @ApiModelProperty("身份证(人像面)") + private String idCardA; + @ApiModelProperty("身份证(国徽面)") + private String idCardB; + @ApiModelProperty("学历证书") + private String diploma; + @ApiModelProperty("学位证书") + private String degreeCertificate; + @ApiModelProperty("前公司离职证明") + private String leaveCertificate; + @ApiModelProperty("员工照片") + private String photo; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoAppContactsSearchVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoAppContactsSearchVo.java new file mode 100644 index 0000000..be3ae11 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoAppContactsSearchVo.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/9/24 + */ +@ApiModel(value = "App通讯录(搜索)") +@Data +public class SysStaffinfoAppContactsSearchVo implements Vo { + + @ApiModelProperty("人员sid") + private String sid; + + @ApiModelProperty("用户头像") + private String headImage; + + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("职位") + private String position; + + @ApiModelProperty("部门名称") + private String orgName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoAppContactsVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoAppContactsVo.java new file mode 100644 index 0000000..8efcad7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoAppContactsVo.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description + * @Author liuguohui + * @Date 2021/9/16 + */ +@ApiModel(value = "App通讯录") +@Data +public class SysStaffinfoAppContactsVo implements Vo { + + @ApiModelProperty("人员sid") + private String sid; + + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("用户头像") + private String headImage; + + @ApiModelProperty("姓名的拼音(全)") + private String pinYinName; + + @ApiModelProperty("姓名拼音的首字母(特殊的#表示)") + private String firstPinYinLabel; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoDetailsVo.java new file mode 100644 index 0000000..d4e022b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoDetailsVo.java @@ -0,0 +1,89 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.biz.func.sysstafforg.SysStaffOrgDetailsVo; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/2/11 16:12 + * @Description 员工信息的编辑初始化和详情返回数据 + */ +@Data +public class SysStaffinfoDetailsVo implements Vo { + private static final long serialVersionUID = 1232171677690215067L; + + private String sid; + @ApiModelProperty("工号") + private String jobNumber; + @ApiModelProperty("姓名") + private String name; + + @ApiModelProperty(value = "性别") + private String gender; + @ApiModelProperty("身份证号") + private String idNo; + @ApiModelProperty("证件有效期") + private String idTerm; + @ApiModelProperty("生日") + private Date birthday; + @ApiModelProperty("民族") + private String national; + + @ApiModelProperty("籍贯") + private String nativePlace; + + @ApiModelProperty("住址") + private String address; + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty("邮箱") + private String email; + + @ApiModelProperty("婚姻状况") + private String maritalStatus; + + @ApiModelProperty("员工类型(无类型、全职、兼职、实习、劳务派遣、退休返聘、劳务外包)") + private String personType; + + @ApiModelProperty("入职时间") + private Date joinCompnyDate; + @ApiModelProperty("试用期(无试用期、1个月、2个月、3个月、其他)") + private String probPeriod; + + @ApiModelProperty("计划转正日期") + private Date plannedConfirmDate; + @ApiModelProperty("实际转正日期") + private Date confirmationDate; + @ApiModelProperty("银行卡号") + private String bankCardNo; + @ApiModelProperty("开户行") + private String openBank; + @ApiModelProperty("身份证(人像面)") + private String idCardA; + @ApiModelProperty("身份证(国徽面)") + private String idCardB; + @ApiModelProperty("学历证书") + private String diploma; + @ApiModelProperty("学位证书") + private String degreeCertificate; + @ApiModelProperty("前公司离职证明") + private String leaveCertificate; + @ApiModelProperty("员工照片") + private String photo; + @ApiModelProperty(value = "员工部门信息") + private SysStaffOrgDetailsVo sysStaffOrg; + private List sysUserRoles; + + private String accountType;//账号类型 1单位管理员,2操作员,0是平台管理员 3非登录账户 + private String userType;//用户类型:1员工、2客户、3供应商 + private String userName; + private String remarks; + private String orgSid; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoDto.java new file mode 100644 index 0000000..2d9877d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoDto.java @@ -0,0 +1,193 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import com.yxt.ordermall.biz.func.sysstafforg.SysStaffOrgDto; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffinfoDto.java
+ * Class: com.yxt.user.biz.sysstaffinfo.SysStaffinfoDto
+ * Description: 人员基础信息表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "人员基础信息表 数据传输对象", description = "人员基础信息表 数据传输对象") +@Data +public class SysStaffinfoDto implements Dto { + + private static final long serialVersionUID = 8637516813924395044L; + @ApiModelProperty(value = "姓名", required = true) + @NotBlank(message = "姓名不能为空") + private String name; + @ApiModelProperty(value = "性别key", required = true) + @NotBlank(message = "性别不能为空") + private String genderKey; + @ApiModelProperty(value = "性别", required = true) + @NotBlank(message = "性别不能为空") + private String gender; + @ApiModelProperty(value = "员工编号") + private String jobNumber; + @ApiModelProperty(value = "身份证号", required = true) + @Pattern(regexp = "^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$", message = "请输入正确的身份证号") + @NotBlank(message = "身份证号不能为空") + private String idNo; + @ApiModelProperty(value = "证件有效期", required = true) + @NotBlank(message = "证件有效期不能为空") + private String idTerm; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("生日") + private Date birthday; + @ApiModelProperty(value = "民族", required = true) + @NotBlank(message = "民族不能为空") + private String national; + @ApiModelProperty(value = "民族key", required = true) + @NotBlank(message = "民族不能为空") + private String nationalKey; + @ApiModelProperty(value = "籍贯", required = false) + private String nativePlace; + @ApiModelProperty(value = "省", required = false) + private String province; + @ApiModelProperty(value = "市", required = false) + private String city; + @ApiModelProperty(value = "县区", required = false) + private String county; + @ApiModelProperty(value = "省code", required = false) + private String provinceCode; + @ApiModelProperty(value = "市code", required = false) + private String cityCode; + @ApiModelProperty(value = "县区code", required = false) + private String countyCode; + @ApiModelProperty(value = "住址", required = false) + private String address; + @ApiModelProperty(value = "手机号", required = true) +// @Pattern(regexp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|(19[1,3,5-9])|166|(147))\\d{8}$", message = "手机号码格式不正确") + @Pattern(regexp = "^[0-9]{11}$", message = "手机号码格式不正确") + @NotBlank(message = "手机号不能为空") + private String mobile; + @ApiModelProperty(value = "邮箱", required = false) + //@Pattern(regexp = "[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+", message = "邮箱格式不正确") + private String email; + @ApiModelProperty(value = "紧急联系人", required = false) + private String emergencyContact; + @ApiModelProperty(value = "紧急联系电话", required = false) + private String emergencyMobile; + @ApiModelProperty(value = "政治面貌", required = false) + private String poliCode; + @ApiModelProperty(value = "政治面貌key", required = false) + private String poliCodeKey; + @ApiModelProperty(value = "婚姻状况", required = false) + private String maritalStatus; + @ApiModelProperty(value = "婚姻状况key", required = false) + private String maritalStatusKey; + @ApiModelProperty(value = "员工类型", required = true) + @NotBlank(message = "员工类型不能为空") + private String personType; + @ApiModelProperty(value = "员工类型key", required = true) + @NotBlank(message = "员工类型不能为空") + private String personTypeKey; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("入职时间") + private Date joinCompnyDate; + @ApiModelProperty("试用期(无试用期、1个月、2个月、3个月、其他)") + private String probPeriod; + @ApiModelProperty("试用期key") + private String probPeriodKey; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("计划转正日期") + private Date plannedConfirmDate; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty("实际转正日期") + private Date confirmationDate; + @ApiModelProperty("银行卡号") + private String bankCardNo; + @ApiModelProperty("开户行") + private String openBank; + @ApiModelProperty("身份证(人像面)") + private String idCardA; + @ApiModelProperty("身份证(国徽面)") + private String idCardB; + @ApiModelProperty("学历证书") + private String diploma; + @ApiModelProperty("学位证书") + private String degreeCertificate; + @ApiModelProperty("前公司离职证明") + private String leaveCertificate; + @ApiModelProperty("员工照片") + private String photo; + @ApiModelProperty(value = "员工部门信息") + private SysStaffOrgDto sysStaffOrg; + @ApiModelProperty(value = "员工角色信息") + private List sysUserRoles; + //========================================// + @ApiModelProperty(value = "毕业院校") + private String graduate; + @ApiModelProperty(value = "学历/专业") + private String education; + private String educationKey; + @ApiModelProperty(value = "职称") + private String title; + @ApiModelProperty(value = "资格认证") + private String qualification; + @ApiModelProperty(value = "驾照类型") + private String licenseType; + @ApiModelProperty(value = "驾照类型key") + private String licenseTypeKey; + @ApiModelProperty(value = "意外险参保:1是,0否") + private Integer isHaveInsurance; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty(value = "意外险参保时间") + private Date insuranceStartDate; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty(value = "意外险参保终止日期") + private Date insuranceEndDate; + @ApiModelProperty(value = "意外险参保地") + private String insuranceAddr; + + @ApiModelProperty(value = "养老:1是,0否") + private Integer isHaveAged; + @ApiModelProperty(value = "医疗:1是,0否") + private Integer isHaveMedical; + @ApiModelProperty(value = "工伤:1是,0否") + private Integer isHaveInjury; + @ApiModelProperty(value = "失业:1是,0否") + private Integer isHaveUnemploy; + @ApiModelProperty(value = "社保参保地") + private String insuredPlace; + @ApiModelProperty(value = "纸质档案保管地") + private String paperPlace; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty(value = "合同起止日期") + private Date contractStartDate; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty(value = "合同结束日期") + private Date contractEndDate; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @ApiModelProperty(value = "离职日期") + private Date quitDate; + @ApiModelProperty(value = "离职原因") + private String quitReason; + private String accountType;//账号类型 1单位管理员,2操作员,0是平台管理员 3非登录账户 + private String userType;//用户类型:1员工、2客户、3供应商 + private String orgSid; + @Pattern(regexp = "^[0-9]{11}$", message = "账号格式不正确") + @NotBlank(message = "账号不能为空") + private String userName; + private String remarks; + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoMapper.java new file mode 100644 index 0000000..944fdf3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoMapper.java @@ -0,0 +1,127 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.biz.func.sysorganization.AppContactSysOrganizationVo; +import com.yxt.ordermall.biz.func.sysstaffinfo.app.AppSysStaffVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffinfoMapper.java
+ * Class: com.yxt.anrui.portal.biz.sysstaffinfo.SysStaffinfoMapper
+ * Description: 人员基础信息表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysStaffinfoMapper extends BaseMapper { + + //@Update("update sys_staffinfo set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List selectAppContactsList(); + + IPage searchAppContactsPageList(IPage page, @Param("list") List list, + @Param("chnStr") String chnStr, @Param("mobileStr") String mobileStr); + + AppContactsDetailsVo selectAppContactsVO(String staffSid); + + List selectContactsByOrgsid(@Param("sid") String sid); + + SysStaffinfo selectJobNumber(); + + /** + * 查询员工的手机号是否重复 + * + * @param mobile 手机号 + * @return + */ + SysStaffinfo selectByMobile(String mobile); + + /** + * 查询是否存在该身份证号的员工 + * + * @param idNo 身份证号 + * @return + */ + SysStaffinfo selectByIdNo(String idNo); + + /** + * 员工管理分页列表 + * + * @param page 分页 + * @param qw 查询条件 + * @return + */ + IPage pagerList(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + /** + * 根据员工sid和员工手机号码查询员工信息是否已存在 + * + * @param mobile 手机号 + * @param sid 员工sid + * @return + */ + SysStaffinfo selectByMobileAndSid(@Param("mobile") String mobile, @Param("sid") String sid); + + /** + * 根据员工sid和身份证号查询员工信息是否已存在 + * + * @param idNo 身份证号 + * @param sid 员工sid + * @return + */ + SysStaffinfo selectByIdNoAndSid(@Param("idNo") String idNo, @Param("sid") String sid); + + /** + * 根据员工sid查询员工信息 + * + * @param sid 员工sid + * @return + */ + SysStaffinfoDetailsVo selectDetailsBySid(@Param("sid") String sid, @Param("path") String path); + + /** + * 根据员工sid更新信息 + * + * @param personType 员工类型 + * @param personTypeKey 员工类型key + * @param sid 员工sid + * @return + */ + int updateBySid(@Param("personType") String personType, @Param("personTypeKey") String personTypeKey, + @Param("sid") String sid, @Param("date") Date date, @Param("reason") String reason); + + /** + * 查询当前分公司下的员工信息 + * + * @param orgSid 分公司sid + * @return + */ + List selectStaffList(String orgSid); + + List> getStaffName(@Param(Constants.WRAPPER) Wrapper> qw); + + List> getStaffNameByDeptSid(@Param(Constants.WRAPPER) Wrapper> qw); + + IPage getUserList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw, @Param("orgSid") String orgSid); + + List getGressionUserList(@Param("userOrgSid")String userOrgSid); + + List selectStaffLists(); + List selectStaffListss(); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoMapper.xml new file mode 100644 index 0000000..0d4389c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoMapper.xml @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update sys_staffinfo + set personType = #{personType}, + personTypeKey = #{personTypeKey}, + quitDate = #{date}, + quitReason = #{reason} + where sid = #{sid} + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoQuery.java new file mode 100644 index 0000000..0e15abb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoQuery.java @@ -0,0 +1,42 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffinfoQuery.java
+ * Class: com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoQuery
+ * Description: 人员基础信息表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "人员基础信息表 查询条件", description = "人员基础信息表 查询条件") +@Data +public class SysStaffinfoQuery implements Query { + + + private static final long serialVersionUID = 7101232842735165406L; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("员工类型key") + private String personTypeKey; + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty("入职开始日期") + private String joinCompnyDateStart; + @ApiModelProperty("入职结束日期") + private String joinCompnyDateEnd; + @ApiModelProperty(value = "所在部门sid") + private String orgSid; + @ApiModelProperty(value = "所在岗位sid") + private String postSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoService.java new file mode 100644 index 0000000..a1db1b5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoService.java @@ -0,0 +1,138 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysstaffinfo.app.AppSysStaffQuery; +import com.yxt.ordermall.biz.func.sysstaffinfo.app.AppSysStaffVo; +import com.yxt.ordermall.feign.portal.sysstaffinfo.SysStaffinfoFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffinfoService.java
+ * Class: com.yxt.user.biz.sysstaffinfo.SysStaffinfoService
+ * Description: 人员基础信息表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysStaffinfoService extends MybatisBaseService { + + + @Autowired + private SysStaffinfoFeign sysStaffinfoFeign; + + + public ResultBean> selectAppContactsList() { + return sysStaffinfoFeign.selectAppContactsList(""); + } + + public ResultBean> searchAppContactsList(PagerQuery pagerQuery ) { + return sysStaffinfoFeign.searchAppContactsList(pagerQuery); + } + + public ResultBean> searchAppContactsList2(PagerQuery pagerQuery) { + return sysStaffinfoFeign.searchAppContactsList2(pagerQuery); + } + + + public ResultBean selectAppContactsVO(String staffSid) { + return sysStaffinfoFeign.selectAppContactsVO(staffSid); + } + + + /** + * 员工管理分页列表 + * + * @param pagerQuery 查询条件 + * @return + */ + public ResultBean> pagerList(PagerQuery pagerQuery) { + + return sysStaffinfoFeign.listPage(pagerQuery); + } + + + + /** + * 员工信息的新增保存 + * + * @param dto 数据传输对象 + * @return + */ + public ResultBean saveStaffInfo(SysStaffinfoDto dto) { + return sysStaffinfoFeign.save(dto); + } + + + /** + * 员工信息修改保存 + * + * @param dto 数据传输对象 + * @param sid 员工信息sid + * @return + */ + public ResultBean updateStaffInfo(SysStaffinfoDto dto, String sid) { + return sysStaffinfoFeign.update(dto,sid); + } + + /** + * 根据员工sid查询员工信息 + * + * @param sid 员工sid + * @return + */ + public ResultBean selectDetailsBySid(String sid,String orgSid) { + return sysStaffinfoFeign.fetchBySid(sid,orgSid); + } + + /** + * 员工信息的删除操作,即设置员工类型为离职状态。 + * + * @param sysStaffQuery 员工sid + * @return + */ + public ResultBean del(SysStaffQuery sysStaffQuery) { + return sysStaffinfoFeign.del(sysStaffQuery); + } + + public ResultBean> selectStaffList(PcSysStaffQuery pcSysStaffQuery) { + return sysStaffinfoFeign.selectStaffList(pcSysStaffQuery); + } + + public ResultBean>> getStaffName(String staffName,String deptSid) { + return sysStaffinfoFeign.getStaffName(staffName,deptSid); + } + + public ResultBean>> getStaffNameByDeptSid(String staffName, String deptSid) { + return sysStaffinfoFeign.getStaffNameByDeptSid(staffName,deptSid); + } + + public ResultBean> getUserList(PagerQuery pagerQuery) { + return sysStaffinfoFeign.getUserList(pagerQuery); + } + + public ResultBean> getGressionUserList(String userSid, String orgPath) { + return sysStaffinfoFeign.getGressionUserList(userSid, orgPath); + } + + public ResultBean> selectStaffLists() { + return sysStaffinfoFeign.selectStaffLists(); + } + + public ResultBean> selectStaffListss() { + return sysStaffinfoFeign.selectStaffListss(); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoVo.java new file mode 100644 index 0000000..e87ec37 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/SysStaffinfoVo.java @@ -0,0 +1,47 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffinfoVo.java
+ * Class: com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo
+ * Description: 人员基础信息表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "人员基础信息表 视图数据对象", description = "人员基础信息表 视图数据对象") +@Data +public class SysStaffinfoVo implements Vo { + + private static final long serialVersionUID = -1250862291306247261L; + @ApiModelProperty(value = "员工sid") + private String sid; + @ApiModelProperty(value = "员工编号") + private String jobNumber; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("员工类型") + private String personType; + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty(value = "入职日期") + private String joinCompnyDate; + @ApiModelProperty(value = "部门") + private String orgName; + @ApiModelProperty(value = "岗位") + private String postName; + @ApiModelProperty(value = "部门sid") + private String orgSid; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/WxBase64Query.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/WxBase64Query.java new file mode 100644 index 0000000..f3eb647 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/WxBase64Query.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author dimengzhe + * @date 2021/10/6 16:58 + * @description + */ +@Data +public class WxBase64Query implements Query { + private static final long serialVersionUID = 4307651151043379231L; +// @ApiModelProperty(value = "base64") +// private String base64File; + + @ApiModelProperty(value = "图片全路径") + private String imageUrl; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/WxSysInfoQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/WxSysInfoQuery.java new file mode 100644 index 0000000..d1e3e62 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/WxSysInfoQuery.java @@ -0,0 +1,37 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author dimengzhe + * @date 2021/10/6 12:08 + * @description 客户端上传身份证 + */ +@Data +public class WxSysInfoQuery implements Query { + private static final long serialVersionUID = 7273642052588903116L; + @ApiModelProperty(value = "用户sid", required = true) + @NotBlank(message = "用户sid不能为空") + private String userSid; + @ApiModelProperty(value = "身份证(人像面)", required = true) + @NotBlank(message = "身份证(人像面)不能为空") + private String idCardA; + @ApiModelProperty(value = "身份证(国徽面)", required = true) + @NotBlank(message = "身份证(国徽面)不能为空") + private String idCardB; + + @ApiModelProperty(value = "身份证地址", required = true) + @NotBlank(message = "身份证地址不能为空") + private String idAddrs; + @ApiModelProperty(value = "证件有效期", required = true) + @NotBlank(message = "证件有效期不能为空") + private String idTerm; + @ApiModelProperty(value = "生日") + private String birth; + @ApiModelProperty(value = "民族") + private String national; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/app/AppSysStaffQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/app/AppSysStaffQuery.java new file mode 100644 index 0000000..849d295 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/app/AppSysStaffQuery.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo.app; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/11 9:44 + * @Description + */ +@Data +public class AppSysStaffQuery implements Query { + private static final long serialVersionUID = 4724669786231817593L; + @ApiModelProperty(value = "用户名称") + private String name; + @ApiModelProperty(value = "用户sid") + private String userSid; + + @ApiModelProperty("组织机构sid") + private String orgPath; + + @ApiModelProperty("已选人员sid") + private List selectSid; + + @ApiModelProperty("state:1是所有,0是本分公司") + private int state; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/app/AppSysStaffVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/app/AppSysStaffVo.java new file mode 100644 index 0000000..916d891 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstaffinfo/app/AppSysStaffVo.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.sysstaffinfo.app; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/11 9:29 + * @Description + */ +@Data +public class AppSysStaffVo implements Vo { + private static final long serialVersionUID = -4051562700421770402L; + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "用户名称") + private String userName; + @ApiModelProperty(value = "头像") + private String userImage; + @ApiModelProperty(value = "电话") + private String userMobile; + @ApiModelProperty(value = "部门") + private String department; + @ApiModelProperty(value = "岗位") + private String position; + + @ApiModelProperty(value = "头像:后端内部使用") + private String headImage; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgByUserVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgByUserVo.java new file mode 100644 index 0000000..d6c85d6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgByUserVo.java @@ -0,0 +1,30 @@ +package com.yxt.ordermall.biz.func.sysstafforg; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffOrgVo.java
+ * Class: com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo
+ * Description: 员工部门关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "员工部门关联表 视图数据对象", description = "员工部门关联表 视图数据对象") +@Data +public class SysStaffOrgByUserVo implements Vo { + + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("员工姓名") + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgDetailsVo.java new file mode 100644 index 0000000..6d44fdb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgDetailsVo.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.func.sysstafforg; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/2/11 16:15 + * @Description 员工部门详情信息 + */ +@Data +public class SysStaffOrgDetailsVo implements Vo { + private static final long serialVersionUID = 5354841525724609428L; + + @ApiModelProperty("部门sid") + private String orgSid; + private String orgSid1; + @ApiModelProperty("部门名称") + private String orgName; + @ApiModelProperty("部门路径") + private String orgSidPath; + @ApiModelProperty("部门名称路径") + private String orgNamePath; + @ApiModelProperty(value = "部门编码") + private String orgCode; + @ApiModelProperty("管理类型:1、主管。2、分管。3、员工") + private String manageType; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgDto.java new file mode 100644 index 0000000..547a7ef --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgDto.java @@ -0,0 +1,43 @@ +package com.yxt.ordermall.biz.func.sysstafforg; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffOrgDto.java
+ * Class: com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgDto
+ * Description: 员工部门关联表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "员工部门关联表 数据传输对象", description = "员工部门关联表 数据传输对象") +@Data +public class SysStaffOrgDto implements Dto { + + private static final long serialVersionUID = 1403491378761015027L; + @ApiModelProperty("部门sid") + private String orgSid; + private String orgSid1; + @ApiModelProperty("部门名称") + @NotBlank(message = "部门名称不能为空") + private String orgName; +// @ApiModelProperty("部门路径") +// private String orgSidPath; +// @ApiModelProperty("部门名称路径") +// private String orgNamePath; + @ApiModelProperty(value = "部门编码") + private String orgCode; + @ApiModelProperty(value = "管理类型:1、主管。2、分管。3、员工", example = "3") + private String manageType; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgService.java new file mode 100644 index 0000000..8de80a4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysstafforg/SysStaffOrgService.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.biz.func.sysstafforg; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.sysroleauthorize.SysRoleAuthorize; +import com.yxt.ordermall.biz.func.sysroleauthorize.SysRoleAuthorizeMapper; +import com.yxt.ordermall.feign.portal.sysstafforg.SysStaffOrgFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class SysStaffOrgService extends MybatisBaseService { + + @Autowired + SysStaffOrgFeign sysStaffOrgFeign; + + public ResultBean getOrgSidByPath(String orgPath) { + return sysStaffOrgFeign.getOrgSidByPath(orgPath); + } + + public ResultBean> selAllByOrgSidPath(String orgSidPath) { + return sysStaffOrgFeign.selAllByOrgSidPath(orgSidPath); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLog.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLog.java new file mode 100644 index 0000000..33cc140 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLog.java @@ -0,0 +1,44 @@ +package com.yxt.ordermall.biz.func.systemlog; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLog.java
+ * Class: com.yxt.anrui.portal.api.systemlog.SystemLog
+ * Description: 系统日志表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "系统日志表", description = "系统日志表") +@TableName("system_log") +@Data +public class SystemLog extends BaseEntity { + private static final long serialVersionUID = 1L; + @ApiModelProperty("事件名称或类别") + private String eventName; + + @ApiModelProperty("事件内容") + private String eventContent; + + @ApiModelProperty("事件url") + private String eventUrl; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("用户iP") + private String userIp; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogDto.java new file mode 100644 index 0000000..d8ed71d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogDto.java @@ -0,0 +1,46 @@ +package com.yxt.ordermall.biz.func.systemlog; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Builder; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLogDto.java
+ * Class: com.yxt.anrui.portal.api.systemlog.SystemLogDto
+ * Description: 系统日志表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Builder +@ApiModel(value = "系统日志表 数据传输对象", description = "系统日志表 数据传输对象") +@Data +public class SystemLogDto implements Dto { + + + @ApiModelProperty("事件名称或类别") + private String eventName; + + @ApiModelProperty("事件内容") + private String eventContent; + + @ApiModelProperty("事件url") + private String eventUrl; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("用户iP") + private String userIp; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogMapper.java new file mode 100644 index 0000000..de8def0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogMapper.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.biz.func.systemlog; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLogMapper.java
+ * Class: com.yxt.anrui.portal.biz.systemlog.SystemLogMapper
+ * Description: 系统日志表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SystemLogMapper extends BaseMapper { + + //@Update("update system_log set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from system_log") + List selectListVo(); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogMapper.xml new file mode 100644 index 0000000..f6fc3c3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogQuery.java new file mode 100644 index 0000000..0442c14 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogQuery.java @@ -0,0 +1,44 @@ +package com.yxt.ordermall.biz.func.systemlog; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLogQuery.java
+ * Class: com.yxt.anrui.portal.api.systemlog.SystemLogQuery
+ * Description: 系统日志表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "系统日志表 查询条件", description = "系统日志表 查询条件") +@Data +public class SystemLogQuery implements Query { + + + @ApiModelProperty("事件名称或类别") + private String eventName; + + @ApiModelProperty("事件内容") + private String eventContent; + + @ApiModelProperty("事件url") + private String eventUrl; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("用户iP") + private String userIp; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogService.java new file mode 100644 index 0000000..e84fc26 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogService.java @@ -0,0 +1,59 @@ +package com.yxt.ordermall.biz.func.systemlog; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.portal.systemlog.SystemLogFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLogService.java
+ * Class: com.yxt.anrui.portal.biz.systemlog.SystemLogService
+ * Description: 系统日志表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SystemLogService extends MybatisBaseService { + @Autowired + SystemLogFeign systemLogFeign; + public ResultBean> listPage(PagerQuery pq) { + return systemLogFeign.listPage(pq); + } + public ResultBean> listAll(SystemLogQuery query) { + return systemLogFeign.list(); + } + + + public ResultBean> listPageVo(PagerQuery pq) { + + return systemLogFeign.listPage(pq); + } + + public ResultBean> listAllVo(SystemLogQuery query) { + return systemLogFeign.listAll(query); + } + + public ResultBean> listVo() { + return systemLogFeign.list(); + } + + public void saveOrUpdateDto(SystemLogDto dto){ + systemLogFeign.save(dto); + } + + public ResultBean fetchByIdVo(String id){ + return systemLogFeign.fetch(id); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogVo.java new file mode 100644 index 0000000..e3b467e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/systemlog/SystemLogVo.java @@ -0,0 +1,44 @@ +package com.yxt.ordermall.biz.func.systemlog; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLogVo.java
+ * Class: com.yxt.anrui.portal.api.systemlog.SystemLogVo
+ * Description: 系统日志表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "系统日志表 视图数据对象", description = "系统日志表 视图数据对象") +@Data +public class SystemLogVo implements Vo { + + + @ApiModelProperty("事件名称或类别") + private String eventName; + + @ApiModelProperty("事件内容") + private String eventContent; + + @ApiModelProperty("事件url") + private String eventUrl; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("用户名") + private String userName; + + @ApiModelProperty("用户iP") + private String userIp; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuser/SysUserService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuser/SysUserService.java new file mode 100644 index 0000000..33ff282 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuser/SysUserService.java @@ -0,0 +1,78 @@ +package com.yxt.ordermall.biz.func.sysuser; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.feign.portal.sysuser.SysUserDto; +import com.yxt.ordermall.feign.portal.sysuser.SysUserFeign; +import com.yxt.ordermall.feign.portal.sysuser.SysUserQuery; +import com.yxt.ordermall.feign.portal.sysuser.SysUserVo; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.servlet.http.HttpServletRequest; + +/** + * @author wangpengfei + * @date 2024/5/6 10:29 + */ +@Service +public class SysUserService { + @Autowired + SysUserFeign sysUserFeign; + + + + + public ResultBean login(@RequestBody SysUserQuery userQuery){ + return sysUserFeign.login(userQuery); + } + + public ResultBean register(@RequestBody SysUserDto dto){ + return sysUserFeign.register(dto); + } + + public ResultBean loginDetails(HttpServletRequest httpServletRequest){ + return sysUserFeign.loginDetails(httpServletRequest); + } + + public ResultBean sendMessageCode(String mobile){ + return sysUserFeign.sendMessageCode(mobile); + } + + public ResultBean sendMessageLogin(String mobile){ + return sysUserFeign.sendMessageLogin(mobile); + } + public ResultBean sendMessageUpdate(String mobile){ + return sysUserFeign.sendMessageUpdate(mobile); + } + public ResultBean listPage(PagerQuery pq){ + return sysUserFeign.listPage(pq); + } + public ResultBean bindOrganization(SysUserDto dto){ + return sysUserFeign.bindOrganization(dto); + } + public ResultBean selOrganization(SysUserDto dto){ + return sysUserFeign.selOrganization(dto); + } + public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable){ + return sysUserFeign.setIsEnable(sid, isEnable); + } + + /** + * 初始化密码 + * + * @param sid 用户sid + * @return ResultBean + */ + + public ResultBean initPwd(@ApiParam(value = "用户sid", required = true) @PathVariable("sid") String sid) { + return sysUserFeign.initPwd(sid); + } + + public ResultBean delBySid(@ApiParam(value = "用户sid", required = true) @PathVariable("sid") String sid) { + return sysUserFeign.delBySid(sid); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRole.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRole.java new file mode 100644 index 0000000..289130c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRole.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.biz.func.sysuserrole; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRole.java
+ * Class: com.yxt.anrui.portal.api.sysuserrole.SysUserRole
+ * Description: 用户与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户与角色关联表", description = "用户与角色关联表") +@TableName("sys_user_role") +@Data +public class SysUserRole extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("角色sid") + private String roleSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleDto.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleDto.java new file mode 100644 index 0000000..9bc7ec1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleDto.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.biz.func.sysuserrole; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRoleDto.java
+ * Class: com.yxt.anrui.portal.api.sysuserrole.SysUserRoleDto
+ * Description: 用户与角色关联表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户与角色关联表 数据传输对象", description = "用户与角色关联表 数据传输对象") +@Data +public class SysUserRoleDto implements Dto { + + private String sid; + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("角色sid") + private String roleSid; + private String orgSid; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleMapper.java new file mode 100644 index 0000000..1d45311 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleMapper.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.biz.func.sysuserrole; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRoleMapper.java
+ * Class: com.yxt.anrui.portal.biz.sysuserrole.SysUserRoleMapper
+ * Description: 用户与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SysUserRoleMapper extends BaseMapper { + + //@Update("update sys_user_role set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from sys_user_role") + List selectListVo(); + + void deleteByUserSid(String userSid); + + @Delete("delete from sys_user_role where userSid=#{userSid} and roleSid=#{roleSid} ") + void delByUserSidAndRoleSid(@Param("userSid") String userSid,@Param("roleSid") String roleSid); + + List selectByUserSid(@Param("userSid")String userSid); + + @Select("SELECT roleSid FROM sys_user_role WHERE userSid=#{userSid}") + List getUserRoleSidByUserSid(@Param("userSid")String userSid); + + List getUserIdListByRoleSid(@Param("roleList") List roleList); + List getUserSidListByRoleSid(@Param("roleList") List roleList); + + int deleteByRoleSid(String sids); + + List selectRoleSid(String userSid); + + List selectByUserSids(String userSid); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleMapper.xml new file mode 100644 index 0000000..39616e8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleMapper.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + delete from sys_user_role where userSid=#{params} + + + + + + delete from sys_user_role where roleSid = #{sids} + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleQuery.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleQuery.java new file mode 100644 index 0000000..5f725dc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleQuery.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.biz.func.sysuserrole; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRoleQuery.java
+ * Class: com.yxt.anrui.portal.api.sysuserrole.SysUserRoleQuery
+ * Description: 用户与角色关联表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户与角色关联表 查询条件", description = "用户与角色关联表 查询条件") +@Data +public class SysUserRoleQuery implements Query { + + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("角色sid") + private String roleSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleService.java new file mode 100644 index 0000000..0ee5368 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleService.java @@ -0,0 +1,135 @@ +package com.yxt.ordermall.biz.func.sysuserrole; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.portal.sysuserrole.SysUserRoleFeign; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRoleService.java
+ * Class: com.yxt.anrui.portal.biz.sysuserrole.SysUserRoleService
+ * Description: 用户与角色关联表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SysUserRoleService extends MybatisBaseService { + + @Autowired + SysUserRoleFeign sysUserRoleFeign; + + + public PagerVo listPage(PagerQuery pq) { + SysUserRoleQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public List listAll(SysUserRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return baseMapper.selectList(qw); + } + private QueryWrapper createQueryWrapper(SysUserRoleQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.eq("userSid", query.getUserSid()); + } + + if (StringUtils.isNotBlank(query.getRoleSid())) { + qw.eq("roleSid", query.getRoleSid()); + } + return qw; + } + + public ResultBean> listPageVo(PagerQuery pq) { + return sysUserRoleFeign.listPage(pq); + } + + public ResultBean> listAllVo(SysUserRoleQuery query) { + QueryWrapper qw = createQueryWrapper(query); + return sysUserRoleFeign.listAll(query); + } + + public ResultBean> listVo() { + return sysUserRoleFeign.list(); + } + + public ResultBean saveOrUpdateDto(SysUserRoleDto dto){ + return sysUserRoleFeign.save(dto); + } + + public ResultBean fetchByIdVo(String id){ + + return sysUserRoleFeign.fetch(id); + } + + public void deleteByUserSid(String userSid) { + baseMapper.deleteByUserSid(userSid); + } + public ResultBean saveOrUpdate(SysUserRoleDto dto) { + return sysUserRoleFeign.update(dto); + } + + public ResultBean del(String userSid) { + return sysUserRoleFeign.del(userSid); + } + + public ResultBean delByUserSidAndRoleSid(String userSid, String roleSid) { + return sysUserRoleFeign.delByUserSidAndRoleSid(userSid,roleSid); + } + + public List selectByUserSid(String userSid) { + return baseMapper.selectByUserSid(userSid); + } + /*public void updateUserRole(SysUserRoleDto dto) { + //sysUserRoleService.deleteByUserSid(dto.getUserSid()); + SysUserRole entity = new SysUserRole(); + dto.fillEntity(entity); + this.saveOrUpdate (entity); + }*/ + + public ResultBean> getUserRoleSidByUserSid(String userSid) { + return sysUserRoleFeign.getUserRoleSidByUserSid(userSid); + } + + public ResultBean> getUserIdListByRoleSid(List roleList) { + return sysUserRoleFeign.getUserIdListByRoleSid(roleList); + } + public ResultBean> getUserSidListByRoleSid(List roleList) { + return new ResultBean>().success().setData(baseMapper.getUserSidListByRoleSid(roleList)); + } + + public int deleteByRoleSid(String sids) { + return baseMapper.deleteByRoleSid(sids); + } + + public List selectRoleSid(String userSid) { + return baseMapper.selectRoleSid(userSid); + } + + public ResultBean> selectByUserSids(String userSid) { + + return sysUserRoleFeign.selectByUserSid(userSid); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleVo.java new file mode 100644 index 0000000..e7ab24d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/func/sysuserrole/SysUserRoleVo.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.biz.func.sysuserrole; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRoleVo.java
+ * Class: com.yxt.anrui.portal.api.sysuserrole.SysUserRoleVo
+ * Description: 用户与角色关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户与角色关联表 视图数据对象", description = "用户与角色关联表 视图数据对象") +@Data +public class SysUserRoleVo implements Vo { + + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("角色sid") + private String roleSid; + private String name; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsMapper.java new file mode 100644 index 0000000..349126d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsMapper.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.biz.invoiceapprovalrecords; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecords; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecordsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface InvoiceApprovalRecordsMapper extends BaseMapper { + + IPage ListPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsMapper.xml new file mode 100644 index 0000000..b84c4d8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsRest.java new file mode 100644 index 0000000..0efd7ce --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsRest.java @@ -0,0 +1,47 @@ +package com.yxt.ordermall.biz.invoiceapprovalrecords; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecordsDto; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecordsQuery; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecordsVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "开票审核记录") +@RestController +@RequestMapping("invoiceapprovalrecords") +public class InvoiceApprovalRecordsRest { + + @Autowired + InvoiceApprovalRecordsService invoiceApprovalRecordsService; + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> ListPageVo(@RequestBody PagerQuery pq) { + return invoiceApprovalRecordsService.ListPageVo(pq); + } + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody InvoiceApprovalRecordsDto dto) { + return invoiceApprovalRecordsService.save(dto); + } +// @ApiOperation("修改") +// @PostMapping("/update") +// public ResultBean update(@RequestBody InvoiceApprovalRecordsDto dto) { +// return InvoiceApprovalRecordsService.update(dto); +// } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsService.java new file mode 100644 index 0000000..ea41379 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoiceapprovalrecords/InvoiceApprovalRecordsService.java @@ -0,0 +1,53 @@ +package com.yxt.ordermall.biz.invoiceapprovalrecords; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecords; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecordsDto; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecordsQuery; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecordsVo; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class InvoiceApprovalRecordsService extends MybatisBaseService { + + + public ResultBean> ListPageVo(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + InvoiceApprovalRecordsQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("reviewStatus","0"); + qw.orderByDesc("createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.ListPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean save(InvoiceApprovalRecordsDto dto) { + ResultBean rb = ResultBean.fireFail(); +// baseMapper.delete(new QueryWrapper().eq("customerSid",dto.getCustomerSid())); + InvoiceApprovalRecords entity=new InvoiceApprovalRecords(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("添加成功"); + } +// public ResultBean update(InvoiceApprovalRecordsDto dto) { +// ResultBean rb=new ResultBean(); +// InvoiceApprovalRecords entity=baseMapper.selectOne(new QueryWrapper().eq("customerSid",dto.getCustomerSid())); +// BeanUtil.copyProperties(dto, entity, "id", "sid"); +// entity.setReviewStatus("0"); +// baseMapper.updateById(entity); +// return rb.success().setMsg("修改成功"); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsMapper.java new file mode 100644 index 0000000..360314e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsMapper.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.invoicerecords; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecords; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecordsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface InvoiceRecordsMapper extends BaseMapper { + + IPage ListPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select * from invoice_records") + List listAll(@Param("customerSid")String customerSid); + + @Select("select * from invoice_records where sid=#{sid}") + InvoiceRecordsVo getInvoiceRecordsBySid( @Param("sid") String sid); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsMapper.xml new file mode 100644 index 0000000..5d15ab2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsMapper.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsRest.java new file mode 100644 index 0000000..a2f3e34 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsRest.java @@ -0,0 +1,55 @@ +package com.yxt.ordermall.biz.invoicerecords; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecordsDto; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecordsQuery; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecordsVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "开发票记录") +@RestController +@RequestMapping("invoicerecords") +public class InvoiceRecordsRest { + + @Autowired + InvoiceRecordsService invoiceRecordsService; + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> ListPageVo(@RequestBody PagerQuery pq) { + return invoiceRecordsService.ListPageVo(pq); + } + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody InvoiceRecordsDto dto) { + return invoiceRecordsService.save(dto); + } + @ApiOperation("修改") + @PostMapping("/update") + public ResultBean update(@RequestBody InvoiceRecordsDto dto) { + return invoiceRecordsService.update(dto); + } + + @ApiOperation("根据sid查询") + @GetMapping("/getInvoiceRecordsBySid/{sid}") + public ResultBean getInvoiceRecordsBySid(@PathVariable String sid){ + ResultBean rb = ResultBean.fireFail(); + InvoiceRecordsVo InvoiceRecordsVo=invoiceRecordsService.getInvoiceRecordsBySid(sid); + return rb.success().setData(InvoiceRecordsVo); + } + @ApiOperation("审核") + @PostMapping("/toExamine") + public ResultBean toExamine(@RequestBody InvoiceRecordsDto dto){ + return invoiceRecordsService.toExamine(dto); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsService.java new file mode 100644 index 0000000..87ba6c9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicerecords/InvoiceRecordsService.java @@ -0,0 +1,102 @@ +package com.yxt.ordermall.biz.invoicerecords; + +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.invoiceapprovalrecords.InvoiceApprovalRecordsDto; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecords; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecordsDto; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecordsQuery; +import com.yxt.ordermall.api.invoicerecords.InvoiceRecordsVo; +import com.yxt.ordermall.api.ordorder.OrdOrder; +import com.yxt.ordermall.api.sysuser.SysUser; +import com.yxt.ordermall.biz.func.sysuser.SysUserService; +import com.yxt.ordermall.biz.invoiceapprovalrecords.InvoiceApprovalRecordsService; +import com.yxt.ordermall.biz.ordorder.OrdOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class InvoiceRecordsService extends MybatisBaseService { + @Autowired + OrdOrderService ordOrderService; + @Autowired + InvoiceApprovalRecordsService invoiceApprovalRecordsService; + @Autowired + SysUserService sysUserService; + + public ResultBean> ListPageVo(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + InvoiceRecordsQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + qw.eq("state","0"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.ListPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + + public ResultBean save(InvoiceRecordsDto dto) { + ResultBean rb = ResultBean.fireFail(); + if(StringUtils.isBlank(dto.getOrderSid())){ + return rb.setMsg("参数不全"); + } + InvoiceRecords invoiceRecords=baseMapper.selectOne(new QueryWrapper().eq("orderSid",dto.getOrderSid())); + if(invoiceRecords!=null){ + baseMapper.deleteById(invoiceRecords.getId()); + } + InvoiceRecords entity=new InvoiceRecords(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + OrdOrder order=ordOrderService.getOne(new QueryWrapper().eq("sid",dto.getOrderSid())); + order.setInvoiceStatus("1"); + ordOrderService.updateById(order); + return rb.success().setMsg("添加成功"); + } + public ResultBean update(InvoiceRecordsDto dto) { + ResultBean rb=new ResultBean(); + String dtoSid = dto.getSid(); + InvoiceRecords entity=fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + return rb.success().setMsg("修改成功"); + } + public InvoiceRecordsVo getInvoiceRecordsBySid(String sid){ + return baseMapper.getInvoiceRecordsBySid(sid); + } + public ResultBean toExamine(InvoiceRecordsDto dto){ + ResultBean rb=new ResultBean().fail(); + InvoiceRecords invoiceRecords=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); + invoiceRecords.setState(dto.getState()); + baseMapper.updateById(invoiceRecords); + OrdOrder order=ordOrderService.getOne(new QueryWrapper().eq("sid",invoiceRecords.getOrderSid())); + order.setInvoiceStatus(dto.getState()); + ordOrderService.updateById(order); + InvoiceApprovalRecordsDto dto1=new InvoiceApprovalRecordsDto(); + dto1.setOrderSid(invoiceRecords.getOrderSid()); + dto1.setApprovalOpinions(dto.getRemarks()); + Object id= StpUtil.getLoginIdByToken(StpUtil.getTokenValue()); + SysUser sysUser= new SysUser(); + dto1.setOperator(sysUser.getUserName()); + dto1.setOperatorSid(sysUser.getSid()); + dto1.setApprovalStatus(dto.getState()); + invoiceApprovalRecordsService.save(dto1); + return rb.success().setMsg("成功"); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeMapper.java new file mode 100644 index 0000000..c0e6b6b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeMapper.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.invoicetype; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.invoicetype.InvoiceType; +import com.yxt.ordermall.api.invoicetype.InvoiceTypeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface InvoiceTypeMapper extends BaseMapper { + + IPage ListPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select * from invoice_type") + List listAll(); + + @Select("select * from invoice_type where sid=#{sid}") + InvoiceTypeVo getInvoiceTypeBySid( @Param("sid") String sid); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeMapper.xml new file mode 100644 index 0000000..63d686b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeRest.java new file mode 100644 index 0000000..52ca5ab --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeRest.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.biz.invoicetype; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.invoicetype.InvoiceTypeDto; +import com.yxt.ordermall.api.invoicetype.InvoiceTypeQuery; +import com.yxt.ordermall.api.invoicetype.InvoiceTypeVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "发票类型") +@RestController +@RequestMapping("invoicetype") +public class InvoiceTypeRest { + + @Autowired + InvoiceTypeService invoiceTypeService; + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> ListPageVo(@RequestBody PagerQuery pq) { + return invoiceTypeService.ListPageVo(pq); + } + @ApiOperation("查询全部") + @GetMapping("/listAll") + public ResultBean listAll() { + return invoiceTypeService.listAll(); + } + @ApiOperation("保存或修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody InvoiceTypeDto dto) { + return invoiceTypeService.saveOrUpdate(dto); + } + + + @ApiOperation("根据sid查询") + @GetMapping("/getInvoiceTypeBySid/{sid}") + public ResultBean getInvoiceTypeBySid(@PathVariable String sid){ + ResultBean rb = ResultBean.fireFail(); + InvoiceTypeVo InvoiceTypeVo=invoiceTypeService.getInvoiceTypeBySid(sid); + return rb.success().setData(InvoiceTypeVo); + } + @ApiOperation("删除") + @DeleteMapping("/delete/{sid}") + public ResultBean delete(@PathVariable String sid) { + return invoiceTypeService.delete(sid); + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeService.java new file mode 100644 index 0000000..5a5278a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/invoicetype/InvoiceTypeService.java @@ -0,0 +1,76 @@ +package com.yxt.ordermall.biz.invoicetype; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.invoicetype.InvoiceType; +import com.yxt.ordermall.api.invoicetype.InvoiceTypeDto; +import com.yxt.ordermall.api.invoicetype.InvoiceTypeQuery; +import com.yxt.ordermall.api.invoicetype.InvoiceTypeVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class InvoiceTypeService extends MybatisBaseService { + + + public ResultBean> ListPageVo(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + InvoiceTypeQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.ListPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean listAll() { + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.listAll(); + return rb.success().setData(pagging); + } + + public ResultBean saveOrUpdate(InvoiceTypeDto dto) { + ResultBean rb = ResultBean.fireFail(); + if(StringUtils.isNotBlank(dto.getSid())){ + String dtoSid = dto.getSid(); + InvoiceType entity=fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + return rb.success().setMsg("修改成功"); + }else{ + InvoiceType entity=new InvoiceType(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("添加成功"); + } + + } + + public InvoiceTypeVo getInvoiceTypeBySid(String sid){ + return baseMapper.getInvoiceTypeBySid(sid); + } + public ResultBean delete(String sid) { + ResultBean rb=new ResultBean(); + baseMapper.delete(new QueryWrapper().eq("sid",sid)); + return rb.success().setMsg("删除成功"); + } + + + public List listAllBank() { + return baseMapper.selectList(null); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankMapper.java new file mode 100644 index 0000000..751e636 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankMapper.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.lpkbank; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkbank.LpkBank; +import com.yxt.ordermall.api.lpkbank.LpkBankVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkBankMapper extends BaseMapper { + + IPage ListPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select * from lpk_bank") + List listAll(); + + @Select("select * from lpk_bank where sid=#{sid}") + LpkBankVo getLpkBankBySid( @Param("sid") String sid); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankMapper.xml new file mode 100644 index 0000000..9a9cf40 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankRest.java new file mode 100644 index 0000000..c19948b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankRest.java @@ -0,0 +1,62 @@ +package com.yxt.ordermall.biz.lpkbank; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkbank.LpkBankDto; +import com.yxt.ordermall.api.lpkbank.LpkBankQuery; +import com.yxt.ordermall.api.lpkbank.LpkBankVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼品卡生成记录") +@RestController +@RequestMapping("lpkbank") +public class LpkBankRest { + + @Autowired + LpkBankService lpkBankService; + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> ListPageVo(@RequestBody PagerQuery pq) { + return lpkBankService.ListPageVo(pq); + } + @ApiOperation("全部网点") + @GetMapping("/listAll") + public ResultBean listAll() { + return lpkBankService.listAll(); + } + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody LpkBankDto dto) { + return lpkBankService.save(dto); + } + @ApiOperation("修改") + @PostMapping("/update") + public ResultBean update(@RequestBody LpkBankDto dto) { + return lpkBankService.update(dto); + } + + @ApiOperation("根据sid查询") + @GetMapping("/getLpkBankBySid/{sid}") + public ResultBean getLpkBankBySid(@PathVariable String sid){ + ResultBean rb = ResultBean.fireFail(); + LpkBankVo lpkBankVo=lpkBankService.getLpkBankBySid(sid); + return rb.success().setData(lpkBankVo); + } + @ApiOperation("删除") + @DeleteMapping("/delete/{sid}") + public ResultBean delete(@PathVariable String sid) { + return lpkBankService.delete(sid); + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankService.java new file mode 100644 index 0000000..0d66c92 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkbank/LpkBankService.java @@ -0,0 +1,74 @@ +package com.yxt.ordermall.biz.lpkbank; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkbank.LpkBank; +import com.yxt.ordermall.api.lpkbank.LpkBankDto; +import com.yxt.ordermall.api.lpkbank.LpkBankQuery; +import com.yxt.ordermall.api.lpkbank.LpkBankVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkBankService extends MybatisBaseService { + + + public ResultBean> ListPageVo(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkBankQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.ListPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean listAll() { + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.listAll(); + return rb.success().setData(pagging); + } + + public ResultBean save(LpkBankDto dto) { + ResultBean rb = ResultBean.fireFail(); + LpkBank entity=new LpkBank(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("添加成功"); + } + public ResultBean update(LpkBankDto dto) { + ResultBean rb=new ResultBean(); + String dtoSid = dto.getSid(); + LpkBank entity=fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + return rb.success().setMsg("修改成功"); + } + public LpkBankVo getLpkBankBySid(String sid){ + return baseMapper.getLpkBankBySid(sid); + } + public ResultBean delete(String sid) { + ResultBean rb=new ResultBean(); + baseMapper.delete(new QueryWrapper().eq("sid",sid)); + return rb.success().setMsg("删除成功"); + } + + + public List listAllBank() { + return baseMapper.selectList(null); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordMapper.java new file mode 100644 index 0000000..5e1c19a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordMapper.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.lpkcardbuildrecord; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkcardbuildrecord.LpkCardBuildRecord; +import com.yxt.ordermall.api.lpkcardbuildrecord.LpkCardBuildRecordVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkCardBuildRecordMapper extends BaseMapper { + + IPage recordListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + int saveRecords(@Param("records") List records); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordMapper.xml new file mode 100644 index 0000000..0cbd5ad --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + insert into lpk_card_build_record(sid,createTime,giftbagSid,buildDate,countNumber,startNumber,endNumber) + values + + (#{item.sid},#{item.createTime},#{item.giftbagSid},#{item.buildDate},#{item.countNumber},#{item.startNumber},#{item.endNumber}) + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordRest.java new file mode 100644 index 0000000..e68c88d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordRest.java @@ -0,0 +1,37 @@ +package com.yxt.ordermall.biz.lpkcardbuildrecord; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcardbuildrecord.LpkCardBuildRecordQuery; +import com.yxt.ordermall.api.lpkcardbuildrecord.LpkCardBuildRecordVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼品卡生成记录") +@RestController +@RequestMapping("lpkcardbuildrecord") +public class LpkCardBuildRecordRest { + + @Autowired + LpkCardBuildRecordService lpkCardBuildRecordService; + + @ApiOperation("创建记录列表") + @PostMapping("/recordListPage") + public ResultBean> recordListPage(@RequestBody PagerQuery pq) { + return lpkCardBuildRecordService.recordListPage(pq); + } + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordService.java new file mode 100644 index 0000000..79d26e7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardbuildrecord/LpkCardBuildRecordService.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.biz.lpkcardbuildrecord; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcardbuildrecord.LpkCardBuildRecord; +import com.yxt.ordermall.api.lpkcardbuildrecord.LpkCardBuildRecordQuery; +import com.yxt.ordermall.api.lpkcardbuildrecord.LpkCardBuildRecordVo; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkCardBuildRecordService extends MybatisBaseService { + + @Autowired + private LpkGiftCardService lpkGiftCardService; + + public ResultBean> recordListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkCardBuildRecordQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getCountNumber())) { + qw.eq("r.countNumber", query.getCountNumber()); + } + String startDate = query.getStartDate(); + String effEndTime = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (r.buildDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). + apply(org.apache.commons.lang3.StringUtils.isNotEmpty(effEndTime), "date_format (r.buildDate,'%Y-%m-%d') <= date_format('" + effEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("r.createTime"); + qw.orderByDesc("r.startNumber"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.recordListPage(page, qw); + for(LpkCardBuildRecordVo vo:pagging.getRecords()){ + vo.setGrantCountNumber(String.valueOf(lpkGiftCardService.cardGrantCount(vo.getSid()).getData())); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + + public int saveRecords(List records) { + return baseMapper.saveRecords(records); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordMapper.java new file mode 100644 index 0000000..36e18b2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordMapper.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.biz.lpkcardgrantrecord; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecord; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecordVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkCardGrantRecordMapper extends BaseMapper { + + IPage recordListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordMapper.xml new file mode 100644 index 0000000..b92c916 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordRest.java new file mode 100644 index 0000000..e74f382 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordRest.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.biz.lpkcardgrantrecord; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecordDto; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecordQuery; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecordVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼品卡发放记录") +@RestController +@RequestMapping("lpkcardgrantrecord") +public class LpkCardGrantRecordRest { + + @Autowired + LpkCardGrantRecordService lpkCardGrantRecordService; + + @ApiOperation("发放记录列表") + @PostMapping("/recordListPage") + public ResultBean> recordListPage(@RequestBody PagerQuery pq) { + return lpkCardGrantRecordService.recordListPage(pq); + } + + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody LpkCardGrantRecordDto dto) { + return lpkCardGrantRecordService.save(dto); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordService.java new file mode 100644 index 0000000..de0eef9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardgrantrecord/LpkCardGrantRecordService.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.biz.lpkcardgrantrecord; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecord; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecordDto; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecordQuery; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecordVo; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkCardGrantRecordService extends MybatisBaseService { + + @Autowired + private LpkGiftCardService lpkGiftCardService; + + public ResultBean> recordListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkCardGrantRecordQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getCountNumber())) { + qw.eq("r.countNumber", query.getCountNumber()); + } +// String startDate = query.getStartDate(); +// String effEndTime = query.getEndDate(); +// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (r.buildDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). +// apply(org.apache.commons.lang3.StringUtils.isNotEmpty(effEndTime), "date_format (r.buildDate,'%Y-%m-%d') <= date_format('" + effEndTime + "','%Y-%m-%d')" +// ); + qw.orderByDesc("r.createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.recordListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean save(LpkCardGrantRecordDto dto) { + ResultBean rb = ResultBean.fireFail(); + LpkCardGrantRecord entity=new LpkCardGrantRecord(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + String sid=entity.getSid(); + baseMapper.insert(entity); + return rb.success().setMsg(sid); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeMapper.java new file mode 100644 index 0000000..1f81951 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeMapper.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.lpkcardqrcode; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcode; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcodeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkCardQrcodeMapper extends BaseMapper { + + IPage recordListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + int saveCodes(@Param("codes")List codes); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeMapper.xml new file mode 100644 index 0000000..5cc232e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + insert into lpk_card_qrcode(sid,createTime,cardSid,file) + values + + (#{item.sid},#{item.createTime},#{item.cardSid},#{item.file}) + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeRest.java new file mode 100644 index 0000000..ff6fae0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeRest.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.biz.lpkcardqrcode; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcodeDto; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcodeQuery; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcodeVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼品卡二维码") +@RestController +@RequestMapping("lpkcardqrcode") +public class LpkCardQrcodeRest { + + @Autowired + LpkCardQrcodeService LpkCardQrcodeService; + + @ApiOperation("发放记录列表") + @PostMapping("/recordListPage") + public ResultBean> recordListPage(@RequestBody PagerQuery pq) { + return LpkCardQrcodeService.recordListPage(pq); + } + + @ApiOperation("保存") + @PostMapping("/save") + public ResultBean save(@RequestBody LpkCardQrcodeDto dto) { + return LpkCardQrcodeService.save(dto); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeService.java new file mode 100644 index 0000000..c65bcb7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcardqrcode/LpkCardQrcodeService.java @@ -0,0 +1,63 @@ +package com.yxt.ordermall.biz.lpkcardqrcode; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcode; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcodeDto; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcodeQuery; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcodeVo; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkCardQrcodeService extends MybatisBaseService { + + @Autowired + private LpkGiftCardService lpkGiftCardService; + + public ResultBean> recordListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkCardQrcodeQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getCountNumber())) { + qw.eq("r.countNumber", query.getCountNumber()); + } +// String startDate = query.getStartDate(); +// String effEndTime = query.getEndDate(); +// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (r.buildDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). +// apply(org.apache.commons.lang3.StringUtils.isNotEmpty(effEndTime), "date_format (r.buildDate,'%Y-%m-%d') <= date_format('" + effEndTime + "','%Y-%m-%d')" +// ); + qw.orderByDesc("r.createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.recordListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean save(LpkCardQrcodeDto dto) { + ResultBean rb = ResultBean.fireFail(); + LpkCardQrcode entity=new LpkCardQrcode(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + String sid=entity.getSid(); + baseMapper.insert(entity); + return rb.success().setMsg(sid); + } + + public int saveCodes(List codes) { + return baseMapper.saveCodes(codes); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerMapper.java new file mode 100644 index 0000000..064d441 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerMapper.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.biz.lpkcustomer; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkcustomer.CustomerInfoVo; +import com.yxt.ordermall.api.lpkcustomer.LpkCustomer; +import com.yxt.ordermall.api.lpkcustomer.LpkCustomerVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkCustomerMapper extends BaseMapper { + + IPage customerListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select * from lpk_customer where sid=#{sid}") + LpkCustomerVo getCustomerInfo (@Param("sid")String sid); + @Select("select * from lpk_customer where wxMpOpenid=#{wxMpOpenid}") + List getCustomer(@Param("wxMpOpenid") String wxMpOpenid); + + CustomerInfoVo getCustomerInfos(String userSid); + + LpkCustomer selectOwn(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerMapper.xml new file mode 100644 index 0000000..dd30f58 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerRest.java new file mode 100644 index 0000000..b60fc2e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerRest.java @@ -0,0 +1,101 @@ +package com.yxt.ordermall.biz.lpkcustomer; + +import cn.hutool.core.util.IdUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcustomer.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "用户信息") +@RestController +@RequestMapping("lpkcustomer") +public class LpkCustomerRest { + + @Autowired + LpkCustomerService lpkCustomerService; + + @PostMapping("/wxBindMobile") + @ApiOperation(value = "微信绑定手机") + public ResultBean wxBindMobile(@RequestBody WxBindMobileDto wxBindMobileDto) { + return lpkCustomerService.wxBindMobile(wxBindMobileDto); + } + + @ApiOperation(value = "微信静默登录") + @GetMapping("/wxSilentLogin") + public ResultBean wxSilentLogin(@RequestParam(value = "wxCode") String wxCode) { + return lpkCustomerService.wxSilentLogin(wxCode); + } + + @ApiOperation("客户信息列表") + @PostMapping("/customerListPage") + public ResultBean> customerListPage(@RequestBody PagerQuery pq) { + return lpkCustomerService.customerListPage(pq); + } + + @ApiOperation("客户个人信息") + @GetMapping("/customerInfo/{sid}") + public ResultBean customerInfo(@PathVariable("sid") String sid) { + return lpkCustomerService.getCustomerInfo(sid); + } + + @Test + public void a() { + long id = IdUtil.createSnowflake(1, 1).nextId(); + System.out.println(String.valueOf(id).length()); + System.out.println(id); + } + + @ApiOperation("更改头像") + @PostMapping("/modifyHeadImage") + ResultBean modifyHeadImage(@RequestParam("userSid") String userSid, @RequestPart(value = "file") MultipartFile file) { + return lpkCustomerService.modifyHeadImage(userSid, file); + } + + @ApiOperation("更改昵称") + @PostMapping("/modifyUserNickName") + ResultBean modifyUserNickName(@RequestParam("userSid") String userSid, @RequestParam("userNickName") String userNickName) { + return lpkCustomerService.modifyUserNickName(userSid, userNickName); + } + + @ApiOperation("获取客户个人信息") + @GetMapping("/getCustomerInfo/{userSid}") + ResultBean getCustomerInfo(@PathVariable("userSid") String userSid) { + return lpkCustomerService.getCustomerInfos(userSid); + } + + @ApiOperation("获取客户个人信息") + @PostMapping("/getPhoneNumber") + ResultBean getPhoneNumber(@RequestParam("code") String code, @RequestParam("userSid") String userSid) { + return lpkCustomerService.getPhoneNumber(code, userSid); + } + + @ApiOperation("获取实名信息") + @GetMapping("/getRealInfo/{userSid}") + ResultBean getRealInfo(@PathVariable("userSid") String userSid) { + return lpkCustomerService.getRealInfo(userSid); + } + + @ApiOperation("保存实名信息") + @PostMapping("/saveRealInfo") + ResultBean saveRealInfo(@RequestBody RealInfoDto dto) { + return lpkCustomerService.saveRealInfo(dto); + } + + @ApiOperation("客户绑定支行") + @PostMapping("/updateCustomerBank") + ResultBean updateCustomerBank(@RequestParam("userSid") String userSid, @RequestParam("customerBankSid") String customerBankSid) { + return lpkCustomerService.updateCustomerBank(userSid,customerBankSid); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerService.java new file mode 100644 index 0000000..cbb43e4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomer/LpkCustomerService.java @@ -0,0 +1,344 @@ +package com.yxt.ordermall.biz.lpkcustomer; + +import cn.dev33.satoken.stp.SaTokenInfo; +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.http.HttpUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.FileUploadResult; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcustomer.*; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBank; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBankVo; +import com.yxt.ordermall.biz.lpkcustomerbank.LpkCustomerBankService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +@Slf4j +public class LpkCustomerService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + @Value("${weixin.miniprogram.appid:wx4724e3a3c27f36b5}") + String APP_ID; + @Value("${weixin.miniprogram.secret:971fd3b8aa7b08ce3e8a5f3e502b1a8d}") + String SECRET; + + // 汇融惠享 +// String APP_ID = "wx4724e3a3c27f36b5"; +// String SECRET = "971fd3b8aa7b08ce3e8a5f3e502b1a8d"; +// 汇融云眼 +// String APP_ID = "wx11565021714ba796"; +// String SECRET = "eb511fbb5f864cdabc3d044b639814c9"; +// 汇融惠农 +// String APP_ID = "wx97c0a62c6d65207f"; +// String SECRET = "e4572da4407573213377cd00e422397d"; + private static final String WX_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code "; + + @Autowired + private LpkCustomerBankService lpkCustomerBankService; + + public ResultBean wxLogin(String jsCode, String appid, String secret) { + ResultBean rb = new ResultBean(); + String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE", jsCode).replace("authorization_code", "authorization_code"); + RestTemplate restTemplate = new RestTemplate(); + ResponseEntity forEntity = restTemplate.getForEntity(url, String.class); + JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody()); +// System.out.println(jsonObject); + return rb.success().setData(jsonObject); + } + + /** + * 微信静默登录 + * + * @param wxCode 临时凭证code值 + * @return ResultBean data:Token + * 登陆成功后data返回用户Sid + * 聂金毅 2022/6/8 20:30 创建 + */ + public ResultBean wxSilentLogin(String wxCode) { + ResultBean rb = ResultBean.fireFail(); + // 通过wxCode获取unionid,失败返回微信的错误提示。 + + ResultBean rbJsonObject = wxLogin(wxCode, APP_ID, SECRET); + if (!rbJsonObject.getSuccess()) { + JSONObject jsonObject = rbJsonObject.getData(); + String errcode = jsonObject.get("errcode").toString(); + String errmsg = jsonObject.get("errmsg").toString(); + return rb.setMsg(errmsg).setCode(errcode); + } + // 判断存在不存在unionid,用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台帐号下会返回,详见 UnionID 机制说明。、 + JSONObject jsonObject = rbJsonObject.getData(); + if (!jsonObject.containsKey("openid")) { + return rb.setMsg("未获得openid,请联系管理员"); + } + String unionid = jsonObject.get("unionid").toString(); + String openid = jsonObject.get("openid").toString(); + Map map = new HashMap<>(); + map.put("unionid",unionid); + map.put("openid", openid); + LpkCustomer lpkCustomer = baseMapper.selectOne(new QueryWrapper().eq("wxMpOpenid", openid)); +// List lpkCustomer= baseMapper.getCustomer(openid); + //查询用户是否存在 + if (null == lpkCustomer) { + //新增用户 + LpkCustomer newCustomer = new LpkCustomer(); + newCustomer.setWxMpOpenid(openid); + newCustomer.setUnionId(unionid); + newCustomer.setCreateTime(new Date()); + newCustomer.setIsPurchase("1"); + newCustomer.setIsNewUser("1"); + newCustomer.setPhoto("headImage.png"); + LpkCustomer lpkCustomer1 = baseMapper.selectOwn(); + newCustomer.setNick("惠享客户000" + (Integer.valueOf(lpkCustomer1.getId()).intValue() + 1)); + baseMapper.insert(newCustomer); +// return rb.setData(newCustomer).setCode("110"); + StpUtil.login(newCustomer.getId()); + SaTokenInfo tokenInfo = StpUtil.getTokenInfo(); + newCustomer.setToken(tokenInfo.getTokenValue()); +// newCustomer.setMobile(lpkCustomer.getMobile()); + + return rb.success().setData(newCustomer); + } +// //判断是否绑定手机号 +// if(StringUtils.isBlank(lpkCustomer.getMobile())){ +// return rb.setData(lpkCustomer).setCode("110"); +// } + if (StringUtils.isBlank(lpkCustomer.getPhoto())) { + lpkCustomer.setPhoto("headImage.png"); + baseMapper.updateById(lpkCustomer); + lpkCustomer = fetchBySid(lpkCustomer.getSid()); + } + if (StringUtils.isBlank(lpkCustomer.getNick())) { + lpkCustomer.setNick("惠享客户000" + lpkCustomer.getId()); + baseMapper.updateById(lpkCustomer); + lpkCustomer = fetchBySid(lpkCustomer.getSid()); + } + if(StringUtils.isBlank(lpkCustomer.getUnionId())){ + lpkCustomer.setUnionId(unionid); + baseMapper.updateById(lpkCustomer); + } + StpUtil.login(lpkCustomer.getId()); + SaTokenInfo tokenInfo = StpUtil.getTokenInfo(); + lpkCustomer.setToken(tokenInfo.getTokenValue()); + + return rb.success().setData(lpkCustomer); + } + + public ResultBean wxBindMobile(WxBindMobileDto wxBindMobileDto) { + ResultBean rb = ResultBean.fireFail(); + String mobile = wxBindMobileDto.getMobile(); + LpkCustomer lpkCustomer = baseMapper.selectOne(new QueryWrapper().eq("wxMpOpenid", wxBindMobileDto.getOpenid())); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + lpkCustomer.setBindDate(sdf.format(new Date())); + lpkCustomer.setMobile(mobile); + baseMapper.updateById(lpkCustomer); + return rb.success().setMsg("绑定成功").setData(lpkCustomer.getSid()); + } + + public ResultBean getCustomerInfo(String sid) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomerVo lpkCustomer = baseMapper.getCustomerInfo(sid); + lpkCustomer.setPhoto(fileUploadComponent.getUrlPrefix() + lpkCustomer.getPhoto()); + if (StringUtils.isNotBlank(lpkCustomer.getMobile())) { + lpkCustomer.setMobile(lpkCustomer.getMobile().replaceAll("(?<=\\d{3})\\d{4}(?=\\d{4})", "****")); + } + return rb.success().setData(lpkCustomer); + } + + public ResultBean> customerListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomerQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getMobile())) { + qw.like("mobile", query.getMobile()); + } + if (StringUtils.isNotBlank(query.getRealName())) { + qw.like("realName", query.getRealName()); + } + qw.orderByDesc("createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.customerListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (LpkCustomerVo record : records) { + if (StringUtils.isNotBlank(record.getPhoto())) { + record.setPhoto(fileUploadComponent.getUrlPrefix() + record.getPhoto()); + } + } + } + return rb.success().setData(p); + } + + public ResultBean modifyHeadImage(String userSid, MultipartFile file) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomer lpkCustomer = fetchBySid(userSid); + if (lpkCustomer == null) { + return rb.setMsg("该客户信息不存在"); + } + if (file == null || file.isEmpty()) { + return rb.setMsg("文件为空"); + } + ResultBean resultBean = fileUploadComponent.uploadFile(file, null); + FileUploadResult fileUploadResult = resultBean.getData(); + if (fileUploadResult != null && StringUtils.isNotBlank(fileUploadResult.getFullUrl())) { + if (fileUploadResult.getFullUrl().contains(fileUploadComponent.getUrlPrefix())) { + String headImageUrl = fileUploadResult.getFullUrl().replace(fileUploadComponent.getUrlPrefix(), ""); + lpkCustomer.setPhoto(headImageUrl); + } + } + baseMapper.updateById(lpkCustomer); + return rb.success().setData(fileUploadComponent.getUrlPrefix() + lpkCustomer.getPhoto()); + } + + public ResultBean modifyUserNickName(String userSid, String userNickName) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomer lpkCustomer = fetchBySid(userSid); + if (lpkCustomer == null) { + return rb.setMsg("该客户信息不存在"); + } + lpkCustomer.setNick(userNickName); + baseMapper.updateById(lpkCustomer); + return rb.success(); + } + + public ResultBean getCustomerInfos(String userSid) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomer lpkCustomer = fetchBySid(userSid); + if (lpkCustomer == null) { + return rb.setMsg("该客户信息不存在"); + } + CustomerInfoVo customerInfoVo = baseMapper.getCustomerInfos(userSid); + String photo = fileUploadComponent.getUrlPrefix() + customerInfoVo.getPhoto(); + customerInfoVo.setPhoto(photo); + if (StringUtils.isNotBlank(customerInfoVo.getPhone())) { + customerInfoVo.setPhone(customerInfoVo.getPhone().replaceAll("(?<=\\d{3})\\d{4}(?=\\d{4})", "****")); + } else { + customerInfoVo.setPhone("获取"); + } + if (StringUtils.isNotBlank(lpkCustomer.getRealName()) && StringUtils.isNotBlank(lpkCustomer.getRegionCode())) { + customerInfoVo.setRealAttestationExplain("已实名"); + } else { + customerInfoVo.setRealAttestationExplain("未实名"); + } + if (StringUtils.isNotBlank(lpkCustomer.getCustomerBankSid())) { + LpkCustomerBank lpkCustomerBank = lpkCustomerBankService.fetchBySid(lpkCustomer.getCustomerBankSid()); + if (lpkCustomerBank != null) { + customerInfoVo.setCustomerBankName(lpkCustomerBank.getName()); + } + } + List customerBankList = lpkCustomerBankService.selectLists(); + customerInfoVo.setCustomerBankList(customerBankList); + return rb.success().setData(customerInfoVo); + } + + public ResultBean getPhoneNumber(String code, String userSid) { + ResultBean rb = ResultBean.fireFail(); + try { + String objectStr = HttpUtil.post(String.format("https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=%s", getAccessToken()), "{\"code\":\"" + code + "\"}"); + log.info(objectStr); + JSONObject jsonObject = JSON.parseObject(objectStr); + String errCode = jsonObject.getString("errcode"); + if (!"0".equals(errCode)) { + return rb.setMsg("微信code值失效"); + } + jsonObject = jsonObject.getJSONObject("phone_info"); + String phone = jsonObject.getString("phoneNumber"); + LpkCustomer lpkCustomer = fetchBySid(userSid); + if (lpkCustomer == null) { + return rb.setMsg("该客户不存在"); + } + lpkCustomer.setMobile(phone); + baseMapper.updateById(lpkCustomer); + return rb.success().setData(phone.replaceAll("(?<=\\d{3})\\d{4}(?=\\d{4})", "****")); + } catch (Exception e) { + e.printStackTrace(); + log.error("微信code解析异常", e.getMessage()); + } + return null; + } + + public String getAccessToken() { + try { + String objectStr = HttpUtil.get(String.format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s", APP_ID, SECRET)); + log.info(objectStr); + JSONObject jsonObject = JSON.parseObject(objectStr); + return jsonObject.getString("access_token"); + } catch (Exception e) { + e.printStackTrace(); + log.error("微信code解析异常", e.getMessage()); + } + return null; + } + + public ResultBean getRealInfo(String userSid) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomer lpkCustomer = fetchBySid(userSid); + if (lpkCustomer == null) { + return rb.setMsg("该客户不存在"); + } + RealInfoVo realInfoVo = new RealInfoVo(); + realInfoVo.setRealName(lpkCustomer.getRealName()); + realInfoVo.setRegionCode(lpkCustomer.getRegionCode()); + realInfoVo.setBirthDay(lpkCustomer.getBirthDay()); + realInfoVo.setRegionName(lpkCustomer.getRegionName()); + realInfoVo.setSex(lpkCustomer.getSex()); + return rb.success().setData(realInfoVo); + } + + public ResultBean saveRealInfo(RealInfoDto dto) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomer lpkCustomer = fetchBySid(dto.getUserSid()); + if (lpkCustomer == null) { + return rb.setMsg("该客户不存在"); + } + if (StringUtils.isBlank(dto.getRealName())) { + return rb.setMsg("真实姓名是必填项"); + } + lpkCustomer.setRealName(dto.getRealName()); + lpkCustomer.setBirthDay(dto.getBirthDay()); + if (StringUtils.isBlank(dto.getRegionCode())) { + return rb.setMsg("所在区域是必填项"); + } + lpkCustomer.setRegionCode(dto.getRegionCode()); + lpkCustomer.setRegionName(dto.getRegionName()); + lpkCustomer.setSex(dto.getSex()); + baseMapper.updateById(lpkCustomer); + return rb.success(); + } + + public ResultBean updateCustomerBank(String userSid, String customerBankSid) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomer lpkCustomer = fetchBySid(userSid); + if (lpkCustomer == null) { + return rb.setMsg("该客户不存在"); + } + lpkCustomer.setCustomerBankSid(customerBankSid); + baseMapper.updateById(lpkCustomer); + return rb.success(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankMapper.java new file mode 100644 index 0000000..7d5b6b7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankMapper.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.lpkcustomerbank; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBank; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBankVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/28 + **/ +@Mapper +public interface LpkCustomerBankMapper extends BaseMapper { + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + + List getBankList(@Param(Constants.WRAPPER)QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankMapper.xml new file mode 100644 index 0000000..d9daf1b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankMapper.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankRest.java new file mode 100644 index 0000000..ed596d2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankRest.java @@ -0,0 +1,43 @@ +package com.yxt.ordermall.biz.lpkcustomerbank; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBankQuery; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBankVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/28 + **/ +@Api(tags = "支行信息(十八家支行)") +@RestController +@RequestMapping("LpkCustomerBank") +public class LpkCustomerBankRest { + + @Autowired + private LpkCustomerBankService lpkCustomerBankService; + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> ListPageVo(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = lpkCustomerBankService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("支行信息列表") + @GetMapping("/getBankList") + ResultBean> getBankList(@RequestParam(value = "name", required = false) String name) { + return lpkCustomerBankService.getBankList(name); + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankService.java new file mode 100644 index 0000000..2a9a649 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkcustomerbank/LpkCustomerBankService.java @@ -0,0 +1,59 @@ +package com.yxt.ordermall.biz.lpkcustomerbank; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBank; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBankQuery; +import com.yxt.ordermall.api.lpkcustomerbank.LpkCustomerBankVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/28 + **/ +@Service +public class LpkCustomerBankService extends MybatisBaseService { + + + public PagerVo listPageVo(PagerQuery pq) { + LpkCustomerBankQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getName())) { + qw.like("lb.name", query.getName()); + } + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean> getBankList(String name) { + ResultBean> rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(name)) { + qw.like("lb.name", name); + } + List list = baseMapper.getBankList(qw); + list.removeAll(Collections.singleton(null)); + return rb.success().setData(list); + } + + public List selectLists() { + QueryWrapper qw = new QueryWrapper<>(); + List list = baseMapper.getBankList(qw); + list.removeAll(Collections.singleton(null)); + return list; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagMapper.java new file mode 100644 index 0000000..efc9689 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagMapper.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.biz.lpkgiftbag; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBag; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBagVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkGiftBagMapper extends BaseMapper { + + + IPage giftBagListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List giftBagList(); + + int saveBags(@Param("bags") List bags); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagMapper.xml new file mode 100644 index 0000000..077e54c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + insert into lpk_giftbag(sid,createTime,`name`,dateStart,dateEnd) + values + + (#{item.sid},#{item.createTime},#{item.name},#{item.dateStart},#{item.dateEnd}) + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagRest.java new file mode 100644 index 0000000..f0c39ca --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagRest.java @@ -0,0 +1,62 @@ +package com.yxt.ordermall.biz.lpkgiftbag; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBagDto; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBagInitVo; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBagQuery; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBagVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼包信息") +@RestController +@RequestMapping("lpkgiftbag") +public class LpkGiftBagRest { + + @Autowired + LpkGiftBagService lpkGiftBagService; + + + @ApiOperation("礼包信息列表") + @PostMapping("/giftBagListPage") + public ResultBean> giftBagListPage(@RequestBody PagerQuery pq) { + return lpkGiftBagService.giftBagListPage(pq); + } + + @ApiOperation("保存修改") + @PostMapping("/saveGiftBag") + public ResultBean saveGiftBag(@RequestBody LpkGiftBagDto dto) { + return lpkGiftBagService.saveGiftBag(dto); + } + + @ApiOperation("礼包初始化") + @GetMapping("/giftBagInit/{sid}") + public ResultBean giftBagInit(@PathVariable String sid) { + return lpkGiftBagService.giftBagInit(sid); + } + + @ApiOperation("删除礼包") + @DeleteMapping("/deleteBag/{sid}") + public ResultBean deleteBag(@PathVariable("sid") String sid) { + return lpkGiftBagService.deleteBag(sid); + } + @ApiOperation("礼包信息列表") + @GetMapping("/giftBagList") + public ResultBean giftBagList() { + return lpkGiftBagService.giftBagList(); + } + @GetMapping("/isGrounding/{sid}/{state}") + @ApiOperation(value = "设置是否上下架") + public ResultBean isGrounding(@PathVariable("sid")String sid,@PathVariable("state") String state) { + return lpkGiftBagService.isGrounding(sid, state); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagService.java new file mode 100644 index 0000000..d4b1c72 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbag/LpkGiftBagService.java @@ -0,0 +1,193 @@ +package com.yxt.ordermall.biz.lpkgiftbag; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkgiftbag.*; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoods; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.biz.lpkgiftbaggoods.LpkGiftBagGoodsService; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkGiftBagService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private LpkGiftBagGoodsService lpkGiftBagGoodsService; + @Autowired + private LpkGoodsService lpkGoodsService; + + public ResultBean> giftBagListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkGiftBagQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + qw.orderByDesc("createTime"); + qw.orderByAsc("name"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.giftBagListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (LpkGiftBagVo record : records) { + if (StringUtils.isNotBlank(record.getIconUrl())) { + record.setIconUrl(fileUploadComponent.getUrlPrefix() + record.getIconUrl()); + } + } + } + return rb.success().setData(p); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveGiftBag(LpkGiftBagDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + lpkGiftBagGoodsService.deleteGoodsByBagSid(dto.getSid()); + LpkGiftBag lpkGiftBag = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, lpkGiftBag, "id", "sid"); + lpkGiftBag.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getIconUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getIconUrl().substring(urlPrefix.length()); + lpkGiftBag.setIconUrl(path); + } + baseMapper.updateById(lpkGiftBag); + if (!dto.getGoods().isEmpty()) { + List goodsList = dto.getGoods(); + for (GiftBagGoods goods : goodsList) { + LpkGiftBagGoods lpkGiftBagGoods = new LpkGiftBagGoods(); + lpkGiftBagGoods.setCreateTime(new DateTime()); + lpkGiftBagGoods.setGoodsSid(goods.getGoodsSid()); + lpkGiftBagGoods.setGiftbagSid(lpkGiftBag.getSid()); + lpkGiftBagGoods.setGoodsNumber(goods.getGoodsNumber()); + lpkGiftBagGoodsService.insert(lpkGiftBagGoods); + } + } + } else { + LpkGiftBag lpkGiftBag = new LpkGiftBag(); + sid = lpkGiftBag.getSid(); + BeanUtil.copyProperties(dto, lpkGiftBag, "id", "sid"); + lpkGiftBag.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getIconUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getIconUrl().substring(urlPrefix.length()); + lpkGiftBag.setIconUrl(path); + } + baseMapper.insert(lpkGiftBag); + if (!dto.getGoods().isEmpty()) { + List goodsList = dto.getGoods(); + for (GiftBagGoods goods : goodsList) { + LpkGiftBagGoods lpkGiftBagGoods = new LpkGiftBagGoods(); + lpkGiftBagGoods.setCreateTime(new DateTime()); + lpkGiftBagGoods.setGoodsSid(goods.getGoodsSid()); + lpkGiftBagGoods.setGiftbagSid(lpkGiftBag.getSid()); + lpkGiftBagGoods.setGoodsNumber(goods.getGoodsNumber()); + lpkGiftBagGoodsService.insert(lpkGiftBagGoods); + } + } + } + return rb.success().setData(sid); + } + + public ResultBean giftBagInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + LpkGiftBagInitVo vo = new LpkGiftBagInitVo(); + LpkGiftBag entity = fetchBySid(sid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != entity) { + BeanUtil.copyProperties(entity, vo); + if (null != entity.getDateStart()) { + vo.setDateStart(sdf.format(entity.getDateStart())); + } + if (null != entity.getDateEnd()) { + vo.setDateEnd(sdf.format(entity.getDateEnd())); + } + if (StringUtils.isNotBlank(entity.getIconUrl())) { + vo.setIconUrl(fileUploadComponent.getUrlPrefix() + entity.getIconUrl()); + } + List goods = new ArrayList<>(); + List records = lpkGiftBagGoodsService.getRecordsByBagSid(sid); + if (!records.isEmpty()) { + for (LpkGiftBagGoods record : records) { + GiftBagGoods bagGoods = new GiftBagGoods(); + if (StringUtils.isNotBlank(record.getGoodsNumber())) { + bagGoods.setGoodsNumber(record.getGoodsNumber()); + } + if (StringUtils.isNotBlank(record.getGoodsSid())) { + bagGoods.setGoodsSid(record.getGoodsSid()); + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(record.getGoodsSid()); + if (null != lpkGoods) { + if (StringUtils.isNotBlank(lpkGoods.getName())) { + bagGoods.setName(lpkGoods.getName()); + } + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + bagGoods.setUnitName(lpkGoods.getUnitName()); + } + if (StringUtils.isNotBlank(lpkGoods.getPrice())) { + bagGoods.setPrice(lpkGoods.getPrice()); + } + } + } + goods.add(bagGoods); + } + } + vo.setGoods(goods); + } + return rb.success().setData(vo); + } + + public ResultBean deleteBag(String sid) { + ResultBean rb = ResultBean.fireFail(); + LpkGiftBag lpkGiftBag = fetchBySid(sid); + if (null != lpkGiftBag) { + baseMapper.deleteById(lpkGiftBag.getId()); + lpkGiftBagGoodsService.deleteGoodsByBagSid(sid); + } + return rb.success(); + } + + public ResultBean giftBagList() { + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.giftBagList(); + return rb.success().setData(pagging); + } + public ResultBean isGrounding(String sid,String state) { + ResultBean rb = new ResultBean().fail(); + LpkGiftBag bag=baseMapper.selectOne(new QueryWrapper().eq("sid",sid)); + bag.setIsGrounding(state); + baseMapper.updateById(bag); + return rb.success().setMsg("修改成功"); + } + + public int saveBags(List bags) { + return baseMapper.saveBags(bags); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java new file mode 100644 index 0000000..487a445 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java @@ -0,0 +1,48 @@ +package com.yxt.ordermall.biz.lpkgiftbaggoods; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoods; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkGiftBagGoodsMapper extends BaseMapper { + + + int deleteGoodsByBagSid(@Param("sid") String sid); + + @Select("select goods.name as goodsName,bads.goodsNumber ,bads.goodsSid,goods.picUrl,goods.price,goods.unitName,goods.remarks " + + " from lpk_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") + List getGoodsByBagSid(String sid); + @Select("SELECT\n" + + "\tgs.name as goodsName ,gs.sid as goodsSid, gs.weight ,gs.specificationUnit ,gs.unitName,g.goodsNumber \n" + + "FROM\n" + + "\tlpk_giftcard card\n" + + "\tLEFT JOIN lpk_giftbag_goods g ON card.giftbagSid = g.giftbagSid\n" + + "\tLEFT JOIN lpk_goods gs ON g.goodsSid = gs.sid \n" + + "WHERE\n" + + "\tcard.sid =#{sid}") + List getGoodsByGiftSid(String sid); + + @Select("SELECT\n" + + "\tgs.name as goodsName ,gs.sid as goodsSid, gs.weight ,gs.specificationUnit ,gs.unitName,g.goodsNumber \n" + + "FROM\n" + + "\temp_card card\n" + + "\tLEFT JOIN lpk_giftbag_goods g ON card.giftbagSid = g.giftbagSid\n" + + "\tLEFT JOIN lpk_goods gs ON g.goodsSid = gs.sid \n" + + "WHERE\n" + + "\tcard.sid =#{sid}") + List getGoodsByEmpGiftSid(String sid); + List getRecordsByBagSid(@Param("sid") String sid); + + int saveBagGoods(@Param("bagGoods") List bagGoods); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.xml new file mode 100644 index 0000000..458bd98 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + DELETE + FROM lpk_giftbag_goods + WHERE giftbagSid = #{sid} + + + + insert into lpk_giftbag_goods(sid,createTime,giftbagSid,goodsSid,goodsNumber) + values + + (#{item.sid},#{item.createTime},#{item.giftbagSid},#{item.goodsSid},#{item.goodsNumber}) + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsRest.java new file mode 100644 index 0000000..4c09c29 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsRest.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.lpkgiftbaggoods; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼包包含商品信息") +@RestController +@RequestMapping("lpkgiftbaggoods") +public class LpkGiftBagGoodsRest { + + @Autowired + LpkGiftBagGoodsService lpkGiftBagGoodsService; + + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsService.java new file mode 100644 index 0000000..f0c3630 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftbaggoods/LpkGiftBagGoodsService.java @@ -0,0 +1,39 @@ +package com.yxt.ordermall.biz.lpkgiftbaggoods; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoods; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkGiftBagGoodsService extends MybatisBaseService { + + public int deleteGoodsByBagSid(String sid) { + return baseMapper.deleteGoodsByBagSid(sid); + } + + public List getRecordsByBagSid(String sid) { + return baseMapper.getRecordsByBagSid(sid); + } + + public List getGoodsByBagSid(String sid) { + return baseMapper.getGoodsByBagSid(sid); + } + public List getGoodsByGiftSid(String sid) { + return baseMapper.getGoodsByGiftSid(sid); + } + public List getGoodsByEmpGiftSid(String sid) { + return baseMapper.getGoodsByEmpGiftSid(sid); + } + + public int saveBagGoods(List bagGoods) { + return baseMapper.saveBagGoods(bagGoods); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardMapper.java new file mode 100644 index 0000000..6bbdf94 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardMapper.java @@ -0,0 +1,84 @@ +package com.yxt.ordermall.biz.lpkgiftcard; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkgiftcard.*; +import com.yxt.ordermall.api.lpkgiftcard.CardStatisticsExportVo; +import com.yxt.ordermall.api.vegetablecellar.vegeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkGiftCardMapper extends BaseMapper { + + IPage getGifCardByCustomerSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage getGifCardsByCustomerSid(IPage page, @Param("customerSid") String customerSid); + + @Select(" SELECT\n" + + " card.*,\n" + + " case card.state\n" + + " WHEN 3 then '未提货'\n" + + " WHEN 4 then '已经预约提货(预约部分提货)'\n" + + " WHEN 5 then '已经提取完成'\n" + + " end stateValue,\n" + + " bag.dateStart as dateStart\n" + + " ,bag.dateEnd as dateEnd\n" + + " ,bag.name as pname,card.state as states,card.serialNumber as serialNumber\n" + + " FROM\n" + + " lpk_giftcard card\n" + + " LEFT JOIN lpk_giftbag bag on card.giftbagSid=bag.sid" + + " where card.sid=#{sid}") + AppletVo getGifCardBySid(@Param("sid") String sid); + @Select(" SELECT\n" + + " card.*,\n" + + " case card.state\n" + + " WHEN 3 then '未提货'\n" + + " WHEN 4 then '已经预约提货(预约部分提货)'\n" + + " WHEN 5 then '已经提取完成'\n" + + " end stateValue,\n" + + " bag.dateStart as dateStart\n" + + " ,bag.dateEnd as dateEnd\n" + + " ,bag.name as pname,card.state as states,card.serialNumber as serialNumber\n" + + " FROM\n" + + " lpk_giftcard card\n" + + " LEFT JOIN lpk_giftbag bag on card.giftbagSid=bag.sid" + + " where card.sid=#{sid}") + AppletNewVo getGifCardsBySid(@Param("sid") String sid); + + String selctMaxSerNum(@Param("cardArea") String cardArea); + + IPage cardList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List selAllByRecordSid(@Param("sid") String sid); + + IPage recordDetails(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List exportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); + + Integer updateState(@Param("serialNumbers") List serialNumbers, @Param("state") String state, @Param("bankSid") String bankSid, @Param("recordSid") String recordSid); + + @Select("select count(id) from lpk_giftcard where recordSid=#{recordSid} and grantRecordSid is not null") + Integer cardGrantCount(@Param("recordSid") String recordSid); + + @Select("update lpk_giftcard set isItInvalid='1',state='5',isReservation='1' where giftbagSid=#{giftbagSid} and state!=#{state} ") + Integer updateIsItInvalid(@Param("giftbagSid") String giftbagSid, @Param("state") String state); + + // List selGiftCard(@Param("serialNumbers") List serialNumbers); + IPage selGiftCard(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + String selctMaxSerNumForExport(); + + int saveCards(@Param("cards") List cards); + IPage cardStatisticsList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List cardStatisticsListExport(@Param(Constants.WRAPPER) QueryWrapper qw); + List getGoodsList(@Param("sid") String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardMapper.xml new file mode 100644 index 0000000..41afbf1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardMapper.xml @@ -0,0 +1,335 @@ + + + + + + + insert into lpk_giftcard(sid,createTime,recordSid,giftbagSid,serialNumber,code,codeKey,`state`) + values + + (#{item.sid},#{item.createTime},#{item.recordSid},#{item.giftbagSid},#{item.serialNumber},#{item.code},#{item.codeKey},#{item.state}) + + + + + + + + + + + + + + + update lpk_giftcard set state=#{state}, bankSid=#{bankSid},grantRecordSid =#{recordSid} where serialNumber in + + #{item} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardRest.java new file mode 100644 index 0000000..8c15521 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardRest.java @@ -0,0 +1,194 @@ +package com.yxt.ordermall.biz.lpkgiftcard; + +import com.alibaba.fastjson.JSONObject; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkgiftcard.*; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.ParseException; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼品卡信息") +@RestController +@RequestMapping("lpkgiftcard") +public class LpkGiftCardRest { + + @Autowired + LpkGiftCardService lpkGiftCardService; + + + @PostMapping("/bindCard") + @ApiOperation(value = "客户绑定礼包卡") + public ResultBean wxBindMobile(@RequestBody BindCardDto bindCardDto) { + return lpkGiftCardService.bindCard(bindCardDto); + } + @PostMapping("/bindAllCard") + @ApiOperation(value = "客户绑定礼包卡") + public ResultBean bindAllCard(@RequestBody BindCardDto bindCardDto) { + return lpkGiftCardService.bindAllCard(bindCardDto); + } + @PostMapping("/gifCardByCustomerSid") + @ApiOperation(value = "获取客户绑定的礼包卡") + public ResultBean gifCardByCustomerSid(@RequestBody PagerQuery query) { + return lpkGiftCardService.getGifCardByCustomerSid(query); + } + @PostMapping("/gifCardsByCustomerSid") + @ApiOperation(value = "获取客户绑定的礼包卡") + public ResultBean gifCardsByCustomerSid(@RequestBody PagerQuery query) { + return lpkGiftCardService.getGifCardsByCustomerSid(query); + } + @GetMapping("/isSaturAndSun/{cardSid}") + @ApiOperation(value = "获取时间段的周六日") + public ResultBean isSaturAndSun(@PathVariable("cardSid") String cardSid) { + return lpkGiftCardService.isSaturAndSun(cardSid); + } + + @GetMapping("/getGifCardBySid/{sid}") + @ApiOperation(value = "获取礼包卡的详情信息") + public ResultBean getGifCardBySid(@PathVariable("sid") String sid) { + return lpkGiftCardService.getGifCardBySid(sid); + } + + @GetMapping("/getReservationBySid/{sid}") + @ApiOperation(value = "查询可预约取货的详情") + public ResultBean getReservationBySid(@PathVariable("sid") String sid) { + return lpkGiftCardService.getReservationBySid(sid); + } + + @PostMapping("/generateCard") + @ApiOperation(value = "生成礼包卡信息") + public ResultBean generateCard(@RequestBody LpkGiftCardDto dto) { + return lpkGiftCardService.generateCard(dto); + } + @GetMapping("/getCardByBank") + @ApiOperation(value = "生成礼包卡信息") + public JSONObject getCardByBank(@RequestParam(value = "pageNo",defaultValue = "1")Integer pageNo, + @RequestParam(value = "pageSize",defaultValue = "8")Integer pageSize, + @RequestParam(value = "printAll",required = false) String printAll, + @RequestParam(value = "end",defaultValue = "") String end, + @RequestParam(value = "start",defaultValue = "") String start) { + PagerQuery pq=new PagerQuery<>(); + LpkGiftCardListQuery q=new LpkGiftCardListQuery(); + pq.setCurrent(pageNo); + pq.setSize(pageSize); + + q.setNoEnd(end); + q.setNoStart(start); + pq.setParams(q); + + PagerVo p=lpkGiftCardService.getCardByBank(pq).getData(); + JSONObject jsonObject=new JSONObject(); + jsonObject.put("date",p.getRecords()); + jsonObject.put("total",p.getPages()); + jsonObject.put("count",p.getTotal()); + return jsonObject; + } + + @PostMapping("/cardList") + @ApiOperation(value = "礼包卡信息列表") + public ResultBean> cardList(@RequestBody PagerQuery pq) { + return lpkGiftCardService.cardList(pq); + } + + @ApiOperation("查看记录详情列表") + @PostMapping("/recordDetails") + public ResultBean> recordDetails(@RequestBody PagerQuery pq) { + return lpkGiftCardService.recordDetails(pq); + } + + + @ApiOperation(value = "礼包卡信息列表导出") + @PostMapping("/exportExcel") + public void exportExcel(@RequestBody LpkGiftCardListQuery query) { + lpkGiftCardService.exportExcel(query); + } + + @ApiOperation(value = "礼包卡发放信息") + @PostMapping("/cardGrant") + public ResultBean cardGrant(@RequestBody CardGrantDto dto) { + return lpkGiftCardService.cardGrant(dto); + } + + @ApiOperation(value = "批量发行导入") + @PostMapping("/getExcelInfo") + public ResultBean getExcelInfo( + @RequestParam(value = "startDate") String startDate, + @RequestParam(value = "endDate") String endDate, + @RequestParam(value = "file") MultipartFile file, + HttpServletRequest request, + HttpServletResponse response) throws IOException, ParseException { + return lpkGiftCardService.getExcelInfo(startDate,endDate,file,request,response); + } + + + @ApiOperation(value = "批量发行导入") + @PostMapping("/getExcelInfo2") + public ResultBean getExcelInfo2( + @RequestParam(value = "startDate") String startDate, + @RequestParam(value = "endDate") String endDate, + @RequestParam(value = "file") MultipartFile file, + HttpServletRequest request, + HttpServletResponse response) throws IOException { + return lpkGiftCardService.getExcelInfo3(startDate,endDate,file,request,response); + } + @ApiOperation("订单门店汇总导出") + @PostMapping("/cardStatisticsListExport") + public void cardStatisticsListExport(@RequestBody LpkGiftCardListQuery pq) { + lpkGiftCardService.cardStatisticsListExport(pq); + } + @ApiOperation("订单门店汇总列表") + @PostMapping("/cardStatisticsList") + public ResultBean cardStatisticsList(@RequestBody PagerQuery pq) { + return lpkGiftCardService.cardStatisticsList(pq); + } + + @ApiOperation("设置是否作废") + @GetMapping("/cancelCard/{sid}") + public ResultBean cancelCard(@PathVariable("sid")String sid) { + return lpkGiftCardService.isEnable(sid); + } + + @ApiOperation("提货卡转赠福礼卡") + @PostMapping("/cardTransfer") + public ResultBean cardTransfer(String sid) { + return lpkGiftCardService.cardTransfer(sid); + } + + + @ApiOperation("共享家庭卡详情") + @GetMapping("/cardShareDetail/{sid}") + public ResultBean cardShareDetail(@PathVariable("sid") String sid) { + return lpkGiftCardService.cardShareDetail(sid); + } + @ApiOperation("共享家庭卡蔬菜详情") + @GetMapping("/cardShareGoodsDetail/{sid}") + public ResultBean cardShareGoodsDetail(@PathVariable("sid") String sid) { + return lpkGiftCardService.cardShareGoodsDetail(sid); + } + +// @ApiOperation("获取所有的类型") +// @GetMapping("/getAllGoodsType/{type}") +// public ResultBean getAllType(@PathVariable("type") String type ) { +// return lpkGiftCardService.getAllType(type); +// } +// @ApiOperation("根据类型查询商品") +// @PostMapping("/getGoodsByType") +// public ResultBean getGoodsByType(@RequestBody LpkGiftCardQuery query) { +// return lpkGiftCardService. getGoodsByTypeSid(query); +// } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardService.java new file mode 100644 index 0000000..fb051c7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/LpkGiftCardService.java @@ -0,0 +1,1777 @@ +package com.yxt.ordermall.biz.lpkgiftcard; + +import cn.hutool.core.codec.Base64Encoder; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.img.ImgUtil; +import cn.hutool.extra.qrcode.QrCodeUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.ExportExcelUtils; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.empcardgift.*; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoods; +import com.yxt.ordermall.api.lpkcardbuildrecord.LpkCardBuildRecord; +import com.yxt.ordermall.api.lpkcardgrantrecord.LpkCardGrantRecordDto; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcode; +import com.yxt.ordermall.api.lpkcardqrcode.LpkCardQrcodeDto; +import com.yxt.ordermall.api.lpkgiftbag.*; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGifGoodsVo; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoods; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; +import com.yxt.ordermall.api.lpkgiftcard.*; +import com.yxt.ordermall.api.lpkgiftcard.CardStatisticsExportVo; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.lpkreserveorder.*; +import com.yxt.ordermall.api.lpkreserveordergoods.LpkReserveOrderGoods; +import com.yxt.ordermall.api.lpkstore.LpkStoreDetailsVo; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellarDto; +import com.yxt.ordermall.api.vegetablecellar.vegeVo; +import com.yxt.ordermall.biz.empcard.EmpCardService; +import com.yxt.ordermall.biz.empcardgift.EmpCardGiftService; +import com.yxt.ordermall.biz.empcardgiftgoods.EmpCardGiftGoodsService; +import com.yxt.ordermall.biz.lpkcardbuildrecord.LpkCardBuildRecordService; +import com.yxt.ordermall.biz.lpkcardgrantrecord.LpkCardGrantRecordService; +import com.yxt.ordermall.biz.lpkcardqrcode.LpkCardQrcodeService; +import com.yxt.ordermall.biz.lpkgiftbag.LpkGiftBagService; +import com.yxt.ordermall.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.lpkreserveorder.LpkReserveOrderService; +import com.yxt.ordermall.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; +import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +import com.yxt.ordermall.biz.shoppingcart.ShoppingCartService; +import com.yxt.ordermall.biz.vegereplenish.VegeReplenishService; +import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +import com.yxt.ordermall.utils.StyleUtils; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.*; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.Period; +import java.util.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkGiftCardService extends MybatisBaseService { + @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}") + private String urlPrefix; + @Value("${weixin.qrcode.giftCard}") + String giftCardQrUrl; + @Autowired + com.yxt.ordermall.biz.lpkgiftbaggoods.LpkGiftBagGoodsService LpkGiftBagGoodsService; + @Autowired + LpkReserveOrderGoodsService lpkReserveOrderGoodsService; + @Autowired + LpkStoreService lpkStoreService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private VegetableCellarService vegetableCellarService; + @Autowired + private LpkCardBuildRecordService lpkCardBuildRecordService; + @Autowired + private HttpServletResponse response; + @Autowired + LpkCardGrantRecordService lpkCardGrantRecordService; + @Autowired + LpkReserveOrderService lpkReserveOrderService; + @Autowired + LpkGiftBagService lpkGiftBagService; + @Autowired + LpkGoodsService lpkGoodsService; + @Autowired + EmpCardGiftService empCardGiftService; + @Autowired + LpkCardQrcodeService lpkCardQrcodeService; + @Autowired + EmpCardGiftGoodsService empCardGiftGoodsService; + @Autowired + EmpCardService empCardService; + @Autowired + ShoppingCartService shoppingCartService; + @Autowired + private VegeReplenishService vegeReplenishService; + + public ResultBean bindCard(BindCardDto bindCardDto) { + ResultBean rb = new ResultBean().fail(); + LpkGiftCard lpkGiftCard1 = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode())); + if (null == lpkGiftCard1) { + ResultBean rb1 = empCardGiftService.bindCard(bindCardDto); + return rb1; + } + LpkGiftCard lpkGiftCard = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode()) + .eq("codeKey", bindCardDto.getCodeKey())); + if (null == lpkGiftCard) { + return rb.setMsg("请核对卡号和密钥"); + } + if (lpkGiftCard.getIsEnable().equals("2")) { + return rb.setMsg("此卡已作废"); + } + + AppletVo vo = baseMapper.getGifCardBySid(lpkGiftCard.getSid()); + if (vo.getState().equals("已过期")) { + return rb.setMsg("该卡已过期"); + } + if (StringUtils.isNotBlank(lpkGiftCard.getCustomerSid())) { + return rb.setMsg("该卡已绑定"); + } + lpkGiftCard.setCustomerSid(bindCardDto.getCustomerSid()); + lpkGiftCard.setState("3"); + lpkGiftCard.setBindDate(new Date()); + baseMapper.updateById(lpkGiftCard); + return rb.success().setMsg("绑定成功"); + } + + public static void main(String[] args) { + String a = "99231229101555309170"; + ; + System.out.println(a.substring(0, 2)); + } + @Transactional(rollbackFor = Exception.class) + public ResultBean bindAllCard(BindCardDto bindCardDto) { + ResultBean rb = new ResultBean().fail(); + if(StringUtils.isBlank(bindCardDto.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + if (bindCardDto.getCode().substring(0, 2).equals("99")) { + ResultBean rb2 = empCardGiftService.bindCard(bindCardDto); + return rb2; + } + LpkGiftCard lpkGiftCard1 = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode())); + if (null == lpkGiftCard1) { + ResultBean rb1 = empCardService.bindCardA(bindCardDto); + return rb1; + } + LpkGiftCard lpkGiftCard = baseMapper.selectOne(new QueryWrapper().eq("code", bindCardDto.getCode()) + .eq("codeKey", bindCardDto.getCodeKey())); + if (null == lpkGiftCard) { + return rb.setMsg("请核对卡号和密钥"); + } + if (lpkGiftCard.getIsEnable().equals("2")) { + return rb.setMsg("此卡已作废"); + } + + AppletVo vo = baseMapper.getGifCardBySid(lpkGiftCard.getSid()); + if (vo.getState().equals("已过期")) { + return rb.setMsg("该卡已过期"); + } + if (StringUtils.isNotBlank(lpkGiftCard.getCustomerSid())) { + return rb.setMsg("该卡已绑定"); + } + lpkGiftCard.setCustomerSid(bindCardDto.getCustomerSid()); + lpkGiftCard.setState("3"); + lpkGiftCard.setBindDate(new Date()); + baseMapper.updateById(lpkGiftCard); + List k = baseMapper.getGoodsList(lpkGiftCard.getSid()); + VegetableCellarDto dto = new VegetableCellarDto(); + //加入菜窖 + dto.setCustomerSid(bindCardDto.getCustomerSid()); + dto.setVos(k); + vegetableCellarService.save1Goods(dto); + //生成绑卡流水 + vegeReplenishService.saveBindRecord(bindCardDto, "0"); + return rb.success().setMsg("绑定成功"); + } + + public ResultBean getGifCardByCustomerSid(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + LpkGiftCardQuery query = pq.getParams(); + if (StringUtils.isBlank(query.getCustomerSid())) { + return rb.setMsg("参数不能为空"); + } + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getCustomerSid())) { + qw.eq("customerSid", query.getCustomerSid()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage list = baseMapper.getGifCardByCustomerSid(page, qw); + PagerVo p = PagerUtil.pageToVo(list, null); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return rb.success().setData(p); + } + + public ResultBean getGifCardsByCustomerSid(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + LpkGiftCardQuery query = pq.getParams(); + if (StringUtils.isBlank(query.getCustomerSid())) { + return rb.setMsg("参数不能为空"); + } + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getCustomerSid())) { + qw.eq("customerSid", query.getCustomerSid()); + } + System.out.println(query.getCustomerSid()); + IPage page = PagerUtil.queryToPage(pq); + IPage list = baseMapper.getGifCardsByCustomerSid(page, query.getCustomerSid()); + list.getRecords().forEach(s -> { + if (s.getLogo().equals("1")) { + //家庭卡 + List vo = getGifCardsBySid(s.getSid()).getData(); + s.setList(vo); + } else if (s.getLogo().equals("2")) { + //亲情卡 + List vo = empCardGiftService.getGifCardsBySid(s.getSid()).getData(); + s.setList(vo); + } else if (s.getLogo().equals("3")) { + //企业卡 + List list1 = empCardService.getEmpCardsBySid(s.getSid()).getData(); + s.setList(list1); + } + }); + PagerVo p = PagerUtil.pageToVo(list, null); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + return rb.success().setData(p); + } + + public ResultBean> getGifCardsBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + AppletNewVo vo = baseMapper.getGifCardsBySid(sid); + List list = LpkGiftBagGoodsService.getGoodsByGiftSid(sid); + List list1 = new ArrayList<>(); + List goodsVos = new ArrayList<>(); + list.forEach(s -> { + LpkGifGoodsVo g = new LpkGifGoodsVo(); + LpkReserveOrderGoods goods = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + EmpCardGiftVo vo1 = empCardGiftService.getEmpCardGoods(vo.getSid(), s.getGoodsSid()).getData(); + GoodsVo goodsVo = new GoodsVo(); + if (vo.getState().equals("已过期")) { + goodsVo.setLNum(0); + } else if (!vo.isShowBtn()) { + goodsVo.setLNum(0); + } else { + if (null != goods && null != vo1) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber() - vo1.getGoodsNumber()); + } + } else if (null != vo1) { + if (vo1.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - vo1.getGoodsNumber()); + } + } else if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + } + if (goodsVo.getLNum() != 0) { + // g.setContent("剩余"+goodsVo.getLNum()+"份/"+"共"+s.getGoodsNumber()+"份"); + g.setContent("共" + (int) goodsVo.getLNum() + "份"); + g.setRemarks(s.getWeight() + s.getSpecificationUnit() + "/" + s.getUnitName()); + g.setGoodsName(s.getGoodsName()); + list1.add(g); + } + } +// goodsVos.add(goodsVo); + }); + return rb.success().setData(list1); + } + + public ResultBean getGifCardBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + AppletVo vo = baseMapper.getGifCardBySid(sid); + List list = LpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); + List goodsVos = new ArrayList<>(); + list.forEach(s -> { + LpkReserveOrderGoods goods = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + EmpCardGiftVo vo1 = empCardGiftService.getEmpCardGoods(vo.getSid(), s.getGoodsSid()).getData(); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getGoodsName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setRemarks(s.getRemarks()); + goodsVo.setUnitName(s.getUnitName()); + goodsVo.setPic(urlPrefix + s.getPicUrl()); + if (vo.getState().equals("已过期")) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else if (!vo.isShowBtn()) { + goodsVo.setLNum(0); + goodsVos.add(goodsVo); + } else { + if (null != goods && null != vo1) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber() - vo1.getGoodsNumber()); +// goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else if (null != vo1) { + if (vo1.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - vo1.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(0); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); +// goodsVo.setSelect(s.getGoodsNumber()); + goodsVo.setSelect(0); + } + goodsVos.add(goodsVo); + } + }); + List lpkReserveOrderCardVos = lpkReserveOrderService.selOrderByCardSid(sid).getData(); + for (LpkReserveOrderCardVo vo2 : lpkReserveOrderCardVos) { + List goods = lpkReserveOrderGoodsService.selByOrderSids(vo2.getSid()); + for (LpkReserveOrderGoods goods1 : goods) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); + if (StringUtils.isBlank(vo2.getGoods())) { + vo2.setGoods(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } else { + vo2.setGoods(vo2.getGoods() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } + } + } + LpkReserveOrderVo vo1 = lpkReserveOrderService.getStoreByCustomerSid(vo.getCustomerSid()).getData(); + if (null != vo1) { + LpkStoreDetailsVo vo2 = lpkStoreService.storeInit(vo1.getStoreSid()).getData(); + if (null != vo2) { + vo.setAddressName(vo2.getName()); + vo.setValue(vo2.getSid()); + } + } + List empCardGift = empCardGiftService.list(new QueryWrapper().eq("empCardSid", vo.getSid()).eq("cardType", "3").orderByDesc("createTime")); + empCardGift.forEach(s -> { + List list1 = empCardGiftGoodsService.list(new QueryWrapper().eq("empCardGiftSid", s.getSid())); + list1.forEach(l -> { + LpkGoods goods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", l.getGoodsSid())); + if (StringUtils.isBlank(s.getGoods())) { + s.setGoods(goods.getName() + ":" + l.getGoodsNumber() + "份"); + } else { + s.setGoods(s.getGoods() + " " + goods.getName() + ":" + l.getGoodsNumber() + "份"); + } + }); + }); + + vo.setEmpCardGifts(empCardGift); + vo.setOrderCardVoList(lpkReserveOrderCardVos); + vo.setGoodsVos(goodsVos); + vo.setPName("家庭菜窖"); + return rb.success().setData(vo); + } + + public ResultBean getReservationBySid(String sid) { + ResultBean rb = new ResultBean().fail(); + AppletVo vo = baseMapper.getGifCardBySid(sid); + List list = LpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); +// List l = lpkStoreService.getAllStore().getData(); + List l = lpkStoreService.getSelectStore().getData(); +// LpkStoreQuery query=new LpkStoreQuery(); +// List l = lpkStoreService.getAllStoreByQuery(query).getData(); + + List goodsVos = new ArrayList<>(); + list.forEach(s -> { + LpkReserveOrderGoods goods = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getGoodsName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setPrice(s.getPrice()); + goodsVo.setUnitName(s.getUnitName()); + goodsVo.setRemarks(s.getRemarks()); + goodsVo.setPic(urlPrefix + s.getPicUrl()); + if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVos.add(goodsVo); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber()); + goodsVos.add(goodsVo); + } + }); + vo.setGoodsVos(goodsVos); + vo.setSelect(l); + LpkReserveOrderVo vo1 = lpkReserveOrderService.getStoreByCustomerSid(vo.getCustomerSid()).getData(); + if (null != vo1) { + LpkStoreDetailsVo vo2 = lpkStoreService.storeInit(vo1.getStoreSid()).getData(); + if (null != vo2) { + vo.setAddressName(vo2.getName()); + vo.setValue(vo2.getSid()); + } + } + List lpkReserveOrderCardVos = lpkReserveOrderService.selOrderByCardSid(sid).getData(); + for (LpkReserveOrderCardVo vo2 : lpkReserveOrderCardVos) { + List goods = lpkReserveOrderGoodsService.selByOrderSids(vo2.getSid()); + for (LpkReserveOrderGoods goods1 : goods) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); + if (StringUtils.isBlank(vo2.getGoods())) { + vo2.setGoods(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } else { + vo2.setGoods(vo2.getGoods() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } + } + } + vo.setOrderCardVoList(lpkReserveOrderCardVos); + return rb.success().setData(vo); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean generateCard(LpkGiftCardDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dto.getBagSid())) { + return rb.setMsg("请添加礼包"); + } + if (StringUtils.isBlank(dto.getNum())) { + return rb.setMsg("请输入生成卡片的数量"); + } + if (StringUtils.isBlank(dto.getCardArea())) { + return rb.setMsg("请输入区域号"); + } + int i = Integer.parseInt(dto.getNum()); + String cardArea = dto.getCardArea(); + LpkCardBuildRecord record = new LpkCardBuildRecord(); + record.setCountNumber(dto.getNum()); + record.setBuildDate(new DateTime()); + record.setCreateTime(new DateTime()); + record.setGiftbagSid(dto.getBagSid()); + String startNum = ""; + String endNum = ""; + record.setCardArea(cardArea); + lpkCardBuildRecordService.insert(record); + LpkCardBuildRecord cardBuildRecord = lpkCardBuildRecordService.fetchBySid(record.getSid()); + if (null != cardBuildRecord) { + for (int j = 0; j < i; j++) { + LpkGiftCard card = new LpkGiftCard(); + card.setRecordSid(record.getSid()); + card.setState("1"); + card.setCreateTime(new DateTime()); + card.setGiftbagSid(dto.getBagSid()); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); + card.setCode(uuid); + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 6 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + if (j == 0) { + startNum = card.getSerialNumber(); + } + if (j == i - 1) { + endNum = card.getSerialNumber(); + } + card.setRecordId(cardBuildRecord.getId()); + //生成二维码转base64 + genarateQRCodesToBase64(card.getCode(), card.getSid()); + baseMapper.insert(card); + } + } + cardBuildRecord.setStartNumber(startNum); + cardBuildRecord.setEndNumber(endNum); + lpkCardBuildRecordService.updateById(cardBuildRecord); + return rb.success(); + } + + public ResultBean> cardList(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkGiftCardListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + qw.eq("1", "1"); + String sNoStart = query.getNoStart(); + String sNoEnd = query.getNoEnd(); + qw.apply(StringUtils.isNotBlank(sNoStart), "serialNumber >=" + sNoStart). + apply(StringUtils.isNotBlank(sNoEnd), "serialNumber <=" + sNoEnd + ); + qw.orderByDesc("id"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.cardList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); +// p.getRecords().forEach(s->{ +// if(s.getIsEnable().equals("2")){ +// s.setState("已作废"); +// } +// +// }); + return rb.success().setData(p); + } + + /** + * 生成二维码 + * + * @return + * @throws IOException + */ + public String genarateQRCode(String uuid) throws IOException { + BufferedImage bufferedImage = QrCodeUtil.generate(uuid, 300, 300); + byte[] bytes = ImgUtil.toBytes(bufferedImage, "JPG"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + //创建一个文件,待会儿将二维码写入 + String path = fileUploadComponent.getUploadPath() + sdf.format(new Date()) + "/" + uuid.substring(uuid.length() - 6) + ".jpg"; + File localFile = new File(path); + if (!localFile.getParentFile().exists()) { //这里就判断了文件夹是否存在 + localFile.getParentFile().mkdirs(); //如果不存在就创建文件夹 + } + if (!localFile.exists()) + localFile.createNewFile(); + //将二维码写入 + FileOutputStream out = new FileOutputStream(path); + out.write(bytes); + out.close(); + return sdf.format(new Date()) + "/" + uuid.substring(uuid.length() - 6) + ".jpg"; + } + + /** + * 二维码转base64 + */ + public void genarateQRCodesToBase64(String uuid, String cardSid) { + LpkCardQrcodeDto dto = new LpkCardQrcodeDto(); + dto.setCardSid(cardSid); + dto.setCreateTime(new Date()); + BufferedImage bufferedImage = QrCodeUtil.generate(uuid, 300, 300); + byte[] bytes = ImgUtil.toBytes(bufferedImage, "JPG"); + Base64Encoder base64Encoder = new Base64Encoder(); + String a = base64Encoder.encode(bytes); + a = a.trim(); + a = a.replaceAll("\n", "").replaceAll("\r", ""); + dto.setFile(a); + lpkCardQrcodeService.save(dto); + System.out.println(a); + } + + public ResultBean> getCardByBank(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + LpkGiftCardListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + Integer end = 0; + Integer start = 0; + List serialNumbers = new ArrayList<>(); + if (StringUtils.isNotBlank(query.getNoStart())) { + start = Integer.valueOf(query.getNoStart()); + if (StringUtils.isNotBlank(query.getNoEnd())) { + end = Integer.valueOf(query.getNoEnd()); + if (start > end) { + for (int i = 0; end <= start; end++) { + serialNumbers.add(end); + } + } else { + for (int i = 0; start <= end; start++) { + serialNumbers.add(start); + } + } + qw.in("card.serialNumber", serialNumbers); + } + } + qw.eq("card.isEnable", "1"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selGiftCard(page, qw); + pagging.getRecords().forEach(s -> { +// s.setQrCode("https://supervise.yxtsoft.com/lpkapi?code=" + s.getCode()); + s.setQrCode(giftCardQrUrl + s.getCode()); + }); + PagerVo p = PagerUtil.pageToVo(pagging, null); +// System.out.println(a); + return rb.success().setData(p); + } + + // public static void main(String[] args) throws IOException { +// String encodedImage = "/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEsASwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK+AKAPv+ivgCigD7/or4AooA+/6K+AKKAPv+ivgCigD7/or4Ar3/wDZl/5mn/t0/wDa1AH0BRRRQAUV8/8A7TX/ADK3/b3/AO0a8AoA+/6K+AK9/wD2Zf8Amaf+3T/2tQB9AUUV8AUAff8ARXz/APsy/wDM0/8Abp/7Wr6AoAKK+AKKAPv+ivgCigD7/or4AooA+/6K+AKKAPv+ivgCigD7/or5/wD2Zf8Amaf+3T/2tX0BQAUUUUAFFFFABXwBX3/XwBQB6B8Mvhl/wsb+1P8Aib/2f9g8r/l283fv3/7a4xs9+td//wAMy/8AU3f+U3/7bR+zL/zNP/bp/wC1q+gKAPn/AP4Zl/6m7/ym/wD22j/hmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APbaP+GZf+pu/wDKb/8Aba+gKKAPgCvf/wBmX/maf+3T/wBrV4BXv/7Mv/M0/wDbp/7WoA+gKKKKAPP/AIm/DL/hY39l/wDE3/s/7B5v/Lt5u/fs/wBtcY2e/WvP/wDhmX/qbv8Aym//AG2voCigD4Ar3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvn/wD4Zl/6m7/ym/8A22voCigDz/4ZfDL/AIVz/an/ABN/7Q+3+V/y7eVs2b/9ts53+3SvQKKKAPgCvQPhl8Mv+Fjf2p/xN/7P+weV/wAu3m79+/8A21xjZ79a8/r3/wDZl/5mn/t0/wDa1AB/wzL/ANTd/wCU3/7bR/wzL/1N3/lN/wDttfQFFAHz/wD8My/9Td/5Tf8A7bR/wzL/ANTd/wCU3/7bX0BRQB8//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO219AUUAfP/APwzL/1N3/lN/wDtteAV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAFFFFABRRRQAV8AV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFFFFABRRRQB7/APsy/wDM0/8Abp/7Wr6Ar5//AGZf+Zp/7dP/AGtX0BQB8AV7/wDsy/8AM0/9un/tavAK9/8A2Zf+Zp/7dP8A2tQB9AV8AV9/18AUAFFFFABXv/7Mv/M0/wDbp/7WrwCvf/2Zf+Zp/wC3T/2tQB9AV8AV9/18AUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFfAFff9fAFABRRRQAV7/+zL/zNP8A26f+1q8Ar3/9mX/maf8At0/9rUAfQFfAFff9fAFAHv8A+zL/AMzT/wBun/tavoCvn/8AZl/5mn/t0/8Aa1fQFABRRRQAUUUUAFfAFff9fAFAHv8A+zL/AMzT/wBun/tavoCvn/8AZl/5mn/t0/8Aa1fQFAHwBRRRQAUUUUAe/wD7Mv8AzNP/AG6f+1q+gK+f/wBmX/maf+3T/wBrV9AUAfAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFfAFff9fAFABRXv8A+zL/AMzT/wBun/tavoCgD4Ar3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvgCvv+vgCgD3/9mX/maf8At0/9rV9AV8//ALMv/M0/9un/ALWr6AoA+AK9/wD2Zf8Amaf+3T/2tXgFe/8A7Mv/ADNP/bp/7WoA+gK+AK+/6+AKACiiigAr3/8AZl/5mn/t0/8Aa1eAV7/+zL/zNP8A26f+1qAPoCvgCvv+vgCgD3/9mX/maf8At0/9rV9AV8//ALMv/M0/9un/ALWr6AoAKKKKACiiigAr4Ar7/r4AoA9//Zl/5mn/ALdP/a1fQFfP/wCzL/zNP/bp/wC1q+gKAPn/AP4Zl/6m7/ym/wD22j/hmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA8/8Ahl8Mv+Fc/wBqf8Tf+0Pt/lf8u3lbNm//AG2znf7dK9AoooA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4Ar0D4ZfE3/hXP8Aan/Eo/tD7f5X/Lz5WzZv/wBhs53+3SvP6KAPf/8Ahpr/AKlH/wAqX/2qj/hmX/qbv/Kb/wDba8Ar7/oA8/8Ahl8Mv+Fc/wBqf8Tf+0Pt/lf8u3lbNm//AG2znf7dK9AoooA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+f/wDhmX/qbv8Aym//AG2voCigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APba9A+GXwy/4Vz/AGp/xN/7Q+3+V/y7eVs2b/8AbbOd/t0r0CigAr4Ar7/r4AoA9/8A2Zf+Zp/7dP8A2tX0BXz/APsy/wDM0/8Abp/7Wr6AoAKKKKACiiigAr4Ar7/r5/8A+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCivf/8AhmX/AKm7/wApv/22j/hmX/qbv/Kb/wDbaAPAKK9//wCGZf8Aqbv/ACm//baP+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrUf8ADMv/AFN3/lN/+216B8Mvhl/wrn+1P+Jv/aH2/wAr/l28rZs3/wC22c7/AG6UAegV8AV9/wBfAFAHv/7Mv/M0/wDbp/7Wr6Ar5A+GXxN/4Vz/AGp/xKP7Q+3+V/y8+Vs2b/8AYbOd/t0rv/8Ahpr/AKlH/wAqX/2qgDwCvf8A9mX/AJmn/t0/9rV4BXv/AOzL/wAzT/26f+1qAPoCvgCvv+vn/wD4Zl/6m7/ym/8A22gA/Zl/5mn/ALdP/a1fQFef/DL4Zf8ACuf7U/4m/wDaH2/yv+Xbytmzf/ttnO/26V6BQB8AUV7/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbQB4BRXv8A/wAMy/8AU3f+U3/7bR/wzL/1N3/lN/8AttAHgFFe/wD/AAzL/wBTd/5Tf/ttH/DMv/U3f+U3/wC20AeAUV7/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbQB4BRXv8A/wAMy/8AU3f+U3/7bR/wzL/1N3/lN/8AttAB+zL/AMzT/wBun/tavoCvP/hl8Mv+Fc/2p/xN/wC0Pt/lf8u3lbNm/wD22znf7dK9AoAKKKKACiiigAoor4AoA+/6K+f/ANmX/maf+3T/ANrV9AUAFFfAFFAH3/RXwBRQB9/0V8AUUAff9FfAFe//ALMv/M0/9un/ALWoA+gK+AK+/wCigD4Aor3/APaa/wCZW/7e/wD2jXgFABXv/wCzL/zNP/bp/wC1q8AooA+/6K+AK+/6ACiiigAor4AooA+/6K+AKKAPv+ivgCigD7/or4Ar3/8AZl/5mn/t0/8Aa1AH0BRRRQAUUUUAFFFFABRRRQAV8AV9/wBfAFAHv/7Mv/M0/wDbp/7Wr6Ar5/8A2Zf+Zp/7dP8A2tX0BQB8/wD/AAzL/wBTd/5Tf/ttcB8Tfhl/wrn+y/8Aib/2h9v83/l28rZs2f7bZzv9ulfX9fP/AO01/wAyt/29/wDtGgDwCiiigD0D4ZfDL/hY39qf8Tf+z/sHlf8ALt5u/fv/ANtcY2e/Wu//AOGZf+pu/wDKb/8AbaP2Zf8Amaf+3T/2tX0BQB8//wDDMv8A1N3/AJTf/ttegfDL4Zf8K5/tT/ib/wBofb/K/wCXbytmzf8A7bZzv9ulegUUAFfP/wDw01/1KP8A5Uv/ALVX0BXwBQB7/wD8nGf9S9/YX/b35/n/APfvbt8n3zu7Y5P+GZf+pu/8pv8A9to/Zl/5mn/t0/8Aa1fQFAHwBRRRQAV7/wD8NNf9Sj/5Uv8A7VXgFFAH1/8ADL4m/wDCxv7U/wCJR/Z/2Dyv+Xnzd+/f/sLjGz3616BXz/8Asy/8zT/26f8AtavoCgD4Ar0D4ZfDL/hY39qf8Tf+z/sHlf8ALt5u/fv/ANtcY2e/WvP69/8A2Zf+Zp/7dP8A2tQAf8My/wDU3f8AlN/+214BX3/XwBQAUUUUAFe//sy/8zT/ANun/tavAK9//Zl/5mn/ALdP/a1AH0BXz/8A8NNf9Sj/AOVL/wC1V9AV8AUAfX/wy+Jv/Cxv7U/4lH9n/YPK/wCXnzd+/f8A7C4xs9+tegV8/wD7Mv8AzNP/AG6f+1q+gKACiiigAooooAK+AK+/6+AKACivQPhl8Mv+Fjf2p/xN/wCz/sHlf8u3m79+/wD21xjZ79a7/wD4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrUf8ADMv/AFN3/lN/+216B8Mvhl/wrn+1P+Jv/aH2/wAr/l28rZs3/wC22c7/AG6UAegV8AV9/wBfP/8AwzL/ANTd/wCU3/7bQAfsy/8AM0/9un/tavoCvP8A4ZfDL/hXP9qf8Tf+0Pt/lf8ALt5WzZv/ANts53+3SvQKAPgCivf/APhmX/qbv/Kb/wDba4D4m/DL/hXP9l/8Tf8AtD7f5v8Ay7eVs2bP9ts53+3SgDz+vv8Ar4Ar3/8A4aa/6lH/AMqX/wBqoA+gKK+f/wDhpr/qUf8Aypf/AGqj/hpr/qUf/Kl/9qoA8Ar3/wDZl/5mn/t0/wDa1H/DMv8A1N3/AJTf/ttH/Juf/Uw/27/26eR5H/fzdu872xt754APoCvgCvf/APhpr/qUf/Kl/wDaq8AoAKKKKAPv+vn/APaa/wCZW/7e/wD2jR/w01/1KP8A5Uv/ALVXAfE34m/8LG/sv/iUf2f9g83/AJefN379n+wuMbPfrQB5/RRRQB7/APsy/wDM0/8Abp/7Wr6Ar5A+GXxN/wCFc/2p/wASj+0Pt/lf8vPlbNm//YbOd/t0rv8A/hpr/qUf/Kl/9qoA8Ar3/wDZl/5mn/t0/wDa1H/DMv8A1N3/AJTf/ttegfDL4Zf8K5/tT/ib/wBofb/K/wCXbytmzf8A7bZzv9ulAHoFfAFff9fP/wDwzL/1N3/lN/8AttAB+zL/AMzT/wBun/tavoCvP/hl8Mv+Fc/2p/xN/wC0Pt/lf8u3lbNm/wD22znf7dK9AoAKKKKACiiigAr4Ar7/AK+AKAPf/wBmX/maf+3T/wBrV9AV8/8A7Mv/ADNP/bp/7Wr6AoAKKK+f/wBpr/mVv+3v/wBo0AfQFFfAFFAH3/RXwBRQB9/18/8A7TX/ADK3/b3/AO0a8AooAKKKKACivf8A9mX/AJmn/t0/9rV9AUAFfP8A+01/zK3/AG9/+0a+gKKAPgCivv8Ar4AoAKK9/wD2Zf8Amaf+3T/2tX0BQB8AUV9/0UAfAFFff9fAFABRRRQB9/0V8AUUAff9FfAFFAH3/RXz/wDsy/8AM0/9un/tavoCgAooooAKKKKACvn/AP4Zl/6m7/ym/wD22voCigDz/wCGXwy/4Vz/AGp/xN/7Q+3+V/y7eVs2b/8AbbOd/t0r0CiigArz/wCJvwy/4WN/Zf8AxN/7P+web/y7ebv37P8AbXGNnv1r0CigD5//AOGZf+pu/wDKb/8AbaP+GZf+pu/8pv8A9tr6AooA+f8A/hmX/qbv/Kb/APbaP+GZf+pu/wDKb/8Aba+gKKAPn/8A4Zl/6m7/AMpv/wBto/4Zl/6m7/ym/wD22voCigD5/wD+GZf+pu/8pv8A9trwCvv+vgCgD0D4ZfE3/hXP9qf8Sj+0Pt/lf8vPlbNm/wD2Gznf7dK7/wD4aa/6lH/ypf8A2qvAKKAPv+iiigAr4Ar7/r4AoA9//Zl/5mn/ALdP/a1fQFfP/wCzL/zNP/bp/wC1q+gKACvP/ib8Tf8AhXP9l/8AEo/tD7f5v/Lz5WzZs/2Gznf7dK9Ar5//AGmv+ZW/7e//AGjQAf8ADTX/AFKP/lS/+1V4BRRQAUUUUAe//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO219AUUAfP/APwzL/1N3/lN/wDttH/DMv8A1N3/AJTf/ttfQFFAHn/wy+GX/Cuf7U/4m/8AaH2/yv8Al28rZs3/AO22c7/bpXoFFFABRRRQAUUUUAFfAFff9fAFABRXoHwy+GX/AAsb+1P+Jv8A2f8AYPK/5dvN379/+2uMbPfrXf8A/DMv/U3f+U3/AO20AeAUV7//AMMy/wDU3f8AlN/+20f8My/9Td/5Tf8A7bQB4BRXv/8AwzL/ANTd/wCU3/7bR/wzL/1N3/lN/wDttAHgFFe//wDDMv8A1N3/AJTf/ttH/DMv/U3f+U3/AO20AeAV7/8Asy/8zT/26f8AtavAK9//AGZf+Zp/7dP/AGtQB9AUUV8//wDDTX/Uo/8AlS/+1UAH7TX/ADK3/b3/AO0a8Ar0D4m/E3/hY39l/wDEo/s/7B5v/Lz5u/fs/wBhcY2e/WvP6APv+vn/APaa/wCZW/7e/wD2jR/w01/1KP8A5Uv/ALVR/wAnGf8AUvf2F/29+f5//fvbt8n3zu7Y5APAK+/6+f8A/hmX/qbv/Kb/APba+gKACiiigAr5/wD2mv8AmVv+3v8A9o19AV8//tNf8yt/29/+0aAPAKKKKACivQPhl8Mv+Fjf2p/xN/7P+weV/wAu3m79+/8A21xjZ79a7/8A4Zl/6m7/AMpv/wBtoA8Ar3/9mX/maf8At0/9rV4BXoHwy+Jv/Cuf7U/4lH9ofb/K/wCXnytmzf8A7DZzv9ulAH1/RXz/AP8ADTX/AFKP/lS/+1V9AUAFFFFABRRRQAUUUUAFfAFff9fAFAHv/wCzL/zNP/bp/wC1q+gK+f8A9mX/AJmn/t0/9rV9AUAFFfAFFAH3/RXwBRQB9/0V8/8A7Mv/ADNP/bp/7Wr6AoA+AK9//Zl/5mn/ALdP/a1eAV7/APsy/wDM0/8Abp/7WoA+gK+AK+/6+AKACiiigAr3/wDZl/5mn/t0/wDa1fQFfP8A+01/zK3/AG9/+0aAPoCivgCvv+gAooooAK+f/wBpr/mVv+3v/wBo19AV8/8A7TX/ADK3/b3/AO0aAPAKKK+/6APn/wDZl/5mn/t0/wDa1fQFFFAHwBRX3/Xz/wDtNf8AMrf9vf8A7RoA8Ar7/r4Ar7/oAKKKKACiiigAooooAK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4AooooAKKKKAPf8A9mX/AJmn/t0/9rV9AV8//sy/8zT/ANun/tavoCgD4Ar3/wDZl/5mn/t0/wDa1eAV7/8Asy/8zT/26f8AtagD6Ar4Ar7/AK+AKAPQPhl8Mv8AhY39qf8AE3/s/wCweV/y7ebv37/9tcY2e/Wu/wD+GZf+pu/8pv8A9to/Zl/5mn/t0/8Aa1fQFAHz/wD8NNf9Sj/5Uv8A7VXAfE34m/8ACxv7L/4lH9n/AGDzf+Xnzd+/Z/sLjGz3615/RQAV7/8A8NNf9Sj/AOVL/wC1V4BRQB7/AP8ADTX/AFKP/lS/+1Uf8NNf9Sj/AOVL/wC1V4BRQB7/AP8ADTX/AFKP/lS/+1VwHxN+Jv8Awsb+y/8AiUf2f9g83/l583fv2f7C4xs9+tef0UAFff8AXwBX3/QAUUUUAfP/APw01/1KP/lS/wDtVH/Jxn/Uvf2F/wBvfn+f/wB+9u3yffO7tjnwCvf/ANmX/maf+3T/ANrUAH/DMv8A1N3/AJTf/ttfQFFFABRRRQAUUUUAFFFFABXwBX3/AF8AUAe//sy/8zT/ANun/tavoCvn/wDZl/5mn/t0/wDa1fQFAHwBRXv/APwzL/1N3/lN/wDttH/DMv8A1N3/AJTf/ttAHgFFe/8A/DMv/U3f+U3/AO20f8My/wDU3f8AlN/+20AH7Mv/ADNP/bp/7Wr6Arz/AOGXwy/4Vz/an/E3/tD7f5X/AC7eVs2b/wDbbOd/t0r0CgD4Ar3/APZl/wCZp/7dP/a1eAV7/wDsy/8AM0/9un/tagD6Ar4Ar7/r5/8A+GZf+pu/8pv/ANtoA8Aor3//AIZl/wCpu/8AKb/9to/4Zl/6m7/ym/8A22gDwCvf/wBmX/maf+3T/wBrV4BXoHwy+Jv/AArn+1P+JR/aH2/yv+Xnytmzf/sNnO/26UAfX9fAFe//APDTX/Uo/wDlS/8AtVeAUAe//sy/8zT/ANun/tavoCvkD4ZfE3/hXP8Aan/Eo/tD7f5X/Lz5WzZv/wBhs53+3Su//wCGmv8AqUf/ACpf/aqAPAKKKKACiiigAor0D4ZfDL/hY39qf8Tf+z/sHlf8u3m79+//AG1xjZ79a7//AIZl/wCpu/8AKb/9toA+gKKK8/8Aib8Tf+Fc/wBl/wDEo/tD7f5v/Lz5WzZs/wBhs53+3SgD0Civn/8A4aa/6lH/AMqX/wBqr6AoAKKKKACiiigAooooAK+AK+/6+AKAPf8A9mX/AJmn/t0/9rV9AV8AUUAff9FfAFFAH3/RXwBRQB9/0V8AUUAFe/8A7Mv/ADNP/bp/7WrwCvf/ANmX/maf+3T/ANrUAfQFFFfAFAH3/RXwBRQAUV9/0UAfAFFff9fAFABRXv8A+zL/AMzT/wBun/tavoCgD4Aor7/ooA+AKK+/6KAPn/8AZl/5mn/t0/8Aa1fQFFFABXz/APtNf8yt/wBvf/tGvAK9/wD2Zf8Amaf+3T/2tQB4BX3/AEUUAFFFFABRRRQAUUUUAFfP/wDwzL/1N3/lN/8AttfQFFAHz/8A8My/9Td/5Tf/ALbR/wAMy/8AU3f+U3/7bX0BRQB8/wD/AAzL/wBTd/5Tf/ttH/DMv/U3f+U3/wC219AUUAfP/wDwzL/1N3/lN/8AttH/AAzL/wBTd/5Tf/ttfQFFAHz/AP8ADMv/AFN3/lN/+20f8My/9Td/5Tf/ALbX0BRQB8//APDMv/U3f+U3/wC216B8Mvhl/wAK5/tT/ib/ANofb/K/5dvK2bN/+22c7/bpXoFFABXz/wD8My/9Td/5Tf8A7bX0BRQB8/8A/DMv/U3f+U3/AO20f8My/wDU3f8AlN/+219AUUAFFFFABXz/AP8ADMv/AFN3/lN/+219AUUAef8Awy+GX/Cuf7U/4m/9ofb/ACv+Xbytmzf/ALbZzv8AbpXoFFFABRRRQAUUUUAFFFFAHz//AMMy/wDU3f8AlN/+216B8Mvhl/wrn+1P+Jv/AGh9v8r/AJdvK2bN/wDttnO/26V6BRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/Z"; // 这里需要替换成真正的 Base64 编码图片数据 +// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); +// byte[] imageBytes = Base64.getDecoder().decode(encodedImage); +// String path = "D:/project/yxtt/yyth/yxt-yyth-biz/target/classes/static/upload/" + sdf.format(new Date()) + "/" + 111 + ".jpg"; +// +// File outputFile = new File(path); // 输出文件名及路径 +// +// try (OutputStream os = new FileOutputStream(outputFile)) { +// os.write(imageBytes); +// os.close(); +// System.out.println("已保存文件到:" + outputFile.getAbsolutePath()); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } + public List selAllByRecordSid(String sid) { + return baseMapper.selAllByRecordSid(sid); + } + + public ResultBean> recordDetails(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkGiftCardListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + if (StringUtils.isNotBlank(query.getNumber())) { + qw.like("serialNumber", query.getNumber()); + } + if (StringUtils.isNotBlank(query.getSid())) { + qw.eq("recordSid", query.getSid()); + } + qw.orderByDesc("serialNumber"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.recordDetails(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + p.getRecords().forEach(s -> { + if (s.getIsEnable().equals("2")) { + s.setState("已作废"); + } + + }); + return rb.success().setData(p); + } + + public ResultBean changState(String cardSid, String state) { + ResultBean rb = new ResultBean().fail(); + LpkGiftCard card = baseMapper.selectOne(new QueryWrapper().eq("sid", cardSid)); + card.setState(state); + card.setIsReservation("0"); + baseMapper.updateById(card); + return rb.success().setData("成功"); + } + + public void exportExcel(LpkGiftCardListQuery query) { + +// String finUrl = "https://supervise.yxtsoft.com/lpkapi?code="; + String finUrl = giftCardQrUrl; + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + if (StringUtils.isNotBlank(query.getNumber())) { + qw.like("serialNumber", query.getNumber()); + } + qw.eq("recordSid", query.getSid()); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcel(qw); + if (!exportList.isEmpty()) { + for (LpkGiftCardExport lpkGiftCardExport : exportList) { + if (StringUtils.isNotBlank(lpkGiftCardExport.getCode())) { + lpkGiftCardExport.setPic(finUrl + lpkGiftCardExport.getCode()); + lpkGiftCardExport.setCode1(lpkGiftCardExport.getCode().substring(0, 10)); + lpkGiftCardExport.setCode2(lpkGiftCardExport.getCode().substring(lpkGiftCardExport.getCode().length() - 10)); + } + } + } + //定义导出的excel名字 + String excelName = "1"; + String fileNameURL = "1"; +// try { +// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// fileNameURL = URLEncoder.encode(excelName, "UTF-8"); +// } catch (UnsupportedEncodingException e) { +// e.printStackTrace(); +// } + //导出提货卡信息列表 + ExportExcelUtils.export(fileNameURL, exportList, LpkGiftCardExport.class, response); + + } + + public ResultBean cardGrant(CardGrantDto dto) { + ResultBean rb = new ResultBean().fail(); + int start = Integer.parseInt(dto.getStart()); + int end = Integer.parseInt(dto.getEnd()); + List serialNumbers = new ArrayList<>(); + if (start > end) { + for (int i = 0; end <= start; end++) { + serialNumbers.add(end); + } + Integer integer = baseMapper.selectCount(new QueryWrapper().in("serialNumber", serialNumbers).eq("state", "2")); + if (integer != 0) { + return rb.setMsg("序列号错误"); + } + } else { + for (int i = 0; start <= end; start++) { + serialNumbers.add(start); + } + Integer integer = baseMapper.selectCount(new QueryWrapper().in("serialNumber", serialNumbers).eq("state", "2")); + if (integer != 0) { + return rb.setMsg("序列号错误"); + } + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + LpkCardGrantRecordDto d = new LpkCardGrantRecordDto(); + d.setBuildDate(new Date()); + d.setEndNumber(dto.getEnd()); + d.setStartNumber(dto.getStart()); + d.setCountNumber(String.valueOf(serialNumbers.size())); + String r = lpkCardGrantRecordService.save(d).getMsg(); + baseMapper.updateState(serialNumbers, "2", dto.getBankSid(), r); + return rb.success().setData("成功"); + } + + public ResultBean cardGrantCount(String recordSid) { + ResultBean rb = new ResultBean().fail(); + Integer i = baseMapper.cardGrantCount(recordSid); + return rb.success().setData(i); + } + + public ResultBean isSaturAndSun(String cardSid) { + ResultBean rb = new ResultBean().fail(); + AppletVo appletVo = baseMapper.getGifCardBySid(cardSid); + Date date = new Date(); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowDate = sdf1.format(date); +// AppletVo vo = getGifCardBySid(cardSid).getData(); +// LocalDate now = DateUtil.parse(sdf1.format(DateUtil.parse(appletVo.getStart()))).toSqlDate().toLocalDate(); + LocalDate now = DateUtil.parse(nowDate).toSqlDate().toLocalDate(); + LocalDate endD = DateUtil.parse(appletVo.getDateEnd()).toSqlDate().toLocalDate(); + + + List weekMap = new ArrayList<>(); + // 第一个星期六 +// LocalDate saturday = now.with(firstInMonth(DayOfWeek.SATURDAY)); + LocalDate saturday = now.with(DayOfWeek.SATURDAY); + do { + if (CollectionUtils.isEmpty(weekMap)) { + weekMap.add(saturday.toString()); + } else { + weekMap.add(saturday.toString()); + } + // 迭代一个星期 + saturday = saturday.plus(Period.ofDays(7)); + } while (saturday.compareTo(endD) < 1); + // 第一个星期天 + LocalDate sunday = now.with(DayOfWeek.SUNDAY); + do { + if (CollectionUtils.isEmpty(weekMap)) { + weekMap.add(saturday.toString()); + } else { + weekMap.add(sunday.toString()); + } + // 迭代一个星期 + sunday = sunday.plus(Period.ofDays(7)); + } while (sunday.compareTo(endD) < 1); + String nextYear = DateUtil.offsetMonth(new Date(), 12).toString(); + int y = DateUtil.year(DateUtil.parse(nextYear)); + weekMap.add(String.valueOf(y) + "-01-01"); + Object[] array = weekMap.stream().sorted().toArray(); + return rb.success().setData(array); + } + + + @Transactional(rollbackFor = Exception.class) + public String getCardByExcel(LpkGiftCardDto dto) { + int i = Integer.parseInt(dto.getNum()); + String cardArea = dto.getCardArea(); + LpkCardBuildRecord record = new LpkCardBuildRecord(); + record.setCountNumber(dto.getNum()); + record.setBuildDate(new DateTime()); + record.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getBagSid())) { + record.setGiftbagSid(dto.getBagSid()); + } + String startNum = ""; + String endNum = ""; + record.setCardArea(cardArea); + lpkCardBuildRecordService.insert(record); + LpkCardBuildRecord cardBuildRecord = lpkCardBuildRecordService.fetchBySid(record.getSid()); + String sid = ""; + if (null != cardBuildRecord) { + LpkGiftCard card = new LpkGiftCard(); + sid = card.getSid(); + card.setRecordSid(record.getSid()); + card.setState("1"); + card.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getBagSid())) { + card.setGiftbagSid(dto.getBagSid()); + } + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); + card.setCode(uuid); + String maxSerNum = baseMapper.selctMaxSerNum(cardArea); + if (StringUtils.isBlank(maxSerNum)) { + card.setSerialNumber(cardArea + "000001"); + } else { + String substringSer = maxSerNum.substring(cardArea.length()); + int i1 = Integer.parseInt(substringSer); + int finNum = i1 + 1; + int length = String.valueOf(finNum).length(); + int len = 6 - length; + String num = String.valueOf(finNum); + for (int a = 0; a < len; a++) { + num = "0" + num; + } + card.setSerialNumber(cardArea + num); + } + startNum = card.getSerialNumber(); + endNum = card.getSerialNumber(); + card.setRecordId(cardBuildRecord.getId()); + //生成二维码转base64 + genarateQRCodesToBase64(card.getCode(), card.getSid()); + baseMapper.insert(card); + } + cardBuildRecord.setStartNumber(startNum); + cardBuildRecord.setEndNumber(endNum); + lpkCardBuildRecordService.updateById(cardBuildRecord); + return sid; + } + + + public ResultBean getExcelInfo(String startDate, String endDate, MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException { + ResultBean rb = ResultBean.fireFail(); + String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录 + File tempFile = new File(temp); + if (!tempFile.exists()) { + tempFile.mkdirs(); + } + String fileName = file.getOriginalFilename(); + if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { + return rb.fail().setMsg("上传文件不正确"); + } + int[] resultCell = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; + boolean isExcel2003 = true; + if (fileName.matches("^.+\\.(?i)(xlsx)$")) { + isExcel2003 = false; + } + InputStream is = file.getInputStream(); + Workbook wb = null; + if (isExcel2003) { + wb = new HSSFWorkbook(is); + } else { + wb = new XSSFWorkbook(is); + } + Sheet sheet = wb.getSheetAt(0); + ReturnMsg returnMsg = getSheetVal(sheet, resultCell); + Set setMsg = returnMsg.getSetMsg(); + StringBuffer sbMsg = new StringBuffer(); + if (null != setMsg && setMsg.size() > 0) { + for (String s : setMsg) { + sbMsg.append(s).append(","); + } + sbMsg.delete(sbMsg.length() - 1, sbMsg.length()); + if (StringUtils.isNotBlank(sbMsg.toString())) { + return rb.setMsg(sbMsg.toString()); + } + } + List importReturn = returnMsg.getInfos(); + importReturn.removeAll(Collections.singleton(null)); + if (!importReturn.isEmpty()) { + for (ReturnExcelInfo info : importReturn) { + //生成礼包 + LpkGiftCardDto dtoCard = new LpkGiftCardDto(); + dtoCard.setCardArea("88"); + dtoCard.setNum("1"); + String cardSid = getCardByExcel(dtoCard); + LpkGiftCard lpkGiftCard = fetchBySid(cardSid); + String cardNo = ""; + if (null != lpkGiftCard) { + if (StringUtils.isNotBlank(lpkGiftCard.getSerialNumber())) { + cardNo = lpkGiftCard.getSerialNumber(); + } + } + LpkGiftBagDto dtoBag = new LpkGiftBagDto(); + dtoBag.setDateStart(startDate); + dtoBag.setDateEnd(endDate); + List infoDetails = info.getInfoDetails(); + List goods = new ArrayList<>(); + if (!infoDetails.isEmpty()) { + for (ReturnExcelInfoDetails detail : infoDetails) { + GiftBagGoods giftBagGoods = new GiftBagGoods(); + if (StringUtils.isNotBlank(detail.getGoodNum()) && StringUtils.isNotBlank(detail.getGoodName())) { + LpkGoods lpkGoods = lpkGoodsService.getGoodsByName(detail.getGoodName()); + if (null != lpkGoods) { + giftBagGoods.setName(lpkGoods.getName()); + giftBagGoods.setGoodsSid(lpkGoods.getSid()); + if (detail.getGoodNum().contains(".")) { + String num = detail.getGoodNum().substring(0, detail.getGoodNum().indexOf(".")); + giftBagGoods.setGoodsNumber(num); + } else { + giftBagGoods.setGoodsNumber(detail.getGoodNum()); + } + goods.add(giftBagGoods); + } + } + } + } + dtoBag.setGoods(goods); + dtoBag.setName("家庭菜窖" + cardNo); + String bagSid = lpkGiftBagService.saveGiftBag(dtoBag).getData(); + if (StringUtils.isNotBlank(bagSid)) { + lpkGiftCard.setGiftbagSid(bagSid); + baseMapper.updateById(lpkGiftCard); + LpkCardBuildRecord cardBuildRecord = lpkCardBuildRecordService.fetchBySid(lpkGiftCard.getRecordSid()); + cardBuildRecord.setGiftbagSid(bagSid); + lpkCardBuildRecordService.updateById(cardBuildRecord); + + } + } + } + return rb.success().setMsg("导入成功"); + } + + private ReturnMsg getSheetVal(Sheet sheet, int[] resultCell) { + ReturnMsg returnMsg = new ReturnMsg(); + List voList = new ArrayList<>(); + int[] resultIndex = new int[resultCell.length]; + Set setMsg = new HashSet<>(); + for (int r = 3; r <= sheet.getLastRowNum(); r++) { + ReturnExcelInfo info = new ReturnExcelInfo(); + List importVoList = new ArrayList<>(); + Row row = sheet.getRow(r); + if (row == null) { + continue; + } + String name = new String(); + String phone = new String(); + for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) { + String trim = new String(); + try { + trim = getCellVal(row.getCell(i)).toString().trim(); + if (StringUtils.isBlank(trim)) { + NullPointerException nullPointerException = new NullPointerException(); + } + String temp = getCellVal(row.getCell(i)).toString().trim(); + for (int j = 0; j < resultCell.length; j++) { + if (i == resultCell[j]) { + switch (i) { + case 4: + if (StringUtils.isNotBlank(temp)) { + name = temp; + } + break; + case 5: + if (StringUtils.isNotBlank(temp)) { + phone = temp; + } + break; + case 6: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo6 = new ReturnExcelInfoDetails(); + importVo6.setGoodName("北方白菜"); + importVo6.setPhone(phone); + importVo6.setName(name); + importVo6.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo6); + } + break; + case 7: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo7 = new ReturnExcelInfoDetails(); + importVo7.setGoodNum(temp); + importVo7.setGoodName("张北土豆"); + importVo7.setPhone(phone); + importVo7.setName(name); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo7); + } + break; + case 8: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo8 = new ReturnExcelInfoDetails(); + importVo8.setGoodName("太行山丘陵红薯"); + importVo8.setPhone(phone); + importVo8.setName(name); + importVo8.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo8); + } + break; + case 9: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo9 = new ReturnExcelInfoDetails(); + importVo9.setPhone(phone); + importVo9.setName(name); + importVo9.setGoodName("纯红薯粉条"); + importVo9.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo9); + } + break; + case 10: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo10 = new ReturnExcelInfoDetails(); + importVo10.setPhone(phone); + importVo10.setName(name); + importVo10.setGoodName("沙窝萝卜"); + importVo10.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo10); + } + break; + case 11: + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails importVo11 = new ReturnExcelInfoDetails(); + importVo11.setPhone(phone); + importVo11.setName(name); + importVo11.setGoodName("泥坑藕"); + importVo11.setGoodNum(temp); + if (!isNum(temp)) { + setMsg.add("菜品数量必须为整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("菜品数量必须为整数"); + } + } + } + importVoList.add(importVo11); + } + break; + default: + break; + } + } else { + continue; + } + } + } catch (Exception e) { + if (StringUtils.isBlank(trim)) { + String word = new String(); + switch (i) { + case 4: + word = "客户姓名"; + break; + case 5: + word = "客户电话"; + break; + default: + break; + } + continue; + } + } + } + if (importVoList != null && importVoList.size() > 0) { + info.setInfoDetails(importVoList); + voList.add(info); + for (ReturnExcelInfoDetails returnExcelInfoDetails : importVoList) { + if (StringUtils.isBlank(returnExcelInfoDetails.getName()) && StringUtils.isNotBlank(returnExcelInfoDetails.getGoodNum())) { + setMsg.add("客户姓名不能为空"); + } + if (StringUtils.isBlank(returnExcelInfoDetails.getPhone()) && StringUtils.isNotBlank(returnExcelInfoDetails.getGoodNum())) { + setMsg.add("客户电话不能为空"); + } + } + } + } + returnMsg.setSetMsg(setMsg); + returnMsg.setInfos(voList); + return returnMsg; + } + + public Object getCellVal(Cell cell) { + Object obj = null; + if (cell != null) { + switch (cell.getCellTypeEnum()) { + case BOOLEAN: + obj = cell.getBooleanCellValue(); + break; + case ERROR: + obj = cell.getErrorCellValue(); + break; + case NUMERIC: + obj = cell.getNumericCellValue(); + break; + case STRING: + obj = cell.getStringCellValue(); + break; + default: + break; + } + } + return obj; + } + + public boolean isNum(String s) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(s)) { + if (s.contains(".")) { + return isNumeric(s); + } else { + return isNumericFirst(s); + } + } + return false; + } + + public boolean isNumeric(String s) { + String substring = s.substring(0, s.lastIndexOf(".")); + String substringLast = s.substring(s.lastIndexOf(".") + 1, s.length()); + if (substring != null && !"".equals(substring.trim()) || substringLast != null && !"".equals(substringLast.trim())) { + boolean matches = substring.matches("^[0-9]*$"); + boolean b = substringLast.matches("^[0-9]*$"); + if (matches && b) { + return true; + } else { + return false; + } + } else + return false; + } + + public boolean isNumericFirst(String str) { + Pattern pattern = Pattern.compile("[0-9]*"); + System.out.println(str); + Matcher isNum = pattern.matcher(str); + if (!isNum.matches()) { + return false; + } + return true; + } + + + public ResultBean getExcelInfo2(String startDate, String endDate, MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException { + ResultBean rb = ResultBean.fireFail(); + String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录 + File tempFile = new File(temp); + if (!tempFile.exists()) { + tempFile.mkdirs(); + } + String fileName = file.getOriginalFilename(); + if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { + return rb.fail().setMsg("上传文件不正确"); + } + boolean isExcel2003 = true; + if (fileName.matches("^.+\\.(?i)(xlsx)$")) { + isExcel2003 = false; + } + InputStream is = file.getInputStream(); + Workbook wb = null; + if (isExcel2003) { + wb = new HSSFWorkbook(is); + } else { + wb = new XSSFWorkbook(is); + } + Sheet sheet = wb.getSheetAt(0); + ReturnMsg returnMsg = getSheetVal2(sheet); + Set setMsg = returnMsg.getSetMsg(); + StringBuffer sbMsg = new StringBuffer(); + if (null != setMsg && setMsg.size() > 0) { + for (String s : setMsg) { + sbMsg.append(s).append(","); + } + sbMsg.delete(sbMsg.length() - 1, sbMsg.length()); + if (StringUtils.isNotBlank(sbMsg.toString())) { + return rb.setMsg(sbMsg.toString()); + } + } + List importReturn = returnMsg.getInfos(); + importReturn.removeAll(Collections.singleton(null)); + String startNo = ""; + String endNo = ""; + //生成卡包 + if (!importReturn.isEmpty()) { + for (int i = 0; i < importReturn.size(); i++) { + ReturnExcelInfo info = importReturn.get(i); + LpkGiftCardDto dtoCard = new LpkGiftCardDto(); + dtoCard.setCardArea("70"); + dtoCard.setNum("1"); + //生成卡片 + String cardSid = getCardByExcel(dtoCard); + LpkGiftCard lpkGiftCard = fetchBySid(cardSid); + String cardNo = ""; + if (null != lpkGiftCard) { + if (StringUtils.isNotBlank(lpkGiftCard.getSerialNumber())) { + cardNo = lpkGiftCard.getSerialNumber(); + if (i == 0) { + startNo = cardNo; + } + if (i == importReturn.size() - 1) { + endNo = cardNo; + } + } + } + LpkGiftBagDto dtoBag = new LpkGiftBagDto(); + dtoBag.setDateStart(startDate); + dtoBag.setDateEnd(endDate); + List infoDetails = info.getInfoDetails(); + List goods = new ArrayList<>(); + if (!infoDetails.isEmpty()) { + for (ReturnExcelInfoDetails detail : infoDetails) { + GiftBagGoods giftBagGoods = new GiftBagGoods(); + if (StringUtils.isNotBlank(detail.getGoodNum()) && StringUtils.isNotBlank(detail.getGoodName())) { + LpkGoods lpkGoods = lpkGoodsService.getGoodsByName(detail.getGoodName()); + if (null != lpkGoods) { + giftBagGoods.setName(lpkGoods.getName()); + giftBagGoods.setGoodsSid(lpkGoods.getSid()); + if (detail.getGoodNum().contains(".")) { + String num = detail.getGoodNum().substring(0, detail.getGoodNum().indexOf(".")); + giftBagGoods.setGoodsNumber(num); + } else { + giftBagGoods.setGoodsNumber(detail.getGoodNum()); + } + goods.add(giftBagGoods); + } + } + } + } + dtoBag.setGoods(goods); + dtoBag.setName("家庭菜窖" + cardNo); + String bagSid = lpkGiftBagService.saveGiftBag(dtoBag).getData(); + if (StringUtils.isNotBlank(bagSid)) { + lpkGiftCard.setGiftbagSid(bagSid); + baseMapper.updateById(lpkGiftCard); + LpkCardBuildRecord cardBuildRecord = lpkCardBuildRecordService.fetchBySid(lpkGiftCard.getRecordSid()); + cardBuildRecord.setGiftbagSid(bagSid); + lpkCardBuildRecordService.updateById(cardBuildRecord); + } + } + return rb.success().setMsg("本次导入:" + importReturn.size() + "条数据,生成卡券共计" + importReturn.size() + "张;卡券序列号:" + startNo + "-" + endNo); + } + return rb.success().setMsg("导入成功"); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean getExcelInfo3(String startDate, String endDate, MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException { + ResultBean rb = ResultBean.fireFail(); + try { + String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录 + File tempFile = new File(temp); + if (!tempFile.exists()) { + tempFile.mkdirs(); + } + String fileName = file.getOriginalFilename(); + if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { + return rb.fail().setMsg("上传文件不正确"); + } + boolean isExcel2003 = true; + if (fileName.matches("^.+\\.(?i)(xlsx)$")) { + isExcel2003 = false; + } + InputStream is = file.getInputStream(); + Workbook wb = null; + if (isExcel2003) { + wb = new HSSFWorkbook(is); + } else { + wb = new XSSFWorkbook(is); + } + Sheet sheet = wb.getSheetAt(0); + ReturnMsg returnMsg = getSheetVal2(sheet); + Set setMsg = returnMsg.getSetMsg(); + StringBuffer sbMsg = new StringBuffer(); + if (null != setMsg && setMsg.size() > 0) { + for (String s : setMsg) { + sbMsg.append(s).append(","); + } + sbMsg.delete(sbMsg.length() - 1, sbMsg.length()); + if (StringUtils.isNotBlank(sbMsg.toString())) { + return rb.setMsg(sbMsg.toString()); + } + } + List importReturn = returnMsg.getInfos(); + importReturn.removeAll(Collections.singleton(null)); + String startNo = ""; + String endNo = ""; + List cards = new ArrayList<>(); //卡片 + List bagGoods = new ArrayList<>(); //卡片礼包关联 + List bags = new ArrayList<>(); //礼包 + List codes = new ArrayList<>(); //二维码 + List records = new ArrayList<>(); //二维码 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + int cardSerNum = 0; + //生成卡包 + if (!importReturn.isEmpty()) { + for (int i = 0; i < importReturn.size(); i++) { + ReturnExcelInfo info = importReturn.get(i); + LpkGiftCard card = new LpkGiftCard(); + LpkGiftBag bag = new LpkGiftBag(); + LpkCardQrcode code = new LpkCardQrcode(); + LpkCardBuildRecord record = new LpkCardBuildRecord(); + String serNum = baseMapper.selctMaxSerNumForExport(); + card.setCreateTime(new DateTime());//卡片生成时间 + bag.setCreateTime(new DateTime());//礼包生成时间 + code.setCreateTime(new DateTime());//二维码生成时间 + record.setCreateTime(new DateTime());//礼包记录生成时间 + record.setBuildDate(new DateTime());//礼包记录生成时间 + record.setGiftbagSid(bag.getSid()); + record.setCountNumber("1"); + if (StringUtils.isNotBlank(serNum)) { + int serNumInt = Integer.parseInt(serNum); + if (i == 0) { + cardSerNum = serNumInt + 1; + } + } else { + if (cardSerNum == 0) { + cardSerNum = 70000001; + } + } + card.setSerialNumber(String.valueOf(cardSerNum)); + record.setStartNumber(String.valueOf(cardSerNum)); + record.setEndNumber(String.valueOf(cardSerNum)); + bag.setName("家庭菜窖" + cardSerNum); + card.setGiftbagSid(bag.getSid()); //卡片赋值关联礼包sid + card.setRecordSid(record.getSid()); //卡片赋值关联生成卡记录sid + card.setState("1"); + String uuid = UniqueIdGenerator.generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + card.setCodeKey(String.valueOf(randomNumber)); //6位密码 + card.setCode(uuid); //20位提货码 + //生成二维码转base64 + String s = genarateQRCodesToBase64ForExport(card.getCode()); + code.setCardSid(card.getSid()); + code.setCreateTime(new DateTime()); + code.setFile(s); + //------礼包信息赋值------------- + try { + bag.setDateStart(sdf.parse(startDate)); + bag.setDateEnd(sdf.parse(endDate)); + } catch (ParseException e) { + e.printStackTrace(); + } + cards.add(card); + bags.add(bag); + codes.add(code); + records.add(record); + List infoDetails = info.getInfoDetails(); + if (!infoDetails.isEmpty()) { + for (ReturnExcelInfoDetails detail : infoDetails) { + LpkGiftBagGoods giftBagGoods = new LpkGiftBagGoods(); + giftBagGoods.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(detail.getGoodNum()) && StringUtils.isNotBlank(detail.getGoodName())) { + LpkGoods lpkGoods = lpkGoodsService.getGoodsByName(detail.getGoodName()); + if (null != lpkGoods) { + giftBagGoods.setGoodsSid(lpkGoods.getSid()); + if (detail.getGoodNum().contains(".")) { + String num = detail.getGoodNum().substring(0, detail.getGoodNum().indexOf(".")); + giftBagGoods.setGoodsNumber(num); + } else { + giftBagGoods.setGoodsNumber(detail.getGoodNum()); + } + } + giftBagGoods.setGiftbagSid(bag.getSid()); + bagGoods.add(giftBagGoods); + } + } + } + if (i == 0) { + startNo = String.valueOf(cardSerNum); + } + if (i == importReturn.size() - 1) { + endNo = String.valueOf(cardSerNum); + } + cardSerNum = cardSerNum + 1; + } + //批量插入数据 + //卡片 + if (!cards.isEmpty()) { + int i = baseMapper.saveCards(cards); + } + //卡记录 + if (!records.isEmpty()) { + int i = lpkCardBuildRecordService.saveRecords(records); + } + //二维码 + if (!codes.isEmpty()) { + int i = lpkCardQrcodeService.saveCodes(codes); + } + //礼包 + if (!bags.isEmpty()) { + int i = lpkGiftBagService.saveBags(bags); + } + //礼包商品 + if (!bagGoods.isEmpty()) { + int i = LpkGiftBagGoodsService.saveBagGoods(bagGoods); + } + return rb.success().setMsg("本次导入:" + importReturn.size() + "条数据,生成卡券共计" + importReturn.size() + "张;卡券序列号:" + startNo + "-" + endNo); + } + } catch (Exception e) { + e.printStackTrace(); + } + return rb.success().setMsg("导入成功"); + } + + /** + * 二维码转base64 + */ + public String genarateQRCodesToBase64ForExport(String uuid) { + BufferedImage bufferedImage = QrCodeUtil.generate(uuid, 300, 300); + byte[] bytes = ImgUtil.toBytes(bufferedImage, "JPG"); + Base64Encoder base64Encoder = new Base64Encoder(); + String a = base64Encoder.encode(bytes); + a = a.trim(); + a = a.replaceAll("\n", "").replaceAll("\r", ""); + return a; + } + + /** + * 校验导入结果 + * + * @param sheet + * @return + */ + private ReturnMsg getSheetVal2(Sheet sheet) { + ReturnMsg returnMsg = new ReturnMsg(); + List voList = new ArrayList<>(); + Set setMsg = new HashSet<>(); + Row row1 = sheet.getRow(0); + Map mapGoods = new HashMap<>(); + for (int i = 0; i < row1.getPhysicalNumberOfCells(); i++) { + String trim = new String(); + try { + trim = getCellVal(row1.getCell(i)).toString().trim(); + String temp = getCellVal(row1.getCell(i)).toString().trim(); + if (StringUtils.isNotBlank(temp)) { + LpkGoods lpkGoods = lpkGoodsService.getGoodsByName(temp); + if (null == lpkGoods) { + setMsg.add("导入模板的菜品名称与系统中不匹配"); + returnMsg.setSetMsg(setMsg); + returnMsg.setInfos(new ArrayList<>()); + return returnMsg; + } + mapGoods.put(i, temp); + } else { + setMsg.add("导入模板的菜品名称与系统中不匹配"); + returnMsg.setSetMsg(setMsg); + returnMsg.setInfos(new ArrayList<>()); + return returnMsg; + } + } catch (Exception e) { + e.printStackTrace(); + } + } + for (int r = 1; r <= sheet.getLastRowNum(); r++) { + ReturnExcelInfo info = new ReturnExcelInfo(); + List importVoList = new ArrayList<>(); + Row row = sheet.getRow(r); + if (row == null) { + continue; + } + for (int i = 0; i <= mapGoods.size(); i++) { + String trim = new String(); + try { + trim = getCellVal(row.getCell(i)).toString().trim(); + String temp = getCellVal(row.getCell(i)).toString().trim(); + if (StringUtils.isNotBlank(temp)) { + ReturnExcelInfoDetails details = new ReturnExcelInfoDetails(); + details.setGoodNum(temp); + String goodsName = mapGoods.get(i); + details.setGoodName(goodsName); + if (!temp.equals("0") && !temp.equals("0.0") && !temp.equals("0.00")) { + importVoList.add(details); + } + if (!isNum(temp)) { + setMsg.add("第" + (r + 1) + "行菜品数量必须为大于等于0的整数"); + } else { + if (temp.contains(".")) { + String num = temp.substring(temp.indexOf(".") + 1); + if (Integer.parseInt(num) != 0) { + setMsg.add("第" + (r + 1) + "行菜品数量必须为大于等于0的整数"); + } + } + } + info.setInfoDetails(importVoList); + } + } catch (Exception e) { + e.printStackTrace(); + continue; + } + } + if (!importVoList.isEmpty()) { + voList.add(info); + } else { + setMsg.add("第" + (r + 1) + "行为空行"); + } + } + returnMsg.setSetMsg(setMsg); + returnMsg.setInfos(voList); + return returnMsg; + } + + public ResultBean DownLoadTemplate() { + ResultBean rb = new ResultBean(); + return rb.success().setData(""); + } +// public static void main(String[] args) { +// LocalDate start = LocalDate.of(2021, Month.JANUARY, 1); // 设置起始日期为2021年1月1日 +// LocalDate end = LocalDate.now(); // 设置结束日期为当前日期 +// +// Stream dates = start.datesUntil(end).filter(date -> date.getDayOfWeek() == DayOfWeek.SATURDAY || date.getDayOfWeek() == DayOfWeek.SUNDAY); +// +// for (LocalDate date : dates) { +// System.out.println(date); +// } +// } + + public void cardStatisticsListExport(LpkGiftCardListQuery query) { + ResultBean rb = new ResultBean(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getSerialNumber())) { + qw.like("a.serialNumber", query.getSerialNumber()); + } + qw.groupBy("a.sid"); + qw.orderByDesc("a.createTime"); +// qw.groupBy("c.goodsSid"); + List statisticsExportVos = baseMapper.cardStatisticsListExport(qw); + statisticsExportVos.forEach(s -> { + if (s.getIsEnable().equals("2")) { + s.setStateValue("已作废"); + } + }); + String excelName = "提货卡信息.xlsx"; + String fileNameURL = "1"; + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition", "attachment;filename=" + excelName); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), CardStatisticsExportVo.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) +// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(statisticsExportVos); + } catch (IOException e) { + throw new RuntimeException(e); + } + + } + + public ResultBean cardStatisticsList(PagerQuery pq) { + ResultBean rb = new ResultBean(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getSerialNumber())) { + qw.like("a.serialNumber", query.getSerialNumber()); + } + qw.groupBy("a.sid"); + qw.orderByDesc("a.createTime"); +// qw.groupBy("c.goodsSid"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.cardStatisticsList(page, qw); + pagging.getRecords().forEach(s -> { + if (s.getIsEnable().equals("2")) { + s.setStateValue("已作废"); + } + }); + return rb.success().setData(pagging); + } + + public ResultBean isEnable(String sid) { + ResultBean rb = new ResultBean(); + LpkGiftCard card = baseMapper.selectOne(new QueryWrapper().eq("sid", sid)); + card.setIsEnable("2"); + baseMapper.updateById(card); + return rb.success().setData("成功"); + } + + /** + * 是否转赠 + * + * @param sid + * @return + */ + public ResultBean cardTransfer(String sid) { + ResultBean rb = new ResultBean(); + LpkGiftCard card = baseMapper.selectOne(new QueryWrapper().eq("sid", sid)); + card.setIsTransfer("1"); + card.setIsItInvalid("1");//失效 + baseMapper.updateById(card); + return rb.success().setData("成功"); + } + + /** + * 共享家庭卡详情 + * + * @param sid + * @return + */ + public ResultBean cardShareDetail(String sid) { + ResultBean rb = new ResultBean().fail(); + CardShareDetailVo vo = new CardShareDetailVo(); + vo.setCode("11111111111111111111"); + vo.setPeriodValidity(vo.getStartDate() + "~" + vo.getEndDate()); + vo.setCount("6种蔬菜"); + List list = new ArrayList<>(); + ShareUserVo vo1 = new ShareUserVo(); + vo1.setName("测试一"); + vo1.setIconUrl(""); + ShareUserVo vo2 = new ShareUserVo(); + vo1.setName("测试二"); + vo1.setIconUrl(""); + list.add(vo1); + list.add(vo2); + List v = new ArrayList<>(); + ShareRecord record = new ShareRecord(); + record.setDate("2023-12-25 09:30"); + record.setOperate("xx接受共享邀请"); + ShareRecord record1 = new ShareRecord(); + record1.setDate("2023-12-27 10:10"); + record1.setOperate("xx接受共享邀请"); + ShareRecord record2 = new ShareRecord(); + record2.setDate("2023-12-28 12:30"); + record2.setOperate("xx接受共享邀请"); + v.add(record); + v.add(record1); + v.add(record2); + vo.setShareUserVoList(list); + vo.setShareRecordList(v); + return rb.success().setData(vo); + } + + public ResultBean cardShareGoodsDetail(String sid) { + ResultBean rb = new ResultBean().fail(); + CardShareDetailVo vo = new CardShareDetailVo(); + vo.setCode("11111111111111111111"); + vo.setPeriodValidity(vo.getStartDate() + "~" + vo.getEndDate()); + List goods = new ArrayList<>(); + com.yxt.ordermall.api.appletgiftbag.GiftBagGoods goodss = new com.yxt.ordermall.api.appletgiftbag.GiftBagGoods(); + goodss.setRemark("富含蛋白顾、钙、铁、硒等有益元素。"); + goodss.setName("西瓜红密薯"); + goodss.setUnitName("份"); + goodss.setGoodsNumber("3"); + goodss.setIconUrl("https://lpk.yyundong.com/upload/20231123/64dfc05b0db1f9_20231124100240220734.jpg"); + goodss.setJPrice("1.5"); + goodss.setSpecificationUnit("斤"); + goodss.setWeight("7"); + com.yxt.ordermall.api.appletgiftbag.GiftBagGoods goods1 = new com.yxt.ordermall.api.appletgiftbag.GiftBagGoods(); + goods1.setRemark("北方大白菜打过霜后,口感发甜,更加可口"); + goods1.setName("北方大白菜"); + goods1.setUnitName("份"); + goods1.setGoodsNumber("3"); + goods1.setIconUrl("https://lpk.yyundong.com/upload/20231123/2960ea0741fe500_20231124100318707963.jpg"); + goods1.setJPrice("0.5"); + goods1.setSpecificationUnit("斤"); + goods1.setWeight("15"); + + com.yxt.ordermall.api.appletgiftbag.GiftBagGoods goods2 = new com.yxt.ordermall.api.appletgiftbag.GiftBagGoods(); + goods2.setRemark("淀粉含量较高,口感更粉、更紧实"); + goods2.setName("张北土豆"); + goods2.setUnitName("份"); + goods2.setGoodsNumber("3"); + goods2.setIconUrl("https://lpk.yyundong.com/upload/20231123/64e0ca26fd65ab_20231124100217727035.jpg"); + goods2.setJPrice("1"); + goods2.setSpecificationUnit("斤"); + goods2.setWeight("5"); + com.yxt.ordermall.api.appletgiftbag.GiftBagGoods goods3 = new com.yxt.ordermall.api.appletgiftbag.GiftBagGoods(); + goods3.setRemark("原料纯正,只有红薯粉,没有其他添加剂"); + goods3.setName("纯红薯粉条"); + goods3.setUnitName("份"); + goods3.setGoodsNumber("3"); + goods3.setIconUrl("https://lpk.yyundong.com/upload/20231123/64df3f35d0de3f_20231124100252533644.png"); + goods3.setJPrice("10"); + goods3.setSpecificationUnit("斤"); + goods3.setWeight("2"); + goods.add(goodss); + goods.add(goods1); + goods.add(goods2); + goods.add(goods3); + vo.setGoodsVos(goods); + return rb.success().setData(vo); + } + + public LpkGiftCard selectOneByCodeAndCodeKey(String code, String codeKey) { + return baseMapper.selectOne(new QueryWrapper().eq("code", code) + .eq("codeKey", codeKey)); + } + +// public ResultBean getGoodsByTypeSid(LpkGiftCardQuery query) { +// ResultBean rb=new ResultBean().fail(); +// List giftBagGoodss=lpkGoodsService.getAllGoodsApplets(query).getData(); +// ShoppingCartQuery query1=new ShoppingCartQuery(); +// query1.setAffiliation(query.getAffiliation());query1.setCustomerSid(query.getCustomerSid()); +// List l=shoppingCartService.shoppingCartList(query1).getData(); +// l.forEach(s->{ +// giftBagGoodss.forEach(d->{ +// if(s.getGoodsSid().equals(d.getGoodsSid())){ +// d.setGoodsNumber(s.getGoodsNumber()); +// } +// d.setMefenPrice(String.valueOf((int)(Double.valueOf(d.getPrice())* Double.valueOf(d.getWeight())))); +// }); +// }); +// return rb.success().setData(giftBagGoodss); +// } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/generateRule/UniqueIdGenerator.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/generateRule/UniqueIdGenerator.java new file mode 100644 index 0000000..db2206c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgiftcard/generateRule/UniqueIdGenerator.java @@ -0,0 +1,55 @@ +package com.yxt.ordermall.biz.lpkgiftcard.generateRule; + +import java.util.Calendar; +import java.util.Random; + +public class UniqueIdGenerator { + + /** + * 生成一个20位的唯一ID字符串,纯数字 + * + * @return String 唯一的ID + */ + // 一个常见的方法是使用当前的时间戳再加上一些随机数。但是,时间戳通常只有14位(年月日时分秒),所以需要额外增加6位随机数(随机数是在时间戳的右边拼接的)。 + + public static String generateUniqueID() { + // 创建Calendar对象 + Calendar calendar = Calendar.getInstance(); + + // 获取当前时间 + int year = calendar.get(Calendar.YEAR); + int month = calendar.get(Calendar.MONTH) + 1; + int day = calendar.get(Calendar.DATE); + int hour = calendar.get(Calendar.HOUR_OF_DAY); + int minute = calendar.get(Calendar.MINUTE); + int second = calendar.get(Calendar.SECOND); + + // 拆分时间,去除分隔符,补0格式化 + String time = String.format("%04d", year) + + String.format("%02d", month) + + String.format("%02d", day) + + String.format("%02d", hour) + + String.format("%02d", minute) + + String.format("%02d", second); + + // 生成6位的随机数 + int randomNumber = new Random().nextInt(900000) + 100000; + + // 合并时间和随机数,生成20位的唯一ID + String uniqueID = time + randomNumber; + return uniqueID; + } + + public static void main(String[] args) { + // 生成一个唯一ID并打印 + String uniqueID = generateUniqueID(); + int randomNumber = new Random().nextInt(900000) + 100000; + System.out.println(randomNumber); + System.out.println("生成的唯一ID: " + uniqueID); + } + +} + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsMapper.java new file mode 100644 index 0000000..d08c03d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsMapper.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.biz.lpkgoods; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoodss; +import com.yxt.ordermall.api.appletgiftbag.MyGoodsVo; +import com.yxt.ordermall.api.lpkgiftcard.LpkGiftCardQuery; +import com.yxt.ordermall.api.lpkgoods.GoodsTypeVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.lpkgoods.LpkGoodsQuery; +import com.yxt.ordermall.api.lpkgoods.LpkGoodsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkGoodsMapper extends BaseMapper { + + + IPage goodsListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getGoods(); + LpkGoodsVo getGoodsDetails(@Param("sid")String sid); + + LpkGoods getGoodsByName(@Param("goodName") String goodName); + List getAllGoodsApplet(); + List getGoodsApplet( @Param("query") LpkGoodsQuery query); + + IPage getGoodsAppletInvalid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getAllGoodsApplets(@Param("query") LpkGiftCardQuery query); + List getType(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsMapper.xml new file mode 100644 index 0000000..8530412 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsMapper.xml @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsRest.java new file mode 100644 index 0000000..a9bcf8c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsRest.java @@ -0,0 +1,116 @@ +package com.yxt.ordermall.biz.lpkgoods; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.appletgiftbag.MyGoodsVo; +import com.yxt.ordermall.api.lpkgiftcard.LpkGiftCardQuery; +import com.yxt.ordermall.api.lpkgoods.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "商品信息") +@RestController +@RequestMapping("lpkgoods") +public class LpkGoodsRest { + + @Autowired + LpkGoodsService lpkGoodsService; + + + @ApiOperation("商品信息列表") + @PostMapping("/goodsListPage") + public ResultBean> goodsListPage(@RequestBody PagerQuery pq) { + return lpkGoodsService.goodsListPage(pq); + } + + @ApiOperation("保存修改") + @PostMapping("/saveGoods") + public ResultBean saveGoods(@RequestBody LpkGoodsDto dto) { + return lpkGoodsService.saveGoods(dto); + } + + @ApiOperation("初始化商品") + @GetMapping("/goodsInit/{sid}") + public ResultBean goodsInit(@PathVariable("sid") String sid) { + return lpkGoodsService.goodsInit(sid); + } + + @ApiOperation("批量删除商品") + @DeleteMapping("/deleteGoods/{sid}") + public ResultBean deleteGoods(@PathVariable("sid") String sid) { + return lpkGoodsService.deleteGoods(sid); + } + + @ApiOperation("礼包选择获取商品信息列表") + @PostMapping("/getGoods") + public ResultBean> getGoods() { + return lpkGoodsService.getGoods(); + } + + @ApiOperation("商品详情") + @GetMapping("/goodsDetails/{sid}/{customerSid}") + public ResultBean goodsDetails(@PathVariable("sid") String sid,@PathVariable("customerSid")String customerSid) { + return lpkGoodsService.goodsDetails(sid,customerSid); + } + @ApiOperation("小程序商品上下架") + @GetMapping("/appletGrounding/{sid}/{state}") + public ResultBean appletGrounding(@PathVariable("sid") String sid,@PathVariable("state") String state) { + return lpkGoodsService.appletGrounding(sid,state); + } + @ApiOperation("小程序商品是否自选") + @GetMapping("/appletUseTo/{sid}/{state}") + public ResultBean appletUseTo(@PathVariable("sid") String sid,@PathVariable("state") String state) { + return lpkGoodsService.appletUseTo(sid,state); + } + @ApiOperation("商品信息") + @GetMapping("/getAllGiftBag") + public ResultBean getAllGiftBag() { + return lpkGoodsService.getAllGoodsApplet(); + } + @ApiOperation("我的菜窖列表") + @PostMapping("/vegeCellarList") + public ResultBean vegeCellarList(@RequestBody LpkGoodsQuery query) { + return lpkGoodsService.vegeCellarList(query); + } + @ApiOperation("我的菜窖失效列表") + @PostMapping("/vegeCellarInvalidList") + public ResultBean> vegeCellarInvalidList(@RequestBody PagerQuery pq) { + return lpkGoodsService.vegeCellarInvalidList(pq); + } + + @ApiOperation("我的菜窖类别及数量") + @PostMapping("/vegeCellarTypeList") + public ResultBean vegeCellarTypeList(@RequestBody LpkGoodsQuery query) { + return lpkGoodsService.vegeCellarTypeList(query); + } + @ApiOperation("获取所有的商品类型") + @GetMapping("/getAllGoodsType") + public ResultBean getAllType() { + return lpkGoodsService.getAllType(); + } + @ApiOperation("获取所有的商品类型和品牌") + @GetMapping("/getGoodsTypeAndBrand") + public ResultBean getGoodsTypeAndBrand() { + return lpkGoodsService.getGoodsTypeAndBrand(); + } + @ApiOperation("根据类型查询商品") + @PostMapping("/getGoodsByType") + public ResultBean getGoodsByType(@RequestBody LpkGiftCardQuery query) { + return lpkGoodsService.getGoodsByTypeSid(query); + } + @ApiOperation("判断是否是企业菜窖") + @GetMapping("/isEnterprise/{sid}/{brandId}") + public ResultBean isEnterprise(@PathVariable("sid")String sid ,@PathVariable("brandId")String brandId) { + return lpkGoodsService.isEnterprise(sid,brandId); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsService.java new file mode 100644 index 0000000..224e4fd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkgoods/LpkGoodsService.java @@ -0,0 +1,418 @@ +package com.yxt.ordermall.biz.lpkgoods; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.appletgiftbag.*; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertification; +import com.yxt.ordermall.api.enterprisecertification.EnterpriseCertificationVo; +import com.yxt.ordermall.api.lpkcustomer.LpkCustomer; +import com.yxt.ordermall.api.lpkgiftcard.LpkGiftCardQuery; +import com.yxt.ordermall.api.lpkgoods.*; +import com.yxt.ordermall.api.shoppingcart.ShoppingCart; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartQuery; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartVo; +import com.yxt.ordermall.biz.enterprisecertification.EnterpriseCertificationService; +import com.yxt.ordermall.biz.lpkcustomer.LpkCustomerService; +import com.yxt.ordermall.biz.shoppingcart.ShoppingCartService; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsBrandService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsBrand; +import com.yxt.ordermall.mallplus.mbg.pms.entity.brand.BrandVo; +import com.yxt.ordermall.utils.DoubleUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkGoodsService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + ShoppingCartService shoppingCartService; + @Autowired + private com.yxt.ordermall.mallplus.biz.pms.service.IPmsBrandService IPmsBrandService; + @Autowired + LpkCustomerService lpkCustomerService; + @Autowired + EnterpriseCertificationService enterpriseCertificationService; + + + public ResultBean> goodsListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkGoodsQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + qw.orderByAsc("sort"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.goodsListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (LpkGoodsVo record : records) { + if (StringUtils.isNotBlank(record.getPicUrl())) { + record.setPicUrl(fileUploadComponent.getUrlPrefix() + record.getPicUrl()); + } + } + } + return rb.success().setData(p); + } + + public ResultBean saveGoods(LpkGoodsDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + LpkGoods lpkGoods = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, lpkGoods, "id", "sid"); + if (StringUtils.isNotBlank(dto.getPicUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getPicUrl().substring(urlPrefix.length()); + lpkGoods.setPicUrl(path); + } + baseMapper.updateById(lpkGoods); + } else { + LpkGoods goods=baseMapper.selectOne(new QueryWrapper().eq("name",dto.getName())); + if(null!=goods){ + return rb.setMsg("商品名不能重复"); + } + LpkGoods lpkGoods = new LpkGoods(); + sid = lpkGoods.getSid(); + BeanUtil.copyProperties(dto, lpkGoods, "id", "sid"); + lpkGoods.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getPicUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getPicUrl().substring(urlPrefix.length()); + lpkGoods.setPicUrl(path); + } + baseMapper.insert(lpkGoods); + } + return rb.success().setData(sid); + } + + public ResultBean goodsInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + LpkGoodsDetailsVo vo = new LpkGoodsDetailsVo(); + LpkGoods lpkGoods = fetchBySid(sid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != lpkGoods) { + BeanUtil.copyProperties(lpkGoods, vo); + if (StringUtils.isNotBlank(lpkGoods.getPicUrl())) { + vo.setPicUrl(fileUploadComponent.getUrlPrefix() + lpkGoods.getPicUrl()); + } + vo.setCreateTime(sdf.format(lpkGoods.getCreateTime())); + } + return rb.success().setData(vo); + } + + public ResultBean goodsDetails(String sid,String customerSid) { + ResultBean rb = ResultBean.fireFail(); + LpkGoodsDetailsVo vo = new LpkGoodsDetailsVo(); + LpkGoodsVo lpkGoods = baseMapper.getGoodsDetails(sid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != lpkGoods) { + BeanUtil.copyProperties(lpkGoods, vo); + if (StringUtils.isNotBlank(lpkGoods.getPicUrl())) { + vo.setPicUrl(fileUploadComponent.getUrlPrefix() + lpkGoods.getPicUrl()); + } + vo.setCreateTime(sdf.format(lpkGoods.getCreateTime())); + } + vo.setBrandId(lpkGoods.getBrandId()); + LpkCustomer lpkCustomer =lpkCustomerService.getOne(new QueryWrapper().eq("sid",customerSid)); + PmsBrand pmsBrand= IPmsBrandService.getById(lpkGoods.getBrandId()); + ShoppingCart shoppingCart=shoppingCartService.getOne(new QueryWrapper().eq("customerSid",lpkCustomer.getSid()) + .eq("goodsSid",lpkGoods.getSid()).eq("affiliation",lpkGoods.getBrandId())); + vo.setPrice(removeZeros(lpkGoods.getPrice())); + vo.setDgxy(pmsBrand.getDgxy()); + vo.setQdxy(pmsBrand.getQdxy()); + vo.setQssl(pmsBrand.getQssl()); + vo.setCategoryId(lpkGoods.getCategoryId()); + String goodsNum = shoppingCart==null?"0":shoppingCart.getGoodsNumber(); + vo.setGoodsNumber(goodsNum); + vo.setMefenPrice(removeZeros(String.valueOf(Double.valueOf(lpkGoods.getWeight())*Double.valueOf(lpkGoods.getPrice())))); + vo.setPeriodValidity(lpkGoods.getPeriodValidity()); + return rb.success().setData(vo); + } + + public ResultBean deleteGoods(String sid) { + ResultBean rb = ResultBean.fireFail(); + LpkGoods lpkGoods = fetchBySid(sid); + if (null != lpkGoods) { + baseMapper.deleteById(lpkGoods.getId()); + } + return rb.success(); + } + + public ResultBean> getGoods() { + ResultBean rb = ResultBean.fireFail(); + List list = baseMapper.getGoods(); + return rb.success().setData(list); + } + + public LpkGoods getGoodsByName(String goodName) { + return baseMapper.getGoodsByName(goodName); + } + + public ResultBean appletGrounding(String sid,String state) { + ResultBean rb = ResultBean.fireFail(); + LpkGoods lpkGoods = fetchBySid(sid); + if (null != lpkGoods) { + lpkGoods.setIsAppletGrounding(state); + baseMapper.updateById(lpkGoods); + + }else{ + return rb; + } + return rb.success(); + } + public ResultBean appletUseTo(String sid,String state) { + ResultBean rb = ResultBean.fireFail(); + LpkGoods lpkGoods = fetchBySid(sid); + if (null != lpkGoods) { + lpkGoods.setUseTo(state); + baseMapper.updateById(lpkGoods); + }else{ + return rb; + } + return rb.success(); + } + + public ResultBean> getAllGoodsApplet() { + ResultBean rb = ResultBean.fireFail(); + List list=baseMapper.getAllGoodsApplet(); + DecimalFormat decimalFormat = new DecimalFormat("#0.00"); + list.forEach(s->{ + s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl()); + s.setTotalValue(decimalFormat.format(0)); +// s.setPrice(String.valueOf(decimalFormat.format(Double.valueOf(s.getJPrice())*Double.valueOf(s.getWeight())))); + s.setPrice(decimalFormat.format(0)); + }); + return rb.success().setData(list); + } + public ResultBean> getAllGoodsApplets(LpkGiftCardQuery query) { + ResultBean rb = ResultBean.fireFail(); + List list=baseMapper.getAllGoodsApplets(query); + list.forEach(s->{ + double price=Double.valueOf(s.getPrice()); + double jPrice =Double.valueOf(s.getJPrice()); + s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl()); + s.setJPrice(String.valueOf((int)price)); + s.setPrice(String.valueOf((int) jPrice)); + s.setMefenPrice(String.valueOf((int) (Double.valueOf(s.getJPrice())*Double.valueOf(s.getWeight())))); + }); + return rb.success().setData(list); + } + public String aa(double a){ + BigDecimal d=new BigDecimal(a); + double c= d.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); + return String.valueOf(c); + } + + public ResultBean vegeCellarList(LpkGoodsQuery query) { + ResultBean rb=new ResultBean().fail(); + if(StringUtils.isBlank(query.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + if(StringUtils.isBlank(query.getAffiliation())){ + return rb.setMsg("参数不全"); + } + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + query.setNow(sdf.format(new Date())); + List vo =baseMapper.getGoodsApplet(query); + vo.forEach(s->{ + double i=Double.valueOf(s.getGoodsNumber()); + s.setGoodsNumber(DoubleUtils.removeZeros(String.valueOf((int)i))); + s.setWeight(DoubleUtils.removeZeros(s.getWeight())); + s.setIconUrl(fileUploadComponent.getUrlPrefix()+s.getIconUrl()); + }); + return rb.success().setData(vo); + } + public ResultBean> vegeCellarInvalidList(PagerQuery pq) { + ResultBean rb=new ResultBean().fail(); + LpkGoodsQuery query = pq.getParams(); + if(StringUtils.isBlank(query.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getCustomerSid())) { + qw.eq("r.customerSid", query.getCustomerSid()); + } + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + query.setNow(sdf.format(new Date())); + qw.apply(" date_format(s.periodValidity,'%Y-%m-%d') < date_format ('"+sdf.format(new Date())+"','%Y-%m-%d')"); + qw.orderByDesc("s.periodValidity"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.getGoodsAppletInvalid(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.forEach(s->{ + double i=Double.valueOf(s.getGoodsNumber()); + s.setGoodsNumber(DoubleUtils.removeZeros(String.valueOf((int)i))); + s.setWeight(DoubleUtils.removeZeros(s.getWeight())); + s.setIconUrl(fileUploadComponent.getUrlPrefix()+s.getIconUrl()); + }); + return rb.success().setData(p); + } + + + public ResultBean vegeCellarTypeList(LpkGoodsQuery query) { + ResultBean rb=new ResultBean().fail(); + if(StringUtils.isBlank(query.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + List vo =new ArrayList<>(); + List list1= IPmsBrandService.getList().getData(); + for (BrandVo brandVo : list1) { + GoodsTypeVo vo1=new GoodsTypeVo(); + query.setAffiliation(brandVo.getId()); + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + query.setNow(sdf.format(new Date())); + List myGoodsVos =baseMapper.getGoodsApplet(query); + vo1.setName(brandVo.getBrandName()); + vo1.setId(brandVo.getId()); + vo1.setSid(brandVo.getId()); + vo1.setCount(String.valueOf(myGoodsVos.size())); + vo.add(vo1); + } + return rb.success().setData(vo); + } + public ResultBean> getAllType() { + ResultBean rb=new ResultBean().fail(); + List list=baseMapper.getType(); + return rb.success().setData(list); + } + public ResultBean> getGoodsTypeAndBrand() { + ResultBean rb=new ResultBean().fail(); + GoodsTypeVo vo=new GoodsTypeVo(); + List list=baseMapper.getType(); + GoodsTypeVo vo1=new GoodsTypeVo(); + vo1.setName("全部分类"); + vo1.setId("0"); + list.add(0,vo1); + vo.setTypeVos(list); + List list1= IPmsBrandService.getList().getData(); + vo.setBrandVos(list1); + return rb.success().setData(vo); + } + + public ResultBean getGoodsByTypeSid(LpkGiftCardQuery query) { + ResultBean rb=new ResultBean().fail(); + if(StringUtils.isBlank(query.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date date=new Date(); + String p=sdf.format(date); + query.setPeriodValidity(p); + List giftBagGoodss=baseMapper.getAllGoodsApplets(query); + ShoppingCartQuery query1=new ShoppingCartQuery(); + query1.setBrandId(query.getBrandId()); + query1.setCustomerSid(query.getCustomerSid()); + List l=shoppingCartService.shoppingCartList(query1).getData(); + giftBagGoodss.forEach(d->{ + d.setIconUrl(fileUploadComponent.getUrlPrefix()+d.getIconUrl()); +// d.setMefenPrice(String.valueOf((int)(Double.valueOf(d.getPrice())* Double.valueOf(d.getWeight())))); + }); + if(l.size()==0){ + giftBagGoodss.forEach(d->{ + d.setPrice(removeZeros(d.getPrice())); + d.setJPrice(removeZeros(d.getJPrice())); +// d.setIconUrl(fileUploadComponent.getUrlPrefix()+d.getIconUrl()); + d.setMefenPrice(removeZeros(String.valueOf((DoubleUtils.mul(Double.valueOf(d.getPrice()), Double.valueOf(d.getWeight())))))); + + }); + }else{ + l.forEach(s->{ + giftBagGoodss.forEach(d->{ + d.setPrice(removeZeros(d.getPrice())); + d.setJPrice(removeZeros(d.getJPrice())); + if(s.getGoodsSid().equals(d.getGoodsSid())){ + d.setGoodsNumber(s.getGoodsNumber()); + } +// d.setIconUrl(fileUploadComponent.getUrlPrefix()+d.getIconUrl()); +// d.setMefenPrice(removeZeros(String.valueOf((Double.valueOf(d.getPrice())* Double.valueOf(d.getWeight()))))); + d.setMefenPrice(removeZeros(String.valueOf((DoubleUtils.mul(Double.valueOf(d.getPrice()), Double.valueOf(d.getWeight())))))); + }); + }); + } + + return rb.success().setData(giftBagGoodss); + } + public ResultBean isEnterprise(String sid,String brandId) { + ResultBean rb=new ResultBean().fail(); + if(StringUtils.isBlank(sid)){ + return rb.setMsg("参数不全"); + } + if(StringUtils.isBlank(brandId)){ + return rb.setMsg("参数不全"); + } + PmsBrand pmsBrand=IPmsBrandService.getById(brandId); + if(pmsBrand==null){ + return rb.success(); + }else{ + if(pmsBrand.getName().equals("企业菜窖")){ + EnterpriseCertification enterpriseCertification=enterpriseCertificationService.getOne(new QueryWrapper().eq("customerSid",sid)); + if(enterpriseCertification!=null){ //有企业认证记录 + EnterpriseCertificationVo vo=new EnterpriseCertificationVo(); + BeanUtil.copyProperties(enterpriseCertification,vo); + LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper().eq("sid",vo.getCustomerSid())); + vo.setCustomerName(customer.getNick()); + if(enterpriseCertification.getReviewStatus().equals("0")){ + return rb.setCode("202"); //待审核 + }else if (enterpriseCertification.getReviewStatus().equals("1")){ + return rb.success(); //审核通过 + }else if(enterpriseCertification.getReviewStatus().equals("2")){ + return rb.setCode("203").setData(vo);//审核不通过 + } + }else{ + return rb.setCode("201"); + } + return rb.success(); + } + } + return rb.success(); + } + + public static void main(String[] args) { + double a =1.88; + double b =10; + System.out.println(a*b); + } + /** + * 去除多余.0 + * @param num + * @return + */ + public static String removeZeros(String num) { + if (num.indexOf(".") > 0) { + // 去掉多余的0 + num = num.replaceAll("0+?$", ""); + // 如果最后一位是. 则去掉 + num = num.replaceAll("[.]$", ""); + } + return num; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderMapper.java new file mode 100644 index 0000000..7c16101 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderMapper.java @@ -0,0 +1,48 @@ +package com.yxt.ordermall.biz.lpkreserveorder; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkreserveorder.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface LpkReserveOrderMapper extends BaseMapper { + IPage orderList(IPage page,@Param("qw") LpkReserveOrderQuery qw); + IPage orderList1(IPage page,@Param("qw") LpkReserveOrderQuery qw); + IPage orderList2(IPage page,@Param("qw") LpkReserveOrderQuery qw); + IPage orderList3(IPage page,@Param("qw") LpkReserveOrderQuery qw); + IPage orderListByStore(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage orderListByBank(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage orderListByZ(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List orderByCardSid(String sid); + + // IPage orderListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage orderListByUserSid(IPage page, @Param("userSid")String userSid); + + List exportExcel(@Param("qw") LpkReserveOrderQuery qw); + List exportExcel1(@Param("qw") LpkReserveOrderQuery qw); + List exportExcel2(@Param("qw") LpkReserveOrderQuery qw); + List exportExcel3(@Param("qw") LpkReserveOrderQuery qw); + List exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper qw); + List exportExcelByBank(@Param(Constants.WRAPPER) QueryWrapper qw); + List exportExcelByZ(@Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select sid from lpk_reserve_order where storeSid=#{storeSid} and reserveDate =#{reserveDate}") + List getOrderByStore(@Param("storeSid")String storeSid,@Param("reserveDate")String reserveDate); + @Select("select * from lpk_reserve_order where customerSid =#{sid} order by createTime desc limit 1") + LpkReserveOrderVo getStoreByCustomerSid(@Param("sid") String sid); + @Select("select * from lpk_reserve_order where cardSid =#{sid} order by reserveDate desc limit 1") + LpkReserveOrderVo selByCardSid(@Param("sid") String sid); + @Select("SELECT o.*,st.`name` AS store FROM lpk_reserve_order o LEFT JOIN lpk_store st ON o.storeSid = st.sid where o.cardSid =#{sid} ORDER BY o.reserveDate desc") + List selOrderByCardSid(@Param("sid") String sid); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderMapper.xml new file mode 100644 index 0000000..e7b8d82 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderMapper.xml @@ -0,0 +1,766 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderRest.java new file mode 100644 index 0000000..69a6cef --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderRest.java @@ -0,0 +1,93 @@ +package com.yxt.ordermall.biz.lpkreserveorder; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderCardVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderDto; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderQuery; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("/lpksreservoorder") +public class LpkReserveOrderRest { + @Autowired + LpkReserveOrderService lpkReserveOrderService; + + + @ApiOperation("预约提交") + @PostMapping("/submission") + public ResultBean submission(@RequestBody LpkReserveOrderDto dto) { + ResultBean resultBean=new ResultBean<>().fail(); + return resultBean.setMsg("请求异常"); +// return lpkReserveOrderService.submission(dto); + } + + @ApiOperation("订单列表") + @PostMapping("/orderList") + public ResultBean> orderList(@RequestBody PagerQuery pq) { + return lpkReserveOrderService.orderList(pq); + } + @ApiOperation("订单门店汇总列表") + @PostMapping("/orderListByStore") + public ResultBean> orderListByStore(@RequestBody PagerQuery pq) { + return lpkReserveOrderService.orderListByStore(pq); + } + @ApiOperation("订单门店支行汇总列表") + @PostMapping("/orderListByBank") + public ResultBean> orderListByBank(@RequestBody PagerQuery pq) { + return lpkReserveOrderService.orderListByBank(pq); + } + @ApiOperation("订单总汇总列表") + @PostMapping("/orderListByZ") + public ResultBean> orderListByZ(@RequestBody PagerQuery pq) { + return lpkReserveOrderService.orderListByZ(pq); + } + @ApiOperation("根据提货卡查询预约记录") + @GetMapping("/orderByCardSid/{sid}") + public ResultBean orderByCardSid(@PathVariable("sid") String sid) { + return lpkReserveOrderService.orderByCardSid(sid); + } + + @ApiOperation("移动端预约订单列表") + @PostMapping("/orderListByUserSid") + public ResultBean> orderListByUserSid(@RequestBody PagerQuery pq) { + return lpkReserveOrderService.orderListByUserSid(pq); + } + + @ApiOperation("预约记录详情") + @GetMapping("/orderDetails/{orderSid}") + public ResultBean orderDetails(@PathVariable("orderSid") String orderSid) { + return lpkReserveOrderService.orderDetails(orderSid); + } + + @ApiOperation(value = "预约订单信息列表导出") + @PostMapping("/exportExcel") + public void exportExcel(@RequestBody LpkReserveOrderQuery query) { + lpkReserveOrderService.exportExcel(query); + } + @ApiOperation(value = "预约订单门店汇总导出") + @PostMapping("/exportExcelByStore") + public void exportExcelByStore(@RequestBody LpkReserveOrderQuery query) { + lpkReserveOrderService.exportExcelByStore(query); + } + @ApiOperation(value = "预约订单支行汇总导出") + @PostMapping("/exportExcelByBank") + public void exportExcelByBank(@RequestBody LpkReserveOrderQuery query) { + lpkReserveOrderService.exportExcelByBank(query); + } + @ApiOperation(value = "预约订单总汇总导出") + @PostMapping("/exportExcelByZ") + public void exportExcelByZ(@RequestBody LpkReserveOrderQuery query) { + lpkReserveOrderService.exportExcelByZ(query); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderService.java new file mode 100644 index 0000000..ddeeee7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveorder/LpkReserveOrderService.java @@ -0,0 +1,687 @@ +package com.yxt.ordermall.biz.lpkreserveorder; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.metadata.style.WriteCellStyle; +import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkgiftbaggoods.LpkGiftBagGoodsVo; +import com.yxt.ordermall.api.lpkgiftcard.AppletVo; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.lpkreserveorder.*; +import com.yxt.ordermall.api.lpkreserveordergoods.LpkReserveOrderGoods; +import com.yxt.ordermall.api.lpkstore.LpkStore; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import com.yxt.ordermall.biz.lpkgiftbaggoods.LpkGiftBagGoodsService; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardMapper; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.lpkreserveordergoods.LpkReserveOrderGoodsService; +import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +import com.yxt.ordermall.utils.StyleUtils; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class LpkReserveOrderService extends MybatisBaseService { + @Autowired + LpkReserveOrderGoodsService lpkReserveOrderGoodsService; + @Autowired + LpkGiftCardMapper lpkGiftCardMapper; + @Autowired + LpkGiftBagGoodsService lpkGiftBagGoodsService; + @Autowired + LpkStoreService lpkStoreService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private LpkGoodsService lpkGoodsService; + @Autowired + private HttpServletResponse response; + + public ResultBean submission(LpkReserveOrderDto dto) { + ResultBean rb = new ResultBean().fail(); + boolean b=isSatAndSun(dto.getReserveDate()); + if(!b){ + return rb.setMsg("周六、周日不能预约提货"); + } + LpkReserveOrder order = new LpkReserveOrder(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + order.setStoreSid(dto.getValue()); + order.setCardSid(dto.getSid()); + order.setCreateTime(new DateTime()); + baseMapper.insert(order); + dto.setOrderSid(order.getSid()); + lpkReserveOrderGoodsService.submissionDetail(dto); + return rb.success().setData("预约成功"); + } + public boolean isSatAndSun(String date){ + DateTime dateTime = DateUtil.parse(date);; // 获取当前时间 + int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) + System.out.println(dayOfWeek); + if (dayOfWeek == 1 || dayOfWeek == 7) { + return false; + } else { + return true; + } + } + @Test + public void isSatAndSun(){ + String date="2023-12-11"; + DateTime dateTime = DateUtil.parse(date);; // 获取当前时间 + int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) + + System.out.println(dayOfWeek); + if (dayOfWeek == 1 || dayOfWeek == 7) { + System.out.println(dayOfWeek); + } else { + System.out.println(11111); + } + } + public ResultBean> orderList(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging=new Page<>(); + if(StringUtils.isBlank(query.getCardType())){ + pagging= baseMapper.orderList(page, query); + }else if(query.getCardType().equals("1")){ + pagging= baseMapper.orderList1(page, query); + }else if(query.getCardType().equals("2")){ + pagging= baseMapper.orderList2(page, query); + }else if(query.getCardType().equals("3")){ + pagging= baseMapper.orderList3(page, query); + } + List records = pagging.getRecords(); + if (!records.isEmpty()) { + records.forEach(s -> { + List orderGoods = lpkReserveOrderGoodsService.selByOrderSid(s.getSid()); + List goodsVoList = new ArrayList<>(); + if (!orderGoods.isEmpty()) { + for (LpkReserveOrderGoods orderGood : orderGoods) { + OrderGoodsVo goodsVo = new OrderGoodsVo(); + if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); + if (null != lpkGoods) { + goodsVo.setGoodName(lpkGoods.getName()); + } + } + if (orderGood.getGoodsNumber() != 0) { + goodsVo.setNum((int) orderGood.getGoodsNumber()); + } + goodsVoList.add(goodsVo); + } + } + s.setGoodsVo(goodsVoList); + }); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean> orderListByStore(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getBankName())) { + qw.like("d.name", query.getBankName()); + } + if (StringUtils.isNotBlank(query.getBankSid())) { + qw.eq("s.bankSid", query.getBankSid()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + + qw.orderByAsc("o.reserveDate"); + qw.orderByDesc("d.sid"); + qw.orderByDesc("s.sid"); + qw.groupBy("o.cardType"); + qw.groupBy("o.reserveDate"); + qw.groupBy("t.goodsSid"); + qw.groupBy("s.name"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByStore(page, qw); +// List records = pagging.getRecords(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// if (!records.isEmpty()) { +// records.forEach(s -> { +// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +// s.setGoodsName(lpkGoods.getName()); +// }); +// } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean> orderListByBank(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + + if (StringUtils.isNotBlank(query.getStartDate())) { + + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getBankSid())) { + qw.eq("s.bankSid", query.getBankSid()); + } + + qw.groupBy("d.sid"); + qw.groupBy("t.goodsSid"); + qw.groupBy("o.reserveDate"); + qw.groupBy("o.cardType"); + qw.orderByAsc("o.reserveDate"); + qw.orderByDesc("d.sid"); + qw.orderByDesc("s.sid"); +// qw.groupBy("s.name"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByBank(page, qw); + List records = pagging.getRecords(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + +// if (!records.isEmpty()) { +// records.forEach(s -> { +// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +// s.setGoodsName(lpkGoods.getName()); +// }); +// } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean> orderListByZ(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getUserName())) { + qw.like("o.userName", query.getUserName()); + } + if (StringUtils.isNotBlank(query.getUserSid())) { + qw.like("o.customerSid", query.getUserSid()); + } + if (StringUtils.isNotBlank(query.getStartDate())) { + + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getBankSid())) { + qw.eq("s.bankSid", query.getBankSid()); + } + qw.orderByAsc("o.reserveDate"); + qw.groupBy("t.goodsSid"); + qw.groupBy("o.reserveDate"); + qw.groupBy("o.cardType"); +// qw.groupBy("s.name"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByZ(page, qw); + List records = pagging.getRecords(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// if (!records.isEmpty()) { +// records.forEach(s -> { +// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +// s.setGoodsName(lpkGoods.getName()); +// }); +// } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public ResultBean orderByCardSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + List list = baseMapper.orderByCardSid(sid); + return rb.success().setData(list); + } + + public ResultBean> orderListByUserSid(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(StringUtils.isBlank(query.getUserSid())){ + return rb.setMsg("参数不全"); + } + qw.eq("o.customerSid", query.getUserSid()); + qw.eq("o.cardType","1"); +// qw.orderByDesc("reserveDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByUserSid(page, query.getUserSid()); + for(LpkReserveOrderCardVo vo:pagging.getRecords()){ + List goods =lpkReserveOrderGoodsService.selByOrderSids(vo.getSid()); + for(LpkReserveOrderGoods goods1:goods){ + LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods1.getGoodsSid())); + if(StringUtils.isBlank(vo.getGoods())){ + vo.setGoods(lpkGoods.getName()+":"+goods1.getNum()+lpkGoods.getUnitName()); + }else{ + vo.setGoods(vo.getGoods()+" "+lpkGoods.getName()+":"+goods1.getNum()+lpkGoods.getUnitName()); + } + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean orderDetails(String orderSid) { + ResultBean rb = new ResultBean().fail(); + LpkReserveOrder lpkReserveOrder = fetchBySid(orderSid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != lpkReserveOrder) { + AppletVo vo = lpkGiftCardMapper.getGifCardBySid(lpkReserveOrder.getCardSid()); + if (StringUtils.isNotBlank(lpkReserveOrder.getStoreSid())) { + LpkStore lpkStore = lpkStoreService.fetchBySid(lpkReserveOrder.getStoreSid()); + if (null != lpkStore) { + if (StringUtils.isNotBlank(lpkStore.getName())) { + vo.setStore(lpkStore.getName()); + } + } + } + if (StringUtils.isNotBlank(lpkReserveOrder.getReserveDate())) { + try { + Date parse = sdf.parse(lpkReserveOrder.getReserveDate()); + vo.setReserveDate(sdf.format(parse)); + } catch (ParseException e) { + e.printStackTrace(); + } + } + List list = lpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); + List l = lpkStoreService.getAllStore().getData(); + List goodsVos = new ArrayList<>(); + list.forEach(s -> { + LpkReserveOrderGoods goods = lpkReserveOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); + LpkReserveOrderGoods orderGoods = lpkReserveOrderGoodsService.selByOrderSidAndGoodSid(orderSid, s.getGoodsSid()); + GoodsVo goodsVo = new GoodsVo(); + goodsVo.setGoods(s.getGoodsName()); + goodsVo.setNum(s.getGoodsNumber()); + goodsVo.setGoodsSid(s.getGoodsSid()); + goodsVo.setPic(fileUploadComponent.getUrlPrefix() + s.getPicUrl()); + if (null != goods) { + if (goods.getGoodsNumber() != s.getGoodsNumber()) { + goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); + if (null != orderGoods) { + goodsVo.setOrderNum(orderGoods.getGoodsNumber()); + } + goodsVos.add(goodsVo); + } + } else { + goodsVo.setLNum(s.getGoodsNumber()); + goodsVo.setSelect(s.getGoodsNumber()); + goodsVos.add(goodsVo); + } + }); + vo.setGoodsVos(goodsVos); + vo.setSelect(l); + return rb.success().setData(vo); + } + return rb.success(); + } + + public void exportExcel(LpkReserveOrderQuery query) { + //得到所有要导出的数据 + List exportList = new ArrayList<>(); + + List exportList1 = new ArrayList<>(); + if(StringUtils.isBlank(query.getCardType())){ + exportList= baseMapper.exportExcel( query); + }else if(query.getCardType().equals("1")){ + exportList= baseMapper.exportExcel1( query); + }else if(query.getCardType().equals("2")){ + exportList= baseMapper.exportExcel2( query); + }else if(query.getCardType().equals("3")){ + exportList= baseMapper.exportExcel3( query); + } +// if (!exportList.isEmpty()) { +// exportList.forEach(s -> { +// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +// s.setGoodsName(lpkGoods.getName()); +// if (StringUtils.isNotBlank(s.getUserPhone())) { +//// String phone = s.getUserPhone().substring(0, 3) + "****" + s.getUserPhone().substring(7); +// String phone = s.getUserPhone(); +// s.setUserPhone(phone); +// } +// List orderGoods = lpkReserveOrderGoodsService.selByOrderSid(s.getSid()); +// if (!orderGoods.isEmpty()) { +// int i=0; +// for (LpkReserveOrderGoods orderGood : orderGoods) { +// String num = ""; +// String goodsName = ""; +// String finWord = ""; +// String unitName = ""; +// if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { +// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); +// if (null != lpkGoods) { +// goodsName = lpkGoods.getName(); +// if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { +// unitName = lpkGoods.getUnitName(); +// } +// } +// } +// if (orderGood.getGoodsNumber() != 0) { +// num = String.valueOf((int) orderGood.getGoodsNumber()); +// } +// finWord = goodsName+num + unitName ; +// i++; +// if(i>1){ +// ReserveOrderExport en=new ReserveOrderExport(); +// BeanUtil.copyProperties(s,en , "id"); +// en.setGoodsInfo(finWord); +// exportList1.add(en); +// }else{ +// s.setGoodsInfo(finWord); +// exportList1.add(s); +// } +// } +// } +// }); +// } + //定义导出的excel名字 + //定义导出的excel名字 + String excelName = "订单明细.xlsx"; + String fileNameURL = "1"; + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ excelName ); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExport.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) +// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(exportList); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public void exportExcelByStore(LpkReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getBankSid())) { + qw.eq("s.bankSid", query.getBankSid()); + } + if (StringUtils.isNotBlank(query.getBankName())) { + qw.like("s.name", query.getBankName()); + } + qw.orderByAsc("o.reserveDate"); + qw.orderByDesc("d.sid"); + qw.orderByDesc("s.sid"); + qw.groupBy("o.reserveDate"); + qw.groupBy("t.goodsSid"); + qw.groupBy("s.name"); +// qw.orderByDesc("o.reserveDate"); +// qw.groupBy("s.name"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcelByStore(qw); + List exportList1 = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// if (!exportList.isEmpty()) { +// exportList.forEach(s -> { +// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +// s.setGoodsName(lpkGoods.getName()); +// }); +// } + //定义导出的excel名字 + String excelName = "配货信息.xlsx"; + String fileNameURL = "1"; + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ excelName ); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExportByStore.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) +// .registerWriteHandler(new MergeStrategy(exportList.size(),1,1)) + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(exportList); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public void exportExcelByBank(LpkReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getBankSid())) { + qw.eq("s.bankSid", query.getBankSid()); + } + qw.orderByDesc("o.reserveDate"); + qw.groupBy("d.sid"); + qw.groupBy("t.goodsSid"); + qw.groupBy("o.reserveDate"); +// qw.groupBy("s.name"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcelByBank(qw); + List exportList1 = new ArrayList<>(); +// if (!exportList.isEmpty()) { +// exportList.forEach(s -> { +// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +// s.setGoodsName(lpkGoods.getName()); +// }); +// } + //定义导出的excel名字 + String excelName = "支行汇总信息.xlsx"; + String fileNameURL = "1"; + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ excelName ); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExportByBank.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) +// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(exportList); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public void exportExcelByZ(LpkReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getStartDate())) { + String startDate = query.getStartDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getEndDate())) { + String endDate = query.getEndDate(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); + } + if (StringUtils.isNotBlank(query.getStore())) { + qw.like("s.name", query.getStore()); + } + if (StringUtils.isNotBlank(query.getBankSid())) { + qw.eq("s.bankSid", query.getBankSid()); + } + qw.orderByAsc("o.reserveDate"); + qw.groupBy("t.goodsSid"); + qw.groupBy("o.reserveDate"); +// qw.groupBy("s.name"); + //得到所有要导出的数据 + List exportList = baseMapper.exportExcelByZ(qw); + List exportList1 = new ArrayList<>(); +// if (!exportList.isEmpty()) { +// exportList.forEach(s -> { +// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +// s.setGoodsName(lpkGoods.getName()); +//// List list=baseMapper.getOrderByStore(s.getStoreSid(),s.getReserveDate()); +//// List orderGoods = lpkReserveOrderGoodsService.selInOrderSid(list); +//// if (!orderGoods.isEmpty()) { +//// int i=0; +//// for (LpkReserveOrderGoods orderGood : orderGoods) { +//// String num = ""; +//// String goodsName = ""; +//// String finWord = ""; +//// String unitName = ""; +//// if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { +//// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); +//// if (null != lpkGoods) { +//// goodsName = lpkGoods.getName(); +//// if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { +//// unitName = lpkGoods.getUnitName(); +//// } +//// } +//// } +//// if (orderGood.getGoodsNumber() != 0) { +//// num = String.valueOf((int) orderGood.getGoodsNumber()); +//// } +//// finWord = goodsName+ num + unitName; +//// i++; +//// if(i>1){ +//// ReserveOrderExportByBank en=new ReserveOrderExportByBank(); +//// BeanUtil.copyProperties(s,en , "id"); +//// en.setGoodsInfo(finWord); +//// exportList1.add(en); +//// }else{ +//// s.setGoodsInfo(finWord); +//// exportList1.add(s); +//// } +//// } +//// } +// }); +// } + //定义导出的excel名字 + String excelName = "支行汇总信息.xlsx"; + String fileNameURL = "1"; + response.setContentType( "application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-disposition","attachment;filename="+ excelName ); + ServletOutputStream outputStream = null; + try { + WriteCellStyle headWriteCellStyle = new WriteCellStyle(); + //设置头居中 + headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); + //内容策略 + WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); + //设置 水平居中 + contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); + HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); + + EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 + .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExportByZ.class) + //是否自动关闭输入流 + .autoCloseStream(Boolean.TRUE) +// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) + .registerWriteHandler(horizontalCellStyleStrategy) + .sheet().doWrite(exportList); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public ResultBean getStoreByCustomerSid(String sid) { + return new ResultBean().success().setData(baseMapper.getStoreByCustomerSid(sid)); + } + public ResultBean selByCardSid(String sid) { + return new ResultBean().success().setData(baseMapper.selByCardSid(sid)); + } + public ResultBean> selOrderByCardSid(String sid) { + return new ResultBean().success().setData(baseMapper.selOrderByCardSid(sid)); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java new file mode 100644 index 0000000..e6be187 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.biz.lpkreserveordergoods; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.lpkreserveordergoods.LpkReserveOrderGoods; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface LpkReserveOrderGoodsMapper extends BaseMapper { + @Select("select sum(goodsNumber) as goodsNumber , goodsSid as goodsSid from lpk_reserve_order_goods where cardSid=#{cardSid} and goodsSid=#{goodsSid}") + LpkReserveOrderGoods getReserveByCardSid(@Param("cardSid") String cardSid, @Param("goodsSid") String goodsSid); + + LpkReserveOrderGoods selByOrderSidAndGoodSid(@Param("orderSid") String orderSid, @Param("goodsSid") String goodsSid); + + @Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); + @Select("select *,goodsNumber as num from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSids(String orderSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml new file mode 100644 index 0000000..b568af0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsRest.java new file mode 100644 index 0000000..c04f2e0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsRest.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.biz.lpkreserveordergoods; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("lpksreservoorder") +public class LpkReserveOrderGoodsRest { + @Autowired + LpkReserveOrderGoodsService lpkReserveOrderGoodsService; + + +// @ApiOperation("预约提交") +// @PostMapping("/submissionDetail") +// public ResultBean submissionDetail(LpkReserveOrderGoodsDto dto){ +// return lpkReserveOrderGoodsService.submissionDetail(dto); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java new file mode 100644 index 0000000..da1ca21 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkreserveordergoods/LpkReserveOrderGoodsService.java @@ -0,0 +1,91 @@ +package com.yxt.ordermall.biz.lpkreserveordergoods; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderDto; +import com.yxt.ordermall.api.lpkreserveordergoods.LpkReserveOrderGoods; +import com.yxt.ordermall.biz.empcardgiftgoods.EmpCardGiftGoodsService; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class LpkReserveOrderGoodsService extends MybatisBaseService { + @Autowired + LpkGiftCardService lpkGiftCardService; + @Autowired + EmpCardGiftGoodsService empCardGiftGoodsService; + + public ResultBean getReserveByCardSid(String carSid, String goodsSid) { + ResultBean rb = new ResultBean(); + LpkReserveOrderGoods goods = baseMapper.getReserveByCardSid(carSid, goodsSid); + return rb.success().setData(goods); + } + + public ResultBean submissionDetail(LpkReserveOrderDto dto) { + ResultBean rb = new ResultBean(); + LpkReserveOrderGoods goods = new LpkReserveOrderGoods(); + BeanUtil.copyProperties(dto, goods, "id", "sid"); + goods.setCardSid(dto.getSid()); + for (GoodsVo goods1 : dto.getGoodsVos()) { + if (goods1.getSelect() != 0) { + goods.setCardSid(dto.getSid()); + goods.setGoodsSid(goods1.getGoodsSid()); + goods.setGoodsNumber(goods1.getSelect()); + goods.setCreateTime(new DateTime()); + baseMapper.insert(goods); + } + } +// AppletVo vo = lpkGiftCardService.getGifCardBySid(dto.getSid()).getData(); +// int i=0; +// for (com.yxt.ordermall.api.lpkgiftcard.GoodsVo vo1 : vo.getGoodsVos()) { +// EmpCardGiftGoodsVo goods1=empCardGiftGoodsService.recordListGoods(dto.getSid(),vo1.getGoodsSid()).getData(); +// LpkReserveOrderGoods goods2 = baseMapper.getReserveByCardSid(dto.getSid(), vo1.getGoodsSid()); +// double c=0; +// if(goods1==null){ +// if(goods2==null){ +// c=0; +// }else{ +// c=goods2.getGoodsNumber(); +// } +// }else{ +// if(goods2==null){ +// c=goods1.getGoodsNumber(); +// }else{ +// c=goods2.getGoodsNumber()+goods1.getGoodsNumber(); +// } +// } +// if (vo1.getNum() <= c) { +// i++; +// } +// } +// if (vo.getGoodsVos().size() == i) { +// lpkGiftCardService.changState(dto.getSid(), "5"); +// } else { +// lpkGiftCardService.changState(dto.getSid(), "4"); +// } + return rb.success().setData("预约成功"); + } + + public LpkReserveOrderGoods selByOrderSidAndGoodSid(String orderSid, String goodsSid) { + return baseMapper.selByOrderSidAndGoodSid(orderSid,goodsSid); + } + public List selByOrderSid(String orderSid) { + return baseMapper.selByOrderSid(orderSid); + } + public List selInOrderSid(List orderSids) { + return baseMapper.selInOrderSid(orderSids); + } + public List selByOrderSids(String orderSid) { + return baseMapper.selByOrderSids(orderSid); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreMapper.java new file mode 100644 index 0000000..dc3b910 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreMapper.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.biz.lpkstore; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.lpkstore.LpkStore; +import com.yxt.ordermall.api.lpkstore.LpkStoreDetailsVo; +import com.yxt.ordermall.api.lpkstore.LpkStoreVo; +import com.yxt.ordermall.api.lpkstore.StoreSelect; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkStoreMapper extends BaseMapper { + + + IPage storeListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select sid as value,name as text from lpk_store") + List getAllStore(); + List getAllStoreByQuery(@Param(Constants.WRAPPER) QueryWrapper qw); + @Select("select sid as value,name as text from lpk_store where isEnable=1") + List getSelectStore(); + + LpkStoreDetailsVo storeInit(@Param("sid") String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreMapper.xml new file mode 100644 index 0000000..974d12c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreRest.java new file mode 100644 index 0000000..085bde5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreRest.java @@ -0,0 +1,66 @@ +package com.yxt.ordermall.biz.lpkstore; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkstore.LpkStoreDetailsVo; +import com.yxt.ordermall.api.lpkstore.LpkStoreDto; +import com.yxt.ordermall.api.lpkstore.LpkStoreQuery; +import com.yxt.ordermall.api.lpkstore.LpkStoreVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "取货点(门店)信息") +@RestController +@RequestMapping("lpkstore") +public class LpkStoreRest { + + @Autowired + LpkStoreService lpkStoreService; + + @ApiOperation("取货点(门店)信息列表") + @PostMapping("/storeListPage") + public ResultBean> storeListPage(@RequestBody PagerQuery pq) { + return lpkStoreService.storeListPage(pq); + } + + @ApiOperation("保存修改") + @PostMapping("/saveStore") + public ResultBean saveStore(@RequestBody LpkStoreDto dto) { + return lpkStoreService.saveStore(dto); + } + + @ApiOperation("初始化取货点信息") + @GetMapping("/storeInit/{sid}") + public ResultBean storeInit(@PathVariable("sid") String sid) { + return lpkStoreService.storeInit(sid); + } + + @ApiOperation("删除取货点") + @DeleteMapping("/deleteStore/{sid}") + public ResultBean deleteStore(@PathVariable("sid") String sid) { + return lpkStoreService.deleteStore(sid); + } + @ApiOperation("获取全部取货点") + @DeleteMapping("/getAllStore") + public ResultBean getAllStore(){ + return lpkStoreService.getAllStore(); + } + @ApiOperation("获取全部取货点名称") + @PostMapping ("/getAllStoreByQuery") + public ResultBean getAllStoreByQuery(@RequestBody LpkStoreQuery query){ + return lpkStoreService.getAllStoreByQuery(query); + } + @ApiOperation("修改是否可用") + @GetMapping ("/updateIsEnable/{sid}/{isEnable}") + public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable){ + return lpkStoreService.updateIsEnable(sid,isEnable); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreService.java new file mode 100644 index 0000000..8ae4b04 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/lpkstore/LpkStoreService.java @@ -0,0 +1,114 @@ +package com.yxt.ordermall.biz.lpkstore; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkstore.*; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkStoreService extends MybatisBaseService { + + public ResultBean> storeListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkStoreQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("st.name", query.getName()); + } + qw.orderByAsc("st.sort"); + qw.orderByDesc("createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.storeListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean saveStore(LpkStoreDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isNotBlank(dto.getSid())) { + LpkStore entity = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } else { + LpkStore entity = new LpkStore(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setCreateTime(new DateTime()); + baseMapper.insert(entity); + } + return rb.success(); + } + + public ResultBean storeInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + LpkStoreDetailsVo lpkStore = baseMapper.storeInit(sid); + return rb.success().setData(lpkStore); + } + + public ResultBean deleteStore(String sid) { + ResultBean rb = ResultBean.fireFail(); + LpkStore lpkStore = fetchBySid(sid); + if (null != lpkStore) { + baseMapper.deleteById(lpkStore.getId()); + } + return rb.success(); + } + + /** + * @return + */ + public ResultBean> getAllStore() { + ResultBean rb = new ResultBean(); + List vos = baseMapper.getAllStore(); + return rb.success().setData(vos); + } + + public ResultBean> getAllStoreByQuery(LpkStoreQuery query) { + ResultBean rb = new ResultBean(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + qw.eq("isEnable", "1"); + qw.orderByDesc("sort"); + List vos = baseMapper.getAllStoreByQuery(qw); + return rb.success().setData(vos); + } + + public ResultBean updateIsEnable(String sid, String isEnable) { + ResultBean rb = new ResultBean(); + LpkStore lpkStore = fetchBySid(sid); + lpkStore.setIsEnable(isEnable); + int i = baseMapper.updateById(lpkStore); + return rb.success().setMsg("修改成功"); + } + + public ResultBean> getSelectStore() { + ResultBean rb = new ResultBean(); + List vos = baseMapper.getSelectStore(); + return rb.success().setData(vos); + } + + public List listStoreOfBank(String bankSid) { + if (StrUtil.isBlank(bankSid)) + return this.list(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("bankSid", bankSid); + return baseMapper.selectList(qw); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.java new file mode 100644 index 0000000..aee7820 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.newcomerrecorecord; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecord; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecordVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface NewcomerRecoRecordMapper extends BaseMapper { + @Select("select sum(goodsNumber) as goodsNumber , goodsSid as goodsSid from lpk_reserve_order_goods where cardSid=#{cardSid} and goodsSid=#{goodsSid}") + NewcomerRecoRecord getReserveByCardSid(@Param("cardSid") String cardSid, @Param("goodsSid") String goodsSid); + + NewcomerRecoRecord selByOrderSidAndGoodSid(@Param("orderSid") String orderSid, @Param("goodsSid") String goodsSid); + + @Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); + @Select("select *,goodsNumber as num from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSids(String orderSid); + @Select("select * from newcomer_reco_record r where r.recommendSid =#{customerSid} and r.recommendedSid is not null and r.state ='2' ORDER BY r.createTime desc limit 5") + List recordList(@Param("customerSid")String customerSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.xml new file mode 100644 index 0000000..8133252 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordRest.java new file mode 100644 index 0000000..6326da9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordRest.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.biz.newcomerrecorecord; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecordDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("newcomerrecorecord") +public class NewcomerRecoRecordRest { + @Autowired + NewcomerRecoRecordService newcomerRecoRecordService; + + + @ApiOperation("推荐新人用户") + @PostMapping("/recommendNewUsers") + public ResultBean recommendNewUsers(@RequestBody NewcomerRecoRecordDto dto){ + return newcomerRecoRecordService.recommendNewUsers(dto); + } + @ApiOperation("新人助力") + @PostMapping("/recommendedAssistance") + public ResultBean recommendedAssistance(@RequestBody NewcomerRecoRecordDto dto){ + return newcomerRecoRecordService.recommendedAssistance(dto); + } + @ApiOperation("新人推荐列表") + @GetMapping("/recordList/{customerSid}") + public ResultBean recordList(@PathVariable("customerSid") String customerSid){ + return newcomerRecoRecordService.recordList(customerSid); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordService.java new file mode 100644 index 0000000..5572085 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/newcomerrecorecord/NewcomerRecoRecordService.java @@ -0,0 +1,144 @@ +package com.yxt.ordermall.biz.newcomerrecorecord; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkcustomer.LpkCustomer; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecord; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecordDto; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecordVo; +import com.yxt.ordermall.api.recommendnewuserbag.RecommendNewUserBag; +import com.yxt.ordermall.api.recommendnewuserbag.RecommendNewUserBagVo; +import com.yxt.ordermall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails; +import com.yxt.ordermall.biz.lpkcustomer.LpkCustomerService; +import com.yxt.ordermall.biz.recommendnewuserbag.RecommendNewUserBagService; +import com.yxt.ordermall.biz.recommendnewuserbagdetails.RecommendNewUserBagDetailsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class NewcomerRecoRecordService extends MybatisBaseService { + + @Autowired + LpkCustomerService lpkCustomerService; + @Autowired + RecommendNewUserBagService recommendNewUserBagService; + @Autowired + RecommendNewUserBagDetailsService recommendNewUserBagDetailsService; + @Autowired + private FileUploadComponent fileUploadComponent; + + public ResultBean getReserveByCardSid(String carSid, String goodsSid) { + ResultBean rb = new ResultBean(); + NewcomerRecoRecord goods = baseMapper.getReserveByCardSid(carSid, goodsSid); + return rb.success().setData(goods); + } + + public ResultBean recommendNewUsers(NewcomerRecoRecordDto dto) { + ResultBean rb = new ResultBean(); + NewcomerRecoRecord newcomerRecoRecord = new NewcomerRecoRecord(); + List bags=recommendNewUserBagService.list(new QueryWrapper().eq("isGrounding","1")); + if(StringUtils.isBlank(dto.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + if(bags.size()==0){ + newcomerRecoRecord.setSid(""); + return rb.success().setData(newcomerRecoRecord); + } + dto.setGiftBagSid(bags.get(0).getSid()); + dto.setGiftName(bags.get(0).getName()); + BeanUtil.copyProperties(dto, newcomerRecoRecord, "id", "sid"); + newcomerRecoRecord.setCreateTime(new Date()); + newcomerRecoRecord.setRecommendSid(dto.getCustomerSid()); + baseMapper.insert(newcomerRecoRecord); + return rb.success().setData(newcomerRecoRecord); + } + @Transactional(rollbackFor = Exception.class) + public ResultBean recommendedAssistance(NewcomerRecoRecordDto dto) { + ResultBean rb = new ResultBean().fail(); + //如果被推荐人有被推荐记录但没购买 就直接跳出 + if(StringUtils.isBlank(dto.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + if(StringUtils.isBlank(dto.getOrderSid())){ + return rb.setMsg("参数不全"); + } + NewcomerRecoRecord newcomer=baseMapper.selectOne(new QueryWrapper().eq("recommendedSid",dto.getCustomerSid())); + if(newcomer!=null){ + return rb.success(); + } + LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper().eq("sid",dto.getCustomerSid())); + if(null==customer){ + return rb.setMsg("此用户不存在"); + } + if(!customer.getIsNewUser().equals("1")){ + return rb.setMsg("您不是新人"); + } + NewcomerRecoRecord newcomerRecoRecord = baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getOrderSid())); + if(null==newcomerRecoRecord){ + return rb.success(); + } + newcomerRecoRecord.setRecommendedSid(dto.getCustomerSid()); + newcomerRecoRecord.setAssistanceDate(new Date()); + Listlist=recommendNewUserBagDetailsService.list(new QueryWrapper().eq("giftbagSid",newcomerRecoRecord.getGiftBagSid())); + if(list.size()==0){ + return rb.success(); + } + baseMapper.updateById(newcomerRecoRecord); +//// Listlist=appletGiftBagGoodsService.list(new QueryWrapper().eq("giftbagSid",dto.getGiftBagSid())); +// VegetableCellarDto dto1=new VegetableCellarDto(); +// dto1.setCustomerSid(customer.getSid()); +// List vos=new ArrayList<>(); +// for (RecommendNewUserBagDetails appletGiftBagGoods : list) { +// LpkGoods a=lpkGoodsService.getOne(new QueryWrapper().eq("sid",appletGiftBagGoods.getGoodsSid())); +// vegeVo vo=new vegeVo(); +// vo.setGoodsSid(appletGiftBagGoods.getGoodsSid()); +// vo.setGoodsNumber(appletGiftBagGoods.getGoodsNumber()); +// vo.setBrandId(String.valueOf(a.getBrandId())); +// vos.add(vo); +// } +// dto1.setVos(vos); +// vegetableCellarService.save1Goods(dto1); +// //改变新人状态 +// customer.setIsNewUser("0"); +// lpkCustomerService.updateById(customer); + return rb.success().setData("助力成功"); + } + public ResultBean recordList(String customerSid) { + ResultBean rb = new ResultBean(); + if(StringUtils.isBlank(customerSid)){ + return rb.setMsg("参数不全"); + } + RecommendNewUserBagVo vo=new RecommendNewUserBagVo(); + List bags=recommendNewUserBagService.list(new QueryWrapper().eq("isGrounding","1")); + RecommendNewUserBagVo bagVo=new RecommendNewUserBagVo(); + bagVo.setRemarks(""); + bagVo.setIconUrl(""); + if(bags.size()!=0){ + bagVo.setRemarks(bags.get(0).getRemarks()); + bagVo.setIconUrl(fileUploadComponent.getUrlPrefix()+bags.get(0).getIconUrl()); + } + List vos=baseMapper.recordList(customerSid); + for (NewcomerRecoRecordVo newcomerRecoRecordVo : vos) { + RecommendNewUserBag r= recommendNewUserBagService.getOne(new QueryWrapper().eq("sid",newcomerRecoRecordVo.getGiftBagSid())); + //被推荐人的信息 + LpkCustomer l= lpkCustomerService.getOne(new QueryWrapper().eq("sid",newcomerRecoRecordVo.getRecommendedSid())); + //推荐人信息 + LpkCustomer p=lpkCustomerService.getOne(new QueryWrapper().eq("sid",newcomerRecoRecordVo.getRecommendSid())); + newcomerRecoRecordVo.setRemarks(l.getNick()+"助力您获得"+r.getName()); + } + bagVo.setVos(vos); + return rb.success().setData(bagVo); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderGoodsItem.java b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderGoodsItem.java new file mode 100644 index 0000000..2900884 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderGoodsItem.java @@ -0,0 +1,9 @@ +package com.yxt.ordermall.biz.ordorder; + +import lombok.Data; + +@Data +public class OrdOrderGoodsItem { + private String goodsName; + private int goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderMapper.java new file mode 100644 index 0000000..5c42ad5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderMapper.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.ordorder; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.ordorder.OrdOrder; +import com.yxt.ordermall.api.ordorder.OrdOrderVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface OrdOrderMapper extends BaseMapper { + IPage orderList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + OrdOrderVo getOrderDetails(@Param("sid")String sid); + + @Select("SELECT " + + " ood.goodsName goodsName, " + + " ood.partNumber goodsNumber " + + "FROM ord_order oo " + + "LEFT JOIN ord_order_detail ood ON ood.orderSid=oo.sid " + + "WHERE oo.payStatus=4 AND oo.outTradeNo=#{tradeNo}") + List listGoodsInfoByOutTradeNo(@Param("tradeNo") String outTradeNo); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderMapper.xml new file mode 100644 index 0000000..46c8b6c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderRest.java new file mode 100644 index 0000000..6b95fc6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderRest.java @@ -0,0 +1,83 @@ +package com.yxt.ordermall.biz.ordorder; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.ordorder.OrdOrderDto; +import com.yxt.ordermall.api.ordorder.OrdOrderQuery; +import com.yxt.ordermall.api.ordorder.OrdOrderVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("/empsreservoorder") +public class OrdOrderRest { + @Autowired + OrdOrderService ordOrderService; + + + @PostMapping("/createOrder") + @ApiOperation(value = "创建订单") + public ResultBean createOrder(@RequestBody OrdOrderDto dto) { + return ordOrderService.createOrder(dto); + } + @PostMapping("/createVegeOrder") + @ApiOperation(value = "创建菜窖账户订单") + public ResultBean createVegeOrder(@RequestBody OrdOrderDto dto) { + return ordOrderService.createVegeOrder(dto); + } + @PostMapping("/createNewUserBagOrder") + @ApiOperation(value = "创建新人限购礼包订单") + public ResultBean createNewUserBagOrder(@RequestBody OrdOrderDto dto) { + return ordOrderService.createNewUserBagOrder(dto); + } + @PostMapping("/ordersList") + @ApiOperation(value = "支付记录") + public ResultBean> orderList(@RequestBody PagerQuery query) { + return ordOrderService.orderList(query); + } + @GetMapping("/OrderDetails/{sid}") + @ApiOperation(value = "支付记录明细") + public ResultBean getOrderDetails(@PathVariable("sid") String sid) { + return ordOrderService.getOrderDetails(sid); + } + @GetMapping("/OrderDetailsNew/{sid}") + @ApiOperation(value = "支付记录明细") + public ResultBean OrderDetailsNew(@PathVariable("sid") String sid) { + return ordOrderService.OrderDetailsNew(sid); + } + @GetMapping("/changePayState/{sid}") + @ApiOperation(value = "改变订单状态") + public ResultBean changePayState(@PathVariable("sid") String sid) { + return ordOrderService.changePayState(sid); + } + + @PostMapping("/getPreOrder") + @ApiOperation(value = "获取预下单时间") + public ResultBean getPreOrder(@RequestBody OrdOrderQuery query) { + return ordOrderService.getPreOrder(query); + } + @PostMapping("/refundBusiness") + @ApiOperation(value = "退款业务") + public ResultBean refundBusiness(@RequestBody String mainSid) { + return ordOrderService.refundBusiness(mainSid); + } + + @PostMapping("/electronicInvoice") + @ApiOperation(value = "电子发票") + public ResultBean electronicInvoice(@RequestBody String mainSid) { + return ordOrderService.electronicInvoice(mainSid); + } + @PostMapping("/wxElectronicInvoice") + @ApiOperation(value = "微信电子发票") + public ResultBean wxElectronicInvoice(@RequestBody OrdOrderQuery query) { + return ordOrderService.wxElectronicInvoice(query); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderService.java new file mode 100644 index 0000000..ce40b01 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorder/OrdOrderService.java @@ -0,0 +1,711 @@ +package com.yxt.ordermall.biz.ordorder; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoodss; +import com.yxt.ordermall.api.lpkcustomer.LpkCustomer; +import com.yxt.ordermall.api.lpkcustomer.LpkCustomerVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.lpkstore.LpkStoreVo; +import com.yxt.ordermall.api.ordorder.*; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetail; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetailVo; +import com.yxt.ordermall.api.refundorder.RefundOrderVo; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartQuery; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartVo; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellar; +import com.yxt.ordermall.biz.appletgiftbag.AppletGiftBagService; +import com.yxt.ordermall.biz.lpkcustomer.LpkCustomerService; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.ordorderdetails.OrdOrderDetailService; +import com.yxt.ordermall.biz.refundorder.RefundOrderMapper; +import com.yxt.ordermall.biz.shoppingcart.ShoppingCartService; +import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +import com.yxt.ordermall.biz.wx.RequestMes; +import com.yxt.ordermall.biz.wx.WxConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; + +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class OrdOrderService extends MybatisBaseService { + + private static final String OrderUrl = "https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="; + private static final String or = "https://supervise.yxtsoft.com/lpkapi/vegetablecellar/addGoods?mainSid="; + private static final String payUrl = "https://supervise.yxtsoft.com/lpkapi/empsreservoorder/getPreOrder"; + @Autowired + OrdOrderDetailService ordOrderDetailsService; + @Autowired + LpkCustomerService lpkCustomerService; + @Autowired + ShoppingCartService shoppingCartService; + @Autowired + LpkGoodsService lpkGoodsService; + @Autowired + AppletGiftBagService appletGiftBagService; + @Autowired + OrdOrderDetailService ordOrderDetailService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + RefundOrderMapper refundOrderMapper; + @Autowired + VegetableCellarService vegetableCellarService; + @Value("${weixin.miniprogram.appid:wx4724e3a3c27f36b5}") + String appId; + @Value("${weixin.miniprogram.secret:971fd3b8aa7b08ce3e8a5f3e502b1a8d}") + String secret; + + + @Transactional(rollbackFor = Exception.class) + public ResultBean createOrder(OrdOrderDto dto) { + ResultBean rb = ResultBean.fireFail(); + PayResult result = new PayResult(); + if (StringUtils.isBlank(dto.getCustomerSid())) { + return rb.setMsg("参数不全"); + } + Map map = new HashMap<>(); + LpkCustomerVo vo = lpkCustomerService.getCustomerInfo(dto.getCustomerSid()).getData(); + Map sendBody = buildMessageBody(vo.getSid(), vo.getWxMpOpenid(), dto.getTotalTee(), dto.getOrdOrderDetailsVoList(), OrderUrl); + ResponseEntity postForEntity = new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/order/createOrder", sendBody, ResultBean.class); + + ResultBean rb1 = postForEntity.getBody(); + LinkedHashMap rb2 = (LinkedHashMap) postForEntity.getBody().getData(); + if (!rb1.getCode().equals("200")) { + return rb1; + } + OrdOrder order = new OrdOrder(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + order.setCreateTime(new Date()); + order.setMainSid(rb2.get("mainSid").toString()); + order.setOutTradeNo(rb2.get("outTradeNo").toString()); + order.setPayStatus(2); + order.setPayTime(new Date()); + order.setCardNumber(dto.getCardNumber()); + order.setSource(0); + order.setUserSid(vo.getSid()); + order.setOpenId(vo.getWxMpOpenid()); + order.setTotalTee(dto.getTotalTee()); + if (dto.getOrdOrderDetailsVoList().size() > 1) { + order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "等" + (dto.getOrdOrderDetailsVoList().size() - 1) + "件商品"); + } else { + order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "商品"); + } +// order.setName("商品"); + order.setTimeRemarks(10); + order.setReturnUrl(OrderUrl); + baseMapper.insert(order); + + + List ordOrders = new ArrayList<>(); + dto.getOrdOrderDetailsVoList().forEach(s -> { + OrdOrderDetail ordOrderDetails = new OrdOrderDetail(); + BeanUtil.copyProperties(s, ordOrderDetails, "id", "sid"); + ordOrderDetails.setOrderSid(order.getSid()); + + ordOrders.add(ordOrderDetails); + + }); + ordOrderDetailsService.saveBatch(ordOrders); + if (dto.getOrdOrderDetailsVoList().size() > 1) { + result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "等" + (dto.getOrdOrderDetailsVoList().size() - 1) + "件商品"); + } else { + result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "商品"); + } + + result.setPrice(dto.getTotalTee()); +// result.setOrderId(rbData.getOutTradeNo()); + result.setOrderId(rb2.get("outTradeNo").toString()); + result.setRemainder(String.valueOf(10 * 60)); + + PayUrl payUrl = new PayUrl(); + payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); + PayParams aVoid = new PayParams(); + aVoid.setMainSid(rb2.get("mainSid").toString()); + payUrl.setParams(aVoid); + + OrderUrl orderUrl = new OrderUrl(); + OrderParams orderParams = new OrderParams(); + orderParams.setMainSid(""); + orderUrl.setParams(orderParams); + + TradeNoUrl tradeNoUrl = new TradeNoUrl(); + tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); + TradeParams tradeParams = new TradeParams(); + tradeParams.setMainSid(rb2.get("mainSid").toString()); + tradeNoUrl.setParams(tradeParams); + +// result.setOrder_url(orderUrl); + result.setPay_url(payUrl); + result.setTrade_no_url(tradeNoUrl); + String[] a = new String[]{"pay"}; + result.setBus(a); + return rb.success().setData(result); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean createVegeOrder(OrdOrderDto dto) { + ResultBean rb = ResultBean.fireFail(); + PayResult result = new PayResult(); + if (StringUtils.isBlank(dto.getCustomerSid())) { + return rb.setMsg("参数不全"); + } + if (StringUtils.isBlank(dto.getBrandId())) { + return rb.setMsg("参数不全"); + } + + List ordOrderDetailVos = new ArrayList<>(); + + ShoppingCartQuery query = new ShoppingCartQuery(); + + query.setCustomerSid(dto.getCustomerSid()); + query.setBrandId(dto.getBrandId()); + List vos = shoppingCartService.shoppingCartList(query).getData(); + List strings = new ArrayList<>(); + double totalAmount = 0; + for (ShoppingCartVo vo : vos) { + OrdOrderDetailVo vo1 = new OrdOrderDetailVo(); + LpkGoods goods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", vo.getGoodsSid())); + vo1.setGoodsSid(vo.getGoodsSid()); + vo1.setGoodsName(vo.getGoodsName()); + vo1.setPartNumber(Integer.parseInt(vo.getGoodsNumber())); + vo1.setNumofPart(Double.valueOf(vo.getWeight())); + vo1.setPriceUnit(Double.valueOf(goods.getPrice())); + vo1.setPricePart((Double.valueOf(goods.getPrice()) * Double.valueOf(goods.getWeight()))); + totalAmount = Double.valueOf(vo1.getPricePart()) * Double.valueOf(vo1.getPartNumber()) + totalAmount; + ordOrderDetailVos.add(vo1); + strings.add(vo.getSid()); + } + dto.setOrdOrderDetailsVoList(ordOrderDetailVos); + Map map = new HashMap<>(); + LpkCustomerVo vo = lpkCustomerService.getCustomerInfo(dto.getCustomerSid()).getData(); + Map sendBody = buildMessageBody(vo.getSid(), vo.getWxMpOpenid(), dto.getTotalTee(), dto.getOrdOrderDetailsVoList(), or); + ResponseEntity postForEntity = new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/order/createOrder", sendBody, ResultBean.class); + + ResultBean rb1 = postForEntity.getBody(); + LinkedHashMap rb2 = (LinkedHashMap) postForEntity.getBody().getData(); + if (!rb1.getCode().equals("200")) { + return rb1; + } + OrdOrder order = new OrdOrder(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + order.setCreateTime(new Date()); + order.setMainSid(rb2.get("mainSid").toString()); + order.setOutTradeNo(rb2.get("outTradeNo").toString()); + order.setPayStatus(2); + order.setPayTime(new Date()); + order.setCardNumber(dto.getCardNumber()); + order.setSource(0); + order.setUserSid(vo.getSid()); + order.setOpenId(vo.getWxMpOpenid()); + order.setTotalTee(dto.getTotalTee());//实付金额 + order.setMeet(removeZeros(String.valueOf(totalAmount)));//应付金额 + if (dto.getOrdOrderDetailsVoList().size() > 1) { + order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "等" + (dto.getOrdOrderDetailsVoList().size()) + "件商品"); + } else { + order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "商品"); + } +// order.setName("商品"); + order.setTimeRemarks(10); + order.setReturnUrl(or); + baseMapper.insert(order); + + + List ordOrders = new ArrayList<>(); + dto.getOrdOrderDetailsVoList().forEach(s -> { + OrdOrderDetail ordOrderDetails = new OrdOrderDetail(); + BeanUtil.copyProperties(s, ordOrderDetails, "id", "sid"); + ordOrderDetails.setOrderSid(order.getSid()); + ordOrders.add(ordOrderDetails); + + }); + ordOrderDetailsService.saveBatch(ordOrders); + //生成订单 删除购物车 + String[] sids = strings.toArray(new String[0]); + shoppingCartService.delBySids(sids); + if (dto.getOrdOrderDetailsVoList().size() > 1) { + result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "等" + (dto.getOrdOrderDetailsVoList().size()) + "件商品"); + } else { + result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "商品"); + } + + result.setPrice(dto.getTotalTee()); +// result.setOrderId(rbData.getOutTradeNo()); + result.setOrderId(rb2.get("outTradeNo").toString()); + result.setRemainder(String.valueOf(10 * 60)); + + PayUrl payUrl = new PayUrl(); + payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); + PayParams aVoid = new PayParams(); + aVoid.setMainSid(rb2.get("mainSid").toString()); + payUrl.setParams(aVoid); + + OrderUrl orderUrl = new OrderUrl(); + OrderParams orderParams = new OrderParams(); + orderParams.setMainSid(""); + orderUrl.setParams(orderParams); + + TradeNoUrl tradeNoUrl = new TradeNoUrl(); + tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); + TradeParams tradeParams = new TradeParams(); + tradeParams.setMainSid(rb2.get("mainSid").toString()); + tradeNoUrl.setParams(tradeParams); + +// result.setOrder_url(orderUrl); + result.setPay_url(payUrl); + result.setTrade_no_url(tradeNoUrl); + String[] a = new String[]{"pay"}; + result.setBus(a); + //新人限购礼包 该状态 + LpkCustomer customer = lpkCustomerService.getOne(new QueryWrapper().eq("sid", dto.getCustomerSid())); + customer.setIsPurchase("0"); + lpkCustomerService.updateById(customer); + return rb.success().setData(result); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean createNewUserBagOrder(OrdOrderDto dto) { + ResultBean rb = ResultBean.fireFail(); + PayResult result = new PayResult(); + if (StringUtils.isBlank(dto.getCustomerSid())) { + return rb.setMsg("参数不全"); + } + List ordOrderDetailVos = new ArrayList<>(); + + List vos = appletGiftBagService.getGoodsByBagSid(dto.getBagSid()).getData(); + dto.setTotalTee(vos.get(0).getPrefPrice()); + dto.setCardNumber(1); + double totalAmount = 0; + for (GiftBagGoodss vo : vos) { + OrdOrderDetailVo vo1 = new OrdOrderDetailVo(); + LpkGoods goods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", vo.getGoodsSid())); + vo1.setGoodsSid(vo.getGoodsSid()); + vo1.setGoodsName(vo.getName()); + vo1.setPartNumber(Integer.parseInt(vo.getGoodsNumber())); + vo1.setNumofPart(Double.valueOf(vo.getWeight())); + vo1.setPriceUnit(Double.valueOf(goods.getPrice())); + vo1.setPricePart((Double.valueOf(goods.getPrice()) * Double.valueOf(goods.getWeight()))); + totalAmount = Double.valueOf(vo1.getPricePart()) * Double.valueOf(vo1.getPartNumber()) + totalAmount; + ordOrderDetailVos.add(vo1); + } + dto.setOrdOrderDetailsVoList(ordOrderDetailVos); + + Map map = new HashMap<>(); + LpkCustomerVo vo = lpkCustomerService.getCustomerInfo(dto.getCustomerSid()).getData(); + Map sendBody = buildMessageBody(vo.getSid(), vo.getWxMpOpenid(), dto.getTotalTee(), dto.getOrdOrderDetailsVoList(), or); + ResponseEntity postForEntity = new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/order/createOrder", sendBody, ResultBean.class); + + ResultBean rb1 = postForEntity.getBody(); + LinkedHashMap rb2 = (LinkedHashMap) postForEntity.getBody().getData(); + if (!rb1.getCode().equals("200")) { + return rb1; + } + OrdOrder order = new OrdOrder(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + order.setCreateTime(new Date()); + order.setMainSid(rb2.get("mainSid").toString()); + order.setOutTradeNo(rb2.get("outTradeNo").toString()); + order.setPayStatus(2); + order.setPayTime(new Date()); + order.setCardNumber(dto.getCardNumber()); + order.setSource(0); + order.setUserSid(vo.getSid()); + order.setOpenId(vo.getWxMpOpenid()); + order.setTotalTee(dto.getTotalTee()); + order.setMeet(removeZeros(String.valueOf(totalAmount)));//应付金额 + if (dto.getOrdOrderDetailsVoList().size() > 1) { + order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "等" + (dto.getOrdOrderDetailsVoList().size() - 1) + "件商品"); + } else { + order.setName(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "商品"); + } +// order.setName("商品"); + order.setTimeRemarks(10); + order.setReturnUrl(or); + baseMapper.insert(order); + List ordOrders = new ArrayList<>(); + dto.getOrdOrderDetailsVoList().forEach(s -> { + OrdOrderDetail ordOrderDetails = new OrdOrderDetail(); + BeanUtil.copyProperties(s, ordOrderDetails, "id", "sid"); + ordOrderDetails.setOrderSid(order.getSid()); + ordOrders.add(ordOrderDetails); + + }); + ordOrderDetailsService.saveBatch(ordOrders); + //生成订单 删除购物车 + if (dto.getOrdOrderDetailsVoList().size() > 1) { + result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "等" + (dto.getOrdOrderDetailsVoList().size() - 1) + "件商品"); + } else { + result.setGoods(dto.getOrdOrderDetailsVoList().get(0).getGoodsName().toString() + "商品"); + } + + result.setPrice(dto.getTotalTee()); +// result.setOrderId(rbData.getOutTradeNo()); + result.setOrderId(rb2.get("outTradeNo").toString()); + result.setRemainder(String.valueOf(10 * 60)); + + PayUrl payUrl = new PayUrl(); + payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); + PayParams aVoid = new PayParams(); + aVoid.setMainSid(rb2.get("mainSid").toString()); + payUrl.setParams(aVoid); + + OrderUrl orderUrl = new OrderUrl(); + OrderParams orderParams = new OrderParams(); + orderParams.setMainSid(""); + orderUrl.setParams(orderParams); + + TradeNoUrl tradeNoUrl = new TradeNoUrl(); + tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); + TradeParams tradeParams = new TradeParams(); + tradeParams.setMainSid(rb2.get("mainSid").toString()); + tradeNoUrl.setParams(tradeParams); + +// result.setOrder_url(orderUrl); + result.setPay_url(payUrl); + result.setTrade_no_url(tradeNoUrl); + String[] a = new String[]{"pay"}; + result.setBus(a); + //新人限购礼包 该状态 + LpkCustomer customer = lpkCustomerService.getOne(new QueryWrapper().eq("sid", dto.getCustomerSid())); + customer.setIsPurchase("0"); + lpkCustomerService.updateById(customer); + return rb.success().setData(result); + } + + private static Map buildMessageBody(String userSid, String openId, String totalTee, List detailVos, String returnUrl) { + //拼接base参数 + String name = ""; + if (detailVos.size() > 1) { + name = detailVos.get(0).getGoodsName().toString() + "等" + (detailVos.size()) + "件商品"; + } else { + name = detailVos.get(0).getGoodsName().toString() + "商品"; + } + Map mp_template_msg = new HashMap<>(); + mp_template_msg.put("source", "0"); + mp_template_msg.put("totalTee", totalTee); + mp_template_msg.put("openId", openId); + mp_template_msg.put("userSid", userSid); + mp_template_msg.put("name", name); + mp_template_msg.put("timeRemarks", "10"); + mp_template_msg.put("returnUrl", returnUrl); + mp_template_msg.put("payUrl", payUrl); + return mp_template_msg; + } + + public ResultBean> orderList(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + OrdOrderQuery query = pq.getParams(); + IPage page = PagerUtil.queryToPage(pq); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isBlank(query.getCustomerSid())) { + return rb.setMsg("参数不全"); + } + if (StringUtils.isNotBlank(query.getState())) { + if(query.getState().equals("99")){ + qw.in("payStatus","5","6","7"); + }else{ + qw.eq("payStatus", query.getState()); + } + } + qw.eq("userSid", query.getCustomerSid()); + qw.orderByDesc("createTime"); + IPage pagging = baseMapper.orderList(page, qw); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + for (OrdOrderVo record : pagging.getRecords()) { + List details = ordOrderDetailService.list(new QueryWrapper().eq("orderSid", record.getSid())); + List urls = new ArrayList<>(); + record.getCreateTime(); + if (record.getPayStatus() == 2) { + //1>2 1 、1<2 -1 、1=2 0 + int k = DateUtil.parse(sdf.format(new Date())).compareTo(DateUtil.offsetMinute(record.getCreateTime(), 10)); + if (k != -1) { + record.setPayStatus(3); + OrdOrder r = baseMapper.selectOne(new QueryWrapper().eq("sid", record.getSid())); + r.setPayStatus(3); + baseMapper.updateById(r); + } + } + for (OrdOrderDetail detail : details) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", detail.getGoodsSid())); + urls.add(fileUploadComponent.getUrlPrefix() + lpkGoods.getPicUrl()); + } + record.setCount(String.valueOf(details.size())); + record.setPicUrls(urls); + } + if (query.getState().equals("2")) { + pagging.setRecords(pagging.getRecords().stream().filter(s -> s.getPayStatus() != 3).collect(Collectors.toList())); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + public ResultBean getOrderDetails(String sid) { + ResultBean rb = new ResultBean().fail(); + OrdOrderVo pagging = baseMapper.getOrderDetails(sid); + if (StringUtils.isBlank(sid)) { + return rb.setMsg("参数不全"); + } + List details = ordOrderDetailService.list(new QueryWrapper().eq("orderSid", pagging.getSid())); + if (StringUtils.isBlank(pagging.getMeet())) { + pagging.setMeet(pagging.getTotalTee()); + } + DecimalFormat decimalFormat = new DecimalFormat("#0.00"); + pagging.setSurcharge(removeZeros(String.valueOf(decimalFormat.format(Double.valueOf(pagging.getTotalTee()) - Double.valueOf(pagging.getMeet()))))); + for (OrdOrderDetail detail : details) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", detail.getGoodsSid())); + detail.setPicUrl(fileUploadComponent.getUrlPrefix() + lpkGoods.getPicUrl()); + detail.setRemarks(removeZeros(String.valueOf(detail.getNumofPart())) + "斤/份," + "共" + detail.getPartNumber() + "份"); + detail.setUnitName(lpkGoods.getUnitName()); + detail.setSpecificationUnit(lpkGoods.getSpecificationUnit()); + } + pagging.setOrdOrderDetails(details); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + long milli = DateUtil.current(); + pagging.setNowDate(milli); + pagging.setEndTime(sdf1.format(DateUtil.offsetMinute(pagging.getCreateTime(), pagging.getTimeRemarks()))); + if (pagging.getPayStatus() == 2) { + PayResult result = new PayResult(); + if (details.size() > 1) { + result.setGoods(details.get(0).getGoodsName().toString() + "等" + (details.size() - 1) + "件商品"); + } else { + result.setGoods(details.get(0).getGoodsName().toString() + "商品"); + } + result.setPrice(pagging.getTotalTee()); +// result.setOrderId(rbData.getOutTradeNo()); + result.setOrderId(pagging.getOutTradeNo()); + result.setRemainder(String.valueOf(10 * 60)); + + PayUrl payUrl = new PayUrl(); + payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); + PayParams aVoid = new PayParams(); + aVoid.setMainSid(pagging.getMainSid()); + payUrl.setParams(aVoid); + + OrderUrl orderUrl = new OrderUrl(); + OrderParams orderParams = new OrderParams(); + orderParams.setMainSid(""); + orderUrl.setParams(orderParams); + + TradeNoUrl tradeNoUrl = new TradeNoUrl(); + tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); + TradeParams tradeParams = new TradeParams(); + tradeParams.setMainSid(pagging.getMainSid()); + tradeNoUrl.setParams(tradeParams); + +// result.setOrder_url(orderUrl); + result.setPay_url(payUrl); + result.setTrade_no_url(tradeNoUrl); + String[] a = new String[]{"pay"}; + result.setBus(a); + pagging.setResult(result); + } + if(pagging.getPayStatus()==4){ + pagging=invoicingRules(pagging); + } + RefundOrderVo vo= refundOrderMapper.getRefundByOrderSid(sid); + if(vo!=null){ + pagging.setReason(vo.getReason()); + } + return rb.success().setData(pagging); + } + public ResultBean OrderDetailsNew(String sid) { + ResultBean rb = new ResultBean().fail(); + OrdOrderVo pagging = baseMapper.getOrderDetails(sid); + if (StringUtils.isBlank(sid)) { + return rb.setMsg("参数不全"); + } + List details = ordOrderDetailService.list(new QueryWrapper().eq("orderSid", pagging.getSid())); + if (StringUtils.isBlank(pagging.getMeet())) { + pagging.setMeet(pagging.getTotalTee()); + } + DecimalFormat decimalFormat = new DecimalFormat("#0.00"); + pagging.setSurcharge(removeZeros(String.valueOf(decimalFormat.format(Double.valueOf(pagging.getTotalTee()) - Double.valueOf(pagging.getMeet()))))); + for (OrdOrderDetail detail : details) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", detail.getGoodsSid())); + detail.setPicUrl(fileUploadComponent.getUrlPrefix() + lpkGoods.getPicUrl()); + detail.setRemarks(removeZeros(String.valueOf(detail.getNumofPart())) + "斤/份," + "共" + detail.getPartNumber() + "份"); + detail.setUnitName(lpkGoods.getUnitName()); + detail.setSpecificationUnit(lpkGoods.getSpecificationUnit()); + } + pagging.setOrdOrderDetails(details); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + long milli = DateUtil.current(); + pagging.setNowDate(milli); + pagging.setEndTime(sdf1.format(DateUtil.offsetMinute(pagging.getCreateTime(), pagging.getTimeRemarks()))); + if (pagging.getPayStatus() == 2) { + PayResult result = new PayResult(); + if (details.size() > 1) { + result.setGoods(details.get(0).getGoodsName().toString() + "等" + (details.size() - 1) + "件商品"); + } else { + result.setGoods(details.get(0).getGoodsName().toString() + "商品"); + } + result.setPrice(pagging.getTotalTee()); +// result.setOrderId(rbData.getOutTradeNo()); + result.setOrderId(pagging.getOutTradeNo()); + result.setRemainder(String.valueOf(10 * 60)); + + PayUrl payUrl = new PayUrl(); + payUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/pay"); + PayParams aVoid = new PayParams(); + aVoid.setMainSid(pagging.getMainSid()); + payUrl.setParams(aVoid); + + OrderUrl orderUrl = new OrderUrl(); + OrderParams orderParams = new OrderParams(); + orderParams.setMainSid(""); + orderUrl.setParams(orderParams); + + TradeNoUrl tradeNoUrl = new TradeNoUrl(); + tradeNoUrl.setUrl("https://supervise.yxtsoft.com/wxPay/order/orderQuery"); + TradeParams tradeParams = new TradeParams(); + tradeParams.setMainSid(pagging.getMainSid()); + tradeNoUrl.setParams(tradeParams); + +// result.setOrder_url(orderUrl); + result.setPay_url(payUrl); + result.setTrade_no_url(tradeNoUrl); + String[] a = new String[]{"pay"}; + result.setBus(a); + pagging.setResult(result); + } + if(pagging.getPayStatus()==4){ + pagging=invoicingRules(pagging); + } + return rb.success().setData(pagging); + } + + public OrdOrderVo invoicingRules(OrdOrderVo pagging) { + if(pagging.getInvoiceStatus().equals("0")){ + pagging.setInvoiceB(true); + return pagging; + }else if(pagging.getInvoiceStatus().equals("3")){ + pagging.setInvoiceB(true); + return pagging; + } + return pagging; + } + public ResultBean changePayState(String sid) { + ResultBean rb = new ResultBean().fail(); + if (StringUtils.isBlank(sid)) { + return rb.setMsg("参数不全"); + } + OrdOrder order = baseMapper.selectOne(new QueryWrapper().eq("sid", sid)); + if (order.getPayStatus() == 2) { + order.setPayStatus(3); + baseMapper.updateById(order); + } + return rb.success().setData(order); + } + + public ResultBean getPreOrder(OrdOrderQuery query) { + ResultBean rb = new ResultBean().fail(); + if (StringUtils.isBlank(query.getMainSid())) { + return rb.setMsg("参数不全"); + } + OrdOrder order = baseMapper.selectOne(new QueryWrapper().eq("mainSid", query.getMainSid())); + order.setCreateTime(DateUtil.parse(query.getPayTime())); + baseMapper.updateById(order); + return rb.success().setData(order); + } + public ResultBean refundBusiness(String mainSid) { + ResultBean rb = new ResultBean().fail(); + OrdOrder order=baseMapper.selectOne(new QueryWrapper().eq("mainSid",mainSid)); + List detailList=ordOrderDetailService.list(new QueryWrapper().eq("orderSid",order.getSid())); + for(OrdOrderDetail detail:detailList){ + LpkGoods cl=lpkGoodsService.getOne(new QueryWrapper().eq("sid",detail.getGoodsSid())); + VegetableCellar vegetableCellar=vegetableCellarService.getOne(new QueryWrapper().eq("customerSid",order.getUserSid()) + .eq("goodsSid",detail.getGoodsSid()).eq("affiliation",cl.getBrandId())); + if(vegetableCellar.getGoodsNumber().equals(String.valueOf(detail.getPartNumber()))){ + vegetableCellar.setGoodsNumber(String.valueOf(Double.valueOf(vegetableCellar.getGoodsNumber())-Double.valueOf(detail.getPartNumber()))); + vegetableCellarService.updateById(vegetableCellar); + } + } + return rb.success(); + } + public ResultBean electronicInvoice(String mainSid) { + ResultBean rb = new ResultBean().fail(); + OrdOrder order=baseMapper.selectOne(new QueryWrapper().eq("mainSid",mainSid)); + List detailList=ordOrderDetailService.list(new QueryWrapper().eq("orderSid",order.getSid())); + for(OrdOrderDetail detail:detailList){ + LpkGoods cl=lpkGoodsService.getOne(new QueryWrapper().eq("sid",detail.getGoodsSid())); + VegetableCellar vegetableCellar=vegetableCellarService.getOne(new QueryWrapper().eq("customerSid",order.getUserSid()) + .eq("goodsSid",detail.getGoodsSid()).eq("affiliation",cl.getBrandId())); + if(vegetableCellar.getGoodsNumber().equals(String.valueOf(detail.getPartNumber()))){ + vegetableCellar.setGoodsNumber(String.valueOf(Double.valueOf(vegetableCellar.getGoodsNumber())-Double.valueOf(detail.getPartNumber()))); + vegetableCellarService.updateById(vegetableCellar); + } + } + return rb.success(); + } + public ResultBean wxElectronicInvoice(OrdOrderQuery query) { + ResultBean rb= ResultBean.fireFail(); +// OrdOrder order=baseMapper.selectOne(new QueryWrapper().eq("sid",sid)); + String url = WxConfig.AUTHORIZATION_PAGE.replace("ACCESS_TOKEN", WxConfig.wxAccessToken()); + Map map = new HashMap<>(); + long timestamp = System.currentTimeMillis() / 1000; + map.put("s_pappid",WxConfig.getSPAppId()); + map.put("order_id",query.getOutTradeNo()); + map.put("money",query.getTotalTee()); + map.put("timestamp",String.valueOf(timestamp)); + map.put("source","wxa"); + map.put("redirect_url",""); + map.put("ticket",WxConfig.wxTicket()); + map.put("type","1"); + RequestMes res = new RestTemplate().postForObject(url,map,RequestMes.class); + if(!res.getErrcode().equals("0")){ + return rb.setCode(res.getErrcode()).setMsg(res.getErrmsg()); + } + return rb.success().setData(res); + } + + /** + * 去除多余.0 + * + * @param num + * @return + */ + public static String removeZeros(String num) { + if (num.indexOf(".") > 0) { + // 去掉多余的0 + num = num.replaceAll("0+?$", ""); + // 如果最后一位是. 则去掉 + num = num.replaceAll("[.]$", ""); + } + return num; + } + + public String orderGoodsNames(String outTradeNo) { + String names = ""; + List list = baseMapper.listGoodsInfoByOutTradeNo(outTradeNo); + for (int i = 0; i < list.size(); i++) { + if (i == 0) { + names = list.get(i).getGoodsName() + "*" + list.get(i).getGoodsNumber(); + } else { + names = names + "," + list.get(i).getGoodsName() + "*" + list.get(i).getGoodsNumber(); + } + } + return names; + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailMapper.java new file mode 100644 index 0000000..2f06ef8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailMapper.java @@ -0,0 +1,15 @@ +package com.yxt.ordermall.biz.ordorderdetails; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetail; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface OrdOrderDetailMapper extends BaseMapper { + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailMapper.xml new file mode 100644 index 0000000..6388053 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailRest.java new file mode 100644 index 0000000..37dd2d2 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailRest.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.ordorderdetails; + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("/empsreservoorder") +public class OrdOrderDetailRest { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailService.java new file mode 100644 index 0000000..d414c3a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/ordorderdetails/OrdOrderDetailService.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.biz.ordorderdetails; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetail; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class OrdOrderDetailService extends MybatisBaseService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/package-info.java b/ordermall/src/main/java/com/yxt/ordermall/biz/package-info.java new file mode 100644 index 0000000..6eab27d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/package-info.java @@ -0,0 +1,4 @@ +/** + * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口 + */ +package com.yxt.ordermall.biz; \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagMapper.java new file mode 100644 index 0000000..1c7d3fd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagMapper.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.recommendnewuserbag; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoodss; +import com.yxt.ordermall.api.recommendnewuserbag.RecommendNewUserBag; +import com.yxt.ordermall.api.recommendnewuserbag.RecommendNewUserBagVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface RecommendNewUserBagMapper extends BaseMapper { + + + IPage giftBagListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List giftBagList(); + + List giftBagGoodsList(); + List getGoodsByBagSid(@Param("bagSid") String bagSid); + int saveBags(@Param("bags") List bags); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagMapper.xml new file mode 100644 index 0000000..fd4fcc6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + insert into lpk_giftbag(sid,createTime,`name`,dateStart,dateEnd) + values + + (#{item.sid},#{item.createTime},#{item.name},#{item.dateStart},#{item.dateEnd}) + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagRest.java new file mode 100644 index 0000000..db72051 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagRest.java @@ -0,0 +1,79 @@ +package com.yxt.ordermall.biz.recommendnewuserbag; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.recommendnewuserbag.RecommendNewUserBagDto; +import com.yxt.ordermall.api.recommendnewuserbag.RecommendNewUserBagQuery; +import com.yxt.ordermall.api.recommendnewuserbag.RecommendNewUserBagVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "小程序礼包信息") +@RestController +@RequestMapping("ecommendnewuserbag") +public class RecommendNewUserBagRest { + + @Autowired + RecommendNewUserBagService recommendNewUserBagService; + + + @ApiOperation("礼包信息列表") + @PostMapping("/giftBagListPage") + public ResultBean> giftBagListPage(@RequestBody PagerQuery pq) { + return recommendNewUserBagService.giftBagListPage(pq); + } + + @ApiOperation("保存修改") + @PostMapping("/saveGiftBag") + public ResultBean saveGiftBag(@RequestBody RecommendNewUserBagDto dto) { + return recommendNewUserBagService.saveGiftBag(dto); + } + + @ApiOperation("礼包初始化") + @GetMapping("/giftBagInit/{sid}") + public ResultBean giftBagInit(@PathVariable String sid) { + return recommendNewUserBagService.giftBagInit(sid); + } + + @ApiOperation("删除礼包") + @DeleteMapping("/deleteBag/{sid}") + public ResultBean deleteBag(@PathVariable("sid") String sid) { + return recommendNewUserBagService.deleteBag(sid); + } + @ApiOperation("礼包信息列表") + @GetMapping("/giftBagList") + public ResultBean giftBagList() { + return recommendNewUserBagService.giftBagList(); + } + @GetMapping("/isGrounding/{sid}/{state}") + @ApiOperation(value = "设置是否上下架") + public ResultBean isGrounding(@PathVariable("sid")String sid,@PathVariable("state") String state) { + return recommendNewUserBagService.isGrounding(sid, state); + } + @ApiOperation("小程序礼包信息列表") + @GetMapping("/recommendNewUserBagList") + public ResultBean> recommendNewUserBagList() { + return recommendNewUserBagService.recommendNewUserBagList(); + } + @ApiOperation("礼包初始化") + @GetMapping("/getGiftBagBySid/{sid}") + public ResultBean getGiftBagBySid(@PathVariable String sid) { + return recommendNewUserBagService.getGiftBagBySid(sid); + } + + @ApiOperation("新人专属购买礼包") + @PostMapping("/newUserQuota") + public ResultBean newUserQuota() { + return recommendNewUserBagService.newUserQuota(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagService.java new file mode 100644 index 0000000..1a6c361 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbag/RecommendNewUserBagService.java @@ -0,0 +1,282 @@ +package com.yxt.ordermall.biz.recommendnewuserbag; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoodss; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.recommendnewuserbag.*; +import com.yxt.ordermall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.recommendnewuserbagdetails.RecommendNewUserBagDetailsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class RecommendNewUserBagService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private RecommendNewUserBagDetailsService recommendNewUserBagDetailsService; + @Autowired + private LpkGoodsService lpkGoodsService; + + public ResultBean> giftBagListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + RecommendNewUserBagQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("1", "1"); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + qw.orderByDesc("isRecommend"); + qw.orderByDesc("createTime"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.giftBagListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (RecommendNewUserBagVo record : records) { + if (StringUtils.isNotBlank(record.getIconUrl())) { + record.setIconUrl(fileUploadComponent.getUrlPrefix() + record.getIconUrl()); + } + } + } + return rb.success().setData(p); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveGiftBag(RecommendNewUserBagDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + recommendNewUserBagDetailsService.deleteGoodsByBagSid(dto.getSid()); + RecommendNewUserBag RecommendNewUserBag = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, RecommendNewUserBag, "id", "sid"); + RecommendNewUserBag.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getIconUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getIconUrl().substring(urlPrefix.length()); + RecommendNewUserBag.setIconUrl(path); + } + baseMapper.updateById(RecommendNewUserBag); + if (!dto.getGoods().isEmpty()) { + List goodsList = dto.getGoods(); + for (GiftBagGoods goods : goodsList) { + RecommendNewUserBagDetails RecommendNewUserBagGoods = new RecommendNewUserBagDetails(); + RecommendNewUserBagGoods.setCreateTime(new DateTime()); + RecommendNewUserBagGoods.setGoodsSid(goods.getGoodsSid()); + RecommendNewUserBagGoods.setGiftbagSid(RecommendNewUserBag.getSid()); + RecommendNewUserBagGoods.setGoodsNumber(goods.getGoodsNumber()); + RecommendNewUserBagGoods.setPrice(Double.valueOf(goods.getPrice())); + recommendNewUserBagDetailsService.insert(RecommendNewUserBagGoods); + } + } + } else { + RecommendNewUserBag RecommendNewUserBag = new RecommendNewUserBag(); + sid = RecommendNewUserBag.getSid(); + BeanUtil.copyProperties(dto, RecommendNewUserBag, "id", "sid"); + RecommendNewUserBag.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(dto.getIconUrl())) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + String path = dto.getIconUrl().substring(urlPrefix.length()); + RecommendNewUserBag.setIconUrl(path); + } + baseMapper.insert(RecommendNewUserBag); + if (!dto.getGoods().isEmpty()) { + List goodsList = dto.getGoods(); + for (GiftBagGoods goods : goodsList) { + RecommendNewUserBagDetails RecommendNewUserBagGoods = new RecommendNewUserBagDetails(); + RecommendNewUserBagGoods.setCreateTime(new DateTime()); + RecommendNewUserBagGoods.setGoodsSid(goods.getGoodsSid()); + RecommendNewUserBagGoods.setGiftbagSid(RecommendNewUserBag.getSid()); + RecommendNewUserBagGoods.setGoodsNumber(goods.getGoodsNumber()); + RecommendNewUserBagGoods.setPrice(Double.valueOf(goods.getPrice())); + recommendNewUserBagDetailsService.insert(RecommendNewUserBagGoods); + } + } + } + return rb.success().setData(sid); + } + + public ResultBean giftBagInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + RecommendNewUserBagInitVo vo = new RecommendNewUserBagInitVo(); + RecommendNewUserBag entity = fetchBySid(sid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != entity) { + BeanUtil.copyProperties(entity, vo); + if (null != entity.getDateStart()) { + vo.setDateStart(sdf.format(entity.getDateStart())); + } + if (null != entity.getDateEnd()) { + vo.setDateEnd(sdf.format(entity.getDateEnd())); + } + if (StringUtils.isNotBlank(entity.getIconUrl())) { + vo.setIconUrl(fileUploadComponent.getUrlPrefix() + entity.getIconUrl()); + } + List goods = new ArrayList<>(); + List records = recommendNewUserBagDetailsService.getRecordsByBagSid(sid); + if (!records.isEmpty()) { + for (RecommendNewUserBagDetails record : records) { + GiftBagGoods bagGoods = new GiftBagGoods(); + if (StringUtils.isNotBlank(record.getGoodsNumber())) { + bagGoods.setGoodsNumber(record.getGoodsNumber()); + } + if (StringUtils.isNotBlank(record.getGoodsSid())) { + bagGoods.setGoodsSid(record.getGoodsSid()); + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(record.getGoodsSid()); + if (null != lpkGoods) { + if (StringUtils.isNotBlank(lpkGoods.getName())) { + bagGoods.setName(lpkGoods.getName()); + } + if (StringUtils.isNotBlank(lpkGoods.getPicUrl())) { + bagGoods.setIconUrl(lpkGoods.getPicUrl()); + } + if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { + bagGoods.setUnitName(lpkGoods.getUnitName()); + } + if (StringUtils.isNotBlank(lpkGoods.getPrice())) { + bagGoods.setPrice(lpkGoods.getPrice()); + } + bagGoods.setWeight(lpkGoods.getWeight()); + bagGoods.setSpecificationUnit(lpkGoods.getSpecificationUnit()); + } + } + goods.add(bagGoods); + } + } + vo.setGoods(goods); + } + return rb.success().setData(vo); + } + + public ResultBean deleteBag(String sid) { + ResultBean rb = ResultBean.fireFail(); + RecommendNewUserBag RecommendNewUserBag = fetchBySid(sid); + if (null != RecommendNewUserBag) { + baseMapper.deleteById(RecommendNewUserBag.getId()); + recommendNewUserBagDetailsService.deleteGoodsByBagSid(sid); + } + return rb.success(); + } + + public ResultBean giftBagList() { + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.giftBagList(); + return rb.success().setData(pagging); + } + public ResultBean isGrounding(String sid,String state) { + ResultBean rb = new ResultBean().fail(); + RecommendNewUserBag bag=baseMapper.selectOne(new QueryWrapper().eq("sid",sid)); + bag.setIsGrounding(state); + baseMapper.updateById(bag); + return rb.success().setMsg("修改成功"); + } + + public int saveBags(List bags) { + return baseMapper.saveBags(bags); + } + public ResultBean> recommendNewUserBagList() { + ResultBean rb = ResultBean.fireFail(); + List list=baseMapper.giftBagList(); + list.forEach(s->{ +// s.setPrice(Double.valueOf(aa(s.getPrice()))); + List list1=recommendNewUserBagDetailsService.getGoodsByBagSidB(s.getSid()); + list1.forEach(l->{ + l.setCount("共"+Integer.valueOf(l.getGoodsNumber())+l.getUnitName()); + l.setSpec(l.getWeight()+l.getSpecificationUnit()+"/"+l.getUnitName()); + + }); +// List RecommendNewUserBagGoods=RecommendNewUserBagGoodsService.list(new QueryWrapper().eq("giftbagSid",s.getSid())); + s.setCount(list1.size()+"种蔬菜"); + s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl()); + s.setGiftBagGoods(list1); + }); + + return rb.success().setData(list); + } + public ResultBean getGiftBagBySid(String sid ) { + ResultBean rb = ResultBean.fireFail(); + List goodsList=recommendNewUserBagDetailsService.getGoodsByBagSidA(sid); + RecommendNewUserBagDetailVo RecommendNewUserBagVo=new RecommendNewUserBagDetailVo(); + RecommendNewUserBag s= baseMapper.selectOne(new QueryWrapper().eq("sid",sid)); + double i=0; + DecimalFormat decimalFormat = new DecimalFormat("#0.00"); + for(GiftBagGoods goods:goodsList){ +// i=i+Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getGoodsNumber()); + i=i+Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())*Double.valueOf(goods.getGoodsNumber()); + goods.setIconUrl(fileUploadComponent.getUrlPrefix() +goods.getIconUrl()); + goods.setTotalValue(String.valueOf(decimalFormat.format(Double.valueOf(goods.getGoodsNumber())*Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())))); +// goods.setJPrice(String.valueOf(decimalFormat.format(Double.valueOf(goods.getPrice())*Double.valueOf(goods.getWeight())))); + goods.setPrice(String.valueOf(decimalFormat.format(Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())))); + } + RecommendNewUserBagVo.setPrice(decimalFormat.format(i)); + RecommendNewUserBagVo.setGoods(goodsList); + RecommendNewUserBagVo.setName(s.getName()); + return rb.success().setData(RecommendNewUserBagVo); + } + public static String aa(double a){ + BigDecimal d=new BigDecimal(a); + String c= d.setScale(2,BigDecimal.ROUND_HALF_UP).toString(); + return String.valueOf(c); + } + public ResultBean newUserQuota() { + ResultBean rb=new ResultBean().fail(); + List s=baseMapper.giftBagGoodsList(); + for (RecommendNewUserBagVo RecommendNewUserBagVo : s) { + List giftBagGoods=recommendNewUserBagDetailsService.list(new QueryWrapper().eq("giftbagSid",RecommendNewUserBagVo.getSid())); + for(RecommendNewUserBagDetails goods:giftBagGoods){ + LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods.getGoodsSid())); + RecommendNewUserBagVo.setWeight(removeZeros(String.valueOf(Double.valueOf(lpkGoods.getWeight())*Double.valueOf(goods.getGoodsNumber())+Double.valueOf(RecommendNewUserBagVo.getWeight())))); + } + RecommendNewUserBagVo.setIconUrl(fileUploadComponent.getUrlPrefix() +RecommendNewUserBagVo.getIconUrl()); + } + return rb.success().setData(s); + } + public ResultBean> getGoodsByBagSid(String bagSid) { + ResultBean rb=new ResultBean().fail(); + List s=baseMapper.getGoodsByBagSid(bagSid); + return rb.success().setData(s); + } + /** + * 去除多余.0 + * @param num + * @return + */ + public static String removeZeros(String num) { + if (num.indexOf(".") > 0) { + // 去掉多余的0 + num = num.replaceAll("0+?$", ""); + // 如果最后一位是. 则去掉 + num = num.replaceAll("[.]$", ""); + } + return num; + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.java new file mode 100644 index 0000000..8705ff3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.biz.recommendnewuserbagdetails; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails; +import com.yxt.ordermall.api.recommendnewuserbagdetails.RecommendNewUserBagDetailsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface RecommendNewUserBagDetailsMapper extends BaseMapper { + + + int deleteGoodsByBagSid(@Param("sid") String sid); + + @Select("select goods.name as goodsName,bads.goodsNumber ,bads.goodsSid,goods.picUrl,goods.price,goods.unitName,goods.remarks " + + " from recommend_newuser_bag_details bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") + List getGoodsByBagSid(String sid); + + @Select("select goods.name as name,bads.goodsNumber ,bads.goodsSid,goods.picUrl as iconUrl,goods.price as jPrice,goods.unitName,goods.content as remark " + + " ,goods.weight, goods.specificationUnit from recommend_newuser_bag_details bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") + List getGoodsByBagSidA(String sid); + @Select("select goods.name as name,bads.goodsNumber ,bads.goodsSid,goods.picUrl as iconUrl,goods.price as jPrice,goods.unitName,goods.content as remark " + + " ,goods.weight, goods.specificationUnit from recommend_newuser_bag_details bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") + List getGoodsByBagSidB(String sid); + List getRecordsByBagSid(@Param("sid") String sid); + + int saveBagGoods(@Param("bagGoods") List bagGoods); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.xml new file mode 100644 index 0000000..ab4becb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + DELETE + FROM recommend_newuser_bag_details + WHERE giftbagSid = #{sid} + + + + insert into recommend_newuser_bag_details(sid,createTime,giftbagSid,goodsSid,goodsNumber) + values + + (#{item.sid},#{item.createTime},#{item.giftbagSid},#{item.goodsSid},#{item.goodsNumber}) + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsRest.java new file mode 100644 index 0000000..91c9524 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsRest.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.biz.recommendnewuserbagdetails; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "礼包包含商品信息") +@RestController +@RequestMapping("recobagdetails") +public class RecommendNewUserBagDetailsRest { + + @Autowired + RecommendNewUserBagDetailsService recommendNewUserBagDetailsService; + + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsService.java new file mode 100644 index 0000000..8f980ab --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/recommendnewuserbagdetails/RecommendNewUserBagDetailsService.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.biz.recommendnewuserbagdetails; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.ordermall.api.appletgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails; +import com.yxt.ordermall.api.recommendnewuserbagdetails.RecommendNewUserBagDetailsVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class RecommendNewUserBagDetailsService extends MybatisBaseService { + + public int deleteGoodsByBagSid(String sid) { + return baseMapper.deleteGoodsByBagSid(sid); + } + + public List getRecordsByBagSid(String sid) { + return baseMapper.getRecordsByBagSid(sid); + } + + public List getGoodsByBagSid(String sid) { + return baseMapper.getGoodsByBagSid(sid); + } + public List getGoodsByBagSidA(String sid) { + return baseMapper.getGoodsByBagSidA(sid); + } + public List getGoodsByBagSidB(String sid) { + return baseMapper.getGoodsByBagSidB(sid); + } + + public int saveBagGoods(List bagGoods) { + return baseMapper.saveBagGoods(bagGoods); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderMapper.java new file mode 100644 index 0000000..0b6d844 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderMapper.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.biz.refundorder; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.refundorder.RefundOrder; +import com.yxt.ordermall.api.refundorder.RefundOrderVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface RefundOrderMapper extends BaseMapper { + IPage orderList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + RefundOrderVo getOrderDetails(@Param("sid")String sid); + @Select("select * from refund_order where orderSid=#{sid} order by createTime limit 1") + RefundOrderVo getRefundByOrderSid(@Param("sid")String sid); +// +// @Select("SELECT " + +// " ood.goodsName goodsName, " + +// " ood.partNumber goodsNumber " + +// "FROM ord_order oo " + +// "LEFT JOIN ord_order_detail ood ON ood.orderSid=oo.sid " + +// "WHERE oo.payStatus=4 AND oo.outTradeNo=#{tradeNo}") +// List listGoodsInfoByOutTradeNo(@Param("tradeNo") String outTradeNo); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderMapper.xml new file mode 100644 index 0000000..e13aafd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderRest.java new file mode 100644 index 0000000..8913024 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderRest.java @@ -0,0 +1,43 @@ +package com.yxt.ordermall.biz.refundorder; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.refundorder.RefundBusinessQuery; +import com.yxt.ordermall.api.refundorder.RefundOrderDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "退款 ") +@RestController +@RequestMapping("/refund") +public class RefundOrderRest { + @Autowired + RefundOrderService refundOrderService; + + + @PostMapping("/createOrder") + @ApiOperation(value = "创建订单") + public ResultBean createOrder(@RequestBody RefundOrderDto dto) { + return refundOrderService.createOrder(dto); + } + + @PostMapping("/refundBusiness") + @ApiOperation(value = "减库存") + public ResultBean refundBusiness(@RequestBody String mainSid) { + return refundOrderService.refundBusiness(mainSid); + } + @PostMapping("/isRefundBusiness") + @ApiOperation(value = "退款业务") + public ResultBean isRefundBusiness(@RequestBody RefundBusinessQuery query) { + return refundOrderService.isRefundBusiness(query); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderService.java new file mode 100644 index 0000000..d137ab1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/refundorder/RefundOrderService.java @@ -0,0 +1,192 @@ +package com.yxt.ordermall.biz.refundorder; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.ordorder.OrdOrder; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetail; +import com.yxt.ordermall.api.refundorder.RefundBusinessQuery; +import com.yxt.ordermall.api.refundorder.RefundOrder; +import com.yxt.ordermall.api.refundorder.RefundOrderDto; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellar; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellarDto; +import com.yxt.ordermall.api.vegetablecellar.vegeVo; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.ordorder.OrdOrderService; +import com.yxt.ordermall.biz.ordorderdetails.OrdOrderDetailService; +import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class RefundOrderService extends MybatisBaseService { + +// private static final String OrderUrl = "https://supervise.yxtsoft.com/lpkapi/empcardgift/generateTopEmpCard?mainSid="; +// private static final String or = "https://supervise.yxtsoft.com/lpkapi/vegetablecellar/addGoods?mainSid="; + + @Autowired + OrdOrderService ordOrderService; + @Autowired + OrdOrderDetailService ordOrderDetailService; + @Autowired + LpkGoodsService lpkGoodsService; + @Autowired + VegetableCellarService vegetableCellarService; + + + + @Transactional(rollbackFor = Exception.class) + public ResultBean createOrder(RefundOrderDto dto) { + ResultBean rb=new ResultBean().fail(); + OrdOrder orderDetail = ordOrderService.getOne(new QueryWrapper().eq("sid",dto.getSid()).in("payStatus","4","7").eq("invoiceStatus",0)); + if(orderDetail==null){ + return rb.setMsg("此订单不符合退款要求"); + } + List w=ordOrderDetailService.list(new QueryWrapper().eq("orderSid",orderDetail.getSid())); + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + for (OrdOrderDetail detail : w) { + LpkGoods goods=lpkGoodsService.getOne(new QueryWrapper() + .eq("sid",detail.getGoodsSid()) + .apply("date_format(periodValidity,'%Y-%m-%d') >= date_format ('"+sdf.format(new Date())+"','%Y-%m-%d')")); + if(goods==null){ + return rb.setMsg(detail.getGoodsName()+"商品不在有效期内,无法退款"); + } + ListvegetableCellars=vegetableCellarService.list(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",detail.getGoodsSid()).apply("goodsNumber >= "+detail.getPartNumber())); + if(vegetableCellars.size()==0){ + return rb.setMsg("库存数量不足退款"); + } + } + + Map sendBody=buildMessageBody(orderDetail,dto.getReason()); + ResponseEntity postForEntity = new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/refund/createRefundOrder", sendBody, ResultBean.class); +// ResponseEntity postForEntity = new RestTemplate().postForEntity("http://192.168.0.105:7777/refund/createRefundOrder", sendBody, ResultBean.class); + ResultBean rb1 = postForEntity.getBody(); + LinkedHashMap rb2 = (LinkedHashMap) postForEntity.getBody().getData(); + if (!rb1.getCode().equals("200")) { + return rb1; + } + RefundOrder refundOrder=new RefundOrder(); + refundOrder.setSid(UUID.randomUUID().toString()); + refundOrder.setOutTradeNo(rb2.get("outTradeNo").toString()); + refundOrder.setSource(orderDetail.getSource()); + refundOrder.setName(orderDetail.getName()); + refundOrder.setAmount(orderDetail.getTotalTee()); + refundOrder.setOpenId(orderDetail.getOpenId()); + refundOrder.setMainSid(rb2.get("sid").toString()); + refundOrder.setReason(dto.getReason()); + refundOrder.setOrderSid(orderDetail.getSid()); + refundOrder.setCreateTime(new Date()); + baseMapper.insert(refundOrder); + ResponseEntity refundResponse = new RestTemplate().postForEntity("https://supervise.yxtsoft.com/wxPay/refund/reviewRefund?orderSid="+orderDetail.getMainSid(), sendBody, ResultBean.class); +// ResponseEntity refundResponse = new RestTemplate().postForEntity("http://192.168.0.105:7777/refund/reviewRefund?orderSid="+orderDetail.getMainSid(), sendBody, ResultBean.class); + if(refundResponse.getBody().getCode().equals("200")){ + //该订单状态 + orderDetail.setPayStatus(5); + ordOrderService.updateById(orderDetail); + refundBusiness(orderDetail.getMainSid()); + }else{ + refundOrder.setState("2"); + baseMapper.updateById(refundOrder); + } + return rb.success().setData(refundResponse.getBody()); + } + + public ResultBean refundBusiness(String mainSid) { + ResultBean rb = new ResultBean().fail(); + OrdOrder order=ordOrderService.getOne(new QueryWrapper().eq("mainSid",mainSid)); + List detailList=ordOrderDetailService.list(new QueryWrapper().eq("orderSid",order.getSid())); + for(OrdOrderDetail detail:detailList){ + LpkGoods cl=lpkGoodsService.getOne(new QueryWrapper().eq("sid",detail.getGoodsSid())); + VegetableCellar vegetableCellar=vegetableCellarService.getOne(new QueryWrapper().eq("customerSid",order.getUserSid()) + .eq("goodsSid",detail.getGoodsSid()).eq("affiliation",cl.getBrandId())); +// if(vegetableCellar.getGoodsNumber().equals(String.valueOf(detail.getPartNumber()))){ + vegetableCellar.setGoodsNumber(String.valueOf(Double.valueOf(vegetableCellar.getGoodsNumber())-Double.valueOf(detail.getPartNumber()))); + vegetableCellarService.updateById(vegetableCellar); +// } + } + return rb.success(); + } + public ResultBean isRefundBusiness(RefundBusinessQuery query) { + ResultBean rb = new ResultBean().fail(); + OrdOrder order=ordOrderService.getOne(new QueryWrapper().eq("mainSid",query.getMainSid())); + RefundOrder refundOrder=baseMapper.selectOne(new QueryWrapper().eq("orderSid",order.getSid())); + if(!query.isCode()){ + List detailList=ordOrderDetailService.list(new QueryWrapper().eq("orderSid",order.getSid())); + List vos =new ArrayList<>(); + for (OrdOrderDetail detail : detailList) { + LpkGoods goods=lpkGoodsService.getOne(new QueryWrapper().eq("sid",detail.getGoodsSid())); + vegeVo vo=new vegeVo(); + vo.setBrandId(String.valueOf(goods.getBrandId())); + vo.setGoodsSid(detail.getGoodsSid()); + vo.setGoodsNumber(removeZeros(String.valueOf(detail.getPartNumber()))); + vos.add(vo); + } + VegetableCellarDto d=new VegetableCellarDto(); + d.setVos(vos); + d.setCustomerSid(order.getUserSid()); + vegetableCellarService.save1Goods(d); + order.setPayStatus(7); + ordOrderService.updateById(order); + refundOrder.setState("3"); + baseMapper.updateById(refundOrder); + return rb.setMsg("退款失败"); + }else{ + order.setPayStatus(6); + ordOrderService.updateById(order); + refundOrder.setState("2"); + baseMapper.updateById(refundOrder); + } + return rb.success(); + } + + + private static Map buildMessageBody(OrdOrder orderDetail,String reason) { + //拼接base参数 + String name = ""; +// + Map mp_template_msg = new HashMap<>(); + mp_template_msg.put("source", "0"); + mp_template_msg.put("amount", orderDetail.getTotalTee()); + mp_template_msg.put("openId", orderDetail.getOpenId()); + mp_template_msg.put("userSid", orderDetail.getUserSid()); + mp_template_msg.put("name", orderDetail.getName()); + mp_template_msg.put("reason", reason); + mp_template_msg.put("orderSid", orderDetail.getMainSid()); + mp_template_msg.put("returnUrl","https://supervise.yxtsoft.com/lpkapi/refund/isRefundBusiness"); +// https://supervise.yxtsoft.com/lpkapi/vegetablecellar/addGoods?mainSid= + return mp_template_msg; + } + + + + /** + * 去除多余.0 + * + * @param num + * @return + */ + public static String removeZeros(String num) { + if (num.indexOf(".") > 0) { + // 去掉多余的0 + num = num.replaceAll("0+?$", ""); + // 如果最后一位是. 则去掉 + num = num.replaceAll("[.]$", ""); + } + return num; + } + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/region/RegionRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/region/RegionRest.java new file mode 100644 index 0000000..8671f7b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/region/RegionRest.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.biz.region; + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/19 + **/ +@Api(tags = "区域信息") +@RestController +@RequestMapping("Region") +public class RegionRest { + + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderMapper.java new file mode 100644 index 0000000..dacbd1a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderMapper.java @@ -0,0 +1,60 @@ +package com.yxt.ordermall.biz.reservedeliveryorder; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrder; +import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderQuery; +import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderVo; +import com.yxt.ordermall.biz.vegecallerreserveorder.ReserveOrderVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface ReserveDeliveryOrderMapper extends BaseMapper { +// IPage orderList(IPage page, @Param("qw") ReserveDeliveryOrderQuery qw); +// IPage orderListByStore(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +// IPage orderListByBank(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +// IPage orderListByZ(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +//// List orderByCardSid(String sid); +// +//// IPage orderListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage orderListByUserSid(IPage page, @Param("query") ReserveDeliveryOrderQuery query); + + IPage pageOfCustomer(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List pageOfCustomer(@Param(Constants.WRAPPER) QueryWrapper qw); + + IPage pageOfStore(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + List pageOfStore(@Param(Constants.WRAPPER) QueryWrapper qw); + + IPage pageOfBank(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + List pageOfBank(@Param(Constants.WRAPPER) QueryWrapper qw); + + IPage pageOfAll(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + List pageOfAll(@Param(Constants.WRAPPER) QueryWrapper qw); +// +// List exportExcel(@Param("qw") ReserveDeliveryOrderQuery qw); +// List exportExcelByStore(@Param(Constants.WRAPPER) QueryWrapper qw); +// List exportExcelByBank(@Param(Constants.WRAPPER) QueryWrapper qw); +// List exportExcelByZ(@Param(Constants.WRAPPER) QueryWrapper qw); +// @Select("select sid from lpk_reserve_order where storeSid=#{storeSid} and reserveDate =#{reserveDate}") +// List getOrderByStore(@Param("storeSid")String storeSid,@Param("reserveDate")String reserveDate); +// @Select("select * from lpk_reserve_order where customerSid =#{sid} order by createTime desc limit 1") +// ReserveDeliveryOrderVo getStoreByCustomerSid(@Param("sid") String sid); +// @Select("select * from lpk_reserve_order where cardSid =#{sid} order by reserveDate desc limit 1") +// ReserveDeliveryOrderVo selByCardSid(@Param("sid") String sid); +// @Select("SELECT o.*,st.`name` AS store FROM lpk_reserve_order o LEFT JOIN lpk_store st ON o.storeSid = st.sid where o.cardSid =#{sid} ORDER BY o.reserveDate desc") +// List selOrderByCardSid(@Param("sid") String sid); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderMapper.xml new file mode 100644 index 0000000..6b54d93 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderMapper.xml @@ -0,0 +1,558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderRest.java new file mode 100644 index 0000000..26e5ca3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderRest.java @@ -0,0 +1,99 @@ +package com.yxt.ordermall.biz.reservedeliveryorder;//package com.yxt.ordermall.biz.reservedeliveryorder; +// +//import com.yxt.common.core.query.PagerQuery; +//import com.yxt.common.core.result.ResultBean; +//import com.yxt.common.core.vo.PagerVo; +//import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderDto; +//import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderQuery; +//import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderVo; +//import com.yxt.ordermall.api.vegecallerreserveorder.ReserveDeliveryOrderDto; +//import com.yxt.ordermall.api.vegecallerreserveorder.ReserveDeliveryOrderQuery; +//import com.yxt.ordermall.api.vegecallerreserveorder.ReserveDeliveryOrderVo; +//import io.swagger.annotations.Api; +//import io.swagger.annotations.ApiOperation; +//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; +// +///** +// * @author wangpengfei +// * @date 2023/11/23 10:35 +// */ +//@Api(tags = "预约订单信息") +//@RestController +//@RequestMapping("/lpksreservoorders") +//public class ReserveDeliveryOrderRest { +// @Autowired +// ReserveDeliveryOrderService ReserveDeliveryOrderService; +//// +//// +// @ApiOperation("预约提交") +// @PostMapping("/submission") +// public ResultBean submission(@RequestBody ReserveDeliveryOrderDto dto) { +// return ReserveDeliveryOrderService.submission(dto); +// } +// +// +// @ApiOperation("移动端预约订单列表") +// @PostMapping("/orderListByUserSid") +// public ResultBean> orderListByUserSid(@RequestBody PagerQuery pq) { +// return ReserveDeliveryOrderService.orderListByUserSid(pq); +// } +//// +//// @ApiOperation("订单列表") +//// @PostMapping("/orderList") +//// public ResultBean> orderList(@RequestBody PagerQuery pq) { +//// return ReserveDeliveryOrderService.orderList(pq); +//// } +//// @ApiOperation("订单门店汇总列表") +//// @PostMapping("/orderListByStore") +//// public ResultBean> orderListByStore(@RequestBody PagerQuery pq) { +//// return ReserveDeliveryOrderService.orderListByStore(pq); +//// } +//// @ApiOperation("订单门店支行汇总列表") +//// @PostMapping("/orderListByBank") +//// public ResultBean> orderListByBank(@RequestBody PagerQuery pq) { +//// return ReserveDeliveryOrderService.orderListByBank(pq); +//// } +//// @ApiOperation("订单总汇总列表") +//// @PostMapping("/orderListByZ") +//// public ResultBean> orderListByZ(@RequestBody PagerQuery pq) { +//// return ReserveDeliveryOrderService.orderListByZ(pq); +//// } +//// @ApiOperation("根据提货卡查询预约记录") +//// @GetMapping("/orderByCardSid/{sid}") +//// public ResultBean orderByCardSid(@PathVariable("sid") String sid) { +//// return ReserveDeliveryOrderService.orderByCardSid(sid); +//// } +//// +// +//// +//// @ApiOperation("预约记录详情") +//// @GetMapping("/orderDetails/{orderSid}") +//// public ResultBean orderDetails(@PathVariable("orderSid") String orderSid) { +//// return ReserveDeliveryOrderService.orderDetails(orderSid); +//// } +//// +//// @ApiOperation(value = "预约订单信息列表导出") +//// @PostMapping("/exportExcel") +//// public void exportExcel(@RequestBody ReserveDeliveryOrderQuery query) { +//// ReserveDeliveryOrderService.exportExcel(query); +//// } +//// @ApiOperation(value = "预约订单门店汇总导出") +//// @PostMapping("/exportExcelByStore") +//// public void exportExcelByStore(@RequestBody ReserveDeliveryOrderQuery query) { +//// ReserveDeliveryOrderService.exportExcelByStore(query); +//// } +//// @ApiOperation(value = "预约订单支行汇总导出") +//// @PostMapping("/exportExcelByBank") +//// public void exportExcelByBank(@RequestBody ReserveDeliveryOrderQuery query) { +//// ReserveDeliveryOrderService.exportExcelByBank(query); +//// } +//// @ApiOperation(value = "预约订单总汇总导出") +//// @PostMapping("/exportExcelByZ") +//// public void exportExcelByZ(@RequestBody ReserveDeliveryOrderQuery query) { +//// ReserveDeliveryOrderService.exportExcelByZ(query); +//// } +//} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderService.java new file mode 100644 index 0000000..40f905f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorder/ReserveDeliveryOrderService.java @@ -0,0 +1,845 @@ +package com.yxt.ordermall.biz.reservedeliveryorder;//package com.yxt.ordermall.biz.reservedeliveryorder; +// +//import cn.hutool.core.bean.BeanUtil; +//import cn.hutool.core.date.DateTime; +//import cn.hutool.core.date.DateUtil; +//import cn.hutool.core.util.StrUtil; +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.baomidou.mybatisplus.core.metadata.IPage; +//import com.yxt.common.base.service.MybatisBaseService; +//import com.yxt.common.base.utils.PagerUtil; +//import com.yxt.common.base.utils.StringUtils; +//import com.yxt.common.core.query.PagerQuery; +//import com.yxt.common.core.result.ResultBean; +//import com.yxt.common.core.vo.PagerVo; +//import com.yxt.ordermall.api.lpkgoods.LpkGoods; +//import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderQuery; +//import com.yxt.ordermall.api.lpkstore.LpkStore; +//import com.yxt.ordermall.api.reservedeliveryorder.OrderGoodsVo; +//import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrder; +//import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderDto; +//import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderQuery; +//import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderVo; +//import com.yxt.ordermall.api.vegecallerreservedetails.VegeCellarReserveDetails; +//import com.yxt.ordermall.api.vegecallerreserveorder.*; +//import com.yxt.ordermall.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +//import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +//import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +//import com.yxt.ordermall.biz.reservedeliveryorderdetails.ReserveDeliveryOrderDetailsService; +//import com.yxt.ordermall.biz.vegecallerreservedetail.VegeCellarReserveDetailsService; +//import com.yxt.ordermall.biz.vegecallerreserveorder.*; +//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; +// +///** +// * @author wangpengfei +// * @date 2023/11/23 10:36 +// */ +//@Service +//public class ReserveDeliveryOrderService extends MybatisBaseService { +// @Autowired +// ReserveDeliveryOrderDetailsService reserveDeliveryOrderDetailsService; +// @Autowired +// LpkStoreService lpkStoreService; +// +// @Autowired +// private LpkGoodsService lpkGoodsService; +// +// @Transactional(rollbackFor = Exception.class) +// public ResultBean submission(ReserveDeliveryOrderDto dto) { +// ResultBean rb = new ResultBean().fail(); +// boolean b = isSatAndSun(dto.getReserveDate()); +// if (!b) { +// return rb.setMsg("周六、周日不能预约提货"); +// } +// if(StringUtils.isBlank(dto.getCustomerSid())){ +// return rb.setMsg("参数不全"); +// } +// ReserveDeliveryOrder order = new ReserveDeliveryOrder(); +// LpkStore lpkStore = lpkStoreService.getOne(new QueryWrapper().eq("sid", dto.getStoreSid())); +// BeanUtil.copyProperties(dto, order, "id", "sid"); +//// order.setStoreSid(dto.getStoreSid()); +//// order.setCardSid(dto.getSid()); +// order.setCreateTime(new DateTime()); +// String uuid = UniqueIdGenerator.generateUniqueID(); +// order.setReserveCode(uuid); +//// order.setStoreName(lpkStore.getName()); +// baseMapper.insert(order); +// dto.setOrderSid(order.getSid()); +// rb = vegeCellarReserveDetailsService.submissionDetail(dto); +// return rb; +// } +// +// public ResultBean addGoodsOrder(ReserveDeliveryOrderDto dto) { +// ResultBean rb = new ResultBean().fail(); +// boolean b = isSatAndSun(dto.getReserveDate()); +// if (!b) { +// return rb.setMsg("周六、周日不能预约提货"); +// } +// ReserveDeliveryOrder order = new ReserveDeliveryOrder(); +// order = baseMapper.selectList(new QueryWrapper().eq("customerSid", dto.getCustomerSid()) +// .eq("affiliation", dto.getAffiliation()).eq("state", "0")).get(0); +// if (order == null) { +// BeanUtil.copyProperties(dto, order, "id", "sid"); +//// order.setStoreSid(dto.getStoreSid()); +//// order.setCardSid(dto.getSid()); +// order.setCreateTime(new DateTime()); +// baseMapper.insert(order); +// } +// dto.setOrderSid(order.getSid()); +// vegeCellarReserveDetailsService.addDetail(dto); +// return rb.success().setData("预约成功"); +// } +// +// public ResultBean minusGoodsOrder(ReserveDeliveryOrderDto dto) { +// ResultBean rb = new ResultBean().fail(); +// boolean b = isSatAndSun(dto.getReserveDate()); +// if (!b) { +// return rb.setMsg("周六、周日不能预约提货"); +// } +// ReserveDeliveryOrder order = new ReserveDeliveryOrder(); +// order = baseMapper.selectList(new QueryWrapper().eq("customerSid", dto.getCustomerSid()) +// .eq("affiliation", dto.getAffiliation()).eq("state", "0")).get(0); +// if (order == null) { +// BeanUtil.copyProperties(dto, order, "id", "sid"); +//// order.setStoreSid(dto.getStoreSid()); +//// order.setCardSid(dto.getSid()); +// order.setCreateTime(new DateTime()); +// baseMapper.insert(order); +// } +// dto.setOrderSid(order.getSid()); +// vegeCellarReserveDetailsService.addDetail(dto); +// return rb.success().setData("预约成功"); +// } +// +// +// public boolean isSatAndSun(String date) { +// DateTime dateTime = DateUtil.parse(date); +// ; // 获取当前时间 +// int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) +// System.out.println(dayOfWeek); +// if (dayOfWeek == 1 || dayOfWeek == 7) { +// return false; +// } else { +// return true; +// } +// } +// +// // @Test +//// public void isSatAndSun(){ +//// String date="2023-12-11"; +//// DateTime dateTime = DateUtil.parse(date);; // 获取当前时间 +//// int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) +//// +//// System.out.println(dayOfWeek); +//// if (dayOfWeek == 1 || dayOfWeek == 7) { +//// System.out.println(dayOfWeek); +//// } else { +//// System.out.println(11111); +//// } +//// } +//// public ResultBean> orderList(PagerQuery pq) { +//// ResultBean rb = ResultBean.fireFail(); +//// ReserveDeliveryOrderQuery query = pq.getParams(); +//// IPage page = PagerUtil.queryToPage(pq); +//// IPage pagging = baseMapper.orderList(page, query); +//// List records = pagging.getRecords(); +//// if (!records.isEmpty()) { +//// records.forEach(s -> { +//// List orderGoods = ReserveDeliveryOrderGoodsService.selByOrderSid(s.getSid()); +//// List goodsVoList = new ArrayList<>(); +//// if (!orderGoods.isEmpty()) { +//// for (ReserveDeliveryOrderGoods orderGood : orderGoods) { +//// OrderGoodsVo goodsVo = new OrderGoodsVo(); +//// if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { +//// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); +//// if (null != lpkGoods) { +//// goodsVo.setGoodName(lpkGoods.getName()); +//// } +//// } +//// if (orderGood.getGoodsNumber() != 0) { +//// goodsVo.setNum((int) orderGood.getGoodsNumber()); +//// } +//// goodsVoList.add(goodsVo); +//// } +//// } +//// s.setGoodsVo(goodsVoList); +//// }); +//// } +//// PagerVo p = PagerUtil.pageToVo(pagging, null); +//// return rb.success().setData(p); +//// } +//// public ResultBean> orderListByStore(PagerQuery pq) { +//// ResultBean rb = ResultBean.fireFail(); +//// ReserveDeliveryOrderQuery query = pq.getParams(); +//// QueryWrapper qw = new QueryWrapper<>(); +//// qw.eq("1", "1"); +//// if (StringUtils.isNotBlank(query.getStore())) { +//// qw.like("s.name", query.getStore()); +//// } +//// if (StringUtils.isNotBlank(query.getBankName())) { +//// qw.like("d.name", query.getBankName()); +//// } +//// if (StringUtils.isNotBlank(query.getBankSid())) { +//// qw.eq("s.bankSid", query.getBankSid()); +//// } +//// if (StringUtils.isNotBlank(query.getStartDate())) { +//// +//// String startDate = query.getStartDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getEndDate())) { +//// String endDate = query.getEndDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); +//// } +//// +//// qw.orderByAsc("o.reserveDate"); +//// qw.orderByDesc("d.sid"); +//// qw.orderByDesc("s.sid"); +//// qw.groupBy("o.cardType"); +//// qw.groupBy("o.reserveDate"); +//// qw.groupBy("t.goodsSid"); +//// qw.groupBy("s.name"); +//// IPage page = PagerUtil.queryToPage(pq); +//// IPage pagging = baseMapper.orderListByStore(page, qw); +////// List records = pagging.getRecords(); +//// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +////// if (!records.isEmpty()) { +////// records.forEach(s -> { +////// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +////// s.setGoodsName(lpkGoods.getName()); +////// }); +////// } +//// PagerVo p = PagerUtil.pageToVo(pagging, null); +//// return rb.success().setData(p); +//// } +//// public ResultBean> orderListByBank(PagerQuery pq) { +//// ResultBean rb = ResultBean.fireFail(); +//// ReserveDeliveryOrderQuery query = pq.getParams(); +//// QueryWrapper qw = new QueryWrapper<>(); +//// qw.eq("1", "1"); +//// +//// if (StringUtils.isNotBlank(query.getStartDate())) { +//// +//// String startDate = query.getStartDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getEndDate())) { +//// String endDate = query.getEndDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getBankSid())) { +//// qw.eq("s.bankSid", query.getBankSid()); +//// } +//// +//// qw.groupBy("d.sid"); +//// qw.groupBy("t.goodsSid"); +//// qw.groupBy("o.reserveDate"); +//// qw.groupBy("o.cardType"); +//// qw.orderByAsc("o.reserveDate"); +//// qw.orderByDesc("d.sid"); +//// qw.orderByDesc("s.sid"); +////// qw.groupBy("s.name"); +//// IPage page = PagerUtil.queryToPage(pq); +//// IPage pagging = baseMapper.orderListByBank(page, qw); +//// List records = pagging.getRecords(); +//// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +//// +////// if (!records.isEmpty()) { +////// records.forEach(s -> { +////// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +////// s.setGoodsName(lpkGoods.getName()); +////// }); +////// } +//// PagerVo p = PagerUtil.pageToVo(pagging, null); +//// return rb.success().setData(p); +//// } +//// public ResultBean> orderListByZ(PagerQuery pq) { +//// ResultBean rb = ResultBean.fireFail(); +//// ReserveDeliveryOrderQuery query = pq.getParams(); +//// QueryWrapper qw = new QueryWrapper<>(); +//// qw.eq("1", "1"); +//// if (StringUtils.isNotBlank(query.getStore())) { +//// qw.like("s.name", query.getStore()); +//// } +//// if (StringUtils.isNotBlank(query.getUserName())) { +//// qw.like("o.userName", query.getUserName()); +//// } +//// if (StringUtils.isNotBlank(query.getUserSid())) { +//// qw.like("o.customerSid", query.getUserSid()); +//// } +//// if (StringUtils.isNotBlank(query.getStartDate())) { +//// +//// String startDate = query.getStartDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getEndDate())) { +//// String endDate = query.getEndDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getBankSid())) { +//// qw.eq("s.bankSid", query.getBankSid()); +//// } +//// qw.orderByAsc("o.reserveDate"); +//// qw.groupBy("t.goodsSid"); +//// qw.groupBy("o.reserveDate"); +//// qw.groupBy("o.cardType"); +////// qw.groupBy("s.name"); +//// IPage page = PagerUtil.queryToPage(pq); +//// IPage pagging = baseMapper.orderListByZ(page, qw); +//// List records = pagging.getRecords(); +//// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +////// if (!records.isEmpty()) { +////// records.forEach(s -> { +////// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +////// s.setGoodsName(lpkGoods.getName()); +////// }); +////// } +//// PagerVo p = PagerUtil.pageToVo(pagging, null); +//// return rb.success().setData(p); +//// } +//// public ResultBean orderByCardSid(String sid) { +//// ResultBean rb = ResultBean.fireFail(); +//// List list = baseMapper.orderByCardSid(sid); +//// return rb.success().setData(list); +//// } +//// +// public ResultBean> orderListByUserSid(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// ReserveDeliveryOrderQuery query = pq.getParams(); +// QueryWrapper qw = new QueryWrapper<>(); +// if (StringUtils.isBlank(query.getCustomerSid())) { +// return rb.setMsg("参数不全"); +// } +// qw.eq("o.customerSid", query.getUserSid()); +// qw.eq("o.state", query.getState()); +// qw.orderByDesc("reserveDate"); +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagging = baseMapper.orderListByUserSid(page, query); +// List goodsVo = new ArrayList<>(); +// for (ReserveDeliveryOrderVo vo : pagging.getRecords()) { +// List goods = reserveDeliveryOrderDetailsService.selByOrderSids(vo.getSid()); +// for (VegeCellarReserveDetails goods1 : goods) { +// LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); +//// OrderGoodsVo orderGoodsVo=new OrderGoodsVo(); +//// orderGoodsVo.setGoodName(lpkGoods.getName()); +//// orderGoodsVo.setNum(Integer.parseInt(goods1.getNum())); +//// orderGoodsVo.setUnitName(lpkGoods.getUnitName()); +//// goodsVo.add(orderGoodsVo); +// if (StringUtils.isBlank(vo.getGoodss())) { +// vo.setGoodss(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); +// } else { +// vo.setGoodss(vo.getGoodss() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); +// } +// } +// vo.setGoodsVo(goodsVo); +// } +// +// PagerVo p = PagerUtil.pageToVo(pagging, null); +// return rb.success().setData(p); +// } +//// +//// public ResultBean orderDetails(String orderSid) { +//// ResultBean rb = new ResultBean().fail(); +//// ReserveDeliveryOrder ReserveDeliveryOrder = fetchBySid(orderSid); +//// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +//// if (null != ReserveDeliveryOrder) { +//// AppletVo vo = lpkGiftCardMapper.getGifCardBySid(ReserveDeliveryOrder.getCardSid()); +//// if (StringUtils.isNotBlank(ReserveDeliveryOrder.getStoreSid())) { +//// LpkStore lpkStore = lpkStoreService.fetchBySid(ReserveDeliveryOrder.getStoreSid()); +//// if (null != lpkStore) { +//// if (StringUtils.isNotBlank(lpkStore.getName())) { +//// vo.setStore(lpkStore.getName()); +//// } +//// } +//// } +//// if (StringUtils.isNotBlank(ReserveDeliveryOrder.getReserveDate())) { +//// try { +//// Date parse = sdf.parse(ReserveDeliveryOrder.getReserveDate()); +//// vo.setReserveDate(sdf.format(parse)); +//// } catch (ParseException e) { +//// e.printStackTrace(); +//// } +//// } +//// List list = lpkGiftBagGoodsService.getGoodsByBagSid(vo.getGiftbagSid()); +//// List l = lpkStoreService.getAllStore().getData(); +//// List goodsVos = new ArrayList<>(); +//// list.forEach(s -> { +//// ReserveDeliveryOrderGoods goods = ReserveDeliveryOrderGoodsService.getReserveByCardSid(vo.getSid(), s.getGoodsSid()).getData(); +//// ReserveDeliveryOrderGoods orderGoods = ReserveDeliveryOrderGoodsService.selByOrderSidAndGoodSid(orderSid, s.getGoodsSid()); +//// GoodsVo goodsVo = new GoodsVo(); +//// goodsVo.setGoods(s.getGoodsName()); +//// goodsVo.setNum(s.getGoodsNumber()); +//// goodsVo.setGoodsSid(s.getGoodsSid()); +//// goodsVo.setPic(fileUploadComponent.getUrlPrefix() + s.getPicUrl()); +//// if (null != goods) { +//// if (goods.getGoodsNumber() != s.getGoodsNumber()) { +//// goodsVo.setLNum(s.getGoodsNumber() - goods.getGoodsNumber()); +//// goodsVo.setSelect(s.getGoodsNumber() - goods.getGoodsNumber()); +//// if (null != orderGoods) { +//// goodsVo.setOrderNum(orderGoods.getGoodsNumber()); +//// } +//// goodsVos.add(goodsVo); +//// } +//// } else { +//// goodsVo.setLNum(s.getGoodsNumber()); +//// goodsVo.setSelect(s.getGoodsNumber()); +//// goodsVos.add(goodsVo); +//// } +//// }); +//// vo.setGoodsVos(goodsVos); +//// vo.setSelect(l); +//// return rb.success().setData(vo); +//// } +//// return rb.success(); +//// } +//// +//// public void exportExcel(ReserveDeliveryOrderQuery query) { +//// //得到所有要导出的数据 +//// List exportList = baseMapper.exportExcel(query); +//// List exportList1 = new ArrayList<>(); +//// if (!exportList.isEmpty()) { +//// exportList.forEach(s -> { +//// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +//// s.setGoodsName(lpkGoods.getName()); +////// if (StringUtils.isNotBlank(s.getUserPhone())) { +//////// String phone = s.getUserPhone().substring(0, 3) + "****" + s.getUserPhone().substring(7); +////// String phone = s.getUserPhone(); +////// s.setUserPhone(phone); +////// } +////// List orderGoods = ReserveDeliveryOrderGoodsService.selByOrderSid(s.getSid()); +////// if (!orderGoods.isEmpty()) { +////// int i=0; +////// for (ReserveDeliveryOrderGoods orderGood : orderGoods) { +////// String num = ""; +////// String goodsName = ""; +////// String finWord = ""; +////// String unitName = ""; +////// if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { +////// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); +////// if (null != lpkGoods) { +////// goodsName = lpkGoods.getName(); +////// if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { +////// unitName = lpkGoods.getUnitName(); +////// } +////// } +////// } +////// if (orderGood.getGoodsNumber() != 0) { +////// num = String.valueOf((int) orderGood.getGoodsNumber()); +////// } +////// finWord = goodsName+num + unitName ; +////// i++; +////// if(i>1){ +////// ReserveOrderExport en=new ReserveOrderExport(); +////// BeanUtil.copyProperties(s,en , "id"); +////// en.setGoodsInfo(finWord); +////// exportList1.add(en); +////// }else{ +////// s.setGoodsInfo(finWord); +////// exportList1.add(s); +////// } +////// } +////// } +//// }); +//// } +//// //定义导出的excel名字 +//// //定义导出的excel名字 +//// String excelName = "订单明细.xlsx"; +//// String fileNameURL = "1"; +//// response.setContentType( "application/vnd.ms-excel"); +//// response.setCharacterEncoding("utf8"); +//// response.setHeader("Content-disposition","attachment;filename="+ excelName ); +//// ServletOutputStream outputStream = null; +//// try { +//// WriteCellStyle headWriteCellStyle = new WriteCellStyle(); +//// +//// //设置头居中 +//// headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +//// +//// //内容策略 +//// WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); +//// //设置 水平居中 +//// contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +////// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); +//// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); +//// +//// EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 +//// .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExport.class) +//// //是否自动关闭输入流 +//// .autoCloseStream(Boolean.TRUE) +////// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) +//// .registerWriteHandler(horizontalCellStyleStrategy) +//// .sheet().doWrite(exportList); +//// } catch (IOException e) { +//// throw new RuntimeException(e); +//// } +//// } +//// public void exportExcelByStore(ReserveDeliveryOrderQuery query) { +//// QueryWrapper qw = new QueryWrapper<>(); +//// qw.eq("1", "1"); +//// if (StringUtils.isNotBlank(query.getStartDate())) { +//// String startDate = query.getStartDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getEndDate())) { +//// String endDate = query.getEndDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getStore())) { +//// qw.like("s.name", query.getStore()); +//// } +//// if (StringUtils.isNotBlank(query.getBankSid())) { +//// qw.eq("s.bankSid", query.getBankSid()); +//// } +//// if (StringUtils.isNotBlank(query.getBankName())) { +//// qw.like("s.name", query.getBankName()); +//// } +//// qw.orderByAsc("o.reserveDate"); +//// qw.orderByDesc("d.sid"); +//// qw.orderByDesc("s.sid"); +//// qw.groupBy("o.reserveDate"); +//// qw.groupBy("t.goodsSid"); +//// qw.groupBy("s.name"); +////// qw.orderByDesc("o.reserveDate"); +////// qw.groupBy("s.name"); +//// //得到所有要导出的数据 +//// List exportList = baseMapper.exportExcelByStore(qw); +//// List exportList1 = new ArrayList<>(); +//// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +////// if (!exportList.isEmpty()) { +////// exportList.forEach(s -> { +////// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +////// s.setGoodsName(lpkGoods.getName()); +////// }); +////// } +//// //定义导出的excel名字 +//// String excelName = "配货信息.xlsx"; +//// String fileNameURL = "1"; +//// response.setContentType( "application/vnd.ms-excel"); +//// response.setCharacterEncoding("utf8"); +//// response.setHeader("Content-disposition","attachment;filename="+ excelName ); +//// ServletOutputStream outputStream = null; +//// try { +//// WriteCellStyle headWriteCellStyle = new WriteCellStyle(); +//// +//// //设置头居中 +//// headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +//// +//// //内容策略 +//// WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); +//// //设置 水平居中 +//// contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +////// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); +//// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); +//// +//// EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 +//// .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExportByStore.class) +//// //是否自动关闭输入流 +//// .autoCloseStream(Boolean.TRUE) +////// .registerWriteHandler(new MergeStrategy(exportList.size(),1,1)) +//// .registerWriteHandler(horizontalCellStyleStrategy) +//// .sheet().doWrite(exportList); +//// } catch (IOException e) { +//// throw new RuntimeException(e); +//// } +//// } +//// public void exportExcelByBank(ReserveDeliveryOrderQuery query) { +//// QueryWrapper qw = new QueryWrapper<>(); +//// qw.eq("1", "1"); +//// if (StringUtils.isNotBlank(query.getStartDate())) { +//// String startDate = query.getStartDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getEndDate())) { +//// String endDate = query.getEndDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getStore())) { +//// qw.like("s.name", query.getStore()); +//// } +//// if (StringUtils.isNotBlank(query.getBankSid())) { +//// qw.eq("s.bankSid", query.getBankSid()); +//// } +//// qw.orderByDesc("o.reserveDate"); +//// qw.groupBy("d.sid"); +//// qw.groupBy("t.goodsSid"); +//// qw.groupBy("o.reserveDate"); +////// qw.groupBy("s.name"); +//// //得到所有要导出的数据 +//// List exportList = baseMapper.exportExcelByBank(qw); +//// List exportList1 = new ArrayList<>(); +////// if (!exportList.isEmpty()) { +////// exportList.forEach(s -> { +////// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +////// s.setGoodsName(lpkGoods.getName()); +////// }); +////// } +//// //定义导出的excel名字 +//// String excelName = "支行汇总信息.xlsx"; +//// String fileNameURL = "1"; +//// response.setContentType( "application/vnd.ms-excel"); +//// response.setCharacterEncoding("utf8"); +//// response.setHeader("Content-disposition","attachment;filename="+ excelName ); +//// ServletOutputStream outputStream = null; +//// try { +//// WriteCellStyle headWriteCellStyle = new WriteCellStyle(); +//// //设置头居中 +//// headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +//// //内容策略 +//// WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); +//// //设置 水平居中 +//// contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +////// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); +//// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); +//// +//// EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 +//// .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExportByBank.class) +//// //是否自动关闭输入流 +//// .autoCloseStream(Boolean.TRUE) +////// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) +//// .registerWriteHandler(horizontalCellStyleStrategy) +//// .sheet().doWrite(exportList); +//// } catch (IOException e) { +//// throw new RuntimeException(e); +//// } +//// } +//// public void exportExcelByZ(ReserveDeliveryOrderQuery query) { +//// QueryWrapper qw = new QueryWrapper<>(); +//// qw.eq("1", "1"); +//// if (StringUtils.isNotBlank(query.getStartDate())) { +//// String startDate = query.getStartDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(startDate), "date_format (o.reserveDate,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getEndDate())) { +//// String endDate = query.getEndDate(); +//// qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(endDate), "date_format (o.reserveDate,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')"); +//// } +//// if (StringUtils.isNotBlank(query.getStore())) { +//// qw.like("s.name", query.getStore()); +//// } +//// if (StringUtils.isNotBlank(query.getBankSid())) { +//// qw.eq("s.bankSid", query.getBankSid()); +//// } +//// qw.orderByAsc("o.reserveDate"); +//// qw.groupBy("t.goodsSid"); +//// qw.groupBy("o.reserveDate"); +////// qw.groupBy("s.name"); +//// //得到所有要导出的数据 +//// List exportList = baseMapper.exportExcelByZ(qw); +//// List exportList1 = new ArrayList<>(); +////// if (!exportList.isEmpty()) { +////// exportList.forEach(s -> { +////// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(s.getGoodsSid()); +////// s.setGoodsName(lpkGoods.getName()); +//////// List list=baseMapper.getOrderByStore(s.getStoreSid(),s.getReserveDate()); +//////// List orderGoods = ReserveDeliveryOrderGoodsService.selInOrderSid(list); +//////// if (!orderGoods.isEmpty()) { +//////// int i=0; +//////// for (ReserveDeliveryOrderGoods orderGood : orderGoods) { +//////// String num = ""; +//////// String goodsName = ""; +//////// String finWord = ""; +//////// String unitName = ""; +//////// if (StringUtils.isNotBlank(orderGood.getGoodsSid())) { +//////// LpkGoods lpkGoods = lpkGoodsService.fetchBySid(orderGood.getGoodsSid()); +//////// if (null != lpkGoods) { +//////// goodsName = lpkGoods.getName(); +//////// if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { +//////// unitName = lpkGoods.getUnitName(); +//////// } +//////// } +//////// } +//////// if (orderGood.getGoodsNumber() != 0) { +//////// num = String.valueOf((int) orderGood.getGoodsNumber()); +//////// } +//////// finWord = goodsName+ num + unitName; +//////// i++; +//////// if(i>1){ +//////// ReserveOrderExportByBank en=new ReserveOrderExportByBank(); +//////// BeanUtil.copyProperties(s,en , "id"); +//////// en.setGoodsInfo(finWord); +//////// exportList1.add(en); +//////// }else{ +//////// s.setGoodsInfo(finWord); +//////// exportList1.add(s); +//////// } +//////// } +//////// } +////// }); +////// } +//// //定义导出的excel名字 +//// String excelName = "支行汇总信息.xlsx"; +//// String fileNameURL = "1"; +//// response.setContentType( "application/vnd.ms-excel"); +//// response.setCharacterEncoding("utf8"); +//// response.setHeader("Content-disposition","attachment;filename="+ excelName ); +//// ServletOutputStream outputStream = null; +//// try { +//// WriteCellStyle headWriteCellStyle = new WriteCellStyle(); +//// //设置头居中 +//// headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +//// //内容策略 +//// WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); +//// //设置 水平居中 +//// contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); +////// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle,contentWriteCellStyle); +//// HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle()); +//// +//// EasyExcel//将数据映射到DownloadDTO实体类并响应到浏览器 +//// .write(new BufferedOutputStream(response.getOutputStream()), ReserveOrderExportByZ.class) +//// //是否自动关闭输入流 +//// .autoCloseStream(Boolean.TRUE) +////// .registerWriteHandler(new MergeStrategy(exportList.size(),1,5)) +//// .registerWriteHandler(horizontalCellStyleStrategy) +//// .sheet().doWrite(exportList); +//// } catch (IOException e) { +//// throw new RuntimeException(e); +//// } +//// } +//// public ResultBean getStoreByCustomerSid(String sid) { +//// return new ResultBean().success().setData(baseMapper.getStoreByCustomerSid(sid)); +//// } +//// public ResultBean selByCardSid(String sid) { +//// return new ResultBean().success().setData(baseMapper.selByCardSid(sid)); +//// } +//// public ResultBean> selOrderByCardSid(String sid) { +//// return new ResultBean().success().setData(baseMapper.selOrderByCardSid(sid)); +//// } +// +// +// private QueryWrapper buildQuery(LpkReserveOrderQuery query) { +// QueryWrapper qw = new QueryWrapper<>(); +//// qw.eq("vo.isEnable","1"); +// +// if (StrUtil.isNotBlank(query.getStartDate())) { +// qw.ge("date_format(vo.reserveDate,'%Y-%m-%d')", query.getStartDate()); +// } +// if (StrUtil.isNotBlank(query.getEndDate())) { +// qw.le("date_format(vo.reserveDate,'%Y-%m-%d')", query.getEndDate()); +// } +// if (StrUtil.isNotBlank(query.getBankSid())) { +// qw.eq("lb.sid", query.getBankSid()); +// } +// if (StrUtil.isNotBlank(query.getStore())) { +// qw.eq("vo.storeSid", query.getStore()); +// } +// if (StrUtil.isNotBlank(query.getCardType())) { +// qw.eq("vo.affiliation", query.getCardType()); +// } +// +//// qw.orderByAsc("vo.reserveDate"); +// return qw; +// } +// +// public ResultBean> pageOfCustomer(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// LpkReserveOrderQuery query = pq.getParams(); +// QueryWrapper qw = buildQuery(query); +// +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagerVo = baseMapper.pageOfCustomer(page, qw); +// return rb.success().setData(pagerVo); +// } +// +// public Map> mapForExcelCustomer(LpkReserveOrderQuery query) { +// QueryWrapper qw = buildQuery(query); +// List list = baseMapper.pageOfCustomer(qw); +// Map> map = new HashMap<>(); +// list.forEach(vo -> { +// List volist = map.get(vo.getBankName()); +// if (volist == null) { +// volist = new ArrayList<>(); +// map.put(vo.getBankName(), volist); +// } +// ReserveCustomerExcel ex = new ReserveCustomerExcel(); +// BeanUtil.copyProperties(vo, ex); +// volist.add(ex); +// }); +// return map; +// } +// +// public ResultBean> pageOfStore(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// LpkReserveOrderQuery query = pq.getParams(); +// QueryWrapper qw = buildQuery(query); +// +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagerVo = baseMapper.pageOfStore(page, qw); +// return rb.success().setData(pagerVo); +// } +// +// public Map> mapForExcelStore(LpkReserveOrderQuery query) { +// QueryWrapper qw = buildQuery(query); +// List list = baseMapper.pageOfStore(qw); +// Map> map = new HashMap<>(); +// list.forEach(vo -> { +// List volist = map.get(vo.getBankName()); +// if (volist == null) { +// volist = new ArrayList<>(); +// map.put(vo.getBankName(), volist); +// } +// ReserveStoreExcel ex = new ReserveStoreExcel(); +// BeanUtil.copyProperties(vo, ex); +// volist.add(ex); +// }); +// return map; +// } +// +// public ResultBean> pageOfBank(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// LpkReserveOrderQuery query = pq.getParams(); +// QueryWrapper qw = buildQuery(query); +// +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagerVo = baseMapper.pageOfBank(page, qw); +// return rb.success().setData(pagerVo); +// } +// +// public Map> mapForExcelBank(LpkReserveOrderQuery query) { +// QueryWrapper qw = buildQuery(query); +// List list = baseMapper.pageOfBank(qw); +// Map> map = new HashMap<>(); +// list.forEach(vo -> { +// List volist = map.get(vo.getBankName()); +// if (volist == null) { +// volist = new ArrayList<>(); +// map.put(vo.getBankName(), volist); +// } +// ReserveBankExcel ex = new ReserveBankExcel(); +// BeanUtil.copyProperties(vo, ex); +// volist.add(ex); +// }); +// return map; +// } +// +// public ResultBean> pageOfAll(PagerQuery pq) { +// ResultBean rb = ResultBean.fireFail(); +// LpkReserveOrderQuery query = pq.getParams(); +// QueryWrapper qw = buildQuery(query); +// +// IPage page = PagerUtil.queryToPage(pq); +// IPage pagerVo = baseMapper.pageOfAll(page, qw); +// return rb.success().setData(pagerVo); +// } +// +// public List listForExcelAll(LpkReserveOrderQuery query) { +// +// +// QueryWrapper qw = buildQuery(query); +// List list = baseMapper.pageOfAll(qw); +// List listRes = new ArrayList<>(); +// +// list.forEach(vo -> { +// ReserveAllExcel ex = new ReserveAllExcel(); +// BeanUtil.copyProperties(vo, ex); +// listRes.add(ex); +// }); +// return listRes; +// } +//} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsMapper.java new file mode 100644 index 0000000..f3303b9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsMapper.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.biz.reservedeliveryorderdetails; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.reservedeliveryorderdetails.ReserveDeliveryOrderDetails; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface ReserveDeliveryOrderDetailsMapper extends BaseMapper { + @Select("select sum(goodsNumber) as goodsNumber , goodsSid as goodsSid from lpk_reserve_order_goods where cardSid=#{cardSid} and goodsSid=#{goodsSid}") + ReserveDeliveryOrderDetails getReserveByCardSid(@Param("cardSid") String cardSid, @Param("goodsSid") String goodsSid); + + ReserveDeliveryOrderDetails selByOrderSidAndGoodSid(@Param("orderSid") String orderSid, @Param("goodsSid") String goodsSid); + + @Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); + @Select("select *,goodsNumber as num from vege_cellar_reserve_details where orderSid=#{orderSid}") + List selByOrderSids(String orderSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsMapper.xml new file mode 100644 index 0000000..fb38c5b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsRest.java new file mode 100644 index 0000000..6177289 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsRest.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.biz.reservedeliveryorderdetails;//package com.yxt.ordermall.biz.reservedeliveryorderdetails; +// +//import io.swagger.annotations.Api; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +///** +// * @author wangpengfei +// * @date 2023/11/23 10:35 +// */ +//@Api(tags = "预约订单信息") +//@RestController +//@RequestMapping("vegecellarreservedetails") +//public class ReserveDeliveryOrderDetailsRest { +// @Autowired +// ReserveDeliveryOrderDetailsService ReserveDeliveryOrderDetailsService; +// +// +//// @ApiOperation("预约提交") +//// @PostMapping("/submissionDetail") +//// public ResultBean submissionDetail(ReserveDeliveryOrderDetailsDto dto){ +//// return ReserveDeliveryOrderDetailsService.submissionDetail(dto); +//// } +//} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsService.java new file mode 100644 index 0000000..f669613 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/reservedeliveryorderdetails/ReserveDeliveryOrderDetailsService.java @@ -0,0 +1,91 @@ +package com.yxt.ordermall.biz.reservedeliveryorderdetails;//package com.yxt.ordermall.biz.reservedeliveryorderdetails; +// +//import cn.hutool.core.bean.BeanUtil; +//import cn.hutool.core.date.DateTime; +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.yxt.common.base.service.MybatisBaseService; +//import com.yxt.common.core.result.ResultBean; +//import com.yxt.ordermall.api.customerstore.CustomerStoreDto; +//import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +//import com.yxt.ordermall.api.lpkgoods.LpkGoods; +//import com.yxt.ordermall.api.reservedeliveryorder.ReserveDeliveryOrderDto; +//import com.yxt.ordermall.api.reservedeliveryorderdetails.ReserveDeliveryOrderDetails; +//import com.yxt.ordermall.api.vegetablecellar.VegetableCellar; +//import com.yxt.ordermall.biz.customerstore.CustomerStoreService; +//import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardService; +//import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +//import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +// +//import java.util.List; +// +///** +// * @author wangpengfei +// * @date 2023/11/23 10:36 +// */ +//@Service +//public class ReserveDeliveryOrderDetailsService extends MybatisBaseService { +// @Autowired +// LpkGiftCardService lpkGiftCardService; +// @Autowired +// VegetableCellarService vegetableCellarService; +// @Autowired +// CustomerStoreService customerStoreService; +// @Autowired +// LpkGoodsService lpkGoodsService; +// +// +// public ResultBean getReserveByCardSid(String carSid, String goodsSid) { +// ResultBean rb = new ResultBean(); +// ReserveDeliveryOrderDetails goods = baseMapper.getReserveByCardSid(carSid, goodsSid); +// return rb.success().setData(goods); +// } +// +// public ResultBean submissionDetail(ReserveDeliveryOrderDto dto) { +// ResultBean rb = new ResultBean(); +// ReserveDeliveryOrderDetails goods = new ReserveDeliveryOrderDetails(); +// BeanUtil.copyProperties(dto, goods, "id", "sid"); +//// goods.setCardSid(dto.getSid()); +// for (GoodsVo goods1 : dto.getGoodsVos()) { +// if (goods1.getSelect() != 0) { +//// goods.setCardSid(dto.getSid()); +// LpkGoods goods2=lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods1.getGoodsSid())); +//// goods.setGoodsSid(goods1.getGoodsSid()); +// goods.setGoodsNumber(goods1.getSelect()); +// goods.setGoodsName(goods2.getName()); +// goods.setCreateTime(new DateTime()); +// goods.setOrderSid(dto.getOrderSid()); +// baseMapper.insert(goods); +// VegetableCellar vegetableCellar= vegetableCellarService.list(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) +// .eq("goodsSid",goods1.getGoodsSid()).eq("affiliation",goods2.getBrandId())).get(0); +// double d=Double.valueOf(vegetableCellar.getGoodsNumber()); +// double c=Double.valueOf(goods1.getSelect()); +// if(c>d){ +// return rb.setMsg("预约数量大于库存数量"); +// } +// if(Double.compare(d,c)==0){ +// vegetableCellarService.deleteBySid(vegetableCellar.getSid()); +// }else{ +// vegetableCellar.setGoodsNumber(String.valueOf((int)(Double.valueOf(vegetableCellar.getGoodsNumber())-Double.valueOf(goods1.getSelect())))); +// vegetableCellarService.updateById(vegetableCellar); +// } +// +// } +// } +// CustomerStoreDto dto1=new CustomerStoreDto(); +// dto1.setPhone(dto.getUserPhone()); +// dto1.setStoreSid(dto.getStoreSid()); +// dto1.setName(dto.getUserName()); +// dto1.setCustomerSid(dto.getCustomerSid()); +// customerStoreService.saveStore(dto1); +// return rb.success().setData("预约成功"); +// } +// +// +// +// +// public List selByOrderSids(String orderSid) { +// return baseMapper.selByOrderSids(orderSid); +// } +//} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/scheduled/scheduledRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/scheduled/scheduledRest.java new file mode 100644 index 0000000..01e0dc3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/scheduled/scheduledRest.java @@ -0,0 +1,250 @@ +package com.yxt.ordermall.biz.scheduled; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionary; +import com.yxt.ordermall.api.empcard.EmpCard; +import com.yxt.ordermall.api.empcardgift.EmpCardGift; +import com.yxt.ordermall.api.empcardgift.EmpCardGiftVo; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBag; +import com.yxt.ordermall.api.lpkgiftcard.LpkGiftCard; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderVo; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrder; +import com.yxt.ordermall.biz.cannotreservedictionary.CannotReserveDictionaryService; +import com.yxt.ordermall.biz.empcard.EmpCardMapper; +import com.yxt.ordermall.biz.empcardgift.EmpCardGiftMapper; +import com.yxt.ordermall.biz.lpkgiftbag.LpkGiftBagService; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardMapper; +import com.yxt.ordermall.biz.lpkreserveorder.LpkReserveOrderService; +import com.yxt.ordermall.biz.vegecallerreservedetail.VegeCellarReserveDetailsService; +import com.yxt.ordermall.biz.vegecallerreserveorder.VegeCellarReserveOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.web.bind.annotation.RestController; + +import java.text.SimpleDateFormat; +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.Period; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author wangpengfei + * @date 2023/12/20 10:44 + */ +@RestController +public class scheduledRest { + @Autowired + LpkGiftBagService lpkGiftBagService; + @Autowired + LpkGiftCardMapper lpkGiftCardMapper; + @Autowired + LpkReserveOrderService lpkReserveOrderService; + @Autowired + EmpCardMapper empCardMapper; + @Autowired + EmpCardGiftMapper empCardGiftMapper; + @Autowired + VegeCellarReserveOrderService vegeCellarReserveOrderService; + @Autowired + VegeCellarReserveDetailsService vegeCellarReserveDetailsService; + @Autowired + CannotReserveDictionaryService cannotReserveDictionaryService; + + @Scheduled(cron = "0 0 1 * * ? ") +// @Scheduled(cron = "0 * * * * ? ") + public void updateIsItInvalid() { + List lpkGiftBags = lpkGiftBagService.list(new QueryWrapper().eq("isSel","1")); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + //亲情卡过期状态 + empCardGiftState(); + //亲情卡预约提货状态 + empCardGiftReservationState(); + + for (LpkGiftBag lpkGiftBag : lpkGiftBags) { + //1>2 1 、1<2 -1 、1=2 0 + int in = DateUtil.parse(sdf.format(lpkGiftBag.getDateEnd())).compareTo(DateUtil.parse(sdf.format(new Date()))); + if (String.valueOf(in).equals("-1")) { + //家庭卡 + lpkState(lpkGiftBag); + //企业卡 + empCardState(lpkGiftBag); + lpkGiftBag.setIsSel("2"); + lpkGiftBagService.updateById(lpkGiftBag); + } else { + //家庭卡 + lpkReservationState(lpkGiftBag); + //企业卡 + empCardReservationState(lpkGiftBag); + } + } + } + + /** + * 家庭卡过期状态修改 + * @param lpkGiftBag + */ + public void lpkState(LpkGiftBag lpkGiftBag){ + Integer i = lpkGiftCardMapper.selectCount(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid()).ne("state", "5")); + //提货卡 礼包过期处理 + if (i != 0) { + lpkGiftCardMapper.updateIsItInvalid(lpkGiftBag.getSid(), "5"); + } + } + + /** + * 亲情卡礼包过期修改 + * + */ + public void empCardGiftState(){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List empCardGiftVos = empCardGiftMapper.getEmpCardGiftByGiftbagSid(sdf.format(new Date()),"5"); + if(empCardGiftVos.size()!=0){ + List sids=new ArrayList<>(); + empCardGiftVos.forEach(s->{ + sids.add(s.getEmpCardSid()) ; + }); + empCardGiftMapper.updateIsItInvalid(sids, "5"); + } + } + + /** + * 企业卡礼包状态修改 + * @param lpkGiftBag + */ + public void empCardState(LpkGiftBag lpkGiftBag){ + Integer i =empCardMapper.selectCount(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid()).ne("state", "5")); + if(i!=0){ + empCardMapper.updateIsItInvalid(lpkGiftBag.getSid(),"5"); + } + } + + /*** + * 家庭卡预约提货状态修改 + * @param lpkGiftBag + */ + public void lpkReservationState(LpkGiftBag lpkGiftBag){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List list = lpkGiftCardMapper.selectList(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid())); + for (LpkGiftCard card : list) { + LpkReserveOrderVo LpkReserveOrderVo = lpkReserveOrderService.selByCardSid(card.getSid()).getData(); + if (null != LpkReserveOrderVo) { + int c = DateUtil.parse(sdf.format(LpkReserveOrderVo.getReserveDate())).compareTo(DateUtil.parse(sdf.format(new Date()))); + if (String.valueOf(c).equals("-1")) { + if(card.getState().equals("5")){ + card.setIsItInvalid("1"); + } + card.setIsReservation("1"); + lpkGiftCardMapper.updateById(card); + } + } + } + } + + /*** + * 亲情卡预约提货状态修改 + * @param lpkGiftBag + */ + public void empCardGiftReservationState(){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List empCardGiftVos = empCardGiftMapper.getEmpCardGiftByGiftbagSid("",""); + for (EmpCardGiftVo card : empCardGiftVos) { + LpkReserveOrderVo LpkReserveOrderVo = lpkReserveOrderService.selByCardSid(card.getSid()).getData(); + if (null != LpkReserveOrderVo) { + // //1>2 1 、1<2 -1 、1=2 0 + int c = DateUtil.parse(sdf.format(LpkReserveOrderVo.getReserveDate())).compareTo(DateUtil.parse(sdf.format(new Date()))); +// EmpCardGift entity=new EmpCardGift(); +// BeanUtil.copyProperties(card, entity, "id", "sid"); + if (String.valueOf(c).equals("-1")) { + EmpCardGift entity=empCardGiftMapper.selectOne(new QueryWrapper().eq("sid",card.getSid())); + if(card.getState().equals("5")){ + entity.setIsItInvalid("1"); + } + entity.setIsReservation("1"); + empCardGiftMapper.update(entity,new QueryWrapper().eq("sid",entity.getSid())); + } + } + } + } + + /** + * 企业卡预约提货状态修改 + * @param lpkGiftBag + */ + public void empCardReservationState(LpkGiftBag lpkGiftBag){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List list = empCardMapper.selectList(new QueryWrapper().eq("giftbagSid", lpkGiftBag.getSid())); + for (EmpCard card : list) { + LpkReserveOrderVo LpkReserveOrderVo = lpkReserveOrderService.selByCardSid(card.getSid()).getData(); + if (null != LpkReserveOrderVo) { + int c = DateUtil.parse(sdf.format(LpkReserveOrderVo.getReserveDate())).compareTo(DateUtil.parse(sdf.format(new Date()))); + if (String.valueOf(c).equals("-1")) { + if(card.getState().equals("5")){ + card.setIsItInvalid("1"); + } + card.setIsReservation("1"); + empCardMapper.updateById(card); + } + } + } + } + + /** + * 修改我的菜窖提货状态 + */ + @Scheduled(cron = "0 0 1 * * ? ") +// @Scheduled(cron = "0 * * * * ? ") + public void updateReserveState() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List vegeCellarReserveOrders=vegeCellarReserveOrderService.list(new QueryWrapper().eq("state","0")); + for (VegeCellarReserveOrder vegeCellarReserveOrder : vegeCellarReserveOrders) { + //1>2 1 、1<2 -1 、1=2 0 + int c = DateUtil.parse(sdf.format(vegeCellarReserveOrder.getReserveDate())).compareTo(DateUtil.parse(sdf.format(new Date()))); + if(String.valueOf(c).equals("-1")){ + vegeCellarReserveOrder.setState("1"); + } + } + vegeCellarReserveOrderService.updateBatchById(vegeCellarReserveOrders); + } + @Scheduled(cron = "0 0 0 1 1 ? ") +// @Scheduled(cron = "0 * * * * ? ") + public void cannotReserve(){ + Date date =new Date(); + SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowDate =sdf1.format(date); + String endDate= sdf1.format(DateUtil.offsetMonth(date,12)); + LocalDate now = DateUtil.parse(nowDate).toSqlDate().toLocalDate(); + LocalDate endD = DateUtil.parse(endDate).toSqlDate().toLocalDate(); + List reserveDictionaries=new ArrayList<>(); + // 第一个星期六 + LocalDate saturday = now.with(DayOfWeek.SATURDAY); + do { + CannotReserveDictionary e=new CannotReserveDictionary(); + e.setUnavailableTime(saturday.toString()); + reserveDictionaries.add(e); + // 迭代一个星期 + saturday = saturday.plus(Period.ofDays(7)); + } while (saturday.compareTo(endD) < 1); + // 第一个星期天 + LocalDate sunday = now.with(DayOfWeek.SUNDAY); + do { + CannotReserveDictionary e=new CannotReserveDictionary(); + e.setUnavailableTime(sunday.toString()); + reserveDictionaries.add(e); + // 迭代一个星期 + sunday = sunday.plus(Period.ofDays(7)); + } while (sunday.compareTo(endD) < 1); + String nextYear = DateUtil.offsetMonth(new Date(), 12).toString(); + int y = DateUtil.year(DateUtil.parse(nextYear)); + CannotReserveDictionary e=new CannotReserveDictionary(); + e.setUnavailableTime(String.valueOf(y) + "-01-01"); + reserveDictionaries.add(e); + reserveDictionaries = reserveDictionaries.stream().sorted(Comparator.comparing(CannotReserveDictionary::getUnavailableTime)).collect(Collectors.toList()); + cannotReserveDictionaryService.saveBatch(reserveDictionaries); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartMapper.java new file mode 100644 index 0000000..09b23fe --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartMapper.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.biz.shoppingcart; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.shoppingcart.ShoppingCart; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Mapper +public interface ShoppingCartMapper extends BaseMapper { + List ShoppingCartList(@Param("customerSid")String customerSid, + @Param("brandId")String brandId, + @Param("periodValidity")String periodValidity); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartMapper.xml new file mode 100644 index 0000000..a7ed29a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartRest.java new file mode 100644 index 0000000..1a74b44 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartRest.java @@ -0,0 +1,54 @@ +package com.yxt.ordermall.biz.shoppingcart; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartDto; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Api(tags = "购物车") +@RestController +@RequestMapping("shoppingcart") +public class ShoppingCartRest { + @Autowired + ShoppingCartService shoppingCartService; + + + @ApiOperation("加入购物车") + @PostMapping("/addShoppingCart") + public ResultBean save(@RequestBody ShoppingCartDto dto) { + return shoppingCartService.save(dto); + } + @ApiOperation("减购物车") + @PostMapping("/minusShoppingCart") + public ResultBean minusShoppingCart(@RequestBody ShoppingCartDto dto) { + return shoppingCartService.minusShoppingCart(dto); + } + @ApiOperation("修改购物车数量") + @PostMapping("/updateShoppingCart") + public ResultBean updateShoppingCart(@RequestBody ShoppingCartDto dto) { + return shoppingCartService.updateShoppingCart(dto); + } + @ApiOperation("购物车列表") + @PostMapping("/shoppingCartList") + public ResultBean shoppingCartList(@RequestBody ShoppingCartQuery query) { + return shoppingCartService.shoppingCartList(query); + } + + @ApiOperation("删除购物车商品") + @PostMapping("/delShoppingCart/{sid}") + public ResultBean delShoppingCart(@PathVariable("sid") String sid) { + return shoppingCartService.delShoppingCart(sid); + } + @ApiOperation("计算购物车价格和重量") + @PostMapping("/getGoodsWeight") + public ResultBean getGoodsWeight(@RequestBody ShoppingCartQuery query) { + return shoppingCartService.getGoodsWeight(query); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartService.java new file mode 100644 index 0000000..37d612c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/shoppingcart/ShoppingCartService.java @@ -0,0 +1,270 @@ +package com.yxt.ordermall.biz.shoppingcart; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkcustomer.LpkCustomer; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.shoppingcart.ShoppingCart; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartDto; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartQuery; +import com.yxt.ordermall.api.shoppingcart.ShoppingCartVo; +import com.yxt.ordermall.biz.lpkcustomer.LpkCustomerService; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.mallplus.biz.pms.service.impl.PmsBrandServiceImpl; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsBrand; +import com.yxt.ordermall.utils.DoubleUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Service +public class ShoppingCartService extends MybatisBaseService { + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + LpkCustomerService lpkCustomerService; + @Autowired + private LpkGoodsService lpkGoodsService; + @Autowired + PmsBrandServiceImpl pmsBrandService; + + public ResultBean save(ShoppingCartDto dto) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity = new ShoppingCart(); + if(StringUtils.isBlank(dto.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + if(StringUtils.isBlank(dto.getGoodsSid())){ + return rb.setMsg("参数不全"); + } + List list = baseMapper.selectList(new QueryWrapper().eq("customerSid", dto.getCustomerSid()) + .eq("goodsSid", dto.getGoodsSid()) + .eq("affiliation", dto.getAffiliation())); + if (list.size() > 0) { +// list.get(0).setGoodsNumber(String.valueOf(Double.valueOf(dto.getGoodsNumber())+Double.valueOf(list.get(0).getGoodsNumber()))); + if (dto.getGoodsNumber().equals("0")) { + baseMapper.delete(new QueryWrapper().eq("customerSid", dto.getCustomerSid()) + .eq("goodsSid", dto.getGoodsSid()) + .eq("affiliation", dto.getAffiliation())); + } else { + list.get(0).setGoodsNumber(dto.getGoodsNumber()); + baseMapper.updateById(list.get(0)); + } + return rb.success().setMsg("成功"); + } + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + return rb.success().setMsg("成功"); + } + + public ResultBean> shoppingCartList(ShoppingCartQuery query) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity = new ShoppingCart(); + if(StringUtils.isBlank(query.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + if(StringUtils.isBlank(query.getBrandId())){ + return rb.setMsg("参数不全"); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date date=new Date(); + String periodValidity=sdf.format(date); + List list = baseMapper.ShoppingCartList(query.getCustomerSid(), query.getBrandId(),periodValidity); + list.forEach(s -> { + s.setTotalPrice(removeZeros(String.valueOf((Double.valueOf(s.getJPrice()) * Double.valueOf(s.getGoodsNumber()))))); + s.setIconUrl(fileUploadComponent.getUrlPrefix() + s.getIconUrl()); + }); + + return rb.success().setData(list).setMsg("成功"); + } + + public ResultBean minusShoppingCart(ShoppingCartDto dto) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity = new ShoppingCart(); +// List list= baseMapper.selectList(new QueryWrapper().eq("sid",dto.getSid())); + List list = baseMapper.selectList(new QueryWrapper().eq("customerSid", dto.getCustomerSid()) + .eq("goodsSid", dto.getGoodsSid()) + .eq("affiliation", dto.getAffiliation())); + if (list.size() > 0) { + list.get(0).setGoodsNumber(String.valueOf(Double.valueOf(list.get(0).getGoodsNumber()) - Double.valueOf(dto.getGoodsNumber()))); + baseMapper.updateById(list.get(0)); + return rb.success().setMsg("成功"); + } +// BeanUtil.copyProperties(dto, entity, "id", "sid"); +// baseMapper.insert(entity); + return rb.success().setMsg("成功"); + } + public ResultBean updateShoppingCart(ShoppingCartDto dto) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity = new ShoppingCart(); +// List list= baseMapper.selectList(new QueryWrapper().eq("sid",dto.getSid())); + List list = baseMapper.selectList(new QueryWrapper().eq("customerSid", dto.getCustomerSid()) + .eq("goodsSid", dto.getGoodsSid()) + .eq("affiliation", dto.getAffiliation())); + if (list.size() > 0) { + list.get(0).setGoodsNumber(dto.getGoodsNumber()); + baseMapper.updateById(list.get(0)); + return rb.success().setMsg("成功"); + } + return rb.success().setMsg("成功"); + } + + public ResultBean delShoppingCart(String sid) { + ResultBean rb = ResultBean.fireFail(); + ShoppingCart entity = new ShoppingCart(); + baseMapper.delete(new QueryWrapper().eq("sid ", sid)); + return rb.success().setMsg("成功"); + } + + public ResultBean getGoodsWeight(ShoppingCartQuery query) { + ResultBean rb = new ResultBean().fail(); + if(StringUtils.isBlank(query.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + if(StringUtils.isBlank(query.getBrandId())){ + return rb.setMsg("参数不全"); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date date=new Date(); + String periodValidity=sdf.format(date); + List list = baseMapper.ShoppingCartList(query.getCustomerSid(), query.getBrandId(),periodValidity); + double price = 0; + double standbyPrice =0; + double weight = 0; + for (ShoppingCartVo vo : list) { + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(vo.getGoodsSid()); + String stepWeight = lpkGoods.getStepWeight(); + String stepPrice = lpkGoods.getStepPrice(); + String a =DoubleUtils.removeZeros(String.valueOf(Double.valueOf(vo.getWeight())*Double.valueOf(vo.getGoodsNumber()))); + BigDecimal weightW = new BigDecimal(a); + if(StringUtils.isNotBlank(stepPrice)){ + System.out.println(weightW.compareTo(new BigDecimal(stepWeight))); + if(weightW.compareTo(new BigDecimal(stepWeight)) == -1){ + stepPrice = DoubleUtils.removeZeros(String.valueOf(Double.valueOf(vo.getJPrice())*Double.valueOf(vo.getWeight()))); ///份价格 + }else{ + stepPrice = DoubleUtils.removeZeros(String.valueOf(Double.valueOf(stepPrice)*Double.valueOf(vo.getWeight()))); ///份价格 + } + }else{ + stepPrice = DoubleUtils.removeZeros(String.valueOf(Double.valueOf(vo.getJPrice())*Double.valueOf(vo.getWeight()))); + } + + if ("北京3号白菜".equals(vo.getGoodsName()) + || "玲珑黄白菜".equals(vo.getGoodsName()) + || "V7土豆".equals(vo.getGoodsName()) + || "黄金薯土豆".equals(vo.getGoodsName())) { + + price = Double.valueOf(stepPrice)* Double.valueOf(vo.getGoodsNumber()) + price; + standbyPrice=Double.valueOf(vo.getPrice())*Double.valueOf(vo.getGoodsNumber())+standbyPrice; + weight = Double.valueOf(vo.getWeight()) * Double.valueOf(vo.getGoodsNumber()) + weight; +// } + } else { + price = Double.valueOf(vo.getPrice()) * Double.valueOf(vo.getGoodsNumber()) + price; + standbyPrice=Double.valueOf(vo.getPrice())*Double.valueOf(vo.getGoodsNumber())+standbyPrice; + weight = Double.valueOf(vo.getWeight()) * Double.valueOf(vo.getGoodsNumber()) + weight; + } + } + ShoppingCartVo vo = new ShoppingCartVo(); +// 1.20斤起订量。 +// 2.0-99斤加10%附加额。 +// 3.100斤-199斤加5%附加额。 + vo.setCustomerSid(query.getCustomerSid()); + vo.setTotalPrice(removeZeros(String.valueOf(aa(price)))); + vo.setStandbyPrice(removeZeros(String.valueOf(aa(standbyPrice)))); + vo.setTotalWeight(removeZeros(String.valueOf(aa(weight)))); + vo.setAffiliation(query.getBrandId()); + vo = price(vo); + return rb.success().setData(vo); + } + + private ShoppingCartVo price(ShoppingCartVo vo) { + double weight = Double.valueOf(vo.getTotalWeight()); + LpkCustomer lpkCustomer = lpkCustomerService.getOne(new QueryWrapper().eq("sid", vo.getCustomerSid())); + PmsBrand one=pmsBrandService.getOne(new QueryWrapper().eq("id",vo.getAffiliation())); + if(vo.getAffiliation().equals("1001045")){ + if (weight < one.getQssl()) { + vo.setRemarks("不足"+one.getQssl()+"斤"); + }else { + String c = String.valueOf(Double.valueOf(vo.getStandbyPrice())-Double.valueOf(vo.getTotalPrice())); + if(DoubleUtils.removeZeros(c).equals("0")){ + vo.setRemarks(""); + }else{ + vo.setRemarks("已优惠" + removeZeros(c) + "元"); + } + } + return vo; + }else if(vo.getAffiliation().equals("1001020")){ + return vo; + }; + vo.setRemarks("已减免附加额"); + if (weight <= 99) { + if (weight < one.getQssl()) { + double a = 1.1; + double d = Double.valueOf(vo.getTotalPrice()); + double t = Double.valueOf(vo.getTotalPrice()) * a; + BigDecimal bg = new BigDecimal(t); + vo.setTotalPrice(removeZeros(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()))); +// String c =String.valueOf(Double.valueOf(vo.getTotalPrice())-d); + double f = Double.valueOf(vo.getTotalPrice()) - d; + BigDecimal bgd = new BigDecimal(f); + String c = String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); + vo.setRemarks("不足"+one.getQssl()+"斤"); + } else { + double a = 1.1; + double d = Double.valueOf(vo.getTotalPrice()); + double t = Double.valueOf(vo.getTotalPrice()) * a; + BigDecimal bg = new BigDecimal(t); + vo.setTotalPrice(removeZeros(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()))); +// String c =String.valueOf(Double.valueOf(vo.getTotalPrice())-d); + double f = Double.valueOf(vo.getTotalPrice()) - d; + BigDecimal bgd = new BigDecimal(f); + String c = String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); + vo.setRemarks("含附加额" + removeZeros(c) + "元"); + } + } else if (weight >= 100 && weight <= 199) { + double a = 1.05; + double d = Double.valueOf(vo.getTotalPrice()); + double t = Double.valueOf(vo.getTotalPrice()) * a; + BigDecimal bg = new BigDecimal(t); + vo.setTotalPrice(removeZeros(String.valueOf(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()))); +// String c =String.valueOf(Double.valueOf(vo.getTotalPrice())-d); + double f = Double.valueOf(vo.getTotalPrice()) - d; + BigDecimal bgd = new BigDecimal(f); + String c = String.valueOf(bgd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); + vo.setRemarks("含附加额" + removeZeros(c) + "元"); + } + return vo; + } + + /** + * 去除多余.0 + * + * @param num + * @return + */ + public static String removeZeros(String num) { + if (num.indexOf(".") > 0) { + // 去掉多余的0 + num = num.replaceAll("0+?$", ""); + // 如果最后一位是. 则去掉 + num = num.replaceAll("[.]$", ""); + } + return num; + } + public String aa(double a){ + BigDecimal d=new BigDecimal(a); + double c= d.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); + return String.valueOf(c); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponHistoryService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponHistoryService.java new file mode 100644 index 0000000..e9b7245 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponHistoryService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.api.sms.entity.SmsCouponHistory; + +/** + *

+ * 优惠券使用、领取历史表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface ISmsCouponHistoryService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponProductCategoryRelationService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponProductCategoryRelationService.java new file mode 100644 index 0000000..9dbd8b8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponProductCategoryRelationService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductCategoryRelation; + +/** + *

+ * 优惠券和产品分类关系表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface ISmsCouponProductCategoryRelationService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponProductRelationService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponProductRelationService.java new file mode 100644 index 0000000..1d1e0ea --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponProductRelationService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductRelation; + +/** + *

+ * 优惠券和产品的关系表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface ISmsCouponProductRelationService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponService.java new file mode 100644 index 0000000..6657f23 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/ISmsCouponService.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.api.sms.entity.SmsCoupon; +import com.yxt.ordermall.api.sms.vo.SmsCouponParam; +import org.springframework.transaction.annotation.Transactional; + +/** + *

+ * 优惠卷表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface ISmsCouponService extends IService { + + boolean saves(SmsCouponParam entity); + + boolean updateByIds(SmsCouponParam entity); + + /** + * 获取优惠券详情 + * + * @param id 优惠券表id + */ + SmsCouponParam getItem(Long id); + + /** + * 根据优惠券id删除优惠券 + */ + @Transactional + int delete(Long id); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponController.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponController.java new file mode 100644 index 0000000..89d7f09 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponController.java @@ -0,0 +1,121 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.api.sms.entity.SmsCoupon; +import com.yxt.ordermall.api.sms.vo.SmsCouponParam; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + *

+ * 优惠卷表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "SmsCouponController", description = "优惠卷表管理") +@RequestMapping("/sms/SmsCoupon") +public class SmsCouponController { + @Resource + private com.yxt.ordermall.biz.smscoupon.ISmsCouponService ISmsCouponService; + +// @SysLog(MODULE = "sms", REMARK = "根据条件查询所有优惠卷表列表") + @ApiOperation("根据条件查询所有优惠卷表列表") + @GetMapping(value = "/list") +// @PreAuthorize("hasAuthority('sms:SmsCoupon:read')") + public Object getSmsCouponByPage(SmsCoupon entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success( + ISmsCouponService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity).orderByDesc("id")) + ); + } catch (Exception e) { + log.error("根据条件查询所有优惠卷表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "保存优惠卷表") + @ApiOperation("保存优惠卷表") + @PostMapping(value = "/create") +// @PreAuthorize("hasAuthority('sms:SmsCoupon:create')") + public Object saveSmsCoupon(@RequestBody SmsCouponParam entity) { + try { + if (ISmsCouponService.saves(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存优惠卷表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "更新优惠卷表") + @ApiOperation("更新优惠卷表") + @PostMapping(value = "/update/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCoupon:update')") + public Object updateSmsCoupon(@RequestBody SmsCouponParam entity) { + try { + if (ISmsCouponService.updateByIds(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新优惠卷表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "删除优惠卷表") + @ApiOperation("删除优惠卷表") + @GetMapping(value = "/delete/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCoupon:delete')") + public Object deleteSmsCoupon(@ApiParam("优惠卷表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("优惠卷表id"); + } + if (ISmsCouponService.delete(id) > 0) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除优惠卷表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "给优惠卷表分配优惠卷表") + @ApiOperation("查询优惠卷表明细") + @GetMapping(value = "/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCoupon:read')") + public Object getSmsCouponById(@ApiParam("优惠卷表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("优惠卷表id"); + } + SmsCouponParam coupon = ISmsCouponService.getItem(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询优惠卷表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryController.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryController.java new file mode 100644 index 0000000..5ff0d6c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryController.java @@ -0,0 +1,132 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.api.sms.entity.SmsCouponHistory; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 优惠券使用、领取历史表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "SmsCouponHistoryController", description = "优惠券使用、领取历史表管理") +@RequestMapping("/sms/SmsCouponHistory") +public class SmsCouponHistoryController { + @Resource + private com.yxt.ordermall.biz.smscoupon.ISmsCouponHistoryService ISmsCouponHistoryService; + +// @SysLog(MODULE = "sms", REMARK = "根据条件查询所有优惠券使用、领取历史表列表") + @ApiOperation("根据条件查询所有优惠券使用、领取历史表列表") + @GetMapping(value = "/list") +// @PreAuthorize("hasAuthority('sms:SmsCouponHistory:read')") + public Object getSmsCouponHistoryByPage(SmsCouponHistory entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(ISmsCouponHistoryService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有优惠券使用、领取历史表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "保存优惠券使用、领取历史表") + @ApiOperation("保存优惠券使用、领取历史表") + @PostMapping(value = "/create") +// @PreAuthorize("hasAuthority('sms:SmsCouponHistory:create')") + public Object saveSmsCouponHistory(@RequestBody SmsCouponHistory entity) { + try { + if (ISmsCouponHistoryService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存优惠券使用、领取历史表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "更新优惠券使用、领取历史表") + @ApiOperation("更新优惠券使用、领取历史表") + @PostMapping(value = "/update/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponHistory:update')") + public Object updateSmsCouponHistory(@RequestBody SmsCouponHistory entity) { + try { + if (ISmsCouponHistoryService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新优惠券使用、领取历史表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "删除优惠券使用、领取历史表") + @ApiOperation("删除优惠券使用、领取历史表") + @GetMapping(value = "/delete/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponHistory:delete')") + public Object deleteSmsCouponHistory(@ApiParam("优惠券使用、领取历史表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("优惠券使用、领取历史表id"); + } + if (ISmsCouponHistoryService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除优惠券使用、领取历史表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "给优惠券使用、领取历史表分配优惠券使用、领取历史表") + @ApiOperation("查询优惠券使用、领取历史表明细") + @GetMapping(value = "/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponHistory:read')") + public Object getSmsCouponHistoryById(@ApiParam("优惠券使用、领取历史表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("优惠券使用、领取历史表id"); + } + SmsCouponHistory coupon = ISmsCouponHistoryService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询优惠券使用、领取历史表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除优惠券使用、领取历史表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody +// @SysLog(MODULE = "pms", REMARK = "批量删除优惠券使用、领取历史表") +// @PreAuthorize("hasAuthority('sms:SmsCouponHistory:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = ISmsCouponHistoryService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryMapper.java new file mode 100644 index 0000000..761ca71 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryMapper.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.sms.entity.SmsCouponHistory; +import com.yxt.ordermall.api.sms.vo.SmsCouponHistoryDetail; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 优惠券使用、领取历史表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */@Mapper +public interface SmsCouponHistoryMapper extends BaseMapper { + + List getDetailList(Long memberId); + + int updateUseStatus(@Param("useStatus") int i, @Param("endTime") String tomorrow); + + int updateUseStatuss(@Param("useStatus")int i, @Param("memberId") Long memberId,@Param("couponId") Long couponId); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryMapper.xml new file mode 100644 index 0000000..7881b59 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryMapper.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, coupon_id, member_id, coupon_code, member_nickname, get_type, create_time, use_status, use_time, order_id, + order_sn, start_time, end_time, note + + + + update sms_coupon_history set use_status = #{useStatus} where end_time <= #{endTime} and use_status = 0 + + + + update sms_coupon_history set use_status = #{useStatus} where member_id = #{memberId} and coupon_id = #{couponId} + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryServiceImpl.java new file mode 100644 index 0000000..b246662 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponHistoryServiceImpl.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.api.sms.entity.SmsCouponHistory; +import org.springframework.stereotype.Service; + +/** + *

+ * 优惠券使用、领取历史表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class SmsCouponHistoryServiceImpl extends ServiceImpl implements ISmsCouponHistoryService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponMapper.java new file mode 100644 index 0000000..011803b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponMapper.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.sms.entity.SmsCoupon; +import com.yxt.ordermall.api.sms.vo.SmsCouponParam; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 优惠卷表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface SmsCouponMapper extends BaseMapper { + + List selectNotRecive(@Param("memberId") Long memberId, @Param("limit") Integer limit); + + List selectRecive(@Param("memberId") Long memberId, @Param("limit") Integer limit); + + SmsCouponParam getItem(@Param("id") Long id); + + List selectAll(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponMapper.xml new file mode 100644 index 0000000..298934c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponMapper.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, type, name, platform, count, amount, per_limit, min_point, start_time, end_time, use_type, note, + publish_count, use_count, receive_count, enable_time, code, member_level + + + + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationController.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationController.java new file mode 100644 index 0000000..9e3edb6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationController.java @@ -0,0 +1,132 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductCategoryRelation; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 优惠券和产品分类关系表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "SmsCouponProductCategoryRelationController", description = "优惠券和产品分类关系表管理") +@RequestMapping("/sms/SmsCouponProductCategoryRelation") +public class SmsCouponProductCategoryRelationController { + @Resource + private com.yxt.ordermall.biz.smscoupon.ISmsCouponProductCategoryRelationService ISmsCouponProductCategoryRelationService; + +// @SysLog(MODULE = "sms", REMARK = "根据条件查询所有优惠券和产品分类关系表列表") + @ApiOperation("根据条件查询所有优惠券和产品分类关系表列表") + @GetMapping(value = "/list") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductCategoryRelation:read')") + public Object getSmsCouponProductCategoryRelationByPage(SmsCouponProductCategoryRelation entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(ISmsCouponProductCategoryRelationService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有优惠券和产品分类关系表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "保存优惠券和产品分类关系表") + @ApiOperation("保存优惠券和产品分类关系表") + @PostMapping(value = "/create") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductCategoryRelation:create')") + public Object saveSmsCouponProductCategoryRelation(@RequestBody SmsCouponProductCategoryRelation entity) { + try { + if (ISmsCouponProductCategoryRelationService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存优惠券和产品分类关系表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "更新优惠券和产品分类关系表") + @ApiOperation("更新优惠券和产品分类关系表") + @PostMapping(value = "/update/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductCategoryRelation:update')") + public Object updateSmsCouponProductCategoryRelation(@RequestBody SmsCouponProductCategoryRelation entity) { + try { + if (ISmsCouponProductCategoryRelationService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新优惠券和产品分类关系表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "删除优惠券和产品分类关系表") + @ApiOperation("删除优惠券和产品分类关系表") + @GetMapping(value = "/delete/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductCategoryRelation:delete')") + public Object deleteSmsCouponProductCategoryRelation(@ApiParam("优惠券和产品分类关系表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("优惠券和产品分类关系表id"); + } + if (ISmsCouponProductCategoryRelationService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除优惠券和产品分类关系表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "给优惠券和产品分类关系表分配优惠券和产品分类关系表") + @ApiOperation("查询优惠券和产品分类关系表明细") + @GetMapping(value = "/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductCategoryRelation:read')") + public Object getSmsCouponProductCategoryRelationById(@ApiParam("优惠券和产品分类关系表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("优惠券和产品分类关系表id"); + } + SmsCouponProductCategoryRelation coupon = ISmsCouponProductCategoryRelationService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询优惠券和产品分类关系表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除优惠券和产品分类关系表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody +// @SysLog(MODULE = "pms", REMARK = "批量删除优惠券和产品分类关系表") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductCategoryRelation:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = ISmsCouponProductCategoryRelationService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationMapper.java new file mode 100644 index 0000000..348a1fd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationMapper.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductCategoryRelation; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 优惠券和产品分类关系表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */@Mapper +public interface SmsCouponProductCategoryRelationMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationMapper.xml new file mode 100644 index 0000000..ec842f6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + id, coupon_id, product_category_id, product_category_name, parent_category_name + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationServiceImpl.java new file mode 100644 index 0000000..b1143d9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductCategoryRelationServiceImpl.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductCategoryRelation; +import org.springframework.stereotype.Service; + +/** + *

+ * 优惠券和产品分类关系表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class SmsCouponProductCategoryRelationServiceImpl extends ServiceImpl implements ISmsCouponProductCategoryRelationService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationController.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationController.java new file mode 100644 index 0000000..9f36752 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationController.java @@ -0,0 +1,132 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductRelation; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 优惠券和产品的关系表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "SmsCouponProductRelationController", description = "优惠券和产品的关系表管理") +@RequestMapping("/sms/SmsCouponProductRelation") +public class SmsCouponProductRelationController { + @Resource + private com.yxt.ordermall.biz.smscoupon.ISmsCouponProductRelationService ISmsCouponProductRelationService; + +// @SysLog(MODULE = "sms", REMARK = "根据条件查询所有优惠券和产品的关系表列表") + @ApiOperation("根据条件查询所有优惠券和产品的关系表列表") + @GetMapping(value = "/list") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductRelation:read')") + public Object getSmsCouponProductRelationByPage(SmsCouponProductRelation entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(ISmsCouponProductRelationService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有优惠券和产品的关系表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "保存优惠券和产品的关系表") + @ApiOperation("保存优惠券和产品的关系表") + @PostMapping(value = "/create") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductRelation:create')") + public Object saveSmsCouponProductRelation(@RequestBody SmsCouponProductRelation entity) { + try { + if (ISmsCouponProductRelationService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存优惠券和产品的关系表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "更新优惠券和产品的关系表") + @ApiOperation("更新优惠券和产品的关系表") + @PostMapping(value = "/update/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductRelation:update')") + public Object updateSmsCouponProductRelation(@RequestBody SmsCouponProductRelation entity) { + try { + if (ISmsCouponProductRelationService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新优惠券和产品的关系表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "删除优惠券和产品的关系表") + @ApiOperation("删除优惠券和产品的关系表") + @GetMapping(value = "/delete/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductRelation:delete')") + public Object deleteSmsCouponProductRelation(@ApiParam("优惠券和产品的关系表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("优惠券和产品的关系表id"); + } + if (ISmsCouponProductRelationService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除优惠券和产品的关系表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + +// @SysLog(MODULE = "sms", REMARK = "给优惠券和产品的关系表分配优惠券和产品的关系表") + @ApiOperation("查询优惠券和产品的关系表明细") + @GetMapping(value = "/{id}") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductRelation:read')") + public Object getSmsCouponProductRelationById(@ApiParam("优惠券和产品的关系表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("优惠券和产品的关系表id"); + } + SmsCouponProductRelation coupon = ISmsCouponProductRelationService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询优惠券和产品的关系表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除优惠券和产品的关系表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody +// @SysLog(MODULE = "pms", REMARK = "批量删除优惠券和产品的关系表") +// @PreAuthorize("hasAuthority('sms:SmsCouponProductRelation:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = ISmsCouponProductRelationService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationMapper.java new file mode 100644 index 0000000..100ed73 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationMapper.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductRelation; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 优惠券和产品的关系表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */@Mapper +public interface SmsCouponProductRelationMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationMapper.xml new file mode 100644 index 0000000..78427e7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + id, coupon_id, product_id, product_name, product_sn + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationServiceImpl.java new file mode 100644 index 0000000..a9bd904 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponProductRelationServiceImpl.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductRelation; +import org.springframework.stereotype.Service; + +/** + *

+ * 优惠券和产品的关系表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class SmsCouponProductRelationServiceImpl extends ServiceImpl implements ISmsCouponProductRelationService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponServiceImpl.java new file mode 100644 index 0000000..d4bacee --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/smscoupon/SmsCouponServiceImpl.java @@ -0,0 +1,105 @@ +package com.yxt.ordermall.biz.smscoupon; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.api.sms.entity.SmsCoupon; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductCategoryRelation; +import com.yxt.ordermall.api.sms.entity.SmsCouponProductRelation; +import com.yxt.ordermall.api.sms.vo.SmsCouponParam; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + *

+ * 优惠卷表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class SmsCouponServiceImpl extends ServiceImpl implements ISmsCouponService { + + @Resource + private SmsCouponMapper couponMapper; + @Resource + private SmsCouponProductRelationMapper productRelationMapper; + @Resource + private SmsCouponProductCategoryRelationMapper productCategoryRelationMapper; + @Resource + private ISmsCouponProductRelationService productRelationDao; + @Resource + private ISmsCouponProductCategoryRelationService productCategoryRelationDao; + + @Override + public boolean saves(SmsCouponParam couponParam) { + couponParam.setCount(couponParam.getPublishCount()); + couponParam.setUseCount(0); + couponParam.setReceiveCount(0); + //插入优惠券表 + int count = couponMapper.insert(couponParam); + //插入优惠券和商品关系表 + if (couponParam.getUseType().equals(2)) { + for (SmsCouponProductRelation productRelation : couponParam.getProductRelationList()) { + productRelation.setCouponId(couponParam.getId()); + } + productRelationDao.saveBatch(couponParam.getProductRelationList()); + } + //插入优惠券和商品分类关系表 + if (couponParam.getUseType().equals(1)) { + for (SmsCouponProductCategoryRelation couponProductCategoryRelation : couponParam.getProductCategoryRelationList()) { + couponProductCategoryRelation.setCouponId(couponParam.getId()); + } + productCategoryRelationDao.saveBatch(couponParam.getProductCategoryRelationList()); + } + return true; + } + + @Override + public boolean updateByIds(SmsCouponParam couponParam) { + couponParam.setId(couponParam.getId()); + int count = couponMapper.updateById(couponParam); + //删除后插入优惠券和商品关系表 + if (couponParam.getUseType().equals(2)) { + for (SmsCouponProductRelation productRelation : couponParam.getProductRelationList()) { + productRelation.setCouponId(couponParam.getId()); + } + deleteProductRelation(couponParam.getId()); + productRelationDao.saveBatch(couponParam.getProductRelationList()); + } + //删除后插入优惠券和商品分类关系表 + if (couponParam.getUseType().equals(1)) { + for (SmsCouponProductCategoryRelation couponProductCategoryRelation : couponParam.getProductCategoryRelationList()) { + couponProductCategoryRelation.setCouponId(couponParam.getId()); + } + deleteProductCategoryRelation(couponParam.getId()); + productCategoryRelationDao.saveBatch(couponParam.getProductCategoryRelationList()); + } + return true; + } + + private void deleteProductCategoryRelation(Long id) { + productCategoryRelationMapper.delete(new QueryWrapper<>(new SmsCouponProductCategoryRelation()).eq("coupon_id", id)); + } + + private void deleteProductRelation(Long id) { + productRelationMapper.delete(new QueryWrapper<>(new SmsCouponProductRelation()).eq("coupon_id", id)); + } + + @Override + public int delete(Long id) { + //删除优惠券 + int count = couponMapper.deleteById(id); + //删除商品关联 + deleteProductRelation(id); + //删除商品分类关联 + deleteProductCategoryRelation(id); + return count; + } + + @Override + public SmsCouponParam getItem(Long id) { + return couponMapper.getItem(id); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsMapper.java new file mode 100644 index 0000000..50f252f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsMapper.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.biz.transferrecords; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.ordermall.api.transferrecords.TransferRecords; +import com.yxt.ordermall.api.transferrecords.TransferRecordsQuery; +import com.yxt.ordermall.api.transferrecords.TransferRecordsVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface TransferRecordsMapper extends BaseMapper { + @Select("select sum(goodsNumber) as goodsNumber , goodsSid as goodsSid from lpk_reserve_order_goods where cardSid=#{cardSid} and goodsSid=#{goodsSid}") + TransferRecords getReserveByCardSid(@Param("cardSid") String cardSid, @Param("goodsSid") String goodsSid); + + TransferRecords selByOrderSidAndGoodSid(@Param("orderSid") String orderSid, @Param("goodsSid") String goodsSid); + + @Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); + @Select("select *,goodsNumber as num from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSids(String orderSid); + + IPage orderListByUserSid(IPage page, @Param("query") TransferRecordsQuery query); + IPage orderListByUserSid1(IPage page, @Param("query") TransferRecordsQuery query); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsMapper.xml new file mode 100644 index 0000000..2ac716b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsMapper.xml @@ -0,0 +1,58 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsRest.java new file mode 100644 index 0000000..e0ba77d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsRest.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.biz.transferrecords; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.transferrecords.TransferRecordsDto; +import com.yxt.ordermall.api.transferrecords.TransferRecordsQuery; +import com.yxt.ordermall.api.transferrecords.TransferRecordsVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("transferrecords") +public class TransferRecordsRest { + @Autowired + TransferRecordsService TransferRecordsService; + + @ApiOperation("转赠蔬菜") + @PostMapping("/submission") + public ResultBean submission(@RequestBody TransferRecordsDto dto) { + return TransferRecordsService.submission(dto); + } + @ApiOperation("根据转赠卡号查询") + @PostMapping("/getTransferByCode/{code}") + public ResultBean getTransferByCode(@PathVariable("code") String code) { + return TransferRecordsService.getTransferByCode(code); + } + @ApiOperation("转赠记录表") + @PostMapping("/transferRecordsList") + public ResultBean> transferRecordsList(@RequestBody PagerQuery pq) { + return TransferRecordsService.transferRecordsList(pq); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsService.java new file mode 100644 index 0000000..4ce3c7d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecords/TransferRecordsService.java @@ -0,0 +1,165 @@ +package com.yxt.ordermall.biz.transferrecords; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.transferrecords.TransferRecords; +import com.yxt.ordermall.api.transferrecords.TransferRecordsDto; +import com.yxt.ordermall.api.transferrecords.TransferRecordsQuery; +import com.yxt.ordermall.api.transferrecords.TransferRecordsVo; +import com.yxt.ordermall.api.transferrecordsgoodsdetails.TransferRecordsGoodsDetails; +import com.yxt.ordermall.api.transferrecordsgoodsdetails.TransferRecordsGoodsDetailsVo; +import com.yxt.ordermall.api.vegecallerreserveorder.OrderGoodsVo; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrder; +import com.yxt.ordermall.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.transferrecordsgoodsdetails.TransferRecordsGoodsDetailsService; +import com.yxt.ordermall.utils.DoubleUtils; +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.List; +import java.util.regex.Pattern; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class TransferRecordsService extends MybatisBaseService { + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + TransferRecordsGoodsDetailsService transferRecordsGoodsDetailsService; + @Autowired + LpkGoodsService lpkGoodsService; + + + @Transactional(rollbackFor = Exception.class) + public ResultBean submission(TransferRecordsDto dto) { + ResultBean rb = new ResultBean().fail(); + if(StringUtils.isBlank(dto.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + TransferRecords order = new TransferRecords(); + BeanUtil.copyProperties(dto, order, "id", "sid"); + + order.setCreateTime(new DateTime()); + String uuid = UniqueIdGenerator.generateUniqueID(); + order.setTransferCode(uuid); + baseMapper.insert(order); + dto.setOrderSid(order.getSid()); + transferRecordsGoodsDetailsService.submissionDetail(dto); + return rb.success().setData(order); + } + public synchronized ResultBean getTransferByCode(String code) { + ResultBean rb = new ResultBean().fail(); +// if(StringUtils.isBlank(dto.getCustomerSid())){ +// return rb.setMsg("参数不全"); +// } + TransferRecords transferRecords=baseMapper.selectOne(new QueryWrapper().eq("transferCode",code)); + if(null==transferRecords){ + return rb.setMsg("没有找到对应的转赠单号"); + } +// if(transferRecords.getState().equals("2")){ +// return rb.setMsg("没有找到对应的转赠单号"); +// } + TransferRecordsVo transferRecordsVo=new TransferRecordsVo(); + BeanUtil.copyProperties(transferRecords,transferRecordsVo); + List list=transferRecordsGoodsDetailsService.list(new QueryWrapper().eq("orderSid",transferRecords.getSid())); + List vos=new ArrayList<>(); + for (TransferRecordsGoodsDetails transferRecordsGoodsDetails : list) { + TransferRecordsGoodsDetailsVo vo=new TransferRecordsGoodsDetailsVo(); + LpkGoods k=lpkGoodsService.getOne(new QueryWrapper().eq("sid",transferRecordsGoodsDetails.getGoodsSid())); + transferRecordsGoodsDetails.setGoodsName(k.getName()); +// transferRecordsGoodsDetails.setRemarks(DoubleUtils.removeZeros(String.valueOf(transferRecordsGoodsDetails.getGoodsNumber()))+"份"); + BeanUtil.copyProperties(transferRecordsGoodsDetails,vo); + vo.setGoodsContent(k.getContent()); + vo.setGoodsFs("共"+DoubleUtils.removeZeros(String.valueOf(transferRecordsGoodsDetails.getGoodsNumber()))+"份"); + vo.setGoodsJs("合计"+DoubleUtils.removeZeros(String.valueOf(transferRecordsGoodsDetails.getGoodsNumber()*Double.valueOf(k.getWeight())))+"斤"); + vo.setPrice(DoubleUtils.removeZeros(String.valueOf(Double.valueOf(k.getPrice())*Double.valueOf(k.getWeight())))+"元/斤"); + vo.setGoodsPicUrl(fileUploadComponent.getUrlPrefix()+k.getPicUrl()); + vos.add(vo); + } + transferRecordsVo.setList(vos); + return rb.success().setData(transferRecordsVo); + } + + public ResultBean transferRecordsList(PagerQuery pq) { + ResultBean rb = new ResultBean().fail(); + TransferRecordsQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if(StringUtils.isBlank(query.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + qw.eq("o.customerSid", query.getCustomerSid()); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging =new Page<>(); + if(query.getState().equals("1")){ + pagging = baseMapper.orderListByUserSid(page, query); + }else{ + pagging = baseMapper.orderListByUserSid1(page, query); + } + + List goodsVo = new ArrayList<>(); + for(TransferRecordsVo vo:pagging.getRecords()){ + List goods =transferRecordsGoodsDetailsService.selByOrderSids(vo.getSid()); + for(TransferRecordsGoodsDetails goods1:goods){ + LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods1.getGoodsSid())); +// OrderGoodsVo orderGoodsVo=new OrderGoodsVo(); +// orderGoodsVo.setGoodName(lpkGoods.getName()); +// orderGoodsVo.setNum(Integer.parseInt(goods1.getNum())); +// orderGoodsVo.setUnitName(lpkGoods.getUnitName()); +// goodsVo.add(orderGoodsVo); + if(StringUtils.isBlank(vo.getGoodss())){ + vo.setGoodss(lpkGoods.getName()+":"+removeZeros(String.valueOf(goods1.getGoodsNumber()))+lpkGoods.getUnitName()); + }else{ + vo.setGoodss(vo.getGoodss()+" "+lpkGoods.getName()+":"+removeZeros(String.valueOf(goods1.getGoodsNumber()))+lpkGoods.getUnitName()); + } + } + if(StringUtils.isNotBlank(vo.getTransferCode())){ + vo.setNewCode(addSpaces(vo.getTransferCode())); + } +// vo.setGoodsVo(goodsVo); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + /** + * 去除多余.0 + * @param num + * @return + */ + public static String removeZeros(String num) { + if (num.indexOf(".") > 0) { + // 去掉多余的0 + num = num.replaceAll("0+?$", ""); + // 如果最后一位是. 则去掉 + num = num.replaceAll("[.]$", ""); + } + return num; + } + + /** + * 单号每四位加空格 + * @param newCode + * @return + */ + public static String addSpaces(String code) { + String newCode = Pattern.compile("(.{4})").matcher(code).replaceAll("$1 "); + return newCode; + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.java new file mode 100644 index 0000000..bfbe93a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.biz.transferrecordsgoodsdetails; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.transferrecordsgoodsdetails.TransferRecordsGoodsDetails; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface TransferRecordsGoodsDetailsMapper extends BaseMapper { + @Select("select sum(goodsNumber) as goodsNumber , goodsSid as goodsSid from lpk_reserve_order_goods where cardSid=#{cardSid} and goodsSid=#{goodsSid}") + TransferRecordsGoodsDetails getReserveByCardSid(@Param("cardSid") String cardSid, @Param("goodsSid") String goodsSid); + + TransferRecordsGoodsDetails selByOrderSidAndGoodSid(@Param("orderSid") String orderSid, @Param("goodsSid") String goodsSid); + + @Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); + @Select("select *,goodsNumber as goodsNumber from transfer_records_goods_details where orderSid=#{orderSid}") + List selByOrderSids(String orderSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.xml new file mode 100644 index 0000000..cae34cd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsRest.java new file mode 100644 index 0000000..74b21bf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsRest.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.biz.transferrecordsgoodsdetails; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("TransferRecordsGoodsDetailsRest") +public class TransferRecordsGoodsDetailsRest { + @Autowired + TransferRecordsGoodsDetailsService vegeCellarReserveOrderService; + + +// @ApiOperation("预约提交") +// @PostMapping("/submissionDetail") +// public ResultBean submissionDetail(VegeCellarReserveOrderDto dto){ +// return VegeCellarReserveOrderService.submissionDetail(dto); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsService.java new file mode 100644 index 0000000..e3c2887 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/transferrecordsgoodsdetails/TransferRecordsGoodsDetailsService.java @@ -0,0 +1,78 @@ +package com.yxt.ordermall.biz.transferrecordsgoodsdetails; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.transferrecords.TransferRecordsDto; +import com.yxt.ordermall.api.transferrecordsgoodsdetails.TransferRecordsGoodsDetails; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellar; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class TransferRecordsGoodsDetailsService extends MybatisBaseService { + + @Autowired + VegetableCellarService vegetableCellarService; + @Autowired + LpkGoodsService lpkGoodsService; + + public ResultBean getReserveByCardSid(String carSid, String goodsSid) { + ResultBean rb = new ResultBean(); + TransferRecordsGoodsDetails goods = baseMapper.getReserveByCardSid(carSid, goodsSid); + return rb.success().setData(goods); + } + + public ResultBean submissionDetail(TransferRecordsDto dto) { + ResultBean rb = new ResultBean(); + TransferRecordsGoodsDetails goods = new TransferRecordsGoodsDetails(); + BeanUtil.copyProperties(dto, goods, "id", "sid"); +// goods.setCardSid(dto.getSid()); + for (GoodsVo goods1 : dto.getVos()) { + if (goods1.getSelect() != 0) { +// goods.setCardSid(dto.getSid()); + goods.setGoodsSid(goods1.getGoodsSid()); + goods.setGoodsNumber(goods1.getSelect()); + goods.setCreateTime(new DateTime()); + baseMapper.insert(goods); + LpkGoods l= lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods1.getGoodsSid())); + VegetableCellar vegetableCellar= vegetableCellarService.list(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",goods1.getGoodsSid()).eq("affiliation",l.getBrandId())).get(0); + double d=Double.valueOf(vegetableCellar.getGoodsNumber()); + double c=Double.valueOf(goods1.getSelect()); + if(Double.compare(d,c)==0){ + vegetableCellarService.deleteBySid(vegetableCellar.getSid()); + }else{ + vegetableCellar.setGoodsNumber(String.valueOf((int)(Double.valueOf(vegetableCellar.getGoodsNumber())-Double.valueOf(goods1.getSelect())))); + vegetableCellarService.updateById(vegetableCellar); + } + } + } + return rb.success().setData("转赠成功"); + } + + public TransferRecordsGoodsDetails selByOrderSidAndGoodSid(String orderSid, String goodsSid) { + return baseMapper.selByOrderSidAndGoodSid(orderSid,goodsSid); + } + public List selByOrderSid(String orderSid) { + return baseMapper.selByOrderSid(orderSid); + } + public List selInOrderSid(List orderSids) { + return baseMapper.selInOrderSid(orderSids); + } + public List selByOrderSids(String orderSid) { + return baseMapper.selByOrderSids(orderSid); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsMapper.java new file mode 100644 index 0000000..2c0de39 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsMapper.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.biz.vegecallerreservedetail; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.vegecallerreservedetails.VegeCellarReserveDetails; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface VegeCellarReserveDetailsMapper extends BaseMapper { + @Select("select sum(goodsNumber) as goodsNumber , goodsSid as goodsSid from lpk_reserve_order_goods where cardSid=#{cardSid} and goodsSid=#{goodsSid}") + VegeCellarReserveDetails getReserveByCardSid(@Param("cardSid") String cardSid, @Param("goodsSid") String goodsSid); + + VegeCellarReserveDetails selByOrderSidAndGoodSid(@Param("orderSid") String orderSid, @Param("goodsSid") String goodsSid); + + @Select("select * from lpk_reserve_order_goods where orderSid=#{orderSid}") + List selByOrderSid(String orderSid); + + List selInOrderSid(@Param("orderSids") List orderSids); + @Select("select *,goodsNumber as num from vege_cellar_reserve_details where orderSid=#{orderSid}") + List selByOrderSids(String orderSid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsMapper.xml new file mode 100644 index 0000000..212f40b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsRest.java new file mode 100644 index 0000000..b245071 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsRest.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.biz.vegecallerreservedetail; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("vegecellarreservedetails") +public class VegeCellarReserveDetailsRest { + @Autowired + VegeCellarReserveDetailsService vegeCellarReserveOrderService; + + +// @ApiOperation("预约提交") +// @PostMapping("/submissionDetail") +// public ResultBean submissionDetail(VegeCellarReserveOrderDto dto){ +// return VegeCellarReserveOrderService.submissionDetail(dto); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsService.java new file mode 100644 index 0000000..82aa087 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreservedetail/VegeCellarReserveDetailsService.java @@ -0,0 +1,108 @@ +package com.yxt.ordermall.biz.vegecallerreservedetail; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.customerstore.CustomerStoreDto; +import com.yxt.ordermall.api.lpkgiftcard.GoodsVo; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.vegecallerreservedetails.VegeCellarReserveDetails; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrderDto; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellar; +import com.yxt.ordermall.biz.customerstore.CustomerStoreService; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class VegeCellarReserveDetailsService extends MybatisBaseService { + + @Autowired + VegetableCellarService vegetableCellarService; + @Autowired + CustomerStoreService customerStoreService; + @Autowired + LpkGoodsService lpkGoodsService; + + + public ResultBean getReserveByCardSid(String carSid, String goodsSid) { + ResultBean rb = new ResultBean(); + VegeCellarReserveDetails goods = baseMapper.getReserveByCardSid(carSid, goodsSid); + return rb.success().setData(goods); + } + + public ResultBean submissionDetail(VegeCellarReserveOrderDto dto) { + ResultBean rb = new ResultBean(); + VegeCellarReserveDetails goods = new VegeCellarReserveDetails(); + BeanUtil.copyProperties(dto, goods, "id", "sid"); +// goods.setCardSid(dto.getSid()); + for (GoodsVo goods1 : dto.getGoodsVos()) { + if (goods1.getSelect() != 0) { +// goods.setCardSid(dto.getSid()); + LpkGoods goods2=lpkGoodsService.getOne(new QueryWrapper().eq("sid",goods1.getGoodsSid())); + goods.setGoodsSid(goods1.getGoodsSid()); + goods.setGoodsNumber(goods1.getSelect()); + goods.setGoodsName(goods2.getName()); + goods.setCreateTime(new DateTime()); + goods.setOrderSid(dto.getOrderSid()); + baseMapper.insert(goods); + VegetableCellar vegetableCellar= vegetableCellarService.list(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",goods1.getGoodsSid()).eq("affiliation",goods2.getBrandId())).get(0); + double d=Double.valueOf(vegetableCellar.getGoodsNumber()); + double c=Double.valueOf(goods1.getSelect()); + if(c>d){ + return rb.setMsg("预约数量大于库存数量"); + } + if(Double.compare(d,c)==0){ + vegetableCellarService.deleteBySid(vegetableCellar.getSid()); + }else{ + vegetableCellar.setGoodsNumber(String.valueOf((int)(Double.valueOf(vegetableCellar.getGoodsNumber())-Double.valueOf(goods1.getSelect())))); + vegetableCellarService.updateById(vegetableCellar); + } + + } + } + CustomerStoreDto dto1=new CustomerStoreDto(); + dto1.setPhone(dto.getUserPhone()); + dto1.setStoreSid(dto.getStoreSid()); + dto1.setName(dto.getUserName()); + dto1.setCustomerSid(dto.getCustomerSid()); + customerStoreService.saveStore(dto1); + return rb.success().setData("预约成功"); + } + public ResultBean addDetail(VegeCellarReserveOrderDto dto) { + ResultBean rb = new ResultBean(); + +// goods.setCardSid(dto.getSid()); + VegeCellarReserveDetails vegeCellarReserveDetails=baseMapper.selectOne(new QueryWrapper().eq("orderSid",dto.getOrderSid()) + .eq("goodsSid",dto.getGoodsSid())); + if(null==vegeCellarReserveDetails){ + VegeCellarReserveDetails goods = new VegeCellarReserveDetails(); + BeanUtil.copyProperties(dto, goods, "id", "sid"); + goods.setGoodsSid(dto.getGoodsSid()); + goods.setGoodsNumber(dto.getSelect()); + goods.setCreateTime(new DateTime()); + baseMapper.insert(goods); + }else{ + vegeCellarReserveDetails.setGoodsNumber(vegeCellarReserveDetails.getGoodsNumber()+dto.getSelect()); + baseMapper.updateById(vegeCellarReserveDetails); + } + + return rb.success().setData("预约成功"); + } + + + + public List selByOrderSids(String orderSid) { + return baseMapper.selByOrderSids(orderSid); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveAllExcel.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveAllExcel.java new file mode 100644 index 0000000..bc4b561 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveAllExcel.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.biz.vegecallerreserveorder; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@EqualsAndHashCode +public class ReserveAllExcel { + + @ColumnWidth(20) + @ExcelProperty(value = "预约时间", index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "礼包名称", index = 1) + private String brandName; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称", index = 2) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)", index = 3) + private String goodsNumber; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveBankExcel.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveBankExcel.java new file mode 100644 index 0000000..c8696ae --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveBankExcel.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.biz.vegecallerreserveorder; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@EqualsAndHashCode +public class ReserveBankExcel { + + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "礼包名称",index = 2) + private String brandName; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 3) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 4) + private String goodsNumber; + @ColumnWidth(20) + @ExcelProperty(value = "支行联系人",index = 5) + private String storeLinker; + @ColumnWidth(20) + @ExcelProperty(value = "支行电话",index = 6) + private String storePhone; + @ColumnWidth(50) + @ExcelProperty(value = "支行地址",index = 7) + private String storeAddress; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveCustomerExcel.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveCustomerExcel.java new file mode 100644 index 0000000..8088791 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveCustomerExcel.java @@ -0,0 +1,44 @@ +package com.yxt.ordermall.biz.vegecallerreserveorder; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@EqualsAndHashCode +public class ReserveCustomerExcel { + + @ColumnWidth(20) + @ExcelProperty(value = "预约日期",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "提货门店",index = 2) + private String storeName; + @ColumnWidth(20) + @ExcelProperty(value = "礼包名称",index = 3) + private String brandName; + + @ColumnWidth(20) + @ExcelProperty(value = "姓名",index = 4) + private String userName; + + @ColumnWidth(20) + @ExcelProperty(value = "联系方式",index = 5) + private String userPhone; + + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 6) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 7) + private String goodsNumber; + @ColumnWidth(20) + @ExcelProperty(value = "客户所属支行",index = 8) + private String customerBank; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveOrderVo.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveOrderVo.java new file mode 100644 index 0000000..caed3bf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveOrderVo.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.biz.vegecallerreserveorder; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/11/27 15:11 + */ +@Data +public class ReserveOrderVo implements Vo { + private String reserveDate; + private String customerSid; + private String storeSid; + private String storeName; + private String storeLinker; + private String storePhone; + private String storeAddress; + private String affiliation; + private String brandName; + private String userName; + private String userPhone; + private String bankSid; + private String bankName; + private String bankLinker; + private String bankPhone; + private String bankAddress; + private String goodsSid; + private String goodsName; + private String goodsNumber; + private String customerBank; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveStoreExcel.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveStoreExcel.java new file mode 100644 index 0000000..7c4caad --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/ReserveStoreExcel.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.biz.vegecallerreserveorder; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@EqualsAndHashCode +public class ReserveStoreExcel { + + @ColumnWidth(20) + @ExcelProperty(value = "预约时间",index = 0) + private String reserveDate; + @ColumnWidth(20) + @ExcelProperty(value = "支行",index = 1) + private String bankName; + @ColumnWidth(20) + @ExcelProperty(value = "提货门店",index = 2) + private String storeName; + @ColumnWidth(20) + @ExcelProperty(value = "礼包名称",index = 3) + private String brandName; + @ColumnWidth(20) + @ExcelProperty(value = "商品名称",index = 4) + private String goodsName; + @ColumnWidth(20) + @ExcelProperty(value = "商品数量(份)",index = 5) + private String goodsNumber; + @ColumnWidth(20) + @ExcelProperty(value = "提货点联系人",index = 6) + private String storeLinker; + @ColumnWidth(20) + @ExcelProperty(value = "提货点电话",index = 7) + private String storePhone; + @ColumnWidth(50) + @ExcelProperty(value = "提货点地址",index = 8) + private String storeAddress; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.java new file mode 100644 index 0000000..c4a80ce --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.java @@ -0,0 +1,39 @@ +package com.yxt.ordermall.biz.vegecallerreserveorder; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrder; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrderQuery; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrderVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface VegeCellarReserveOrderMapper extends BaseMapper { + IPage orderListByUserSid(IPage page, @Param("query") VegeCellarReserveOrderQuery query); + + IPage pageOfCustomer(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + List pageOfCustomer(@Param(Constants.WRAPPER) QueryWrapper qw); + + IPage pageOfStore(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + List pageOfStore(@Param(Constants.WRAPPER) QueryWrapper qw); + + IPage pageOfBank(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + List pageOfBank(@Param(Constants.WRAPPER) QueryWrapper qw); + + IPage pageOfAll(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + List pageOfAll(@Param(Constants.WRAPPER) QueryWrapper qw); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.xml new file mode 100644 index 0000000..6c38a0d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderMapper.xml @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderRest.java new file mode 100644 index 0000000..de47a1c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderRest.java @@ -0,0 +1,42 @@ +package com.yxt.ordermall.biz.vegecallerreserveorder; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrderDto; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrderQuery; +import com.yxt.ordermall.api.vegecallerreserveorder.VegeCellarReserveOrderVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "预约订单信息") +@RestController +@RequestMapping("/lpksreservoorders") +public class VegeCellarReserveOrderRest { + @Autowired + VegeCellarReserveOrderService vegeCellarReserveOrderService; +// +// + @ApiOperation("预约提交") + @PostMapping("/submission") + public ResultBean submission(@RequestBody VegeCellarReserveOrderDto dto) { + return vegeCellarReserveOrderService.submission(dto); + } + @ApiOperation("取消预约") + @GetMapping("/cancelReservation/{code}") + public ResultBean cancelReservation(@PathVariable("code") String code) { + return vegeCellarReserveOrderService.cancelReservation(code); + } + @ApiOperation("移动端预约订单列表") + @PostMapping("/orderListByUserSid") + public ResultBean> orderListByUserSid(@RequestBody PagerQuery pq) { + return vegeCellarReserveOrderService.orderListByUserSid(pq); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java new file mode 100644 index 0000000..7a97d3f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegecallerreserveorder/VegeCellarReserveOrderService.java @@ -0,0 +1,419 @@ +package com.yxt.ordermall.biz.vegecallerreserveorder; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.api.cannotreservedictionary.CannotReserveDictionary; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.lpkreserveorder.LpkReserveOrderQuery; +import com.yxt.ordermall.api.lpkstore.LpkStore; +import com.yxt.ordermall.api.vegecallerreservedetails.VegeCellarReserveDetails; +import com.yxt.ordermall.api.vegecallerreserveorder.*; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellarDto; +import com.yxt.ordermall.api.vegetablecellar.vegeVo; +import com.yxt.ordermall.biz.cannotreservedictionary.CannotReserveDictionaryService; +import com.yxt.ordermall.biz.lpkgiftcard.generateRule.UniqueIdGenerator; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.lpkstore.LpkStoreService; +import com.yxt.ordermall.biz.vegecallerreservedetail.VegeCellarReserveDetailsService; +import com.yxt.ordermall.biz.vegetablecellar.VegetableCellarService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.util.*; +import java.util.regex.Pattern; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class VegeCellarReserveOrderService extends MybatisBaseService { + @Autowired + VegeCellarReserveDetailsService vegeCellarReserveDetailsService; + @Autowired + LpkStoreService lpkStoreService; + + @Autowired + private LpkGoodsService lpkGoodsService; + @Autowired + CannotReserveDictionaryService cannotReserveDictionaryService; + @Autowired + VegetableCellarService vegetableCellarService; + + @Transactional(rollbackFor = Exception.class) + public ResultBean submission(VegeCellarReserveOrderDto dto) { + ResultBean rb = new ResultBean().fail(); + boolean b = isSatAndSun(dto.getReserveDate()); + if (!b) { + return rb.setMsg("当前提货时间不可预约提货"); + } + Date date=new Date(); + //1>2 1 、1<2 -1 、1=2 0 + //判断预约时间小于当前时间 + int i =date.compareTo(DateUtil.parse(dto.getReserveDate())); + if(i!=-1){ + return rb.setMsg("预约时间有误,请重新选择"); + } + //判断三点前 还是三点后 + if(!isReserve(dto.getReserveDate())){ + return rb.setMsg("预约时间有误,请重新选择"); + } + if (StringUtils.isBlank(dto.getCustomerSid())) { + return rb.setMsg("参数不全"); + } + VegeCellarReserveOrder order = new VegeCellarReserveOrder(); + LpkStore lpkStore = lpkStoreService.getOne(new QueryWrapper().eq("sid", dto.getStoreSid())); + BeanUtil.copyProperties(dto, order, "id", "sid"); + order.setStoreSid(dto.getStoreSid()); +// order.setCardSid(dto.getSid()); + order.setCreateTime(new DateTime()); + String uuid = UniqueIdGenerator.generateUniqueID(); + order.setReserveCode(uuid); + order.setStoreName(lpkStore.getName()); + baseMapper.insert(order); + dto.setOrderSid(order.getSid()); + rb = vegeCellarReserveDetailsService.submissionDetail(dto); + return rb; + } + @Transactional(rollbackFor = Exception.class) + public ResultBean cancelReservation(String code) { + ResultBean rb = new ResultBean().fail(); + VegeCellarReserveOrder vegeCellarReserveOrder = baseMapper.selectOne(new QueryWrapper().eq("reserveCode", code)); + vegeCellarReserveOrder.setState("2"); + baseMapper.updateById(vegeCellarReserveOrder); + List list=vegeCellarReserveDetailsService.selByOrderSids(vegeCellarReserveOrder.getSid()); + VegetableCellarDto dto=new VegetableCellarDto(); + List vos=new ArrayList<>(); + for (VegeCellarReserveDetails details:list){ + String brandId=lpkGoodsService.getOne(new QueryWrapper().eq("sid",details.getGoodsSid())).getBrandId().toString(); + vegeVo vo=new vegeVo(); + vo.setBrandId(brandId); + vo.setGoodsSid(details.getGoodsSid()); + vo.setGoodsNumber(String.valueOf(details.getGoodsNumber())); + vos.add(vo); + } + dto.setVos(vos); + dto.setCustomerSid(vegeCellarReserveOrder.getCustomerSid()); + rb=vegetableCellarService.save1Goods(dto); + return rb; + } + + +// public boolean isSatAndSun(String date) { +// DateTime dateTime = DateUtil.parse(date); +// ; // 获取当前时间 +// int dayOfWeek = dateTime.dayOfWeekEnum().getValue();// 获取星期几(1-7) +// System.out.println(dayOfWeek); +// if (dayOfWeek == 1 || dayOfWeek == 7) { +// return false; +// } else { +// return true; +// } +// } + + public boolean isSatAndSun(String date) { + List l = cannotReserveDictionaryService.list(new QueryWrapper().eq("unavailableTime", date)); + if (l.size() > 0) { + return false; + } + return true; + } + public boolean isReserve(String reserveDate){ + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + LocalDate today = LocalDate.now(); // 获取今天的日期 + LocalTime timeOfDay = LocalTime.of(15, 0); // 设置下午3点的小时数为15,分钟数为0 + LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 + + ZoneId zoneId = ZoneId.systemDefault(); + Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); + Date nowDate=new Date(); + String start =""; + //1>2 1 、1<2 -1 、1=2 0 + int k= DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(nowDate)))).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse(sdf1.format(date))))); + if(String.valueOf(k).equals("1")){ + start=sdf.format(DateUtil.offsetDay(nowDate,+2)); + int a =DateUtil.parse(reserveDate).compareTo(DateUtil.parse(start)); + if(a==-1){ + return false; + } + }else{ + start=sdf.format(DateUtil.offsetDay(nowDate,+1)); + int a =DateUtil.parse(reserveDate).compareTo(DateUtil.parse(start)); + if(a==-1){ + return false; + } + } + return true; + } + + + public ResultBean> orderListByUserSid(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + VegeCellarReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isBlank(query.getCustomerSid())) { + return rb.setMsg("参数不全"); + } + qw.eq("o.customerSid", query.getUserSid()); + qw.eq("o.state", query.getState()); + qw.orderByDesc("reserveDate"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.orderListByUserSid(page, query); + for (VegeCellarReserveOrderVo vo : pagging.getRecords()) { + List goods = vegeCellarReserveDetailsService.selByOrderSids(vo.getSid()); + List goodsVo = new ArrayList<>(); + for (VegeCellarReserveDetails goods1 : goods) { + LpkGoods lpkGoods = lpkGoodsService.getOne(new QueryWrapper().eq("sid", goods1.getGoodsSid())); + OrderGoodsVo orderGoodsVo=new OrderGoodsVo(); + orderGoodsVo.setGoodName(lpkGoods.getName()); + orderGoodsVo.setNum(Integer.parseInt(goods1.getNum())); + orderGoodsVo.setUnitName(lpkGoods.getUnitName()); + goodsVo.add(orderGoodsVo); + if (StringUtils.isBlank(vo.getGoodss())) { + vo.setGoodss(lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } else { + vo.setGoodss(vo.getGoodss() + " " + lpkGoods.getName() + ":" + goods1.getNum() + lpkGoods.getUnitName()); + } + } + if(StringUtils.isNotBlank(vo.getReserveCode())){ + vo.setNewCode(addSpaces(vo.getReserveCode())); + } + if(vo.getState().equals("0")){ + vo.setCancel(ifCancel(vo.getReserveDate())); + } + vo.setGoodsVo(goodsVo); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + public boolean ifCancel(Date reserveDate){ + SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + ZoneId zoneId = ZoneId.systemDefault(); + LocalDate today =DateUtil.offsetDay(DateUtil.parse(sdf1.format(reserveDate)),-1).toInstant().atZone(zoneId).toLocalDate(); // 获取今天的日期 + LocalTime timeOfDay = LocalTime.of(15, 0); // 设置下午3点的小时数为15,分钟数为0 + LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 + Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); + int k=DateUtil.parse(sdf1.format(date)).compareTo(DateUtil.parse(sdf1.format(new Date()))); + if(String.valueOf(k).equals("-1")){ + return false; + } + return true; + } + +// public static void main(String[] args) { +// String reserveDate="2024-03-13 00:00:00"; +// SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// ZoneId zoneId = ZoneId.systemDefault(); +// LocalDate today =DateUtil.offsetDay(DateUtil.parse(sdf1.format(DateUtil.parse(reserveDate))),-1).toInstant().atZone(zoneId).toLocalDate(); // 获取今天的日期 +// LocalTime timeOfDay = LocalTime.of(15, 0); // 设置下午3点的小时数为15,分钟数为0 +// LocalDateTime dateAndTime = LocalDateTime.of(today, timeOfDay); // 将日期和时间合并成完整的日期时间对象 +// Date date = Date.from(dateAndTime.atZone(zoneId).toInstant()); +// //1>2 1 、1<2 -1 、1=2 0 +// int k=DateUtil.parse(sdf1.format(date)).compareTo(DateUtil.parse(sdf1.format(DateUtil.parse("2024-03-12 15:00:01")))); +// if(String.valueOf(k).equals("-1")){ +// System.out.println(false); +// } +// System.out.println(true); +// } + + + private QueryWrapper buildQuery(LpkReserveOrderQuery query) { + QueryWrapper qw = new QueryWrapper<>(); +// qw.eq("vo.isEnable","1"); + + if (StrUtil.isNotBlank(query.getStartDate())) { + qw.ge("date_format(vo.reserveDate,'%Y-%m-%d')", query.getStartDate()); + } + if (StrUtil.isNotBlank(query.getEndDate())) { + qw.le("date_format(vo.reserveDate,'%Y-%m-%d')", query.getEndDate()); + } + if (StrUtil.isNotBlank(query.getBankSid())) { + qw.eq("lb.sid", query.getBankSid()); + } + if (StrUtil.isNotBlank(query.getStore())) { + qw.eq("vo.storeSid", query.getStore()); + } + if (StrUtil.isNotBlank(query.getCardType())) { + qw.eq("vo.affiliation", query.getCardType()); + } + +// qw.orderByAsc("vo.reserveDate"); + return qw; + } + + public ResultBean> pageOfCustomer(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagerVo = baseMapper.pageOfCustomer(page, qw); + return rb.success().setData(pagerVo); + } + + public Map> mapForExcelCustomer(LpkReserveOrderQuery query) { + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + List list = baseMapper.pageOfCustomer(qw); + Map> map = new HashMap<>(); + list.forEach(vo -> { + List volist = map.get(vo.getBankName()); + if (volist == null) { + volist = new ArrayList<>(); + map.put(vo.getBankName(), volist); + } + ReserveCustomerExcel ex = new ReserveCustomerExcel(); + BeanUtil.copyProperties(vo, ex); + volist.add(ex); + }); + return map; + } + + public List listForExcelCustomer(LpkReserveOrderQuery query) { + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + List list = baseMapper.pageOfCustomer(qw); + List volist = new ArrayList<>(); + list.forEach(vo -> { + ReserveCustomerExcel ex = new ReserveCustomerExcel(); + BeanUtil.copyProperties(vo, ex); + volist.add(ex); + }); + return volist; + } + + public ResultBean> pageOfStore(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagerVo = baseMapper.pageOfStore(page, qw); + return rb.success().setData(pagerVo); + } + + public Map> mapForExcelStore(LpkReserveOrderQuery query) { + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + List list = baseMapper.pageOfStore(qw); + Map> map = new HashMap<>(); + list.forEach(vo -> { + List volist = map.get(vo.getBankName()); + if (volist == null) { + volist = new ArrayList<>(); + map.put(vo.getBankName(), volist); + } + ReserveStoreExcel ex = new ReserveStoreExcel(); + BeanUtil.copyProperties(vo, ex); + volist.add(ex); + }); + return map; + } + + public List listForExcelStore(LpkReserveOrderQuery query) { + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + List list = baseMapper.pageOfStore(qw); + List listRes = new ArrayList<>(); + + list.forEach(vo -> { + ReserveStoreExcel ex = new ReserveStoreExcel(); + BeanUtil.copyProperties(vo, ex); + listRes.add(ex); + }); + return listRes; + } + + public ResultBean> pageOfBank(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagerVo = baseMapper.pageOfBank(page, qw); + return rb.success().setData(pagerVo); + } + + public Map> mapForExcelBank(LpkReserveOrderQuery query) { + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + List list = baseMapper.pageOfBank(qw); + Map> map = new HashMap<>(); + list.forEach(vo -> { + List volist = map.get(vo.getBankName()); + if (volist == null) { + volist = new ArrayList<>(); + map.put(vo.getBankName(), volist); + } + ReserveBankExcel ex = new ReserveBankExcel(); + BeanUtil.copyProperties(vo, ex); + volist.add(ex); + }); + return map; + } + + public List listForExcelBank(LpkReserveOrderQuery query) { + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + List list = baseMapper.pageOfBank(qw); + List volist = new ArrayList<>(); + list.forEach(vo -> { + ReserveBankExcel ex = new ReserveBankExcel(); + BeanUtil.copyProperties(vo, ex); + volist.add(ex); + }); + return volist; + } + + public ResultBean> pageOfAll(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkReserveOrderQuery query = pq.getParams(); + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagerVo = baseMapper.pageOfAll(page, qw); + return rb.success().setData(pagerVo); + } + + public List listForExcelAll(LpkReserveOrderQuery query) { + + + QueryWrapper qw = buildQuery(query); + qw.ne("vo.state","2"); + List list = baseMapper.pageOfAll(qw); + List listRes = new ArrayList<>(); + + list.forEach(vo -> { + ReserveAllExcel ex = new ReserveAllExcel(); + BeanUtil.copyProperties(vo, ex); + listRes.add(ex); + }); + return listRes; + } + /** + * 单号每四位加空格 + * @param + * @return + */ + public static String addSpaces(String code) { + String newCode = Pattern.compile("(.{4})").matcher(code).replaceAll("$1 "); + return newCode; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishMapper.java new file mode 100644 index 0000000..4e06516 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishMapper.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.biz.vegereplenish; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.vegereplenish.VegeReplenish; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface VegeReplenishMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishMapper.xml new file mode 100644 index 0000000..1be1fe9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishMapper.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishRest.java new file mode 100644 index 0000000..bb68572 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishRest.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.biz.vegereplenish; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkgiftcard.BindCardDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "绑卡记录") +@RestController +@RequestMapping("vegereplenish") +public class VegeReplenishRest { + @Autowired + VegeReplenishService vegeReplenishService; + + @ApiOperation("保存") + @PostMapping("/saveBindRecord") + public ResultBean saveBindRecord(@RequestBody BindCardDto dto, @RequestParam("type") String type) { + return vegeReplenishService.saveBindRecord(dto,type); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishService.java new file mode 100644 index 0000000..c1ead60 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenish/VegeReplenishService.java @@ -0,0 +1,132 @@ +package com.yxt.ordermall.biz.vegereplenish; + +import cn.hutool.core.date.DateTime; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.empcard.EmpCard; +import com.yxt.ordermall.api.empcardgift.EmpCardGift; +import com.yxt.ordermall.api.empcardgiftgoods.EmpCardGiftGoodsVo; +import com.yxt.ordermall.api.lpkgiftbag.GiftBagGoods; +import com.yxt.ordermall.api.lpkgiftbag.LpkGiftBagInitVo; +import com.yxt.ordermall.api.lpkgiftcard.BindCardDto; +import com.yxt.ordermall.api.lpkgiftcard.LpkGiftCard; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.vegereplenish.VegeReplenish; +import com.yxt.ordermall.api.vegereplenishdetail.VegeReplenishDetail; +import com.yxt.ordermall.biz.empcard.EmpCardService; +import com.yxt.ordermall.biz.empcardgift.EmpCardGiftService; +import com.yxt.ordermall.biz.empcardgiftgoods.EmpCardGiftGoodsService; +import com.yxt.ordermall.biz.lpkgiftbag.LpkGiftBagService; +import com.yxt.ordermall.biz.lpkgiftcard.LpkGiftCardService; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.vegereplenishdetail.VegeReplenishDetailService; +import com.yxt.ordermall.mallplus.biz.util.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class VegeReplenishService extends MybatisBaseService { + + @Autowired + private VegeReplenishDetailService vegeReplenishDetailService; + @Autowired + private LpkGiftCardService lpkGiftCardService; + @Autowired + private LpkGiftBagService lpkGiftBagService; + @Autowired + private EmpCardService empCardService; + @Autowired + private EmpCardGiftService empCardGiftService; + @Autowired + private EmpCardGiftGoodsService empCardGiftGoodsService; + @Autowired + private LpkGoodsService lpkGoodsService; + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveBindRecord(BindCardDto dto, String type) { + ResultBean rb = new ResultBean().fail(); + VegeReplenish entity = new VegeReplenish(); + if (StringUtils.isNotBlank(dto.getCustomerSid())) { + entity.setCustomerSid(dto.getCustomerSid()); + } + if (StringUtils.isNotBlank(dto.getCode())) { + entity.setCardCode(dto.getCode()); + } + entity.setCreateTime(new DateTime()); + entity.setCardtype(type); + baseMapper.insert(entity); + if (type.equals("0")) { + //个人卡 + LpkGiftCard card = lpkGiftCardService.selectOneByCodeAndCodeKey(dto.getCode(), dto.getCodeKey()); + if (null != card) { + LpkGiftBagInitVo giftBagInitVo = lpkGiftBagService.giftBagInit(card.getGiftbagSid()).getData(); + if (null != giftBagInitVo) { + List goods = giftBagInitVo.getGoods(); + if (!goods.isEmpty()) { + goods.stream().forEach(g -> { + VegeReplenishDetail detail = new VegeReplenishDetail(); + detail.setGoodsSid(g.getGoodsSid()); + detail.setGoodsNumber(Integer.parseInt(g.getGoodsNumber())); + detail.setOrderSid(entity.getSid()); + detail.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(g.getName())) { + detail.setGoodsName(g.getName()); + } + vegeReplenishDetailService.insert(detail); + }); + } + } + } + } else if (type.equals("1")) { + //企业卡 + EmpCard card = empCardService.selectOneByCodeAndCodeKey(dto.getCode(), dto.getCodeKey()); + if (null != card) { + LpkGiftBagInitVo giftBagInitVo = lpkGiftBagService.giftBagInit(card.getGiftbagSid()).getData(); + if (null != giftBagInitVo) { + List goods = giftBagInitVo.getGoods(); + if (!goods.isEmpty()) { + goods.stream().forEach(g -> { + VegeReplenishDetail detail = new VegeReplenishDetail(); + detail.setGoodsSid(g.getGoodsSid()); + detail.setGoodsNumber(Integer.parseInt(g.getGoodsNumber())); + detail.setOrderSid(entity.getSid()); + detail.setCreateTime(new DateTime()); + if (StringUtils.isNotBlank(g.getName())) { + detail.setGoodsName(g.getName()); + } + vegeReplenishDetailService.insert(detail); + }); + } + } + } + } else if (type.equals("2")) { + //转赠卡 + EmpCardGift card = empCardGiftService.selectOneByCodeAndCodeKey(dto.getCode(), dto.getCodeKey()); + if (null != card) { + List goods = empCardGiftGoodsService.getGoodsDetailsByEmpCardGiftSid(card.getSid()).getData(); + if (!goods.isEmpty()) { + goods.stream().forEach(g -> { + VegeReplenishDetail detail = new VegeReplenishDetail(); + detail.setGoodsSid(g.getGoodsSid()); + LpkGoods lpkGoods = lpkGoodsService.fetchBySid(g.getGoodsSid()); + if (null != lpkGoods) { + detail.setGoodsName(lpkGoods.getName()); + } + detail.setGoodsNumber(g.getGoodsNumber()); + detail.setOrderSid(entity.getSid()); + detail.setCreateTime(new DateTime()); + vegeReplenishDetailService.insert(detail); + }); + } + } + } + return rb.success(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailMapper.java new file mode 100644 index 0000000..4e83724 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailMapper.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.biz.vegereplenishdetail; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.api.vegereplenishdetail.VegeReplenishDetail; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Mapper +public interface VegeReplenishDetailMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailMapper.xml new file mode 100644 index 0000000..710b9e1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailMapper.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailRest.java new file mode 100644 index 0000000..cabe620 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailRest.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.biz.vegereplenishdetail; + +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wangpengfei + * @date 2023/11/23 10:35 + */ +@Api(tags = "绑卡记录详情") +@RestController +@RequestMapping("vegereplenishdetail") +public class VegeReplenishDetailRest { + @Autowired + VegeReplenishDetailService vegeReplenishDetailService; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailService.java new file mode 100644 index 0000000..a49da57 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegereplenishdetail/VegeReplenishDetailService.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.biz.vegereplenishdetail; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.ordermall.api.vegereplenishdetail.VegeReplenishDetail; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2023/11/23 10:36 + */ +@Service +public class VegeReplenishDetailService extends MybatisBaseService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarMapper.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarMapper.java new file mode 100644 index 0000000..a0f3def --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarMapper.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.biz.vegetablecellar; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellar; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellarVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Mapper +public interface VegetableCellarMapper extends BaseMapper { + IPage recordListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarMapper.xml new file mode 100644 index 0000000..c405761 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarRest.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarRest.java new file mode 100644 index 0000000..36b51f8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarRest.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.biz.vegetablecellar; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.vegetablecellar.VegetableCellarDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Api(tags = "企业卡生成记录") +@RestController +@RequestMapping("vegetablecellar") +public class VegetableCellarRest { + @Autowired + VegetableCellarService VegetableCellarService; + @ApiOperation("创建记录列表") + @GetMapping("/addGoods") + public ResultBean addGoods(@RequestParam("mainSid") String mainSid) { + return VegetableCellarService.addGoods(mainSid); + } + @ApiOperation("创建记录列表") + @PostMapping("/saveGoods") + public ResultBean saveGoods(@RequestBody VegetableCellarDto dto) { + return VegetableCellarService.saveGoods(dto); + } + @ApiOperation("领取转赠商品") + @PostMapping("/receiveTransferGoods") + public ResultBean receiveTransferGoods(@RequestBody VegetableCellarDto dto) { + return VegetableCellarService.receiveTransferGoods(dto); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarService.java new file mode 100644 index 0000000..d905044 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/vegetablecellar/VegetableCellarService.java @@ -0,0 +1,199 @@ +package com.yxt.ordermall.biz.vegetablecellar; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.lpkcustomer.LpkCustomer; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.api.newcomerrecorecord.NewcomerRecoRecord; +import com.yxt.ordermall.api.ordorder.OrdOrder; +import com.yxt.ordermall.api.ordorderdetails.OrdOrderDetail; +import com.yxt.ordermall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails; +import com.yxt.ordermall.api.shoppingcart.ShoppingCart; +import com.yxt.ordermall.api.transferrecords.TransferRecords; +import com.yxt.ordermall.api.transferrecordsgoodsdetails.TransferRecordsGoodsDetails; +import com.yxt.ordermall.api.vegetablecellar.*; +import com.yxt.ordermall.biz.lpkcustomer.LpkCustomerService; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.biz.newcomerrecorecord.NewcomerRecoRecordService; +import com.yxt.ordermall.biz.ordorder.OrdOrderService; +import com.yxt.ordermall.biz.ordorderdetails.OrdOrderDetailService; +import com.yxt.ordermall.biz.recommendnewuserbagdetails.RecommendNewUserBagDetailsService; +import com.yxt.ordermall.biz.shoppingcart.ShoppingCartService; +import com.yxt.ordermall.biz.transferrecords.TransferRecordsService; +import com.yxt.ordermall.biz.transferrecordsgoodsdetails.TransferRecordsGoodsDetailsService; +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.Date; +import java.util.List; + +/** + * @author wangpengfei + * @date 2023/12/8 9:19 + */ +@Service +public class VegetableCellarService extends MybatisBaseService { + + @Autowired + OrdOrderService ordOrderService; + @Autowired + OrdOrderDetailService ordOrderDetailService; + @Autowired + ShoppingCartService shoppingCartService; + @Autowired + TransferRecordsService transferRecordsService; + @Autowired + TransferRecordsGoodsDetailsService transferRecordsGoodsDetailsService; + @Autowired + LpkGoodsService lpkGoodsService; + @Autowired + LpkCustomerService lpkCustomerService; + @Autowired + NewcomerRecoRecordService newcomerRecoRecordService; + @Autowired + RecommendNewUserBagDetailsService recommendNewUserBagDetailsService; + @Autowired + VegetableCellarService vegetableCellarService; + @Transactional(rollbackFor = Exception.class) + public ResultBean addGoods(String mainSid) { + ResultBean rb = ResultBean.fireFail(); + OrdOrder ordOrder=ordOrderService.getOne(new QueryWrapper().eq("mainSid",mainSid)); + if(null==ordOrder){ + return rb.setMsg("此订单不存在"); + } + if(ordOrder.getPayStatus()!=2){ + return rb.setMsg("此订单不可用"); + } + List detailList=ordOrderDetailService.list(new QueryWrapper().eq("orderSid",ordOrder.getSid())); + for(OrdOrderDetail detail:detailList){ + LpkGoods cl=lpkGoodsService.getOne(new QueryWrapper().eq("sid",detail.getGoodsSid())); + VegetableCellar vegetableCellar=baseMapper.selectOne(new QueryWrapper().eq("customerSid",ordOrder.getUserSid()) + .eq("goodsSid",detail.getGoodsSid()).eq("affiliation",cl.getBrandId())); + if(vegetableCellar==null){ + VegetableCellar vegetable=new VegetableCellar(); + vegetable.setAffiliation(String.valueOf(cl.getBrandId())); + vegetable.setGoodsSid(detail.getGoodsSid()); + vegetable.setGoodsNumber(String.valueOf(detail.getPartNumber())); + vegetable.setCustomerSid(ordOrder.getUserSid()); + baseMapper.insert(vegetable); + }else{ + vegetableCellar.setGoodsNumber(String.valueOf(Double.valueOf(vegetableCellar.getGoodsNumber())+Double.valueOf(detail.getPartNumber()))); + baseMapper.updateById(vegetableCellar); + } + } + NewcomerRecoRecord n=newcomerRecoRecordService.getOne(new QueryWrapper().eq("recommendedSid",ordOrder.getUserSid()).eq("state","1")); + LpkCustomer customer=lpkCustomerService.getOne(new QueryWrapper().eq("sid",ordOrder.getUserSid())); + if(n!=null){ + aa(n.getGiftBagSid(),n.getRecommendSid()); + + n.setState("2"); + newcomerRecoRecordService.updateById(n); + } + customer.setIsNewUser("0"); + customer.setIsPurchase("0"); + lpkCustomerService.updateById(customer); + ordOrder.setPayStatus(4); + ordOrder.setPayTime(new Date()); + ordOrderService.updateById(ordOrder); + return rb.success().setMsg("成功"); + } + public void aa(String giftBagSid,String customerSid){ + Listlist=recommendNewUserBagDetailsService.list(new QueryWrapper().eq("giftbagSid",giftBagSid)); + VegetableCellarDto dto1=new VegetableCellarDto(); + dto1.setCustomerSid(customerSid); + List vos=new ArrayList<>(); + for (RecommendNewUserBagDetails appletGiftBagGoods : list) { + LpkGoods a=lpkGoodsService.getOne(new QueryWrapper().eq("sid",appletGiftBagGoods.getGoodsSid())); + vegeVo vo=new vegeVo(); + vo.setGoodsSid(appletGiftBagGoods.getGoodsSid()); + vo.setGoodsNumber(appletGiftBagGoods.getGoodsNumber()); + vo.setBrandId(String.valueOf(a.getBrandId())); + vos.add(vo); + } + dto1.setVos(vos); + vegetableCellarService.save1Goods(dto1); + } + @Transactional(rollbackFor = Exception.class) + public ResultBean saveGoods(VegetableCellarDto dto) { + ResultBean rb = ResultBean.fireFail(); + List carts=shoppingCartService.list(new QueryWrapper().eq("customerSid",dto.getCustomerSid()).eq("affiliation",dto.getBrandId())); + for(ShoppingCart detail:carts){ + VegetableCellar vegetableCellar=baseMapper.selectOne(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",detail.getGoodsSid()).eq("affiliation",dto.getBrandId())); + LpkGoods cl=lpkGoodsService.getOne(new QueryWrapper().eq("sid",detail.getGoodsSid())); + if(vegetableCellar==null){ + VegetableCellar vegetable=new VegetableCellar(); + vegetable.setAffiliation(String.valueOf(cl.getBrandId())); + vegetable.setGoodsSid(detail.getGoodsSid()); + vegetable.setGoodsNumber(detail.getGoodsNumber()); + vegetable.setCustomerSid(dto.getCustomerSid()); + baseMapper.insert(vegetable); + }else{ + vegetableCellar.setGoodsNumber(String.valueOf(Double.valueOf(vegetableCellar.getGoodsNumber())+Double.valueOf(detail.getGoodsNumber()))); + baseMapper.updateById(vegetableCellar); + } + ShoppingCart shoppingCart=shoppingCartService.getOne((new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",detail.getGoodsSid()).eq("affiliation",dto.getBrandId()))); + shoppingCartService.delShoppingCart(shoppingCart.getSid()); + } + return rb.success().setMsg("成功"); + } + @Transactional(rollbackFor = Exception.class) + public ResultBean save1Goods(VegetableCellarDto dto) { + ResultBean rb = ResultBean.fireFail(); + for(vegeVo detail:dto.getVos()){ + VegetableCellar vegetableCellar=baseMapper.selectOne(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",detail.getGoodsSid())); + if(vegetableCellar==null){ + VegetableCellar vegetable=new VegetableCellar(); + vegetable.setAffiliation(detail.getBrandId()); + vegetable.setGoodsSid(detail.getGoodsSid()); + vegetable.setGoodsNumber(detail.getGoodsNumber()); + vegetable.setCustomerSid(dto.getCustomerSid()); + baseMapper.insert(vegetable); + }else{ + vegetableCellar.setGoodsNumber(String.valueOf(Double.valueOf(vegetableCellar.getGoodsNumber())+Double.valueOf(detail.getGoodsNumber()))); + baseMapper.updateById(vegetableCellar); + } + } + return rb.success().setMsg("成功"); + } + @Transactional(rollbackFor = Exception.class) + public synchronized ResultBean receiveTransferGoods(VegetableCellarDto dto) { + ResultBean rb = ResultBean.fireFail(); + if(StringUtils.isBlank(dto.getCustomerSid())){ + return rb.setMsg("参数不全"); + } + TransferRecords transferRecords=transferRecordsService.getOne(new QueryWrapper().eq("sid",dto.getTransferSid()).eq("state","1")); + if(transferRecords==null){ + return rb.setMsg("已经被领取"); + } + Listlist=transferRecordsGoodsDetailsService.list(new QueryWrapper().eq("orderSid",dto.getTransferSid())); + for(TransferRecordsGoodsDetails detail:list){ + LpkGoods cl=lpkGoodsService.getOne(new QueryWrapper().eq("sid",detail.getGoodsSid())); + VegetableCellar vegetableCellar=baseMapper.selectOne(new QueryWrapper().eq("customerSid",dto.getCustomerSid()) + .eq("goodsSid",detail.getGoodsSid()).eq("affiliation",cl.getBrandId())); + if(vegetableCellar==null){ + VegetableCellar vegetable=new VegetableCellar(); + vegetable.setAffiliation(String.valueOf(cl.getBrandId())); + vegetable.setGoodsSid(detail.getGoodsSid()); + vegetable.setGoodsNumber(String.valueOf((int)detail.getGoodsNumber())); + vegetable.setCustomerSid(dto.getCustomerSid()); + baseMapper.insert(vegetable); + }else{ + vegetableCellar.setGoodsNumber(String.valueOf((int) (Double.valueOf(vegetableCellar.getGoodsNumber())+Double.valueOf(detail.getGoodsNumber())))); + baseMapper.updateById(vegetableCellar); + } + transferRecords.setState("2"); + transferRecords.setRecipientSid(dto.getCustomerSid()); + transferRecords.setRecipientTime(new Date()); + transferRecordsService.updateById(transferRecords); + } + return rb.success().setMsg("成功"); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/wx/RequestMes.java b/ordermall/src/main/java/com/yxt/ordermall/biz/wx/RequestMes.java new file mode 100644 index 0000000..e1c0bdf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/wx/RequestMes.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.biz.wx; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/3/15 17:26 + */ +@Data +public class RequestMes { + private String errcode; + private String errmsg; + private String auth_url; + private String appid; + private String invoice_url; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/wx/WxConfig.java b/ordermall/src/main/java/com/yxt/ordermall/biz/wx/WxConfig.java new file mode 100644 index 0000000..d1259b7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/wx/WxConfig.java @@ -0,0 +1,171 @@ +package com.yxt.ordermall.biz.wx; + +import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.client.RestTemplate; + +import java.util.HashMap; +import java.util.Map; + +public class WxConfig { + + private static final Logger L = LoggerFactory.getLogger(WxConfig.class); + + private static final long token_expires_in = 5400 * 1000; + //获取token + private static final String WX_URL_ACCESS_TOKEN = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET"; + //获取s_pappid + private static final String SETURL="https://api.weixin.qq.com/card/invoice/seturl?access_token=ACCESS_TOKEN"; + //授权页 + public static final String AUTHORIZATION_PAGE="https://api.weixin.qq.com/card/invoice/getauthurl?access_token=ACCESS_TOKEN"; + //设置商户联系信息 + public static final String merchant_contact="https://api.weixin.qq.com/card/invoice/setbizattr?action=set_contact&access_token=ACCESS_TOKEN"; + + //获取 ticket + private static final String ticket = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=wx_card"; + private static String wx_ticket; + + private static final long ticket_expires_in = 5400 * 1000; + + private static long wx_ticket_create_timestamp; + + private static String wx_access_token; + private static long wx_token_create_timestamp; + private static String mp_access_token; + private static long mp_token_create_timestamp; + + public static final String WX_APPID = "wx1d44e0fcd110351a"; + private static final String WX_APPSECRET = "e1ec3a9f542aa8bf2ffdf8248bdb69b1"; + public static final String MP_APPID = "wx05604ce2a8bede05"; + private static final String MP_APPSECRET = "3d36e8a61212cf773a2fa4e6c9a83334"; + + + /** + * 使用AppId和AppSecret获取AccessToken(公众号和小程序通用) + * + * @param appid + * @param secret + * @return + */ + public static String getAccessToken(String appid, String secret) { + String url = WX_URL_ACCESS_TOKEN.replace("APPID", appid).replace("APPSECRET", secret); + String res = new RestTemplate().getForObject(url, String.class); + JSONObject jsonObject = JSONObject.parseObject(res); + String token = jsonObject.getString("access_token"); + return token; + } + + /** + * 获取公众号的AccessToken + * + * @return + */ + public static String wxAccessToken() { + if (StringUtils.isBlank(wx_access_token) || System.currentTimeMillis() > (wx_token_create_timestamp + token_expires_in)) { + wx_access_token = getAccessToken(WX_APPID, WX_APPSECRET); + wx_token_create_timestamp = System.currentTimeMillis(); + } + return wx_access_token; + } + + /** + * 获取小程序的AccessToken + * + * @return + */ + public static String mpAccessToken() { + if (StringUtils.isBlank(mp_access_token) || System.currentTimeMillis() > (mp_token_create_timestamp + token_expires_in)) { + mp_access_token = getAccessToken(MP_APPID, MP_APPSECRET); + mp_token_create_timestamp = System.currentTimeMillis(); + } + return mp_access_token; + } + + /** + * 获取ticket + * @param appid + * @param secret + * @return + */ + public static String getTicket() { + String url = ticket.replace("ACCESS_TOKEN",wxAccessToken()); + String res = new RestTemplate().getForObject(url, String.class); + JSONObject jsonObject = JSONObject.parseObject(res); + String ticket = jsonObject.getString("ticket"); + return ticket; + } + + /** + * 获取公众号的ticket + * + * @return + */ + public static String wxTicket() { + if (StringUtils.isBlank(wx_ticket) || System.currentTimeMillis() > (wx_ticket_create_timestamp + ticket_expires_in)) { + wx_ticket = getTicket(); + wx_ticket_create_timestamp = System.currentTimeMillis(); + } + return wx_ticket; + } + + + public static String getSPAppId(){ + String url = SETURL.replace("ACCESS_TOKEN", WxConfig.wxAccessToken()); + Map map = new HashMap<>(); + RequestMes res = new RestTemplate().postForObject(url,map,RequestMes.class); + String s_pappid=res.getInvoice_url().substring(res.getInvoice_url().indexOf("&")+10); + return s_pappid; + } + public static String merchantContact(){ + String url = merchant_contact.replace("ACCESS_TOKEN", WxConfig.wxAccessToken()); + Map m=new HashMap<>(); + m.put("phone","15932270269"); + m.put("time_out","12345"); + Map> map = new HashMap<>(); + map.put("contact",m); + RequestMes res = new RestTemplate().postForObject(url,map,RequestMes.class); + + return "1"; + } + + public static void main(String[] args) { + String url = merchant_contact.replace("ACCESS_TOKEN", WxConfig.wxAccessToken()); + Map m=new HashMap<>(); + m.put("phone","15932270269"); + m.put("time_out","12345"); + Map> map = new HashMap<>(); + map.put("contact",m); + RequestMes res = new RestTemplate().postForObject(url,map,RequestMes.class); + System.out.println(res); + } + + + + + /** + * @param $appId + * @param $uid + * @param $order_no + * @param $ticket_no + * @return bool|mixed + * @throws LocalServiceException + * @throws RemoteServiceException + * + * @desc 小程序开具电子发票的步骤如下: + 1 提前获取开票平台标识s_pappid,因为同一个开票平台的s_pappid都相同,所以获取s_pappid的操作只需要进行一次。不同接入模式获取s_pappid的方法略有不同: + 如果商户接入模式为“自建平台模式”:s_pappid通过调用调用获取自身开票平台识别码接口获得 + 2 商户获取获取access_token。调用方法见获取access_token; + 3 设置商户联系方式。调用方法见设置商户联系方式。注意,本步骤不能忽略,否则将造成下一步获取授权页报错; + 4 商户获取授权页ticket。调用方法见获取授权页ticket; + 5 商户获取授权页url,上一步获取的授权页ticket将作为参数传入。另外,本环节里面作为参数传入的order_id要注意保留,传递给开票平台作为向用户提供电子发票的依据。调用方法见获取授权页链接; + 6 在小程序开票按钮的点击事件上部署跳转到小程序授权页的逻辑。上一步获得的auth_url和开票小程序appid要作为参数传入。调用方法见小程序打开授权页; + 7 商户在后台等待接收用户的授权完成事件,获取授权事件方法见收取授权完成事件推送; + 8 创建发票卡券模板。发票卡券模板应和背后的开票主体构成一一对应关系,便于后续若开票主体发生变化时,可以便捷修改。调用方法见创建发票卡券模板; + 9 在自建发票平台开具电子发票; + 10 上传发票PDF文件。此步骤获得的s_media_id起到关联PDF和发票卡券的作用,将作为参数在下一步的插卡接口中传入。调用方法见上传PDF; + 11 将电子发票添加到用户微信卡包。调用方法见将电子发票卡券插入用户卡包。 + */ + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/biz/wx/invoice/ElectronicInvoiceService.java b/ordermall/src/main/java/com/yxt/ordermall/biz/wx/invoice/ElectronicInvoiceService.java new file mode 100644 index 0000000..d4a3dfd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/biz/wx/invoice/ElectronicInvoiceService.java @@ -0,0 +1,47 @@ +package com.yxt.ordermall.biz.wx.invoice; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.api.ordorder.OrdOrder; +import com.yxt.ordermall.biz.ordorder.OrdOrderService; +import com.yxt.ordermall.biz.wx.RequestMes; +import com.yxt.ordermall.biz.wx.WxConfig; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2024/3/15 16:09 + */ +@Service +public class ElectronicInvoiceService { + @Autowired + OrdOrderService ordOrderService; + private static final String AUTHORIZATION_PAGE="https://api.weixin.qq.com/card/invoice/getauthurl?access_token=ACCESS_TOKEN"; + + + public ResultBean getAuthorizationPage(String sid) { + ResultBean rb= ResultBean.fireFail(); + OrdOrder order=ordOrderService.getOne(new QueryWrapper().eq("sid",sid)); + String url = AUTHORIZATION_PAGE.replace("ACCESS_TOKEN", WxConfig.wxAccessToken()); + Map map = new HashMap<>(); + long timestamp = System.currentTimeMillis() / 1000; + map.put("s_pappid",WxConfig.getSPAppId()); + map.put("order_id",order.getOutTradeNo()); + map.put("money",order.getTotalTee()); + map.put("timestamp",String.valueOf(timestamp)); + map.put("source","wxa"); + map.put("redirect_url",""); + map.put("ticket",WxConfig.wxTicket()); + map.put("type","1"); + RequestMes res = new RestTemplate().postForObject(url,map,RequestMes.class); + if(!res.getErrcode().equals("0")){ + return rb.setCode(res.getErrcode()).setMsg(res.getErrmsg()); + } + return rb.success().setData(res); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/config/SaTokenConfigure.java b/ordermall/src/main/java/com/yxt/ordermall/config/SaTokenConfigure.java new file mode 100644 index 0000000..64b3628 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/config/SaTokenConfigure.java @@ -0,0 +1,122 @@ +//package com.yxt.ordermall.config; +// +//import cn.dev33.satoken.interceptor.SaInterceptor; +//import cn.dev33.satoken.stp.StpUtil; +//import org.springframework.beans.factory.annotation.Value; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +// +///** +// * @author wangpengfei +// * @date 2023/5/16 14:43 +// */ +//@Configuration +//public class SaTokenConfigure implements WebMvcConfigurer { +// @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}") +// private String urlPrefix; +// // 注册 Sa-Token 拦截器 +// @Override +// public void addInterceptors(InterceptorRegistry registry) { +// // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。 +// +// registry.addInterceptor(new SaInterceptor(handler -> StpUtil.checkLogin())) +// .addPathPatterns("/**") +// .excludePathPatterns("/sysuser/doLogin") +// .excludePathPatterns("/lpkgiftcard/gifCardByCustomerSid") +// .excludePathPatterns("/empcardgift/gifCardByCustomerSid") +// .excludePathPatterns("/empcard/getEmpCardByCustomerSid") +// .excludePathPatterns("/lpkgiftcard/getGifCardBySid/**") +// .excludePathPatterns("/empcardgift/getGifCardBySid/**") +// .excludePathPatterns("/empcard/getEmpCardBySid/**") +// .excludePathPatterns("/lpkgiftcard/isSaturAndSun/**") +// .excludePathPatterns("/empcardgift/isSaturAndSun/**") +// .excludePathPatterns("/empcard/isSaturAndSun/**") +// .excludePathPatterns("/lpkgiftcard/getReservationBySid/**") +// .excludePathPatterns("/lpksreservoorder/submission") +// .excludePathPatterns("/lpksreservoorder/exportExcelByStore") +// .excludePathPatterns("/empsreservoorder/createNewUserBagOrder") +// .excludePathPatterns("/lpksreservoorders/submission") +// .excludePathPatterns("/empsreservoorder/ordersList") +// .excludePathPatterns("/empsreservoorder/submission") +// .excludePathPatterns("/empsreservoorder/submissionEmp") +// .excludePathPatterns("/empcardgift/generateCard") +// .excludePathPatterns("/lpkgiftcard/bindCard") +// .excludePathPatterns("/empcard/bindCard") +// .excludePathPatterns("/lpksreservoorder/orderByCardSid/**") +// .excludePathPatterns("/lpksreservoorder/orderListByUserSid/**") +// .excludePathPatterns("/lpksreservoorder/orderDetails/**") +// .excludePathPatterns("/newcomerrecorecord/recommendNewUsers") +// .excludePathPatterns("/newcomerrecorecord/recommendedAssistance") +// .excludePathPatterns("/newcomerrecorecord/recordList/**") +// .excludePathPatterns("/transferrecords/transferRecordsList") +// .excludePathPatterns("/empsreservoorder/createVegeOrder") +// .excludePathPatterns("/empsreservoorder/OrderDetails/**") +// .excludePathPatterns("/empsreservoorder/changePayState/**") +// .excludePathPatterns("/lpkgoods/goodsDetails/**") +// .excludePathPatterns("/lpkstore/getAllStoreByQuery") +// .excludePathPatterns("/vegetablecellar/receiveTransferGoods") +// .excludePathPatterns("/transferrecords/submission") +// .excludePathPatterns("/lpkgiftcard/getCardByBank") +// .excludePathPatterns("/empcard/getEmpCard") +// .excludePathPatterns("/empcardgift/shareEmpCard/**") +// .excludePathPatterns("/empcardgift/generateEmpCardGift") +// .excludePathPatterns("/empcardgift/generateEmpCard") +// .excludePathPatterns("/lpkcustomer/wxSilentLogin") +// .excludePathPatterns("/lpkgiftcard/gifCardsByCustomerSid") +// .excludePathPatterns("/lpkgoods/getAllGiftBag") +// .excludePathPatterns("/appletgiftbag/getGiftBagBySid/**") +// .excludePathPatterns("/appletgiftbag/appletGiftBagList") +// .excludePathPatterns("/lpkgiftcard/cardShareDetail/**") +// .excludePathPatterns("/lpkgiftcard/cardShareGoodsDetail/**") +// .excludePathPatterns("/empcardgift/generateTopEmpCard/**") +// .excludePathPatterns("/empsreservoorder/createOrder") +// .excludePathPatterns("/appletgiftbag/recommendRecord/**") +// //2024-01-17 +// .excludePathPatterns("/lpkgiftcard/getAllGoodsType/**") +// .excludePathPatterns("/appletnotice/getNotice") +// .excludePathPatterns("/empsreservoorder/getPreOrder") +// .excludePathPatterns("/lpkgoods/getAllGoodsType/**") +// .excludePathPatterns("/transferrecords/submission") +// .excludePathPatterns("/vegetablecellar/receiveTransferGoods") +// .excludePathPatterns("/customerstore/isSaturAndSun") +// .excludePathPatterns("/lpkgiftcard/getGoodsByType/**") +// .excludePathPatterns("/lpkgoods/getGoodsTypeAndBrand") +// .excludePathPatterns("/lpkgoods/getGoodsByType") +// .excludePathPatterns("/lpksreservoorders/orderListByUserSid") +// .excludePathPatterns("/appletgiftbag/newUserQuota") +// .excludePathPatterns("/shoppingcart/addShoppingCart") +// .excludePathPatterns("/shoppingcart/getGoodsWeight") +// .excludePathPatterns("/shoppingcart/shoppingCartList") +// .excludePathPatterns("/shoppingcart/delShoppingCart/**") +// .excludePathPatterns("/lpkgoods/vegeCellarTypeList") +// .excludePathPatterns("/vegetablecellar/addGoods/**") +// .excludePathPatterns("/lpkgoods/vegeCellarList") +// .excludePathPatterns("/customerstore/getStoreBySid/**") +// .excludePathPatterns("/lpkgiftcard/bindAllCard") +// .excludePathPatterns("/lpkcustomer/customerInfo/**") +// .excludePathPatterns("/vegetablecellar/saveGoods") +// .excludePathPatterns("/transferrecords/getTransferByCode/**") +// //2024-01-18 +// .excludePathPatterns("/lpkcustomer/getCustomerInfo/**") +// .excludePathPatterns("/lpkcustomer/modifyUserNickName") +// .excludePathPatterns("/lpkcustomer/modifyHeadImage") +// .excludePathPatterns("/upload/**") +// .excludePathPatterns("/lpkcustomer/getPhoneNumber") +// .excludePathPatterns("/lpkcustomer/getRealInfo/**") +// .excludePathPatterns("/lpkcustomer/saveRealInfo") +// .excludePathPatterns("/pms/PmsBrand/getList") +// .excludePathPatterns("/LpkCustomerBank/getBankList") +// .excludePathPatterns("/lpkcustomer/updateCustomerBank") +// .excludePathPatterns("/lpkgoods/isEnterprise/**") +// .excludePathPatterns("/enterprisecertification/save") +// .excludePathPatterns("/lpksreservoorders/cancelReservation/**") +// .excludePathPatterns("/customerinvoice/listInvoice/**") +// .excludePathPatterns("/customerinvoice/saveOrUpdate") +// .excludePathPatterns("/invoicetype/listAll") +// .excludePathPatterns("/invoicerecords/save") +// .excludePathPatterns("/lpkgoods/vegeCellarInvalidList") +// .excludePathPatterns("//wxapi/**") +// ; +// } +//} diff --git a/ordermall/src/main/java/com/yxt/ordermall/config/SaTokenGloableException.java b/ordermall/src/main/java/com/yxt/ordermall/config/SaTokenGloableException.java new file mode 100644 index 0000000..4efac4b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/config/SaTokenGloableException.java @@ -0,0 +1,67 @@ +//package com.yxt.ordermall.config; +// +//import com.yxt.common.base.config.handler.GlobalExceptionHandler; +//import com.yxt.common.core.result.ResultBean; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.validation.BindException; +//import org.springframework.validation.ObjectError; +//import org.springframework.web.bind.MethodArgumentNotValidException; +//import org.springframework.web.bind.annotation.ExceptionHandler; +//import org.springframework.web.bind.annotation.RestControllerAdvice; +//import org.springframework.web.servlet.NoHandlerFoundException; +// +///** +// * @author dimengzhe +// * @date 2020/9/12 3:23 +// * @description 全局异常处理 +// */ +//@RestControllerAdvice +//public class SaTokenGloableException extends GlobalExceptionHandler { +// +// private static final Logger L = LoggerFactory.getLogger(GlobalExceptionHandler.class); +// +// public SaTokenGloableException() { +// } +// @ExceptionHandler({Exception.class}) +// public ResultBean handleException(Exception e) { +// if(null !=e.getMessage()){ +// if(e.getMessage().contains("token 无效:")){ +// L.error(e.getMessage(), e); +// return ResultBean.fireFail().setCode("5000").setMsg("系统异常::" + e.getMessage()); +// } +// if(e.getMessage().contains("未能读取到有效 token")){ +//// L.error(e.getMessage(), e); +// return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage()); +// } +// } +// +// L.error(e.getMessage(), e); +// return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage()); +// } +// @ExceptionHandler({NoHandlerFoundException.class}) +// public ResultBean handlerNoFoundException(Exception e) { +// L.error(e.getMessage(), e); +// return ResultBean.fireFail().setCode("404").setMsg("路径不存在,请检查路径是否正确"); +// } +// +//// @ExceptionHandler({Exception.class}) +//// public ResultBean handleException(Exception e) { +//// L.error(e.getMessage(), e); +//// return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage()); +//// } +// +// @ExceptionHandler({BindException.class}) +// public ResultBean validatedBindException(BindException e) { +// L.error(e.getMessage(), e); +// String message = ((ObjectError)e.getAllErrors().get(0)).getDefaultMessage(); +// return ResultBean.fireFail().setCode("405").setMsg(message); +// } +// +// @ExceptionHandler({MethodArgumentNotValidException.class}) +// public ResultBean validExceptionHandler(MethodArgumentNotValidException e) { +// L.error(e.getMessage(), e); +// String message = e.getBindingResult().getFieldError().getDefaultMessage(); +// return ResultBean.fireFail().setCode("405").setMsg(message); +// } +//} diff --git a/ordermall/src/main/java/com/yxt/ordermall/config/YythConfig.java b/ordermall/src/main/java/com/yxt/ordermall/config/YythConfig.java new file mode 100644 index 0000000..8a48194 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/config/YythConfig.java @@ -0,0 +1,4 @@ +package com.yxt.ordermall.config; + +public class YythConfig { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/config/package-info.java b/ordermall/src/main/java/com/yxt/ordermall/config/package-info.java new file mode 100644 index 0000000..b630714 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/config/package-info.java @@ -0,0 +1,4 @@ +/** + * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明 + */ +package com.yxt.ordermall.config; \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/YythFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/YythFeign.java new file mode 100644 index 0000000..845f71f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/YythFeign.java @@ -0,0 +1,4 @@ +package com.yxt.ordermall.feign; + +public class YythFeign { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basebrandinfo/BaseBrandInfoFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basebrandinfo/BaseBrandInfoFeign.java new file mode 100644 index 0000000..fa785ab --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basebrandinfo/BaseBrandInfoFeign.java @@ -0,0 +1,54 @@ +package com.yxt.ordermall.feign.base.basebrandinfo; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfo; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoDto; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoQuery; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoVo; +import com.yxt.ordermall.utils.OrgPathQuery; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@FeignClient( + contextId = "ss-common-goods-GoodsBrand", + name = "ss-common-goods", + path = "/apiadmin/base/basegoodsbrand", + fallback = BaseBrandInfoFeignFallback.class) +public interface BaseBrandInfoFeign { + + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody BaseBrandInfoDto dto); + @ApiOperation("查询所有的品牌") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody OrgPathQuery query); + @ApiOperation("初始化") + @GetMapping("/initialization/{sid}") + public ResultBean initialization(@PathVariable("sid") String sid); + + @ApiOperation("更改可用状态") + @GetMapping("/updateIsEnable/{sid}/{isEnable}") + public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable); + @ApiOperation("根据品牌名查询") + @GetMapping("/getBrandByName/{name}") + public ResultBean getBrandByName(@PathVariable("name") String name); + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basebrandinfo/BaseBrandInfoFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basebrandinfo/BaseBrandInfoFeignFallback.java new file mode 100644 index 0000000..1657dd0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basebrandinfo/BaseBrandInfoFeignFallback.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.feign.base.basebrandinfo; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfo; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoDto; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoQuery; +import com.yxt.ordermall.biz.func.basebrandinfo.BaseBrandInfoVo; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@Component +public class BaseBrandInfoFeignFallback implements BaseBrandInfoFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean saveOrUpdate(BaseBrandInfoDto dto) { + return null; + } + + @Override + public ResultBean> listAll(OrgPathQuery query) { + return null; + } + + + @Override + public ResultBean initialization(String sid) { + return null; + } + + @Override + public ResultBean updateIsEnable(String sid, String isEnable) { + return null; + } + + @Override + public ResultBean getBrandByName(String name) { + return null; + } + + @Override + public ResultBean delBySids(String[] sids) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuDetailsVo.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuDetailsVo.java new file mode 100644 index 0000000..6ace16f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuDetailsVo.java @@ -0,0 +1,50 @@ +package com.yxt.ordermall.feign.base.basegoodssku; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@Data +public class BaseGoodsSkuDetailsVo { + + @ApiModelProperty("商品代码") + private String goodsCode; + @ApiModelProperty("条形码") + private String barCode; + @ApiModelProperty("商品名称") + private String goodsName; + @ApiModelProperty("副标题") + private String subTitle; + @ApiModelProperty("拼音缩写") + private String goodsPY; + @ApiModelProperty("商品简称") + private String goodsShortName; + @ApiModelProperty("商品分类sid") + private String goodsTypeSid; + @ApiModelProperty("品牌sid") + private String brandSid; + @ApiModelProperty("厂家sid") + private String manufacturersid; + @ApiModelProperty("商品单位sid") + private String goodsUnitSid; + @ApiModelProperty("商品spuSid") + private String goodsSpuSid; + @ApiModelProperty("商品单位名称") + private String goodsUnitName; + + @ApiModelProperty("商品Sku代码") + private String goodsSkuCode; + @ApiModelProperty("商品标题") + private String title; + + @ApiModelProperty("是否一品一码(goodID),0否,1是") + @JsonProperty("isGoodsID") + private int isGoodsID; + @ApiModelProperty("商品类别名称") + private String goodsTypeName; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuFeign.java new file mode 100644 index 0000000..5718be8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuFeign.java @@ -0,0 +1,41 @@ +package com.yxt.ordermall.feign.base.basegoodssku; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodssku.*; +import com.yxt.ordermall.utils.OrgPathQuery; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@FeignClient( + contextId = "yss-common-goods-GoodsSku", + name = "ss-common-goods", + path = "/apiadmin/base/basegoodssku", + fallback = BaseGoodsSkuFeignFallback.class) +public interface BaseGoodsSkuFeign { + + @ApiOperation("获取商品信息") + @GetMapping("/getDetails") + ResultBean getDetails(@RequestParam("sid") String sid); + @ApiOperation("查询组织下所有商品") + @PostMapping("/listAllByOrg") + public ResultBean> listAllByOrg(@RequestBody OrgPathQuery query); + @ApiOperation("入库添加商品列表") + @PostMapping("/getSelectList") + ResultBean> getSelectList(@RequestBody PagerQuery pagerQuery); + @ApiOperation("初始化") + @GetMapping("/initialization/{sid}") + public ResultBean initialization(@PathVariable("sid") String sid); + @ApiOperation("根据code查询商品") + @GetMapping("/getSkuByCode/{code}/{title}") + public ResultBean getSkuByCode(@PathVariable("code") String code,@PathVariable("title") String title); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuFeignFallback.java new file mode 100644 index 0000000..36fb464 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodssku/BaseGoodsSkuFeignFallback.java @@ -0,0 +1,43 @@ +package com.yxt.ordermall.feign.base.basegoodssku; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodssku.*; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@Component +public class BaseGoodsSkuFeignFallback implements BaseGoodsSkuFeign{ + @Override + public ResultBean getDetails(String sid) { + return null; + } + + @Override + public ResultBean> listAllByOrg(OrgPathQuery query) { + return null; + } + + @Override + public ResultBean> getSelectList(PagerQuery pagerQuery) { + return null; + } + + @Override + public ResultBean initialization(String sid) { + return null; + } + + @Override + public ResultBean getSkuByCode(String code,String title) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeign.java new file mode 100644 index 0000000..751fbdb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeign.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.feign.base.basegoodsskuextend; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.basegoodsskuextend.BaseGoodsSkuExtendVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@FeignClient( + contextId = "yss-common-goods-GoodsSkuExtend", + name = "ss-common-goods", + path = "/apiadmin/base/basegoodsskuextend", + fallback = BaseGoodsSkuExtendFeignFallback.class) +public interface BaseGoodsSkuExtendFeign { + + @ApiOperation("获取扩展") + @GetMapping("/getExtendBySkuSid/{sid}") + public ResultBean getExtendBySkuSid(@PathVariable("sid") String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeignFallback.java new file mode 100644 index 0000000..70ea994 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsskuextend/BaseGoodsSkuExtendFeignFallback.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.feign.base.basegoodsskuextend; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.basegoodsskuextend.BaseGoodsSkuExtendVo; +import org.springframework.stereotype.Component; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@Component +public class BaseGoodsSkuExtendFeignFallback implements BaseGoodsSkuExtendFeign { + + @Override + public ResultBean getExtendBySkuSid(String sid) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsspu/BaseGoodsSpuFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsspu/BaseGoodsSpuFeign.java new file mode 100644 index 0000000..36fe42e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsspu/BaseGoodsSpuFeign.java @@ -0,0 +1,57 @@ +package com.yxt.ordermall.feign.base.basegoodsspu; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodsspu.BaseGoodsSpuDto; +import com.yxt.ordermall.biz.func.basegoodsspu.BaseGoodsSpuQuery; +import com.yxt.ordermall.biz.func.basegoodsspu.BaseGoodsSpuVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@FeignClient( + contextId = "ss-common-goods-GoodsSpu", + name = "ss-common-goods", + path = "/apiadmin/base/basegoodsspu", + fallback = BaseGoodsSpuFeignFallback.class) +public interface BaseGoodsSpuFeign { + + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody BaseGoodsSpuDto dto); + + @ApiOperation("初始化") + @GetMapping("/initialization/{sid}") + public ResultBean initialization(@PathVariable("sid") String sid); + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids); + @ApiOperation("更改可用状态") + @GetMapping("/updateIsEnable/{sid}/{isEnable}") + public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable); + @ApiOperation("保存") + @PostMapping("/batchSave") + public ResultBean batchSave(@RequestBody List dtos, @RequestParam("orgPath") String orgPath); + @ApiOperation("导入excel") + @PostMapping(value ="/importExcel" ,consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public ResultBean importExcel(@RequestPart("file") MultipartFile file) throws IOException; + @ApiOperation("更改可用状态") + @GetMapping("/updateIsEnablebySku/{sid}/{isEnable}") + public ResultBean updateIsEnablebySku(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsspu/BaseGoodsSpuFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsspu/BaseGoodsSpuFeignFallback.java new file mode 100644 index 0000000..e8c0804 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsspu/BaseGoodsSpuFeignFallback.java @@ -0,0 +1,64 @@ +package com.yxt.ordermall.feign.base.basegoodsspu; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodsspu.BaseGoodsSpuDto; +import com.yxt.ordermall.biz.func.basegoodsspu.BaseGoodsSpuQuery; +import com.yxt.ordermall.biz.func.basegoodsspu.BaseGoodsSpuVo; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@Component +public class BaseGoodsSpuFeignFallback implements BaseGoodsSpuFeign { + + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean saveOrUpdate(BaseGoodsSpuDto dto) { + return null; + } + + @Override + public ResultBean initialization(String sid) { + return null; + } + + @Override + public ResultBean delBySids(String[] sids) { + return null; + } + + @Override + public ResultBean updateIsEnable(String sid, String isEnable) { + return null; + } + + @Override + public ResultBean batchSave(List dtos, String orgPath) { + return null; + } + + + @Override + public ResultBean importExcel(MultipartFile file) throws IOException { + return null; + } + + @Override + public ResultBean updateIsEnablebySku(String sid, String isEnable) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodstype/BaseGoodsTypeFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodstype/BaseGoodsTypeFeign.java new file mode 100644 index 0000000..c5681a8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodstype/BaseGoodsTypeFeign.java @@ -0,0 +1,57 @@ +package com.yxt.ordermall.feign.base.basegoodstype; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodstype.BaseGoodsType; +import com.yxt.ordermall.biz.func.basegoodstype.BaseGoodsTypeDto; +import com.yxt.ordermall.biz.func.basegoodstype.BaseGoodsTypeQuery; +import com.yxt.ordermall.biz.func.basegoodstype.BaseGoodsTypeVo; +import com.yxt.ordermall.utils.OrgPathQuery; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@FeignClient( + contextId = "ss-common-goods-GoodsType", + name = "ss-common-goods", + path = "/apiadmin/base/basegoodstype", + fallback = BaseGoodsTypeFeignFallback.class) +public interface BaseGoodsTypeFeign { + + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody BaseGoodsTypeDto dto); + @ApiOperation("查询所有的品牌") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody OrgPathQuery query); + @ApiOperation("初始化") + @GetMapping("/initialization/{sid}") + public ResultBean initialization(@PathVariable("sid") String sid); + + @ApiOperation("更改可用状态") + @GetMapping("/updateIsEnable/{sid}/{isEnable}") + public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable); + @ApiOperation("根据类型名查询") + @GetMapping("/getTypeByName/{name}") + public ResultBean getTypeByName(@PathVariable("name") String name); + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids); + @ApiOperation("更改商品是否一品一码") + @GetMapping("/updateIsGoodsID/{sid}/{state}") + public ResultBean updateIsGoodsID(@PathVariable("sid") String sid,@PathVariable("state")String state); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodstype/BaseGoodsTypeFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodstype/BaseGoodsTypeFeignFallback.java new file mode 100644 index 0000000..2072726 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodstype/BaseGoodsTypeFeignFallback.java @@ -0,0 +1,63 @@ +package com.yxt.ordermall.feign.base.basegoodstype; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodstype.BaseGoodsType; +import com.yxt.ordermall.biz.func.basegoodstype.BaseGoodsTypeDto; +import com.yxt.ordermall.biz.func.basegoodstype.BaseGoodsTypeQuery; +import com.yxt.ordermall.biz.func.basegoodstype.BaseGoodsTypeVo; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@Component +public class BaseGoodsTypeFeignFallback implements BaseGoodsTypeFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean saveOrUpdate(BaseGoodsTypeDto dto) { + return null; + } + + @Override + public ResultBean> listAll(OrgPathQuery query) { + return null; + } + + + @Override + public ResultBean initialization(String sid) { + return null; + } + + @Override + public ResultBean updateIsEnable(String sid, String isEnable) { + return null; + } + + @Override + public ResultBean getTypeByName(String name) { + return null; + } + + @Override + public ResultBean delBySids(String[] sids) { + return null; + } + + @Override + public ResultBean updateIsGoodsID(String sid, String state) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsunit/BaseGoodsUnitFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsunit/BaseGoodsUnitFeign.java new file mode 100644 index 0000000..73a7a50 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsunit/BaseGoodsUnitFeign.java @@ -0,0 +1,54 @@ +package com.yxt.ordermall.feign.base.basegoodsunit; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodsunit.BaseGoodsUnit; +import com.yxt.ordermall.biz.func.basegoodsunit.BaseGoodsUnitDto; +import com.yxt.ordermall.biz.func.basegoodsunit.BaseGoodsUnitQuery; +import com.yxt.ordermall.biz.func.basegoodsunit.BaseGoodsUnitVo; +import com.yxt.ordermall.utils.OrgPathQuery; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@FeignClient( + contextId = "ss-common-goods-GoodsUnit", + name = "ss-common-goods", + path = "/apiadmin/base/basegoodsunit", + fallback = BaseGoodsUnitFeignFallback.class) +public interface BaseGoodsUnitFeign { + + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody BaseGoodsUnitDto dto); + @ApiOperation("查询所有的品牌") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody OrgPathQuery query); + @ApiOperation("初始化") + @GetMapping("/initialization/{sid}") + public ResultBean initialization(@PathVariable("sid") String sid); + + @ApiOperation("更改可用状态") + @GetMapping("/updateIsEnable/{sid}/{isEnable}") + public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable); + @ApiOperation("根据单位名查询") + @GetMapping("/getUnitByName/{name}") + public ResultBean getUnitByName(@PathVariable("name") String name); + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsunit/BaseGoodsUnitFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsunit/BaseGoodsUnitFeignFallback.java new file mode 100644 index 0000000..77b61cd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basegoodsunit/BaseGoodsUnitFeignFallback.java @@ -0,0 +1,60 @@ +package com.yxt.ordermall.feign.base.basegoodsunit; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basegoodsunit.BaseGoodsUnit; +import com.yxt.ordermall.biz.func.basegoodsunit.BaseGoodsUnitDto; +import com.yxt.ordermall.biz.func.basegoodsunit.BaseGoodsUnitQuery; +import com.yxt.ordermall.biz.func.basegoodsunit.BaseGoodsUnitVo; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@Component +public class BaseGoodsUnitFeignFallback implements BaseGoodsUnitFeign { + + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean saveOrUpdate(BaseGoodsUnitDto dto) { + return null; + } + + @Override + public ResultBean> listAll(OrgPathQuery query) { + return null; + } + + + + @Override + public ResultBean initialization(String sid) { + return null; + } + + @Override + public ResultBean updateIsEnable(String sid, String isEnable) { + return null; + } + + @Override + public ResultBean getUnitByName(String name) { + return null; + } + + @Override + public ResultBean delBySids(String[] sids) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basemanufacturer/BaseManufacturerFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basemanufacturer/BaseManufacturerFeign.java new file mode 100644 index 0000000..b97bca6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basemanufacturer/BaseManufacturerFeign.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.feign.base.basemanufacturer; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basemanufacturer.BaseManufacturer; +import com.yxt.ordermall.biz.func.basemanufacturer.BaseManufacturerDto; +import com.yxt.ordermall.biz.func.basemanufacturer.BaseManufacturerQuery; +import com.yxt.ordermall.biz.func.basemanufacturer.BaseManufacturerVo; +import com.yxt.ordermall.utils.OrgPathQuery; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@FeignClient( + contextId = "ss-common-goods-GoodsManufacturer", + name = "ss-common-goods", + path = "/apiadmin/base/basemanufacturer", + fallback = BaseManufacturerFeignFallback.class) +public interface BaseManufacturerFeign { + + + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody BaseManufacturerDto dto); + @ApiOperation("查询所有的品牌") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody OrgPathQuery query); + @ApiOperation("初始化") + @GetMapping("/initialization/{sid}") + public ResultBean initialization(@PathVariable("sid") String sid); + + @ApiOperation("更改可用状态") + @GetMapping("/updateIsEnable/{sid}/{isEnable}") + public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable); + + @ApiOperation("查询分公司下所有的厂家") + @GetMapping("/getAllTypeByUseOrgSid") + public ResultBean> getAllTypeByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid); + @ApiOperation("根据厂家名查询") + @GetMapping("/getManufacturerByName/{name}") + public ResultBean getManufacturerByName(@PathVariable("name") String name); + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids); + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/base/basemanufacturer/BaseManufacturerFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basemanufacturer/BaseManufacturerFeignFallback.java new file mode 100644 index 0000000..ea5de0e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/base/basemanufacturer/BaseManufacturerFeignFallback.java @@ -0,0 +1,64 @@ +package com.yxt.ordermall.feign.base.basemanufacturer; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.basemanufacturer.BaseManufacturer; +import com.yxt.ordermall.biz.func.basemanufacturer.BaseManufacturerDto; +import com.yxt.ordermall.biz.func.basemanufacturer.BaseManufacturerQuery; +import com.yxt.ordermall.biz.func.basemanufacturer.BaseManufacturerVo; +import com.yxt.ordermall.utils.OrgPathQuery; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@Component +public class BaseManufacturerFeignFallback implements BaseManufacturerFeign { + + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean saveOrUpdate(BaseManufacturerDto dto) { + return null; + } + + @Override + public ResultBean> listAll(OrgPathQuery query) { + return null; + } + + + @Override + public ResultBean initialization(String sid) { + return null; + } + + @Override + public ResultBean updateIsEnable(String sid, String isEnable) { + return null; + } + + @Override + public ResultBean> getAllTypeByUseOrgSid(String useOrgSid) { + return null; + } + + @Override + public ResultBean getManufacturerByName(String name) { + return null; + } + + @Override + public ResultBean delBySids(String[] sids) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/package-info.java b/ordermall/src/main/java/com/yxt/ordermall/feign/package-info.java new file mode 100644 index 0000000..705c0f0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/package-info.java @@ -0,0 +1,4 @@ +/** + * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明 + */ +package com.yxt.ordermall.feign; \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dictcommon/DictCommonFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dictcommon/DictCommonFeign.java new file mode 100644 index 0000000..42f28f5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dictcommon/DictCommonFeign.java @@ -0,0 +1,68 @@ +package com.yxt.ordermall.feign.portal.dictcommon; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.dictcommon.DictCommonDto; +import com.yxt.ordermall.biz.func.dictcommon.DictCommonQuery; +import com.yxt.ordermall.biz.func.dictcommon.DictCommonVo; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/7/5 21:59 + * @description + */ +@FeignClient( + contextId = "ss-common-portal-DictCommon", + name = "ss-common-portal", + path = "apiadmin/dictcommons", + fallback = DictCommonFeignFallback.class) +public interface DictCommonFeign { + + @PostMapping(value = "/save") + @ResponseBody + @ApiOperation(value = "数据字典数据项保存") + ResultBean save(@Valid @RequestBody DictCommonDto dictCommonDto); + + @PostMapping("/pageList") + @ResponseBody + @ApiOperation(value = "数据字典数据项分页列表") + ResultBean> pageList(@RequestBody PagerQuery pagerQuery); + + @PostMapping("/update/{sid}") + @ResponseBody + @ApiOperation(value = "数据字典修改后保存") + ResultBean update(@Valid @RequestBody DictCommonDto dictCommonDto, @ApiParam(value = "数据项sid", required = true) @PathVariable("sid") String sid); + + @ResponseBody + @DeleteMapping("/delete/{sid}") + @ApiOperation(value = "删除") + ResultBean delete(@ApiParam(value = "数据项sid", required = true) @PathVariable("sid") String sid); + + @ResponseBody + @GetMapping("/selectBykey/{key}/{type}") + @ApiOperation(value = "数据字典信息修改时的初始化信息") + public ResultBean selectBykey(@ApiParam(value = "数据字典key", required = true) @PathVariable("key") String key, @ApiParam(value = "数据字典type", required = true) @PathVariable("type") String type); + + @GetMapping("/typeValues") + @ResponseBody + @ApiOperation("下拉框的获取") + ResultBean> getTypeValues(@RequestParam("type") String type, @RequestParam(value = "psid", defaultValue = "0")String psid); + + @GetMapping("/getFirstDictKeyByType") + @ResponseBody + @ApiOperation("根据数据字典的key获取第一个值(默认值)") + ResultBean getFirstDictKeyByType(@RequestParam("dictType") String dictType, @RequestParam("psid") String psid); + + @GetMapping("/getTypeValueList") + @ResponseBody + @ApiOperation("根据分类编码和数据分组查询数据字典") + ResultBean> getTypeValueList(@RequestParam("type")String type,@RequestParam("groupNum")String groupNum); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dictcommon/DictCommonFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dictcommon/DictCommonFeignFallback.java new file mode 100644 index 0000000..ce1857e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dictcommon/DictCommonFeignFallback.java @@ -0,0 +1,60 @@ +package com.yxt.ordermall.feign.portal.dictcommon; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.dictcommon.DictCommonDto; +import com.yxt.ordermall.biz.func.dictcommon.DictCommonQuery; +import com.yxt.ordermall.biz.func.dictcommon.DictCommonVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/7/5 22:00 + * @description + */ +@Component +public class DictCommonFeignFallback implements DictCommonFeign { + + @Override + public ResultBean save(DictCommonDto dictCommonDto) { + return null; + } + + @Override + public ResultBean> pageList(PagerQuery pagerQuery) { + return null; + } + + @Override + public ResultBean update(DictCommonDto dictCommonDto, String sid) { + return null; + } + + @Override + public ResultBean delete(String sid) { + return null; + } + + @Override + public ResultBean selectBykey(String key, String type) { + return null; + } + + @Override + public ResultBean> getTypeValues(String type, String psid) { + return null; + } + + @Override + public ResultBean getFirstDictKeyByType(String dictType, String psid) { + return null; + } + + @Override + public ResultBean> getTypeValueList(String type, String groupNum) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dicttype/DictTypeFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dicttype/DictTypeFeign.java new file mode 100644 index 0000000..2877ba4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dicttype/DictTypeFeign.java @@ -0,0 +1,49 @@ +package com.yxt.ordermall.feign.portal.dicttype; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.dicttype.DictTypeDto; +import com.yxt.ordermall.biz.func.dicttype.DictTypeQuery; +import com.yxt.ordermall.biz.func.dicttype.DictTypeVo; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @author dimengzhe + * @date 2021/6/23 15:21 + * @description 数据字典类型对外接口 + */ +@FeignClient( + contextId = "ss-common-portal-DictType", + name = "ss-common-portal", + path = "apiadmin/dicttypes", + fallback = DictTypeFeignFallback.class) +public interface DictTypeFeign { + + @PostMapping(value = "/save") + @ResponseBody + @ApiOperation(value = "数据字典类型保存") + ResultBean save(@Valid @RequestBody DictTypeDto dictTypeDto); + + @PostMapping("/pageList") + @ResponseBody + @ApiOperation(value = "数据字典类型分页列表") + ResultBean> pageList(@RequestBody PagerQuery pagerQuery); + + @PostMapping("/update/{sid}") + @ResponseBody + @ApiOperation(value = "数据字典类型更新") + ResultBean update(@Valid DictTypeDto dictTypeDto, @ApiParam(value = "数据字典类型sid", required = true) @PathVariable("sid") String sid); + + @DeleteMapping("/delete/{sid}") + @ResponseBody + @ApiOperation(value = "数据字典类型删除") + ResultBean delete(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid); + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dicttype/DictTypeFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dicttype/DictTypeFeignFallback.java new file mode 100644 index 0000000..a76e60b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/dicttype/DictTypeFeignFallback.java @@ -0,0 +1,37 @@ +package com.yxt.ordermall.feign.portal.dicttype; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.dicttype.DictTypeDto; +import com.yxt.ordermall.biz.func.dicttype.DictTypeQuery; +import com.yxt.ordermall.biz.func.dicttype.DictTypeVo; + +/** + * @author dimengzhe + * @date 2021/7/5 22:32 + * @description + */ + +public class DictTypeFeignFallback implements DictTypeFeign{ + + @Override + public ResultBean save(DictTypeDto dictTypeDto) { + return null; + } + + @Override + public ResultBean> pageList(PagerQuery pagerQuery) { + return null; + } + + @Override + public ResultBean update(DictTypeDto dictTypeDto, String sid) { + return null; + } + + @Override + public ResultBean delete(String sid) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/privilege/PrivilegeQuery.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/privilege/PrivilegeQuery.java new file mode 100644 index 0000000..f3e595c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/privilege/PrivilegeQuery.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.feign.portal.privilege; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: 权限角色层级 + * @author: dimengzhe + * @date: 2023/5/23 + **/ +@Data +public class PrivilegeQuery { + + @ApiModelProperty("菜单路由") + private String menuUrl; + @ApiModelProperty("组织全路径sid") + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("用户sid") + private String userSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/region/RegionFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/region/RegionFeign.java new file mode 100644 index 0000000..2a3fa2c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/region/RegionFeign.java @@ -0,0 +1,55 @@ +package com.yxt.ordermall.feign.portal.region; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.region.RegionChildTwoVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * @author dimengzhe + * @date 2021/7/2 14:18 + * @description + */ +@FeignClient( + contextId = "ss-common-portal-Region", + name = "ss-common-portal", + path = "/apiadmin/regions") +public interface RegionFeign { + + /** + * 区域获取省 + * + * @return 所有省的集合 + */ + @ApiOperation("获取省") + @ResponseBody + @GetMapping("/getProvince") + public ResultBean> getProvince(); + + /** + * 根据省查询该省下所有的市 + * + * @param sid 省sid + * @return 某省下所有的市 + */ + @ApiOperation("根据省sid获取该省的所有市") + @ResponseBody + @GetMapping("/getCity") + public ResultBean> getCity(@RequestParam("sid") String sid); + + /** + * 根据市查询该市下的所有县区 + * + * @param sid 市sid + * @return 某市下的所有县区 + */ + @ApiOperation("根据市sid获取该市的所有县区") + @ResponseBody + @GetMapping("/getCounty") + public ResultBean> getCounty(@RequestParam("sid") String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenu/SysMenuFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenu/SysMenuFeign.java new file mode 100644 index 0000000..30deaad --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenu/SysMenuFeign.java @@ -0,0 +1,135 @@ +package com.yxt.ordermall.feign.portal.sysmenu; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysmenu.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +import javax.validation.Valid; +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuFeign.java
+ * Class: com.yxt.anrui.portal.api.sysmenu.SysMenuFeign
+ * Description: 菜单表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "菜单表") +@FeignClient( + contextId = "ss-common-portal-SysMenu", + name = "ss-common-portal", + path = "/apiadmin/sysmenu", + fallback = SysMenuFeignFallback.class) +public interface SysMenuFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + +/* @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysMenuQuery query);*/ + + /** + * 菜单列表:根据资源归类 + * + * @param query + * @return + */ + @ApiOperation("菜单列表:根据资源归类") + @PostMapping("/listAllVoForSource") + public ResultBean> listAllVoForSource(@RequestBody SysMenuQuery query); + + + @ApiOperation("菜单列表:根据资源归类") + @PostMapping("/listAllVoForSourceG") + public ResultBean> listAllVoForSourceG(@RequestBody SysMenuQuery query); + /** + * 菜单列表:根据资源归类 设置功能的url用 + * @return + */ + @ApiOperation("菜单列表:根据资源归类 设置功能的url用") + @PostMapping("/getMenusForFunction") + public ResultBean>> getMenusForFunction(@RequestBody SysMenuFunctionQuery sysMenuFunctionQuery); + @ApiOperation("根据用户sid查询所有数据列表 ") + @PostMapping("/sourceMenuTreeByUserSid") + public ResultBean>> sourceMenuTreeByUserSid(@RequestBody SysMenuQuery query); + @ApiOperation("根据资源sid查询所有数据列表 ") + @PostMapping("/sourcemenutree") + public ResultBean>> sourcemenutree(@RequestBody SysMenuQuery query); + + @ApiOperation("根据角色sid条件查询所有数据列表") + @PostMapping("/listAllByRoleSid") + public ResultBean> listAllByRoleSid(@RequestBody SysMenuQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@Valid @RequestBody SysMenuDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@Valid @RequestBody SysMenuDto dto, @PathVariable("sid") String sid); + + /* @ApiOperation("修改保存") + @PostMapping("/updateSort/{sid}") + public ResultBean updateSort(@RequestBody SysMenuDto dto,@PathVariable("sid") String sid); + */ + + /** + * 修改是否可用的状态 + * + * @param sid 菜单sid或资源sid + * @param isEnable 是否可用的状态:1可用,0不可用 + * @return + */ + @ApiOperation("修改是否可用的状态 ") + @PostMapping("/updateIsEnable/{sid}/{isEnable}") + public ResultBean updateIsEnable(@PathVariable("sid") String sid, @PathVariable("isEnable") Integer isEnable); + + /* @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids);*/ + + /** + * 根据当前行sid删除菜单 + * + * @param sid 菜单sid + * @return + */ + @ApiOperation("删除记录 根据sid") + @GetMapping("/delBySids/{sid}") + public ResultBean delBySids(@PathVariable("sid") String sid); + + /* @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录 根据sid") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid);*/ + @ApiOperation("根据角色sid条件查询所有数据列表") + @PostMapping("/listAllByRoleSidG") + public ResultBean> listAllByRoleSidG(@RequestBody SysMenuQuery query); + @ApiOperation("查询按钮的权限") + @PostMapping("/getButtonPermissions") + public ResultBean> getButtonPermissions(@RequestBody ButtonPermissionQuery query); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenu/SysMenuFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenu/SysMenuFeignFallback.java new file mode 100644 index 0000000..921088a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenu/SysMenuFeignFallback.java @@ -0,0 +1,98 @@ +package com.yxt.ordermall.feign.portal.sysmenu; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysmenu.*; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.sysmenu.SysMenuFeignFallback
+ * Description: 菜单表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SysMenuFeignFallback implements SysMenuFeign { + + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean> listAllVoForSource(SysMenuQuery query) { + return null; + } + + @Override + public ResultBean> listAllVoForSourceG(SysMenuQuery query) { + return null; + } + + @Override + public ResultBean>> getMenusForFunction(SysMenuFunctionQuery sysMenuFunctionQuery) { + return null; + } + + @Override + public ResultBean>> sourceMenuTreeByUserSid(SysMenuQuery query) { + return null; + } + + @Override + public ResultBean>> sourcemenutree(SysMenuQuery query) { + return null; + } + + @Override + public ResultBean> listAllByRoleSid(SysMenuQuery query) { + return null; + } + + @Override + public ResultBean> list() { + return null; + } + + @Override + public ResultBean save(SysMenuDto dto) { + return null; + } + + @Override + public ResultBean update(SysMenuDto dto, String sid) { + return null; + } + + @Override + public ResultBean updateIsEnable(String sid, Integer isEnable) { + return null; + } + + @Override + public ResultBean delBySids(String sid) { + return null; + } + + @Override + public ResultBean> listAllByRoleSidG(SysMenuQuery query) { + return null; + } + + @Override + public ResultBean> getButtonPermissions(ButtonPermissionQuery query) { + return null; + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenurole/SysMenuRoleFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenurole/SysMenuRoleFeign.java new file mode 100644 index 0000000..1fedfb1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenurole/SysMenuRoleFeign.java @@ -0,0 +1,84 @@ +package com.yxt.ordermall.feign.portal.sysmenurole; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysmenurole.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleFeign.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleFeign
+ * Description: 菜单与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "菜单与角色关联表") +@FeignClient( + contextId = "ss-common-portal-SysMenuRole", + name = "ss-common-portal", + path = "/apiadmin/sysmenurole", + fallback = SysMenuRoleFeignFallback.class) +public interface SysMenuRoleFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysMenuRoleQuery query); + + @ApiOperation("根据角色查询授权的菜单列表(PC)") + @PostMapping("/selMenuByRole") + public ResultBean> selMenuByRole(@RequestBody SysMenuRoleDataQuery query); + + @ApiOperation("根据角色查询授权的菜单列表(APP)") + @PostMapping("/selMenuByRoleApp") + public ResultBean> selMenuByRoleApp(@RequestBody SysMenuRoleDataQuery query); + + @ApiOperation("修改角色菜单的数据权限(PC)") + @PostMapping("/updateDataByRoleMenu") + public ResultBean updateDataByRoleMenu(@RequestBody List dtos); + + @ApiOperation("修改角色菜单的数据权限(移动端)") + @PostMapping("/updateDataByRoleMenuApp") + public ResultBean updateDataByRoleMenuApp(@RequestBody List dtos); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysMenuRoleDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysMenuRoleDto dto,@PathVariable("sid") String sid); + @ApiOperation("修改角色的菜单配置") + @PostMapping("/updateRoleAndMenu") + public ResultBean updateRoleAndMenu(@RequestBody SysMenuRoleDto dto); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenurole/SysMenuRoleFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenurole/SysMenuRoleFeignFallback.java new file mode 100644 index 0000000..490a97c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysmenurole/SysMenuRoleFeignFallback.java @@ -0,0 +1,86 @@ +package com.yxt.ordermall.feign.portal.sysmenurole; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysmenurole.*; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysMenuRoleFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRoleFeignFallback
+ * Description: 菜单与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SysMenuRoleFeignFallback implements SysMenuRoleFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean> listAll(SysMenuRoleQuery query) { + return null; + } + + @Override + public ResultBean> selMenuByRole(SysMenuRoleDataQuery query) { + return null; + } + + @Override + public ResultBean> selMenuByRoleApp(SysMenuRoleDataQuery query) { + return null; + } + + @Override + public ResultBean updateDataByRoleMenu(List dtos) { + return null; + } + + @Override + public ResultBean updateDataByRoleMenuApp(List dtos) { + return null; + } + + @Override + public ResultBean> list() { + return null; + } + + @Override + public ResultBean save(SysMenuRoleDto dto) { + return null; + } + + @Override + public ResultBean update(SysMenuRoleDto dto, String sid) { + return null; + } + + @Override + public ResultBean updateRoleAndMenu(SysMenuRoleDto dto) { + return null; + } + + @Override + public ResultBean del(String ids) { + return null; + } + + @Override + public ResultBean fetch(String id) { + return null; + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysorganization/SysOrganizationFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysorganization/SysOrganizationFeign.java new file mode 100644 index 0000000..11029a0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysorganization/SysOrganizationFeign.java @@ -0,0 +1,204 @@ +package com.yxt.ordermall.feign.portal.sysorganization; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysorganization.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganizationFeign.java
+ * Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "组织机构表") +@FeignClient( + contextId = "ss-common-portal-SysOrganization", + name = "ss-common-portal", + path = "apiadmin/sysorganization", + fallback = SysOrganizationFeignFallback.class) +public interface SysOrganizationFeign { + @PostMapping("/saveSysOrg") + public ResultBean saveOrg(@RequestBody SysOrganizationDto dto); + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysOrganizationQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list/{orgSid}") + public ResultBean> list(@PathVariable("orgSid") String orgSid); + + @ApiOperation("一级组织机构列表") + @GetMapping("/selectFirstOrgList") + public ResultBean> selectFirstOrgList(); + + @ApiOperation("根据父级sid查询子集列表") + @GetMapping("/selectChildrenListBySid/{sid}") + public ResultBean> selectChildrenListBySid(@PathVariable("sid") String sid); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysOrganizationDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysOrganizationDto dto, @PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("删除记录 根据sid") + @GetMapping("/delBySid/{sid}") + public ResultBean delBySid(@PathVariable("sid") String sid); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录 根据sid") + @ResponseBody + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); + + + @ApiOperation("手机获取组织架构") + @ResponseBody + @GetMapping("/selectAppOrganization") + public ResultBean> selectAppOrganization(@RequestParam(value = "sid", required = false) String sid); + + @ApiOperation("组织架构") + @ResponseBody + @GetMapping("/selectListOrg") + ResultBean> selectListOrg(); + + @ApiOperation("获取到分公司") + @ResponseBody + @GetMapping("/getListOrg") + ResultBean> getListOrg(); + + @ApiOperation("获取同品牌下分公司") + @ResponseBody + @GetMapping("/getListOrgByBrand/{orgSid}") + ResultBean> getListOrgByBrand(@PathVariable(value = "orgSid") String orgSid); + + @ApiOperation("获取指定品牌下分公司(已筛选本分公司)") + @ResponseBody + @GetMapping("/getListOrgByBrandSid/{orgSid}/{brandSid}") + ResultBean> getListOrgByBrandSid(@PathVariable(value = "orgSid") String orgSid,@PathVariable(value = "brandSid") String brandSid); + + @ApiOperation("获取指定品牌下分公司(未筛选本分公司)") + @ResponseBody + @GetMapping("/getListOrgByBrandSidNo/{orgSid}/{brandSid}") + ResultBean> getListOrgByBrandSidNo(@PathVariable(value = "orgSid") String orgSid,@PathVariable(value = "brandSid") String brandSid); + + @ApiOperation("获取指定分公司下部门信息") + @ResponseBody + @GetMapping("/getListDeptByOrgSid/{orgSid}") + ResultBean> getListDeptByOrgSid(@PathVariable(value = "orgSid") String orgSid); + + @ApiOperation("根据业务员sid获取到分公司") + @ResponseBody + @GetMapping("/getUseOrgByUserSid") + ResultBean getUseOrgByUserSid(@RequestParam("userSid") String userSid); + + @ApiOperation("根据部门sid查询组织信息") + @ResponseBody + @GetMapping("/selectBySid") + ResultBean selectBySid(@RequestParam("sid") String sid); + + @ApiOperation("根据组织架构sid查询组织下所有分公司") + @ResponseBody + @GetMapping("/selectUseOrgSidBySid") + ResultBean>> selectUseOrgSidBySid(@RequestParam("sid") String sid); + + /** + * 查询公司所有的部门 + * + * @return + */ + @ApiOperation("所在部门下拉") + @ResponseBody + @GetMapping("/selectListOne") + ResultBean> selectListOne(); + + @PostMapping("/getQrCode/{sid}") + @ResponseBody + @ApiOperation("查看二维码") + public ResultBean getQrCode(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid); + + @GetMapping("/getOrgSid/{sid}") + @ResponseBody + @ApiOperation("根据当前用户的所在组织获取当前用户所在的分公司") + ResultBean getOrgSid(@PathVariable(value = "sid") String sid); + + @GetMapping("/selectOrgList") + @ResponseBody + @ApiOperation("当前分公司销售部门及部门人员") + ResultBean> selectOrgList(@SpringQueryMap SysOrganizationListQuery query); + + @GetMapping("/selectOrgList2") + @ResponseBody + @ApiOperation("当前分公司销售部门及部门人员") + ResultBean> selectOrgList2(@SpringQueryMap SysOrganizationListQuery query); + + @GetMapping("/selectOrgLists") + @ResponseBody + @ApiOperation("当前分公司下所有部门") + ResultBean> selectOrgLists(@SpringQueryMap SysOrganizationListQuery query); + + @GetMapping("/selectByPSid") + @ResponseBody + @ApiOperation("查询分公司下的销售支持部") + ResultBean selectByPSid(@RequestParam("sid") String sid, @RequestParam("name") String name); + + @GetMapping("/selectOrgSidList") + @ResponseBody + @ApiOperation("所有分公司sid") + ResultBean> selectOrgSidList(); + + @GetMapping("/selectOrgByPSid") + @ResponseBody + @ApiOperation("查询事业部下所有分公司") + ResultBean> selectOrgByPSid(@RequestParam("psid") String psid); + + @GetMapping("/selectByOrgSidPath") + @ResponseBody + @ApiOperation("组织层级分页查询") + ResultBean selectByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath); + + @GetMapping("/selectByOrgCode") + @ResponseBody + @ApiOperation("根据code查询组织信息") + ResultBean selectByOrgCode(@RequestParam("orgCode") String orgCode); + +// @GetMapping("/selectFinance") +// @ResponseBody +// @ApiOperation("查询金融部主管人员") +// ResultBean> selectFinance(@RequestParam("orgPath")String orgPath,@RequestParam("userSid")String userSid); + + @GetMapping("/selectByCJOrgPath") + @ResponseBody + @ApiOperation("根据管理层级截取路径") + ResultBean selectByCJOrgPath(@RequestParam("orgPath") String orgPath); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysorganization/SysOrganizationFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysorganization/SysOrganizationFeignFallback.java new file mode 100644 index 0000000..0600b60 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysorganization/SysOrganizationFeignFallback.java @@ -0,0 +1,199 @@ +package com.yxt.ordermall.feign.portal.sysorganization; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysorganization.*; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganizationFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeignFallback
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SysOrganizationFeignFallback implements SysOrganizationFeign { + + + @Override + public ResultBean saveOrg(SysOrganizationDto dto) { + return null; + } + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean> listAll(SysOrganizationQuery query) { + return null; + } + + @Override + public ResultBean> list(String orgSid) { + return null; + } + + + @Override + public ResultBean> selectFirstOrgList() { + return null; + } + + @Override + public ResultBean> selectChildrenListBySid(String sid) { + return null; + } + + @Override + public ResultBean save(SysOrganizationDto dto) { + return null; + } + + @Override + public ResultBean update(SysOrganizationDto dto, String sid) { + return null; + } + + @Override + public ResultBean del(String ids) { + return null; + } + + @Override + public ResultBean delBySid(String sid) { + return null; + } + + @Override + public ResultBean fetch(String id) { + return null; + } + + @Override + public ResultBean fetchBySid(String sid) { + return null; + } + + @Override + public ResultBean> selectAppOrganization(String sid) { + return null; + } + + @Override + public ResultBean> selectListOrg() { + return null; + } + + @Override + public ResultBean> getListOrg() { + return null; + } + + @Override + public ResultBean> getListOrgByBrand(String orgSid) { + return null; + } + + @Override + public ResultBean> getListOrgByBrandSid(String orgSid, String brandSid) { + return null; + } + + @Override + public ResultBean> getListOrgByBrandSidNo(String orgSid, String brandSid) { + return null; + } + + @Override + public ResultBean> getListDeptByOrgSid(String orgSid) { + return null; + } + + @Override + public ResultBean getUseOrgByUserSid(String userSid) { + return null; + } + + @Override + public ResultBean selectBySid(String sid) { + return null; + } + + @Override + public ResultBean>> selectUseOrgSidBySid(String sid) { + return null; + } + + @Override + public ResultBean> selectListOne() { + return null; + } + + @Override + public ResultBean getQrCode(String sid) { + return null; + } + + @Override + public ResultBean getOrgSid(String sid) { + return null; + } + + @Override + public ResultBean> selectOrgList(SysOrganizationListQuery query) { + return null; + } + + @Override + public ResultBean> selectOrgList2(SysOrganizationListQuery query) { + return null; + } + + @Override + public ResultBean> selectOrgLists(SysOrganizationListQuery query) { + return null; + } + + @Override + public ResultBean selectByPSid(String sid, String name) { + return null; + } + + @Override + public ResultBean> selectOrgSidList() { + return null; + } + + @Override + public ResultBean> selectOrgByPSid(String psid) { + return null; + } + + @Override + public ResultBean selectByOrgSidPath(String orgSidPath) { + return null; + } + + @Override + public ResultBean selectByOrgCode(String orgCode) { + return null; + } + + @Override + public ResultBean selectByCJOrgPath(String orgPath) { + return null; + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/syspost/SysPostFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/syspost/SysPostFeign.java new file mode 100644 index 0000000..7441f7b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/syspost/SysPostFeign.java @@ -0,0 +1,93 @@ +package com.yxt.ordermall.feign.portal.syspost; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.syspost.SysPostDto; +import com.yxt.ordermall.biz.func.syspost.SysPostListVo; +import com.yxt.ordermall.biz.func.syspost.SysPostQuery; +import com.yxt.ordermall.biz.func.syspost.SysPostVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPostFeign.java
+ * Class: com.yxt.anrui.portal.api.syspost.SysPostFeign
+ * Description: 岗位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "岗位") +@FeignClient( + contextId = "ss-common-portal-SysPost", + name = "ss-common-portal", + path = "apiadmin/syspost", + fallback = SysPostFeignFallback.class) +public interface SysPostFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysPostQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysPostDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysPostDto dto, @PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("删除记录") + @GetMapping("/delBySids/{sids}") + public ResultBean delBySids(@PathVariable("sids") String sids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); + + @ApiOperation("根据部门sid获取岗位列表") + @GetMapping("/fetchByOrgSid/{orgSid}") + public ResultBean> fetchByOrgSid(@PathVariable("orgSid") String orgSid); + + @ApiOperation("根据部门sid获取岗位编号") + @GetMapping("/fetchByOrgSidPostCode/{orgSid}") + public ResultBean fetchByOrgSidPostCode(); + + /** + * 查询岗位列表 + * + * @return + */ + @ApiOperation("查询岗位列表") + @GetMapping("/selectList") + public ResultBean> selectList(); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/syspost/SysPostFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/syspost/SysPostFeignFallback.java new file mode 100644 index 0000000..45580ea --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/syspost/SysPostFeignFallback.java @@ -0,0 +1,89 @@ +package com.yxt.ordermall.feign.portal.syspost; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.syspost.SysPostDto; +import com.yxt.ordermall.biz.func.syspost.SysPostListVo; +import com.yxt.ordermall.biz.func.syspost.SysPostQuery; +import com.yxt.ordermall.biz.func.syspost.SysPostVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysPostFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.syspost.SysPostFeignFallback
+ * Description: 岗位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SysPostFeignFallback implements SysPostFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean> listAll(SysPostQuery query) { + return null; + } + + @Override + public ResultBean> list() { + return null; + } + + @Override + public ResultBean save(SysPostDto dto) { + return null; + } + + @Override + public ResultBean update(SysPostDto dto, String sid) { + return null; + } + + @Override + public ResultBean del(String ids) { + return null; + } + + @Override + public ResultBean delBySids(String sids) { + return null; + } + + @Override + public ResultBean fetch(String id) { + return null; + } + + @Override + public ResultBean fetchBySid(String sid) { + return null; + } + + @Override + public ResultBean> fetchByOrgSid(String orgSid) { + return null; + } + + @Override + public ResultBean fetchByOrgSidPostCode() { + return null; + } + + @Override + public ResultBean> selectList() { + return null; + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysrole/SysRoleFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysrole/SysRoleFeign.java new file mode 100644 index 0000000..b4ec4dd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysrole/SysRoleFeign.java @@ -0,0 +1,86 @@ +package com.yxt.ordermall.feign.portal.sysrole; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysrole.SysRoleDto; +import com.yxt.ordermall.biz.func.sysrole.SysRoleQuery; +import com.yxt.ordermall.biz.func.sysrole.SysRoleVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRoleFeign.java
+ * Class: com.yxt.anrui.portal.api.sysrole.SysRoleFeign
+ * Description: 角色.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "角色") +@FeignClient( + contextId = "ss-common-portal-SysRole", + name = "ss-common-portal", + path = "/apiadmin/sysrole", + fallback = SysRoleFeignFallback.class) +public interface SysRoleFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysRoleQuery query); + @ApiOperation("查询所有的角色数据,并根据用户sid查询被选中的角色") + @PostMapping("/listAllByUserSid/{userSid}/{orgSid}") + public ResultBean> listAllByUserSid(@PathVariable("userSid") String userSid,@PathVariable("orgSid") String orgSid); + + @ApiOperation("根据用户sid查询用户的角色列表") + @PostMapping("/fetchByUserSid/{userSid}") + public ResultBean> fetchByUserSid(@PathVariable("userSid") String userSid); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysRoleDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SysRoleDto dto,@PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("删除记录根据sids") + @GetMapping("/delBySids/{sids}") + public ResultBean delBySids(@PathVariable("sids") String sids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("获取一条记录根据sid") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); + + @PostMapping("/setIsEnable/{sid}/{isEnable}") + @ResponseBody + @ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用") + public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable); + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysrole/SysRoleFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysrole/SysRoleFeignFallback.java new file mode 100644 index 0000000..6f1b613 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysrole/SysRoleFeignFallback.java @@ -0,0 +1,88 @@ +package com.yxt.ordermall.feign.portal.sysrole; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysrole.SysRoleDto; +import com.yxt.ordermall.biz.func.sysrole.SysRoleQuery; +import com.yxt.ordermall.biz.func.sysrole.SysRoleVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysRoleFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.sysrole.SysRoleFeignFallback
+ * Description: 角色.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SysRoleFeignFallback implements SysRoleFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean> listAll(SysRoleQuery query) { + return null; + } + + @Override + public ResultBean> listAllByUserSid(String userSid, String orgSid) { + return null; + } + + @Override + public ResultBean> fetchByUserSid(String userSid) { + return null; + } + + @Override + public ResultBean> list() { + return null; + } + + @Override + public ResultBean save(SysRoleDto dto) { + return null; + } + + @Override + public ResultBean update(SysRoleDto dto, String sid) { + return null; + } + + @Override + public ResultBean del(String ids) { + return null; + } + + @Override + public ResultBean delBySids(String sids) { + return null; + } + + @Override + public ResultBean fetch(String id) { + return null; + } + + @Override + public ResultBean fetchBySid(String sid) { + return null; + } + + @Override + public ResultBean setIsEnable(String sid, String isEnable) { + return null; + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysroleauthorize/SysRoleAuthorizeFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysroleauthorize/SysRoleAuthorizeFeign.java new file mode 100644 index 0000000..7017767 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysroleauthorize/SysRoleAuthorizeFeign.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.feign.portal.sysroleauthorize; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.sysroleauthorize.SysRoleAuthorizeDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceFeign.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceFeign
+ * Description: 资源表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "资源表") +@FeignClient( + contextId = "ss-common-portal-SysOrgAuthorize", + name = "ss-common-portal", + path = "apiadmin/sysroleauthorize", + fallback = SysRoleAuthorizeFeignFallback.class) +public interface SysRoleAuthorizeFeign { + + @ApiOperation("修改角色的菜单配置") + @PostMapping("/updateRoleAndMenu") + public ResultBean updateRoleAndMenu(@RequestBody SysRoleAuthorizeDto dto); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysroleauthorize/SysRoleAuthorizeFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysroleauthorize/SysRoleAuthorizeFeignFallback.java new file mode 100644 index 0000000..f18e903 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysroleauthorize/SysRoleAuthorizeFeignFallback.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.feign.portal.sysroleauthorize; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.sysroleauthorize.SysRoleAuthorizeDto; +import org.springframework.stereotype.Component; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysSourceFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.syssource.SysSourceFeignFallback
+ * Description: 资源表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SysRoleAuthorizeFeignFallback implements SysRoleAuthorizeFeign { + + + @Override + public ResultBean updateRoleAndMenu(SysRoleAuthorizeDto dto) { + return null; + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysstaffinfo/SysStaffinfoFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysstaffinfo/SysStaffinfoFeign.java new file mode 100644 index 0000000..5208953 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysstaffinfo/SysStaffinfoFeign.java @@ -0,0 +1,164 @@ +package com.yxt.ordermall.feign.portal.sysstaffinfo; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysstaffinfo.*; +import com.yxt.ordermall.biz.func.sysstaffinfo.app.AppSysStaffQuery; +import com.yxt.ordermall.biz.func.sysstaffinfo.app.AppSysStaffVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Map; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffinfoFeignFallback.java
+ * Class: com.yxt.user.biz.sysstaffinfo.SysStaffinfoRest
+ * Description: 人员基础信息表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@FeignClient( + contextId = "ss-common-portal-sysstaffinfo", + name = "ss-common-portal", + path = "/apiadmin/sysstaffinfo") +public interface SysStaffinfoFeign { + + + /** + * 员工管理分页列表 + * + * @param pq 查询条件 + * @return + */ + @ApiOperation("员工管理分页列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + /** + * 员工信息新增保存 + * + * @param dto 数据传输对象 + * @return + */ + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@Valid @RequestBody SysStaffinfoDto dto); + + /** + * 员工信息修改保存 + * + * @param dto 数据传输对象 + * @param sid 员工信息sid + * @return + */ + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@Valid @RequestBody SysStaffinfoDto dto, @PathVariable("sid") String sid); + + /** + * 员工信息删除操作,即离职 + * + * @param sysStaffQuery 数据传输对象 + * @return + */ + @ApiOperation("设置离职") + @PostMapping("/del") + public ResultBean del(@RequestBody SysStaffQuery sysStaffQuery); + + /** + * 员工信息编辑初始化及详情 + * + * @param sid 员工sid + * @return + */ + @ApiOperation("员工信息编辑初始化及详情") + @GetMapping("/fetchBySid/{sid}/{orgSid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid,@PathVariable("orgSid") String orgSid); + @ApiOperation("员工信息编辑初始化及详情") + @GetMapping("/fetchBySidP") + public ResultBean fetchBySidP(@RequestParam("sid") String sid); + /** + * 获取集团内全部员工姓名 + * + * @param staffName 员工姓名 + * @return + */ + @ApiOperation("获取集团内全部员工姓名") + @GetMapping("/getStaffName") + public ResultBean>> getStaffName(@RequestParam(value = "staffName", required = false) String staffName, @RequestParam(value = "deptSid") String deptSid); + + /** + * 获取部门内全部员工姓名 + * + * @param staffName 员工姓名 + * @return + */ + @ApiOperation("获取部门内全部员工姓名") + @GetMapping("/getStaffNameByDeptSid") + public ResultBean>> getStaffNameByDeptSid(@RequestParam(value = "staffName", required = false) String staffName, @RequestParam(value = "deptSid") String deptSid); + + + @ApiOperation("获取App通讯录") + @ResponseBody + @GetMapping("/selectAppContactsList") + public ResultBean> selectAppContactsList(@RequestParam(value = "names", required = false) String names); + + @ApiOperation("app查看通讯录详情") + @ResponseBody + @GetMapping("/selectAppContactsVO/{staffSid}") + public ResultBean selectAppContactsVO(@PathVariable("staffSid") String staffSid); + + @ApiOperation("App通讯录搜索") + @ResponseBody + @PostMapping("/searchAppContactsList") + public ResultBean> searchAppContactsList(@RequestBody PagerQuery pq); + + @ApiOperation("App通讯录搜索2") + @ResponseBody + @PostMapping("/searchAppContactsList2") + public ResultBean> searchAppContactsList2(@RequestBody PagerQuery pq); + + @ApiOperation("销售订单-内部推荐人下拉框") + @ResponseBody + @GetMapping("/selectStaffList") + ResultBean> selectStaffList(@SpringQueryMap PcSysStaffQuery pcSysStaffQuery); + + @ApiOperation("移动端-销售订单-内部推荐人下拉框") + @ResponseBody + @PostMapping("/getUserList") + ResultBean> getUserList(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("存放地点变更-获取人员列表") + @ResponseBody + @GetMapping("/getGressionUserList/{userSid}") + ResultBean> getGressionUserList(@PathVariable("userSid") String userSid); + + @ApiOperation("切换机构:存放地点变更-获取人员列表") + @ResponseBody + @GetMapping("/getGressionUserList") + ResultBean> getGressionUserList(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath); + + + @ApiOperation("获取集团所有人员") + @ResponseBody + @GetMapping("/selectStaffLists") + ResultBean> selectStaffLists(); + + @ApiOperation("获取集团所有在职人员") + @ResponseBody + @GetMapping("/selectStaffListss") + ResultBean> selectStaffListss(); + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysstafforg/SysStaffOrgFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysstafforg/SysStaffOrgFeign.java new file mode 100644 index 0000000..2c1b310 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysstafforg/SysStaffOrgFeign.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.feign.portal.sysstafforg; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.biz.func.sysstafforg.SysStaffOrgByUserVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * @description: 人员与机构 + * @author: dimengzhe + * @date: 2024/3/6 + **/ +@FeignClient( + contextId = "ss-common-portal-SysStaffOrg", + name = "ss-common-portal", + path = "/apiadmin/sysstafforg") +public interface SysStaffOrgFeign { + + @GetMapping("/getOrgSidByPath") + @ResponseBody + @ApiOperation("根据用户组织全路径获取用户的分公司sid") + ResultBean getOrgSidByPath(@RequestParam("orgPath") String orgPath); + + @GetMapping("/selAllByOrgSidPath") + @ResponseBody + @ApiOperation("根据组织全路径查询当前部门下的所有员工") + public ResultBean> selAllByOrgSidPath(String orgSidPath); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/systemlog/SystemLogFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/systemlog/SystemLogFeign.java new file mode 100644 index 0000000..26c0c97 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/systemlog/SystemLogFeign.java @@ -0,0 +1,68 @@ +package com.yxt.ordermall.feign.portal.systemlog; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.systemlog.SystemLogDto; +import com.yxt.ordermall.biz.func.systemlog.SystemLogQuery; +import com.yxt.ordermall.biz.func.systemlog.SystemLogVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; + +import java.util.List; + + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLogFeign.java
+ * Class: com.yxt.anrui.portal.api.systemlog.SystemLogFeign
+ * Description: 系统日志表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "系统日志表") +@FeignClient( + contextId = "ss-common-portal-SystemLog", + name = "ss-common-portal", + path = "/apiadmin/systemlog", + fallback = SystemLogFeignFallback.class) +public interface SystemLogFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SystemLogQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SystemLogDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update/{sid}") + public ResultBean update(@RequestBody SystemLogDto dto,@PathVariable("sid") String sid); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/systemlog/SystemLogFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/systemlog/SystemLogFeignFallback.java new file mode 100644 index 0000000..255ad56 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/systemlog/SystemLogFeignFallback.java @@ -0,0 +1,67 @@ +package com.yxt.ordermall.feign.portal.systemlog; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.systemlog.SystemLogDto; +import com.yxt.ordermall.biz.func.systemlog.SystemLogQuery; +import com.yxt.ordermall.biz.func.systemlog.SystemLogVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SystemLogFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.systemlog.SystemLogFeignFallback
+ * Description: 系统日志表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SystemLogFeignFallback implements SystemLogFeign { + + @Override + public ResultBean> listPage(PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/systemlog/listPage无法访问"); + } + + @Override + public ResultBean> listAll(SystemLogQuery query){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/systemlog/listAll无法访问"); + } + + @Override + public ResultBean> list(){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/systemlog/list无法访问"); + } + + @Override + public ResultBean save(SystemLogDto dto){ + return ResultBean.fireFail().setMsg("接口anrui_portal/systemlog/save无法访问"); + } + + @Override + public ResultBean update(SystemLogDto dto, String sid){ + return ResultBean.fireFail().setMsg("接口anrui_portal/systemlog/update无法访问"); + } + + @Override + public ResultBean del(String ids){ + return ResultBean.fireFail().setMsg("接口anrui_portal/systemlog/del无法访问"); + } + + @Override + public ResultBean fetch(String id){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui_portal/systemlog/fetch无法访问"); + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/OrgList.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/OrgList.java new file mode 100644 index 0000000..e1aefb6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/OrgList.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.feign.portal.sysuser; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/9/21 9:26 + * @Description + */ +@Data +public class OrgList implements Vo { + private static final long serialVersionUID = -2867882982421321776L; + + private String orgName; + private String orgPath; + + private String deptName; + + private String deptSid; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysOrganization.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysOrganization.java new file mode 100644 index 0000000..97f710f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysOrganization.java @@ -0,0 +1,87 @@ +package com.yxt.ordermall.feign.portal.sysuser; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysOrganization.java
+ * Class: SysOrganization
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "组织机构表", description = "组织机构表") +@TableName("sys_organization") +@Data +public class SysOrganization extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("部门/组织名称") + private String name; + + @ApiModelProperty("父(部门/组织) sid") + private String psid; + + @ApiModelProperty("联系电话") + private String linkPhone; + @ApiModelProperty("联系人") + private String linkPerson; + + @ApiModelProperty("部门sid全路径") + private String orgSidPath; + + @ApiModelProperty("排序") + private Integer sort; + + @ApiModelProperty("地址") + private String addrs; + + @ApiModelProperty("地理位置经纬度") + private String jwd; + + @ApiModelProperty("二维码") + private String qrText; + + @ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己") + private Integer limitOrgMember; + + @ApiModelProperty("部门编码") + private String orgCode; + +// @ApiModelProperty("部门简称(地区简称+门店名称首字母(遇到首字母重复时用2个字母))") +// private String orgShortName; + + @ApiModelProperty("销售区域划分(本店终端销售:0,门店对应业务区域划分销售:1至9,具体编号划分各门店报备确定)") + private String regionDivision; + + @ApiModelProperty("是否是部门(0否,1是)") + private Integer isDept; + + @ApiModelProperty("组织简称") + private String orgAbbre; + + @ApiModelProperty("组织属性key") + private String orgAttributeKey; + + @ApiModelProperty("组织属性value") + private String orgAttributeValue; + + @ApiModelProperty("管理层级key") + private String orgLevelKey; + + @ApiModelProperty("管理层级value") + private String orgLevelValue; + + @ApiModelProperty("其他编码") + private String otherCode; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysStaffOrgVo.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysStaffOrgVo.java new file mode 100644 index 0000000..671190c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysStaffOrgVo.java @@ -0,0 +1,49 @@ +package com.yxt.ordermall.feign.portal.sysuser; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysStaffOrgVo.java
+ * Class: com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo
+ * Description: 员工部门关联表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:29
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "员工部门关联表 视图数据对象", description = "员工部门关联表 视图数据对象") +@Data +public class SysStaffOrgVo implements Vo { + + + @ApiModelProperty("部门sid") + private String orgSid; + + @ApiModelProperty("部门名称") + private String orgName; + + @ApiModelProperty("人员sid") + private String staffSid; + +// @ApiModelProperty("部门路径") +// private String orgSidPath; +// +// @ApiModelProperty("部门名称路径") +// private String orgNamePath; + + @ApiModelProperty("管理类型:1、主管。2、分管。3、员工") + private String manageType; + @ApiModelProperty("员工姓名") + private String staffName; + @ApiModelProperty("员工手机号") + private String mobile; + private String type="2"; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUser.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUser.java new file mode 100644 index 0000000..5520cd7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUser.java @@ -0,0 +1,73 @@ +package com.yxt.ordermall.feign.portal.sysuser; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUser.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUser
+ * Description: 用户表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表", description = "用户表") +@TableName("sys_user") +@Data +public class SysUser extends BaseEntity { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty("登录名,登录名不能相同") + private String userName; + + @ApiModelProperty("密码(加密或签名后)") + private String password; + + @ApiModelProperty("密码修改时限") + private String pwdDayslimit; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("最后一次密码修改时间") + private Date pwdModifyTime; + + @ApiModelProperty("在线状态(0为离线、1为在线)") + private Integer onlineState; + + @ApiModelProperty("用户登录时随机生成身份验证字符串") + private String token; + + @ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员") + private String isAdmin; + + @ApiModelProperty("手机登录唯一标识,手机与用户绑定字段") + private String appId; + + @ApiModelProperty("关联的人员sid") + private String staffSid; + + @ApiModelProperty("手机号") + private String mobile; + + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private Integer userType; + + @ApiModelProperty("用户头像") + private String headImage; + @TableField(exist = false) + private String orgSid; + private String accountType;////账号类型 1单位管理员,2操作员,0是平台管理员 3非登录账户‘ + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserDto.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserDto.java new file mode 100644 index 0000000..2a50eb9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserDto.java @@ -0,0 +1,48 @@ +package com.yxt.ordermall.feign.portal.sysuser; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserDto.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUserDto
+ * Description: 用户表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 数据传输对象", description = "用户表 数据传输对象") +@Data +public class SysUserDto implements Dto { + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private Integer userType; + @ApiModelProperty(value = "姓名", required = true) + @NotBlank(message = "姓名不能为空") + private String name; + @ApiModelProperty(value = "验证码", required = true) + @NotBlank(message = "验证码不能为空") + private String code; + @ApiModelProperty(value = "部门sid") + private String deptSid; + @ApiModelProperty(value = "岗位sid") + private String postSid; + private String companyName;//公司名 + private String contacts;//联系人 + private String address;//省/市/区 + private String userSid; + private String password; + private String orgSid; + private String sourceSid; +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserFeign.java new file mode 100644 index 0000000..5b99468 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserFeign.java @@ -0,0 +1,94 @@ +package com.yxt.ordermall.feign.portal.sysuser; + +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.portal.privilege.PrivilegeQuery; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; + +/** + * @description: + * @author: wangpengfei + * @date: 2024/4/12 + **/ +@FeignClient( + contextId = "ss-common-portal-SysUser", + name = "ss-common-portal", + path = "/apiadmin/sysuser", + fallback = SysUserFeignFallback.class) +public interface SysUserFeign { + + @PostMapping("/login") + @ResponseBody + @ApiOperation(value = "3、登录") + @ApiOperationSupport(order = 30) + public ResultBean login(@RequestBody SysUserQuery userQuery); + @PostMapping("/register") + @ResponseBody + @ApiOperation(value = "3、注册") + @ApiOperationSupport(order = 30) + public ResultBean register(@RequestBody SysUserDto dto); + @PostMapping("/loginDetails") + @ResponseBody + @ApiOperation(value = "获取登录人") + @ApiOperationSupport(order = 30) + public ResultBean loginDetails(HttpServletRequest httpServletRequest); + + @PostMapping("/sendMessageCode") + @ResponseBody + @ApiOperation(value = "3、获取注册码") + @ApiOperationSupport(order = 30) + public ResultBean sendMessageCode(@RequestParam("mobile") String mobile); + + @PostMapping("/sendMessageLogin") + @ResponseBody + @ApiOperation(value = "3、获取登录码") + @ApiOperationSupport(order = 30) + public ResultBean sendMessageLogin(@RequestParam("mobile") String mobile); + @PostMapping("/sendMessageUpdate") + @ResponseBody + @ApiOperation(value = "3、获取登录码") + @ApiOperationSupport(order = 30) + public ResultBean sendMessageUpdate(@RequestParam("mobile") String mobile); + @ApiOperation("根据条件分页查询数据的列表 ") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @PostMapping("/bindOrganization") + @ResponseBody + @ApiOperation(value = "绑定组织") + @ApiOperationSupport(order = 30) + public ResultBean bindOrganization(@RequestBody SysUserDto dto); + + @PostMapping("/selOrganization") + @ResponseBody + @ApiOperation(value = "选择所登录的组织") + @ApiOperationSupport(order = 30) + public ResultBean selOrganization(@RequestBody SysUserDto dto); + + @PostMapping("/setIsEnable/{sid}/{isEnable}") + @ResponseBody + @ApiOperation(value = "设置是否可用:isEnable:1可用,0不可用") + public ResultBean setIsEnable(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid, @ApiParam(value = "isEnable", required = true) @PathVariable("isEnable") String isEnable); + @ApiOperation(value = "查询角色权限的层级获取权限id") + @PostMapping(value = "/selectPrivilegeLevel") + ResultBean selectPrivilegeLevel(@RequestBody PrivilegeQuery query); + + @ApiOperation("根据sid获取一条记录") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid); + @ResponseBody + @PostMapping("/initPwd/{sid}") + @ApiOperation(value = "10、用户初始化密码") + @ApiOperationSupport(order = 100) + public ResultBean initPwd(@ApiParam(value = "用户sid", required = true) @PathVariable("sid") String sid); + @ApiOperation("删除记录根据sid") + @GetMapping("/delBySid/{sid}") + public ResultBean delBySid(@PathVariable("sid") String sid); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserFeignFallback.java new file mode 100644 index 0000000..96fdfb4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserFeignFallback.java @@ -0,0 +1,89 @@ +package com.yxt.ordermall.feign.portal.sysuser; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.feign.portal.privilege.PrivilegeQuery; +import org.springframework.stereotype.Component; + +import javax.servlet.http.HttpServletRequest; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@Component +public class SysUserFeignFallback implements SysUserFeign { + + + @Override + public ResultBean login(SysUserQuery userQuery) { + return null; + } + + @Override + public ResultBean register(SysUserDto dto) { + return null; + } + + @Override + public ResultBean loginDetails(HttpServletRequest httpServletRequest) { + return null; + } + + @Override + public ResultBean sendMessageCode(String mobile) { + return null; + } + + @Override + public ResultBean sendMessageLogin(String mobile) { + return null; + } + + @Override + public ResultBean sendMessageUpdate(String mobile) { + return null; + } + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean bindOrganization(SysUserDto dto) { + return null; + } + + @Override + public ResultBean selOrganization(SysUserDto dto) { + return null; + } + + @Override + public ResultBean setIsEnable(String sid, String isEnable) { + return null; + } + + @Override + public ResultBean selectPrivilegeLevel(PrivilegeQuery query) { + return null; + } + + @Override + public ResultBean fetchBySid(String sid) { + return null; + } + + @Override + public ResultBean initPwd(String sid) { + return null; + } + + @Override + public ResultBean delBySid(String sid) { + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserQuery.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserQuery.java new file mode 100644 index 0000000..95c9a95 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserQuery.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.feign.portal.sysuser; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserQuery.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUserQuery
+ * Description: 用户表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 查询条件", description = "用户表 查询条件") +@Data +public class SysUserQuery implements Query { + + + @ApiModelProperty("角色sid") + private String roleSid; + @ApiModelProperty("用户名称") + private String userName; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("部门名称") + private String orgName; + + @ApiModelProperty("密码(加密或签名后)") + private String password; + + @ApiModelProperty("用户登录时随机生成身份验证字符串") + private String token; + @ApiModelProperty("用户登录时随机生成的验证码字符串") + private String verifyCode; + private String uuid; + + @ApiModelProperty("手机登录唯一标识,手机与用户绑定字段") + private String appId; + @ApiModelProperty("手机登录类型:1、密码登录2、验证码登录") + private String type; + @ApiModelProperty(value = "是否是测试",example = "false") + private Boolean isTest; + private String companyName;//公司名 + private String contacts;//联系人 + private String provinces;//省 + private String cities;//市 + private String districts;//区 + private String orgSid;//组织 + private String sourceSid;//资源 +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserVo.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserVo.java new file mode 100644 index 0000000..aa399d6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuser/SysUserVo.java @@ -0,0 +1,110 @@ +package com.yxt.ordermall.feign.portal.sysuser; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.vo.Vo; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserVo.java
+ * Class: com.yxt.anrui.portal.api.sysuser.SysUserVo
+ * Description: 用户表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "用户表 视图数据对象", description = "用户表 视图数据对象") +@Data +@NoArgsConstructor +public class SysUserVo implements Vo { + private static final long serialVersionUID = 2415131854581950721L; + @ApiModelProperty("部门sid") + private String departmentSid; + @ApiModelProperty("部门名称") + private String departmentName; + @ApiModelProperty("上级部门名称-本级部门名称 岗位名称") + @JsonProperty("pNameAndDepartmentNameAndPostName") + private String pNameAndDepartmentNameAndPostName; + @ApiModelProperty("岗位名称") + private String postName; + @ApiModelProperty("岗位Sid") + private String postSid; + @ApiModelProperty("单位sid") + private String organizationSid; + @ApiModelProperty("单位名称") + private String organizationName; + @ApiModelProperty("用户姓名") + private String name; + @ApiModelProperty("登录名,登录名不能相同") + private String userName; + + @ApiModelProperty("id") + private Integer id; + @ApiModelProperty("用户sid") + private String sid; + @ApiModelProperty("是否是管理员:1管理员,2一般用户,0是超级管理员,3尚无单位人员") + private String isAdmin; + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty("关联的人员sid") + private String staffSid; + + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty(value = "禁用状态") + private String isEnable; + + @ApiModelProperty("用户类型:1员工、2客户、3供应商") + private String userType; + @ApiModelProperty("用户类型:1、2、3") + private String userTypeValue; + @ApiModelProperty("用户头像") + private String headImage; + @ApiModelProperty("组织名称") + private String orgNamePath; + @ApiModelProperty("组织sid") + private String orgSidPath; + @ApiModelProperty(value = "token") + private String token; + @ApiModelProperty(value = "角色sids") + private List roleSids = new ArrayList<>(); + + private List orgList = new ArrayList<>(); + @ApiModelProperty("默认的组织机构sid全路径") + private String defaultOrgPath; + @ApiModelProperty("默认的组织机构名称全路径") + private String defaultOrgPathName; + + private String defaultDeptName; + private String defaultDeptSid; + + @ApiModelProperty("是否需要更换密码") + private Boolean needResetPsd; + @ApiModelProperty("工号") + private String jobNumber; + List sysOrganizations; + List sysOrganizationVos; + private String orgSid; + private String orgName; + private List sysRoleVos; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + private String roles;//角色 ,分割 + private String accountType; + private String accountTypeValue; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuserrole/SysUserRoleFeign.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuserrole/SysUserRoleFeign.java new file mode 100644 index 0000000..8f0bb3e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuserrole/SysUserRoleFeign.java @@ -0,0 +1,81 @@ +package com.yxt.ordermall.feign.portal.sysuserrole; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleDto; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleQuery; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRoleFeign.java
+ * Class: com.yxt.anrui.portal.api.sysuserrole.SysUserRoleFeign
+ * Description: 用户与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "用户与角色关联表") +@FeignClient( + contextId = "ss-common-portal-SysUserRole", + name = "ss-common-portal", + path = "/apiadmin/sysuserrole", + fallback = SysUserRoleFeignFallback.class) +public interface SysUserRoleFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据条件查询所有数据列表") + @PostMapping("/listAll") + public ResultBean> listAll(@RequestBody SysUserRoleQuery query); + + @ApiOperation("所有数据列表") + @GetMapping("/list") + public ResultBean> list(); + + @ApiOperation("新增保存") + @PostMapping("/save") + public ResultBean save(@RequestBody SysUserRoleDto dto); + + @ApiOperation("修改保存") + @PostMapping("/update") + public ResultBean update(@RequestBody SysUserRoleDto dto); + + @ApiOperation("删除记录") + @GetMapping("/del/{ids}") + public ResultBean del(@PathVariable("ids") String ids); + + @ApiOperation("根据用户sid和角色sid删除记录") + @GetMapping("/delByUserSidAndRoleSid/{userSid}/{roleSid}") + public ResultBean delByUserSidAndRoleSid(@PathVariable("userSid")String userSid, + @PathVariable("roleSid")String roleSid); + + @ApiOperation("获取一条记录") + @GetMapping("/fetch/{id}") + public ResultBean fetch(@PathVariable("id") String id); + + @ApiOperation("根据用户sid查询用户角色sid列表") + @GetMapping("/getUserRoleSidByUserSid/{userSid}") + public ResultBean> getUserRoleSidByUserSid(@PathVariable("userSid") String userSid); + + @ApiOperation("根据角色sid查询用户id列表") + @GetMapping("/getUserIdListByRoleSid") + public ResultBean> getUserIdListByRoleSid(@RequestParam("roleList") List roleList); + + @ApiOperation("查询用户的角色") + @GetMapping("/selectByUserSid") + ResultBean> selectByUserSid(@RequestParam("userSid") String userSid); +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuserrole/SysUserRoleFeignFallback.java b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuserrole/SysUserRoleFeignFallback.java new file mode 100644 index 0000000..9300ebf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/feign/portal/sysuserrole/SysUserRoleFeignFallback.java @@ -0,0 +1,83 @@ +package com.yxt.ordermall.feign.portal.sysuserrole; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleDto; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleQuery; +import com.yxt.ordermall.biz.func.sysuserrole.SysUserRoleVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui_portal(门户建设)
+ * File: SysUserRoleFeignFallback.java
+ * Class: com.yxt.anrui.portal.api.sysuserrole.SysUserRoleFeignFallback
+ * Description: 用户与角色关联表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class SysUserRoleFeignFallback implements SysUserRoleFeign { + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean> listAll(SysUserRoleQuery query) { + return null; + } + + @Override + public ResultBean> list() { + return null; + } + + @Override + public ResultBean save(SysUserRoleDto dto) { + return null; + } + + @Override + public ResultBean update(SysUserRoleDto dto) { + return null; + } + + @Override + public ResultBean del(String ids) { + return null; + } + + @Override + public ResultBean delByUserSidAndRoleSid(String userSid, String roleSid) { + return null; + } + + @Override + public ResultBean fetch(String id) { + return null; + } + + @Override + public ResultBean> getUserRoleSidByUserSid(String userSid) { + return null; + } + + @Override + public ResultBean> getUserIdListByRoleSid(List roleList) { + return null; + } + + @Override + public ResultBean> selectByUserSid(String userSid) { + return null; + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsAlbumController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsAlbumController.java new file mode 100644 index 0000000..f8bf146 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsAlbumController.java @@ -0,0 +1,135 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsAlbumService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsAlbum; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + + +/** + *

+ *

+ *

+ * + * @author zscat + * @since ${date} + */ +@Slf4j +@RestController +@Api(tags = "PmsAlbumController", description = "管理") +@RequestMapping("/pms/PmsAlbum") +public class PmsAlbumController { + @Resource + private IPmsAlbumService IPmsAlbumService; + +// // @SysLog(MODULE = "pms", REMARK = "查询pms_album表") + @ApiOperation("查询pms_album表") + @GetMapping(value = "/list") + + public Object getPmsAlbumByPage(PmsAlbum entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsAlbumService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("分页获取pms_album列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存pms_album表") + @ApiOperation("保存pms_album表") + @PostMapping(value = "/create") + + public Object saveAlbum(@RequestBody PmsAlbum entity) { + try { + if (IPmsAlbumService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存pms_album表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新pms_album") + @ApiOperation("更新pms_album") + @PostMapping(value = "/update/{id}") + + public Object updateAlbum(@RequestBody PmsAlbum entity) { + try { + if (IPmsAlbumService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除pms_album数据") + @ApiOperation("删除相册表数据") + @GetMapping(value = "/delete/{id}") + + public Object deleteRole(@ApiParam("相册表_id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("PmsAlbum_id"); + } + if (IPmsAlbumService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除相册表数据:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "根据ID查询pms_album") + @ApiOperation("根据ID查询pms_album") + @GetMapping(value = "/{id}") + + public Object getRoleById(@ApiParam("相册表_id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("PmsAlbum_id"); + } + PmsAlbum pmsAlbum = IPmsAlbumService.getById(id); + return new CommonResult().success(pmsAlbum); + } catch (Exception e) { + log.error("pms_album表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除PmsAlbum表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除PmsAlbum表") + + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsAlbumService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsAlbumPicController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsAlbumPicController.java new file mode 100644 index 0000000..4d0a8e9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsAlbumPicController.java @@ -0,0 +1,132 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsAlbumPicService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsAlbumPic; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 画册图片表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsAlbumPicController", description = "画册图片表管理") +@RequestMapping("/pms/PmsAlbumPic") +public class PmsAlbumPicController { + @Resource + private IPmsAlbumPicService IPmsAlbumPicService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有画册图片表列表") + @ApiOperation("根据条件查询所有画册图片表列表") + @GetMapping(value = "/list") + + public Object getPmsAlbumPicByPage(PmsAlbumPic entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsAlbumPicService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有画册图片表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存画册图片表") + @ApiOperation("保存画册图片表") + @PostMapping(value = "/create") + + public Object savePmsAlbumPic(@RequestBody PmsAlbumPic entity) { + try { + if (IPmsAlbumPicService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存画册图片表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新画册图片表") + @ApiOperation("更新画册图片表") + @PostMapping(value = "/update/{id}") + + public Object updatePmsAlbumPic(@RequestBody PmsAlbumPic entity) { + try { + if (IPmsAlbumPicService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新画册图片表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除画册图片表") + @ApiOperation("删除画册图片表") + @GetMapping(value = "/delete/{id}") + + public Object deletePmsAlbumPic(@ApiParam("画册图片表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("画册图片表id"); + } + if (IPmsAlbumPicService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除画册图片表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给画册图片表分配画册图片表") + @ApiOperation("查询画册图片表明细") + @GetMapping(value = "/{id}") + + public Object getPmsAlbumPicById(@ApiParam("画册图片表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("画册图片表id"); + } + PmsAlbumPic coupon = IPmsAlbumPicService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询画册图片表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除画册图片表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除画册图片表") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsAlbumPicService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsBrandController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsBrandController.java new file mode 100644 index 0000000..f3fb3f9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsBrandController.java @@ -0,0 +1,168 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsBrandService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsBrand; +import com.yxt.ordermall.mallplus.mbg.pms.entity.brand.BrandVo; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 品牌表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsBrandController", description = "品牌表管理") +@RequestMapping("/pms/PmsBrand") +public class PmsBrandController { + @Resource + private IPmsBrandService IPmsBrandService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有品牌表列表") + @ApiOperation("根据条件查询所有品牌表列表") + @GetMapping(value = "/list") + public Object getPmsBrandByPage(PmsBrand entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + if (ValidatorUtils.notEmpty(entity.getName())) { + return new CommonResult().success(IPmsBrandService.page(new Page(pageNum, pageSize), new QueryWrapper(new PmsBrand()).like("name", entity.getName()))); + } + return new CommonResult().success(IPmsBrandService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有品牌表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存品牌表") + @ApiOperation("保存品牌表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsBrand:create')") + public Object savePmsBrand(@RequestBody PmsBrand entity) { + try { + if (IPmsBrandService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存品牌表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新品牌表") + @ApiOperation("更新品牌表") + @PostMapping(value = "/update/{id}") + public Object updatePmsBrand(@RequestBody PmsBrand entity) { + try { + if (IPmsBrandService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新品牌表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除品牌表") + @ApiOperation("删除品牌表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsBrand:delete')") + public Object deletePmsBrand(@ApiParam("品牌表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("品牌表id"); + } + if (IPmsBrandService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除品牌表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给品牌表分配品牌表") + @ApiOperation("查询品牌表明细") + @GetMapping(value = "/{id}") + public Object getPmsBrandById(@ApiParam("品牌表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("品牌表id"); + } + PmsBrand coupon = IPmsBrandService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询品牌表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除品牌表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除品牌表") + // @PreAuthorize("hasAuthority('pms:PmsBrand:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsBrandService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation(value = "批量更新显示状态") + @RequestMapping(value = "/update/showStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量更新显示状态") + public Object updateShowStatus(@RequestParam("ids") List ids, + @RequestParam("showStatus") Integer showStatus) { + int count = IPmsBrandService.updateShowStatus(ids, showStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation(value = "批量更新厂家制造商状态") + @RequestMapping(value = "/update/factoryStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量更新厂家制造商状态") + public Object updateFactoryStatus(@RequestParam("ids") List ids, + @RequestParam("factoryStatus") Integer factoryStatus) { + int count = IPmsBrandService.updateFactoryStatus(ids, factoryStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation(value = "获取品牌") + @GetMapping("/getList") + ResultBean> getList(){ + return IPmsBrandService.getList(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsCommentController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsCommentController.java new file mode 100644 index 0000000..270edf6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsCommentController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsCommentService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsComment; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 商品评价表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsCommentController", description = "商品评价表管理") +@RequestMapping("/pms/PmsComment") +public class PmsCommentController { + @Resource + private IPmsCommentService IPmsCommentService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有商品评价表列表") + @ApiOperation("根据条件查询所有商品评价表列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsComment:read')") + public Object getPmsCommentByPage(PmsComment entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsCommentService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有商品评价表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存商品评价表") + @ApiOperation("保存商品评价表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsComment:create')") + public Object savePmsComment(@RequestBody PmsComment entity) { + try { + if (IPmsCommentService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存商品评价表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新商品评价表") + @ApiOperation("更新商品评价表") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsComment:update')") + public Object updatePmsComment(@RequestBody PmsComment entity) { + try { + if (IPmsCommentService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新商品评价表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除商品评价表") + @ApiOperation("删除商品评价表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsComment:delete')") + public Object deletePmsComment(@ApiParam("商品评价表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品评价表id"); + } + if (IPmsCommentService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除商品评价表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给商品评价表分配商品评价表") + @ApiOperation("查询商品评价表明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsComment:read')") + public Object getPmsCommentById(@ApiParam("商品评价表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品评价表id"); + } + PmsComment coupon = IPmsCommentService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询商品评价表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除商品评价表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除商品评价表") + // @PreAuthorize("hasAuthority('pms:PmsComment:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsCommentService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsCommentReplayController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsCommentReplayController.java new file mode 100644 index 0000000..6af49c4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsCommentReplayController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsCommentReplayService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsCommentReplay; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 产品评价回复表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsCommentReplayController", description = "产品评价回复表管理") +@RequestMapping("/pms/PmsCommentReplay") +public class PmsCommentReplayController { + @Resource + private IPmsCommentReplayService IPmsCommentReplayService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有产品评价回复表列表") + @ApiOperation("根据条件查询所有产品评价回复表列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsCommentReplay:read')") + public Object getPmsCommentReplayByPage(PmsCommentReplay entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsCommentReplayService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有产品评价回复表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存产品评价回复表") + @ApiOperation("保存产品评价回复表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsCommentReplay:create')") + public Object savePmsCommentReplay(@RequestBody PmsCommentReplay entity) { + try { + if (IPmsCommentReplayService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存产品评价回复表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新产品评价回复表") + @ApiOperation("更新产品评价回复表") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsCommentReplay:update')") + public Object updatePmsCommentReplay(@RequestBody PmsCommentReplay entity) { + try { + if (IPmsCommentReplayService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新产品评价回复表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除产品评价回复表") + @ApiOperation("删除产品评价回复表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsCommentReplay:delete')") + public Object deletePmsCommentReplay(@ApiParam("产品评价回复表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品评价回复表id"); + } + if (IPmsCommentReplayService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除产品评价回复表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给产品评价回复表分配产品评价回复表") + @ApiOperation("查询产品评价回复表明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsCommentReplay:read')") + public Object getPmsCommentReplayById(@ApiParam("产品评价回复表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品评价回复表id"); + } + PmsCommentReplay coupon = IPmsCommentReplayService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询产品评价回复表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除产品评价回复表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除产品评价回复表") + // @PreAuthorize("hasAuthority('pms:PmsCommentReplay:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsCommentReplayService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsFeightTemplateController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsFeightTemplateController.java new file mode 100644 index 0000000..04b815b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsFeightTemplateController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsFeightTemplateService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsFeightTemplate; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + *

+ * 运费模版 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsFeightTemplateController", description = "运费模版管理") +@RequestMapping("/pms/PmsFeightTemplate") +public class PmsFeightTemplateController { + @Resource + private IPmsFeightTemplateService IPmsFeightTemplateService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有运费模版列表") + @ApiOperation("根据条件查询所有运费模版列表") + @GetMapping(value = "/list") + public Object getPmsFeightTemplateByPage(PmsFeightTemplate entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsFeightTemplateService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity).orderByDesc("create_time"))); + } catch (Exception e) { + log.error("根据条件查询所有运费模版列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存运费模版") + @ApiOperation("保存运费模版") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsFeightTemplate:create')") + public Object savePmsFeightTemplate(@RequestBody PmsFeightTemplate entity) { + try { + entity.setCreateTime(new Date()); + if (IPmsFeightTemplateService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存运费模版:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新运费模版") + @ApiOperation("更新运费模版") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsFeightTemplate:update')") + public Object updatePmsFeightTemplate(@RequestBody PmsFeightTemplate entity) { + try { + if (IPmsFeightTemplateService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新运费模版:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除运费模版") + @ApiOperation("删除运费模版") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsFeightTemplate:delete')") + public Object deletePmsFeightTemplate(@ApiParam("运费模版id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("运费模版id"); + } + if (IPmsFeightTemplateService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除运费模版:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给运费模版分配运费模版") + @ApiOperation("查询运费模版明细") + @GetMapping(value = "/{id}") + public Object getPmsFeightTemplateById(@ApiParam("运费模版id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("运费模版id"); + } + PmsFeightTemplate coupon = IPmsFeightTemplateService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询运费模版明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除运费模版") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除运费模版") + // @PreAuthorize("hasAuthority('pms:PmsFeightTemplate:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsFeightTemplateService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsGiftsCategoryController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsGiftsCategoryController.java new file mode 100644 index 0000000..67186bb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsGiftsCategoryController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsGiftsCategoryService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsGiftsCategory; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 帮助分类表 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +@Slf4j +@RestController +@Api(tags = "PmsGiftsCategoryController", description = "帮助分类表管理") +@RequestMapping("/pms/PmsGiftsCategory") +public class PmsGiftsCategoryController { + @Resource + private IPmsGiftsCategoryService IPmsGiftsCategoryService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有帮助分类表列表") + @ApiOperation("根据条件查询所有帮助分类表列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsGiftsCategory:read')") + public Object getPmsGiftsCategoryByPage(PmsGiftsCategory entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsGiftsCategoryService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有帮助分类表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存帮助分类表") + @ApiOperation("保存帮助分类表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsGiftsCategory:create')") + public Object savePmsGiftsCategory(@RequestBody PmsGiftsCategory entity) { + try { + if (IPmsGiftsCategoryService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存帮助分类表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新帮助分类表") + @ApiOperation("更新帮助分类表") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsGiftsCategory:update')") + public Object updatePmsGiftsCategory(@RequestBody PmsGiftsCategory entity) { + try { + if (IPmsGiftsCategoryService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新帮助分类表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除帮助分类表") + @ApiOperation("删除帮助分类表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsGiftsCategory:delete')") + public Object deletePmsGiftsCategory(@ApiParam("帮助分类表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("帮助分类表id"); + } + if (IPmsGiftsCategoryService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除帮助分类表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给帮助分类表分配帮助分类表") + @ApiOperation("查询帮助分类表明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsGiftsCategory:read')") + public Object getPmsGiftsCategoryById(@ApiParam("帮助分类表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("帮助分类表id"); + } + PmsGiftsCategory coupon = IPmsGiftsCategoryService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询帮助分类表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除帮助分类表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除帮助分类表") + // @PreAuthorize("hasAuthority('pms:PmsGiftsCategory:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsGiftsCategoryService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsGiftsController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsGiftsController.java new file mode 100644 index 0000000..82d8595 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsGiftsController.java @@ -0,0 +1,155 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsGiftsService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsGifts; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + *

+ * 帮助表 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +@Slf4j +@RestController +@Api(tags = "PmsGiftsController", description = "帮助表管理") +@RequestMapping("/pms/PmsGifts") +public class PmsGiftsController { + @Resource + private IPmsGiftsService IPmsGiftsService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有帮助表列表") + @ApiOperation("根据条件查询所有帮助表列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsGifts:read')") + public Object getPmsGiftsByPage(PmsGifts entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + if (ValidatorUtils.notEmpty(entity.getTitle())) { + return new CommonResult().success(IPmsGiftsService.page(new Page(pageNum, pageSize), new QueryWrapper(new PmsGifts()).like("title", entity.getTitle()))); + } + return new CommonResult().success(IPmsGiftsService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + + } catch (Exception e) { + log.error("根据条件查询所有帮助表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存帮助表") + @ApiOperation("保存帮助表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsGifts:create')") + public Object savePmsGifts(@RequestBody PmsGifts entity) { + try { + entity.setCreateTime(new Date()); + if (IPmsGiftsService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存帮助表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新帮助表") + @ApiOperation("更新帮助表") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsGifts:update')") + public Object updatePmsGifts(@RequestBody PmsGifts entity) { + try { + if (IPmsGiftsService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新帮助表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除帮助表") + @ApiOperation("删除帮助表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsGifts:delete')") + public Object deletePmsGifts(@ApiParam("帮助表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("帮助表id"); + } + if (IPmsGiftsService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除帮助表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给帮助表分配帮助表") + @ApiOperation("查询帮助表明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsGifts:read')") + public Object getPmsGiftsById(@ApiParam("帮助表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("帮助表id"); + } + PmsGifts coupon = IPmsGiftsService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询帮助表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除帮助表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除帮助表") + // @PreAuthorize("hasAuthority('pms:PmsGifts:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsGiftsService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation(value = "批量更新显示状态") + @RequestMapping(value = "/update/showStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量更新显示状态") + public Object updateShowStatus(@RequestParam("ids") Long ids, + @RequestParam("showStatus") Integer showStatus) { + PmsGifts g = new PmsGifts(); + g.setId(ids); + g.setShowStatus(showStatus); + if (IPmsGiftsService.updateById(g)) { + return new CommonResult().success(); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsMemberPriceController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsMemberPriceController.java new file mode 100644 index 0000000..a253e8f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsMemberPriceController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsMemberPriceService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsMemberPrice; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 商品会员价格表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsMemberPriceController", description = "商品会员价格表管理") +@RequestMapping("/pms/PmsMemberPrice") +public class PmsMemberPriceController { + @Resource + private IPmsMemberPriceService IPmsMemberPriceService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有商品会员价格表列表") + @ApiOperation("根据条件查询所有商品会员价格表列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsMemberPrice:read')") + public Object getPmsMemberPriceByPage(PmsMemberPrice entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsMemberPriceService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有商品会员价格表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存商品会员价格表") + @ApiOperation("保存商品会员价格表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsMemberPrice:create')") + public Object savePmsMemberPrice(@RequestBody PmsMemberPrice entity) { + try { + if (IPmsMemberPriceService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存商品会员价格表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新商品会员价格表") + @ApiOperation("更新商品会员价格表") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsMemberPrice:update')") + public Object updatePmsMemberPrice(@RequestBody PmsMemberPrice entity) { + try { + if (IPmsMemberPriceService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新商品会员价格表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除商品会员价格表") + @ApiOperation("删除商品会员价格表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsMemberPrice:delete')") + public Object deletePmsMemberPrice(@ApiParam("商品会员价格表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品会员价格表id"); + } + if (IPmsMemberPriceService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除商品会员价格表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给商品会员价格表分配商品会员价格表") + @ApiOperation("查询商品会员价格表明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsMemberPrice:read')") + public Object getPmsMemberPriceById(@ApiParam("商品会员价格表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品会员价格表id"); + } + PmsMemberPrice coupon = IPmsMemberPriceService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询商品会员价格表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除商品会员价格表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除商品会员价格表") + // @PreAuthorize("hasAuthority('pms:PmsMemberPrice:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsMemberPriceService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeCategoryController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeCategoryController.java new file mode 100644 index 0000000..0b9e10f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeCategoryController.java @@ -0,0 +1,189 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductAttributeCategoryService; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.EsShopGoodsGroupMap; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeCategory; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsGoodsGroupMapMapper; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductAttributeCategoryItem; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 产品属性分类表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductAttributeCategoryController", description = "产品属性分类表管理") +@RequestMapping("/pms/PmsProductAttributeCategory") +public class PmsProductAttributeCategoryController { + @Resource + private IPmsProductAttributeCategoryService IPmsProductAttributeCategoryService; + @Resource + private PmsGoodsGroupMapMapper shopGoodsGroupMapMapper; + + @Resource + private IPmsProductService pmsProductService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有产品属性分类表列表") + @ApiOperation("根据条件查询所有产品属性分类表列表") + @GetMapping(value = "/list") + public Object getPmsProductAttributeCategoryByPage(PmsProductAttributeCategory entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductAttributeCategoryService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有产品属性分类表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存产品属性分类表") + @ApiOperation("保存产品属性分类表") + @PostMapping(value = "/create") +// // @PreAuthorize("hasAuthority('pms:PmsProductAttributeCategory:create')") + public Object create(@RequestParam String name, + @RequestParam(value = "pic", required = false) String pic, + @RequestParam(value = "showIndex", required = false) Integer showIndex, + @RequestParam(value = "style", required = false) Integer style) { + try { + PmsProductAttributeCategory productAttributeCategory = new PmsProductAttributeCategory(); + productAttributeCategory.setName(name); + productAttributeCategory.setShowIndex(showIndex); + productAttributeCategory.setStyle(style); + productAttributeCategory.setPic(pic); + if (IPmsProductAttributeCategoryService.save(productAttributeCategory)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存产品属性分类表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存产品属性分类表") + @ApiOperation("保存产品属性分类表") + @PostMapping(value = "/createSingle") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeCategory:create')") + public Object createSingle(@RequestBody PmsProductAttributeCategory productAttributeCategory) { + try { + if (IPmsProductAttributeCategoryService.save(productAttributeCategory)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存产品属性分类表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新产品属性分类表") + @ApiOperation("更新产品属性分类表") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeCategory:update')") + public Object updatePmsProductAttributeCategory(@PathVariable Long id, @RequestParam String name) { + try { + PmsProductAttributeCategory productAttributeCategory = new PmsProductAttributeCategory(); + productAttributeCategory.setName(name); + productAttributeCategory.setId(id); + if (IPmsProductAttributeCategoryService.updateById(productAttributeCategory)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新产品属性分类表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除产品属性分类表") + @ApiOperation("删除产品属性分类表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeCategory:delete')") + public Object deletePmsProductAttributeCategory(@ApiParam("产品属性分类表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品属性分类表id"); + } + if (IPmsProductAttributeCategoryService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除产品属性分类表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给产品属性分类表分配产品属性分类表") + @ApiOperation("查询产品属性分类表明细") + @GetMapping(value = "/{id}") + public Object getPmsProductAttributeCategoryById(@ApiParam("产品属性分类表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品属性分类表id"); + } + PmsProductAttributeCategory coupon = IPmsProductAttributeCategoryService.getById(id); + if (coupon != null) { + List list = shopGoodsGroupMapMapper.selEsShopGoodsGroupMap(coupon.getId()); + List lists = new ArrayList(); + for (EsShopGoodsGroupMap lis : list) { + //根据商品ID查询商品名称、商品图片、商品虚拟库存 + PmsProduct es = pmsProductService.getById(lis.getGoodsId()); + if (es != null) { + lists.add(es); + } + } + coupon.setListGoods(lists); + } + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询产品属性分类表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除产品属性分类表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除产品属性分类表") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeCategory:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductAttributeCategoryService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + // @SysLog(MODULE = "pms", REMARK = "获取所有商品属性分类及其下属性") + @ApiOperation("获取所有商品属性分类及其下属性") + @RequestMapping(value = "/list/withAttr", method = RequestMethod.GET) + @ResponseBody + public Object getListWithAttr() { + List productAttributeCategoryResultList = IPmsProductAttributeCategoryService.getListWithAttr(); + return new CommonResult().success(productAttributeCategoryResultList); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeController.java new file mode 100644 index 0000000..0fd5d55 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeController.java @@ -0,0 +1,161 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductAttributeService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttribute; +import com.yxt.ordermall.mallplus.mbg.pms.vo.ProductAttrInfo; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 商品属性参数表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductAttributeController", description = "商品属性参数表管理") +@RequestMapping("/pms/PmsProductAttribute") +public class PmsProductAttributeController { + @Resource + private IPmsProductAttributeService IPmsProductAttributeService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有商品属性参数表列表") + @ApiOperation("根据条件查询所有商品属性参数表列表") + @GetMapping(value = "/listAll") + public Object getPmsProductAttributeByPage(PmsProductAttribute entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductAttributeService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity).orderByDesc("id"))); + } catch (Exception e) { + log.error("根据条件查询所有商品属性参数表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "根据分类查询属性列表或参数列表") + @ApiOperation("根据分类查询属性列表或参数列表") + @ApiImplicitParams({@ApiImplicitParam(name = "type", value = "0表示属性,1表示参数", required = true, paramType = "query", dataType = "integer")}) + @RequestMapping(value = "/list/{cid}", method = RequestMethod.GET) + @ResponseBody + public Object getList(@PathVariable Long cid, + @RequestParam(value = "type") Integer type, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { + PmsProductAttribute entity = new PmsProductAttribute(); + entity.setProductAttributeCategoryId(cid); + entity.setType(type); + try { + return new CommonResult().success(IPmsProductAttributeService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有商品属性参数表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存商品属性参数表") + @ApiOperation("保存商品属性参数表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProductAttribute:create')") + public Object savePmsProductAttribute(@RequestBody PmsProductAttribute entity) { + try { + if (entity.getType() == null) { + return new CommonResult().failed("请选择类型"); + } + if (IPmsProductAttributeService.saveAndUpdate(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存商品属性参数表:%s", e.getMessage(), e); + return new CommonResult().failed(e.getMessage()); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新商品属性参数表") + @ApiOperation("更新商品属性参数表") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductAttribute:update')") + public Object updatePmsProductAttribute(@RequestBody PmsProductAttribute entity) { + try { + if (IPmsProductAttributeService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新商品属性参数表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除商品属性参数表") + @ApiOperation("删除商品属性参数表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductAttribute:delete')") + public Object deletePmsProductAttribute(@ApiParam("商品属性参数表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品属性参数表id"); + } + if (IPmsProductAttributeService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除商品属性参数表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给商品属性参数表分配商品属性参数表") + @ApiOperation("查询商品属性参数表明细") + @GetMapping(value = "/{id}") + public Object getPmsProductAttributeById(@ApiParam("商品属性参数表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品属性参数表id"); + } + PmsProductAttribute coupon = IPmsProductAttributeService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询商品属性参数表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除商品属性参数表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除商品属性参数表") + // @PreAuthorize("hasAuthority('pms:PmsProductAttribute:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductAttributeService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + // @SysLog(MODULE = "pms", REMARK = "根据商品分类的id获取商品属性及属性分类") + @ApiOperation("根据商品分类的id获取商品属性及属性分类") + @RequestMapping(value = "/attrInfo/{productCategoryId}", method = RequestMethod.GET) + @ResponseBody + public Object getAttrInfo(@PathVariable Long productCategoryId) { + List productAttrInfoList = IPmsProductAttributeService.getProductAttrInfo(productCategoryId); + return new CommonResult().success(productAttrInfoList); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeValueController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeValueController.java new file mode 100644 index 0000000..04225ce --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductAttributeValueController.java @@ -0,0 +1,132 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductAttributeValueService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeValue; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 存储产品参数信息的表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductAttributeValueController", description = "存储产品参数信息的表管理") +@RequestMapping("/pms/PmsProductAttributeValue") +public class PmsProductAttributeValueController { + @Resource + private IPmsProductAttributeValueService IPmsProductAttributeValueService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有存储产品参数信息的表列表") + @ApiOperation("根据条件查询所有存储产品参数信息的表列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeValue:read')") + public Object getPmsProductAttributeValueByPage(PmsProductAttributeValue entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductAttributeValueService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有存储产品参数信息的表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存存储产品参数信息的表") + @ApiOperation("保存存储产品参数信息的表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeValue:create')") + public Object savePmsProductAttributeValue(@RequestBody PmsProductAttributeValue entity) { + try { + if (IPmsProductAttributeValueService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存存储产品参数信息的表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新存储产品参数信息的表") + @ApiOperation("更新存储产品参数信息的表") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeValue:update')") + public Object updatePmsProductAttributeValue(@RequestBody PmsProductAttributeValue entity) { + try { + if (IPmsProductAttributeValueService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新存储产品参数信息的表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除存储产品参数信息的表") + @ApiOperation("删除存储产品参数信息的表") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeValue:delete')") + public Object deletePmsProductAttributeValue(@ApiParam("存储产品参数信息的表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("存储产品参数信息的表id"); + } + if (IPmsProductAttributeValueService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除存储产品参数信息的表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给存储产品参数信息的表分配存储产品参数信息的表") + @ApiOperation("查询存储产品参数信息的表明细") + @GetMapping(value = "/{id}") + public Object getPmsProductAttributeValueById(@ApiParam("存储产品参数信息的表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("存储产品参数信息的表id"); + } + PmsProductAttributeValue coupon = IPmsProductAttributeValueService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询存储产品参数信息的表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除存储产品参数信息的表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除存储产品参数信息的表") + // @PreAuthorize("hasAuthority('pms:PmsProductAttributeValue:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductAttributeValueService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductCategoryAttributeRelationController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductCategoryAttributeRelationController.java new file mode 100644 index 0000000..6ce57b9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductCategoryAttributeRelationController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductCategoryAttributeRelationService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategoryAttributeRelation; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类) + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductCategoryAttributeRelationController", description = "产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)管理") +@RequestMapping("/pms/PmsProductCategoryAttributeRelation") +public class PmsProductCategoryAttributeRelationController { + @Resource + private IPmsProductCategoryAttributeRelationService IPmsProductCategoryAttributeRelationService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)列表") + @ApiOperation("根据条件查询所有产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsProductCategoryAttributeRelation:read')") + public Object getPmsProductCategoryAttributeRelationByPage(PmsProductCategoryAttributeRelation entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductCategoryAttributeRelationService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + @ApiOperation("保存产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProductCategoryAttributeRelation:create')") + public Object savePmsProductCategoryAttributeRelation(@RequestBody PmsProductCategoryAttributeRelation entity) { + try { + if (IPmsProductCategoryAttributeRelationService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + @ApiOperation("更新产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductCategoryAttributeRelation:update')") + public Object updatePmsProductCategoryAttributeRelation(@RequestBody PmsProductCategoryAttributeRelation entity) { + try { + if (IPmsProductCategoryAttributeRelationService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + @ApiOperation("删除产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductCategoryAttributeRelation:delete')") + public Object deletePmsProductCategoryAttributeRelation(@ApiParam("产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)id"); + } + if (IPmsProductCategoryAttributeRelationService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)分配产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + @ApiOperation("查询产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductCategoryAttributeRelation:read')") + public Object getPmsProductCategoryAttributeRelationById(@ApiParam("产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)id"); + } + PmsProductCategoryAttributeRelation coupon = IPmsProductCategoryAttributeRelationService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)") + // @PreAuthorize("hasAuthority('pms:PmsProductCategoryAttributeRelation:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductCategoryAttributeRelationService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductCategoryController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductCategoryController.java new file mode 100644 index 0000000..ac85ca7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductCategoryController.java @@ -0,0 +1,222 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductCategoryService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategory; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductCategoryWithChildrenItem; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 产品分类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductCategoryController", description = "产品分类管理") +@RequestMapping("/pms/PmsProductCategory") +public class PmsProductCategoryController { + @Resource + private IPmsProductCategoryService IPmsProductCategoryService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有产品分类列表") + @ApiOperation("根据条件查询所有产品分类列表") + @GetMapping(value = "/list") + public Object getPmsProductCategoryByPage(PmsProductCategory entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductCategoryService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有产品分类列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + @ApiOperation("分页查询商品分类") + @RequestMapping(value = "/list/{parentId}", method = RequestMethod.GET) + @ResponseBody + public Object getList(@PathVariable Long parentId, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { + PmsProductCategory entity = new PmsProductCategory(); + entity.setParentId(parentId); + QueryWrapper queryWrapper=new QueryWrapper<>(entity); + queryWrapper.orderByAsc("sort"); + return new CommonResult().success(IPmsProductCategoryService.page(new Page(pageNum, pageSize), queryWrapper)); + } + + // @SysLog(MODULE = "pms", REMARK = "保存产品分类") + @ApiOperation("保存产品分类") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProductCategory:create')") + public Object savePmsProductCategory(@RequestBody PmsProductCategory entity) { + try { + //查询是否存在相同级别的相同名称的分类 + Long parentId = entity.getParentId(); + String name = entity.getName(); + int count = IPmsProductCategoryService.selectCountByNameAndLevel(parentId,name); + if(count>0){ + return new CommonResult().failed("该分类已存在"); + } + if (IPmsProductCategoryService.saveAnd(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存产品分类:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新产品分类") + @ApiOperation("更新产品分类") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductCategory:update')") + public Object updatePmsProductCategory(@RequestBody PmsProductCategory entity) { + try { + //查询是否存在相同级别的相同名称的分类 + Long parentId = entity.getParentId(); + String name = entity.getName(); + Long id = entity.getId(); + int count = IPmsProductCategoryService.selectCountByNameAndLevelId(parentId,name,id); + if(count>0){ + return new CommonResult().failed("该分类已存在"); + } + if (IPmsProductCategoryService.updateAnd(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新产品分类:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除产品分类") + @ApiOperation("删除产品分类") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductCategory:delete')") + public Object deletePmsProductCategory(@ApiParam("产品分类id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品分类id"); + } + if (IPmsProductCategoryService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除产品分类:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给产品分类分配产品分类") + @ApiOperation("查询产品分类明细") + @GetMapping(value = "/{id}") + public Object getPmsProductCategoryById(@ApiParam("产品分类id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品分类id"); + } + PmsProductCategory coupon = IPmsProductCategoryService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询产品分类明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除产品分类") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除产品分类") + // @PreAuthorize("hasAuthority('pms:PmsProductCategory:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductCategoryService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("查询所有一级分类及子分类") + @RequestMapping(value = "/list/withChildren", method = RequestMethod.GET) + @ResponseBody + public Object listWithChildren() { + List list = IPmsProductCategoryService.listWithChildren(); + return new CommonResult().success(list); + } + + @ApiOperation("修改导航栏显示状态") + @RequestMapping(value = "/update/navStatus", method = RequestMethod.POST) + @ResponseBody + // @PreAuthorize("hasAuthority('pms:PmsProductCategory:update')") + public Object updateNavStatus(@RequestParam("ids") Long ids, @RequestParam("navStatus") Integer navStatus) { + PmsProductCategory entity = new PmsProductCategory(); + entity.setId(ids); + entity.setNavStatus(navStatus); + + if (IPmsProductCategoryService.updateById(entity)) { + return new CommonResult().success(); + } else { + return new CommonResult().failed(); + } + } +// public Object updateNavStatus(@RequestParam("ids") List ids, @RequestParam("navStatus") Integer navStatus) { +// int count = IPmsProductCategoryService.updateNavStatus(ids, navStatus); +// if (count > 0) { +// return new CommonResult().success(count); +// } else { +// return new CommonResult().failed(); +// } +// } + + @ApiOperation("修改显示状态") + @RequestMapping(value = "/update/showStatus", method = RequestMethod.POST) + @ResponseBody + // @PreAuthorize("hasAuthority('pms:PmsProductCategory:update')") + public Object updateShowStatus(@RequestParam("ids") Long ids, @RequestParam("showStatus") Integer showStatus) { + PmsProductCategory entity = new PmsProductCategory(); + entity.setId(ids); + entity.setShowStatus(showStatus); + if (IPmsProductCategoryService.updateById(entity)) { + return new CommonResult().success(); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("修改首页显示状态") + @RequestMapping(value = "/update/indexStatus", method = RequestMethod.POST) + @ResponseBody + // @PreAuthorize("hasAuthority('pms:PmsProductCategory:update')") + public Object updateIndexStatus(@RequestParam("ids") Long ids, @RequestParam("indexStatus") Integer indexStatus) { + PmsProductCategory entity = new PmsProductCategory(); + entity.setId(ids); + entity.setIndexStatus(indexStatus); + if (IPmsProductCategoryService.updateById(entity)) { + return new CommonResult().success(); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductConsultController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductConsultController.java new file mode 100644 index 0000000..bb2606d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductConsultController.java @@ -0,0 +1,99 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductConsultService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductConsult; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 产品咨询表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductConsultController", description = "产品咨询表管理") +@RequestMapping("/pms/PmsProductConsult") +public class PmsProductConsultController { + @Resource + private IPmsProductConsultService IPmsProductConsultService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有产品咨询表列表") + @ApiOperation("根据条件查询所有产品咨询表列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsProductConsult:read')") + public Object getPmsProductConsultByPage(PmsProductConsult entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductConsultService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有产品咨询表列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + + // @SysLog(MODULE = "pms", REMARK = "删除产品咨询表") + @ApiOperation("删除产品咨询表") + @GetMapping(value = "/delete/{id}") + public Object deletePmsProductConsult(@ApiParam("产品咨询表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品咨询表id"); + } + if (IPmsProductConsultService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除产品咨询表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给产品咨询表分配产品咨询表") + @ApiOperation("查询产品咨询表明细") + @GetMapping(value = "/{id}") + public Object getPmsProductConsultById(@ApiParam("产品咨询表id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品咨询表id"); + } + PmsProductConsult coupon = IPmsProductConsultService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询产品咨询表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除产品咨询表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除产品咨询表") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductConsultService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductController.java new file mode 100644 index 0000000..5baf0cf --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductController.java @@ -0,0 +1,542 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductService; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsSkuStockService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductVertifyRecord; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSkuStock; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductParam; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductResult; +import com.zscat.mallplus.enums.ConstansValue; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import com.zscat.mallplus.vo.IdStatus; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 商品信息 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductController", description = "商品信息管理") +@RequestMapping("/pms/PmsProduct") +public class PmsProductController { + @Resource + private IPmsProductService IPmsProductService; +// @Resource +// private com.zscat.mallplus.ums.service.IUmsMemberTagService IUmsMemberTagService; + @Resource + private IPmsSkuStockService skuStockService; + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有商品信息列表") + @ApiOperation("根据条件查询所有商品信息列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsProduct:read')") + public Object getPmsProductByPage(PmsProduct entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + IPage page = null; + if (ValidatorUtils.empty(entity.getStatus())) { + entity.setStatus(0); + } + if (ValidatorUtils.notEmpty(entity.getKeyword())) { + if (entity.getStatus() == 1) { + entity.setDeleteStatus(1); + entity.setPublishStatus(1); + entity.setVerifyStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 2) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).eq("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 3) { + entity.setPublishStatus(0); + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 4) { + entity.setDeleteStatus(0); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else { + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } + } else { + if (entity.getStatus() == 1) { + entity.setDeleteStatus(1); + entity.setPublishStatus(1); + entity.setVerifyStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 2) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + eq("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 3) { + entity.setPublishStatus(0); + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 4) { + entity.setDeleteStatus(0); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else { + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } + + } + return new CommonResult().success(page); + } catch (Exception e) { + log.error("根据条件查询所有商品信息列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有商品信息列表") + @ApiOperation("根据条件查询所有商品信息列表") + @GetMapping(value = "/listBySku") + // @PreAuthorize("hasAuthority('pms:PmsProduct:read')") + public Object listBySku(PmsProduct entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + IPage page = null; + if (ValidatorUtils.empty(entity.getStatus())) { + entity.setStatus(0); + } + if (ValidatorUtils.notEmpty(entity.getKeyword())) { + if (entity.getStatus() == 1) { + entity.setDeleteStatus(1); + entity.setPublishStatus(1); + entity.setVerifyStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 2) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).eq("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 3) { + entity.setPublishStatus(0); + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 4) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else { + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } + } else { + if (entity.getStatus() == 1) { + entity.setDeleteStatus(1); + entity.setPublishStatus(1); + entity.setVerifyStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 2) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + eq("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 3) { + entity.setDeleteStatus(1); + entity.setPublishStatus(0); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 4) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else { + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } + + } + if (page.getRecords()!=null && page.getRecords().size()>0){ + for (PmsProduct product : page.getRecords()) { + List skuStockList = skuStockService.list(new QueryWrapper().eq("product_id", product.getId())); + product.setSkuStockList(skuStockList); + } + } + + return new CommonResult().success(page); + } catch (Exception e) { + log.error("根据条件查询所有商品信息列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + @ApiOperation("根据商品名称或货号模糊查询") + @RequestMapping(value = "/simpleList", method = RequestMethod.GET) + @ResponseBody + public Object getList(String keyword) { + List productList = IPmsProductService.list(keyword); + return new CommonResult().success(productList); + } + @ApiOperation("根据商品名称或货号模糊查询") + @RequestMapping(value = "/simpleProductList", method = RequestMethod.GET) + @ResponseBody + public Object listPmsProduct(String keyword) { + List productList = IPmsProductService.listPmsProduct(keyword); + return new CommonResult().success(productList); + } + + // @SysLog(MODULE = "pms", REMARK = "保存商品信息") + @ApiOperation("保存商品信息") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProduct:create')") + public Object savePmsProduct(@RequestBody PmsProductParam productParam) { + try { + productParam.setDeleteStatus(1); + int count = IPmsProductService.create(productParam); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } catch (Exception e) { + log.error("保存商品信息:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + // @SysLog(MODULE = "pms", REMARK = "更新商品信息") + @ApiOperation("更新商品信息") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProduct:update')") + public Object updatePmsProduct(@PathVariable Long id, @RequestBody PmsProductParam productParam) { + try { + int count = IPmsProductService.update(id, productParam); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } catch (Exception e) { + log.error("更新商品信息:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + // @SysLog(MODULE = "pms", REMARK = "删除商品信息") + @ApiOperation("删除商品信息") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProduct:delete')") + public Object deletePmsProduct(@ApiParam("商品信息id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品信息id"); + } + if (IPmsProductService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除商品信息:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给商品信息分配商品信息") + @ApiOperation("查询商品信息明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProduct:read')") + public Object getPmsProductById(@ApiParam("商品信息id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品信息id"); + } + PmsProduct coupon = IPmsProductService.getById(id); +// if (ValidatorUtils.notEmpty(coupon.getTags())){ +// String[] ids = coupon.getTags().split(","); +// List tagList = IUmsMemberTagService.list(new QueryWrapper().eq("type",2).eq("status",1).in("id",ids)); +// coupon.setTagList(tagList); +// } + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询商品信息明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除商品信息") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除商品信息") + // @PreAuthorize("hasAuthority('pms:PmsProduct:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("根据商品id获取商品编辑信息") + @RequestMapping(value = "/updateInfo/{id}", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "根据商品id获取商品编辑信息") + // @PreAuthorize("hasAuthority('pms:PmsProduct:read')") + public Object getUpdateInfo(@PathVariable Long id) { + PmsProductResult productResult = IPmsProductService.getUpdateInfo(id); +// if (ValidatorUtils.notEmpty(productResult.getTags())){ +// String[] ids = productResult.getTags().split(","); +// List tagList = IUmsMemberTagService.list(new QueryWrapper().eq("type",2).in("id",ids)); +// productResult.setTagList(tagList); +// } + return new CommonResult().success(productResult); + } + + @ApiOperation("根据商品id获取审核信息") + @RequestMapping(value = "/fetchVList/{id}", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "据商品id获取审核信息") + public Object fetchVList(@PathVariable Long id) { + List list = IPmsProductService.getProductVertifyRecord(id); + return new CommonResult().success(list); + } + + @ApiOperation("批量修改审核状态") + @RequestMapping(value = "/update/verifyStatus") + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量修改审核状态") + // @PreAuthorize("hasAuthority('pms:PmsProduct:update')") + public Object updateVerifyStatus(@RequestParam("ids") Long ids, + @RequestParam("verifyStatus") Integer verifyStatus, + @RequestParam("detail") String detail) { + int count = IPmsProductService.updateVerifyStatus(ids, verifyStatus, detail); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("批量上下架") + @RequestMapping(value = "/update/publishStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量上下架") + // @PreAuthorize("hasAuthority('pms:PmsProduct:update')") + public Object updatePublishStatus(@RequestParam("ids") List ids, + @RequestParam("publishStatus") Integer publishStatus) { + int count = IPmsProductService.updatePublishStatus(ids, publishStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("批量上下架") + @RequestMapping(value = "/publishStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量上下架") + public Object updatePublishStatu(@RequestBody IdStatus ids, BindingResult result) { + PmsProduct product = new PmsProduct(); + product.setId(ids.getId()); + product.setPublishStatus(ids.getStatus()); + Boolean count = IPmsProductService.updateById(product); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("批量推荐商品") + @RequestMapping(value = "/update/recommendStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量推荐商品") + // @PreAuthorize("hasAuthority('pms:PmsProduct:update')") + public Object updateRecommendStatus(@RequestParam("ids") List ids, + @RequestParam("recommendStatus") Integer recommendStatus) { + int count = IPmsProductService.updateRecommendStatus(ids, recommendStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("批量设为新品") + @RequestMapping(value = "/update/newStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量设为新品") + // @PreAuthorize("hasAuthority('pms:PmsProduct:update')") + public Object updateNewStatus(@RequestParam("ids") List ids, + @RequestParam("newStatus") Integer newStatus) { + int count = IPmsProductService.updateNewStatus(ids, newStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("批量设为分销") + @RequestMapping(value = "/update/isFenxiao", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量设为分销") + public Object updateisFenxiao(@RequestParam("ids") List ids, + @RequestParam("newStatus") Integer newStatus) { + int count = IPmsProductService.updateisFenxiao(ids, newStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @ApiOperation("批量设为会员商品") + @RequestMapping(value = "/update/isVip", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量设为会员商品") + public Object updateisVip(@RequestParam("ids") List ids, + @RequestParam("newStatus") Integer newStatus) { + int count = IPmsProductService.updateisVip(ids, newStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + + @ApiOperation("批量修改删除状态") + @RequestMapping(value = "/update/deleteStatus", method = RequestMethod.POST) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量修改删除状态") + // @PreAuthorize("hasAuthority('pms:PmsProduct:delete')") + public Object updateDeleteStatus(@RequestParam("ids") List ids, + @RequestParam("deleteStatus") Integer deleteStatus) { + int count = IPmsProductService.updateDeleteStatus(ids, deleteStatus); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + @GetMapping(value = "/goods/list") + public Object getPmsProductListByPage(PmsProduct entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + IPage page = null; + if (ValidatorUtils.empty(entity.getStatus())) { + entity.setStatus(0); + } + if (ValidatorUtils.notEmpty(entity.getKeyword())) { + if (entity.getStatus() == 1) { + entity.setPublishStatus(1); + entity.setVerifyStatus(1); + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 2) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).eq("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 3) { + entity.setDeleteStatus(1); + entity.setPublishStatus(0); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 4) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else { + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + like("name", entity.getKeyword()).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } + } else { + if (entity.getStatus() == 1) { + entity.setPublishStatus(1); + entity.setVerifyStatus(1); + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 2) { + entity.setDeleteStatus(1); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + eq("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 3) { + entity.setDeleteStatus(1); + entity.setPublishStatus(0); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + gt("stock", 0).orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else if (entity.getStatus() == 4) { + entity.setDeleteStatus(0); + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } else { + page = IPmsProductService.page(new Page(pageNum, pageSize), new QueryWrapper(entity). + orderByDesc("create_time").select(ConstansValue.sampleGoodsList)); + } + + } + return new CommonResult().success(page); + } catch (Exception e) { + log.error("根据条件查询所有商品信息列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + @ApiOperation("批量上下架") + @RequestMapping(value = "/updateReComStatus", method = RequestMethod.POST) + @ResponseBody + public Object updateReComStatus(@RequestBody IdStatus ids, BindingResult result) { + PmsProduct product = new PmsProduct(); + product.setId(ids.getId()); + if (ids.getType() == 1) { // 1推荐2 上下架 3 审核 4 删除 5 分销 6 会员 + product.setRecommandStatus(ids.getStatus()); + } else if (ids.getType() == 2) { + product.setPublishStatus(ids.getStatus()); + } else if (ids.getType() == 3) { + product.setVerifyStatus(ids.getStatus()); + } else if (ids.getType() == 4) { + product.setDeleteStatus(ids.getStatus()); + } else if (ids.getType() == 5) { + product.setIsFenxiao(ids.getStatus()); + } else if (ids.getType() == 6) { + product.setIsVip(ids.getStatus()); + } + + + Boolean count = IPmsProductService.updateById(product); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductFullReductionController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductFullReductionController.java new file mode 100644 index 0000000..e792929 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductFullReductionController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductFullReductionService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductFullReduction; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 产品满减表(只针对同商品) + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductFullReductionController", description = "产品满减表(只针对同商品)管理") +@RequestMapping("/pms/PmsProductFullReduction") +public class PmsProductFullReductionController { + @Resource + private IPmsProductFullReductionService IPmsProductFullReductionService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有产品满减表(只针对同商品)列表") + @ApiOperation("根据条件查询所有产品满减表(只针对同商品)列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsProductFullReduction:read')") + public Object getPmsProductFullReductionByPage(PmsProductFullReduction entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductFullReductionService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有产品满减表(只针对同商品)列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存产品满减表(只针对同商品)") + @ApiOperation("保存产品满减表(只针对同商品)") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProductFullReduction:create')") + public Object savePmsProductFullReduction(@RequestBody PmsProductFullReduction entity) { + try { + if (IPmsProductFullReductionService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存产品满减表(只针对同商品):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新产品满减表(只针对同商品)") + @ApiOperation("更新产品满减表(只针对同商品)") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductFullReduction:update')") + public Object updatePmsProductFullReduction(@RequestBody PmsProductFullReduction entity) { + try { + if (IPmsProductFullReductionService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新产品满减表(只针对同商品):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除产品满减表(只针对同商品)") + @ApiOperation("删除产品满减表(只针对同商品)") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductFullReduction:delete')") + public Object deletePmsProductFullReduction(@ApiParam("产品满减表(只针对同商品)id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品满减表(只针对同商品)id"); + } + if (IPmsProductFullReductionService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除产品满减表(只针对同商品):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给产品满减表(只针对同商品)分配产品满减表(只针对同商品)") + @ApiOperation("查询产品满减表(只针对同商品)明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductFullReduction:read')") + public Object getPmsProductFullReductionById(@ApiParam("产品满减表(只针对同商品)id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品满减表(只针对同商品)id"); + } + PmsProductFullReduction coupon = IPmsProductFullReductionService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询产品满减表(只针对同商品)明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除产品满减表(只针对同商品)") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除产品满减表(只针对同商品)") + // @PreAuthorize("hasAuthority('pms:PmsProductFullReduction:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductFullReductionService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductLadderController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductLadderController.java new file mode 100644 index 0000000..14f1033 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductLadderController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductLadderService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductLadder; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 产品阶梯价格表(只针对同商品) + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductLadderController", description = "产品阶梯价格表(只针对同商品)管理") +@RequestMapping("/pms/PmsProductLadder") +public class PmsProductLadderController { + @Resource + private IPmsProductLadderService IPmsProductLadderService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有产品阶梯价格表(只针对同商品)列表") + @ApiOperation("根据条件查询所有产品阶梯价格表(只针对同商品)列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsProductLadder:read')") + public Object getPmsProductLadderByPage(PmsProductLadder entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductLadderService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有产品阶梯价格表(只针对同商品)列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存产品阶梯价格表(只针对同商品)") + @ApiOperation("保存产品阶梯价格表(只针对同商品)") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProductLadder:create')") + public Object savePmsProductLadder(@RequestBody PmsProductLadder entity) { + try { + if (IPmsProductLadderService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存产品阶梯价格表(只针对同商品):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新产品阶梯价格表(只针对同商品)") + @ApiOperation("更新产品阶梯价格表(只针对同商品)") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductLadder:update')") + public Object updatePmsProductLadder(@RequestBody PmsProductLadder entity) { + try { + if (IPmsProductLadderService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新产品阶梯价格表(只针对同商品):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除产品阶梯价格表(只针对同商品)") + @ApiOperation("删除产品阶梯价格表(只针对同商品)") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductLadder:delete')") + public Object deletePmsProductLadder(@ApiParam("产品阶梯价格表(只针对同商品)id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品阶梯价格表(只针对同商品)id"); + } + if (IPmsProductLadderService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除产品阶梯价格表(只针对同商品):%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给产品阶梯价格表(只针对同商品)分配产品阶梯价格表(只针对同商品)") + @ApiOperation("查询产品阶梯价格表(只针对同商品)明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductLadder:read')") + public Object getPmsProductLadderById(@ApiParam("产品阶梯价格表(只针对同商品)id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("产品阶梯价格表(只针对同商品)id"); + } + PmsProductLadder coupon = IPmsProductLadderService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询产品阶梯价格表(只针对同商品)明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除产品阶梯价格表(只针对同商品)") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除产品阶梯价格表(只针对同商品)") + // @PreAuthorize("hasAuthority('pms:PmsProductLadder:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductLadderService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductOperateLogController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductOperateLogController.java new file mode 100644 index 0000000..e2c4ef3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductOperateLogController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductOperateLogService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductOperateLog; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ *

+ *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductOperateLogController", description = "管理") +@RequestMapping("/pms/PmsProductOperateLog") +public class PmsProductOperateLogController { + @Resource + private IPmsProductOperateLogService IPmsProductOperateLogService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有列表") + @ApiOperation("根据条件查询所有列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsProductOperateLog:read')") + public Object getPmsProductOperateLogByPage(PmsProductOperateLog entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductOperateLogService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存") + @ApiOperation("保存") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProductOperateLog:create')") + public Object savePmsProductOperateLog(@RequestBody PmsProductOperateLog entity) { + try { + if (IPmsProductOperateLogService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新") + @ApiOperation("更新") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductOperateLog:update')") + public Object updatePmsProductOperateLog(@RequestBody PmsProductOperateLog entity) { + try { + if (IPmsProductOperateLogService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除") + @ApiOperation("删除") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductOperateLog:delete')") + public Object deletePmsProductOperateLog(@ApiParam("id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("id"); + } + if (IPmsProductOperateLogService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给分配") + @ApiOperation("查询明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductOperateLog:read')") + public Object getPmsProductOperateLogById(@ApiParam("id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("id"); + } + PmsProductOperateLog coupon = IPmsProductOperateLogService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除") + // @PreAuthorize("hasAuthority('pms:PmsProductOperateLog:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductOperateLogService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductVertifyRecordController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductVertifyRecordController.java new file mode 100644 index 0000000..77e2681 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsProductVertifyRecordController.java @@ -0,0 +1,133 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductVertifyRecordService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductVertifyRecord; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 商品审核记录 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsProductVertifyRecordController", description = "商品审核记录管理") +@RequestMapping("/pms/PmsProductVertifyRecord") +public class PmsProductVertifyRecordController { + @Resource + private IPmsProductVertifyRecordService IPmsProductVertifyRecordService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有商品审核记录列表") + @ApiOperation("根据条件查询所有商品审核记录列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsProductVertifyRecord:read')") + public Object getPmsProductVertifyRecordByPage(PmsProductVertifyRecord entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsProductVertifyRecordService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有商品审核记录列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存商品审核记录") + @ApiOperation("保存商品审核记录") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsProductVertifyRecord:create')") + public Object savePmsProductVertifyRecord(@RequestBody PmsProductVertifyRecord entity) { + try { + if (IPmsProductVertifyRecordService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存商品审核记录:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新商品审核记录") + @ApiOperation("更新商品审核记录") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductVertifyRecord:update')") + public Object updatePmsProductVertifyRecord(@RequestBody PmsProductVertifyRecord entity) { + try { + if (IPmsProductVertifyRecordService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新商品审核记录:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除商品审核记录") + @ApiOperation("删除商品审核记录") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductVertifyRecord:delete')") + public Object deletePmsProductVertifyRecord(@ApiParam("商品审核记录id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品审核记录id"); + } + if (IPmsProductVertifyRecordService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除商品审核记录:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给商品审核记录分配商品审核记录") + @ApiOperation("查询商品审核记录明细") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsProductVertifyRecord:read')") + public Object getPmsProductVertifyRecordById(@ApiParam("商品审核记录id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("商品审核记录id"); + } + PmsProductVertifyRecord coupon = IPmsProductVertifyRecordService.getById(id); + return new CommonResult().success(coupon); + } catch (Exception e) { + log.error("查询商品审核记录明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除商品审核记录") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除商品审核记录") + // @PreAuthorize("hasAuthority('pms:PmsProductVertifyRecord:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsProductVertifyRecordService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsSkuStockController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsSkuStockController.java new file mode 100644 index 0000000..1f28f42 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsSkuStockController.java @@ -0,0 +1,153 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsSkuStockService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSkuStock; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * sku的库存 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@RestController +@Api(tags = "PmsSkuStockController", description = "sku的库存管理") +@RequestMapping("/pms/PmsSkuStock") +public class PmsSkuStockController { + @Resource + private IPmsSkuStockService IPmsSkuStockService; + + // @SysLog(MODULE = "pms", REMARK = "根据条件查询所有sku的库存列表") + @ApiOperation("根据条件查询所有sku的库存列表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsSkuStock:read')") + public Object getPmsSkuStockByPage(PmsSkuStock entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsSkuStockService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("根据条件查询所有sku的库存列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存sku的库存") + @ApiOperation("保存sku的库存") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsSkuStock:create')") + public Object savePmsSkuStock(@RequestBody PmsSkuStock entity) { + try { + if (IPmsSkuStockService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存sku的库存:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新sku的库存") + @ApiOperation("更新sku的库存") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsSkuStock:update')") + public Object updatePmsSkuStock(@RequestBody PmsSkuStock entity) { + try { + if (IPmsSkuStockService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新sku的库存:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除sku的库存") + @ApiOperation("删除sku的库存") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsSkuStock:delete')") + public Object deletePmsSkuStock(@ApiParam(name = "pid", value = "sku的库存id", required = true) @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("sku的库存id"); + } + if (IPmsSkuStockService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除sku的库存:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "给sku的库存分配sku的库存") + @ApiOperation("查询sku的库存明细") + @GetMapping(value = "select/{id}") + // @PreAuthorize("hasAuthority('pms:PmsSkuStock:read')") + public Object getPmsSkuStockById(@ApiParam("sku的库存id") @PathVariable Long id, @RequestParam(value = "keyword", required = false) String keyword) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("sku的库存id"); + } + return new CommonResult().success(IPmsSkuStockService.getList(id, keyword)); + } catch (Exception e) { + log.error("查询sku的库存明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除sku的库存") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除sku的库存") + // @PreAuthorize("hasAuthority('pms:PmsSkuStock:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsSkuStockService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + // @SysLog(MODULE = "pms", REMARK = "根据商品编号及编号模糊搜索sku库存") + @ApiOperation("根据商品编号及编号模糊搜索sku库存") + @RequestMapping(value = "/{pid}", method = RequestMethod.GET) + @ResponseBody + public Object getList(@PathVariable Long pid, @RequestParam(value = "keyword", required = false) String keyword) { + List skuStockList = IPmsSkuStockService.getList(pid, keyword); + return new CommonResult().success(skuStockList); + } + + // @SysLog(MODULE = "pms", REMARK = "批量更新库存信息") + @ApiOperation("批量更新库存信息") + @RequestMapping(value = "/updatePid/{pid}", method = RequestMethod.POST) + @ResponseBody + public Object update(@PathVariable Long pid, @RequestBody List skuStockList) { + int count = IPmsSkuStockService.update(pid, skuStockList); + if (count > 0) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsSmallNaviconCategoryController.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsSmallNaviconCategoryController.java new file mode 100644 index 0000000..ff2139b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/controller/PmsSmallNaviconCategoryController.java @@ -0,0 +1,134 @@ +package com.yxt.ordermall.mallplus.biz.pms.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsSmallNaviconCategoryService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSmallNaviconCategory; +import com.zscat.mallplus.utils.CommonResult; +import com.zscat.mallplus.utils.ValidatorUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ *

+ *

+ * + * @author zscat + * @since ${date} + */ +@Slf4j +@RestController +@Api(tags = "PmsSmallNaviconCategoryController", description = "管理") +@RequestMapping("/pms/smallNaviconCategory") +public class PmsSmallNaviconCategoryController { + @Resource + private IPmsSmallNaviconCategoryService IPmsSmallNaviconCategoryService; + + // @SysLog(MODULE = "pms", REMARK = "查询pms_small_navicon_category表") + @ApiOperation("查询pms_small_navicon_category表") + @GetMapping(value = "/list") + // @PreAuthorize("hasAuthority('pms:PmsSmallNaviconCategory:read')") + public Object getPmsSmallNaviconCategoryByPage(PmsSmallNaviconCategory entity, + @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, + @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize + ) { + try { + return new CommonResult().success(IPmsSmallNaviconCategoryService.page(new Page(pageNum, pageSize), new QueryWrapper<>(entity))); + } catch (Exception e) { + log.error("分页获取pms_small_navicon_category列表:%s", e.getMessage(), e); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "保存pms_small_navicon_category表") + @ApiOperation("保存pms_small_navicon_category表") + @PostMapping(value = "/create") + // @PreAuthorize("hasAuthority('pms:PmsSmallNaviconCategory:create')") + public Object saveSmallNaviconCategory(@RequestBody PmsSmallNaviconCategory entity) { + try { + if (IPmsSmallNaviconCategoryService.save(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("保存pms_small_navicon_category表:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "更新pms_small_navicon_category") + @ApiOperation("更新pms_small_navicon_category") + @PostMapping(value = "/update/{id}") + // @PreAuthorize("hasAuthority('pms:PmsSmallNaviconCategory:update')") + public Object updateSmallNaviconCategory(@RequestBody PmsSmallNaviconCategory entity) { + try { + if (IPmsSmallNaviconCategoryService.updateById(entity)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("更新:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "删除pms_small_navicon_category数据") + @ApiOperation("删除小程序首页nav管理数据") + @GetMapping(value = "/delete/{id}") + // @PreAuthorize("hasAuthority('pms:PmsSmallNaviconCategory:delete')") + public Object deleteRole(@ApiParam("小程序首页nav管理_id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("PmsSmallNaviconCategory_id"); + } + if (IPmsSmallNaviconCategoryService.removeById(id)) { + return new CommonResult().success(); + } + } catch (Exception e) { + log.error("删除小程序首页nav管理数据:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + return new CommonResult().failed(); + } + + // @SysLog(MODULE = "pms", REMARK = "根据ID查询pms_small_navicon_category") + @ApiOperation("根据ID查询pms_small_navicon_category") + @GetMapping(value = "/{id}") + // @PreAuthorize("hasAuthority('pms:PmsSmallNaviconCategory:read')") + public Object getRoleById(@ApiParam("小程序首页nav管理_id") @PathVariable Long id) { + try { + if (ValidatorUtils.empty(id)) { + return new CommonResult().paramFailed("PmsSmallNaviconCategory_id"); + } + PmsSmallNaviconCategory pmsSmallNaviconCategory = IPmsSmallNaviconCategoryService.getById(id); + return new CommonResult().success(pmsSmallNaviconCategory); + } catch (Exception e) { + log.error("pms_small_navicon_category表明细:%s", e.getMessage(), e); + return new CommonResult().failed(); + } + + } + + @ApiOperation(value = "批量删除PmsSmallNaviconCategory表") + @RequestMapping(value = "/delete/batch", method = RequestMethod.GET) + @ResponseBody + // @SysLog(MODULE = "pms", REMARK = "批量删除PmsSmallNaviconCategory表") + // @PreAuthorize("hasAuthority('pms:PmsSmallNaviconCategory:delete')") + public Object deleteBatch(@RequestParam("ids") List ids) { + boolean count = IPmsSmallNaviconCategoryService.removeByIds(ids); + if (count) { + return new CommonResult().success(count); + } else { + return new CommonResult().failed(); + } + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsAlbumPicService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsAlbumPicService.java new file mode 100644 index 0000000..71326b4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsAlbumPicService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsAlbumPic; + +/** + *

+ * 画册图片表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsAlbumPicService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsAlbumService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsAlbumService.java new file mode 100644 index 0000000..cb78a55 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsAlbumService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsAlbum; + +/** + *

+ * 相册表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsAlbumService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsBrandService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsBrandService.java new file mode 100644 index 0000000..0d798fc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsBrandService.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsBrand; +import com.yxt.ordermall.mallplus.mbg.pms.entity.brand.BrandVo; + +import java.util.List; + +/** + *

+ * 品牌表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsBrandService extends IService { + + int updateShowStatus(List ids, Integer showStatus); + + int updateFactoryStatus(List ids, Integer factoryStatus); + + ResultBean> getList(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsCommentReplayService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsCommentReplayService.java new file mode 100644 index 0000000..cd3e247 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsCommentReplayService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsCommentReplay; + +/** + *

+ * 产品评价回复表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsCommentReplayService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsCommentService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsCommentService.java new file mode 100644 index 0000000..6c87023 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsCommentService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsComment; + +/** + *

+ * 商品评价表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsCommentService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsFeightTemplateService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsFeightTemplateService.java new file mode 100644 index 0000000..baea410 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsFeightTemplateService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsFeightTemplate; + +/** + *

+ * 运费模版 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsFeightTemplateService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsGiftsCategoryService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsGiftsCategoryService.java new file mode 100644 index 0000000..f07e008 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsGiftsCategoryService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsGiftsCategory; + +/** + *

+ * 帮助分类表 服务类 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +public interface IPmsGiftsCategoryService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsGiftsService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsGiftsService.java new file mode 100644 index 0000000..c022687 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsGiftsService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsGifts; + +/** + *

+ * 帮助表 服务类 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +public interface IPmsGiftsService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsMemberPriceService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsMemberPriceService.java new file mode 100644 index 0000000..941c7d5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsMemberPriceService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsMemberPrice; + +/** + *

+ * 商品会员价格表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsMemberPriceService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeCategoryService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeCategoryService.java new file mode 100644 index 0000000..c9ec329 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeCategoryService.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeCategory; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductAttributeCategoryItem; + +import java.util.List; + +/** + *

+ * 产品属性分类表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductAttributeCategoryService extends IService { + + List getListWithAttr(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeService.java new file mode 100644 index 0000000..dad0090 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeService.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttribute; +import com.yxt.ordermall.mallplus.mbg.pms.vo.ProductAttrInfo; + +import java.util.List; + +/** + *

+ * 商品属性参数表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductAttributeService extends IService { + + List getProductAttrInfo(Long productCategoryId); + + boolean saveAndUpdate(PmsProductAttribute entity); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeValueService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeValueService.java new file mode 100644 index 0000000..c5d6c1c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductAttributeValueService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeValue; + +/** + *

+ * 存储产品参数信息的表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductAttributeValueService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductCategoryAttributeRelationService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductCategoryAttributeRelationService.java new file mode 100644 index 0000000..2e2f869 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductCategoryAttributeRelationService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategoryAttributeRelation; + +/** + *

+ * 产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类) 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductCategoryAttributeRelationService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductCategoryService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductCategoryService.java new file mode 100644 index 0000000..4811722 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductCategoryService.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategory; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductCategoryWithChildrenItem; + +import java.util.List; + +/** + *

+ * 产品分类 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductCategoryService extends IService { + + List listWithChildren(); + + int updateNavStatus(List ids, Integer navStatus); + + int updateShowStatus(List ids, Integer showStatus); + + int updateIndexStatus(List ids, Integer indexStatus); + + boolean updateAnd(PmsProductCategory entity); + + boolean saveAnd(PmsProductCategory entity); + + int selectCountByNameAndLevel(Long parentId, String name); + + int selectCountByNameAndLevelId(Long parentId, String name, Long id); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductConsultService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductConsultService.java new file mode 100644 index 0000000..5b45dd3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductConsultService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductConsult; + +/** + *

+ * 产品咨询表 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductConsultService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductFullReductionService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductFullReductionService.java new file mode 100644 index 0000000..c6a4196 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductFullReductionService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductFullReduction; + +/** + *

+ * 产品满减表(只针对同商品) 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductFullReductionService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductLadderService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductLadderService.java new file mode 100644 index 0000000..813c715 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductLadderService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductLadder; + +/** + *

+ * 产品阶梯价格表(只针对同商品) 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductLadderService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductOperateLogService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductOperateLogService.java new file mode 100644 index 0000000..f08c19a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductOperateLogService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductOperateLog; + +/** + *

+ * 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductOperateLogService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductService.java new file mode 100644 index 0000000..5175dc3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductService.java @@ -0,0 +1,78 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductVertifyRecord; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductParam; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductResult; +import org.springframework.transaction.annotation.Isolation; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + *

+ * 商品信息 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductService extends IService { + @Transactional(isolation = Isolation.DEFAULT, propagation = Propagation.REQUIRED) + int create(PmsProductParam productParam); + + /** + * 根据商品编号获取更新信息 + */ + PmsProductResult getUpdateInfo(Long id); + + /** + * 更新商品 + */ + @Transactional + int update(Long id, PmsProductParam productParam); + + /** + * 批量修改审核状态 + * + * @param ids 产品id + * @param verifyStatus 审核状态 + * @param detail 审核详情 + */ + @Transactional + int updateVerifyStatus(Long ids, Integer verifyStatus, String detail); + + /** + * 批量修改商品上架状态 + */ + int updatePublishStatus(List ids, Integer publishStatus); + + /** + * 批量修改商品推荐状态 + */ + int updateRecommendStatus(List ids, Integer recommendStatus); + + /** + * 批量修改新品状态 + */ + int updateNewStatus(List ids, Integer newStatus); + + int updateisFenxiao(List ids, Integer newStatus); + + /** + * 批量删除商品 + */ + int updateDeleteStatus(List ids, Integer deleteStatus); + + /** + * 根据商品名称或者货号模糊查询 + */ + List list(String keyword); + List listPmsProduct(String keyword); + + List getProductVertifyRecord(Long id); + + int updateisVip(List ids, Integer newStatus); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductVertifyRecordService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductVertifyRecordService.java new file mode 100644 index 0000000..d2d9cf8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsProductVertifyRecordService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductVertifyRecord; + +/** + *

+ * 商品审核记录 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsProductVertifyRecordService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsSkuStockService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsSkuStockService.java new file mode 100644 index 0000000..f7eef8e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsSkuStockService.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSkuStock; + +import java.util.List; + +/** + *

+ * sku的库存 服务类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +public interface IPmsSkuStockService extends IService { + /** + * 根据产品id和skuCode模糊搜索 + */ + List getList(Long pid, String keyword); + + /** + * 批量更新商品库存信息 + */ + int update(Long pid, List skuStockList); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsSmallNaviconCategoryService.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsSmallNaviconCategoryService.java new file mode 100644 index 0000000..ffec358 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/IPmsSmallNaviconCategoryService.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.biz.pms.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSmallNaviconCategory; + +/** + * 小程序首页nav管理 + * + * @author zscat + * @email 951449465@qq.com + * @date 2019-05-08 00:09:37 + */ + +public interface IPmsSmallNaviconCategoryService extends IService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsAlbumPicServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsAlbumPicServiceImpl.java new file mode 100644 index 0000000..b2d96bc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsAlbumPicServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsAlbumPicService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsAlbumPic; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsAlbumPicMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 画册图片表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsAlbumPicServiceImpl extends ServiceImpl implements IPmsAlbumPicService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsAlbumServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsAlbumServiceImpl.java new file mode 100644 index 0000000..7d74300 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsAlbumServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsAlbumService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsAlbum; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsAlbumMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 相册表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsAlbumServiceImpl extends ServiceImpl implements IPmsAlbumService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsBrandServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsBrandServiceImpl.java new file mode 100644 index 0000000..bdcdd2a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsBrandServiceImpl.java @@ -0,0 +1,49 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.common.core.result.ResultBean; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsBrandService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsBrand; +import com.yxt.ordermall.mallplus.mbg.pms.entity.brand.BrandVo; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsBrandMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 品牌表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsBrandServiceImpl extends ServiceImpl implements IPmsBrandService { + @Resource + private PmsBrandMapper brandMapper; + + @Override + public int updateShowStatus(List ids, Integer showStatus) { + PmsBrand pmsBrand = new PmsBrand(); + pmsBrand.setShowStatus(showStatus); + return brandMapper.update(pmsBrand, new QueryWrapper().in("id", ids)); + + } + + @Override + public int updateFactoryStatus(List ids, Integer factoryStatus) { + PmsBrand pmsBrand = new PmsBrand(); + pmsBrand.setFactoryStatus(factoryStatus); + return brandMapper.update(pmsBrand, new QueryWrapper().in("id", ids)); + } + + @Override + public ResultBean> getList() { + ResultBean> rb = ResultBean.fireFail(); + List brandVoList = baseMapper.getList(); + return rb.success().setData(brandVoList); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsCommentReplayServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsCommentReplayServiceImpl.java new file mode 100644 index 0000000..97162fa --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsCommentReplayServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsCommentReplayService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsCommentReplay; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsCommentReplayMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 产品评价回复表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsCommentReplayServiceImpl extends ServiceImpl implements IPmsCommentReplayService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsCommentServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsCommentServiceImpl.java new file mode 100644 index 0000000..ca8e748 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsCommentServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsCommentService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsComment; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsCommentMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 商品评价表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsCommentServiceImpl extends ServiceImpl implements IPmsCommentService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsFeightTemplateServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsFeightTemplateServiceImpl.java new file mode 100644 index 0000000..d346b05 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsFeightTemplateServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsFeightTemplateService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsFeightTemplate; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsFeightTemplateMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 运费模版 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsFeightTemplateServiceImpl extends ServiceImpl implements IPmsFeightTemplateService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsGiftsCategoryServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsGiftsCategoryServiceImpl.java new file mode 100644 index 0000000..3c63aca --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsGiftsCategoryServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsGiftsCategoryService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsGiftsCategory; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsGiftsCategoryMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 帮助分类表 服务实现类 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +@Service +public class PmsGiftsCategoryServiceImpl extends ServiceImpl implements IPmsGiftsCategoryService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsGiftsServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsGiftsServiceImpl.java new file mode 100644 index 0000000..eeb1f02 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsGiftsServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsGiftsService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsGifts; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsGiftsMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 帮助表 服务实现类 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +@Service +public class PmsGiftsServiceImpl extends ServiceImpl implements IPmsGiftsService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsMemberPriceServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsMemberPriceServiceImpl.java new file mode 100644 index 0000000..83d531d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsMemberPriceServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsMemberPriceService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsMemberPrice; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsMemberPriceMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 商品会员价格表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsMemberPriceServiceImpl extends ServiceImpl implements IPmsMemberPriceService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeCategoryServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeCategoryServiceImpl.java new file mode 100644 index 0000000..9b98f8c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeCategoryServiceImpl.java @@ -0,0 +1,31 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductAttributeCategoryService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeCategory; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductAttributeCategoryMapper; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductAttributeCategoryItem; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 产品属性分类表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductAttributeCategoryServiceImpl extends ServiceImpl implements IPmsProductAttributeCategoryService { + + @Resource + private PmsProductAttributeCategoryMapper productAttributeCategoryMapper; + + @Override + public List getListWithAttr() { + return productAttributeCategoryMapper.getListWithAttr(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeServiceImpl.java new file mode 100644 index 0000000..941915f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeServiceImpl.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductAttributeService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttribute; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeCategory; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductAttributeCategoryMapper; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductAttributeMapper; +import com.yxt.ordermall.mallplus.mbg.pms.vo.ProductAttrInfo; +import com.zscat.mallplus.exception.BusinessMallException; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * 商品属性参数表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductAttributeServiceImpl extends ServiceImpl implements IPmsProductAttributeService { + + @Resource + private PmsProductAttributeMapper productAttributeMapper; + @Resource + private PmsProductAttributeCategoryMapper productAttributeCategoryMapper; + + @Override + public List getProductAttrInfo(Long productCategoryId) { + return productAttributeMapper.getProductAttrInfo(productCategoryId); + } + + @Transactional + @Override + public boolean saveAndUpdate(PmsProductAttribute entity) { + int count = productAttributeMapper.selectCount(new QueryWrapper().eq("product_attribute_category_id", entity.getProductAttributeCategoryId()).eq("type", entity.getType())); + if (count >= 3) { + throw new BusinessMallException("规格或者属性数量不能超过3个"); + } + productAttributeMapper.insert(entity); + //新增商品属性以后需要更新商品属性分类数量 + + PmsProductAttributeCategory pmsProductAttributeCategory = productAttributeCategoryMapper.selectById(entity.getProductAttributeCategoryId()); + if (entity.getType() == 0) { + pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeCategory.getAttributeCount() + 1); + } else if (entity.getType() == 1) { + pmsProductAttributeCategory.setParamCount(pmsProductAttributeCategory.getParamCount() + 1); + } + productAttributeCategoryMapper.updateById(pmsProductAttributeCategory); + return true; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeValueServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeValueServiceImpl.java new file mode 100644 index 0000000..3b9bba8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductAttributeValueServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductAttributeValueService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeValue; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductAttributeValueMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 存储产品参数信息的表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductAttributeValueServiceImpl extends ServiceImpl implements IPmsProductAttributeValueService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductCategoryAttributeRelationServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductCategoryAttributeRelationServiceImpl.java new file mode 100644 index 0000000..44b4732 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductCategoryAttributeRelationServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductCategoryAttributeRelationService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategoryAttributeRelation; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductCategoryAttributeRelationMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类) 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductCategoryAttributeRelationServiceImpl extends ServiceImpl implements IPmsProductCategoryAttributeRelationService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductCategoryServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductCategoryServiceImpl.java new file mode 100644 index 0000000..7d2059d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductCategoryServiceImpl.java @@ -0,0 +1,150 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductCategoryAttributeRelationService; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductCategoryService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategory; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategoryAttributeRelation; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductCategoryAttributeRelationMapper; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductCategoryMapper; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductMapper; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductCategoryWithChildrenItem; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + *

+ * 产品分类 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductCategoryServiceImpl extends ServiceImpl implements IPmsProductCategoryService { + + @Resource + private PmsProductCategoryMapper categoryMapper; + @Resource + private PmsProductMapper productMapper; + @Resource + private IPmsProductCategoryAttributeRelationService pmsProductCategoryAttributeRelationService; + @Resource + private PmsProductCategoryAttributeRelationMapper productCategoryAttributeRelationMapper; + + @Override + public List listWithChildren() { + return categoryMapper.listWithChildren(); + } + + @Override + public int updateNavStatus(List ids, Integer navStatus) { + PmsProductCategory productCategory = new PmsProductCategory(); + productCategory.setNavStatus(navStatus); + return categoryMapper.update(productCategory, new QueryWrapper().in("id", ids)); + } + + @Override + public int updateShowStatus(List ids, Integer showStatus) { + PmsProductCategory productCategory = new PmsProductCategory(); + productCategory.setShowStatus(showStatus); + return categoryMapper.update(productCategory, new QueryWrapper().in("id", ids)); + } + + @Override + public int updateIndexStatus(List ids, Integer indexStatus) { + PmsProductCategory productCategory = new PmsProductCategory(); + productCategory.setIndexStatus(indexStatus); + return categoryMapper.update(productCategory, new QueryWrapper().in("id", ids)); + } + + @Override + public boolean updateAnd(PmsProductCategory entity) { + PmsProductCategory productCategory = new PmsProductCategory(); + setCategoryLevel(entity); + //更新商品分类时要更新商品中的名称 + PmsProduct product = new PmsProduct(); + product.setProductCategoryName(entity.getName()); + + productMapper.update(product, new QueryWrapper().eq("product_category_id", entity.getId())); + //同时更新筛选属性的信息 + if (!CollectionUtils.isEmpty(entity.getProductAttributeIdList())) { + + productCategoryAttributeRelationMapper.delete(new QueryWrapper<>(new PmsProductCategoryAttributeRelation()).eq("product_category_id", entity.getId())); + insertRelationList(entity.getId(), entity.getProductAttributeIdList()); + } else { + productCategoryAttributeRelationMapper.delete(new QueryWrapper<>(new PmsProductCategoryAttributeRelation()).eq("product_category_id", entity.getId())); + + } + categoryMapper.updateById(entity); + return true; + } + + @Override + public boolean saveAnd(PmsProductCategory entity) { + PmsProductCategory productCategory = new PmsProductCategory(); + productCategory.setProductCount(0); + BeanUtils.copyProperties(entity, productCategory); + //没有父分类时为一级分类 + setCategoryLevel(productCategory); + int count = categoryMapper.insert(productCategory); + //创建筛选属性关联 + List productAttributeIdList = entity.getProductAttributeIdList(); + if (!CollectionUtils.isEmpty(productAttributeIdList)) { + insertRelationList(productCategory.getId(), productAttributeIdList); + } + return true; + } + + @Override + public int selectCountByNameAndLevel(Long parentId, String name) { + return baseMapper.selectCountByNameAndLevel(parentId,name); + } + + @Override + public int selectCountByNameAndLevelId(Long parentId, String name, Long id) { + return baseMapper.selectCountByNameAndLevelId(parentId,name,id); + } + + /** + * 批量插入商品分类与筛选属性关系表 + * + * @param productCategoryId 商品分类id + * @param productAttributeIdList 相关商品筛选属性id集合 + */ + private void insertRelationList(Long productCategoryId, List productAttributeIdList) { + List relationList = new ArrayList<>(); + for (Long productAttrId : productAttributeIdList) { + PmsProductCategoryAttributeRelation relation = new PmsProductCategoryAttributeRelation(); + relation.setProductAttributeId(productAttrId); + relation.setProductCategoryId(productCategoryId); + relationList.add(relation); + } + pmsProductCategoryAttributeRelationService.saveBatch(relationList); + } + + /** + * 根据分类的parentId设置分类的level + */ + private void setCategoryLevel(PmsProductCategory productCategory) { + //没有父分类时为一级分类 + if (productCategory.getParentId() == null || productCategory.getParentId() == 0) { + productCategory.setLevel(0); + } else { + //有父分类时选择根据父分类level设置 + PmsProductCategory parentCategory = categoryMapper.selectById(productCategory.getParentId()); + if (parentCategory != null) { + productCategory.setLevel(parentCategory.getLevel() + 1); + } else { + productCategory.setLevel(0); + } + } + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductConsultServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductConsultServiceImpl.java new file mode 100644 index 0000000..451b440 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductConsultServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductConsultService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductConsult; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductConsultMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 产品咨询表 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductConsultServiceImpl extends ServiceImpl implements IPmsProductConsultService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductFullReductionServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductFullReductionServiceImpl.java new file mode 100644 index 0000000..5e9f4f6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductFullReductionServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductFullReductionService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductFullReduction; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductFullReductionMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 产品满减表(只针对同商品) 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductFullReductionServiceImpl extends ServiceImpl implements IPmsProductFullReductionService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductLadderServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductLadderServiceImpl.java new file mode 100644 index 0000000..d70603c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductLadderServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductLadderService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductLadder; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductLadderMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 产品阶梯价格表(只针对同商品) 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductLadderServiceImpl extends ServiceImpl implements IPmsProductLadderService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductOperateLogServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductOperateLogServiceImpl.java new file mode 100644 index 0000000..2dc19b0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductOperateLogServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductOperateLogService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductOperateLog; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductOperateLogMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductOperateLogServiceImpl extends ServiceImpl implements IPmsProductOperateLogService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductServiceImpl.java new file mode 100644 index 0000000..9302538 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductServiceImpl.java @@ -0,0 +1,403 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.api.lpkgoods.LpkGoods; +import com.yxt.ordermall.biz.lpkgoods.LpkGoodsService; +import com.yxt.ordermall.mallplus.biz.pms.service.*; +import com.yxt.ordermall.mallplus.biz.util.DateUtils; +import com.yxt.ordermall.mallplus.mbg.pms.entity.*; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.*; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductParam; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductResult; +import com.zscat.mallplus.utils.IdWorker; +import com.zscat.mallplus.utils.ValidatorUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.lang.reflect.Method; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + *

+ * 商品信息 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Slf4j +@Service +public class PmsProductServiceImpl extends ServiceImpl implements IPmsProductService { + + @Resource + private PmsProductMapper productMapper; + @Resource + private IPmsMemberPriceService memberPriceDao; + @Resource + private PmsMemberPriceMapper memberPriceMapper; + @Resource + private IPmsProductLadderService productLadderDao; + @Resource + private PmsProductLadderMapper productLadderMapper; + @Resource + private IPmsProductFullReductionService productFullReductionDao; + @Resource + private PmsProductFullReductionMapper productFullReductionMapper; + @Resource + private IPmsSkuStockService skuStockDao; + @Resource + private PmsSkuStockMapper skuStockMapper; + @Resource + private IPmsProductAttributeValueService productAttributeValueDao; + @Resource + private PmsProductAttributeValueMapper productAttributeValueMapper; +// @Resource +// private ICmsSubjectProductRelationService subjectProductRelationDao; + @Resource + private CmsSubjectProductRelationMapper subjectProductRelationMapper; +// @Resource +// private ICmsPrefrenceAreaProductRelationService prefrenceAreaProductRelationDao; + @Resource + private CmsPrefrenceAreaProductRelationMapper prefrenceAreaProductRelationMapper; + + @Resource + private PmsProductVertifyRecordMapper productVertifyRecordDao; + + @Resource + private PmsProductVertifyRecordMapper productVertifyRecordMapper; +// @Resource +// private RedisService redisService; + +// lpk_goods + @Resource + private LpkGoodsService lpkGoodsService; + @Override + public int create(PmsProductParam productParam) { + int count; + //创建商品 + PmsProduct product = productParam; + product.setCreateTime(new Date()); + product.setId(null); + //处理sku的编码 + handleSkuStockCode(productParam.getSkuStockList(), product); + if (ValidatorUtils.isEmpty(product.getProductSn())) { + product.setProductSn(IdWorker.getId() + ""); + } + if (ValidatorUtils.empty(product.getExpireTime())) { + product.setExpireTime(DateUtils.strToDate(DateUtils.addDay(new Date(), 5))); + } + if (ValidatorUtils.empty(product.getOriginalPrice())) { + product.setOriginalPrice(product.getPrice()); + } + if (ValidatorUtils.empty(product.getUnit())) { + product.setUnit("件"); + } +// SysUser user = UserUtils.getCurrentMember(); +// product.setStoreName(user.getStoreName()); + //product.setStoreId(user.getStoreId()); + if (ValidatorUtils.empty(product.getAlbumPics())) { + product.setAlbumPics(product.getPic()); + } + /* Long[] tagList = productParam.getTagLists(); + String tags=null; + if(tagList!=null && tagList.length>0){ + for (Long tag:tagList){ + tags=tags+tag+","; + } + tags.substring(0,tags.length()-1); + } + product.setTags(tags);*/ + productMapper.insert(product); + //根据促销类型设置价格:、阶梯价格、满减价格 + Long productId = product.getId(); + //会员价格 + // relateAndInsertList(memberPriceDao, productParam.getMemberPriceList(), productId); + //阶梯价格 + // relateAndInsertList(productLadderDao, productParam.getProductLadderList(), productId); + //满减价格 + // relateAndInsertList(productFullReductionDao, productParam.getProductFullReductionList(), productId); + + //添加sku库存信息 + relateAndInsertList(skuStockDao, productParam.getSkuStockList(), productId); + //添加商品参数,添加自定义商品规格 + relateAndInsertList(productAttributeValueDao, productParam.getProductAttributeValueList(), productId); + //关联专题 + // relateAndInsertList(subjectProductRelationDao, productParam.getSubjectProductRelationList(), productId); + //关联优选 + // relateAndInsertList(prefrenceAreaProductRelationDao, productParam.getPrefrenceAreaProductRelationList(), productId); + //关联专题 + +// if (!CollectionUtils.isEmpty(productParam.getSubjectProductRelationList())) { +// for (CmsSubjectProductRelation relation : productParam.getSubjectProductRelationList()) { +// relation.setProductId(productId); +// subjectProductRelationDao.save(relation); +// } +// } +// //关联优选 +// if (!CollectionUtils.isEmpty(productParam.getPrefrenceAreaProductRelationList())) { +// for (CmsPrefrenceAreaProductRelation relation : productParam.getPrefrenceAreaProductRelationList()) { +// relation.setProductId(productId); +// prefrenceAreaProductRelationDao.save(relation); +// } +// } + count = 1; +// redisService.set(String.format(Rediskey.GOODSDETAIL, product.getId()), JsonUtil.objectToJson(productParam)); + return count; + } + + private void handleSkuStockCode(List skuStockList, PmsProduct product) { + if (CollectionUtils.isEmpty(skuStockList)) return; + int stock = 0; + for (int i = 0; i < skuStockList.size(); i++) { + PmsSkuStock skuStock = skuStockList.get(i); + skuStock.setProductName(product.getName()); + if (StringUtils.isEmpty(skuStock.getSkuCode())) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + StringBuilder sb = new StringBuilder(); + //日期 + sb.append(sdf.format(new Date())); + //四位商品id + sb.append(String.format("%04d", product.getProductCategoryId())); + //三位索引id + sb.append(String.format("%03d", i + 1)); + skuStock.setSkuCode(sb.toString()); + } + if (skuStock.getStock() != null && skuStock.getStock() > 0) { + stock = stock + skuStock.getStock(); + + } + + } + product.setStock(stock); + } + + @Override + public PmsProductResult getUpdateInfo(Long id) { +// return productMapper.getUpdateInfo(id); + return productMapper.getUpdateInfoLiu1(id); + } + + @Override + public int update(Long id, PmsProductParam productParam) { + + int count; + //更新商品信息 + PmsProduct product = productParam; + product.setId(id); + if (ValidatorUtils.isEmpty(product.getProductSn())) { + product.setProductSn(IdWorker.getId() + ""); + } + handleSkuStockCode(productParam.getSkuStockList(), product); + /* Long[] tagList = productParam.getTagLists(); + String tags=null; + if(tagList!=null && tagList.length>0){ + for (Long tag:tagList){ + tags=tags+tag+","; + } + tags.substring(0,tags.length()-1); + } + product.setTags(tags);*/ + productMapper.updateById(product); +// redisService.remove(String.format(Rediskey.GOODSDETAIL, product.getId())); + //会员价格 + // memberPriceMapper.delete(new QueryWrapper<>(new PmsMemberPrice()).eq("product_id", id)); + // relateAndInsertList(memberPriceDao, productParam.getMemberPriceList(), id); + //阶梯价格 + + productLadderMapper.delete(new QueryWrapper<>(new PmsProductLadder()).eq("product_id", id)); + relateAndInsertList(productLadderDao, productParam.getProductLadderList(), id); + //满减价格 + + productFullReductionMapper.delete(new QueryWrapper<>(new PmsProductFullReduction()).eq("product_id", id)); + relateAndInsertList(productFullReductionDao, productParam.getProductFullReductionList(), id); + //修改sku库存信息 + skuStockMapper.delete(new QueryWrapper<>(new PmsSkuStock()).eq("product_id", id)); + + relateAndInsertList(skuStockDao, productParam.getSkuStockList(), id); + //修改商品参数,添加自定义商品规格 + + productAttributeValueMapper.delete(new QueryWrapper<>(new PmsProductAttributeValue()).eq("product_id", id)); + relateAndInsertList(productAttributeValueDao, productParam.getProductAttributeValueList(), id); + + //关联专题 + subjectProductRelationMapper.delete(new QueryWrapper<>(new CmsSubjectProductRelation()).eq("product_id", id)); + // relateAndInsertList(subjectProductRelationDao, productParam.getSubjectProductRelationList(), id); +// if (!CollectionUtils.isEmpty(productParam.getSubjectProductRelationList())) { +// for (CmsSubjectProductRelation relation : productParam.getSubjectProductRelationList()) { +// relation.setProductId(id); +// subjectProductRelationDao.save(relation); +// } +// } + //关联优选 + + prefrenceAreaProductRelationMapper.delete(new QueryWrapper<>(new CmsPrefrenceAreaProductRelation()).eq("product_id", id)); + // relateAndInsertList(prefrenceAreaProductRelationDao, productParam.getPrefrenceAreaProductRelationList(), id); +// if (!CollectionUtils.isEmpty(productParam.getPrefrenceAreaProductRelationList())) { +// for (CmsPrefrenceAreaProductRelation relation : productParam.getPrefrenceAreaProductRelationList()) { +// relation.setProductId(id); +// prefrenceAreaProductRelationDao.save(relation); +// } +// } + count = 1; + +// redisService.set(String.format(Rediskey.GOODSDETAIL, product.getId()), JsonUtil.objectToJson(productParam)); + return count; + } + + + @Override + public int updateVerifyStatus(Long ids, Integer verifyStatus, String detail) { + PmsProduct product = new PmsProduct(); + product.setVerifyStatus(verifyStatus); + int count = productMapper.update(product, new QueryWrapper().eq("id", ids)); + //修改完审核状态后插入审核记录 + + PmsProductVertifyRecord record = new PmsProductVertifyRecord(); + record.setProductId(ids); + record.setCreateTime(new Date()); + record.setDetail(detail); + record.setStatus(verifyStatus); +// record.setVertifyMan(UserUtils.getCurrentMember().getUsername()); + productVertifyRecordMapper.insert(record); +// redisService.remove(String.format(Rediskey.GOODSDETAIL, product.getId())); + return count; + } + + @Override + public int updateisFenxiao(List ids, Integer newStatus) { + PmsProduct record = new PmsProduct(); + record.setIsFenxiao(newStatus); + clerGoodsRedis(ids); + return productMapper.update(record, new QueryWrapper().in("id", ids)); + } + + @Override + public int updateisVip(List ids, Integer newStatus) { + PmsProduct record = new PmsProduct(); + record.setIsVip(newStatus); + clerGoodsRedis(ids); + return productMapper.update(record, new QueryWrapper().in("id", ids)); + } + + @Override + public int updatePublishStatus(List ids, Integer publishStatus) { + PmsProduct record = new PmsProduct(); + record.setPublishStatus(publishStatus); + clerGoodsRedis(ids); + return productMapper.update(record, new QueryWrapper().in("id", ids)); + } + + public void clerGoodsRedis(List ids) { + for (Long id : ids) { +// redisService.remove(String.format(Rediskey.GOODSDETAIL, id)); + } + } + + @Override + public int updateRecommendStatus(List ids, Integer recommendStatus) { + PmsProduct record = new PmsProduct(); + record.setRecommandStatus(recommendStatus); + clerGoodsRedis(ids); + return productMapper.update(record, new QueryWrapper().in("id", ids)); + } + + @Override + public int updateNewStatus(List ids, Integer newStatus) { + PmsProduct record = new PmsProduct(); + record.setNewStatus(newStatus); + clerGoodsRedis(ids); + return productMapper.update(record, new QueryWrapper().in("id", ids)); + } + + @Override + public int updateDeleteStatus(List ids, Integer deleteStatus) { + PmsProduct record = new PmsProduct(); + record.setDeleteStatus(deleteStatus); + clerGoodsRedis(ids); + return productMapper.update(record, new QueryWrapper().in("id", ids)); + } + + @Override + public List list(String keyword) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("delete_status", 1); + + if (!StringUtils.isEmpty(keyword)) { + queryWrapper.like("name", keyword); + + } + return productMapper.selectList(queryWrapper); + } + + @Override + public List listPmsProduct(String keyword) { +// QueryWrapper queryWrapper = new QueryWrapper(); +// queryWrapper.eq("delete_status", 1); +// +// if (!StringUtils.isEmpty(keyword)) { +// queryWrapper.like("name", keyword); +// +// } +// return productMapper.selectList(queryWrapper); + List l=new ArrayList<>(); + QueryWrapper queryWrapper = new QueryWrapper(); + if (!StringUtils.isEmpty(keyword)) { + queryWrapper.like("name", keyword); + } + List list = lpkGoodsService.list(queryWrapper); + for (int i = 0; i < list.size(); i++) { + LpkGoods o = list.get(i); + PmsProduct pp=new PmsProduct(); + pp.setName(o.getName()); + pp.setProductSn(o.getCode()); + pp.setId(Long.valueOf(o.getId())); + l.add(pp); + } + return l; + } + + @Override + public List getProductVertifyRecord(Long id) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("product_id", id); + + return productVertifyRecordMapper.selectList(queryWrapper); + } + + + /** + * 建立和插入关系表操作 + * + * @param dao 可以操作的dao + * @param dataList 要插入的数据 + * @param productId 建立关系的id + */ + private void relateAndInsertList(Object dao, List dataList, Long productId) { + try { + if (CollectionUtils.isEmpty(dataList)) return; + for (Object item : dataList) { + Method setId = item.getClass().getMethod("setId", Long.class); + setId.invoke(item, (Long) null); + Method setProductId = item.getClass().getMethod("setProductId", Long.class); + setProductId.invoke(item, productId); + } + Method insertList = dao.getClass().getMethod("saveBatch", Collection.class); + insertList.invoke(dao, dataList); + } catch (Exception e) { + + log.warn("创建产品出错:{}", e.getMessage()); + throw new RuntimeException(e.getMessage()); + } + } + +} + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductVertifyRecordServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductVertifyRecordServiceImpl.java new file mode 100644 index 0000000..090bec4 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsProductVertifyRecordServiceImpl.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsProductVertifyRecordService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductVertifyRecord; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsProductVertifyRecordMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 商品审核记录 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsProductVertifyRecordServiceImpl extends ServiceImpl implements IPmsProductVertifyRecordService { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsSkuStockServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsSkuStockServiceImpl.java new file mode 100644 index 0000000..0f0014b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsSkuStockServiceImpl.java @@ -0,0 +1,44 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsSkuStockService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSkuStock; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsSkuStockMapper; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.List; + +/** + *

+ * sku的库存 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Service +public class PmsSkuStockServiceImpl extends ServiceImpl implements IPmsSkuStockService { + @Resource + private PmsSkuStockMapper skuStockMapper; + + + @Override + public List getList(Long pid, String keyword) { + QueryWrapper q = new QueryWrapper(); + q.eq("product_id", pid); + + if (!StringUtils.isEmpty(keyword)) { + q.like("sku_code", keyword); + } + return skuStockMapper.selectList(q); + } + + @Override + public int update(Long pid, List skuStockList) { + return skuStockMapper.replaceList(skuStockList); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsSmallNaviconCategoryServiceImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsSmallNaviconCategoryServiceImpl.java new file mode 100644 index 0000000..da36277 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/pms/service/impl/PmsSmallNaviconCategoryServiceImpl.java @@ -0,0 +1,19 @@ +package com.yxt.ordermall.mallplus.biz.pms.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yxt.ordermall.mallplus.biz.pms.service.IPmsSmallNaviconCategoryService; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSmallNaviconCategory; +import com.yxt.ordermall.mallplus.mbg.pms.mapper.PmsSmallNaviconCategoryMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author zscat + * @since 2019-04-14 + */ +@Service +public class PmsSmallNaviconCategoryServiceImpl extends ServiceImpl implements IPmsSmallNaviconCategoryService { +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/BuildTree.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/BuildTree.java new file mode 100644 index 0000000..86c76e3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/BuildTree.java @@ -0,0 +1,113 @@ +package com.yxt.ordermall.mallplus.biz.util; + + +//import com.zscat.mallplus.bo.Tree; + +public class BuildTree { + +// public static Tree build(List> nodes) { +// +// if (nodes == null) { +// return null; +// } +// List> topNodes = new ArrayList>(); +// +// for (Tree children : nodes) { +// +// String pid = children.getParentId(); +// if (pid == null || "0".equals(pid)) { +// topNodes.add(children); +// +// continue; +// } +// +// for (Tree parent : nodes) { +// String id = parent.getId(); +// if (id != null && id.equals(pid)) { +// parent.getChildren().add(children); +// children.setHasParent(true); +// parent.setChildren(true); +// continue; +// } +// } +// +// } +// +// Tree root = new Tree(); +// if (topNodes.size() == 1) { +// root = topNodes.get(0); +// } else { +// root.setId("-1"); +// root.setParentId(""); +// root.setHasParent(false); +// root.setChildren(true); +// root.setChecked(true); +// root.setChildren(topNodes); +// root.setTitle("顶级节点"); +// Map state = new HashMap<>(16); +// state.put("opened", true); +// root.setState(state); +// } +// +// return root; +// } +// +// public static List> buildList(List> nodes, String idParam) { +// if (nodes == null) { +// return null; +// } +// List> topNodes = new ArrayList>(); +// +// for (Tree children : nodes) { +// +// String pid = children.getParentId(); +// if (pid == null || idParam.equals(pid)) { +// topNodes.add(children); +// continue; +// } +// +// for (Tree parent : nodes) { +// String id = parent.getId(); +// if (id != null && id.equals(pid)) { +// parent.getChildren().add(children); +// children.setHasParent(true); +// parent.setChildren(true); +// +// continue; +// } +// } +// +// } +// return topNodes; +// } +// +// public static List buildList1(List nodes, String idParam) { +// if (nodes == null) { +// return null; +// } +// List topNodes = new ArrayList(); +// +// for (Tree children : nodes) { +// +// String pid = children.getParentId(); +// if (pid == null || idParam.equals(pid)) { +// topNodes.add(children); +// +// continue; +// } +// +// for (Tree parent : nodes) { +// String id = parent.getId(); +// if (id != null && id.equals(pid)) { +// parent.getChildren().add(children); +// children.setHasParent(true); +// parent.setChildren(true); +// +// continue; +// } +// } +// +// } +// return topNodes; +// } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/ColUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/ColUtil.java new file mode 100644 index 0000000..a31a7d0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/ColUtil.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration.ConfigurationException; +import org.apache.commons.configuration.PropertiesConfiguration; + +/** + * sql字段转java + * + * @author mallplus + * @date 2019-01-03 + */ +public class ColUtil { + + /** + * 转换mysql数据类型为java数据类型 + * + * @param type 数据库字段类型 + * @return String + */ + static String cloToJava(String type) { + Configuration config = getConfig(); + assert config != null; + return config.getString(type, "unknowType"); + } + + /** + * 获取配置信息 + */ + public static PropertiesConfiguration getConfig() { + try { + return new PropertiesConfiguration("generator.properties"); + } catch (ConfigurationException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/DateUtils.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/DateUtils.java new file mode 100644 index 0000000..652dc64 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/DateUtils.java @@ -0,0 +1,426 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.Calendar; +import java.util.Date; + +/** + * 日期处理 + */ +public class DateUtils { + /** + * 时间格式(yyyy-MM-dd) + */ + public final static String DATE_PATTERN = "yyyy-MM-dd"; + /** + * 时间格式(yyyy-MM-dd HH:mm:ss) + */ + public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; + private final static Logger logger = LoggerFactory.getLogger(DateUtils.class); + private static final DateFormat FORMATER_DATE_YMD = new SimpleDateFormat("yyyy-MM-dd"); + /** + * 无分隔符日期格式 "yyyyMMddHHmmssSSS" + */ + public static String DATE_TIME_PATTERN_YYYY_MM_DD_HH_MM_SS_SSS = "yyyyMMddHHmmssSSS"; + // 日期转换格式数组 + public static String[][] regularExp = new String[][]{ + + // 默认格式 + {"\\d{4}-((([0][1,3-9]|[1][0-2]|[1-9])-([0-2]\\d|[3][0,1]|[1-9]))|((02|2)-(([1-9])|[0-2]\\d)))\\s+([0,1]\\d|[2][0-3]|\\d):([0-5]\\d|\\d):([0-5]\\d|\\d)", + DATE_TIME_PATTERN}, + // 仅日期格式 年月日 + {"\\d{4}-((([0][1,3-9]|[1][0-2]|[1-9])-([0-2]\\d|[3][0,1]|[1-9]))|((02|2)-(([1-9])|[0-2]\\d)))", + DATE_PATTERN}, + // 带毫秒格式 + {"\\d{4}((([0][1,3-9]|[1][0-2]|[1-9])([0-2]\\d|[3][0,1]|[1-9]))|((02|2)(([1-9])|[0-2]\\d)))([0,1]\\d|[2][0-3])([0-5]\\d|\\d)([0-5]\\d|\\d)\\d{1,3}", + DATE_TIME_PATTERN_YYYY_MM_DD_HH_MM_SS_SSS} + }; + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM"); + private static Calendar calendar = Calendar.getInstance(); + + public static Date toDate(String d) throws Exception { + return FORMATER_DATE_YMD.parse(d); + } + + public static String format(Date date) { + return format(date, DATE_PATTERN); + } + + public static String format(Date date, String pattern) { + if (date != null) { + SimpleDateFormat df = new SimpleDateFormat(pattern); + return df.format(date); + } + return null; + } + + /** + * 计算距离现在多久,非精确 + * + * @param date + * @return + */ + public static String getTimeBefore(Date date) { + Date now = new Date(); + long l = now.getTime() - date.getTime(); + long day = l / (24 * 60 * 60 * 1000); + long hour = (l / (60 * 60 * 1000) - day * 24); + long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60); + long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); + String r = ""; + if (day > 0) { + r += day + "天"; + } else if (hour > 0) { + r += hour + "小时"; + } else if (min > 0) { + r += min + "分"; + } else if (s > 0) { + r += s + "秒"; + } + r += "前"; + return r; + } + + /** + * 计算距离现在多久,精确 + * + * @param date + * @return + */ + public static String getTimeBeforeAccurate(Date date) { + Date now = new Date(); + long l = now.getTime() - date.getTime(); + long day = l / (24 * 60 * 60 * 1000); + long hour = (l / (60 * 60 * 1000) - day * 24); + long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60); + long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); + String r = ""; + if (day > 0) { + r += day + "天"; + } + if (hour > 0) { + r += hour + "小时"; + } + if (min > 0) { + r += min + "分"; + } + if (s > 0) { + r += s + "秒"; + } + r += "前"; + return r; + } + + public static String addDay(Date s, int n) { + + SimpleDateFormat FORMATER_DATE_YMD = new SimpleDateFormat("yyyy-MM-dd"); + Calendar cd = Calendar.getInstance(); + cd.setTime(s); + cd.add(Calendar.DATE, n);//增加一天 + //cd.add(Calendar.MONTH, n);//增加一个月 + return FORMATER_DATE_YMD.format(cd.getTime()); + + } + + /** + * 转换为时间类型格式 + * + * @param strDate 日期 + * @return + */ + public static Date strToDate(String strDate) { + try { + String strType = getDateFormat(strDate); + SimpleDateFormat sf = new SimpleDateFormat(strType); + return new Date((sf.parse(strDate).getTime())); + } catch (Exception e) { + return null; + } + } + + /** + * 根据传入的日期格式字符串,获取日期的格式 + * + * @return 秒 + */ + public static String getDateFormat(String date_str) { + String style = null; + if (StringUtils.isEmpty(date_str)) { + return null; + } + boolean b = false; + for (int i = 0; i < regularExp.length; i++) { + b = date_str.matches(regularExp[i][0]); + if (b) { + style = regularExp[i][1]; + } + } + if (StringUtils.isEmpty(style)) { + logger.info("date_str:" + date_str); + logger.info("日期格式获取出错,未识别的日期格式"); + } + return style; + } + + /** + * 返回当前时间的"yyyy-MM-dd"格式字符串 + */ + public static String currentDay() { + DateFormat formater = new SimpleDateFormat("yyyy-MM-dd"); + return formater.format(new Date()); + } + + public static int calculateDaysNew(Date first, Date second) { + int days = 0; + + if (second.before(first)) { + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(second); + calendar1.set(Calendar.HOUR_OF_DAY, 0); + calendar1.set(Calendar.MINUTE, 0); + calendar1.set(Calendar.SECOND, 0); + calendar1.set(Calendar.MILLISECOND, 0); + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(first); + calendar2.set(Calendar.HOUR_OF_DAY, 0); + calendar2.set(Calendar.MINUTE, 0); + calendar2.set(Calendar.SECOND, 0); + calendar2.set(Calendar.MILLISECOND, 0); + while (calendar1.compareTo(calendar2) != 0) { + calendar1.add(Calendar.DAY_OF_YEAR, 1); + days++; + } + days = -days; + } else { + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(first); + calendar1.set(Calendar.HOUR_OF_DAY, 0); + calendar1.set(Calendar.MINUTE, 0); + calendar1.set(Calendar.SECOND, 0); + calendar1.set(Calendar.MILLISECOND, 0); + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(second); + calendar2.set(Calendar.HOUR_OF_DAY, 0); + calendar2.set(Calendar.MINUTE, 0); + calendar2.set(Calendar.SECOND, 0); + calendar2.set(Calendar.MILLISECOND, 0); + while (calendar1.compareTo(calendar2) != 0) { + calendar1.add(Calendar.DAY_OF_YEAR, 1); + days++; + } + } + + return days; + } + + /** + * 获取当月的第一天 + * + * @return + */ + public static String geFirstDayByMonth() { + Calendar c = Calendar.getInstance(); + c.add(Calendar.MONTH, 0); + c.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天 + return FORMATER_DATE_YMD.format(c.getTime()); + } + + /** + * 获取当月的第一天 + * + * @return + */ + public static Date geFirstDayDateByMonth() { + Calendar c = Calendar.getInstance(); + c.add(Calendar.MONTH, 0); + c.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天 + return c.getTime(); + } + + /** + * 获取当月的最后一天 + * + * @return + */ + public static String geLastDayByMonth() { + Calendar ca = Calendar.getInstance(); + ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); + return FORMATER_DATE_YMD.format(ca.getTime()); + } + + /** + * 获取当前周的第一天: + * + * @return + */ + public static Date getFirstDayOfWeek() { + Calendar cal = Calendar.getInstance(); + try { + cal.setTime(new Date()); + cal.set(Calendar.DAY_OF_WEEK, 1); + } catch (Exception e) { + e.printStackTrace(); + } + + return cal.getTime(); + } + + /** + * 获取当前周最后一天 + * + * @return + */ + public static Date getLastDayOfWeek() { + Calendar cal = Calendar.getInstance(); + + try { + cal.setTime(new Date()); + cal.set(Calendar.DAY_OF_WEEK, 1); + cal.set(Calendar.DATE, cal.get(Calendar.DATE) + 6); + } catch (Exception e) { + e.printStackTrace(); + } + + return cal.getTime(); + } + + /* + 输入日期字符串比如201703,返回当月第一天的Date + */ + public static Date getMinDateMonth(String month) { + try { + Date nowDate = sdf.parse(month); + calendar = Calendar.getInstance(); + calendar.setTime(nowDate); + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH)); + return calendar.getTime(); + } catch (ParseException e) { + e.printStackTrace(); + } + return null; + } + + /* + 输入日期字符串,返回当月最后一天的Date + */ + public static Date getMaxDateMonth(String month) { + try { + Date nowDate = sdf.parse(month); + calendar = Calendar.getInstance(); + calendar.setTime(nowDate); + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); + return calendar.getTime(); + } catch (ParseException e) { + e.printStackTrace(); + } + return null; + } + public static String getLastMonth() { + LocalDate today = LocalDate.now(); + today = today.minusMonths(1); + DateTimeFormatter formatters = DateTimeFormatter.ofPattern("yyyy-MM"); + return formatters.format(today); + } + + /** + * 上个月最后一天 + */ + public static Date getLastMonthLastDay(){ + + SimpleDateFormat sf=new SimpleDateFormat(DATE_TIME_PATTERN); + + Calendar calendar=Calendar.getInstance(); + + int month=calendar.get(Calendar.MONTH); + + calendar.set(Calendar.MONTH, month-1); + + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); + + return calendar.getTime(); + + } + + /** + * 上个月第一天 + */ + public static Date getLastMonthFirstDay(){ + + SimpleDateFormat format=new SimpleDateFormat(DATE_TIME_PATTERN); + + Calendar calendar=Calendar.getInstance(); + + calendar.add(Calendar.MONTH, -1); + + calendar.set(Calendar.DAY_OF_MONTH, 1); + + return calendar.getTime(); + } + /** + * 获取上周周一(第一天是周一) + * + * @return + */ + public static Date getPreviousMonday() { + Calendar cal = Calendar.getInstance(); + // 将每周第一天设为星期一,默认是星期天 + cal.setFirstDayOfWeek(Calendar.MONDAY); + cal.add(Calendar.DATE, -1 * 7); + cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); + + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + return cal.getTime(); + } + /** + * 获取上周周日(第一天是周一) + * @return + */ + public static Date getSunday() { + Calendar cal = Calendar.getInstance(); + //将每周第一天设为星期一,默认是星期天 + cal.setFirstDayOfWeek(Calendar.MONDAY); + cal.add(Calendar.DATE, -1*7); + cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); + + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + cal.set(Calendar.MILLISECOND, 59); + return cal.getTime(); + } + + + public static void main(String[] args) throws Exception { + getLastMonthFirstDay(); + getLastMonthLastDay(); + SimpleDateFormat format=new SimpleDateFormat(DATE_TIME_PATTERN); + + Calendar calendar=Calendar.getInstance(); + + calendar.add(Calendar.MONTH, -1); + + calendar.set(Calendar.DAY_OF_MONTH, 1); + + System.out.println("上个月第一天:"+format.format(calendar.getTime())); + + + System.out.println(getLastMonth()); + String month = "201705"; + System.out.println(getMinDateMonth(month)); + System.out.println(getMaxDateMonth(month)); + System.out.println(DateUtils.geLastDayByMonth()); + System.out.println(DateUtils.addDay(new Date(), -7)); + System.out.println(DateUtils.calculateDaysNew(DateUtils.toDate(DateUtils.addDay(new Date(), -7)), new Date())); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/EasyPoiUtils.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/EasyPoiUtils.java new file mode 100644 index 0000000..87448fb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/EasyPoiUtils.java @@ -0,0 +1,104 @@ +package com.yxt.ordermall.mallplus.biz.util; + +//import cn.afterturn.easypoi.excel.ExcelExportUtil; +//import cn.afterturn.easypoi.excel.ExcelImportUtil; +//import cn.afterturn.easypoi.excel.entity.ExportParams; +//import cn.afterturn.easypoi.excel.entity.ImportParams; +//import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import org.apache.poi.ss.usermodel.Workbook; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; + +public final class EasyPoiUtils { + + private EasyPoiUtils() { + } + + private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) { + try { + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); + workbook.write(response.getOutputStream()); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + +// private static void defaultExport(List dataList, Class clz, String fileName, HttpServletResponse response, ExportParams exportParams) { +// Workbook workbook = ExcelExportUtil.exportExcel(exportParams, clz, dataList); +// if (workbook != null) { +// downLoadExcel(fileName, response, workbook); +// } +// } + +// public static void exportExcel(List dataList, String title, String sheetName, Class clz, String fileName, boolean isCreateHeader, HttpServletResponse response) { +// ExportParams exportParams = new ExportParams(title, sheetName); +// exportParams.setCreateHeadRows(isCreateHeader); +// defaultExport(dataList, clz, fileName, response, exportParams); +// } + +// public static void exportExcel(List dataList, String title, String sheetName, Class clz, String fileName, HttpServletResponse response) { +// defaultExport(dataList, clz, fileName, response, new ExportParams(title, sheetName)); +// } + +// private static void defaultExport(List> dataList, String fileName, HttpServletResponse response) { +// Workbook workbook = ExcelExportUtil.exportExcel(dataList, ExcelType.HSSF); +// if (workbook != null) { +// downLoadExcel(fileName, response, workbook); +// } +// } + +// public static void exportExcel(List> dataList, String fileName, HttpServletResponse response) { +// defaultExport(dataList, fileName, response); +// } + +// public static List importExcel(String filePath, Integer titleRows, Integer headerRows, Class clz) { +// if (StringUtils.isBlank(filePath)) { +// return null; +// } +// +// ImportParams params = new ImportParams(); +// params.setTitleRows(titleRows); +// params.setHeadRows(headerRows); +// +// try { +// return ExcelImportUtil.importExcel(new File(filePath), clz, params); +// } catch (Exception e) { +// throw new RuntimeException(e.getMessage()); +// } +// } + +// public static List importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class clz) { +// if (file == null) { +// return null; +// } +// +// ImportParams params = new ImportParams(); +// params.setTitleRows(titleRows); +// params.setHeadRows(headerRows); +// +// try { +// return ExcelImportUtil.importExcel(file.getInputStream(), clz, params); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// } + +// public static List importExcel(MultipartFile file, Class clz) { +// if (file == null) { +// return null; +// } +// +// ImportParams params = new ImportParams(); +// params.setTitleRows(1); +// params.setHeadRows(1); +// try { +// return ExcelImportUtil.importExcel(file.getInputStream(), clz, params); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileTypeMap.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileTypeMap.java new file mode 100644 index 0000000..fc7e3e8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileTypeMap.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import java.util.HashMap; +import java.util.Map; + +/** + * 文件类型

允许上传的类型

+ * + * @author Peter + * @date 2018-4-11 + */ +public class FileTypeMap { + + public static final Map map = new HashMap(9); + + static { + map.put("jpeg", "FFD8FF"); + map.put("jpg", "FFD8FFE0"); + map.put("png", "89504E47"); + map.put("wav", "57415645"); + map.put("avi", "41564920"); + map.put("mp4", "00000020667479706D70"); + map.put("mp3", "49443303000000002176"); + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileUtil.java new file mode 100644 index 0000000..ad1d913 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileUtil.java @@ -0,0 +1,278 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.io.IoUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.poi.excel.BigExcelWriter; +import cn.hutool.poi.excel.ExcelUtil; +import org.springframework.web.multipart.MultipartFile; + +import javax.activation.MimetypesFileTypeMap; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.security.MessageDigest; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * File工具类,扩展 hutool 工具包 + * + * @author mallplus + * @date 2018-12-27 + */ +public class FileUtil extends cn.hutool.core.io.FileUtil { + + /** + * 定义GB的计算常量 + */ + private static final int GB = 1024 * 1024 * 1024; + /** + * 定义MB的计算常量 + */ + private static final int MB = 1024 * 1024; + /** + * 定义KB的计算常量 + */ + private static final int KB = 1024; + + /** + * 格式化小数 + */ + private static final DecimalFormat DF = new DecimalFormat("0.00"); + + /** + * MultipartFile转File + */ + public static File toFile(MultipartFile multipartFile) { + // 获取文件名 + String fileName = multipartFile.getOriginalFilename(); + // 获取文件后缀 + String prefix = "." + getExtensionName(fileName); + File file = null; + try { + // 用uuid作为文件名,防止生成的临时文件重复 + file = File.createTempFile(IdUtil.simpleUUID(), prefix); + // MultipartFile to File + multipartFile.transferTo(file); + } catch (IOException e) { + e.printStackTrace(); + } + return file; + } + + /** + * 获取文件扩展名,不带 . + */ + public static String getExtensionName(String filename) { + if ((filename != null) && (filename.length() > 0)) { + int dot = filename.lastIndexOf('.'); + if ((dot > -1) && (dot < (filename.length() - 1))) { + return filename.substring(dot + 1); + } + } + return filename; + } + + /** + * Java文件操作 获取不带扩展名的文件名 + */ + public static String getFileNameNoEx(String filename) { + if ((filename != null) && (filename.length() > 0)) { + int dot = filename.lastIndexOf('.'); + if ((dot > -1) && (dot < (filename.length()))) { + return filename.substring(0, dot); + } + } + return filename; + } + + /** + * 文件大小转换 + */ + public static String getSize(long size) { + String resultSize; + if (size / GB >= 1) { + //如果当前Byte的值大于等于1GB + resultSize = DF.format(size / (float) GB) + "GB "; + } else if (size / MB >= 1) { + //如果当前Byte的值大于等于1MB + resultSize = DF.format(size / (float) MB) + "MB "; + } else if (size / KB >= 1) { + //如果当前Byte的值大于等于1KB + resultSize = DF.format(size / (float) KB) + "KB "; + } else { + resultSize = size + "B "; + } + return resultSize; + } + + /** + * inputStream 转 File + */ + static File inputStreamToFile(InputStream ins, String name) throws Exception { + File file = new File(System.getProperty("java.io.tmpdir") + File.separator + name); + if (file.exists()) { + return file; + } + OutputStream os = new FileOutputStream(file); + int bytesRead; + byte[] buffer = new byte[8192]; + while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) { + os.write(buffer, 0, bytesRead); + } + os.close(); + ins.close(); + return file; + } + + /** + * 将文件名解析成文件的上传路径 + */ + public static File upload(MultipartFile file, String filePath) { + Date date = new Date(); + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddhhmmssS"); + String name = getFileNameNoEx(file.getOriginalFilename()); + String suffix = getExtensionName(file.getOriginalFilename()); + String nowStr = "-" + format.format(date); + try { + String fileName = name + nowStr + "." + suffix; + String path = filePath + fileName; + // getCanonicalFile 可解析正确各种路径 + File dest = new File(path).getCanonicalFile(); + // 检测是否存在目录 + if (!dest.getParentFile().exists()) { + dest.getParentFile().mkdirs(); + } + // 文件写入 + file.transferTo(dest); + return dest; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + public static String fileToBase64(File file) throws Exception { + FileInputStream inputFile = new FileInputStream(file); + String base64; + byte[] buffer = new byte[(int) file.length()]; + inputFile.read(buffer); + inputFile.close(); + base64 = Base64.encode(buffer); + return base64.replaceAll("[\\s*\t\n\r]", ""); + } + + /** + * 导出excel + */ + public static void downloadExcel(List> list, HttpServletResponse response) throws IOException { + String tempPath = System.getProperty("java.io.tmpdir") + IdUtil.fastSimpleUUID() + ".xlsx"; + File file = new File(tempPath); + BigExcelWriter writer = ExcelUtil.getBigWriter(file); + // 一次性写出内容,使用默认样式,强制输出标题 + writer.write(list, true); + //response为HttpServletResponse对象 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); + //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码 + response.setHeader("Content-Disposition", "attachment;filename=file.xlsx"); + ServletOutputStream out = response.getOutputStream(); + // 终止后删除临时文件 + file.deleteOnExit(); + writer.flush(out, true); + //此处记得关闭输出Servlet流 + IoUtil.close(out); + } + + public static String getFileType(String type) { + String documents = "txt doc pdf ppt pps xlsx xls docx"; + String music = "mp3 wav wma mpa ram ra aac aif m4a"; + String video = "avi mpg mpe mpeg asf wmv mov qt rm mp4 flv m4v webm ogv ogg"; + String image = "bmp dib pcp dif wmf gif jpg tif eps psd cdr iff tga pcd mpt png jpeg"; + if (image.contains(type)) { + return "图片"; + } else if (documents.contains(type)) { + return "文档"; + } else if (music.contains(type)) { + return "音乐"; + } else if (video.contains(type)) { + return "视频"; + } else { + return "其他"; + } + } + + public static String getFileTypeByMimeType(String type) { + String mimeType = new MimetypesFileTypeMap().getContentType("." + type); + return mimeType.split("/")[0]; + } + + public static void checkSize(long maxSize, long size) { +// if (size > (maxSize * 1024 * 1024)) { +// throw new BusinessMallException("文件超出规定大小"); +// } + } + + /** + * 判断两个文件是否相同 + */ + public static boolean check(File file1, File file2) { + String img1Md5 = getMd5(file1); + String img2Md5 = getMd5(file2); + return img1Md5.equals(img2Md5); + } + + /** + * 判断两个文件是否相同 + */ + public static boolean check(String file1Md5, String file2Md5) { + return file1Md5.equals(file2Md5); + } + + private static byte[] getByte(File file) { + // 得到文件长度 + byte[] b = new byte[(int) file.length()]; + try { + InputStream in = new FileInputStream(file); + try { + in.read(b); + } catch (IOException e) { + e.printStackTrace(); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + return null; + } + return b; + } + + private static String getMd5(byte[] bytes) { + // 16进制字符 + char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; + try { + MessageDigest mdTemp = MessageDigest.getInstance("MD5"); + mdTemp.update(bytes); + byte[] md = mdTemp.digest(); + int j = md.length; + char[] str = new char[j * 2]; + int k = 0; + // 移位 输出字符串 + for (byte byte0 : md) { + str[k++] = hexDigits[byte0 >>> 4 & 0xf]; + str[k++] = hexDigits[byte0 & 0xf]; + } + return new String(str); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + public static String getMd5(File file) { + return getMd5(getByte(file)); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileUtils.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileUtils.java new file mode 100644 index 0000000..8db1b52 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/FileUtils.java @@ -0,0 +1,82 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; + +/** + * 文件工具类 + * + * @author Peter + * @date 2018-4-11 + */ +public class FileUtils { + /** + * 判断文件类型是否合法<>通过魔数判断 + * + * @param file + * @return + */ + public static boolean checkFileMagicNum(final MultipartFile file) { + if (file == null) { + return false; + } + // 获取文件上传时带的后缀 + String fileName = file.getOriginalFilename(); + String suffix = fileName.substring(fileName.lastIndexOf(".") + 1); + // 由文件后缀得到的魔数,由于后缀可以伪造,所以该魔数不一定是文件的真实魔数 + String magicNum = FileTypeMap.map.get(suffix.toLowerCase()); + // 取不到魔数,说明该文件类型不能上传 + if (magicNum == null) { + return false; + } + // 取到魔数之后,判断与文件的是否相同 + byte[] b = new byte[30]; + try { + InputStream in = file.getInputStream(); + // 读取上传文件的前30个字节 + in.read(b, 0, 30); + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + String realMagicNum = bytesToHex(b); + // 判断文件开始的一段内容是否是匹配的魔数 + if (realMagicNum.toUpperCase().startsWith(magicNum)) { + return true; + } + return false; + } + + /** + * 将字节数组转换成16进制字符串 + * + * @param src + * @return + */ + public static String bytesToHex(final byte[] src) { + StringBuilder stringBuilder = new StringBuilder(""); + if (src == null || src.length <= 0) { + return null; + } + for (int i = 0; i < src.length; i++) { + int v = src[i] & 0xFF; + String hv = Integer.toHexString(v); + if (hv.length() < 2) { + stringBuilder.append(0); + } + stringBuilder.append(hv); + } + return stringBuilder.toString(); + } + + public static String getSuffix(final MultipartFile file) { + if (file == null || file.getSize() == 0) { + return null; + } + String fileName = file.getOriginalFilename(); + return fileName.substring(fileName.lastIndexOf(".") + 1); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/GenUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/GenUtil.java new file mode 100644 index 0000000..6c3073d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/GenUtil.java @@ -0,0 +1,315 @@ +package com.yxt.ordermall.mallplus.biz.util;//package com.zscat.mallplus.util; +// +//import cn.hutool.core.util.StrUtil; +//import cn.hutool.extra.template.*; +//import com.zscat.mallplus.bo.ColumnInfo; +//import com.zscat.mallplus.sys.entity.GenConfig; +//import lombok.extern.slf4j.Slf4j; +// +//import java.io.File; +//import java.io.FileWriter; +//import java.io.IOException; +//import java.io.Writer; +//import java.time.LocalDate; +//import java.util.ArrayList; +//import java.util.HashMap; +//import java.util.List; +//import java.util.Map; +// +///** +// * 代码生成 +// * +// * @author mallplus +// * @date 2019-01-02 +// */ +//@Slf4j +//public class GenUtil { +// +// private static final String TIMESTAMP = "Timestamp"; +// +// private static final String BIGDECIMAL = "BigDecimal"; +// +// private static final String PK = "PRI"; +// +// private static final String EXTRA = "auto_increment"; +// +// /** +// * 获取后端代码模板名称 +// * +// * @return List +// */ +// private static List getAdminTemplateNames() { +// List templateNames = new ArrayList<>(); +// templateNames.add("Entity"); +// +// templateNames.add("Mapper"); +// +// templateNames.add("Service"); +// templateNames.add("ServiceImpl"); +// templateNames.add("menu.sql"); +// templateNames.add("Controller"); +// return templateNames; +// } +// +// /** +// * 获取前端代码模板名称 +// * +// * @return List +// */ +// private static List getFrontTemplateNames() { +// List templateNames = new ArrayList<>(); +// templateNames.add("api"); +// templateNames.add("index"); +// templateNames.add("eForm"); +// templateNames.add("add"); +// templateNames.add("update"); +// return templateNames; +// } +// /** +// * 获取前端代码模板名称 +// * +// * @return List +// */ +// private static List getFrontTemplateNames1() { +// List templateNames = new ArrayList<>(); +// templateNames.add("api"); +// templateNames.add("index"); +// templateNames.add("eForm"); +// templateNames.add("add"); +// templateNames.add("update"); +// return templateNames; +// } +// /** +// * 生成代码 +// * +// * @param columnInfos 表元数据 +// */ +// public static void generatorCode(List columnInfos, GenConfig genConfig, String tableName) throws IOException { +// Map map = new HashMap<>(); +// map.put("package", genConfig.getPack()); +// map.put("moduleName", genConfig.getModuleName()); +// map.put("author", genConfig.getAuthor()); +// map.put("date", LocalDate.now().toString()); +// map.put("tableName", tableName); +// map.put("prefix", genConfig.getPrefix()); +// +// String className = StringUtils.toCapitalizeCamelCase(tableName); +// String changeClassName = StringUtils.toCamelCase(tableName); +// +// // 判断是否去除表前缀 +// if (StringUtils.isNotEmpty(genConfig.getPrefix())) { +// className = StringUtils.toCapitalizeCamelCase(StrUtil.removePrefix(tableName, genConfig.getPrefix())); +// changeClassName = StringUtils.toCamelCase(StrUtil.removePrefix(tableName, genConfig.getPrefix())); +// } +// map.put("className", className); +// map.put("upperCaseClassName", className.toUpperCase()); +// map.put("changeClassName", changeClassName); +// map.put("hasTimestamp", false); +// map.put("queryHasTimestamp", false); +// map.put("queryHasBigDecimal", false); +// map.put("hasBigDecimal", false); +// map.put("hasQuery", false); +// map.put("auto", false); +// +// List> columns = new ArrayList<>(); +// List> queryColumns = new ArrayList<>(); +// for (ColumnInfo column : columnInfos) { +// Map listMap = new HashMap<>(); +// listMap.put("columnComment", column.getColumnComment()); +// listMap.put("columnKey", column.getColumnKey()); +// +// String colType = ColUtil.cloToJava(column.getColumnType().toString()); +// String changeColumnName = StringUtils.toCamelCase(column.getColumnName().toString()); +// String capitalColumnName = StringUtils.toCapitalizeCamelCase(column.getColumnName().toString()); +// if (PK.equals(column.getColumnKey())) { +// map.put("pkColumnType", colType); +// map.put("pkChangeColName", changeColumnName); +// map.put("pkCapitalColName", capitalColumnName); +// } +// if (TIMESTAMP.equals(colType)) { +// map.put("hasTimestamp", true); +// } +// if (BIGDECIMAL.equals(colType)) { +// map.put("hasBigDecimal", true); +// } +// if (EXTRA.equals(column.getExtra())) { +// map.put("auto", true); +// } +// listMap.put("columnType", colType); +// listMap.put("columnName", column.getColumnName()); +// listMap.put("isNullable", column.getIsNullable()); +// listMap.put("columnShow", column.getColumnShow()); +// listMap.put("changeColumnName", changeColumnName); +// listMap.put("capitalColumnName", capitalColumnName); +// +// // 判断是否有查询,如有则把查询的字段set进columnQuery +// if (!StringUtils.isBlank(column.getColumnQuery())) { +// listMap.put("columnQuery", column.getColumnQuery()); +// map.put("hasQuery", true); +// if (TIMESTAMP.equals(colType)) { +// map.put("queryHasTimestamp", true); +// } +// if (BIGDECIMAL.equals(colType)) { +// map.put("queryHasBigDecimal", true); +// } +// queryColumns.add(listMap); +// } +// columns.add(listMap); +// } +// map.put("columns", columns); +// map.put("queryColumns", queryColumns); +// TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("template", TemplateConfig.ResourceMode.CLASSPATH)); +// +// // 生成后端代码 +// List templates = getAdminTemplateNames(); +// for (String templateName : templates) { +// Template template = engine.getTemplate("generator/admin/" + templateName + ".ftl"); +// String filePath = getAdminFilePath(templateName, genConfig, className); +// +// assert filePath != null; +// File file = new File(filePath); +// +// // 如果非覆盖生成 +// if (!genConfig.getCover() && FileUtil.exist(file)) { +// continue; +// } +// // 生成代码 +// // genFile(file, template, map); +// } +// +// // 生成前端代码 +// List templates1 = getFrontTemplateNames(); +// for (String templateName : templates1) { +// Template template = engine.getTemplate("generator/front/" + templateName + ".ftl"); +// String filePath = getFrontFilePath(templateName, genConfig, map.get("changeClassName").toString()); +// +// assert filePath != null; +// File file = new File(filePath); +// +// // 如果非覆盖生成 +// if (!genConfig.getCover() && FileUtil.exist(file)) { +// continue; +// } +// // 生成代码 +// genFile(file, template, map); +// } +// // 生成前端代码2 +// List templates2 = getFrontTemplateNames1(); +// for (String templateName : templates2) { +// Template template = engine.getTemplate("generator/front1/" + templateName + ".ftl"); +// String filePath = getFrontFilePath1(templateName, genConfig, map.get("changeClassName").toString()); +// +// assert filePath != null; +// File file = new File(filePath); +// +// // 如果非覆盖生成 +// if (!genConfig.getCover() && FileUtil.exist(file)) { +// continue; +// } +// // 生成代码 +// genFile(file, template, map); +// } +// } +// +// /** +// * 定义后端文件路径以及名称 +// */ +// private static String getAdminFilePath(String templateName, GenConfig genConfig, String className) { +// +// String packagePath = genConfig.getPath(); +// if ("Entity".equals(templateName)) { +// return packagePath + File.separator + "entity" + File.separator + className + ".java"; +// } +// +// if ("Controller".equals(templateName)) { +// return packagePath + File.separator + "controller" + File.separator + className + "Controller.java"; +// } +// +// if ("Service".equals(templateName)) { +// return packagePath + File.separator + "service" + File.separator + "I" + className + "Service.java"; +// } +// +// if ("ServiceImpl".equals(templateName)) { +// return packagePath + File.separator + "service" + File.separator + "impl" + File.separator + className + "ServiceImpl.java"; +// } +// +// if ("menu.sql".equals(templateName)) { +// return packagePath + File.separator + className + ".sql"; +// } +// +// +// if ("Mapper".equals(templateName)) { +// return packagePath + File.separator + "mapper" + File.separator + className + "Mapper.java"; +// } +// +// +// return null; +// } +// +// /** +// * 定义前端文件路径以及名称 +// */ +// private static String getFrontFilePath(String templateName, GenConfig genConfig, String apiName) { +// String path = genConfig.getPath(); +// +// if ("api".equals(templateName)) { +// return path + File.separator + apiName + ".js"; +// } +// +// if ("index".equals(templateName)) { +// return path + File.separator + apiName + File.separator + "index.vue"; +// } +// +// if ("eForm".equals(templateName)) { +// return path + File.separator + apiName + File.separator + "components" + File.separator + "detail.vue"; +// } +// if ("add".equals(templateName)) { +// return path + File.separator + apiName + File.separator + File.separator + "add.vue"; +// } +// if ("update".equals(templateName)) { +// return path + File.separator + apiName + File.separator + File.separator + "update.vue"; +// } +// return null; +// } +// /** +// * 定义前端文件路径以及名称 +// */ +// private static String getFrontFilePath1(String templateName, GenConfig genConfig, String apiName) { +// String path = genConfig.getPath(); +// +// if ("api".equals(templateName)) { +// return path + File.separator +"shop"+ File.separator+ apiName + ".text"; +// } +// +// if ("index".equals(templateName)) { +// return path + File.separator +"shop"+ File.separator+ apiName + File.separator + "index.vue"; +// } +// +// if ("eForm".equals(templateName)) { +// return path + File.separator +"shop"+ File.separator+ apiName + File.separator + "components" + File.separator + "reduction.less"; +// } +// if ("add".equals(templateName)) { +// return path + File.separator +"shop"+ File.separator+ apiName + File.separator + "components" + File.separator + "add.vue"; +// } +// if ("update".equals(templateName)) { +// return path + File.separator +"shop"+ File.separator+ apiName + File.separator + "components" + File.separator + "edit.vue"; +// } +// return null; +// } +// private static void genFile(File file, Template template, Map map) throws IOException { +// // 生成目标文件 +// Writer writer = null; +// try { +// System.out.println(file); +// FileUtil.touch(file); +// System.out.println(file.getName()); +// writer = new FileWriter(file); +// template.render(map, writer); +// } catch (TemplateException | IOException e) { +// throw new RuntimeException(e); +// } finally { +// assert writer != null; +// writer.close(); +// } +// } +//} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/GenUtils1.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/GenUtils1.java new file mode 100644 index 0000000..8bd3620 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/GenUtils1.java @@ -0,0 +1,308 @@ +package com.yxt.ordermall.mallplus.biz.util;/* +package com.zscat.mallplus.util; + + +import cn.hutool.core.io.FileUtil; +import cn.hutool.extra.template.*; +import com.zscat.mallplus.bo.ColumnDO; +import com.zscat.mallplus.bo.TableDO; +import com.zscat.mallplus.config.Constant; +import com.zscat.mallplus.exception.ApiMallPlusException; +import org.apache.commons.configuration.Configuration; +import org.apache.commons.configuration.PropertiesConfiguration; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.WordUtils; +import org.apache.velocity.app.Velocity; + +import java.io.*; +import java.util.*; +import java.util.zip.ZipOutputStream; + +*/ +/** + * 代码生成器 工具类 + *

+ * 生成代码 + *

+ * 列名转换成Java属性名 + *

+ * 表名转换成Java类名 + *

+ * 获取配置信息 + *

+ * 获取文件名 + *

+ * 生成代码 + *

+ * 列名转换成Java属性名 + *

+ * 表名转换成Java类名 + *

+ * 获取配置信息 + *

+ * 获取文件名 + *

+ * 生成代码 + *

+ * 列名转换成Java属性名 + *

+ * 表名转换成Java类名 + *

+ * 获取配置信息 + *

+ * 获取文件名 + *

+ * 生成代码 + *

+ * 列名转换成Java属性名 + *

+ * 表名转换成Java类名 + *

+ * 获取配置信息 + *

+ * 获取文件名 + *//* + +public class GenUtils1 { + + + public static List getTemplates() { + List templates = new ArrayList(); + templates.add("common/generator/domain.java.ftl"); + templates.add("common/generator/Dao.java.ftl"); + //templates.add("common/generator/Mapper.java.vm"); + // templates.add("common/generator/Mapper.xml.vm"); + templates.add("common/generator/Service.java.ftl"); + templates.add("common/generator/ServiceImpl.java.ftl"); + templates.add("common/generator/Controller.java.ftl"); + templates.add("common/generator/add.vue.ftl"); + templates.add("common/generator/index.vue.ftl"); + templates.add("common/generator/api.js.ftl"); + templates.add("common/generator/path.js.ftl"); + templates.add("common/generator/update.vue.ftl"); + + templates.add("common/generator/BrandDetail.vue.ftl"); + templates.add("common/generator/menu.sql.ftl"); + return templates; + } + + */ +/** + * 生成代码 + *//* + + + + public static void generatorCode(Map table, + List> columns, ZipOutputStream zip) { + //配置信息 + Configuration config = getConfig(); + //表信息 + TableDO tableDO = new TableDO(); + tableDO.setTableName(table.get("tableName")); + tableDO.setComments(table.get("tableComment")); + //表名转换成Java类名 + String className = tableToJava(tableDO.getTableName(), config.getString("tablePrefix"), config.getString("autoRemovePre")); + tableDO.setClassName(className); + tableDO.setClassname(StringUtils.uncapitalize(className)); + + //列信息 + List columsList = new ArrayList<>(); + for (Map column : columns) { + ColumnDO columnDO = new ColumnDO(); + columnDO.setColumnName(column.get("columnName")); + columnDO.setDataType(column.get("dataType")); + columnDO.setComments(column.get("columnComment")); + columnDO.setExtra(column.get("extra")); + + //列名转换成Java属性名 + String attrName = columnToJava(columnDO.getColumnName()); + columnDO.setAttrName(attrName); + columnDO.setAttrname(StringUtils.uncapitalize(attrName)); + + //列的数据类型,转换成Java类型 + String attrType = config.getString(columnDO.getDataType(), "unknowType"); + columnDO.setAttrType(attrType); + + //是否主键 + if ("PRI".equalsIgnoreCase(column.get("columnKey")) && tableDO.getPk() == null) { + tableDO.setPk(columnDO); + } + + columsList.add(columnDO); + } + tableDO.setColumns(columsList); + + //没主键,则第一个字段为主键 + if (tableDO.getPk() == null) { + tableDO.setPk(tableDO.getColumns().get(0)); + } + + //设置velocity资源加载器 + Properties prop = new Properties(); + prop.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); + Velocity.init(prop); + + String packages = "com.zscat.mallplus"; + String Module = tableDO.getTableName().split("_")[0].substring(0, 1).toUpperCase() + tableDO.getTableName().split("_")[0].substring(1).toLowerCase(); + //封装模板数据 + Map map = new HashMap<>(16); + map.put("tableName", tableDO.getTableName()); + map.put("comments", tableDO.getComments()); + map.put("pk", tableDO.getPk()); + map.put("module", tableDO.getTableName().split("_")[0]); + map.put("Module", Module); + map.put("className", tableDO.getClassName()); + map.put("classname", tableDO.getClassname()); + map.put("pathName", packages.substring(packages.lastIndexOf(".") + 1)); + map.put("columns", tableDO.getColumns()); + map.put("package", packages); + map.put("author", config.getString("author")); + map.put("email", config.getString("email")); + map.put("datetime", DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN)); + map.put("date", DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN)); + + System.out.println(map.toString()); + //获取模板列表 + List templates = getTemplates(); + TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH)); + + for (String templateName : templates) { + //渲染模板 + + Template template = engine.getTemplate(templateName); + + try { + String filePath = getFileName( + tableDO.getTableName().split("_")[0], templateName, tableDO.getClassname(), tableDO.getClassName(), packages.substring(packages.lastIndexOf(".")+ 1), Module); + //添加到zip + assert filePath != null; + File file = new File(filePath); + + + // 生成代码 + genFile(file, template, map); + } catch (IOException e) { + throw new ApiMallPlusException("渲染模板失败,表名:" + tableDO.getTableName(), e); + } + } + } + private static void genFile(File file, Template template, Map map) throws IOException { + // 生成目标文件 + Writer writer = null; + try { + FileUtil.touch(file); + writer = new FileWriter(file); + template.render(map, writer); + } catch (TemplateException | IOException e) { + throw new RuntimeException(e); + } finally { + assert writer != null; + writer.close(); + } + } + + */ +/** + * 列名转换成Java属性名 + *//* + + public static String columnToJava(String columnName) { + return WordUtils.capitalizeFully(columnName, new char[]{'_'}).replace("_", ""); + } + + */ +/** + * 表名转换成Java类名 + *//* + + public static String tableToJava(String tableName, String tablePrefix, String autoRemovePre) { + if (Constant.AUTO_REOMVE_PRE.equals(autoRemovePre)) { + tableName = tableName.substring(tableName.indexOf("_") + 1); + } + if (StringUtils.isNotBlank(tablePrefix)) { + tableName = tableName.replace(tablePrefix, ""); + } + + return columnToJava(tableName); + } + + */ +/** + * 获取配置信息 + *//* + + public static Configuration getConfig() { + try { + return new PropertiesConfiguration("generator.properties"); + } catch (org.apache.commons.configuration.ConfigurationException e) { + throw new ApiMallPlusException("获取配置文件失败,", e); + } + } + + */ +/** + * 获取文件名 + *//* + + public static String getFileName(String module, String template, String classname, String className, String packageName, String Module) { + String packagePath = "main" + File.separator + "java" + File.separator; + //String modulesname=config.getString("packageName"); + if (StringUtils.isNotBlank(packageName)) { + packagePath += packageName.replace(".", File.separator) + File.separator; + } + + if (template.contains("domain.java.ftl")) { + return Module + className + ".java"; + } + + if (template.contains("Dao.java.ftl")) { + return Module + className + "Mapper.java"; + } + +// if(template.contains("Mapper.java.vm")){ +// return packagePath + "dao" + File.separator + className + "Mapper.java"; +// } + // templates.add("common/generator/menu.sql.ftl"); + if (template.contains("menu.sql.ftl")) { + return Module + className + "menu.sql"; + } + if (template.contains("Service.java.ftl")) { + return "I" + Module + className + "Service.java"; + } + + if (template.contains("ServiceImpl.java.ftl")) { + return Module + className + "ServiceImpl.java"; + } + + if (template.contains("Controller.java.ftl")) { + return Module + className + "Controller.java"; + } + + if (template.contains("Mapper.xml.vm")) { + return Module + className + "Mapper.xml"; + } + if (template.contains("api.js.ftl")) { + return classname + ".js"; + } + if (template.contains("path.js.ftl")) { + return classname + "path" + ".js"; + } + if (template.contains("add.vue.ftl")) { + return classname + File.separator + "add.vue"; + } + + if (template.contains("index.vue.ftl")) { + return classname + File.separator + "index.vue"; + } + if (template.contains("update.vue.ftl")) { + return classname + File.separator + "update.vue"; + } + if (template.contains("BrandDetail.vue.ftl")) { + return classname + File.separator + "components" + File.separator + className + "Detail.vue"; + } + + return null; + } +} +*/ diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/IpAddressUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/IpAddressUtil.java new file mode 100644 index 0000000..a7bf27c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/IpAddressUtil.java @@ -0,0 +1,45 @@ +/** + * + */ +package com.yxt.ordermall.mallplus.biz.util; + +import javax.servlet.http.HttpServletRequest; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * IP地址工具类定义 + * + * @author mallplus + */ +public class IpAddressUtil { + public static String getIpAddr(HttpServletRequest request) { + String 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") || ipAddress.equals("0:0:0:0:0: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(",")); + } + } + return ipAddress; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JsonUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JsonUtil.java new file mode 100644 index 0000000..2fb864c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JsonUtil.java @@ -0,0 +1,399 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.*; +import com.fasterxml.jackson.databind.ser.FilterProvider; +import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter; +import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import lombok.extern.slf4j.Slf4j; +import org.springframework.core.annotation.AnnotationUtils; +import org.springframework.util.StringUtils; + +import java.io.IOException; +import java.io.OutputStream; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * Jackson json序列化和反序列化工具类 + * https://github.com/shenzhuan/mallplus on 2018/4/28. + */ +@Slf4j +public class JsonUtil { + + // 定义jackson对象 + private static final ObjectMapper MAPPER = new ObjectMapper(); + private static ObjectMapper objectMapper = null; + + static { + objectMapper = new ObjectMapper(); + // 设置默认日期格式 + objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); + // 提供其它默认设置 + objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); + objectMapper.setFilters(new SimpleFilterProvider() + .setFailOnUnknownId(false)); + objectMapper.registerModule(new MyModule()); + } + + /** + * 将对象转换成json字符串格式(默认将转换所有的属性) + * + * @param value + * @return + */ + public static String toJsonStr(Object value) { + try { + return objectMapper.writeValueAsString(value); + } catch (JsonProcessingException e) { + log.error("Json转换失败", e); + throw new RuntimeException(e); + } + } + + /** + * 将对象转换成json字符串格式 + * + * @param value 需要转换的对象 + * @param properties 需要转换的属性 + */ + public static String toJsonStr(Object value, String[] properties) { + try { + SimpleBeanPropertyFilter sbp = SimpleBeanPropertyFilter + .filterOutAllExcept(properties); + FilterProvider filterProvider = new SimpleFilterProvider() + .addFilter("propertyFilterMixIn", sbp); + return objectMapper.writer(filterProvider) + .writeValueAsString(value); + } catch (Exception e) { + log.error("Json转换失败", e); + throw new RuntimeException(e); + } + + } + + /** + * 将对象转换成json字符串格式 + * + * @param value 需要转换的对象 + * @param properties2Exclude 需要排除的属性 + */ + public static String toJsonStrWithExcludeProperties(Object value, + String[] properties2Exclude) { + try { + SimpleBeanPropertyFilter sbp = SimpleBeanPropertyFilter + .serializeAllExcept(properties2Exclude); + FilterProvider filterProvider = new SimpleFilterProvider() + .addFilter("propertyFilterMixIn", sbp); + return objectMapper.writer(filterProvider) + .writeValueAsString(value); + } catch (Exception e) { + log.error("Json转换失败", e); + throw new RuntimeException(e); + } + + } + + /** + * 将对象json格式直接写出到流对象中(默认将转换所有的属性) + * + * @param out + * @return + */ + public static void writeJsonStr(OutputStream out, Object value) { + try { + objectMapper.writeValue(out, value); + } catch (Exception e) { + log.error("Json转换失败", e); + throw new RuntimeException(e); + } + } + + /** + * 将对象json格式直接写出到流对象中 + * + * @param value 需要转换的对象(注意,需要在要转换的对象中定义JsonFilter注解) + * @param properties 需要转换的属性 + */ + public static void writeJsonStr(OutputStream out, Object value, + String[] properties) { + + try { + objectMapper.writer( + new SimpleFilterProvider().addFilter( + AnnotationUtils + .getValue( + AnnotationUtils.findAnnotation( + value.getClass(), + JsonFilter.class)) + .toString(), SimpleBeanPropertyFilter + .filterOutAllExcept(properties))) + .writeValue(out, value); + } catch (Exception e) { + log.error("Json转换失败", e); + throw new RuntimeException(e); + } + + } + + /** + * 将对象转换成json字符串格式 + * + * @param value 需要转换的对象 + * @param properties2Exclude 需要排除的属性(注意,需要在要转换的对象中定义JsonFilter注解) + */ + public static void writeJsonStrWithExcludeProperties(OutputStream out, + Object value, String[] properties2Exclude) { + try { + objectMapper.writer( + new SimpleFilterProvider().addFilter( + AnnotationUtils + .getValue( + AnnotationUtils.findAnnotation( + value.getClass(), + JsonFilter.class)) + .toString(), SimpleBeanPropertyFilter + .serializeAllExcept(properties2Exclude))) + .writeValue(out, value); + } catch (Exception e) { + log.error("Json转换失败", e); + throw new RuntimeException(e); + } + + } + + /** + * 反序列化POJO或简单Collection如List. + *

+ * 如果JSON字符串为Null或"null"字符串, 返回Null. 如果JSON字符串为"[]", 返回空集合. + *

+ * 如需反序列化复杂Collection如List, 请使用fromJson(String, JavaType) + */ + public static T fromJson(String jsonString, Class clazz) { + if (StringUtils.isEmpty(jsonString)) { + return null; + } + + try { + return objectMapper.readValue(jsonString, clazz); + } catch (IOException e) { + log.warn("parse json string error:" + jsonString, e); + return null; + } + } + + @SuppressWarnings({"unchecked", "unused"}) + public static List readJsonList(String jsondata, Object object) { + try { + List> list = objectMapper.readValue( + jsondata, List.class); + + List objects = Lists.newArrayList(); + System.out.println(list.size()); + for (int i = 0; i < list.size(); i++) { + Map map = list.get(i); + Set set = map.keySet(); + for (Iterator it = set.iterator(); it.hasNext(); ) { + String key = it.next(); + System.out.println(key + ":" + map.get(key)); + } + } + } catch (JsonParseException e) { + e.printStackTrace(); + } catch (JsonMappingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + + /** + * 单独解析某一个json的key值 + * + * @param @param jsonText + * @param @param key + * @param @return 设定文件 + * @return JsonNode 返回类型 + * @throws + * @Title: getjsonvalue + * @Description: TODO(这里用一句话描述这个方法的作用) + */ + public static JsonNode getjsonvalue(String jsonText, String key) { + + try { + ObjectMapper mapper = new ObjectMapper(); + JsonNode rootNode = mapper.readTree(jsonText); // 读取Json + + return rootNode.path(key); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + + public static JavaType getCollectionType(Class collectionClass, Class... elementClasses) { + ObjectMapper mapper = new ObjectMapper(); + return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses); + } + + + /** + * 解析json属性,放到实体里面去 + * + * @param @param jsondata + * @param @param collectionClass + * @param @return 设定文件 + * @return List 返回类型 + * @throws + * @Title: readJsonList + * @Description: TODO(这里用一句话描述这个方法的作用) + */ + @SuppressWarnings("unchecked") + public static List readJsonList(String jsondata, Class collectionClass) { + try { + ObjectMapper mapper = new ObjectMapper(); + JavaType javaType = getCollectionType(ArrayList.class, collectionClass); + List lst = (List) mapper.readValue(jsondata, javaType); + + return lst; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + + /** + * json 转map + * + * @param @param jsondata + * @param @return 设定文件 + * @return Map> 返回类型 + * @throws + * @Title: readJsonMap + * @Description: TODO(这里用一句话描述这个方法的作用) + */ + @SuppressWarnings("unchecked") + public static Map readJsonToMap(String jsondata) { + try { + Map maps = objectMapper.readValue(jsondata, Map.class); + //System.out.println(maps); + return maps; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + @SuppressWarnings("unchecked") + public static Map readJsonToMap1(String jsondata) { + try { + Map maps = objectMapper.readValue(jsondata, Map.class); + //System.out.println(maps); + return maps; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + + /** + * 设置过滤值为空的属性,使得生成的 json 字符串只包含非空的值 + * + * @return + */ +// public static JsonConfig getJsonConfig() { +// JsonConfig jsonConfig = new JsonConfig(); +// jsonConfig.registerJsonValueProcessor(java.sql.Timestamp.class, new JsonValueProcessorImpl()); +// jsonConfig.setJsonPropertyFilter(new PropertyFilter() { +// @Override +// public boolean apply(Object source, String name, Object value) { +// return value == null; +// } +// }); +// +// jsonConfig.setIgnoreDefaultExcludes(false); // 设置默认忽略 +// jsonConfig.setExcludes(new String[]{"dbName", "isDel"}); // 此处是亮点,只要将所需忽略字段加到数组中即可,在实际测试中,我发现在所返回数组中,存在大量无用属性, +// +// return jsonConfig; +// } + + public static void main(String[] args) { + Map userData = Maps.newHashMap(); + Map nameStruct = Maps.newHashMap(); + nameStruct.put("firstName", "张三"); + nameStruct.put("lastName", "你大爷"); + + System.out.println(JsonUtil.toJsonStr(nameStruct)); + userData.put("name", nameStruct); + userData.put("age", 20); + List stringList = Lists.newArrayList("A", "B", "C"); + System.out.println(JsonUtil.toJsonStr(userData)); + System.out.println(JsonUtil.toJsonStr(stringList)); +// String[] arr = {"37","38","41","42","43","44","45","1693","1694","1695","1696"}; +// System.out.println(toJsonStr(arr)); + + String ss = "{\"address\": \"address2\",\"name\":\"haha2\"}"; + + Map map = readJsonToMap(ss); + + if (map != null) { + System.out.println(map.get("address")); + } + } + + /** + * 将对象转换成json字符串。 + */ + public static String objectToJson(Object data) { + try { + String string = MAPPER.writeValueAsString(data); + return string; + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 将json结果集转化为对象 + * + * @param jsonData json数据 + * @param beanType 对象中的object类型 + */ + public static T jsonToPojo(String jsonData, Class beanType) { + try { + T t = MAPPER.readValue(jsonData, beanType); + return t; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 将json数据转换成pojo对象list + */ + public static List jsonToList(String jsonData, Class beanType) { + JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); + try { + List list = MAPPER.readValue(jsonData, javaType); + return list; + } catch (Exception e) { + e.printStackTrace(); + } + + return null; + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JsonValueProcessorImpl.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JsonValueProcessorImpl.java new file mode 100644 index 0000000..b809209 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JsonValueProcessorImpl.java @@ -0,0 +1,49 @@ +package com.yxt.ordermall.mallplus.biz.util;///** +// * +// */ +//package com.zscat.mallplus.util; +// +// +//import net.sf.json.JsonConfig; +//import net.sf.json.processors.JsonValueProcessor; +// +//import java.text.SimpleDateFormat; +//import java.util.Date; +// +///** +// *

Title: JsonValueProcessorImpl.java

+// *

Description: net.js.json 特殊值处理

+// *

Copyright: Copyright (c) 2014-2018

+// *

Company: leimingtech.com

+// * +// * @author linjm +// * @version 1.0 +// * @date 2015年7月17日 +// */ +//public class JsonValueProcessorImpl implements JsonValueProcessor { +// +// private String format = "yyyy-MM-dd HH:mm:ss"; +// +// @Override +// public Object processArrayValue(Object value, JsonConfig jsonConfig) { +// String[] obj = {}; +// if (value instanceof Date[]) { +// SimpleDateFormat sdf = new SimpleDateFormat(format); +// Date[] date = (Date[]) value; +// for (int i = 0; i < date.length; i++) { +// obj[i] = sdf.format(date[i]); +// } +// } +// return obj; +// } +// +// @Override +// public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) { +// if (value instanceof Date) { +// String str = new SimpleDateFormat(format).format(value); +// return str; +// } +// return value.toString(); +// } +// +//} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JwtTokenUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JwtTokenUtil.java new file mode 100644 index 0000000..f60569d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/JwtTokenUtil.java @@ -0,0 +1,134 @@ +package com.yxt.ordermall.mallplus.biz.util; + +//import io.jsonwebtoken.Claims; +//import io.jsonwebtoken.Jwts; +//import io.jsonwebtoken.SignatureAlgorithm; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +/** + * JwtToken生成的工具类 + * JWT token的格式:header.payload.signature + * header的格式(算法、token的类型): + * {"alg": "HS512","typ": "JWT"} + * payload的格式(用户名、创建时间、生成时间): + * {"sub":"wang","created":1489079981393,"exp":1489684781} + * signature的生成算法: + * HMACSHA256(base64UrlEncode(header) + "." +base64UrlEncode(payload),secret) + * https://github.com/shenzhuan/mallplus on 2018/4/28. + */ +@Component +public class JwtTokenUtil { + private static final Logger LOGGER = LoggerFactory.getLogger(JwtTokenUtil.class); + private static final String CLAIM_KEY_USERNAME = "sub"; + private static final String CLAIM_KEY_CREATED = "created"; +// @Value("${jwt.secret}") +// private String secret; +// @Value("${jwt.expiration}") +// private Long expiration; + + /** + * 根据负责生成JWT的token + */ +// private String generateToken(Map claims) { +// return Jwts.builder() +// .setClaims(claims) +// .setExpiration(generateExpirationDate()) +// .signWith(SignatureAlgorithm.HS512, secret) +// .compact(); +// } + + /** + * 从token中获取JWT中的负载 + */ +// private Claims getClaimsFromToken(String token) { +// Claims claims = null; +// try { +// claims = Jwts.parser() +// .setSigningKey(secret) +// .parseClaimsJws(token) +// .getBody(); +// } catch (Exception e) { +// LOGGER.error("JWT格式验证失败:{}", token); +// } +// return claims; +// } + + /** + * 生成token的过期时间 + */ +// private Date generateExpirationDate() { +// return new Date(System.currentTimeMillis() + expiration * 1000); +// } + + /** + * 从token中获取登录用户名 + */ +// public String getUserNameFromToken(String token) { +// String username; +// try { +// Claims claims = getClaimsFromToken(token); +// username = claims.getSubject(); +// } catch (Exception e) { +// username = null; +// } +// return username; +// } + + /** + * 验证token是否还有效 + * + * @param token 客户端传入的token + * @param userDetails 从数据库中查询出来的用户信息 + */ +// public boolean validateToken(String token, UserDetails userDetails) { +// String username = getUserNameFromToken(token); +// return username.equals(userDetails.getUsername()) && !isTokenExpired(token); +// } +// public boolean validateTokenByUserName(String token) { +// return !isTokenExpired(token); +// } + /** + * 判断token是否已经失效 + */ +// public boolean isTokenExpired(String token) { +// Date expiredDate = getExpiredDateFromToken(token); +// return expiredDate.before(new Date()); +// } + + /** + * 从token中获取过期时间 + */ +// public Date getExpiredDateFromToken(String token) { +// Claims claims = getClaimsFromToken(token); +// return claims.getExpiration(); +// } + + /** + * 根据用户信息生成token + */ +// public String generateToken(UserDetails userDetails) { +// Map claims = new HashMap<>(); +// claims.put(CLAIM_KEY_USERNAME, userDetails.getUsername()); +// claims.put(CLAIM_KEY_CREATED, new Date()); +// return generateToken(claims); +// } + + /** + * 判断token是否可以被刷新 + */ +// public boolean canRefresh(String token) { +// return !isTokenExpired(token); +// } + + /** + * 刷新token + */ +// public String refreshToken(String token) { +// Claims claims = getClaimsFromToken(token); +// claims.put(CLAIM_KEY_CREATED, new Date()); +// return generateToken(claims); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/MatrixToImageWriter.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/MatrixToImageWriter.java new file mode 100644 index 0000000..dd599d1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/MatrixToImageWriter.java @@ -0,0 +1,127 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import com.google.zxing.BarcodeFormat; +import com.google.zxing.EncodeHintType; +import com.google.zxing.MultiFormatWriter; +import com.google.zxing.common.BitMatrix; +import org.springframework.core.io.ByteArrayResource; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; + +/** + * 二维码的生成需要借助MatrixToImageWriter类,该类是由Google提供的,可以将该类直接拷贝到源码中使用 + */ +public class MatrixToImageWriter { + private static final int BLACK = 0xFF000000; + private static final int WHITE = 0xFFFFFFFF; + + private MatrixToImageWriter() { + } + + private static BufferedImage toBufferedImage(BitMatrix matrix, String words) { + int width = matrix.getWidth(); + int height = matrix.getHeight(); + BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + for (int x = 0; x < width; x++) { + for (int y = 0; y < height; y++) { + image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE); + } + } + Graphics2D outg = image.createGraphics(); + setGraphics2D(outg); + // 画二维码到新的面板 + outg.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null); + // 画文字到新的面板 + //Color color=new Color(183,183,183); + outg.setColor(Color.BLACK); + // 字体、字型、字号 + outg.setFont(new Font("微软雅黑", Font.PLAIN, 14)); + //文字长度 + int strWidth = outg.getFontMetrics().stringWidth(words); + //总长度减去文字长度的一半 (居中显示) + int wordStartX = (width - strWidth) / 2; + //height + (outImage.getHeight() - height) / 2 + 12 + int wordStartY = height - 20; + // 画文字 + outg.drawString(words, wordStartX, wordStartY); + outg.dispose(); + image.flush(); + return image; + } + + private static void setGraphics2D(Graphics2D graphics2D) { + graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + graphics2D.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT); + Stroke s = new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER); + graphics2D.setStroke(s); + } + + static void writeToFile(BitMatrix matrix, String format, File file, String words) throws IOException { + BufferedImage image = toBufferedImage(matrix, words); + if (!ImageIO.write(image, format, file)) { + throw new IOException("Could not write an image of format " + format + " to " + file); + } + } + + static void writeToStream(BitMatrix matrix, String format, OutputStream stream, String words) throws IOException { + BufferedImage image = toBufferedImage(matrix, words); + if (!ImageIO.write(image, format, stream)) { + throw new IOException("Could not write an image of format " + format); + } + } + + + public static ByteArrayResource createQrCode(String url, String words) { + try { + Map hints = new HashMap<>(); + hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); + BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, 400, 400, hints); + //=======================生成文件 可以放在本地====================== + //File file = new File(path, fileName); + //if (file.exists() || ((file.getParentFile().exists() || file.getParentFile().mkdirs()) && file.createNewFile())) { + // writeToFile(bitMatrix, "jpg", file); + // System.out.println("搞定:" + file); + //} + //=============此处生成流因为后面要上传到文件系统中,所以直接通过流上传=========== + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + writeToStream(bitMatrix, "jpg", outputStream, words); + //==============生成输入流======================== + //ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray()); + ByteArrayResource arrayResource = new ByteArrayResource(outputStream.toByteArray()) { + @Override + public String getFilename() throws IllegalStateException { + return System.currentTimeMillis() + ""; + } + }; + return arrayResource; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + public static void main(String[] args) throws Exception { + String text = "http://www.baidu.com"; // 二维码内容 + int width = 300; // 二维码图片宽度 + int height = 300; // 二维码图片高度 + String format = "jpg";// 二维码的图片格式 + + Hashtable hints = new Hashtable(); + hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); // 内容所使用字符集编码 + + BitMatrix bitMatrix = new MultiFormatWriter().encode(text, + BarcodeFormat.QR_CODE, width, height, hints); + // 生成二维码 + File outputFile = new File("d:" + File.separator + "new.jpg"); + MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile, "123"); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/MyModule.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/MyModule.java new file mode 100644 index 0000000..32376f0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/MyModule.java @@ -0,0 +1,10 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import com.fasterxml.jackson.databind.module.SimpleModule; + +public class MyModule extends SimpleModule { + @Override + public void setupModule(SetupContext context) { + context.setMixInAnnotations(Object.class, PropertyFilterMixIn.class); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/PageUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/PageUtil.java new file mode 100644 index 0000000..cca5d28 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/PageUtil.java @@ -0,0 +1,55 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import org.springframework.data.domain.Page; + +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +/** + * 分页工具 + * + * @author Zheng Jie + * @date 2018-12-10 + */ +public class PageUtil extends cn.hutool.core.util.PageUtil { + + /** + * List 分页 + */ + public static List toPage(int page, int size, List list) { + int fromIndex = page * size; + int toIndex = page * size + size; + + if (fromIndex > list.size()) { + return new ArrayList(); + } else if (toIndex >= list.size()) { + return list.subList(fromIndex, list.size()); + } else { + return list.subList(fromIndex, toIndex); + } + } + + /** + * Page 数据处理,预防redis反序列化报错 + */ + public static Map toPage(Page page) { + Map map = new LinkedHashMap<>(2); + map.put("content", page.getContent()); + map.put("totalElements", page.getTotalElements()); + return map; + } + + /** + * 自定义分页 + */ + public static Map toPage(Object object, Object totalElements) { + Map map = new LinkedHashMap<>(2); + map.put("content", object); + map.put("totalElements", totalElements); + + return map; + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/PropertyFilterMixIn.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/PropertyFilterMixIn.java new file mode 100644 index 0000000..318c1ca --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/PropertyFilterMixIn.java @@ -0,0 +1,8 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import com.fasterxml.jackson.annotation.JsonFilter; + +@JsonFilter("propertyFilterMixIn") +public class PropertyFilterMixIn { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/QiNiuUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/QiNiuUtil.java new file mode 100644 index 0000000..d63087f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/QiNiuUtil.java @@ -0,0 +1,57 @@ +package com.yxt.ordermall.mallplus.biz.util; + +//import com.qiniu.storage.Region; + +/** + * 七牛云存储工具类 + * + * @author mallplus + * @date 2018-12-31 + */ +public class QiNiuUtil { + + private static final String HUAD = "华东"; + + private static final String HUAB = "华北"; + + private static final String HUAN = "华南"; + + private static final String BEIM = "北美"; + + /** + * 得到机房的对应关系 + * + * @param zone 机房名称 + * @return Region + */ +// public static Region getRegion(String zone) { +// +// if (HUAD.equals(zone)) { +// return Region.huadong(); +// } else if (HUAB.equals(zone)) { +// return Region.huabei(); +// } else if (HUAN.equals(zone)) { +// return Region.huanan(); +// } else if (BEIM.equals(zone)) { +// return Region.beimei(); +// // 否则就是东南亚 +// } else { +// return Region.qvmHuadong(); +// } +// } + + /** + * 默认不指定key的情况下,以文件内容的hash值作为文件名 + * + * @param file 文件名 + * @return String + */ +// public static String getKey(String file) { +// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); +// Date date = new Date(); +// return FileUtil.getFileNameNoEx(file) + "-" + +// sdf.format(date) + +// "." + +// FileUtil.getExtensionName(file); +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/RedisUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/RedisUtil.java new file mode 100644 index 0000000..2160599 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/RedisUtil.java @@ -0,0 +1 @@ +package com.yxt.ordermall.mallplus.biz.util; \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/RequestUtil.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/RequestUtil.java new file mode 100644 index 0000000..186c453 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/RequestUtil.java @@ -0,0 +1,66 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import javax.servlet.http.HttpServletRequest; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; + +/** + * request工具类 + * https://github.com/shenzhuan/mallplus on 2018/4/28. + */ +public class RequestUtil { + + /** + * 获取请求basePath + */ + public static String getBasePath(HttpServletRequest request) { + StringBuffer basePath = new StringBuffer(); + String scheme = request.getScheme(); + String domain = request.getServerName(); + int port = request.getServerPort(); + basePath.append(scheme); + basePath.append("://"); + basePath.append(domain); + if ("http".equalsIgnoreCase(scheme) && 80 != port) { + basePath.append(":").append(String.valueOf(port)); + } else if ("https".equalsIgnoreCase(scheme) && port != 443) { + basePath.append(":").append(String.valueOf(port)); + } + return basePath.toString(); + } + + /** + * 请求中参数转Map,for支付宝异步回调,平时建议直接使用request.getParameterMap(),返回Map + */ + public static Map getParameterMap(HttpServletRequest request) { + Map result = new HashMap<>(); + Enumeration parameterNames = request.getParameterNames(); + while (parameterNames.hasMoreElements()) { + String parameterName = (String) parameterNames.nextElement(); + result.put(parameterName, request.getParameter(parameterName)); + } + return result; + } + + /** + * 移除request指定参数 + */ + public String removeParam(HttpServletRequest request, String paramName) { + String queryString = ""; + Enumeration keys = request.getParameterNames(); + while (keys.hasMoreElements()) { + String key = (String) keys.nextElement(); + if (key.equals(paramName)) { + continue; + } + if ("".equals(queryString)) { + queryString = key + "=" + request.getParameter(key); + } else { + queryString += "&" + key + "=" + request.getParameter(key); + } + } + return queryString; + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/StringUtils.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/StringUtils.java new file mode 100644 index 0000000..f15037c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/StringUtils.java @@ -0,0 +1,144 @@ +package com.yxt.ordermall.mallplus.biz.util; + +import javax.servlet.http.HttpServletRequest; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.Calendar; +import java.util.Date; + +/** + * 字符串工具类, 继承org.apache.commons.lang3.StringUtils类 + */ +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + private static final char SEPARATOR = '_'; + + /** + * 驼峰命名法工具 + * + * @return toCamelCase(" hello_world ") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + public static String toCamelCase(String s) { + if (s == null) { + return null; + } + + s = s.toLowerCase(); + + StringBuilder sb = new StringBuilder(s.length()); + boolean upperCase = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + + if (c == SEPARATOR) { + upperCase = true; + } else if (upperCase) { + sb.append(Character.toUpperCase(c)); + upperCase = false; + } else { + sb.append(c); + } + } + + return sb.toString(); + } + + /** + * 驼峰命名法工具 + * + * @return toCamelCase(" hello_world ") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + public static String toCapitalizeCamelCase(String s) { + if (s == null) { + return null; + } + s = toCamelCase(s); + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + + /** + * 驼峰命名法工具 + * + * @return toCamelCase(" hello_world ") == "helloWorld" + * toCapitalizeCamelCase("hello_world") == "HelloWorld" + * toUnderScoreCase("helloWorld") = "hello_world" + */ + static String toUnderScoreCase(String s) { + if (s == null) { + return null; + } + + StringBuilder sb = new StringBuilder(); + boolean upperCase = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + + boolean nextUpperCase = true; + + if (i < (s.length() - 1)) { + nextUpperCase = Character.isUpperCase(s.charAt(i + 1)); + } + + if ((i > 0) && Character.isUpperCase(c)) { + if (!upperCase || !nextUpperCase) { + sb.append(SEPARATOR); + } + upperCase = true; + } else { + upperCase = false; + } + + sb.append(Character.toLowerCase(c)); + } + + return sb.toString(); + } + + /** + * 获取ip地址 + */ + public static String getIp(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + if (ip.contains(",")) { + ip = ip.split(",")[0]; + } + if ("127.0.0.1".equals(ip)) { + // 获取本机真正的ip地址 + try { + ip = InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + } + return ip; + } + + + /** + * 获得当天是周几 + */ + public static String getWeekDay() { + String[] weekDays = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + + int w = cal.get(Calendar.DAY_OF_WEEK) - 1; + if (w < 0) { + w = 0; + } + return weekDays[w]; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/UserUtils.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/UserUtils.java new file mode 100644 index 0000000..8645150 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/biz/util/UserUtils.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.mallplus.biz.util; + +//import com.zscat.mallplus.bo.AdminUserDetails; +//import com.zscat.mallplus.sys.entity.SysUser; +//import org.springframework.security.core.Authentication; +//import org.springframework.security.core.context.SecurityContext; +//import org.springframework.security.core.context.SecurityContextHolder; + +/** + * @Auther: shenzhuan + * @Date: 2019/3/30 16:26 + * @Description: + */ +public class UserUtils { +// public static SysUser getCurrentMember() { +// try { +// SecurityContext ctx = SecurityContextHolder.getContext(); +// Authentication auth = ctx.getAuthentication(); +// AdminUserDetails memberDetails = (AdminUserDetails) auth.getPrincipal(); +// return memberDetails.getUmsAdmin(); +// } catch (Exception e) { +// return new SysUser(); +// } +// } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/oms/vo/CartProduct.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/oms/vo/CartProduct.java new file mode 100644 index 0000000..56171f0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/oms/vo/CartProduct.java @@ -0,0 +1,33 @@ +package com.yxt.ordermall.mallplus.mbg.oms.vo; + + +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttribute; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSkuStock; + +import java.util.List; + +/** + * 购物车中选择规格的商品信息 + * https://github.com/shenzhuan/mallplus on 2018/8/2. + */ +public class CartProduct extends PmsProduct { + private List productAttributeList; + private List skuStockList; + + public List getProductAttributeList() { + return productAttributeList; + } + + public void setProductAttributeList(List productAttributeList) { + this.productAttributeList = productAttributeList; + } + + public List getSkuStockList() { + return skuStockList; + } + + public void setSkuStockList(List skuStockList) { + this.skuStockList = skuStockList; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/CmsPrefrenceAreaProductRelation.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/CmsPrefrenceAreaProductRelation.java new file mode 100644 index 0000000..4ab19a0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/CmsPrefrenceAreaProductRelation.java @@ -0,0 +1,58 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; + +/** + *

+ * 优选专区和产品关系表 + *

+ * + * @author zscat + * @since 2019-04-17 + */ +@TableName("cms_prefrence_area_product_relation") +public class CmsPrefrenceAreaProductRelation extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("prefrence_area_id") + private Long prefrenceAreaId; + + @TableField("product_id") + private Long productId; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getPrefrenceAreaId() { + return prefrenceAreaId; + } + + public void setPrefrenceAreaId(Long prefrenceAreaId) { + this.prefrenceAreaId = prefrenceAreaId; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/CmsSubjectProductRelation.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/CmsSubjectProductRelation.java new file mode 100644 index 0000000..0c3c679 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/CmsSubjectProductRelation.java @@ -0,0 +1,66 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; + +/** + *

+ * 专题商品关系表 + *

+ * + * @author zscat + * @since 2019-04-17 + */ +@TableName("cms_subject_product_relation") +public class CmsSubjectProductRelation extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("subject_id") + private Long subjectId; + + @TableField("product_id") + private Long productId; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getSubjectId() { + return subjectId; + } + + public void setSubjectId(Long subjectId) { + this.subjectId = subjectId; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + @Override + public String toString() { + return "CmsSubjectProductRelation{" + + ", id=" + id + + ", subjectId=" + subjectId + + ", productId=" + productId + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/EsShopGoodsGroupMap.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/EsShopGoodsGroupMap.java new file mode 100644 index 0000000..24363a7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/EsShopGoodsGroupMap.java @@ -0,0 +1,34 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ *

+ *

+ * + * @author meizhuang team + * @since 2019-04-16 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("es_shop_goods_group_map") +public class EsShopGoodsGroupMap implements Serializable { + + private static final long serialVersionUID = 1L; + + + @TableField("goods_id") + private Long goodsId; + @TableField("group_id") + private Long groupId; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsAlbum.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsAlbum.java new file mode 100644 index 0000000..781d831 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsAlbum.java @@ -0,0 +1,40 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 相册表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Data +@TableName("pms_album") +public class PmsAlbum extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private String name; + + + private String pic; + + private String type; + + private Integer sort; + + private String description; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsAlbumPic.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsAlbumPic.java new file mode 100644 index 0000000..8b14bf0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsAlbumPic.java @@ -0,0 +1,49 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 画册图片表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Setter +@Getter +@TableName("pms_album_pic") +public class PmsAlbumPic extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + @TableField("user_id") + private Long userId; + + @TableField("album_id") + private Long albumId; + + private String pic; + + private String type; + + private String name; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsBrand.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsBrand.java new file mode 100644 index 0000000..8fc0729 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsBrand.java @@ -0,0 +1,214 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; + +/** + *

+ * 品牌表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_brand") +public class PmsBrand extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private String name; + + /** + * 首字母 + */ + @TableField("first_letter") + private String firstLetter; + + private Integer sort; + + /** + * 是否为品牌制造商:0->不是;1->是 + */ + @TableField("factory_status") + private Integer factoryStatus; + + @TableField("show_status") + private Integer showStatus; + + /** + * 产品数量 + */ + @TableField("product_count") + private Integer productCount; + + /** + * 产品评论数量 + */ + @TableField("product_comment_count") + private Integer productCommentCount; + + /** + * 品牌logo + */ + private String logo; + + /** + * 专区大图 + */ + @TableField("big_pic") + private String bigPic; + + /** + * 品牌故事 + */ + @TableField("brand_story") + private String brandStory; + /** + * 起始销售数量 + */ + @TableField("qssl") + private Integer qssl; + /** + * 订购协议 + */ + @TableField("dgxy") + private String dgxy; + + @TableField("qdxy") + private String qdxy; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFirstLetter() { + return firstLetter; + } + + public void setFirstLetter(String firstLetter) { + this.firstLetter = firstLetter; + } + + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } + + public Integer getFactoryStatus() { + return factoryStatus; + } + + public void setFactoryStatus(Integer factoryStatus) { + this.factoryStatus = factoryStatus; + } + + public Integer getShowStatus() { + return showStatus; + } + + public void setShowStatus(Integer showStatus) { + this.showStatus = showStatus; + } + + public Integer getProductCount() { + return productCount; + } + + public void setProductCount(Integer productCount) { + this.productCount = productCount; + } + + public Integer getProductCommentCount() { + return productCommentCount; + } + + public void setProductCommentCount(Integer productCommentCount) { + this.productCommentCount = productCommentCount; + } + + public String getLogo() { + return logo; + } + + public void setLogo(String logo) { + this.logo = logo; + } + + public String getBigPic() { + return bigPic; + } + + public void setBigPic(String bigPic) { + this.bigPic = bigPic; + } + + public String getBrandStory() { + return brandStory; + } + + public void setBrandStory(String brandStory) { + this.brandStory = brandStory; + } + + public Integer getQssl() { + return qssl; + } + + public void setQssl(Integer qssl) { + this.qssl = qssl; + } + + public String getDgxy() { + return dgxy; + } + + public void setDgxy(String dgxy) { + this.dgxy = dgxy; + } + public String getQdxy() { + return qdxy; + } + + public void setQdxy(String qdxy) { + this.qdxy = qdxy; + } + @Override + public String toString() { + return "PmsBrand{" + + ", id=" + id + + ", name=" + name + + ", firstLetter=" + firstLetter + + ", sort=" + sort + + ", factoryStatus=" + factoryStatus + + ", showStatus=" + showStatus + + ", productCount=" + productCount + + ", productCommentCount=" + productCommentCount + + ", logo=" + logo + + ", bigPic=" + bigPic + + ", brandStory=" + brandStory + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsComment.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsComment.java new file mode 100644 index 0000000..0585d40 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsComment.java @@ -0,0 +1,223 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 商品评价表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_comment") +public class PmsComment extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_id") + private Long productId; + + @TableField("member_nick_name") + private String memberNickName; + + @TableField("product_name") + private String productName; + + /** + * 评价星数:0->5 + */ + private Integer star; + + /** + * 评价的ip + */ + @TableField("member_ip") + private String memberIp; + + @TableField("create_time") + private Date createTime; + + @TableField("show_status") + private Integer showStatus; + + /** + * 购买时的商品属性 + */ + @TableField("product_attribute") + private String productAttribute; + + @TableField("collect_couont") + private Integer collectCouont; + + @TableField("read_count") + private Integer readCount; + + private String content; + + /** + * 上传图片地址,以逗号隔开 + */ + private String pics; + + /** + * 评论用户头像 + */ + @TableField("member_icon") + private String memberIcon; + + @TableField("replay_count") + private Integer replayCount; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public String getMemberNickName() { + return memberNickName; + } + + public void setMemberNickName(String memberNickName) { + this.memberNickName = memberNickName; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public Integer getStar() { + return star; + } + + public void setStar(Integer star) { + this.star = star; + } + + public String getMemberIp() { + return memberIp; + } + + public void setMemberIp(String memberIp) { + this.memberIp = memberIp; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Integer getShowStatus() { + return showStatus; + } + + public void setShowStatus(Integer showStatus) { + this.showStatus = showStatus; + } + + public String getProductAttribute() { + return productAttribute; + } + + public void setProductAttribute(String productAttribute) { + this.productAttribute = productAttribute; + } + + public Integer getCollectCouont() { + return collectCouont; + } + + public void setCollectCouont(Integer collectCouont) { + this.collectCouont = collectCouont; + } + + public Integer getReadCount() { + return readCount; + } + + public void setReadCount(Integer readCount) { + this.readCount = readCount; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getPics() { + return pics; + } + + public void setPics(String pics) { + this.pics = pics; + } + + public String getMemberIcon() { + return memberIcon; + } + + public void setMemberIcon(String memberIcon) { + this.memberIcon = memberIcon; + } + + public Integer getReplayCount() { + return replayCount; + } + + public void setReplayCount(Integer replayCount) { + this.replayCount = replayCount; + } + + @Override + public String toString() { + return "PmsComment{" + + ", id=" + id + + ", productId=" + productId + + ", memberNickName=" + memberNickName + + ", productName=" + productName + + ", star=" + star + + ", memberIp=" + memberIp + + ", createTime=" + createTime + + ", showStatus=" + showStatus + + ", productAttribute=" + productAttribute + + ", collectCouont=" + collectCouont + + ", readCount=" + readCount + + ", content=" + content + + ", pics=" + pics + + ", memberIcon=" + memberIcon + + ", replayCount=" + replayCount + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsCommentReplay.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsCommentReplay.java new file mode 100644 index 0000000..7ebf159 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsCommentReplay.java @@ -0,0 +1,116 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 产品评价回复表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_comment_replay") +public class PmsCommentReplay extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("comment_id") + private Long commentId; + + @TableField("member_nick_name") + private String memberNickName; + + @TableField("member_icon") + private String memberIcon; + + private String content; + + @TableField("create_time") + private Date createTime; + + /** + * 评论人员类型;0->会员;1->管理员 + */ + private Integer type; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getCommentId() { + return commentId; + } + + public void setCommentId(Long commentId) { + this.commentId = commentId; + } + + public String getMemberNickName() { + return memberNickName; + } + + public void setMemberNickName(String memberNickName) { + this.memberNickName = memberNickName; + } + + public String getMemberIcon() { + return memberIcon; + } + + public void setMemberIcon(String memberIcon) { + this.memberIcon = memberIcon; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + @Override + public String toString() { + return "PmsCommentReplay{" + + ", id=" + id + + ", commentId=" + commentId + + ", memberNickName=" + memberNickName + + ", memberIcon=" + memberIcon + + ", content=" + content + + ", createTime=" + createTime + + ", type=" + type + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsFavorite.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsFavorite.java new file mode 100644 index 0000000..385ff48 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsFavorite.java @@ -0,0 +1,53 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ *

+ *

+ * + * @author zscat + * @since 2019-06-15 + */ +@Data +@TableName("pms_favorite") +public class PmsFavorite extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + @TableField("add_time") + private Date addTime; + + /** + * 1 商品 2 文章 3 店铺 4 及赠品 7 学校 + */ + private Integer type; + + @TableField("obj_id") + private Long objId; + + + @TableField("member_id") + private Long memberId; + + private String name; + + private String meno1; + + private String meno2; + + private String meno3; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsFeightTemplate.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsFeightTemplate.java new file mode 100644 index 0000000..57cdb21 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsFeightTemplate.java @@ -0,0 +1,63 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + *

+ * 运费模版 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Data +@TableName("pms_feight_template") +public class PmsFeightTemplate extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private String name; + + /** + * 计费类型:0->按重量;1->按件数 + */ + @TableField("charge_type") + private Integer chargeType; + + /** + * 首重kg + */ + @TableField("first_weight") + private BigDecimal firstWeight; + + /** + * 首费(元) + */ + @TableField("first_fee") + private BigDecimal firstFee; + + @TableField("continue_weight") + private BigDecimal continueWeight; + + @TableField("continme_fee") + private BigDecimal continmeFee; + + /** + * 目的地(省、市) + */ + private String dest; + @TableField("create_time") + private Date createTime; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsGifts.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsGifts.java new file mode 100644 index 0000000..befebed --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsGifts.java @@ -0,0 +1,73 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + *

+ * 帮助表 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +@Data +@TableName("pms_gifts") +public class PmsGifts extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 类别 + */ + @TableField("category_id") + private Long categoryId; + + /** + * 图片 + */ + private String icon; + + /** + * 标题 + */ + private String title; + + /** + * 状态 + */ + @TableField("show_status") + private Integer showStatus; + + /** + * 创建时间 + */ + @TableField("create_time") + private Date createTime; + + /** + * 内容 + */ + private String content; + + private Integer stock; + + /** + * 1 赠品 2 活动商品 + */ + private Integer type; + + private BigDecimal price; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsGiftsCategory.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsGiftsCategory.java new file mode 100644 index 0000000..0f96e7b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsGiftsCategory.java @@ -0,0 +1,50 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * 帮助分类表 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +@Data +@TableName("pms_gifts_category") +public class PmsGiftsCategory implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 标题 + */ + private String name; + + /** + * 分类图标 + */ + private String icon; + + /** + * 状态 + */ + @TableField("show_status") + private Integer showStatus; + + /** + * 排序 + */ + private Integer sort; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsMemberPrice.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsMemberPrice.java new file mode 100644 index 0000000..ccff827 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsMemberPrice.java @@ -0,0 +1,94 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 商品会员价格表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_member_price") +public class PmsMemberPrice extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_id") + private Long productId; + + @TableField("member_level_id") + private Long memberLevelId; + + /** + * 会员价格 + */ + @TableField("member_price") + private BigDecimal memberPrice; + + @TableField("member_level_name") + private String memberLevelName; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public Long getMemberLevelId() { + return memberLevelId; + } + + public void setMemberLevelId(Long memberLevelId) { + this.memberLevelId = memberLevelId; + } + + public BigDecimal getMemberPrice() { + return memberPrice; + } + + public void setMemberPrice(BigDecimal memberPrice) { + this.memberPrice = memberPrice; + } + + public String getMemberLevelName() { + return memberLevelName; + } + + public void setMemberLevelName(String memberLevelName) { + this.memberLevelName = memberLevelName; + } + + @Override + public String toString() { + return "PmsMemberPrice{" + + ", id=" + id + + ", productId=" + productId + + ", memberLevelId=" + memberLevelId + + ", memberPrice=" + memberPrice + + ", memberLevelName=" + memberLevelName + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProduct.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProduct.java new file mode 100644 index 0000000..75646f7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProduct.java @@ -0,0 +1,319 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import com.zscat.mallplus.vo.timeline.TimeSecound; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + *

+ * 商品信息 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Data +@TableName("pms_product") +public class PmsProduct extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("member_id") + private Long memberId; + @TableField("brand_id") + private Long brandId; + + + @TableField("store_class_id") + private Long storeClassId; + @TableField("product_category_id") + private Long productCategoryId; + + @TableField("feight_template_id") + private Long feightTemplateId; + + @TableField("product_attribute_category_id") + private Long productAttributeCategoryId; + + private String name; + + private String pic; + private Integer type;// 1出售、2义卖、3免费 + // 1普通 2拍卖 + @TableField("is_paimai") + private Integer isPaiMai;// + @TableField("expire_time") + private Date expireTime;// + + /** + * 货号 + */ + @TableField("product_sn") + private String productSn; + + /** + * 删除状态:1->未删除;0->已删除 + */ + @TableField("delete_status") + private Integer deleteStatus; + + /** + * 上架状态:0->下架;1->上架 + */ + @TableField("publish_status") + private Integer publishStatus; + + /** + * 新品状态:0->不是新品;1->新品 + */ + @TableField("new_status") + private Integer newStatus; + + /** + * 推荐状态;0->不推荐;1->推荐 + */ + @TableField("recommand_status") + private Integer recommandStatus; + + /** + * 审核状态:0->未审核;1->审核通过 + */ + @TableField("verify_status") + private Integer verifyStatus; + + /** + * 是否分销商品 + */ + @TableField("is_fenxiao") + private Integer isFenxiao; + /** + * 是否会员商品 + */ + @TableField("is_vip") + private Integer isVip; + /** + * 排序 + */ + private Integer sort; + + /** + * 销量 + */ + private Integer sale; + + private BigDecimal price; + + /** + * 促销价格 + */ + @TableField("promotion_price") + private BigDecimal promotionPrice; + + /** + * 收藏 + */ + @TableField("gift_growth") + private Integer giftGrowth; + + /** + * 点赞 + */ + @TableField("gift_point") + private Integer giftPoint; + + /** + * 限制使用的积分数 + */ + @TableField("use_point_limit") + private Integer usePointLimit; + + /** + * 副标题 + */ + @TableField("sub_title") + private String subTitle; + + /** + * 商品描述 + */ + private String description; + + /** + * 市场价 + */ + @TableField("original_price") + private BigDecimal originalPrice; + + /** + * 库存 + */ + private Integer stock; + + /** + * 库存预警值 + */ + @TableField("low_stock") + private Integer lowStock; + + /** + * 单位 + */ + private String unit; + + /** + * 商品重量,默认为克 + */ + private BigDecimal weight; + + /** + * 是否为预告商品:0->不是;1->是 + */ + @TableField("preview_status") + private Integer previewStatus; + + /** + * 以逗号分割的产品服务:1->无忧退货;2->快速退款;3->免费包邮 + */ + @TableField("service_ids") + private String serviceIds; + + private String keywords; + + private String note; + + /** + * 画册图片,连产品图片限制为5张,以逗号分割 + */ + @TableField("album_pics") + private String albumPics; + + @TableField("detail_title") + private String detailTitle; + + @TableField("detail_desc") + private String detailDesc; + + /** + * 产品详情网页内容 + */ + @TableField("detail_html") + private String detailHtml; + + /** + * 移动端网页详情 + */ + @TableField("detail_mobile_html") + private String detailMobileHtml; + + /** + * 促销开始时间 + */ + @TableField("promotion_start_time") + private Date promotionStartTime; + + /** + * 促销结束时间 + */ + @TableField("promotion_end_time") + private Date promotionEndTime; + + /** + * 活动限购数量 + */ + @TableField("promotion_per_limit") + private Integer promotionPerLimit; + + /** + * 促销类型:0->没有促销使用原价;1->使用促销价;2->使用会员价;3->使用阶梯价格;4->使用满减价格;5->限时购 + */ + @TableField("promotion_type") + private Integer promotionType; + + /** + * 品牌名称 + */ + @TableField("brand_name") + private String brandName; + /** + * 运费 + */ + private BigDecimal transfee; + /** + * 商品分类名称 + */ + @TableField("product_category_name") + private String productCategoryName; + + @TableField("supply_id") + private Long supplyId; + @TableField("area_id") + private Long areaId; + @TableField("create_time") + private Date createTime; + + @TableField("school_id") + private Long schoolId; + private Integer hit; + @TableField(exist = false) + private String keyword; + + @TableField("area_name") + private String areaName; + @TableField("school_name") + private String schoolName; + + @TableField("store_name") + private String storeName; + + + /** + * 1 學校 2 區域 + */ + @TableField(exist = false) + private int qsType; + + /** + * 标签 + */ + private String tags; + + /** + * 会员价 + */ + @TableField(exist = false) + private BigDecimal vipPrice; + + /** + * 会员折扣 + */ + @TableField(exist = false) + private Integer memberRate = 10; + /** + * 分销价格 + */ + @TableField(exist = false) + private BigDecimal fenxiaoPrice; + @TableField(exist = false) + private TimeSecound timeSecound; + /** + * 1 出售中 2 已售馨 3 仓库中 4 回收站 + */ + @TableField(exist = false) + private Integer status; + @TableField(exist = false) + List skuStockList; +// @TableField(exist = false) +// List tagList ; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttribute.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttribute.java new file mode 100644 index 0000000..ab6cb31 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttribute.java @@ -0,0 +1,198 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; + +/** + *

+ * 商品属性参数表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_product_attribute") +public class PmsProductAttribute extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_attribute_category_id") + private Long productAttributeCategoryId; + + private String name; + + /** + * 属性选择类型:0->唯一;1->单选;2->多选 + */ + @TableField("select_type") + private Integer selectType; + + /** + * 属性录入方式:0->手工录入;1->从列表中选取 + */ + @TableField("input_type") + private Integer inputType; + + /** + * 可选值列表,以逗号隔开 + */ + @TableField("input_list") + private String inputList; + + /** + * 排序字段:最高的可以单独上传图片 + */ + private Integer sort; + + /** + * 分类筛选样式:1->普通;1->颜色 + */ + @TableField("filter_type") + private Integer filterType; + + /** + * 检索类型;0->不需要进行检索;1->关键字检索;2->范围检索 + */ + @TableField("search_type") + private Integer searchType; + + /** + * 相同属性产品是否关联;0->不关联;1->关联 + */ + @TableField("related_status") + private Integer relatedStatus; + + /** + * 是否支持手动新增;0->不支持;1->支持 + */ + @TableField("hand_add_status") + private Integer handAddStatus; + + /** + * 属性的类型;0->规格;1->参数 + */ + private Integer type; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProductAttributeCategoryId() { + return productAttributeCategoryId; + } + + public void setProductAttributeCategoryId(Long productAttributeCategoryId) { + this.productAttributeCategoryId = productAttributeCategoryId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getSelectType() { + return selectType; + } + + public void setSelectType(Integer selectType) { + this.selectType = selectType; + } + + public Integer getInputType() { + return inputType; + } + + public void setInputType(Integer inputType) { + this.inputType = inputType; + } + + public String getInputList() { + return inputList; + } + + public void setInputList(String inputList) { + this.inputList = inputList; + } + + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } + + public Integer getFilterType() { + return filterType; + } + + public void setFilterType(Integer filterType) { + this.filterType = filterType; + } + + public Integer getSearchType() { + return searchType; + } + + public void setSearchType(Integer searchType) { + this.searchType = searchType; + } + + public Integer getRelatedStatus() { + return relatedStatus; + } + + public void setRelatedStatus(Integer relatedStatus) { + this.relatedStatus = relatedStatus; + } + + public Integer getHandAddStatus() { + return handAddStatus; + } + + public void setHandAddStatus(Integer handAddStatus) { + this.handAddStatus = handAddStatus; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + @Override + public String toString() { + return "PmsProductAttribute{" + + ", id=" + id + + ", productAttributeCategoryId=" + productAttributeCategoryId + + ", name=" + name + + ", selectType=" + selectType + + ", inputType=" + inputType + + ", inputList=" + inputList + + ", sort=" + sort + + ", filterType=" + filterType + + ", searchType=" + searchType + + ", relatedStatus=" + relatedStatus + + ", handAddStatus=" + handAddStatus + + ", type=" + type + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttributeCategory.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttributeCategory.java new file mode 100644 index 0000000..62e5a72 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttributeCategory.java @@ -0,0 +1,52 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + *

+ * 产品属性分类表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Data +@TableName("pms_product_attribute_category") +public class PmsProductAttributeCategory extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + @TableField(exist = false) + List goodsList; + @TableId(value = "id", type = IdType.AUTO) + private Long id; + private String name; + private String pic; + /** + * 属性数量 + */ + @TableField("attribute_count") + private Integer attributeCount; + /** + * 参数数量 + */ + @TableField("param_count") + private Integer paramCount; + + /** + * 列表样式 一列1 2 3个 + */ + private Integer style; + @TableField("show_index") + private Integer showIndex; + + @TableField(exist = false) + private List listGoods; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttributeValue.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttributeValue.java new file mode 100644 index 0000000..2500009 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductAttributeValue.java @@ -0,0 +1,64 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import com.zscat.mallplus.utils.ValidatorUtils; +import lombok.Data; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.List; + +/** + *

+ * 存储产品参数信息的表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Data +@TableName("pms_product_attribute_value") +public class PmsProductAttributeValue extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_id") + private Long productId; + + @TableField("product_attribute_id") + private Long productAttributeId; + private Integer sort; + /** + * 手动添加规格或参数的值,参数单值,规格有多个时以逗号隔开 + */ + private String value; + private String name; + // 1 规格 2 参数 + private Integer type; + + + @TableField(exist = false) + private List pics; + + public List getPics() { + if (ValidatorUtils.notEmpty(value)) { + this.pics = Arrays.asList(value.split(",")); + } + return pics; + } + + public void setPics(List pics) { + if (ValidatorUtils.notEmpty(value)) { + this.pics = Arrays.asList(value.split(",")); + } + } + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductCategory.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductCategory.java new file mode 100644 index 0000000..c1e9033 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductCategory.java @@ -0,0 +1,87 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + *

+ * 产品分类 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_product_category") +@Data +public class PmsProductCategory extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 上机分类的编号:0表示一级分类 + */ + @TableField("parent_id") + private Long parentId; + + private String name; + + /** + * 分类级别:0->1级;1->2级 + */ + private Integer level; + + @TableField("product_count") + private Integer productCount; + + @TableField("product_unit") + private String productUnit; + + /** + * 是否显示在导航栏:0->不显示;1->显示 + */ + @TableField("nav_status") + private Integer navStatus; + + /** + * 显示状态:0->不显示;1->显示 + */ + @TableField("show_status") + private Integer showStatus; + /** + * 是否是首页分类0-->不是,1-->是 + */ + @TableField("index_status") + private Integer indexStatus; + + private Integer sort; + + /** + * 图标 + */ + private String icon; + + private String keywords; + + /** + * 描述 + */ + private String description; + + @TableField(exist = false) + @ApiModelProperty("产品相关筛选属性集合") + private List productAttributeIdList; + @TableField(exist = false) + private List childList; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductCategoryAttributeRelation.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductCategoryAttributeRelation.java new file mode 100644 index 0000000..7de5dff --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductCategoryAttributeRelation.java @@ -0,0 +1,66 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; + +/** + *

+ * 产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类) + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_product_category_attribute_relation") +public class PmsProductCategoryAttributeRelation extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_category_id") + private Long productCategoryId; + + @TableField("product_attribute_id") + private Long productAttributeId; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProductCategoryId() { + return productCategoryId; + } + + public void setProductCategoryId(Long productCategoryId) { + this.productCategoryId = productCategoryId; + } + + public Long getProductAttributeId() { + return productAttributeId; + } + + public void setProductAttributeId(Long productAttributeId) { + this.productAttributeId = productAttributeId; + } + + @Override + public String toString() { + return "PmsProductCategoryAttributeRelation{" + + ", id=" + id + + ", productCategoryId=" + productCategoryId + + ", productAttributeId=" + productAttributeId + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductConsult.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductConsult.java new file mode 100644 index 0000000..2f2b3a1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductConsult.java @@ -0,0 +1,103 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 产品咨询表 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Data +@TableName("pms_product_consult") +public class PmsProductConsult extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 咨询编号 + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 商品编号 + */ + @TableField("goods_id") + private Long goodsId; + /** + * 商品编号 + */ + @TableField("order_id") + private Long orderId; + /** + * 商品名称 + */ + @TableField("goods_name") + private String goodsName; + + /** + * 咨询发布者会员编号(0:游客) + */ + @TableField("member_id") + private Long memberId; + + /** + * 会员名称 + */ + @TableField("member_name") + private String memberName; + private String pic; + + + /** + * 咨询发布者邮箱 + */ + private String email; + + /** + * 咨询内容 + */ + @TableField("consult_content") + private String consultContent; + + /** + * 咨询添加时间 + */ + @TableField("consult_addtime") + private Date consultAddtime; + + /** + * 咨询回复内容 + */ + @TableField("consult_reply") + private String consultReply; + + /** + * 咨询回复时间 + */ + @TableField("consult_reply_time") + private Date consultReplyTime; + + /** + * 0表示不匿名 1表示匿名 + */ + private Boolean isanonymous; + + // 1 差评 2 一般 3 好评 + private Integer stars; + // 1 商品 2 订单 + private Integer type; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductFullReduction.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductFullReduction.java new file mode 100644 index 0000000..9b06079 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductFullReduction.java @@ -0,0 +1,79 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 产品满减表(只针对同商品) + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_product_full_reduction") +public class PmsProductFullReduction extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_id") + private Long productId; + + @TableField("full_price") + private BigDecimal fullPrice; + + @TableField("reduce_price") + private BigDecimal reducePrice; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public BigDecimal getFullPrice() { + return fullPrice; + } + + public void setFullPrice(BigDecimal fullPrice) { + this.fullPrice = fullPrice; + } + + public BigDecimal getReducePrice() { + return reducePrice; + } + + public void setReducePrice(BigDecimal reducePrice) { + this.reducePrice = reducePrice; + } + + @Override + public String toString() { + return "PmsProductFullReduction{" + + ", id=" + id + + ", productId=" + productId + + ", fullPrice=" + fullPrice + + ", reducePrice=" + reducePrice + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductLadder.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductLadder.java new file mode 100644 index 0000000..9f3fa49 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductLadder.java @@ -0,0 +1,97 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 产品阶梯价格表(只针对同商品) + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_product_ladder") +public class PmsProductLadder extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_id") + private Long productId; + + /** + * 满足的商品数量 + */ + private Integer count; + + /** + * 折扣 + */ + private BigDecimal discount; + + /** + * 折后价格 + */ + private BigDecimal price; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public BigDecimal getDiscount() { + return discount; + } + + public void setDiscount(BigDecimal discount) { + this.discount = discount; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + @Override + public String toString() { + return "PmsProductLadder{" + + ", id=" + id + + ", productId=" + productId + + ", count=" + count + + ", discount=" + discount + + ", price=" + price + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductOperateLog.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductOperateLog.java new file mode 100644 index 0000000..5ee635c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductOperateLog.java @@ -0,0 +1,182 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + *

+ *

+ *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_product_operate_log") +public class PmsProductOperateLog extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_id") + private Long productId; + + @TableField("price_old") + private BigDecimal priceOld; + + @TableField("price_new") + private BigDecimal priceNew; + + @TableField("sale_price_old") + private BigDecimal salePriceOld; + + @TableField("sale_price_new") + private BigDecimal salePriceNew; + + /** + * 赠送的积分 + */ + @TableField("gift_point_old") + private Integer giftPointOld; + + @TableField("gift_point_new") + private Integer giftPointNew; + + @TableField("use_point_limit_old") + private Integer usePointLimitOld; + + @TableField("use_point_limit_new") + private Integer usePointLimitNew; + + /** + * 操作人 + */ + @TableField("operate_man") + private String operateMan; + + @TableField("create_time") + private Date createTime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public BigDecimal getPriceOld() { + return priceOld; + } + + public void setPriceOld(BigDecimal priceOld) { + this.priceOld = priceOld; + } + + public BigDecimal getPriceNew() { + return priceNew; + } + + public void setPriceNew(BigDecimal priceNew) { + this.priceNew = priceNew; + } + + public BigDecimal getSalePriceOld() { + return salePriceOld; + } + + public void setSalePriceOld(BigDecimal salePriceOld) { + this.salePriceOld = salePriceOld; + } + + public BigDecimal getSalePriceNew() { + return salePriceNew; + } + + public void setSalePriceNew(BigDecimal salePriceNew) { + this.salePriceNew = salePriceNew; + } + + public Integer getGiftPointOld() { + return giftPointOld; + } + + public void setGiftPointOld(Integer giftPointOld) { + this.giftPointOld = giftPointOld; + } + + public Integer getGiftPointNew() { + return giftPointNew; + } + + public void setGiftPointNew(Integer giftPointNew) { + this.giftPointNew = giftPointNew; + } + + public Integer getUsePointLimitOld() { + return usePointLimitOld; + } + + public void setUsePointLimitOld(Integer usePointLimitOld) { + this.usePointLimitOld = usePointLimitOld; + } + + public Integer getUsePointLimitNew() { + return usePointLimitNew; + } + + public void setUsePointLimitNew(Integer usePointLimitNew) { + this.usePointLimitNew = usePointLimitNew; + } + + public String getOperateMan() { + return operateMan; + } + + public void setOperateMan(String operateMan) { + this.operateMan = operateMan; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + public String toString() { + return "PmsProductOperateLog{" + + ", id=" + id + + ", productId=" + productId + + ", priceOld=" + priceOld + + ", priceNew=" + priceNew + + ", salePriceOld=" + salePriceOld + + ", salePriceNew=" + salePriceNew + + ", giftPointOld=" + giftPointOld + + ", giftPointNew=" + giftPointNew + + ", usePointLimitOld=" + usePointLimitOld + + ", usePointLimitNew=" + usePointLimitNew + + ", operateMan=" + operateMan + + ", createTime=" + createTime + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductVertifyRecord.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductVertifyRecord.java new file mode 100644 index 0000000..ec48cb1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsProductVertifyRecord.java @@ -0,0 +1,107 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 商品审核记录 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_product_vertify_record") +public class PmsProductVertifyRecord extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_id") + private Long productId; + + @TableField("create_time") + private Date createTime; + + /** + * 审核人 + */ + @TableField("vertify_man") + private String vertifyMan; + + private Integer status; + + /** + * 反馈详情 + */ + private String detail; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public String getVertifyMan() { + return vertifyMan; + } + + public void setVertifyMan(String vertifyMan) { + this.vertifyMan = vertifyMan; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getDetail() { + return detail; + } + + public void setDetail(String detail) { + this.detail = detail; + } + + @Override + public String toString() { + return "PmsProductVertifyRecord{" + + ", id=" + id + + ", productId=" + productId + + ", createTime=" + createTime + + ", vertifyMan=" + vertifyMan + + ", status=" + status + + ", detail=" + detail + + "}"; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsSkuStock.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsSkuStock.java new file mode 100644 index 0000000..0f8c7c0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsSkuStock.java @@ -0,0 +1,248 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * sku的库存 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@TableName("pms_sku_stock") +public class PmsSkuStock extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @TableField("product_id") + private Long productId; + + /** + * sku编码 + */ + @TableField("sku_code") + private String skuCode; + + private BigDecimal price; + + /** + * 库存 + */ + private Integer stock; + + /** + * 预警库存 + */ + @TableField("low_stock") + private Integer lowStock; + + /** + * 销售属性1 + */ + private String sp1; + + private String sp2; + + private String sp3; + private String sp4; + /** + * 展示图片 + */ + private String pic; + + /** + * 销量 + */ + private Integer sale; + + /** + * 单品促销价格 + */ + @TableField("promotion_price") + private BigDecimal promotionPrice; + + /** + * 锁定库存 + */ + @TableField("lock_stock") + private Integer lockStock; + + @TableField(exist = false) + private String meno; + + @TableField("product_name") + private String productName; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public Long getProductId() { + return productId; + } + + public void setProductId(Long productId) { + this.productId = productId; + } + + public String getSkuCode() { + return skuCode; + } + + public void setSkuCode(String skuCode) { + this.skuCode = skuCode; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public Integer getStock() { + return stock; + } + + public void setStock(Integer stock) { + this.stock = stock; + } + + public Integer getLowStock() { + return lowStock; + } + + public void setLowStock(Integer lowStock) { + this.lowStock = lowStock; + } + + public String getSp1() { + return sp1; + } + + public void setSp1(String sp1) { + this.sp1 = sp1; + } + + public String getSp2() { + return sp2; + } + + public void setSp2(String sp2) { + this.sp2 = sp2; + } + + public String getSp3() { + return sp3; + } + + public void setSp3(String sp3) { + this.sp3 = sp3; + } + + public String getPic() { + return pic; + } + + public void setPic(String pic) { + this.pic = pic; + } + + public Integer getSale() { + return sale; + } + + public void setSale(Integer sale) { + this.sale = sale; + } + + public BigDecimal getPromotionPrice() { + return promotionPrice; + } + + public void setPromotionPrice(BigDecimal promotionPrice) { + this.promotionPrice = promotionPrice; + } + + public Integer getLockStock() { + return lockStock; + } + + public void setLockStock(Integer lockStock) { + this.lockStock = lockStock; + } + + public String getSp4() { + return sp4; + } + + public void setSp4(String sp4) { + this.sp4 = sp4; + } + + public String getMeno() { + StringBuffer sb = new StringBuffer("规格:" + this.sp1); + if (this.sp2 != null) { + sb.append("," + this.sp2); + } + if (this.sp3 != null) { + sb.append("," + this.sp3); + } + if (this.sp4 != null) { + sb.append("," + this.sp4); + } + return sb.toString(); + } + + public void setMeno(String meno) { + this.meno = meno; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", productId=").append(productId); + sb.append(", skuCode=").append(skuCode); + sb.append(", price=").append(price); + sb.append(", stock=").append(stock); + sb.append(", lowStock=").append(lowStock); + sb.append(", sp1=").append(sp1); + sb.append(", sp2=").append(sp2); + sb.append(", sp3=").append(sp3); + sb.append(", pic=").append(pic); + sb.append(", sale=").append(sale); + sb.append(", promotionPrice=").append(promotionPrice); + sb.append(", lockStock=").append(lockStock); + sb.append(", serialVersionUID=").append(serialVersionUID); + sb.append("]"); + return sb.toString(); + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsSmallNaviconCategory.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsSmallNaviconCategory.java new file mode 100644 index 0000000..5ecca3b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/PmsSmallNaviconCategory.java @@ -0,0 +1,54 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zscat.mallplus.utils.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + + +/** + * @author zscat + * @Description:小程序首页nav管理 + * @email 951449465@qq.com + * @date 2019-05-08 00:09:37 + */ +@Data +@TableName("pms_small_navicon_category") +public class PmsSmallNaviconCategory extends BaseEntity implements Serializable { + private static final long serialVersionUID = 1L; + + + @ApiModelProperty(value = "小程序首页分类ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "分类名称") + @TableField("title") + private String title; + + @ApiModelProperty(value = "分类图标") + @TableField("icon") + private String icon; + + // 1 h5 url 其他 /pages/classify/classify 2 商品详情 3文章详情 4文章列表 5 智能表单 + @ApiModelProperty(value = "跳转页面 h5") + @TableField("summary") + private String summary; + + @ApiModelProperty(value = "跳转类型applet") + @TableField("content") + private String content; + + @ApiModelProperty(value = "排序") + @TableField("sort") + private Integer sort; + + @ApiModelProperty(value = "跳转类型pc") + @TableField("pc_url") + private String pcUrl; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/brand/BrandVo.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/brand/BrandVo.java new file mode 100644 index 0000000..764ff7e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/entity/brand/BrandVo.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.mallplus.mbg.pms.entity.brand; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/19 + **/ +@Data +public class BrandVo { + + @ApiModelProperty("品牌名称") + private String brandName; + @ApiModelProperty("品牌id") + private String id; + @ApiModelProperty("起始数量") + private String qssl; + @ApiModelProperty("订购协议") + private String dgxy; + @ApiModelProperty("起订协议") + private String qdxy; + private String count; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsPrefrenceAreaProductRelationMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsPrefrenceAreaProductRelationMapper.java new file mode 100644 index 0000000..aba6e20 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsPrefrenceAreaProductRelationMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.CmsPrefrenceAreaProductRelation; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 优选专区和产品关系表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-17 + */ +@Mapper +public interface CmsPrefrenceAreaProductRelationMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsPrefrenceAreaProductRelationMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsPrefrenceAreaProductRelationMapper.xml new file mode 100644 index 0000000..1cab449 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsPrefrenceAreaProductRelationMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, prefrence_area_id, product_id + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsSubjectProductRelationMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsSubjectProductRelationMapper.java new file mode 100644 index 0000000..65b2dcc --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsSubjectProductRelationMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.CmsSubjectProductRelation; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 专题商品关系表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-17 + */ +@Mapper +public interface CmsSubjectProductRelationMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsSubjectProductRelationMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsSubjectProductRelationMapper.xml new file mode 100644 index 0000000..8d3bcea --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/CmsSubjectProductRelationMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, subject_id, product_id + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumMapper.java new file mode 100644 index 0000000..099dc37 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsAlbum; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 相册表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsAlbumMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumMapper.xml new file mode 100644 index 0000000..417cd16 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumPicMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumPicMapper.java new file mode 100644 index 0000000..27b8a12 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumPicMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsAlbumPic; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 画册图片表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsAlbumPicMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumPicMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumPicMapper.xml new file mode 100644 index 0000000..d23c5ce --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsAlbumPicMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, album_id, pic + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsBrandMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsBrandMapper.java new file mode 100644 index 0000000..e3d1f71 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsBrandMapper.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsBrand; +import com.yxt.ordermall.mallplus.mbg.pms.entity.brand.BrandVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + *

+ * 品牌表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsBrandMapper extends BaseMapper { + + List getList(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsBrandMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsBrandMapper.xml new file mode 100644 index 0000000..5e9f330 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsBrandMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + id, name, first_letter, sort, factory_status, show_status, product_count, product_comment_count, logo, big_pic, + brand_story + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentMapper.java new file mode 100644 index 0000000..091e9f8 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentMapper.java @@ -0,0 +1,20 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsComment; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + *

+ * 商品评价表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsCommentMapper extends BaseMapper { + List getByProductId(Long productId); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentMapper.xml new file mode 100644 index 0000000..6e0cb74 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, product_id, member_nick_name, product_name, star, member_ip, create_time, show_status, product_attribute, + collect_couont, read_count, content, pics, member_icon, replay_count + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentReplayMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentReplayMapper.java new file mode 100644 index 0000000..3123ef0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentReplayMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsCommentReplay; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 产品评价回复表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsCommentReplayMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentReplayMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentReplayMapper.xml new file mode 100644 index 0000000..073d433 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsCommentReplayMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + id, comment_id, member_nick_name, member_icon, content, create_time, type + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFavoriteMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFavoriteMapper.java new file mode 100644 index 0000000..3bfdc7a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFavoriteMapper.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsFavorite; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author zscat + * @since 2019-06-15 + */ +@Mapper +public interface PmsFavoriteMapper extends BaseMapper { + + List selectCollectStatics(@Param("date") String date, @Param("pageSize") Integer pageSize); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFavoriteMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFavoriteMapper.xml new file mode 100644 index 0000000..cb1eb62 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFavoriteMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, addTime, type, obj_id, store_id, user_id, name, meno1, meno2, meno3 + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFeightTemplateMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFeightTemplateMapper.java new file mode 100644 index 0000000..dc93bdb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFeightTemplateMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsFeightTemplate; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 运费模版 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsFeightTemplateMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFeightTemplateMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFeightTemplateMapper.xml new file mode 100644 index 0000000..5511d47 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsFeightTemplateMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + id, name, charge_type, first_weight, first_fee, continue_weight, continme_fee, dest + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGiftsCategoryMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGiftsCategoryMapper.java new file mode 100644 index 0000000..d3d3518 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGiftsCategoryMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsGiftsCategory; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 帮助分类表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +@Mapper +public interface PmsGiftsCategoryMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGiftsMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGiftsMapper.java new file mode 100644 index 0000000..3b2d2d0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGiftsMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsGifts; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 帮助表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-07-07 + */ +@Mapper +public interface PmsGiftsMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGoodsGroupMapMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGoodsGroupMapMapper.java new file mode 100644 index 0000000..a8622b5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsGoodsGroupMapMapper.java @@ -0,0 +1,28 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.EsShopGoodsGroupMap; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author meizhuang team + * @since 2019-04-16 + */ +@Mapper +public interface PmsGoodsGroupMapMapper extends BaseMapper { + + /** + * 查询分组推荐商品 + * + * @param id + * @return + */ + List selEsShopGoodsGroupMap(@Param("id") Long id); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsMemberPriceMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsMemberPriceMapper.java new file mode 100644 index 0000000..2f34511 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsMemberPriceMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsMemberPrice; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 商品会员价格表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsMemberPriceMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsMemberPriceMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsMemberPriceMapper.xml new file mode 100644 index 0000000..82c59d6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsMemberPriceMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + id, product_id, member_level_id, member_price, member_level_name + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeCategoryMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeCategoryMapper.java new file mode 100644 index 0000000..eaa97fd --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeCategoryMapper.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeCategory; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductAttributeCategoryItem; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + *

+ * 产品属性分类表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductAttributeCategoryMapper extends BaseMapper { + + List getListWithAttr(); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeCategoryMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeCategoryMapper.xml new file mode 100644 index 0000000..5d23381 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeCategoryMapper.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + id, name, attribute_count, param_count + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeMapper.java new file mode 100644 index 0000000..7d13306 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeMapper.java @@ -0,0 +1,26 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttribute; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductAttr; +import com.yxt.ordermall.mallplus.mbg.pms.vo.ProductAttrInfo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 商品属性参数表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductAttributeMapper extends BaseMapper { + + List getProductAttrInfo(Long productCategoryId); + + List getProductAttrById(@Param("productId") Long productId, @Param("type") int type); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeMapper.xml new file mode 100644 index 0000000..5bebe1d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + id, product_attribute_category_id, name, select_type, input_type, input_list, sort, filter_type, search_type, + related_status, hand_add_status, type + + + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeValueMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeValueMapper.java new file mode 100644 index 0000000..1e30681 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeValueMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeValue; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 存储产品参数信息的表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductAttributeValueMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeValueMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeValueMapper.xml new file mode 100644 index 0000000..bcd7514 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductAttributeValueMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + id, product_id, product_attribute_id, value + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryAttributeRelationMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryAttributeRelationMapper.java new file mode 100644 index 0000000..047c40d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryAttributeRelationMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategoryAttributeRelation; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类) Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductCategoryAttributeRelationMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryAttributeRelationMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryAttributeRelationMapper.xml new file mode 100644 index 0000000..00bbde0 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryAttributeRelationMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + id, product_category_id, product_attribute_id + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryMapper.java new file mode 100644 index 0000000..3bbef70 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryMapper.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategory; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductCategoryWithChildrenItem; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 产品分类 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductCategoryMapper extends BaseMapper { + + List listWithChildren(); + + int selectCountByNameAndLevel(@Param("parentId") Long parentId, @Param("name") String name); + + int selectCountByNameAndLevelId(@Param("parentId") Long parentId, @Param("name") String name, @Param("id") Long id); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryMapper.xml new file mode 100644 index 0000000..6264e35 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductCategoryMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + id, parent_id, name, level, product_count, product_unit, nav_status, show_status, index_status,sort, icon, + keywords, description + + + + + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductConsultMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductConsultMapper.java new file mode 100644 index 0000000..d85748d --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductConsultMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductConsult; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 产品咨询表 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductConsultMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductConsultMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductConsultMapper.xml new file mode 100644 index 0000000..9e72419 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductConsultMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + id, goods_id, goods_name, member_id, member_name, store_id, email, consult_content, consult_addtime, + consult_reply, consult_reply_time, isanonymous, is_del + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductFullReductionMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductFullReductionMapper.java new file mode 100644 index 0000000..0afa340 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductFullReductionMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductFullReduction; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 产品满减表(只针对同商品) Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductFullReductionMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductFullReductionMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductFullReductionMapper.xml new file mode 100644 index 0000000..00d5404 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductFullReductionMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + id, product_id, full_price, reduce_price + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductLadderMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductLadderMapper.java new file mode 100644 index 0000000..89d33f6 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductLadderMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductLadder; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 产品阶梯价格表(只针对同商品) Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductLadderMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductLadderMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductLadderMapper.xml new file mode 100644 index 0000000..abb922e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductLadderMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + id, product_id, count, discount, price + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductMapper.java new file mode 100644 index 0000000..d4030b7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductMapper.java @@ -0,0 +1,36 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PmsProductResult; +import com.yxt.ordermall.mallplus.mbg.pms.vo.PromotionProduct; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 商品信息 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductMapper extends BaseMapper { + +// CartProduct getCartProduct(@Param("id") Long id); + + List getPromotionProductList(@Param("ids") List ids); + + PmsProductResult getUpdateInfo(Long id); + + Integer countGoodsByToday(@Param("id") Long id); + + List listByDate(@Param("date") String date, @Param("type") Integer type); + + List selectByTags(@Param("tags") String tags); + + PmsProductResult getUpdateInfoLiu1(Long id); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductMapper.xml new file mode 100644 index 0000000..1bf1842 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductMapper.xml @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, brand_id, product_category_id, feight_template_id, product_attribute_category_id, name, pic, product_sn, + delete_status, publish_status, new_status, recommand_status, verify_status, sort, sale, price, promotion_price, + gift_growth, gift_point, use_point_limit, sub_title, description, original_price, stock, low_stock, unit, + weight, preview_status, service_ids, keywords, note, album_pics, detail_title, detail_desc, detail_html, + detail_mobile_html, promotion_start_time, promotion_end_time, promotion_per_limit, promotion_type, brand_name, + product_category_name, supply_id, create_time, school_id + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductOperateLogMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductOperateLogMapper.java new file mode 100644 index 0000000..d772503 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductOperateLogMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductOperateLog; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductOperateLogMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductOperateLogMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductOperateLogMapper.xml new file mode 100644 index 0000000..5aa687f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductOperateLogMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + id, product_id, price_old, price_new, sale_price_old, sale_price_new, gift_point_old, gift_point_new, + use_point_limit_old, use_point_limit_new, operate_man, create_time + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductVertifyRecordMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductVertifyRecordMapper.java new file mode 100644 index 0000000..2258eea --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductVertifyRecordMapper.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductVertifyRecord; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 商品审核记录 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsProductVertifyRecordMapper extends BaseMapper { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductVertifyRecordMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductVertifyRecordMapper.xml new file mode 100644 index 0000000..d5c06af --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsProductVertifyRecordMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + id, product_id, create_time, vertify_man, status, detail + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSkuStockMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSkuStockMapper.java new file mode 100644 index 0000000..a041ee1 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSkuStockMapper.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSkuStock; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * sku的库存 Mapper 接口 + *

+ * + * @author zscat + * @since 2019-04-19 + */ +@Mapper +public interface PmsSkuStockMapper extends BaseMapper { + /** + * 批量插入或替换操作 + */ + int replaceList(@Param("list") List skuStockList); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSkuStockMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSkuStockMapper.xml new file mode 100644 index 0000000..0e0a15a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSkuStockMapper.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + id, product_id, sku_code, price, stock, low_stock, sp1, sp2, sp3, pic, sale, promotion_price, lock_stock + + + + REPLACE INTO pms_sku_stock (id,product_id, sku_code, price, stock, low_stock, sp1, sp2, sp3, pic, sale) VALUES + + (#{item.id,jdbcType=BIGINT}, + #{item.productId,jdbcType=BIGINT}, + #{item.skuCode,jdbcType=VARCHAR}, + #{item.price,jdbcType=DECIMAL}, + #{item.stock,jdbcType=INTEGER}, + #{item.lowStock,jdbcType=INTEGER}, + #{item.sp1,jdbcType=VARCHAR}, + #{item.sp2,jdbcType=VARCHAR}, + #{item.sp3,jdbcType=VARCHAR}, + #{item.pic,jdbcType=VARCHAR}, + #{item.sale,jdbcType=INTEGER}) + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSmallNaviconCategoryMapper.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSmallNaviconCategoryMapper.java new file mode 100644 index 0000000..0a52e80 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSmallNaviconCategoryMapper.java @@ -0,0 +1,32 @@ +package com.yxt.ordermall.mallplus.mbg.pms.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSmallNaviconCategory; +import org.apache.ibatis.annotations.Mapper; + + +/** + * 小程序首页nav管理 + * + * @author zscat + * @email 951449465@qq.com + * @date 2019-05-08 00:09:37 + */ + +@Mapper +public interface PmsSmallNaviconCategoryMapper extends BaseMapper { + + PmsSmallNaviconCategory get(Long id); + +// List list(PmsSmallNaviconCategory smallNaviconCategory); +// +// int count(PmsSmallNaviconCategory smallNaviconCategory); +// +// int save(PmsSmallNaviconCategory smallNaviconCategory); +// +// int update(PmsSmallNaviconCategory smallNaviconCategory); +// +// int remove(Long id); +// +// int batchRemove(Integer[] ids); +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSmallNaviconCategoryMapper.xml b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSmallNaviconCategoryMapper.xml new file mode 100644 index 0000000..78762d9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/mapper/PmsSmallNaviconCategoryMapper.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + `id`,`title`,`icon`,`summary`,`content`,`sort` + + + + + + + + + insert into pms_small_navicon_category + ( + `title`, + `icon`, + `summary`, + `content`, + `sort` + ) + values + ( + #{title}, + #{icon}, + #{summary}, + #{content}, + #{sort} + ) + + + + update pms_small_navicon_category + + `title` = #{title}, + `icon` = #{icon}, + `summary` = #{summary}, + `content` = #{content}, + `sort` = #{sort} + + where id = #{id} + + + + delete from pms_small_navicon_category where id = #{value} + + + + delete from pms_small_navicon_category where id in + + #{id} + + + + diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ConsultTypeCount.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ConsultTypeCount.java new file mode 100644 index 0000000..64f5cd7 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ConsultTypeCount.java @@ -0,0 +1,24 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + +import com.zscat.mallplus.utils.BaseEntity; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @Auther: shenzhuan + * @Date: 2019/2/23 13:12 + * @Description: + */ +@Data +public class ConsultTypeCount extends BaseEntity implements Serializable { + private int all; + private int goods; + private int general; + private int bad; + private int other; + + private BigDecimal persent; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/GoodsDetailResult.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/GoodsDetailResult.java new file mode 100644 index 0000000..197eb0b --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/GoodsDetailResult.java @@ -0,0 +1,38 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +import com.yxt.ordermall.mallplus.mbg.pms.entity.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 创建和修改商品时使用的参数 + * https://github.com/shenzhuan/mallplus on 2018/4/28. + */ +@Data +public class GoodsDetailResult implements Serializable { + @ApiModelProperty("商品阶梯价格设置") + private List productLadderList; + @ApiModelProperty("商品满减价格设置") + private List productFullReductionList; + @ApiModelProperty("商品会员价格设置") + private List memberPriceList; + @ApiModelProperty("商品的sku库存信息") + private List skuStockList; + @ApiModelProperty("商品参数及自定义规格属性") + private List productAttributeValueList; + private Object productAttributeNameValueList; + @ApiModelProperty("专题和商品关系") + private List subjectProductRelationList; + @ApiModelProperty("优选专区和商品的关系") + private List prefrenceAreaProductRelationList; + + private List productCanShuValueList; + private List typeGoodsList; + + private PmsProduct goods; +// private SysStore storeInfo; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/GoodsUtils.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/GoodsUtils.java new file mode 100644 index 0000000..158e6c9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/GoodsUtils.java @@ -0,0 +1,6 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +public class GoodsUtils { + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PaiMaiParam.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PaiMaiParam.java new file mode 100644 index 0000000..2a8bd9c --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PaiMaiParam.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 创建和修改商品时使用的参数 + * https://github.com/shenzhuan/mallplus on 2018/4/26. + */ +@Data +public class PaiMaiParam implements Serializable { + private Long id; + private BigDecimal price; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAndGroup.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAndGroup.java new file mode 100644 index 0000000..a24b34f --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAndGroup.java @@ -0,0 +1,16 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import lombok.Data; + +/** + * 创建和修改商品时使用的参数 + * https://github.com/shenzhuan/mallplus on 2018/4/28. + */ +@Data +public class PmsProductAndGroup extends PmsProduct { +// private Map> map; + private String isGroup = "1"; //1 可以发起团购 + private String is_favorite; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAttr.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAttr.java new file mode 100644 index 0000000..453211a --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAttr.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + +import lombok.Data; + +@Data +public class PmsProductAttr { + private String name; + private int select_type; + private int input_type; + private String input_list; + private int sort; + private int fiilter_type; + private int search_type; + private int related_status; + private int hand_add_status; + private int type; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAttributeCategoryItem.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAttributeCategoryItem.java new file mode 100644 index 0000000..b574a32 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductAttributeCategoryItem.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttribute; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductAttributeCategory; + +import java.util.List; + +/** + * 包含有分类下属性的dto + * https://github.com/shenzhuan/mallplus on 2018/5/24. + */ +public class PmsProductAttributeCategoryItem extends PmsProductAttributeCategory { + private List productAttributeList; + + public List getProductAttributeList() { + return productAttributeList; + } + + public void setProductAttributeList(List productAttributeList) { + this.productAttributeList = productAttributeList; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductCategoryWithChildrenItem.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductCategoryWithChildrenItem.java new file mode 100644 index 0000000..c53927e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductCategoryWithChildrenItem.java @@ -0,0 +1,21 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductCategory; + +import java.util.List; + +/** + * https://github.com/shenzhuan/mallplus on 2018/5/25. + */ +public class PmsProductCategoryWithChildrenItem extends PmsProductCategory { + private List children; + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductParam.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductParam.java new file mode 100644 index 0000000..adf4de5 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductParam.java @@ -0,0 +1,35 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +import com.yxt.ordermall.mallplus.mbg.pms.entity.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 创建和修改商品时使用的参数 + * https://github.com/shenzhuan/mallplus on 2018/4/28. + */ +@Data +public class PmsProductParam extends PmsProduct { + @ApiModelProperty("商品阶梯价格设置") + private List productLadderList; + @ApiModelProperty("商品满减价格设置") + private List productFullReductionList; + @ApiModelProperty("商品会员价格设置") + private List memberPriceList; + @ApiModelProperty("商品的sku库存信息") + private List skuStockList; + @ApiModelProperty("商品参数及自定义规格属性") + private List productAttributeValueList; + @ApiModelProperty("专题和商品关系") + private List subjectProductRelationList; + @ApiModelProperty("优选专区和商品的关系") + private List prefrenceAreaProductRelationList; + Long[] tagLists; + private List productCanShuValueList; + private List typeGoodsList; + + private PmsProduct goods; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductQueryParam.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductQueryParam.java new file mode 100644 index 0000000..e96c98e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductQueryParam.java @@ -0,0 +1,101 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 产品查询参数 + * https://github.com/shenzhuan/mallplus on 2018/4/27. + */ +@Data +public class PmsProductQueryParam { + @ApiModelProperty("上架状态") + private Integer publishStatus; + @ApiModelProperty("审核状态") + private Integer verifyStatus; + @ApiModelProperty("商品名称模糊关键字") + private String keyword; + @ApiModelProperty("商品货号") + private String productSn; + @ApiModelProperty("商品分类编号") + private Long productCategoryId; + @ApiModelProperty("商品品牌编号") + private Long brandId; + + private Integer pageSize = 10; + private Integer pageNum = 1; + private Long productAttributeCategoryId; + private String sort = "price asc"; // 1 asc + + public Integer getPublishStatus() { + return publishStatus; + } + + public void setPublishStatus(Integer publishStatus) { + this.publishStatus = publishStatus; + } + + public Integer getVerifyStatus() { + return verifyStatus; + } + + public void setVerifyStatus(Integer verifyStatus) { + this.verifyStatus = verifyStatus; + } + + public String getKeyword() { + return keyword; + } + + public void setKeyword(String keyword) { + this.keyword = keyword; + } + + public String getProductSn() { + return productSn; + } + + public void setProductSn(String productSn) { + this.productSn = productSn; + } + + public Long getProductCategoryId() { + return productCategoryId; + } + + public void setProductCategoryId(Long productCategoryId) { + this.productCategoryId = productCategoryId; + } + + public Long getBrandId() { + return brandId; + } + + public void setBrandId(Long brandId) { + this.brandId = brandId; + } + + public Long getProductAttributeCategoryId() { + return productAttributeCategoryId; + } + + public void setProductAttributeCategoryId(Long productAttributeCategoryId) { + this.productAttributeCategoryId = productAttributeCategoryId; + } + + public Integer getPageSize() { + return pageSize; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public Integer getPageNum() { + return pageNum; + } + + public void setPageNum(Integer pageNum) { + this.pageNum = pageNum; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductResult.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductResult.java new file mode 100644 index 0000000..95cfae9 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PmsProductResult.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsComment; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import lombok.Data; + +import java.util.List; + +/** + * 查询单个产品进行修改时返回的结果 + * https://github.com/shenzhuan/mallplus on 2018/4/28. + */ +@Data +public class PmsProductResult extends PmsProductParam { + //商品所选分类的父id + private Long cateParentId; + private int is_favorite;// 1 已收藏 2 未收藏 + private List pmsProductAttrList; + private PmsProduct product; + private List pmsComments; + + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductAttrInfo.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductAttrInfo.java new file mode 100644 index 0000000..480f5ca --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductAttrInfo.java @@ -0,0 +1,27 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +/** + * 商品分类对应属性信息 + * https://github.com/shenzhuan/mallplus on 2018/5/23. + */ +public class ProductAttrInfo { + private Long attributeId; + private Long attributeCategoryId; + + public Long getAttributeId() { + return attributeId; + } + + public void setAttributeId(Long attributeId) { + this.attributeId = attributeId; + } + + public Long getAttributeCategoryId() { + return attributeCategoryId; + } + + public void setAttributeCategoryId(Long attributeCategoryId) { + this.attributeCategoryId = attributeCategoryId; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductConsultParam.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductConsultParam.java new file mode 100644 index 0000000..775cdcb --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductConsultParam.java @@ -0,0 +1,17 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * Created by Administrator on 2019/9/15. + */ +@Data +public class ProductConsultParam implements Serializable { + private Long goodsId; + private Integer score; + + private String[] images; + private String textarea; +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductTypeVo.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductTypeVo.java new file mode 100644 index 0000000..0cb7ff3 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/ProductTypeVo.java @@ -0,0 +1,22 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 商品分类对应属性信息 + * https://github.com/shenzhuan/mallplus on 2018/5/23. + */ +@Data +public class ProductTypeVo { + private Long id; + private Long pid; + private Long goodsId; + private String pic; + private String name; + private BigDecimal price; + private Integer level; + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PromotionProduct.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PromotionProduct.java new file mode 100644 index 0000000..3192821 --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/PromotionProduct.java @@ -0,0 +1,47 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; + + + +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProduct; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductFullReduction; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsProductLadder; +import com.yxt.ordermall.mallplus.mbg.pms.entity.PmsSkuStock; + +import java.util.List; + +/** + * https://github.com/shenzhuan/mallplus on 2018/8/27. + * 商品的促销信息,包括sku、打折优惠、满减优惠 + */ +public class PromotionProduct extends PmsProduct { + //商品库存信息 + private List skuStockList; + //商品打折信息 + private List productLadderList; + //商品满减信息 + private List productFullReductionList; + + public List getSkuStockList() { + return skuStockList; + } + + public void setSkuStockList(List skuStockList) { + this.skuStockList = skuStockList; + } + + public List getProductLadderList() { + return productLadderList; + } + + public void setProductLadderList(List productLadderList) { + this.productLadderList = productLadderList; + } + + public List getProductFullReductionList() { + return productFullReductionList; + } + + public void setProductFullReductionList(List productFullReductionList) { + this.productFullReductionList = productFullReductionList; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/SamplePmsProduct.java b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/SamplePmsProduct.java new file mode 100644 index 0000000..7e3baaa --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/mallplus/mbg/pms/vo/SamplePmsProduct.java @@ -0,0 +1 @@ +package com.yxt.ordermall.mallplus.mbg.pms.vo; \ No newline at end of file diff --git a/ordermall/src/main/java/com/yxt/ordermall/utils/DoubleUtils.java b/ordermall/src/main/java/com/yxt/ordermall/utils/DoubleUtils.java new file mode 100644 index 0000000..692e23e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/utils/DoubleUtils.java @@ -0,0 +1,93 @@ +package com.yxt.ordermall.utils; + +import java.math.BigDecimal; + +/** + * @author wangpengfei + * @date 2024/1/24 8:53 + */ +public class DoubleUtils { + + /** + * 对double数据进行取精度. + * @param value double数据. + * @param scale 精度位数(保留的小数位数). + * @param roundingMode 精度取值方式. + * @return 精度计算后的数据. + */ + public static double round(double value, int scale, + int roundingMode) { + BigDecimal bd = BigDecimal.valueOf(value); + bd = bd.setScale(scale, roundingMode); + double d = bd.doubleValue(); + bd = null; + return d; + } + + + /** + * double 相加 + * @param d1 + * @param d2 + * @return + */ + public static double sum(double d1,double d2){ + BigDecimal bd1 = BigDecimal.valueOf(d1); + BigDecimal bd2 = BigDecimal.valueOf(d2); + return bd1.add(bd2).doubleValue(); + } + + + /** + * double 相减 + * @param d1 + * @param d2 + * @return + */ + public static double sub(double d1,double d2){ + BigDecimal bd1 = BigDecimal.valueOf(d1); + BigDecimal bd2 = BigDecimal.valueOf(d2); + return bd1.subtract(bd2).doubleValue(); + } + + /** + * double 乘法 + * @param d1 + * @param d2 + * @return + */ + public static double mul(double d1, double d2){ + BigDecimal bd1 = BigDecimal.valueOf(d1); + BigDecimal bd2 = BigDecimal.valueOf(d2); + return bd1.multiply(bd2).doubleValue(); + } + + + /** + * double 除法 + * @param d1 + * @param d2 + * @param scale 四舍五入 小数点位数 + * @return + */ + public static double div(double d1,double d2,int scale){ + BigDecimal bd1 = BigDecimal.valueOf(d1); + BigDecimal bd2 = BigDecimal.valueOf(d2); + return bd1.divide + (bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); + } + /** + * 去除多余.0 + * @param num + * @return + */ + public static String removeZeros(String num) { + if (num.indexOf(".") > 0) { + // 去掉多余的0 + num = num.replaceAll("0+?$", ""); + // 如果最后一位是. 则去掉 + num = num.replaceAll("[.]$", ""); + } + return num; + } +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/utils/ExcelUtil.java b/ordermall/src/main/java/com/yxt/ordermall/utils/ExcelUtil.java new file mode 100644 index 0000000..788b72e --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/utils/ExcelUtil.java @@ -0,0 +1,171 @@ +package com.yxt.ordermall.utils; + + +//import org.apache.log4j.Logger; +import com.yxt.common.core.result.ResultBean; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.web.multipart.MultipartFile; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import static org.apache.poi.ss.usermodel.CellType.NUMERIC; +import static org.apache.poi.ss.usermodel.CellType.STRING; + + +/** + * @author wangpengfei + * @date 2024/4/23 13:53 + */ +public class ExcelUtil { +// private static Logger logger = Logger.getLogger(ExcelUtil.class); + private final static String xls = "xls"; + private final static String xlsx = "xlsx"; + + /** + * 读入excel文件,解析后返回 + * + * @param file + * @throws IOException + */ + public static List readExcel(MultipartFile file) throws IOException { + //检查文件 + checkFile(file); + //获得Workbook工作薄对象 + Workbook workbook = getWorkBook(file); + //创建返回对象,把每行中的值作为一个数组,所有行作为一个集合返回 + List list = new ArrayList(); + if (workbook != null) { + for (int sheetNum = 0; sheetNum < workbook.getNumberOfSheets(); sheetNum++) { + //获得当前sheet工作表 + Sheet sheet = workbook.getSheetAt(sheetNum); + if (sheet == null) { + continue; + } + //获得当前sheet的开始行 + int firstRowNum = sheet.getFirstRowNum(); + //获得当前sheet的结束行 + int lastRowNum = sheet.getLastRowNum(); + int arrLength = sheet.getRow(firstRowNum).getPhysicalNumberOfCells(); + int rowNumb=firstRowNum + 1; + //循环除了第一行的所有行 + for (int rowNum = rowNumb; rowNum <= lastRowNum; rowNum++) { + //获得当前行 + Row row = sheet.getRow(rowNum); + if (row == null) { + continue; + } + //获得当前行的开始列 + int firstCellNum = row.getFirstCellNum(); + //获得当前行的列数 + int lastCellNum = row.getPhysicalNumberOfCells(); + String[] cells = new String[arrLength]; + //循环当前行 + for(int i =0 ;i> list() { + ResultBean rb = ResultBean.fireFail(); + List list = appletBannerService.listWxVo(); + return rb.success().setData(list); + } + + @GetMapping("/banner/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + AppletBanner entity = appletBannerService.fetchBySid(sid); + return rb.success().setData(entity); + } + +} diff --git a/ordermall/src/main/java/com/yxt/ordermall/wxapi/vo/WxBannerListVo.java b/ordermall/src/main/java/com/yxt/ordermall/wxapi/vo/WxBannerListVo.java new file mode 100644 index 0000000..df444fa --- /dev/null +++ b/ordermall/src/main/java/com/yxt/ordermall/wxapi/vo/WxBannerListVo.java @@ -0,0 +1,14 @@ +package com.yxt.ordermall.wxapi.vo; + +import lombok.Data; + +@Data +public class WxBannerListVo { + + private String sid; + private String title; + + private String bannerUrl;//轮播图完整URL + private String bannerPath;//轮播图相对地址 + private String contentUrl;//轮播图相对地址 +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/enums/AllEnum.java b/ordermall/src/main/java/com/zscat/mallplus/enums/AllEnum.java new file mode 100644 index 0000000..8ed9a9e --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/enums/AllEnum.java @@ -0,0 +1,428 @@ +package com.zscat.mallplus.enums; + + +import lombok.AccessLevel; +import lombok.NoArgsConstructor; + +/** + * 交易API Constant + * + * @author dp + */ +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class AllEnum { + + + /** + * 改变类型:1->增加;2->减少 + * + * @author dp + */ + public enum ChangeType implements BaseEnum { + + /** + * 限价交易 + */ + Add(1, "add"), + + /** + * 市价交易 + */ + Min(2, "min"), + ; + + private int code; + private String value; + + ChangeType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 积分来源 + * + * @author dp + */ + public enum ChangeSource implements BaseEnum { + + + /** + * 下单 + */ + order(1, "order"), + + /** + * 登录 + */ + login(2, "login"), + /** + * 注册 + */ + register(3, "register"), + /** + * 签到送积分 + */ + sign(5, "sign"), + + /** + * 后台添加 + */ + admin(4, "admin"), + ; + + private int code; + private String value; + + ChangeSource(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 评论类型:1->商品;2->订单 + * + * @author dp + */ + public enum ConsultType implements BaseEnum { + + /** + * + */ + GOODS(1, "goods"), + + /** + * + */ + ORDER(2, "order"), + ; + + private int code; + private String value; + + ConsultType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 订单来源: + * + * @author dp + */ + public enum OrderSource implements BaseEnum { + + weixinApplet(1, "weixinApplet"), + h5Source(2, "h5Source"), + pcSource(3, "pcSource"), + android(4, "android"), + ios(5, "ios"), + ; + + private int code; + private String value; + + OrderSource(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 订单类型: + * + * @author dp + */ + public enum OrderType implements BaseEnum { + + /** + * 普通订单 + */ + COMMON(1, "common"), + /** + * 拼团订单 + */ + PIN_GROUP(2, "pingroup"), + /** + * 团购订单 + */ + GROUP_BUY(3, "groupbuy"), + /** + * 砍价订单 + */ + KNAN_JIA(4, "kanjia"), + JIFEN(5, "jifen"), + /** + * 门店自取 + */ + SHOP(7, "shop"), + /** + * 秒杀订单 + */ + SKILL(6, "skill"), + ; + + private int code; + private String value; + + OrderType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 支付类型 + */ + public enum OrderPayType implements BaseEnum { + + /** + * 微信小程序 + */ + weixinAppletPay(2, "weixinAppletPay"), + /** + * + */ + alipay(1, "alipay"), + /** + * 余额支付 + */ + balancePay(3, "balancePay"), + /** + * 积分兑换 + */ + jifenPay(5, "jifenPay"); + + private int code; + private String value; + + OrderPayType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 评论类型:1->商品;2->赠品 + * + * @author dp + */ + public enum OrderItemType implements BaseEnum { + + /** + * 商品 + */ + GOODS(1, "goods"), + + /** + * 礼品 + */ + GIFT(2, "gift"), + ; + + private int code; + private String value; + + OrderItemType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 余额类型:'全部', '消费', '退款', '充值', '提现', '佣金', '平台调整' + * + * @author dp + */ + public enum BlanceType implements BaseEnum { + + ALL(0, "ALL"), + /** + * + */ + CONSUMER(1, "CONSUMER"), + + /** + * + */ + REFUND(2, "REFUND"), + ADD(3, "ADD"), + + DRAW(4, "DRAW"), + + COMMISSION(5, "COMMISSION"), + + MODIFY(6, "MODIFY"), + ; + + private int code; + private String value; + + BlanceType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 订单退货申请::0->待处理;1->退货中;2->已完成;3->已拒绝 + * + * @author mallplus + */ + public enum OmsOrderReturnApplyStatus implements BaseEnum { + + /** + * + */ + INIT(0, "INIT"), + + REFUNDING(1, "REFUNDING"), + REFUNDED(2, "REFUNDED"), + /** + * + */ + REJECT(3, "REJECT"), + ; + + private int code; + private String value; + + OmsOrderReturnApplyStatus(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 订单退货申请:0换货,1退钱 2退货3 退钱退货 + * + * @author mallplus + */ + public enum OmsOrderReturnApplyType implements BaseEnum { + + CHANGEGOODS(0, "RETURNMONEY"), + /** + * + */ + RETURNMONEY(1, "RETURNMONEY"), + + RETURNGOODS(2, "RETURNGOODS"), + + /** + * + */ + RETURNGOODSMONEY(3, "RETURNGOODSMONEY"), + ; + + private int code; + private String value; + + OmsOrderReturnApplyType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/enums/BargainEnum.java b/ordermall/src/main/java/com/zscat/mallplus/enums/BargainEnum.java new file mode 100644 index 0000000..a0470ee --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/enums/BargainEnum.java @@ -0,0 +1,57 @@ +package com.zscat.mallplus.enums; + + +import lombok.AccessLevel; +import lombok.NoArgsConstructor; + +/** + * 交易API Constant + * + * @author dp + */ +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class BargainEnum { + + + /** + * 改变类型:1->增加;2->减少 + * + * @author dp + */ + public enum Status implements BaseEnum { + + /** + * 砍价中 + */ + INIT(1, "init"), + + /** + * 砍价成功 + */ + SUCESS(2, "sussce"), + /** + * 支付成功 + */ + PAY(3, "pay"); + + private int code; + private String value; + + Status(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/enums/BaseEnum.java b/ordermall/src/main/java/com/zscat/mallplus/enums/BaseEnum.java new file mode 100644 index 0000000..a18ba3e --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/enums/BaseEnum.java @@ -0,0 +1,7 @@ +package com.zscat.mallplus.enums; + +public interface BaseEnum { + K code(); + + String desc(); +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/enums/ConstansValue.java b/ordermall/src/main/java/com/zscat/mallplus/enums/ConstansValue.java new file mode 100644 index 0000000..f15df9d --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/enums/ConstansValue.java @@ -0,0 +1,37 @@ +package com.zscat.mallplus.enums; + +import com.google.common.collect.Lists; + +import java.util.List; + +/** + * Created by Administrator on 2019/8/9. + */ +public class ConstansValue { + public static final List IGNORE_TENANT_TABLES = Lists.newArrayList("sys_admin_log", "sys_web_log", "sys_permission_category", "columns", "tables", "information_schema.columns", + "information_schema.tables", "oms_payments", "oms_order_return_reason", "sys_role", "ums_integration_consume_setting", "sys_user", "sys_store", "sys_area", "sys_school", "sys_permission", "pms_product_attribute", "pms_product_category_attribute_relation", "pms_product_attribute_value", + "pms_product_category_attribute_relation", "admin_day_statics", "ums_member_tag","sys_store_rank", "pms_small_navicon_category", "bak_category", "es_shop_goods_group_map", "sys_applet_set", "bak_goods", "pms_product_category", "bak_brand", "oms_order_setting", "ums_member", "ums_member_level", "building_user_community", "gen_config"); + +// public static final String sampleGoodsList = "id, brand_id, product_category_id, feight_template_id, product_attribute_category_id, name, pic, product_sn,\n" + +// " delete_status, publish_status, new_status, recommand_status, verify_status, sort, sale, price, promotion_price,\n" + +// " original_price, stock, low_stock, store_name,sub_title,store_id,unit,\n" + +// " weight, preview_status, service_ids,is_fenxiao, tags, brand_name,\n" + +// " product_category_name, supply_id, create_time,tags, school_id,area_id,is_vip"; + + public static final String sampleGoodsList = "id, brand_id, product_category_id, feight_template_id, product_attribute_category_id, name, pic, product_sn,\n" + + " delete_status, publish_status, new_status, recommand_status, verify_status, sort, sale, price, promotion_price,\n" + + " original_price, stock, low_stock, store_name,sub_title,store_id,unit,\n" + + " weight, preview_status, service_ids,is_fenxiao, tags, brand_name,\n" + + " product_category_name, supply_id, create_time,tags, school_id,area_id,is_vip"; + public static final String sampleGoodsList1 = "id, brand_id, product_category_id, product_attribute_category_id, name,area_id, pic ,\n" + + " sale, price,\n" + + " original_price,\n" + + " weight \n" + + " "; + public static final String sampleOrderList = "id,member_id, order_sn, create_time, member_username, total_amount, pay_amount,status, order_type,pay_type,source_type,goods_id,goods_name,delivery_sn,delivery_company,receiver_name,receiver_phone,receiver_detail_address,receiver_region"; + + public static final String sampleSubjectList = "id, category_id, title, pic, product_count, recommend_status, create_time, collect_count, read_count, comment_count, album_pics, description, show_status, forward_count, category_name, area_id, school_id, member_id, area_name, school_name, reward, member_name, video_src, type"; + + public static final String sampleCommunityList = "id, company_id, name, pic, price, phone, details,wuyecompany,wuyefei,latitude,longitude,create_time "; + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/enums/OrderStatus.java b/ordermall/src/main/java/com/zscat/mallplus/enums/OrderStatus.java new file mode 100644 index 0000000..d0b1ffb --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/enums/OrderStatus.java @@ -0,0 +1,40 @@ +package com.zscat.mallplus.enums; + +/** + * @Auther: Tiger + * @Date: 2019-04-26 16:04 + * @Description: + */ +public enum OrderStatus { + + + // 订单状态:12->待付款;2->待发货;3->待收货;4->待评价;5->已完成 ; + INIT(12),//待付款 + PayNotNotice(1),//支付成功,没有回掉 + TO_DELIVER(2),//待发货 + DELIVERED(3), // 待收货 + TO_COMMENT(4),//待评价 + TRADE_SUCCESS(5), // 已完成 + + PINTUAN_ORDER(18), // 拼团下单成功 + + TO_SHARE(8), // 待分享 + REFUNDING(13), // 申请退款 + REFUND(14), // 已退款 + // CANCELED(7), + CLOSED(15), // 已关闭 // 已取消 统一 + INVALID(16),//无效订单 + DELETED(17);//已删除 + + + private int value; + + private OrderStatus(int value) { + this.value = value; + } + + public int getValue() { + return this.value; + } + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/enums/SmsEnum.java b/ordermall/src/main/java/com/zscat/mallplus/enums/SmsEnum.java new file mode 100644 index 0000000..4905211 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/enums/SmsEnum.java @@ -0,0 +1,114 @@ +package com.zscat.mallplus.enums; + +import lombok.Getter; +import org.springframework.beans.factory.annotation.Value; + +/** + * @Author dimengzhe + * @Date 2023/2/23 9:01 + * @Description + */ +public class SmsEnum { + /** + * 手机短信登录验证码时效(秒) + */ + public static final Long APP_LOGIN_CODE_TIME_LIMIT = 300L; + + @Value("${redis.key.prefix.loginCode}") + private static String REDIS_KEY_PREFIX_LOGIN_CODE; + + @Value("${redis.key.prefix.forgetCode}") + private static String REDIS_KEY_PREFIX_FORGET_CODE; + + + /** + * 发送验证码 + */ + @Getter + public static enum SendEnum { + /** + * 登录 + */ + LOGIN("1", REDIS_KEY_PREFIX_LOGIN_CODE,"登录"), + FORGET("2", REDIS_KEY_PREFIX_FORGET_CODE,"忘记密码"), + ; + + + /** + * code值 + */ + private final String code; + /** + * 备注 + */ + private final String remarks; + /** + * 缓存识别码 + */ + private final String redisKey; + + /** + * 构造器 + * + * @param code code值 + * @param redisKey 缓存识别码 + * @param remarks 备注 + */ + private SendEnum(String code, String redisKey,String remarks) { + this.code = code; + this.remarks = remarks; + this.redisKey = redisKey; + } + } + + @Getter + public static enum SmsReturnEnum { + /** + * 发送短信返回参数 + */ + ZERO("1", "提交成功"), + ONE("-1", "账号未注册"), + TWO("-2", "网络访问超时,请稍后再试"), + three("-3", "帐号或密码错误"), + FOUR("-4", "只支持单发"), + FIVE("-5", "余额不足,请充值"), + SIX("-6", "定时发送时间不是有效的时间格式"), + SEVEN("-7", "提交信息末尾未加签名,请添加中文的企业签名【 】或未采用gb2312编码"), + EIGHT("-8", "发送内容需在1到300字之间"), + NINE("-9", "发送号码为空"), + TEN("-10", "定时时间不能小于系统当前时间"), + ELEVEN("-11", "屏蔽手机号码"), + ONEZEROONE("-101", "调用接口速度太快"), + ; + + /** + * code值 + */ + private final String code; + /** + * 备注 + */ + private final String remarks; + + /** + * 构造器 + * + * @param code code值 + * @param remarks 备注 + */ + private SmsReturnEnum(String code, String remarks) { + this.code = code; + this.remarks = remarks; + } + public static String getValueByKey(String code) { + SmsReturnEnum[] sysReturnEnum = values(); + for (SmsReturnEnum returnEnum: sysReturnEnum) { + if (returnEnum.getCode().equals(code)) { + return returnEnum.getRemarks(); + } + } + return null; + } + + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/enums/StatusEnum.java b/ordermall/src/main/java/com/zscat/mallplus/enums/StatusEnum.java new file mode 100644 index 0000000..d38bc3f --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/enums/StatusEnum.java @@ -0,0 +1,92 @@ +package com.zscat.mallplus.enums; + + +import lombok.AccessLevel; +import lombok.NoArgsConstructor; + +/** + * 交易API Constant + * + * @author dp + */ +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class StatusEnum { + + + /** + * 审核类型: + * + * @author mallplus + */ + public enum AuditType implements BaseEnum { + + /** + * 初始状态 + */ + INIT(1, "init"), + /** + * 审核成功 + */ + FAIL(2, "fail"), + /** + * 审核失败 + */ + SUCESS(3, "sucess"), + ; + + private int code; + private String value; + + AuditType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 审核类型: + * + * @author mallplus + */ + public enum YesNoType implements BaseEnum { + + /** + * 启用 + */ + YES(1, "yes"), + + /** + * 禁用 + */ + NO(0, "no"), + ; + + private int code; + private String value; + + YesNoType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/enums/UmsStatusEnum.java b/ordermall/src/main/java/com/zscat/mallplus/enums/UmsStatusEnum.java new file mode 100644 index 0000000..73b695c --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/enums/UmsStatusEnum.java @@ -0,0 +1,92 @@ +package com.zscat.mallplus.enums; + + +import lombok.AccessLevel; +import lombok.NoArgsConstructor; + +/** + * 交易API Constant + * + * @author dp + */ +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public class UmsStatusEnum { + + + /** + * 标签类型: + * + * @author mallplus + */ + public enum TagType implements BaseEnum { + + /** + * 会员标签 + */ + INIT(1, "会员标签"), + /** + * 审核成功 + */ + FAIL(2, "商品标签"), + /** + * 审核失败 + */ + SUCESS(3, "文章标签"), + ; + + private int code; + private String value; + + TagType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } + + /** + * 标签方式类型: + * + * @author mallplus + */ + public enum YesNoType implements BaseEnum { + + /** + * 自动标签 + */ + YES(1, "自动标签"), + + /** + * 手动标签 + */ + NO(2, "手动标签"), + ; + + private int code; + private String value; + + YesNoType(int code, String value) { + this.code = code; + this.value = value; + } + + @Override + public Integer code() { + return code; + } + + @Override + public String desc() { + return value; + } + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/ApiMallPlusException.java b/ordermall/src/main/java/com/zscat/mallplus/exception/ApiMallPlusException.java new file mode 100644 index 0000000..10bf914 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/ApiMallPlusException.java @@ -0,0 +1,53 @@ +package com.zscat.mallplus.exception; + +/** + * 自定义异常 + * + * @author zscat + * @email 951449465@qq.com + * @date 2016年10月27日 下午10:11:27 + */ +public class ApiMallPlusException extends RuntimeException { + private static final long serialVersionUID = 1L; + + private String errmsg; + private int errno = 500; + + public ApiMallPlusException(String errmsg) { + super(errmsg); + this.errmsg = errmsg; + } + + public ApiMallPlusException(String errmsg, Throwable e) { + super(errmsg, e); + this.errmsg = errmsg; + } + + public ApiMallPlusException(String errmsg, int errno) { + super(errmsg); + this.errmsg = errmsg; + this.errno = errno; + } + + public ApiMallPlusException(String errmsg, int errno, Throwable e) { + super(errmsg, e); + this.errmsg = errmsg; + this.errno = errno; + } + + public String getErrmsg() { + return errmsg; + } + + public void setErrmsg(String errmsg) { + this.errmsg = errmsg; + } + + public int getErrno() { + return errno; + } + + public void setErrno(int errno) { + this.errno = errno; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/BusinessMallException.java b/ordermall/src/main/java/com/zscat/mallplus/exception/BusinessMallException.java new file mode 100644 index 0000000..e915576 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/BusinessMallException.java @@ -0,0 +1,53 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by Fernflower decompiler) +// + +package com.zscat.mallplus.exception; + +public class BusinessMallException extends RuntimeException { + private static final long serialVersionUID = 2874510430549463213L; + private int returnCode; + + public BusinessMallException() { + } + + public BusinessMallException(String message, Throwable cause) { + super(message, cause); + } + + public BusinessMallException(String message) { + super(message); + } + + public BusinessMallException(Throwable cause) { + super(cause); + } + + public BusinessMallException(int returnCode) { + this.returnCode = returnCode; + } + + public BusinessMallException(Exception e, int returnCode) { + super(e); + this.returnCode = returnCode; + } + + public BusinessMallException(String message, int returnCode) { + super(message); + this.returnCode = returnCode; + } + + public BusinessMallException(String message, Exception e, int returnCode) { + super(message, e); + this.returnCode = returnCode; + } + + public int getReturnCode() { + return this.returnCode; + } + + public void setReturnCode(int returnCode) { + this.returnCode = returnCode; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/JwtTokenExpiredException.java b/ordermall/src/main/java/com/zscat/mallplus/exception/JwtTokenExpiredException.java new file mode 100644 index 0000000..43f8052 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/JwtTokenExpiredException.java @@ -0,0 +1,54 @@ +package com.zscat.mallplus.exception; + +/** + * 自定义异常 + * + * @author zscat + * @email 951449465@qq.com + * @date 2016年10月27日 下午10:11:27 + */ +public class JwtTokenExpiredException extends RuntimeException { + private static final long serialVersionUID = 1L; + + private String errmsg; + private int errno = 1001; + + public JwtTokenExpiredException(String errmsg) { + super(errmsg); + this.errmsg = errmsg; + this.errno = errno; + } + + public JwtTokenExpiredException(String errmsg, Throwable e) { + super(errmsg, e); + this.errmsg = errmsg; + } + + public JwtTokenExpiredException(String errmsg, int errno) { + super(errmsg); + this.errmsg = errmsg; + this.errno = errno; + } + + public JwtTokenExpiredException(String errmsg, int errno, Throwable e) { + super(errmsg, e); + this.errmsg = errmsg; + this.errno = errno; + } + + public String getErrmsg() { + return errmsg; + } + + public void setErrmsg(String errmsg) { + this.errmsg = errmsg; + } + + public int getErrno() { + return errno; + } + + public void setErrno(int errno) { + this.errno = errno; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/MemberNotExitException.java b/ordermall/src/main/java/com/zscat/mallplus/exception/MemberNotExitException.java new file mode 100644 index 0000000..bc79df9 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/MemberNotExitException.java @@ -0,0 +1,53 @@ +package com.zscat.mallplus.exception; + +/** + * 自定义异常 + * + * @author zscat + * @email 951449465@qq.com + * @date 2016年10月27日 下午10:11:27 + */ +public class MemberNotExitException extends RuntimeException { + private static final long serialVersionUID = 1L; + + private String errmsg; + private int errno = 500; + + public MemberNotExitException(String errmsg) { + super(errmsg); + this.errmsg = errmsg; + } + + public MemberNotExitException(String errmsg, Throwable e) { + super(errmsg, e); + this.errmsg = errmsg; + } + + public MemberNotExitException(String errmsg, int errno) { + super(errmsg); + this.errmsg = errmsg; + this.errno = errno; + } + + public MemberNotExitException(String errmsg, int errno, Throwable e) { + super(errmsg, e); + this.errmsg = errmsg; + this.errno = errno; + } + + public String getErrmsg() { + return errmsg; + } + + public void setErrmsg(String errmsg) { + this.errmsg = errmsg; + } + + public int getErrno() { + return errno; + } + + public void setErrno(int errno) { + this.errno = errno; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/Server.java b/ordermall/src/main/java/com/zscat/mallplus/exception/Server.java new file mode 100644 index 0000000..bcf9def --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/Server.java @@ -0,0 +1,202 @@ +package com.zscat.mallplus.exception; + + +import com.zscat.mallplus.exception.server.*; + +import java.net.UnknownHostException; +import java.util.LinkedList; +import java.util.List; +import java.util.Properties; + +/** + * 服务器相关信息 + * + * @author Vean + */ +public class Server { + + private static final int OSHI_WAIT_SECOND = 1000; + + /** + * CPU相关信息 + */ + private Cpu cpu = new Cpu(); + + /** + * 內存相关信息 + */ + private Mem mem = new Mem(); + + /** + * JVM相关信息 + */ + private Jvm jvm = new Jvm(); + + /** + * 服务器相关信息 + */ + private Sys sys = new Sys(); + + /** + * 磁盘相关信息 + */ + private List sysFiles = new LinkedList(); + + public Cpu getCpu() { + return cpu; + } + + public void setCpu(Cpu cpu) { + this.cpu = cpu; + } + + public Mem getMem() { + return mem; + } + + public void setMem(Mem mem) { + this.mem = mem; + } + + public Jvm getJvm() { + return jvm; + } + + public void setJvm(Jvm jvm) { + this.jvm = jvm; + } + + public Sys getSys() { + return sys; + } + + public void setSys(Sys sys) { + this.sys = sys; + } + + public List getSysFiles() { + return sysFiles; + } + + /** + * 设置磁盘信息 + */ +// private void setSysFiles(OperatingSystem os) { +// FileSystem fileSystem = os.getFileSystem(); +// OSFileStore[] fsArray = fileSystem.getFileStores(); +// for (OSFileStore fs : fsArray) { +// long free = fs.getUsableSpace(); +// long total = fs.getTotalSpace(); +// long used = total - free; +// SysFile sysFile = new SysFile(); +// sysFile.setDirName(fs.getMount()); +// sysFile.setSysTypeName(fs.getType()); +// sysFile.setTypeName(fs.getName()); +// sysFile.setTotal(convertFileSize(total)); +// sysFile.setFree(convertFileSize(free)); +// sysFile.setUsed(convertFileSize(used)); +// sysFile.setUsage(Arith.mul(Arith.div(used, total, 4), 100)); +// sysFiles.add(sysFile); +// } +// } + + public void setSysFiles(List sysFiles) { + this.sysFiles = sysFiles; + } + +// public void copyTo() throws Exception { +// SystemInfo si = new SystemInfo(); +// HardwareAbstractionLayer hal = si.getHardware(); +// +// setCpuInfo(hal.getProcessor()); +// +// setMemInfo(hal.getMemory()); +// +// setSysInfo(); +// +// setJvmInfo(); +// +// setSysFiles(si.getOperatingSystem()); +// } + + /** + * 设置CPU信息 + */ +// private void setCpuInfo(CentralProcessor processor) { +// // CPU信息 +// long[] prevTicks = processor.getSystemCpuLoadTicks(); +// Util.sleep(OSHI_WAIT_SECOND); +// long[] ticks = processor.getSystemCpuLoadTicks(); +// long nice = ticks[TickType.NICE.getIndex()] - prevTicks[TickType.NICE.getIndex()]; +// long irq = ticks[TickType.IRQ.getIndex()] - prevTicks[TickType.IRQ.getIndex()]; +// long softirq = ticks[TickType.SOFTIRQ.getIndex()] - prevTicks[TickType.SOFTIRQ.getIndex()]; +// long steal = ticks[TickType.STEAL.getIndex()] - prevTicks[TickType.STEAL.getIndex()]; +// long cSys = ticks[TickType.SYSTEM.getIndex()] - prevTicks[TickType.SYSTEM.getIndex()]; +// long user = ticks[TickType.USER.getIndex()] - prevTicks[TickType.USER.getIndex()]; +// long iowait = ticks[TickType.IOWAIT.getIndex()] - prevTicks[TickType.IOWAIT.getIndex()]; +// long idle = ticks[TickType.IDLE.getIndex()] - prevTicks[TickType.IDLE.getIndex()]; +// long totalCpu = user + nice + cSys + idle + iowait + irq + softirq + steal; +// cpu.setCpuNum(processor.getLogicalProcessorCount()); +// cpu.setTotal(totalCpu); +// cpu.setSys(cSys); +// cpu.setUsed(user); +// cpu.setWait(iowait); +// cpu.setFree(idle); +// } + + /** + * 设置内存信息 + */ +// private void setMemInfo(GlobalMemory memory) { +// mem.setTotal(memory.getTotal()); +// mem.setUsed(memory.getTotal() - memory.getAvailable()); +// mem.setFree(memory.getAvailable()); +// } + + /** + * 设置服务器信息 + */ + private void setSysInfo() { + Properties props = System.getProperties(); + // sys.setComputerName(IpUtils.getHostName()); + // sys.setComputerIp(IpUtils.getHostIp()); + sys.setOsName(props.getProperty("os.name")); + sys.setOsArch(props.getProperty("os.arch")); + sys.setUserDir(props.getProperty("user.dir")); + } + + /** + * 设置Java虚拟机 + */ + private void setJvmInfo() throws UnknownHostException { + Properties props = System.getProperties(); + jvm.setTotal(Runtime.getRuntime().totalMemory()); + jvm.setMax(Runtime.getRuntime().maxMemory()); + jvm.setFree(Runtime.getRuntime().freeMemory()); + jvm.setVersion(props.getProperty("java.version")); + jvm.setHome(props.getProperty("java.home")); + } + + /** + * 字节转换 + * + * @param size 字节大小 + * @return 转换后值 + */ + public String convertFileSize(long size) { + long kb = 1024; + long mb = kb * 1024; + long gb = mb * 1024; + if (size >= gb) { + return String.format("%.1f GB", (float) size / gb); + } else if (size >= mb) { + float f = (float) size / mb; + return String.format(f > 100 ? "%.0f MB" : "%.1f MB", f); + } else if (size >= kb) { + float f = (float) size / kb; + return String.format(f > 100 ? "%.0f KB" : "%.1f KB", f); + } else { + return String.format("%d B", size); + } + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/server/Cpu.java b/ordermall/src/main/java/com/zscat/mallplus/exception/server/Cpu.java new file mode 100644 index 0000000..2ca2a7b --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/server/Cpu.java @@ -0,0 +1,89 @@ +package com.zscat.mallplus.exception.server; + + +import com.zscat.mallplus.utils.Arith; + +/** + * CPU相关信息 + * + * @author Vean + */ +public class Cpu { + /** + * 核心数 + */ + private int cpuNum; + + /** + * CPU总的使用率 + */ + private double total; + + /** + * CPU系统使用率 + */ + private double sys; + + /** + * CPU用户使用率 + */ + private double used; + + /** + * CPU当前等待率 + */ + private double wait; + + /** + * CPU当前空闲率 + */ + private double free; + + public int getCpuNum() { + return cpuNum; + } + + public void setCpuNum(int cpuNum) { + this.cpuNum = cpuNum; + } + + public double getTotal() { + return Arith.round(Arith.mul(total, 100), 2); + } + + public void setTotal(double total) { + this.total = total; + } + + public double getSys() { + return Arith.round(Arith.mul(sys / total, 100), 2); + } + + public void setSys(double sys) { + this.sys = sys; + } + + public double getUsed() { + return Arith.round(Arith.mul(used / total, 100), 2); + } + + public void setUsed(double used) { + this.used = used; + } + + public double getWait() { + return Arith.round(Arith.mul(wait / total, 100), 2); + } + + public void setWait(double wait) { + this.wait = wait; + } + + public double getFree() { + return Arith.round(Arith.mul(free / total, 100), 2); + } + + public void setFree(double free) { + this.free = free; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/server/Jvm.java b/ordermall/src/main/java/com/zscat/mallplus/exception/server/Jvm.java new file mode 100644 index 0000000..6e934a6 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/server/Jvm.java @@ -0,0 +1,108 @@ +package com.zscat.mallplus.exception.server; + + +import com.zscat.mallplus.utils.Arith; +import com.zscat.mallplus.utils.DateUtils; + +import java.lang.management.ManagementFactory; + +/** + * JVM相关信息 + * + * @author Vean + */ +public class Jvm { + /** + * 当前JVM占用的内存总数(M) + */ + private double total; + + /** + * JVM最大可用内存总数(M) + */ + private double max; + + /** + * JVM空闲内存(M) + */ + private double free; + + /** + * JDK版本 + */ + private String version; + + /** + * JDK路径 + */ + private String home; + + public double getTotal() { + return Arith.div(total, (1024 * 1024), 2); + } + + public void setTotal(double total) { + this.total = total; + } + + public double getMax() { + return Arith.div(max, (1024 * 1024), 2); + } + + public void setMax(double max) { + this.max = max; + } + + public double getFree() { + return Arith.div(free, (1024 * 1024), 2); + } + + public void setFree(double free) { + this.free = free; + } + + public double getUsed() { + return Arith.div(total - free, (1024 * 1024), 2); + } + + public double getUsage() { + return Arith.mul(Arith.div(total - free, total, 4), 100); + } + + /** + * 获取JDK名称 + */ + public String getName() { + return ManagementFactory.getRuntimeMXBean().getVmName(); + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getHome() { + return home; + } + + public void setHome(String home) { + this.home = home; + } + + /** + * JDK启动时间 + */ + public String getStartTime() { + return DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.getServerStartDate()); + } + + /** + * JDK运行时间 + */ + public String getRunTime() { + return DateUtils.getDatePoor(DateUtils.getNowDate(), DateUtils.getServerStartDate()); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/server/Mem.java b/ordermall/src/main/java/com/zscat/mallplus/exception/server/Mem.java new file mode 100644 index 0000000..73dd0dc --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/server/Mem.java @@ -0,0 +1,54 @@ +package com.zscat.mallplus.exception.server; + + +import com.zscat.mallplus.utils.Arith; + +/** + * 內存相关信息 + * + * @author Vean + */ +public class Mem { + /** + * 内存总量 + */ + private double total; + + /** + * 已用内存 + */ + private double used; + + /** + * 剩余内存 + */ + private double free; + + public double getTotal() { + return Arith.div(total, (1024 * 1024 * 1024), 2); + } + + public void setTotal(long total) { + this.total = total; + } + + public double getUsed() { + return Arith.div(used, (1024 * 1024 * 1024), 2); + } + + public void setUsed(long used) { + this.used = used; + } + + public double getFree() { + return Arith.div(free, (1024 * 1024 * 1024), 2); + } + + public void setFree(long free) { + this.free = free; + } + + public double getUsage() { + return Arith.mul(Arith.div(used, total, 4), 100); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/server/Sys.java b/ordermall/src/main/java/com/zscat/mallplus/exception/server/Sys.java new file mode 100644 index 0000000..dc9f1b2 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/server/Sys.java @@ -0,0 +1,73 @@ +package com.zscat.mallplus.exception.server; + +/** + * 系统相关信息 + * + * @author Vean + */ +public class Sys { + /** + * 服务器名称 + */ + private String computerName; + + /** + * 服务器Ip + */ + private String computerIp; + + /** + * 项目路径 + */ + private String userDir; + + /** + * 操作系统 + */ + private String osName; + + /** + * 系统架构 + */ + private String osArch; + + public String getComputerName() { + return computerName; + } + + public void setComputerName(String computerName) { + this.computerName = computerName; + } + + public String getComputerIp() { + return computerIp; + } + + public void setComputerIp(String computerIp) { + this.computerIp = computerIp; + } + + public String getUserDir() { + return userDir; + } + + public void setUserDir(String userDir) { + this.userDir = userDir; + } + + public String getOsName() { + return osName; + } + + public void setOsName(String osName) { + this.osName = osName; + } + + public String getOsArch() { + return osArch; + } + + public void setOsArch(String osArch) { + this.osArch = osArch; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/exception/server/SysFile.java b/ordermall/src/main/java/com/zscat/mallplus/exception/server/SysFile.java new file mode 100644 index 0000000..43a4efd --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/exception/server/SysFile.java @@ -0,0 +1,99 @@ +package com.zscat.mallplus.exception.server; + +/** + * 系统文件相关信息 + * + * @author Vean + */ +public class SysFile { + /** + * 盘符路径 + */ + private String dirName; + + /** + * 盘符类型 + */ + private String sysTypeName; + + /** + * 文件类型 + */ + private String typeName; + + /** + * 总大小 + */ + private String total; + + /** + * 剩余大小 + */ + private String free; + + /** + * 已经使用量 + */ + private String used; + + /** + * 资源的使用率 + */ + private double usage; + + public String getDirName() { + return dirName; + } + + public void setDirName(String dirName) { + this.dirName = dirName; + } + + public String getSysTypeName() { + return sysTypeName; + } + + public void setSysTypeName(String sysTypeName) { + this.sysTypeName = sysTypeName; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public String getTotal() { + return total; + } + + public void setTotal(String total) { + this.total = total; + } + + public String getFree() { + return free; + } + + public void setFree(String free) { + this.free = free; + } + + public String getUsed() { + return used; + } + + public void setUsed(String used) { + this.used = used; + } + + public double getUsage() { + return usage; + } + + public void setUsage(double usage) { + this.usage = usage; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/Arith.java b/ordermall/src/main/java/com/zscat/mallplus/utils/Arith.java new file mode 100644 index 0000000..6f13c3e --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/Arith.java @@ -0,0 +1,113 @@ +package com.zscat.mallplus.utils; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** + * 精确的浮点数运算 + * + * @author Vean + */ +public class Arith { + + /** + * 默认除法运算精度 + */ + private static final int DEF_DIV_SCALE = 10; + + /** + * 这个类不能实例化 + */ + private Arith() { + } + + /** + * 提供精确的加法运算。 + * + * @param v1 被加数 + * @param v2 加数 + * @return 两个参数的和 + */ + public static double add(double v1, double v2) { + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.add(b2).doubleValue(); + } + + /** + * 提供精确的减法运算。 + * + * @param v1 被减数 + * @param v2 减数 + * @return 两个参数的差 + */ + public static double sub(double v1, double v2) { + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.subtract(b2).doubleValue(); + } + + /** + * 提供精确的乘法运算。 + * + * @param v1 被乘数 + * @param v2 乘数 + * @return 两个参数的积 + */ + public static double mul(double v1, double v2) { + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.multiply(b2).doubleValue(); + } + + /** + * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到 + * 小数点以后10位,以后的数字四舍五入。 + * + * @param v1 被除数 + * @param v2 除数 + * @return 两个参数的商 + */ + public static double div(double v1, double v2) { + return div(v1, v2, DEF_DIV_SCALE); + } + + /** + * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指 + * 定精度,以后的数字四舍五入。 + * + * @param v1 被除数 + * @param v2 除数 + * @param scale 表示表示需要精确到小数点以后几位。 + * @return 两个参数的商 + */ + public static double div(double v1, double v2, int scale) { + if (scale < 0) { + throw new IllegalArgumentException( + "The scale must be a positive integer or zero"); + } + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + if (b1.compareTo(BigDecimal.ZERO) == 0) { + return BigDecimal.ZERO.doubleValue(); + } + return b1.divide(b2, scale, RoundingMode.HALF_UP).doubleValue(); + } + + /** + * 提供精确的小数位四舍五入处理。 + * + * @param v 需要四舍五入的数字 + * @param scale 小数点后保留几位 + * @return 四舍五入后的结果 + */ + public static double round(double v, int scale) { + if (scale < 0) { + throw new IllegalArgumentException( + "The scale must be a positive integer or zero"); + } + BigDecimal b = new BigDecimal(Double.toString(v)); + BigDecimal one = new BigDecimal("1"); + return b.divide(one, scale, RoundingMode.HALF_UP).doubleValue(); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/BankUtil.java b/ordermall/src/main/java/com/zscat/mallplus/utils/BankUtil.java new file mode 100644 index 0000000..951460d --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/BankUtil.java @@ -0,0 +1,390 @@ +package com.zscat.mallplus.utils; + +/** + * 通过银行的Bin号 来获取 银行名称 + * + * @author 一介草民 + */ +public class BankUtil { + //BIN号 + private final static String[] bankBin = { + "621098", "622150", "622151", "622181", "622188", "955100", "621095", "620062", "621285", "621798", "621799", + "621797", "620529", "622199", "621096", "621622", "623219", "621674", "623218", "621599", "370246", "370248", + "370249", "427010", "427018", "427019", "427020", "427029", "427030", "427039", "370247", "438125", "438126", + "451804", "451810", "451811", "458071", "489734", "489735", "489736", "510529", "427062", "524091", "427064", + "530970", "530990", "558360", "620200", "620302", "620402", "620403", "620404", "524047", "620406", "620407", + "525498", "620409", "620410", "620411", "620412", "620502", "620503", "620405", "620408", "620512", "620602", + "620604", "620607", "620611", "620612", "620704", "620706", "620707", "620708", "620709", "620710", "620609", + "620712", "620713", "620714", "620802", "620711", "620904", "620905", "621001", "620902", "621103", "621105", + "621106", "621107", "621102", "621203", "621204", "621205", "621206", "621207", "621208", "621209", "621210", + "621302", "621303", "621202", "621305", "621306", "621307", "621309", "621311", "621313", "621211", "621315", + "621304", "621402", "621404", "621405", "621406", "621407", "621408", "621409", "621410", "621502", "621317", + "621511", "621602", "621603", "621604", "621605", "621608", "621609", "621610", "621611", "621612", "621613", + "621614", "621615", "621616", "621617", "621607", "621606", "621804", "621807", "621813", "621814", "621817", + "621901", "621904", "621905", "621906", "621907", "621908", "621909", "621910", "621911", "621912", "621913", + "621915", "622002", "621903", "622004", "622005", "622006", "622007", "622008", "622010", "622011", "622012", + "621914", "622015", "622016", "622003", "622018", "622019", "622020", "622102", "622103", "622104", "622105", + "622013", "622111", "622114", "622200", "622017", "622202", "622203", "622208", "622210", "622211", "622212", + "622213", "622214", "622110", "622220", "622223", "622225", "622229", "622230", "622231", "622232", "622233", + "622234", "622235", "622237", "622215", "622239", "622240", "622245", "622224", "622303", "622304", "622305", + "622306", "622307", "622308", "622309", "622238", "622314", "622315", "622317", "622302", "622402", "622403", + "622404", "622313", "622504", "622505", "622509", "622513", "622517", "622502", "622604", "622605", "622606", + "622510", "622703", "622715", "622806", "622902", "622903", "622706", "623002", "623006", "623008", "623011", + "623012", "622904", "623015", "623100", "623202", "623301", "623400", "623500", "623602", "623803", "623901", + "623014", "624100", "624200", "624301", "624402", "62451804", "62451810", "62451811", "62458071", "623700", + "628288", "624000", "628286", "622206", "621225", "526836", "513685", "543098", "458441", "620058", "621281", + "622246", "900000", "544210", "548943", "370267", "621558", "621559", "621722", "621723", "620086", "621226", + "402791", "427028", "427038", "548259", "356879", "356880", "356881", "356882", "528856", "621618", "620516", + "621227", "621721", "900010", "625330", "625331", "625332", "623062", "622236", "621670", "524374", "550213", + "374738", "374739", "621288", "625708", "625709", "622597", "622599", "360883", "360884", "625865", "625866", + "625899", "621376", "620054", "620142", "621428", "625939", "621434", "625987", "621761", "621749", "620184", + "621300", "621378", "625114", "622159", "621720", "625021", "625022", "621379", "620114", "620146", "621724", + "625918", "621371", "620143", "620149", "621414", "625914", "621375", "620187", "621433", "625986", "621370", + "625925", "622926", "622927", "622928", "622929", "622930", "622931", "620124", "620183", "620561", "625116", + "622227", "621372", "621464", "625942", "622158", "625917", "621765", "620094", "620186", "621719", "621719", + "621750", "621377", "620148", "620185", "621374", "621731", "621781", "552599", "623206", "621671", "620059", + "403361", "404117", "404118", "404119", "404120", "404121", "463758", "514027", "519412", "519413", "520082", + "520083", "558730", "621282", "621336", "621619", "622821", "622822", "622823", "622824", "622825", "622826", + "622827", "622828", "622836", "622837", "622840", "622841", "622843", "622844", "622845", "622846", "622847", + "622848", "622849", "623018", "625996", "625997", "625998", "628268", "625826", "625827", "548478", "544243", + "622820", "622830", "622838", "625336", "628269", "620501", "621660", "621661", "621662", "621663", "621665", + "621667", "621668", "621669", "621666", "625908", "625910", "625909", "356833", "356835", "409665", "409666", + "409668", "409669", "409670", "409671", "409672", "456351", "512315", "512316", "512411", "512412", "514957", + "409667", "518378", "518379", "518474", "518475", "518476", "438088", "524865", "525745", "525746", "547766", + "552742", "553131", "558868", "514958", "622752", "622753", "622755", "524864", "622757", "622758", "622759", + "622760", "622761", "622762", "622763", "601382", "622756", "628388", "621256", "621212", "620514", "622754", + "622764", "518377", "622765", "622788", "621283", "620061", "621725", "620040", "558869", "621330", "621331", + "621332", "621333", "621297", "377677", "621568", "621569", "625905", "625906", "625907", "628313", "625333", + "628312", "623208", "621620", "621756", "621757", "621758", "621759", "621785", "621786", "621787", "621788", + "621789", "621790", "621672", "625337", "625338", "625568", "621648", "621248", "621249", "622750", "622751", + "622771", "622772", "622770", "625145", "620531", "620210", "620211", "622479", "622480", "622273", "622274", + "621231", "621638", "621334", "625140", "621395", "622725", "622728", "621284", "421349", "434061", "434062", + "436728", "436742", "453242", "491031", "524094", "526410", "544033", "552245", "589970", "620060", "621080", + "621081", "621466", "621467", "621488", "621499", "621598", "621621", "621700", "622280", "622700", "622707", + "622966", "622988", "625955", "625956", "553242", "621082", "621673", "623211", "356896", "356899", "356895", + "436718", "436738", "436745", "436748", "489592", "531693", "532450", "532458", "544887", "552801", "557080", + "558895", "559051", "622166", "622168", "622708", "625964", "625965", "625966", "628266", "628366", "625362", + "625363", "628316", "628317", "620021", "620521", "405512", "601428", "405512", "434910", "458123", "458124", + "520169", "522964", "552853", "601428", "622250", "622251", "521899", "622254", "622255", "622256", "622257", + "622258", "622259", "622253", "622261", "622284", "622656", "628216", "622252", "66405512", "622260", "66601428", + "955590", "955591", "955592", "955593", "628218", "622262", "621069", "620013", "625028", "625029", "621436", "621002", + "621335", "433670", "433680", "442729", "442730", "620082", "622690", "622691", "622692", "622696", "622698", "622998", + "622999", "433671", "968807", "968808", "968809", "621771", "621767", "621768", "621770", "621772", "621773", "620527", + "356837", "356838", "486497", "622660", "622662", "622663", "622664", "622665", "622666", "622667", "622669", "622670", + "622671", "622672", "622668", "622661", "622674", "622673", "620518", "621489", "621492", "620535", "623156", "621490", + "621491", "620085", "623155", "623157", "623158", "623159", "999999", "621222", "623020", "623021", "623022", "623023", + "622630", "622631", "622632", "622633", "622615", "622616", "622618", "622622", "622617", "622619", "415599", "421393", + "421865", "427570", "427571", "472067", "472068", "622620", "621691", "545392", "545393", "545431", "545447", "356859", + "356857", "407405", "421869", "421870", "421871", "512466", "356856", "528948", "552288", "622600", "622601", "622602", + "517636", "622621", "628258", "556610", "622603", "464580", "464581", "523952", "545217", "553161", "356858", "622623", + "625911", "377152", "377153", "377158", "377155", "625912", "625913", "356885", "356886", "356887", "356888", "356890", + "402658", "410062", "439188", "439227", "468203", "479228", "479229", "512425", "521302", "524011", "356889", "545620", + "545621", "545947", "545948", "552534", "552587", "622575", "622576", "622577", "622579", "622580", "545619", "622581", + "622582", "622588", "622598", "622609", "690755", "690755", "545623", "621286", "620520", "621483", "621485", "621486", + "628290", "622578", "370285", "370286", "370287", "370289", "439225", "518710", "518718", "628362", "439226", "628262", + "625802", "625803", "621299", "966666", "622909", "622908", "438588", "438589", "461982", "486493", "486494", "486861", + "523036", "451289", "527414", "528057", "622901", "622902", "622922", "628212", "451290", "524070", "625084", "625085", + "625086", "625087", "548738", "549633", "552398", "625082", "625083", "625960", "625961", "625962", "625963", "356851", + "356852", "404738", "404739", "456418", "498451", "515672", "356850", "517650", "525998", "622177", "622277", "622516", + "622517", "622518", "622520", "622521", "622522", "622523", "628222", "628221", "984301", "984303", "622176", "622276", + "622228", "621352", "621351", "621390", "621792", "625957", "625958", "621791", "620530", "625993", "622519", "621793", + "621795", "621796", "622500", "623078", "622384", "940034", "940015", "622886", "622391", "940072", "622359", "940066", + "622857", "940065", "621019", "622309", "621268", "622884", "621453", "622684", "621016", "621015", "622950", "622951", + "621072", "623183", "623185", "621005", "622172", "622985", "622987", "622267", "622278", "622279", "622468", "622892", + "940021", "621050", "620522", "356827", "356828", "356830", "402673", "402674", "438600", "486466", "519498", "520131", + "524031", "548838", "622148", "622149", "622268", "356829", "622300", "628230", "622269", "625099", "625953", "625350", + "625351", "625352", "519961", "625839", "421317", "602969", "621030", "621420", "621468", "623111", "422160", "422161", + "622865", "940012", "623131", "622178", "622179", "628358", "622394", "940025", "621279", "622281", "622316", "940022", + "621418", "512431", "520194", "621626", "623058", "602907", "622986", "622989", "622298", "622338", "940032", "623205", + "621977", "990027", "622325", "623029", "623105", "621244", "623081", "623108", "566666", "622455", "940039", "622466", + "628285", "622420", "940041", "623118", "603708", "622993", "623070", "623069", "623172", "623173", "622383", "622385", + "628299", "603506", "603367", "622878", "623061", "623209", "628242", "622595", "622303", "622305", "621259", "622596", + "622333", "940050", "621439", "623010", "621751", "628278", "625502", "625503", "625135", "622476", "621754", "622143", + "940001", "623026", "623086", "628291", "621532", "621482", "622135", "622152", "622153", "622154", "622996", "622997", + "940027", "623099", "623007", "940055", "622397", "622398", "940054", "622331", "622426", "625995", "621452", "628205", + "628214", "625529", "622428", "621529", "622429", "621417", "623089", "623200", "940057", "622311", "623119", "622877", + "622879", "621775", "623203", "603601", "622137", "622327", "622340", "622366", "622134", "940018", "623016", "623096", + "940049", "622425", "622425", "621577", "622485", "623098", "628329", "621538", "940006", "621269", "622275", "621216", + "622465", "940031", "621252", "622146", "940061", "621419", "623170", "622440", "940047", "940017", "622418", "623077", + "622413", "940002", "623188", "622310", "940068", "622321", "625001", "622427", "940069", "623039", "628273", "622370", + "683970", "940074", "621437", "628319", "990871", "622308", "621415", "623166", "622132", "621340", "621341", "622140", + "623073", "622147", "621633", "622301", "623171", "621422", "622335", "622336", "622165", "622315", "628295", "625950", + "621760", "622337", "622411", "623102", "622342", "623048", "622367", "622392", "623085", "622395", "622441", "622448", + "621413", "622856", "621037", "621097", "621588", "623032", "622644", "623518", "622870", "622866", "623072", "622897", + "628279", "622864", "621403", "622561", "622562", "622563", "622167", "622777", "621497", "622868", "622899", "628255", + "625988", "622566", "622567", "622625", "622626", "625946", "628200", "621076", "504923", "622173", "622422", "622447", + "622131", "940076", "621579", "622876", "622873", "622962", "622936", "623060", "622937", "623101", "621460", "622939", + "622960", "623523", "621591", "622961", "628210", "622283", "625902", "621010", "622980", "623135", "621726", "621088", + "620517", "622740", "625036", "621014", "621004", "622972", "623196", "621028", "623083", "628250", "623121", "621070", + "628253", "622979", "621035", "621038", "621086", "621498", "621296", "621448", "622945", "621755", "622940", "623120", + "628355", "621089", "623161", "628339", "621074", "621515", "623030", "621345", "621090", "623178", "621091", "623168", + "621057", "623199", "621075", "623037", "628303", "621233", "621235", "621223", "621780", "621221", "623138", "628389", + "621239", "623068", "621271", "628315", "621272", "621738", "621273", "623079", "621263", "621325", "623084", "621327", + "621753", "628331", "623160", "621366", "621388", "621348", "621359", "621360", "621217", "622959", "621270", "622396", + "622511", "623076", "621391", "621339", "621469", "621625", "623688", "623113", "621601", "621655", "621636", "623182", + "623087", "621696", "622955", "622478", "940013", "621495", "621688", "623162", "622462", "628272", "625101", "622323", + "623071", "603694", "622128", "622129", "623035", "623186", "621522", "622271", "940037", "940038", "985262", "622322", + "628381", "622481", "622341", "940058", "623115", "621258", "621465", "621528", "622328", "940062", "625288", "623038", + "625888", "622332", "940063", "623123", "622138", "621066", "621560", "621068", "620088", "621067", "622531", "622329", + "623103", "622339", "620500", "621024", "622289", "622389", "628300", "625516", "621516", "622859", "622869", "623075", + "622895", "623125", "622947", "621561", "623095", "621073", "623109", "621361", "623033", "623207", "622891", "621363", + "623189", "623510", "622995", "621053", "621230", "621229", "622218", "628267", "621392", "621481", "621310", "621396", + "623251", "628351"}; + //"发卡行.卡种名称", + private static final String[] bankName = { + "邮储银行·绿卡通", "邮储银行·绿卡银联标准卡", "邮储银行·绿卡银联标准卡", "邮储银行·绿卡专用卡", "邮储银行·绿卡银联标准卡", + "邮储银行·绿卡(银联卡)", "邮储银行·绿卡VIP卡", "邮储银行·银联标准卡", "邮储银行·中职学生资助卡", "邮政储蓄银行·IC绿卡通VIP卡", + "邮政储蓄银行·IC绿卡通", "邮政储蓄银行·IC联名卡", "邮政储蓄银行·IC预付费卡", "邮储银行·绿卡银联标准卡", "邮储银行·绿卡通", + "邮政储蓄银行·武警军人保障卡", "邮政储蓄银行·中国旅游卡(金卡)", "邮政储蓄银行·普通高中学生资助卡", "邮政储蓄银行·中国旅游卡(普卡)", + "邮政储蓄银行·福农卡", "工商银行·牡丹运通卡金卡", "工商银行·牡丹运通卡金卡", "工商银行·牡丹运通卡金卡", "工商银行·牡丹VISA卡(单位卡)", + "工商银行·牡丹VISA信用卡", "工商银行·牡丹VISA卡(单位卡)", "工商银行·牡丹VISA信用卡", "工商银行·牡丹VISA信用卡", "工商银行·牡丹VISA信用卡", + "工商银行·牡丹VISA信用卡", "工商银行·牡丹运通卡普通卡", "工商银行·牡丹VISA信用卡", "工商银行·牡丹VISA白金卡", "工商银行·牡丹贷记卡(银联卡)", + "工商银行·牡丹贷记卡(银联卡)", "工商银行·牡丹贷记卡(银联卡)", "工商银行·牡丹贷记卡(银联卡)", "工商银行·牡丹欧元卡", "工商银行·牡丹欧元卡", + "工商银行·牡丹欧元卡", "工商银行·牡丹万事达国际借记卡", "工商银行·牡丹VISA信用卡", "工商银行·海航信用卡", "工商银行·牡丹VISA信用卡", + "工商银行·牡丹万事达信用卡", "工商银行·牡丹万事达信用卡", "工商银行·牡丹万事达信用卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹万事达白金卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·海航信用卡个人普卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·灵通卡", "工商银行·牡丹灵通卡", + "工商银行·E时代卡", "工商银行·E时代卡", "工商银行·理财金卡", "工商银行·准贷记卡(个普)", "工商银行·准贷记卡(个普)", "工商银行·准贷记卡(个普)", + "工商银行·准贷记卡(个普)", "工商银行·准贷记卡(个普)", "工商银行·牡丹灵通卡", "工商银行·准贷记卡(商普)", "工商银行·牡丹卡(商务卡)", + "工商银行·准贷记卡(商金)", "工商银行·牡丹卡(商务卡)", "工商银行·贷记卡(个普)", "工商银行·牡丹卡(个人卡)", "工商银行·牡丹卡(个人卡)", + "工商银行·牡丹卡(个人卡)", "工商银行·牡丹卡(个人卡)", "工商银行·贷记卡(个金)", "工商银行·牡丹交通卡", "工商银行·准贷记卡(个金)", + "工商银行·牡丹交通卡", "工商银行·贷记卡(商普)", "工商银行·贷记卡(商金)", "工商银行·牡丹卡(商务卡)", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹交通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", + "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹灵通卡", "工商银行·牡丹贷记卡", "工商银行·牡丹贷记卡", "工商银行·牡丹贷记卡", + "工商银行·牡丹贷记卡", "工商银行·牡丹灵通卡", "工商银行·中央预算单位公务卡", "工商银行·牡丹灵通卡", "工商银行·财政预算单位公务卡", + "工商银行·牡丹卡白金卡", "工商银行·牡丹卡普卡", "工商银行·国航知音牡丹信用卡", "工商银行·国航知音牡丹信用卡", "工商银行·国航知音牡丹信用卡", + "工商银行·国航知音牡丹信用卡", "工商银行·银联标准卡", "工商银行·中职学生资助卡", "工商银行·专用信用消费卡", "工商银行·牡丹社会保障卡", + "中国工商银行·牡丹东航联名卡", "中国工商银行·牡丹东航联名卡", "中国工商银行·牡丹运通白金卡", "中国工商银行·福农灵通卡", "中国工商银行·福农灵通卡", + "工商银行·灵通卡", "工商银行·灵通卡", "中国工商银行·中国旅行卡", "工商银行·牡丹卡普卡", "工商银行·国际借记卡", "工商银行·国际借记卡", + "工商银行·国际借记卡", "工商银行·国际借记卡", "中国工商银行·牡丹JCB信用卡", "中国工商银行·牡丹JCB信用卡", "中国工商银行·牡丹JCB信用卡", + "中国工商银行·牡丹JCB信用卡", "中国工商银行·牡丹多币种卡", "中国工商银行·武警军人保障卡", "工商银行·预付芯片卡", "工商银行·理财金账户金卡", + "工商银行·灵通卡", "工商银行·牡丹宁波市民卡", "中国工商银行·中国旅游卡", "中国工商银行·中国旅游卡", "中国工商银行·中国旅游卡", "中国工商银行·借记卡", + "中国工商银行·借贷合一卡", "中国工商银行·普通高中学生资助卡", "中国工商银行·牡丹多币种卡", "中国工商银行·牡丹多币种卡", "中国工商银行·牡丹百夫长信用卡", + "中国工商银行·牡丹百夫长信用卡", "工商银行·工银财富卡", "中国工商银行·中小商户采购卡", "中国工商银行·中小商户采购卡", "中国工商银行·环球旅行金卡", + "中国工商银行·环球旅行白金卡", "中国工商银行·牡丹工银大来卡", "中国工商银行·牡丹工银大莱卡", "中国工商银行·IC金卡", "中国工商银行·IC白金卡", + "中国工商银行·工行IC卡(红卡)", "中国工商银行布鲁塞尔分行·借记卡", "中国工商银行布鲁塞尔分行·预付卡", "中国工商银行布鲁塞尔分行·预付卡", + "中国工商银行金边分行·借记卡", "中国工商银行金边分行·信用卡", "中国工商银行金边分行·借记卡", "中国工商银行金边分行·信用卡", "中国工商银行加拿大分行·借记卡", + "中国工商银行加拿大分行·借记卡", "中国工商银行加拿大分行·预付卡", "中国工商银行巴黎分行·借记卡", "中国工商银行巴黎分行·借记卡", "中国工商银行巴黎分行·贷记卡", + "中国工商银行法兰克福分行·贷记卡", "中国工商银行法兰克福分行·借记卡", "中国工商银行法兰克福分行·贷记卡", "中国工商银行法兰克福分行·贷记卡", "中国工商银行法兰克福分行·借记卡", + "中国工商银行法兰克福分行·预付卡", "中国工商银行法兰克福分行·预付卡", "中国工商银行印尼分行·借记卡", "中国工商银行印尼分行·信用卡", "中国工商银行米兰分行·借记卡", + "中国工商银行米兰分行·预付卡", "中国工商银行米兰分行·预付卡", "中国工商银行阿拉木图子行·借记卡", "中国工商银行阿拉木图子行·贷记卡", "中国工商银行阿拉木图子行·借记卡", + "中国工商银行阿拉木图子行·预付卡", "中国工商银行万象分行·借记卡", "中国工商银行万象分行·贷记卡", "中国工商银行卢森堡分行·借记卡", "中国工商银行卢森堡分行·贷记卡", + "中国工商银行澳门分行·E时代卡", "中国工商银行澳门分行·E时代卡", "中国工商银行澳门分行·E时代卡", "中国工商银行澳门分行·理财金账户", "中国工商银行澳门分行·理财金账户", + "中国工商银行澳门分行·理财金账户", "中国工商银行澳门分行·预付卡", "中国工商银行澳门分行·预付卡", "中国工商银行澳门分行·工银闪付预付卡", "中国工商银行澳门分行·工银银联公司卡", + "中国工商银行澳门分行·Diamond", "中国工商银行阿姆斯特丹·借记卡", "中国工商银行卡拉奇分行·借记卡", "中国工商银行卡拉奇分行·贷记卡", "中国工商银行新加坡分行·贷记卡", + "中国工商银行新加坡分行·贷记卡", "中国工商银行新加坡分行·借记卡", "中国工商银行新加坡分行·预付卡", "中国工商银行新加坡分行·预付卡", "中国工商银行新加坡分行·借记卡", + "中国工商银行新加坡分行·借记卡", "中国工商银行马德里分行·借记卡", "中国工商银行马德里分行·借记卡", "中国工商银行马德里分行·预付卡", "中国工商银行马德里分行·预付卡", + "中国工商银行伦敦子行·借记卡", "中国工商银行伦敦子行·工银伦敦借记卡", "中国工商银行伦敦子行·借记卡", "农业银行·金穗贷记卡", "农业银行·中国旅游卡", "农业银行·普通高中学生资助卡", + "农业银行·银联标准卡", "农业银行·金穗贷记卡(银联卡)", "农业银行·金穗贷记卡(银联卡)", "农业银行·金穗贷记卡(银联卡)", "农业银行·金穗贷记卡(银联卡)", "农业银行·金穗贷记卡(银联卡)", + "农业银行·金穗贷记卡(银联卡)", "农业银行·VISA白金卡", "农业银行·万事达白金卡", "农业银行·金穗贷记卡(银联卡)", "农业银行·金穗贷记卡(银联卡)", "农业银行·金穗贷记卡(银联卡)", + "农业银行·金穗贷记卡(银联卡)", "农业银行·金穗贷记卡", "农业银行·中职学生资助卡", "农业银行·专用惠农卡", "农业银行·武警军人保障卡", "农业银行·金穗校园卡(银联卡)", + "农业银行·金穗星座卡(银联卡)", "农业银行·金穗社保卡(银联卡)", "农业银行·金穗旅游卡(银联卡)", "农业银行·金穗青年卡(银联卡)", "农业银行·复合介质金穗通宝卡", + "农业银行·金穗海通卡", "农业银行·退役金卡", "农业银行·金穗贷记卡", "农业银行·金穗贷记卡", "农业银行·金穗通宝卡(银联卡)", "农业银行·金穗惠农卡", "农业银行·金穗通宝银卡", + "农业银行·金穗通宝卡(银联卡)", "农业银行·金穗通宝卡(银联卡)", "农业银行·金穗通宝卡", "农业银行·金穗通宝卡(银联卡)", "农业银行·金穗通宝卡(银联卡)", "农业银行·金穗通宝钻石卡", + "农业银行·掌尚钱包", "农业银行·银联IC卡金卡", "农业银行·银联预算单位公务卡金卡", "农业银行·银联IC卡白金卡", "农业银行·金穗公务卡", "中国农业银行贷记卡·IC普卡", + "中国农业银行贷记卡·IC金卡", "中国农业银行贷记卡·澳元卡", "中国农业银行贷记卡·欧元卡", "中国农业银行贷记卡·金穗通商卡", "中国农业银行贷记卡·金穗通商卡", "中国农业银行贷记卡·银联白金卡", + "中国农业银行贷记卡·中国旅游卡", "中国农业银行贷记卡·银联IC公务卡", "宁波市农业银行·市民卡B卡", "中国银行·联名卡", "中国银行·个人普卡", "中国银行·个人金卡", "中国银行·员工普卡", + "中国银行·员工金卡", "中国银行·理财普卡", "中国银行·理财金卡", "中国银行·理财银卡", "中国银行·理财白金卡", "中国银行·中行金融IC卡白金卡", "中国银行·中行金融IC卡普卡", + "中国银行·中行金融IC卡金卡", "中国银行·中银JCB卡金卡", "中国银行·中银JCB卡普卡", "中国银行·员工普卡", "中国银行·个人普卡", "中国银行·中银威士信用卡员", "中国银行·中银威士信用卡员", + "中国银行·个人白金卡", "中国银行·中银威士信用卡", "中国银行·长城公务卡", "中国银行·长城电子借记卡", "中国银行·中银万事达信用卡", "中国银行·中银万事达信用卡", "中国银行·中银万事达信用卡", + "中国银行·中银万事达信用卡", "中国银行·中银万事达信用卡", "中国银行·中银威士信用卡员", "中国银行·长城万事达信用卡", "中国银行·长城万事达信用卡", "中国银行·长城万事达信用卡", + "中国银行·长城万事达信用卡", "中国银行·长城万事达信用卡", "中国银行·中银奥运信用卡", "中国银行·长城信用卡", "中国银行·长城信用卡", "中国银行·长城信用卡", "中国银行·长城万事达信用卡", + "中国银行·长城公务卡", "中国银行·长城公务卡", "中国银行·中银万事达信用卡", "中国银行·中银万事达信用卡", "中国银行·长城人民币信用卡", "中国银行·长城人民币信用卡", "中国银行·长城人民币信用卡", + "中国银行·长城信用卡", "中国银行·长城人民币信用卡", "中国银行·长城人民币信用卡", "中国银行·长城信用卡", "中国银行·银联单币贷记卡", "中国银行·长城信用卡", "中国银行·长城信用卡", "中国银行·长城信用卡", + "中国银行·长城电子借记卡", "中国银行·长城人民币信用卡", "中国银行·银联标准公务卡", "中国银行·一卡双账户普卡", "中国银行·财互通卡", "中国银行·电子现金卡", "中国银行·长城人民币信用卡", + "中国银行·长城单位信用卡普卡", "中国银行·中银女性主题信用卡", "中国银行·长城单位信用卡金卡", "中国银行·白金卡", "中国银行·中职学生资助卡", "中国银行·银联标准卡", "中国银行·金融IC卡", + "中国银行·长城社会保障卡", "中国银行·世界卡", "中国银行·社保联名卡", "中国银行·社保联名卡", "中国银行·医保联名卡", "中国银行·医保联名卡", "中国银行·公司借记卡", "中国银行·银联美运顶级卡", + "中国银行·长城福农借记卡金卡", "中国银行·长城福农借记卡普卡", "中国银行·中行金融IC卡普卡", "中国银行·中行金融IC卡金卡", "中国银行·中行金融IC卡白金卡", "中国银行·长城银联公务IC卡白金卡", + "中国银行·中银旅游信用卡", "中国银行·长城银联公务IC卡金卡", "中国银行·中国旅游卡", "中国银行·武警军人保障卡", "中国银行·社保联名借记IC卡", "中国银行·社保联名借记IC卡", "中国银行·医保联名借记IC卡", + "中国银行·医保联名借记IC卡", "中国银行·借记IC个人普卡", "中国银行·借记IC个人金卡", "中国银行·借记IC个人普卡", "中国银行·借记IC白金卡", "中国银行·借记IC钻石卡", "中国银行·借记IC联名卡", + "中国银行·普通高中学生资助卡", "中国银行·长城环球通港澳台旅游金卡", "中国银行·长城环球通港澳台旅游白金卡", "中国银行·中银福农信用卡", "中国银行金边分行·借记卡", "中国银行雅加达分行·借记卡", + "中国银行首尔分行·借记卡", "中国银行澳门分行·人民币信用卡", "中国银行澳门分行·人民币信用卡", "中国银行澳门分行·中银卡", "中国银行澳门分行·中银卡", "中国银行澳门分行·中银卡", + "中国银行澳门分行·中银银联双币商务卡", "中国银行澳门分行·预付卡", "中国银行澳门分行·澳门中国银行银联预付卡", "中国银行澳门分行·澳门中国银行银联预付卡", "中国银行澳门分行·熊猫卡", + "中国银行澳门分行·财富卡", "中国银行澳门分行·银联港币卡", "中国银行澳门分行·银联澳门币卡", "中国银行马尼拉分行·双币种借记卡", "中国银行胡志明分行·借记卡", "中国银行曼谷分行·借记卡", + "中国银行曼谷分行·长城信用卡环球通", "中国银行曼谷分行·借记卡", "建设银行·龙卡准贷记卡", "建设银行·龙卡准贷记卡金卡", "建设银行·中职学生资助卡", "建设银行·乐当家银卡VISA", "建设银行·乐当家金卡VISA", + "建设银行·乐当家白金卡", "建设银行·龙卡普通卡VISA", "建设银行·龙卡储蓄卡", "建设银行·VISA准贷记卡(银联卡)", "建设银行·VISA准贷记金卡", "建设银行·乐当家", "建设银行·乐当家", "建设银行·准贷记金卡", + "建设银行·乐当家白金卡", "建设银行·金融复合IC卡", "建设银行·银联标准卡", "建设银行·银联理财钻石卡", "建设银行·金融IC卡", "建设银行·理财白金卡", "建设银行·社保IC卡", "建设银行·财富卡私人银行卡", + "建设银行·理财金卡", "建设银行·福农卡", "建设银行·武警军人保障卡", "建设银行·龙卡通", "建设银行·银联储蓄卡", "建设银行·龙卡储蓄卡(银联卡)", "建设银行·准贷记卡", "建设银行·理财白金卡", "建设银行·理财金卡", + "建设银行·准贷记卡普卡", "建设银行·准贷记卡金卡", "建设银行·龙卡信用卡", "建设银行·建行陆港通龙卡", "中国建设银行·普通高中学生资助卡", "中国建设银行·中国旅游卡", "中国建设银行·龙卡JCB金卡", + "中国建设银行·龙卡JCB白金卡", "中国建设银行·龙卡JCB普卡", "中国建设银行·龙卡贷记卡公司卡", "中国建设银行·龙卡贷记卡", "中国建设银行·龙卡国际普通卡VISA", "中国建设银行·龙卡国际金卡VISA", + "中国建设银行·VISA白金信用卡", "中国建设银行·龙卡国际白金卡", "中国建设银行·龙卡国际普通卡MASTER", "中国建设银行·龙卡国际金卡MASTER", "中国建设银行·龙卡万事达金卡", "中国建设银行·龙卡贷记卡", + "中国建设银行·龙卡万事达白金卡", "中国建设银行·龙卡贷记卡", "中国建设银行·龙卡万事达信用卡", "中国建设银行·龙卡人民币信用卡", "中国建设银行·龙卡人民币信用金卡", "中国建设银行·龙卡人民币白金卡", + "中国建设银行·龙卡IC信用卡普卡", "中国建设银行·龙卡IC信用卡金卡", "中国建设银行·龙卡IC信用卡白金卡", "中国建设银行·龙卡银联公务卡普卡", "中国建设银行·龙卡银联公务卡金卡", "中国建设银行·中国旅游卡", + "中国建设银行·中国旅游卡", "中国建设银行·龙卡IC公务卡", "中国建设银行·龙卡IC公务卡", "交通银行·交行预付卡", "交通银行·世博预付IC卡", "交通银行·太平洋互连卡", "交通银行·太平洋万事顺卡", + "交通银行·太平洋互连卡(银联卡)", "交通银行·太平洋白金信用卡", "交通银行·太平洋双币贷记卡", "交通银行·太平洋双币贷记卡", "交通银行·太平洋双币贷记卡", "交通银行·太平洋白金信用卡", + "交通银行·太平洋双币贷记卡", "交通银行·太平洋万事顺卡", "交通银行·太平洋人民币贷记卡", "交通银行·太平洋人民币贷记卡", "交通银行·太平洋双币贷记卡", "交通银行·太平洋准贷记卡", "交通银行·太平洋准贷记卡", + "交通银行·太平洋准贷记卡", "交通银行·太平洋准贷记卡", "交通银行·太平洋借记卡", "交通银行·太平洋借记卡", "交通银行·太平洋人民币贷记卡", "交通银行·太平洋借记卡", "交通银行·太平洋MORE卡", "交通银行·白金卡", + "交通银行·交通银行公务卡普卡", "交通银行·太平洋人民币贷记卡", "交通银行·太平洋互连卡", "交通银行·太平洋借记卡", "交通银行·太平洋万事顺卡", "交通银行·太平洋贷记卡(银联卡)", "交通银行·太平洋贷记卡(银联卡)", + "交通银行·太平洋贷记卡(银联卡)", "交通银行·太平洋贷记卡(银联卡)", "交通银行·交通银行公务卡金卡", "交通银行·交银IC卡", "交通银行香港分行·交通银行港币借记卡", "交通银行香港分行·港币礼物卡", + "交通银行香港分行·双币种信用卡", "交通银行香港分行·双币种信用卡", "交通银行香港分行·双币卡", "交通银行香港分行·银联人民币卡", "交通银行澳门分行·银联借记卡", "中信银行·中信借记卡", "中信银行·中信借记卡", + "中信银行·中信国际借记卡", "中信银行·中信国际借记卡", "中信银行·中国旅行卡", "中信银行·中信借记卡(银联卡)", "中信银行·中信借记卡(银联卡)", "中信银行·中信贵宾卡(银联卡)", "中信银行·中信理财宝金卡", + "中信银行·中信理财宝白金卡", "中信银行·中信钻石卡", "中信银行·中信钻石卡", "中信银行·中信借记卡", "中信银行·中信理财宝(银联卡)", "中信银行·中信理财宝(银联卡)", "中信银行·中信理财宝(银联卡)", + "中信银行·借记卡", "中信银行·理财宝IC卡", "中信银行·理财宝IC卡", "中信银行·理财宝IC卡", "中信银行·理财宝IC卡", "中信银行·理财宝IC卡", "中信银行·主账户复合电子现金卡", "光大银行·阳光商旅信用卡", + "光大银行·阳光商旅信用卡", "光大银行·阳光商旅信用卡", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", + "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", + "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·阳光卡(银联卡)", "光大银行·借记卡普卡", "光大银行·社会保障IC卡", "光大银行·IC借记卡普卡", "光大银行·手机支付卡", "光大银行·联名IC卡普卡", + "光大银行·借记IC卡白金卡", "光大银行·借记IC卡金卡", "光大银行·阳光旅行卡", "光大银行·借记IC卡钻石卡", "光大银行·联名IC卡金卡", "光大银行·联名IC卡白金卡", "光大银行·联名IC卡钻石卡", "华夏银行·华夏卡(银联卡)", + "华夏银行·华夏白金卡", "华夏银行·华夏普卡", "华夏银行·华夏金卡", "华夏银行·华夏白金卡", "华夏银行·华夏钻石卡", "华夏银行·华夏卡(银联卡)", "华夏银行·华夏至尊金卡(银联卡)", "华夏银行·华夏丽人卡(银联卡)", + "华夏银行·华夏万通卡", "民生银行·民生借记卡(银联卡)", "民生银行·民生银联借记卡-金卡", "民生银行·钻石卡", "民生银行·民生借记卡(银联卡)", "民生银行·民生借记卡(银联卡)", "民生银行·民生借记卡(银联卡)", + "民生银行·民生借记卡", "民生银行·民生国际卡", "民生银行·民生国际卡(银卡)", "民生银行·民生国际卡(欧元卡)", "民生银行·民生国际卡(澳元卡)", "民生银行·民生国际卡", "民生银行·民生国际卡", "民生银行·薪资理财卡", + "民生银行·借记卡普卡", "民生银行·民生MasterCard", "民生银行·民生MasterCard", "民生银行·民生MasterCard", "民生银行·民生MasterCard", "民生银行·民生JCB信用卡", "民生银行·民生JCB金卡", "民生银行·民生贷记卡(银联卡)", + "民生银行·民生贷记卡(银联卡)", "民生银行·民生贷记卡(银联卡)", "民生银行·民生贷记卡(银联卡)", "民生银行·民生贷记卡(银联卡)", "民生银行·民生JCB普卡", "民生银行·民生贷记卡(银联卡)", "民生银行·民生贷记卡(银联卡)", + "民生银行·民生信用卡(银联卡)", "民生银行·民生信用卡(银联卡)", "民生银行·民生银联白金信用卡", "民生银行·民生贷记卡(银联卡)", "民生银行·民生银联个人白金卡", "民生银行·公务卡金卡", "民生银行·民生贷记卡(银联卡)", + "民生银行·民生银联商务信用卡", "民生银行·民VISA无限卡", "民生银行·民生VISA商务白金卡", "民生银行·民生万事达钛金卡", "民生银行·民生万事达世界卡", "民生银行·民生万事达白金公务卡", "民生银行·民生JCB白金卡", + "民生银行·银联标准金卡", "民生银行·银联芯片普卡", "民生银行·民生运通双币信用卡普卡", "民生银行·民生运通双币信用卡金卡", "民生银行·民生运通双币信用卡钻石卡", "民生银行·民生运通双币标准信用卡白金卡", + "民生银行·银联芯片金卡", "民生银行·银联芯片白金卡", "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·两地一卡通", + "招商银行·招行国际卡(银联卡)", "招商银行·招商银行信用卡", "招商银行·VISA商务信用卡", "招商银行·招行国际卡(银联卡)", "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·招行国际卡(银联卡)", + "招商银行·世纪金花联名信用卡", "招商银行·招行国际卡(银联卡)", "招商银行·招商银行信用卡", "招商银行·万事达信用卡", "招商银行·万事达信用卡", "招商银行·万事达信用卡", "招商银行·万事达信用卡", "招商银行·招商银行信用卡", + "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·招商银行信用卡", "招商银行·一卡通(银联卡)", "招商银行·万事达信用卡", "招商银行·招商银行信用卡", + "招商银行·招商银行信用卡", "招商银行·一卡通(银联卡)", "招商银行·公司卡(银联卡)", "招商银行·金卡", "招商银行·招行一卡通", "招商银行·招行一卡通", "招商银行·万事达信用卡", "招商银行·金葵花卡", "招商银行·电子现金卡", + "招商银行·银联IC普卡", "招商银行·银联IC金卡", "招商银行·银联金葵花IC卡", "招商银行·IC公务卡", "招商银行·招商银行信用卡", "招商银行信用卡中心·美国运通绿卡", "招商银行信用卡中心·美国运通金卡", + "招商银行信用卡中心·美国运通商务绿卡", "招商银行信用卡中心·美国运通商务金卡", "招商银行信用卡中心·VISA信用卡", "招商银行信用卡中心·MASTER信用卡", "招商银行信用卡中心·MASTER信用金卡", + "招商银行信用卡中心·银联标准公务卡(金卡)", "招商银行信用卡中心·VISA信用卡", "招商银行信用卡中心·银联标准财政公务卡", "招商银行信用卡中心·芯片IC信用卡", "招商银行信用卡中心·芯片IC信用卡", + "招商银行香港分行·香港一卡通", "兴业银行·兴业卡(银联卡)", "兴业银行·兴业卡(银联标准卡)", "兴业银行·兴业自然人生理财卡", "兴业银行·兴业智能卡(银联卡)", "兴业银行·兴业智能卡", + "兴业银行·visa标准双币个人普卡", "兴业银行·VISA商务普卡", "兴业银行·VISA商务金卡", "兴业银行·VISA运动白金信用卡", "兴业银行·万事达信用卡(银联卡)", "兴业银行·VISA信用卡(银联卡)", + "兴业银行·加菲猫信用卡", "兴业银行·个人白金卡", "兴业银行·银联信用卡(银联卡)", "兴业银行·银联信用卡(银联卡)", "兴业银行·银联白金信用卡", "兴业银行·银联标准公务卡", "兴业银行·VISA信用卡(银联卡)", + "兴业银行·万事达信用卡(银联卡)", "兴业银行·银联标准贷记普卡", "兴业银行·银联标准贷记金卡", "兴业银行·银联标准贷记金卡", "兴业银行·银联标准贷记金卡", "兴业银行·兴业信用卡", "兴业银行·兴业信用卡", + "兴业银行·兴业信用卡", "兴业银行·银联标准贷记普卡", "兴业银行·银联标准贷记普卡", "兴业银行·兴业芯片普卡", "兴业银行·兴业芯片金卡", "兴业银行·兴业芯片白金卡", "兴业银行·兴业芯片钻石卡", "浦东发展银行·浦发JCB金卡", + "浦东发展银行·浦发JCB白金卡", "浦东发展银行·信用卡VISA普通", "浦东发展银行·信用卡VISA金卡", "浦东发展银行·浦发银行VISA年青卡", "浦东发展银行·VISA白金信用卡", "浦东发展银行·浦发万事达白金卡", "浦东发展银行·浦发JCB普卡", + "浦东发展银行·浦发万事达金卡", "浦东发展银行·浦发万事达普卡", "浦东发展银行·浦发单币卡", "浦东发展银行·浦发银联单币麦兜普卡", "浦东发展银行·东方轻松理财卡", "浦东发展银行·东方-轻松理财卡普卡", "浦东发展银行·东方轻松理财卡", + "浦东发展银行·东方轻松理财智业金卡", "浦东发展银行·东方卡(银联卡)", "浦东发展银行·东方卡(银联卡)", "浦东发展银行·东方卡(银联卡)", "浦东发展银行·公务卡金卡", "浦东发展银行·公务卡普卡", "浦东发展银行·东方卡", + "浦东发展银行·东方卡", "浦东发展银行·浦发单币卡", "浦东发展银行·浦发联名信用卡", "浦东发展银行·浦发银联白金卡", "浦东发展银行·轻松理财普卡", "浦东发展银行·移动联名卡", "浦东发展银行·轻松理财消贷易卡", + "浦东发展银行·轻松理财普卡(复合卡)", "浦东发展银行·贷记卡", "浦东发展银行·贷记卡", "浦东发展银行·东方借记卡(复合卡)", "浦东发展银行·电子现金卡(IC卡)", "浦东发展银行·移动浦发联名卡", + "浦东发展银行·东方-标准准贷记卡", "浦东发展银行·轻松理财金卡(复合卡)", "浦东发展银行·轻松理财白金卡(复合卡)", "浦东发展银行·轻松理财钻石卡(复合卡)", "浦东发展银行·东方卡", "恒丰银行·九州IC卡", + "恒丰银行·九州借记卡(银联卡)", "恒丰银行·九州借记卡(银联卡)", "天津市商业银行·银联卡(银联卡)", "烟台商业银行·金通卡", "潍坊银行·鸢都卡(银联卡)", "潍坊银行·鸳都卡(银联卡)", "临沂商业银行·沂蒙卡(银联卡)", + "临沂商业银行·沂蒙卡(银联卡)", "日照市商业银行·黄海卡", "日照市商业银行·黄海卡(银联卡)", "浙商银行·商卡", "浙商银行·商卡", "渤海银行·浩瀚金卡", "渤海银行·渤海银行借记卡", "渤海银行·金融IC卡", + "渤海银行·渤海银行公司借记卡", "星展银行·星展银行借记卡", "星展银行·星展银行借记卡", "恒生银行·恒生通财卡", "恒生银行·恒生优越通财卡", "新韩银行·新韩卡", "上海银行·慧通钻石卡", "上海银行·慧通金卡", + "上海银行·私人银行卡", "上海银行·综合保险卡", "上海银行·申卡社保副卡(有折)", "上海银行·申卡社保副卡(无折)", "上海银行·白金IC借记卡", "上海银行·慧通白金卡(配折)", "上海银行·慧通白金卡(不配折)", + "上海银行·申卡(银联卡)", "上海银行·申卡借记卡", "上海银行·银联申卡(银联卡)", "上海银行·单位借记卡", "上海银行·首发纪念版IC卡", "上海银行·申卡贷记卡", "上海银行·申卡贷记卡", "上海银行·J分期付款信用卡", + "上海银行·申卡贷记卡", "上海银行·申卡贷记卡", "上海银行·上海申卡IC", "上海银行·申卡贷记卡", "上海银行·申卡贷记卡普通卡", "上海银行·申卡贷记卡金卡", "上海银行·万事达白金卡", "上海银行·万事达星运卡", + "上海银行·申卡贷记卡金卡", "上海银行·申卡贷记卡普通卡", "上海银行·安融卡", "上海银行·分期付款信用卡", "上海银行·信用卡", "上海银行·个人公务卡", "上海银行·安融卡", "上海银行·上海银行银联白金卡", + "上海银行·贷记IC卡", "上海银行·中国旅游卡(IC普卡)", "上海银行·中国旅游卡(IC金卡)", "上海银行·中国旅游卡(IC白金卡)", "上海银行·万事达钻石卡", "上海银行·淘宝IC普卡", "北京银行·京卡借记卡", + "北京银行·京卡(银联卡)", "北京银行·京卡借记卡", "北京银行·京卡", "北京银行·京卡", "北京银行·借记IC卡", "北京银行·京卡贵宾金卡", "北京银行·京卡贵宾白金卡", "吉林银行·君子兰一卡通(银联卡)", + "吉林银行·君子兰卡(银联卡)", "吉林银行·长白山金融IC卡", "吉林银行·信用卡", "吉林银行·信用卡", "吉林银行·公务卡", "镇江市商业银行·金山灵通卡(银联卡)", "镇江市商业银行·金山灵通卡(银联卡)", + "宁波银行·银联标准卡", "宁波银行·汇通借记卡", "宁波银行·汇通卡(银联卡)", "宁波银行·明州卡", "宁波银行·汇通借记卡", "宁波银行·汇通国际卡银联双币卡", "宁波银行·汇通国际卡银联双币卡", + "平安银行·新磁条借记卡", "平安银行·平安银行IC借记卡", "平安银行·万事顺卡", "平安银行·平安银行借记卡", "平安银行·平安银行借记卡", "平安银行·万事顺借记卡", "焦作市商业银行·月季借记卡(银联卡)", + "焦作市商业银行·月季城市通(银联卡)", "焦作市商业银行·中国旅游卡", "温州银行·金鹿卡", "汉口银行·九通卡(银联卡)", "汉口银行·九通卡", "汉口银行·借记卡", "汉口银行·借记卡", "盛京银行·玫瑰卡", + "盛京银行·玫瑰IC卡", "盛京银行·玫瑰IC卡", "盛京银行·玫瑰卡", "盛京银行·玫瑰卡", "盛京银行·玫瑰卡(银联卡)", "盛京银行·玫瑰卡(银联卡)", "盛京银行·盛京银行公务卡", "洛阳银行·都市一卡通(银联卡)", + "洛阳银行·都市一卡通(银联卡)", "洛阳银行·--", "大连银行·北方明珠卡", "大连银行·人民币借记卡", "大连银行·金融IC借记卡", "大连银行·大连市社会保障卡", "大连银行·借记IC卡", "大连银行·借记IC卡", + "大连银行·大连市商业银行贷记卡", "大连银行·大连市商业银行贷记卡", "大连银行·银联标准公务卡", "苏州市商业银行·姑苏卡", "杭州商业银行·西湖卡", "杭州商业银行·西湖卡", "杭州商业银行·借记IC卡", + "杭州商业银行·", "南京银行·梅花信用卡公务卡", "南京银行·梅花信用卡商务卡", "南京银行·梅花贷记卡(银联卡)", "南京银行·梅花借记卡(银联卡)", "南京银行·白金卡", "南京银行·商务卡", "东莞市商业银行·万顺通卡(银联卡)", + "东莞市商业银行·万顺通卡(银联卡)", "东莞市商业银行·万顺通借记卡", "东莞市商业银行·社会保障卡", "乌鲁木齐市商业银行·雪莲借记IC卡", "乌鲁木齐市商业银行·乌鲁木齐市公务卡", "乌鲁木齐市商业银行·福农卡贷记卡", + "乌鲁木齐市商业银行·福农卡准贷记卡", "乌鲁木齐市商业银行·雪莲准贷记卡", "乌鲁木齐市商业银行·雪莲贷记卡(银联卡)", "乌鲁木齐市商业银行·雪莲借记IC卡", "乌鲁木齐市商业银行·雪莲借记卡(银联卡)", + "乌鲁木齐市商业银行·雪莲卡(银联卡)", "绍兴银行·兰花IC借记卡", "绍兴银行·社保IC借记卡", "绍兴银行·兰花公务卡", "成都商业银行·芙蓉锦程福农卡", "成都商业银行·芙蓉锦程天府通卡", "成都商业银行·锦程卡(银联卡)", + "成都商业银行·锦程卡金卡", "成都商业银行·锦程卡定活一卡通金卡", "成都商业银行·锦程卡定活一卡通", "成都商业银行·锦程力诚联名卡", "成都商业银行·锦程力诚联名卡", "成都商业银行·锦程卡(银联卡)", "抚顺银行·借记IC卡", + "临商银行·借记卡", "宜昌市商业银行·三峡卡(银联卡)", "宜昌市商业银行·信用卡(银联卡)", "葫芦岛市商业银行·一通卡", "葫芦岛市商业银行·一卡通(银联卡)", "天津市商业银行·津卡", "天津市商业银行·津卡贷记卡(银联卡)", + "天津市商业银行·贷记IC卡", "天津市商业银行·--", "天津银行·商务卡", "宁夏银行·宁夏银行公务卡", "宁夏银行·宁夏银行福农贷记卡", "宁夏银行·如意卡(银联卡)", "宁夏银行·宁夏银行福农借记卡", "宁夏银行·如意借记卡", + "宁夏银行·如意IC卡", "宁夏银行·宁夏银行如意借记卡", "宁夏银行·中国旅游卡", "齐商银行·金达卡(银联卡)", "齐商银行·金达借记卡(银联卡)", "齐商银行·金达IC卡", "徽商银行·黄山卡", "徽商银行·黄山卡", "徽商银行·借记卡", + "徽商银行·徽商银行中国旅游卡(安徽)", "徽商银行合肥分行·黄山卡", "徽商银行芜湖分行·黄山卡(银联卡)", "徽商银行马鞍山分行·黄山卡(银联卡)", "徽商银行淮北分行·黄山卡(银联卡)", "徽商银行安庆分行·黄山卡(银联卡)", + "重庆银行·长江卡(银联卡)", "重庆银行·长江卡(银联卡)", "重庆银行·长江卡", "重庆银行·借记IC卡", "哈尔滨银行·丁香一卡通(银联卡)", "哈尔滨银行·丁香借记卡(银联卡)", "哈尔滨银行·丁香卡", "哈尔滨银行·福农借记卡", + "无锡市商业银行·太湖金保卡(银联卡)", "丹东银行·借记IC卡", "丹东银行·丹东银行公务卡", "兰州银行·敦煌卡", "南昌银行·金瑞卡(银联卡)", "南昌银行·南昌银行借记卡", "南昌银行·金瑞卡", "晋商银行·晋龙一卡通", + "晋商银行·晋龙一卡通", "晋商银行·晋龙卡(银联卡)", "青岛银行·金桥通卡", "青岛银行·金桥卡(银联卡)", "青岛银行·金桥卡(银联卡)", "青岛银行·金桥卡", "青岛银行·借记IC卡", "吉林银行·雾凇卡(银联卡)", + "吉林银行·雾凇卡(银联卡)", "南通商业银行·金桥卡(银联卡)", "南通商业银行·金桥卡(银联卡)", "日照银行·黄海卡、财富卡借记卡", "鞍山银行·千山卡(银联卡)", "鞍山银行·千山卡(银联卡)", "鞍山银行·千山卡", + "青海银行·三江银行卡(银联卡)", "青海银行·三江卡", "台州银行·大唐贷记卡", "台州银行·大唐准贷记卡", "台州银行·大唐卡(银联卡)", "台州银行·大唐卡", "台州银行·借记卡", "台州银行·公务卡", + "泉州银行·海峡银联卡(银联卡)", "泉州银行·海峡储蓄卡", "泉州银行·海峡银联卡(银联卡)", "泉州银行·海峡卡", "泉州银行·公务卡", "昆明商业银行·春城卡(银联卡)", "昆明商业银行·春城卡(银联卡)", + "昆明商业银行·富滇IC卡(复合卡)", "阜新银行·借记IC卡", "嘉兴银行·南湖借记卡(银联卡)", "廊坊银行·白金卡", "廊坊银行·金卡", "廊坊银行·银星卡(银联卡)", "廊坊银行·龙凤呈祥卡", "内蒙古银行·百灵卡(银联卡)", + "内蒙古银行·成吉思汗卡", "湖州市商业银行·百合卡", "湖州市商业银行·", "沧州银行·狮城卡", "南宁市商业银行·桂花卡(银联卡)", "包商银行·雄鹰卡(银联卡)", "包商银行·包头市商业银行借记卡", "包商银行·雄鹰贷记卡", + "包商银行·包商银行内蒙古自治区公务卡", "包商银行·贷记卡", "包商银行·借记卡", "连云港市商业银行·金猴神通借记卡", "威海商业银行·通达卡(银联卡)", "威海市商业银行·通达借记IC卡", "攀枝花市商业银行·攀枝花卡(银联卡)", + "攀枝花市商业银行·攀枝花卡", "绵阳市商业银行·科技城卡(银联卡)", "泸州市商业银行·酒城卡(银联卡)", "泸州市商业银行·酒城IC卡", "大同市商业银行·云冈卡(银联卡)", "三门峡银行·天鹅卡(银联卡)", "广东南粤银行·南珠卡(银联卡)", + "张家口市商业银行·好运IC借记卡", "桂林市商业银行·漓江卡(银联卡)", "龙江银行·福农借记卡", "龙江银行·联名借记卡", "龙江银行·福农借记卡", "龙江银行·龙江IC卡", "龙江银行·社会保障卡", "龙江银行·--", + "江苏长江商业银行·长江卡", "徐州市商业银行·彭城借记卡(银联卡)", "南充市商业银行·借记IC卡", "南充市商业银行·熊猫团团卡", "莱商银行·银联标准卡", "莱芜银行·金凤卡", "莱商银行·借记IC卡", "德阳银行·锦程卡定活一卡通", + "德阳银行·锦程卡定活一卡通金卡", "德阳银行·锦程卡定活一卡通", "唐山市商业银行·唐山市城通卡", "曲靖市商业银行·珠江源卡", "曲靖市商业银行·珠江源IC卡", "温州银行·金鹿信用卡", "温州银行·金鹿信用卡", + "温州银行·金鹿公务卡", "温州银行·贷记IC卡", "汉口银行·汉口银行贷记卡", "汉口银行·汉口银行贷记卡", "汉口银行·九通香港旅游贷记普卡", "汉口银行·九通香港旅游贷记金卡", "汉口银行·贷记卡", "汉口银行·九通公务卡", + "江苏银行·聚宝借记卡", "江苏银行·月季卡", "江苏银行·紫金卡", "江苏银行·绿扬卡(银联卡)", "江苏银行·月季卡(银联卡)", "江苏银行·九州借记卡(银联卡)", "江苏银行·月季卡(银联卡)", "江苏银行·聚宝惠民福农卡", + "江苏银行·江苏银行聚宝IC借记卡", "江苏银行·聚宝IC借记卡VIP卡", "长治市商业银行·长治商行银联晋龙卡", "承德市商业银行·热河卡", "承德银行·借记IC卡", "德州银行·长河借记卡", "德州银行·--", "遵义市商业银行·社保卡", + "遵义市商业银行·尊卡", "邯郸市商业银行·邯银卡", "邯郸市商业银行·邯郸银行贵宾IC借记卡", "安顺市商业银行·黄果树福农卡", "安顺市商业银行·黄果树借记卡", "江苏银行·紫金信用卡(公务卡)", "江苏银行·紫金信用卡", + "江苏银行·天翼联名信用卡", "平凉市商业银行·广成卡", "玉溪市商业银行·红塔卡", "玉溪市商业银行·红塔卡", "浙江民泰商业银行·金融IC卡", "浙江民泰商业银行·民泰借记卡", "浙江民泰商业银行·金融IC卡C卡", + "浙江民泰商业银行·银联标准普卡金卡", "浙江民泰商业银行·商惠通", "上饶市商业银行·三清山卡", "东营银行·胜利卡", "泰安市商业银行·岱宗卡", "泰安市商业银行·市民一卡通", "浙江稠州商业银行·义卡", + "浙江稠州商业银行·义卡借记IC卡", "浙江稠州商业银行·公务卡", "自贡市商业银行·借记IC卡", "自贡市商业银行·锦程卡", "鄂尔多斯银行·天骄公务卡", "鹤壁银行·鹤卡", "许昌银行·连城卡", "铁岭银行·龙凤卡", + "乐山市商业银行·大福卡", "乐山市商业银行·--", "长安银行·长长卡", "长安银行·借记IC卡", "重庆三峡银行·财富人生卡", "重庆三峡银行·借记卡", "石嘴山银行·麒麟借记卡", "石嘴山银行·麒麟借记卡", + "石嘴山银行·麒麟公务卡", "盘锦市商业银行·鹤卡", "盘锦市商业银行·盘锦市商业银行鹤卡", "平顶山银行·平顶山银行公务卡", "朝阳银行·鑫鑫通卡", "朝阳银行·朝阳银行福农卡", "朝阳银行·红山卡", "宁波东海银行·绿叶卡", + "遂宁市商业银行·锦程卡", "遂宁是商业银行·金荷卡", "保定银行·直隶卡", "保定银行·直隶卡", "凉山州商业银行·锦程卡", "凉山州商业银行·金凉山卡", "漯河银行·福卡", "漯河银行·福源卡", "漯河银行·福源公务卡", + "达州市商业银行·锦程卡", "新乡市商业银行·新卡", "晋中银行·九州方圆借记卡", "晋中银行·九州方圆卡", "驻马店银行·驿站卡", "驻马店银行·驿站卡", "驻马店银行·公务卡", "衡水银行·金鼎卡", "衡水银行·借记IC卡", + "周口银行·如愿卡", "周口银行·公务卡", "阳泉市商业银行·金鼎卡", "阳泉市商业银行·金鼎卡", "宜宾市商业银行·锦程卡", "宜宾市商业银行·借记IC卡", "库尔勒市商业银行·孔雀胡杨卡", "雅安市商业银行·锦城卡", + "雅安市商业银行·--", "安阳银行·安鼎卡", "信阳银行·信阳卡", "信阳银行·公务卡", "信阳银行·信阳卡", "华融湘江银行·华融卡", "华融湘江银行·华融卡", "营口沿海银行·祥云借记卡", "景德镇商业银行·瓷都卡", + "哈密市商业银行·瓜香借记卡", "湖北银行·金牛卡", "湖北银行·汉江卡", "湖北银行·借记卡", "湖北银行·三峡卡", "湖北银行·至尊卡", "湖北银行·金融IC卡", "西藏银行·借记IC卡", "新疆汇和银行·汇和卡", + "广东华兴银行·借记卡", "广东华兴银行·华兴银联公司卡", "广东华兴银行·华兴联名IC卡", "广东华兴银行·华兴金融IC借记卡", "濮阳银行·龙翔卡", "宁波通商银行·借记卡", "甘肃银行·神舟兴陇借记卡", + "甘肃银行·甘肃银行神州兴陇IC卡", "枣庄银行·借记IC卡", "本溪市商业银行·借记卡", "盛京银行·医保卡", "上海农商银行·如意卡(银联卡)", "上海农商银行·如意卡(银联卡)", "上海农商银行·鑫通卡", + "上海农商银行·国际如意卡", "上海农商银行·借记IC卡", "常熟市农村商业银行·粒金贷记卡(银联卡)", "常熟市农村商业银行·公务卡", "常熟市农村商业银行·粒金准贷卡", "常熟农村商业银行·粒金借记卡(银联卡)", + "常熟农村商业银行·粒金IC卡", "常熟农村商业银行·粒金卡", "深圳农村商业银行·信通卡(银联卡)", "深圳农村商业银行·信通商务卡(银联卡)", "深圳农村商业银行·信通卡", "深圳农村商业银行·信通商务卡", + "广州农村商业银行·福农太阳卡", "广东南海农村商业银行·盛通卡", "广东南海农村商业银行·盛通卡(银联卡)", "佛山顺德农村商业银行·恒通卡(银联卡)", "佛山顺德农村商业银行·恒通卡", + "佛山顺德农村商业银行·恒通卡(银联卡)", "江阴农村商业银行·暨阳公务卡", "江阴市农村商业银行·合作贷记卡(银联卡)", "江阴农村商业银行·合作借记卡", "江阴农村商业银行·合作卡(银联卡)", + "江阴农村商业银行·暨阳卡", "重庆农村商业银行·江渝借记卡VIP卡", "重庆农村商业银行·江渝IC借记卡", "重庆农村商业银行·江渝乡情福农卡", "东莞农村商业银行·信通卡(银联卡)", + "东莞农村商业银行·信通卡(银联卡)", "东莞农村商业银行·信通信用卡", "东莞农村商业银行·信通借记卡", "东莞农村商业银行·贷记IC卡", "张家港农村商业银行·一卡通(银联卡)", + "张家港农村商业银行·一卡通(银联卡)", "张家港农村商业银行·", "北京农村商业银行·信通卡", "北京农村商业银行·惠通卡", "北京农村商业银行·凤凰福农卡", "北京农村商业银行·惠通卡", + "北京农村商业银行·中国旅行卡", "北京农村商业银行·凤凰卡", "天津农村商业银行·吉祥商联IC卡", "天津农村商业银行·信通借记卡(银联卡)", "天津农村商业银行·借记IC卡", + "鄞州农村合作银行·蜜蜂借记卡(银联卡)", "宁波鄞州农村合作银行·蜜蜂电子钱包(IC)", "宁波鄞州农村合作银行·蜜蜂IC借记卡", "宁波鄞州农村合作银行·蜜蜂贷记IC卡", "宁波鄞州农村合作银行·蜜蜂贷记卡", + "宁波鄞州农村合作银行·公务卡", "成都农村商业银行·福农卡", "成都农村商业银行·福农卡", "珠海农村商业银行·信通卡(银联卡)", "太仓农村商业银行·郑和卡(银联卡)", "太仓农村商业银行·郑和IC借记卡", + "无锡农村商业银行·金阿福", "无锡农村商业银行·借记IC卡", "黄河农村商业银行·黄河卡", "黄河农村商业银行·黄河富农卡福农卡", "黄河农村商业银行·借记IC卡", "天津滨海农村商业银行·四海通卡", + "天津滨海农村商业银行·四海通e芯卡", "武汉农村商业银行·汉卡", "武汉农村商业银行·汉卡", "武汉农村商业银行·中国旅游卡", "江南农村商业银行·阳湖卡(银联卡)", "江南农村商业银行·天天红火卡", + "江南农村商业银行·借记IC卡", "海口联合农村商业银行·海口联合农村商业银行合卡", "湖北嘉鱼吴江村镇银行·垂虹卡", "福建建瓯石狮村镇银行·玉竹卡", "浙江平湖工银村镇银行·金平卡", "重庆璧山工银村镇银行·翡翠卡", + "重庆农村商业银行·银联标准贷记卡", "重庆农村商业银行·公务卡", "南阳村镇银行·玉都卡", "晋中市榆次融信村镇银行·魏榆卡", "三水珠江村镇银行·珠江太阳卡", "东营莱商村镇银行·绿洲卡", "建设银行·单位结算卡", + "玉溪市商业银行·红塔卡"}; + + public static void main(String[] args) { + String cardNumber = "6210676802084484923";//卡号 + String name = getNameOfBank(cardNumber); + System.out.println(name); + } + + //传入卡号 得到银行名称 + public static String getNameOfBank(String idCard) { + int index = -1; + + if (idCard == null || idCard.length() < 16 || idCard.length() > 19) { + return ""; + } + + //6位Bin号 + String cardbin_6 = idCard.substring(0, 6); + for (int i = 0; i < bankBin.length; i++) { + if (cardbin_6.equals(bankBin[i])) { + index = i; + } + } + if (index != -1) { + return bankName[index]; + } + + //8位Bin号 + String cardbin_8 = idCard.substring(0, 8); + for (int i = 0; i < bankBin.length; i++) { + if (cardbin_8.equals(bankBin[i])) { + index = i; + } + } + if (index != -1) { + return bankName[index]; + } + + return ""; + } + +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/BaseEntity.java b/ordermall/src/main/java/com/zscat/mallplus/utils/BaseEntity.java new file mode 100644 index 0000000..30ac057 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/BaseEntity.java @@ -0,0 +1,23 @@ +package com.zscat.mallplus.utils; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + * @Auther: shenzhuan + * @Date: 2019/5/19 02:16 + * @Description: + */ +@Setter +@Getter +public class BaseEntity implements Serializable { + //部署admin的时候 删除 + //部署portal的时候 解除 + @TableField("store_id") + private Integer storeId; + + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/BeanUtil.java b/ordermall/src/main/java/com/zscat/mallplus/utils/BeanUtil.java new file mode 100644 index 0000000..356b18d --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/BeanUtil.java @@ -0,0 +1,104 @@ +package com.zscat.mallplus.utils; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import org.springframework.beans.BeanUtils; +import org.springframework.cglib.beans.BeanMap; + +import java.util.List; +import java.util.Map; + +/** + * Created on 2018/2/26 0026. + * + * @author enilu + */ +public class BeanUtil { + /** + * 将对象装换为map + * @param bean + * @return + */ + public static Map beanToMap(T bean) { + Map map = Maps.newHashMap(); + if (bean != null) { + BeanMap beanMap = BeanMap.create(bean); + for (Object key : beanMap.keySet()) { + map.put(key+"", beanMap.get(key)); + } + } + return map; + } + + /** + * 将map装换为javabean对象 + * @param map + * @param bean + * @return + */ + public static T mapToBean(Map map,T bean) { + BeanMap beanMap = BeanMap.create(bean); + beanMap.putAll(map); + return bean; + } + + /** + * 将List转换为List> + * @param objList + * @return + */ + public static List> objectsToMaps(List objList) { + List> list = Lists.newArrayList(); + if (objList != null && objList.size() > 0) { + Map map = null; + T bean = null; + for (int i = 0,size = objList.size(); i < size; i++) { + bean = objList.get(i); + map = beanToMap(bean); + list.add(map); + } + } + return list; + } + + /** + * 将List>转换为List + * @param maps + * @param clazz + * @return + * @throws InstantiationException + * @throws IllegalAccessException + */ + public static List mapsToObjects(List> maps,Class clazz) throws InstantiationException, IllegalAccessException { + List list = Lists.newArrayList(); + if (maps != null && maps.size() > 0) { + Map map = null; + T bean = null; + for (int i = 0,size = maps.size(); i < size; i++) { + map = maps.get(i); + bean = clazz.newInstance(); + mapToBean(map, bean); + list.add(bean); + } + } + return list; + } + + public static List objectToObjects(List objectList,Class clazz) throws InstantiationException, IllegalAccessException { + List list = Lists.newArrayList(); + if (objectList != null && objectList.size() > 0) { + Object source = null; + T bean = null; + for (int i = 0,size = objectList.size(); i < size; i++) { + source = objectList.get(i); + bean = clazz.newInstance(); + BeanUtils.copyProperties(source,bean); + list.add(bean); + } + } + return list; + } + + + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/CommonPage.java b/ordermall/src/main/java/com/zscat/mallplus/utils/CommonPage.java new file mode 100644 index 0000000..265a1e5 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/CommonPage.java @@ -0,0 +1 @@ +package com.zscat.mallplus.utils; \ No newline at end of file diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/CommonResult.java b/ordermall/src/main/java/com/zscat/mallplus/utils/CommonResult.java new file mode 100644 index 0000000..77173d6 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/CommonResult.java @@ -0,0 +1,176 @@ +package com.zscat.mallplus.utils; + +import org.springframework.validation.BindingResult; + +/** + * 通用返回对象 + * Created by zscat on 2018/4/28. + */ +public class CommonResult { + //操作成功 + public static final int SUCCESS = 200; + //操作失败 + public static final int FAILED = 500; + //参数校验失败 + public static final int VALIDATE_FAILED = 201; + //未认证 + public static final int UNAUTHORIZED = 401; + //未授权 + public static final int FORBIDDEN = 403; + private int code; + private String msg; + private Object data; + + /** + * 普通成功返回 + * + * @param data 获取的数据 + */ + public CommonResult success(Object data) { + this.code = SUCCESS; + this.msg = "操作成功"; + this.data = data; + return this; + } + + /** + * 普通成功返回 + */ + public CommonResult success() { + this.code = SUCCESS; + this.msg = "操作成功"; + this.data = "操作成功"; + return this; + } + + /** + * 普通成功返回 + */ + public CommonResult success(String msg, Object data) { + this.code = SUCCESS; + this.msg = msg; + this.data = data; + return this; + } + + /** + * 普通成功返回 + */ + public CommonResult fail(int code) { + this.code = code; + if (code == 100) { + this.msg = "请先登录"; + this.data = "请先登录"; + } + return this; + } + + /** + * 普通失败提示信息 + */ + public CommonResult failed() { + this.code = FAILED; + this.msg = "操作失败"; + return this; + } + + public CommonResult failed(String msg) { + this.code = FAILED; + this.msg = msg; + this.data = msg; + return this; + } + + public CommonResult failed(Integer code, String message) { + this.code = code; + this.msg = message; + return this; + } + + /** + * 参数验证失败使用 + * + * @param msg 错误信息 + */ + public CommonResult validateFailed(String msg) { + this.code = VALIDATE_FAILED; + this.msg = msg; + this.data = "参数错误"; + return this; + } + + /** + * 未登录时使用 + * + * @param msg 错误信息 + */ + public CommonResult unauthorized(String msg) { + this.code = UNAUTHORIZED; + this.msg = "暂未登录或token已经过期"; + this.data = msg; + return this; + } + + /** + * 未授权时使用 + * + * @param msg 错误信息 + */ + public CommonResult forbidden(String msg) { + this.code = FORBIDDEN; + this.msg = "没有相关权限"; + this.data = msg; + return this; + } + + /** + * 参数验证失败使用 + * + * @param result 错误信息 + */ + public CommonResult validateFailed(BindingResult result) { + validateFailed(result.getFieldError().getDefaultMessage()); + return this; + } + + /** + * 普通失败提示信息 + */ + public CommonResult paramFailed() { + this.code = FAILED; + this.msg = "参数失败"; + return this; + } + + public CommonResult paramFailed(String msg) { + this.code = FAILED; + this.msg = msg; + return this; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getmsg() { + return msg; + } + + public void setmsg(String msg) { + this.msg = msg; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/DateUtils.java b/ordermall/src/main/java/com/zscat/mallplus/utils/DateUtils.java new file mode 100644 index 0000000..a4a823e --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/DateUtils.java @@ -0,0 +1,135 @@ +package com.zscat.mallplus.utils; + +import org.apache.commons.lang3.time.DateFormatUtils; + +import java.lang.management.ManagementFactory; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 时间工具类 + * + * @author Vean + */ +public class DateUtils extends org.apache.commons.lang3.time.DateUtils { + public static String YYYY = "yyyy"; + + public static String YYYY_MM = "yyyy-MM"; + + public static String YYYY_MM_DD = "yyyy-MM-dd"; + + public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; + + public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; + + private static String[] parsePatterns = { + "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", + "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", + "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; + + /** + * 获取当前Date型日期 + * + * @return Date() 当前日期 + */ + public static Date getNowDate() { + return new Date(); + } + + /** + * 获取当前日期, 默认格式为yyyy-MM-dd + * + * @return String + */ + public static String getDate() { + return dateTimeNow(YYYY_MM_DD); + } + + public static final String getTime() { + return dateTimeNow(YYYY_MM_DD_HH_MM_SS); + } + + public static final String dateTimeNow() { + return dateTimeNow(YYYYMMDDHHMMSS); + } + + public static final String dateTimeNow(final String format) { + return parseDateToStr(format, new Date()); + } + + public static final String dateTime(final Date date) { + return parseDateToStr(YYYY_MM_DD, date); + } + + public static final String parseDateToStr(final String format, final Date date) { + return new SimpleDateFormat(format).format(date); + } + + public static final Date dateTime(final String format, final String ts) { + try { + return new SimpleDateFormat(format).parse(ts); + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + /** + * 日期路径 即年/月/日 如2018/08/08 + */ + public static final String datePath() { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyy/MM/dd"); + } + + /** + * 日期路径 即年/月/日 如20180808 + */ + public static final String dateTime() { + Date now = new Date(); + return DateFormatUtils.format(now, "yyyyMMdd"); + } + + /** + * 日期型字符串转化为日期 格式 + */ + public static Date parseDate(Object str) { + if (str == null) { + return null; + } + try { + return parseDate(str.toString(), parsePatterns); + } catch (ParseException e) { + return null; + } + } + + /** + * 获取服务器启动时间 + */ + public static Date getServerStartDate() { + long time = ManagementFactory.getRuntimeMXBean().getStartTime(); + return new Date(time); + } + + /** + * 计算两个时间差 + */ + public static String getDatePoor(Date endDate, Date nowDate) { + long nd = 1000 * 24 * 60 * 60; + long nh = 1000 * 60 * 60; + long nm = 1000 * 60; + // long ns = 1000; + // 获得两个时间的毫秒时间差异 + long diff = endDate.getTime() - nowDate.getTime(); + // 计算差多少天 + long day = diff / nd; + // 计算差多少小时 + long hour = diff % nd / nh; + // 计算差多少分钟 + long min = diff % nd % nh / nm; + // 计算差多少秒//输出结果 + // long sec = diff % nd % nh % nm / ns; + return day + "天" + hour + "小时" + min + "分钟"; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/EncryptUtils.java b/ordermall/src/main/java/com/zscat/mallplus/utils/EncryptUtils.java new file mode 100644 index 0000000..1216d28 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/EncryptUtils.java @@ -0,0 +1,93 @@ +package com.zscat.mallplus.utils; + + + +import org.apache.commons.codec.digest.DigestUtils; + +import javax.crypto.Cipher; +import javax.crypto.SecretKey; +import javax.crypto.SecretKeyFactory; +import javax.crypto.spec.DESKeySpec; +import javax.crypto.spec.IvParameterSpec; +import java.nio.charset.StandardCharsets; + +/** + * 加密 + * + * @author mallplus + * @date 2018-11-23 + */ +public class EncryptUtils { + + private static String strKey = "Passw0rd", strParam = "Passw0rd"; + + /** + * 对称加密 + */ + public static String desEncrypt(String source) throws Exception { + if (source == null || source.length() == 0) { + return null; + } + Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); + DESKeySpec desKeySpec = new DESKeySpec(strKey.getBytes(StandardCharsets.UTF_8)); + SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); + SecretKey secretKey = keyFactory.generateSecret(desKeySpec); + IvParameterSpec iv = new IvParameterSpec(strParam.getBytes(StandardCharsets.UTF_8)); + cipher.init(Cipher.ENCRYPT_MODE, secretKey, iv); + return byte2hex( + cipher.doFinal(source.getBytes(StandardCharsets.UTF_8))).toUpperCase(); + } + + private static String byte2hex(byte[] inStr) { + String stmp; + StringBuilder out = new StringBuilder(inStr.length * 2); + for (byte b : inStr) { + stmp = Integer.toHexString(b & 0xFF); + if (stmp.length() == 1) { + // 如果是0至F的单位字符串,则添加0 + out.append("0").append(stmp); + } else { + out.append(stmp); + } + } + return out.toString(); + } + + private static byte[] hex2byte(byte[] b) { + if ((b.length % 2) != 0) { + throw new IllegalArgumentException("长度不是偶数"); + } + byte[] b2 = new byte[b.length / 2]; + for (int n = 0; n < b.length; n += 2) { + String item = new String(b, n, 2); + b2[n / 2] = (byte) Integer.parseInt(item, 16); + } + return b2; + } + + /** + * 对称解密 + */ + public static String desDecrypt(String source) throws Exception { + if (source == null || source.length() == 0) { + return null; + } + byte[] src = hex2byte(source.getBytes()); + Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); + DESKeySpec desKeySpec = new DESKeySpec(strKey.getBytes(StandardCharsets.UTF_8)); + SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); + SecretKey secretKey = keyFactory.generateSecret(desKeySpec); + IvParameterSpec iv = new IvParameterSpec(strParam.getBytes(StandardCharsets.UTF_8)); + cipher.init(Cipher.DECRYPT_MODE, secretKey, iv); + byte[] retByte = cipher.doFinal(src); + return new String(retByte); + } + + /** + * 密码加密 + */ + public static String encryptPassword(String password) { + // return DigestUtils.md5DigestAsHex(password.getBytes()); + return DigestUtils.md5Hex(password.getBytes()); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/ExportEntityMap.java b/ordermall/src/main/java/com/zscat/mallplus/utils/ExportEntityMap.java new file mode 100644 index 0000000..1561625 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/ExportEntityMap.java @@ -0,0 +1,18 @@ +package com.zscat.mallplus.utils; + +import java.lang.annotation.*; + +/** + * @author dimengzhe + * @date 2020/9/30 17:38 + * @description + */ +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface ExportEntityMap { + + String EnName() default "数据库列名"; + + String CnName() default "实体映射名"; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/ExportExcelUtils.java b/ordermall/src/main/java/com/zscat/mallplus/utils/ExportExcelUtils.java new file mode 100644 index 0000000..fd173cc --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/ExportExcelUtils.java @@ -0,0 +1,278 @@ +package com.zscat.mallplus.utils; + +import org.apache.poi.hssf.usermodel.HeaderFooter; +import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.ss.usermodel.*; + +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.lang.reflect.Field; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @author dimengzhe + * @date 2020/9/30 17:02 + * @description + */ + +public class ExportExcelUtils { + + public static void export(String excelName, List list, Class c, HttpServletResponse response) { + // 设置日期格式 + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 设置默认文件名为当前时间:年月日时分秒 + if (excelName == null || excelName == "") { + excelName = df.format(new Date()).toString(); + } else { + excelName = excelName + df.format(new Date()).toString(); + } + // 设置response头信息 + response.reset(); + // 改成输出excel文件 + response.setContentType("application/vnd.ms-excel"); + // response.setHeader("Content-disposition", "attachment; filename=" +// + new String(excelName.getBytes("gb2312"), "ISO-8859-1") + ".xls"); + response.setHeader("Content-Disposition", "attachment;fileName=" + + excelName+".xls"); + + try { + //创建一个WorkBook,对应一个Excel文件 + HSSFWorkbook wb = new HSSFWorkbook(); + //在Workbook中,创建一个sheet,对应Excel中的工作薄(sheet) + HSSFSheet sheet = wb.createSheet(excelName); + //设置 边距、页眉、页脚 + HSSFPrintSetup printSetup = sheet.getPrintSetup(); + //打印方向,true:横向,false:纵向(默认) + printSetup.setLandscape(true); + printSetup.setHeaderMargin(0.2); + printSetup.setFooterMargin(0.2); + //设置打印缩放为88% + //printSetup.setScale((short) 55); + printSetup.setFitHeight((short) 0); + printSetup.setFitWidth((short) 1); + // printSetup.setLeftToRight(true);//列从左向右显示② + // 纸张 + printSetup.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE); + // 页边距(下) + sheet.setMargin(HSSFSheet.BottomMargin, (double) 0.8); + // 页边距(左) + sheet.setMargin(HSSFSheet.LeftMargin, (double) 0); + // 页边距(右) + sheet.setMargin(HSSFSheet.RightMargin, (double) 0); + // 页边距(上) + sheet.setMargin(HSSFSheet.TopMargin, (double) 0.8); + //设置打印页面为水平居中 + sheet.setHorizontallyCenter(true); + sheet.setVerticallyCenter(true); + sheet.setAutobreaks(false); + sheet.setFitToPage(false); + Footer footer = sheet.getFooter(); + //设置页数 + footer.setCenter("第" + HeaderFooter.page() + "页,共 " + HeaderFooter.numPages() + "页"); + Header header = sheet.getHeader(); + //自定义页眉,并设置页眉 左中右显示信息 + //居中 +// header.setCenter("Center Header"); + //靠左 + header.setLeft(HSSFHeader.font("宋体", "") + + HSSFHeader.fontSize((short) 16) + excelName + ".xls"); + //靠右 +// header.setRight(HSSFHeader.font("Stencil-Normal", "Italic") + +// HSSFHeader.fontSize((short) 16) + "Right w/ Stencil-Normal Italic font and size 16"); + + //创建单元格,并设置值表头 设置表头居中 + HSSFCellStyle style = wb.createCellStyle(); + //设置边框 + //下边框 + style.setBorderBottom(BorderStyle.THIN); + style.setBorderLeft(BorderStyle.THIN); + //上边框 + style.setBorderTop(BorderStyle.THIN); + //右边框 + style.setBorderRight(BorderStyle.THIN); + //自动换行 + //style.setWrapText(true); + //创建一个居中格式 + style.setAlignment(HorizontalAlignment.CENTER); + //上下居中 + style.setVerticalAlignment(VerticalAlignment.CENTER); + //设置字体 + HSSFFont font = wb.createFont(); + font.setFontName("宋体"); + + style.setFont(font); + // 填充工作表 + //获取需要转出的excel表头的map字段 + LinkedHashMap fieldMap = new LinkedHashMap<>(); + //循环注解里面的值 填入Link集合 + Field[] declaredFields = c.getDeclaredFields(); + + for (Field declaredField : declaredFields) { + //获取注解对象 + ExportEntityMap declaredAnnotation = declaredField.getDeclaredAnnotation(ExportEntityMap.class); + if (declaredAnnotation != null) { + fieldMap.put(declaredAnnotation.EnName(), declaredAnnotation.CnName()); + } + } + fillSheet(sheet, list, fieldMap, style); + //将文件输出 + OutputStream ouputStream = response.getOutputStream(); + wb.write(ouputStream); + ouputStream.flush(); + ouputStream.close(); + } catch (Exception e) { + System.err.println("导出Excel失败!"); + System.err.println(e.getMessage()); + } + } + + /** + * 根据字段名获取字段对象 + * + * @param fieldName 字段名 + * @param clazz 包含该字段的类 + * @return 字段 + */ + public static Field getFieldByName(String fieldName, Class clazz) { + //logger.info("根据字段名获取字段对象:getFieldByName()"); + // 拿到本类的所有字段 + Field[] selfFields = clazz.getDeclaredFields(); + // 如果本类中存在该字段,则返回 + for (Field field : selfFields) { + //如果本类中存在该字段,则返回 + if (field.getName().equals(fieldName)) { + return field; + } + } + // 否则,查看父类中是否存在此字段,如果有则返回 + Class superClazz = clazz.getSuperclass(); + if (superClazz != null && superClazz != Object.class) { + //递归 + return getFieldByName(fieldName, superClazz); + } + // 如果本类和父类都没有,则返回空 + return null; + } + + /** + * 根据字段名获取字段值 + * + * @param fieldName 字段名 + * @param o 对象 + * @return 字段值 + * @throws Exception 异常 + */ + public static Object getFieldValueByName(String fieldName, Object o) + throws Exception { + //logger.info("根据字段名获取字段值:getFieldValueByName()"); + Object value = null; + //根据字段名得到字段对象 + Field field = getFieldByName(fieldName, o.getClass()); + //如果该字段存在,则取出该字段的值 + if (field != null) { + //类中的成员变量为private,在类外边使用属性值,故必须进行此操作 + field.setAccessible(true); + //获取当前对象中当前Field的value + value = field.get(o); + } else { + throw new Exception(o.getClass().getSimpleName() + "类不存在字段名 " + + fieldName); + } + return value; + } + + /** + * 根据带路径或不带路径的属性名获取属性值,即接受简单属性名, + * 如userName等,又接受带路径的属性名,如student.department.name等 + * + * @param fieldNameSequence 带路径的属性名或简单属性名 + * @param o 对象 + * @return 属性值 + * @throws Exception 异常 + */ + public static Object getFieldValueByNameSequence(String fieldNameSequence, + Object o) throws Exception { + // logger.info("根据带路径或不带路径的属性名获取属性值,即接受简单属性名:getFieldValueByNameSequence()"); + Object value = null; + // 将fieldNameSequence进行拆分 + String[] attributes = fieldNameSequence.split("\\."); + if (attributes.length == 1) { + value = getFieldValueByName(fieldNameSequence, o); + } else { + // 根据数组中第一个连接属性名获取连接属性对象,如student.department.name + Object fieldObj = getFieldValueByName(attributes[0], o); + //截取除第一个属性名之后的路径 + String subFieldNameSequence = fieldNameSequence + .substring(fieldNameSequence.indexOf(".") + 1); + //递归得到最终的属性对象的值 + value = getFieldValueByNameSequence(subFieldNameSequence, fieldObj); + } + return value; + } + + /** + * 向工作表中填充数据 + * + * @param sheet excel的工作表名称 + * @param list 数据源 + * @param fieldMap 中英文字段对应关系的Map + * @param style 表格中的格式 + * @throws Exception 异常 + */ + public static void fillSheet(HSSFSheet sheet, List list, + LinkedHashMap fieldMap, HSSFCellStyle style) throws Exception { + //logger.info("向工作表中填充数据:fillSheet()"); + // 定义存放英文字段名和中文字段名的数组 + String[] enFields = new String[fieldMap.size()]; + String[] cnFields = new String[fieldMap.size()]; + // 填充数组 + int count = 0; + for (Map.Entry entry : fieldMap.entrySet()) { + enFields[count] = entry.getKey(); + cnFields[count] = entry.getValue(); + count++; + } + //存储最大列宽 + Map maxWidth = new HashMap<>(); + HSSFRow row = sheet.createRow((int) 0); + HSSFCell cell = null; + // 填充表头 + for (int i = 0; i < cnFields.length; i++) { + cell = row.createCell(i); + cell.setCellValue(cnFields[i]); + cell.setCellStyle(style); + sheet.autoSizeColumn(i); + //设置自适应宽高 + maxWidth.put(i, cell.getStringCellValue().getBytes().length * 256 + 200); + } + // 填充内容 + for (int index = 0; index < list.size(); index++) { + row = sheet.createRow(index + 1); + // 获取单个对象 + T item = list.get(index); + int j = 0; + for (int i = 0; i < enFields.length; i++) { + HSSFCell createCell = row.createCell(j); + Object objValue = getFieldValueByNameSequence(enFields[i], item); + String fieldValue = objValue == null ? "" : objValue.toString(); + cell = row.createCell(i); + createCell.setCellValue(fieldValue); + + int length = createCell.getStringCellValue().getBytes().length * 256 + 200; + //这里把宽度最大限制到15000 + if (length > 15000) { + length = 15000; + } + maxWidth.put(j, Math.max(length, maxWidth.get(j))); + j++; + createCell.setCellStyle(style); + } + } + + // 列宽自适应 + for (int i = 0; i < cnFields.length; i++) { + sheet.setColumnWidth(i, maxWidth.get(i)); + } + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/HttpUtils.java b/ordermall/src/main/java/com/zscat/mallplus/utils/HttpUtils.java new file mode 100644 index 0000000..f09f1ab --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/HttpUtils.java @@ -0,0 +1,314 @@ +package com.zscat.mallplus.utils; + +import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; +import org.apache.http.client.HttpClient; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; +import org.apache.http.conn.ClientConnectionManager; +import org.apache.http.conn.scheme.Scheme; +import org.apache.http.conn.scheme.SchemeRegistry; +import org.apache.http.conn.ssl.SSLSocketFactory; +import org.apache.http.entity.ByteArrayEntity; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.message.BasicNameValuePair; + +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.X509TrustManager; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class HttpUtils { + + /** + * get + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @return + * @throws Exception + */ + public static HttpResponse doGet(String host, String path, String method, + Map headers, + Map querys) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpGet request = new HttpGet(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + return httpClient.execute(request); + } + + /** + * post form + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param bodys + * @return + * @throws Exception + */ + public static HttpResponse doPost(String host, String path, String method, + Map headers, + Map querys, + Map bodys) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPost request = new HttpPost(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (bodys != null) { + List nameValuePairList = new ArrayList(); + + for (String key : bodys.keySet()) { + nameValuePairList.add(new BasicNameValuePair(key, bodys.get(key))); + } + UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "utf-8"); + formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8"); + request.setEntity(formEntity); + } + + return httpClient.execute(request); + } + + /** + * Post String + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param body + * @return + * @throws Exception + */ + public static HttpResponse doPost(String host, String path, String method, + Map headers, + Map querys, + String body) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPost request = new HttpPost(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (ValidatorUtils.notEmpty(body)) { + request.setEntity(new StringEntity(body, "utf-8")); + } + + return httpClient.execute(request); + } + + /** + * Post stream + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param body + * @return + * @throws Exception + */ + public static HttpResponse doPost(String host, String path, String method, + Map headers, + Map querys, + byte[] body) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPost request = new HttpPost(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (body != null) { + request.setEntity(new ByteArrayEntity(body)); + } + + return httpClient.execute(request); + } + + /** + * Put String + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param body + * @return + * @throws Exception + */ + public static HttpResponse doPut(String host, String path, String method, + Map headers, + Map querys, + String body) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPut request = new HttpPut(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (ValidatorUtils.notEmpty(body)) { + request.setEntity(new StringEntity(body, "utf-8")); + } + + return httpClient.execute(request); + } + + /** + * Put stream + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @param body + * @return + * @throws Exception + */ + public static HttpResponse doPut(String host, String path, String method, + Map headers, + Map querys, + byte[] body) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpPut request = new HttpPut(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + if (body != null) { + request.setEntity(new ByteArrayEntity(body)); + } + + return httpClient.execute(request); + } + + /** + * Delete + * + * @param host + * @param path + * @param method + * @param headers + * @param querys + * @return + * @throws Exception + */ + public static HttpResponse doDelete(String host, String path, String method, + Map headers, + Map querys) + throws Exception { + HttpClient httpClient = wrapClient(host); + + HttpDelete request = new HttpDelete(buildUrl(host, path, querys)); + for (Map.Entry e : headers.entrySet()) { + request.addHeader(e.getKey(), e.getValue()); + } + + return httpClient.execute(request); + } + + private static String buildUrl(String host, String path, Map querys) throws UnsupportedEncodingException { + StringBuilder sbUrl = new StringBuilder(); + sbUrl.append(host); + if (!ValidatorUtils.notEmpty(path)) { + sbUrl.append(path); + } + if (null != querys) { + StringBuilder sbQuery = new StringBuilder(); + for (Map.Entry query : querys.entrySet()) { + if (0 < sbQuery.length()) { + sbQuery.append("&"); + } + if (ValidatorUtils.notEmpty(query.getKey()) && !ValidatorUtils.notEmpty(query.getValue())) { + sbQuery.append(query.getValue()); + } + if (!ValidatorUtils.notEmpty(query.getKey())) { + sbQuery.append(query.getKey()); + if (!ValidatorUtils.notEmpty(query.getValue())) { + sbQuery.append("="); + sbQuery.append(URLEncoder.encode(query.getValue(), "utf-8")); + } + } + } + if (0 < sbQuery.length()) { + sbUrl.append("?").append(sbQuery); + } + } + + return sbUrl.toString(); + } + + private static HttpClient wrapClient(String host) { + HttpClient httpClient = new DefaultHttpClient(); + if (host.startsWith("https://")) { + sslClient(httpClient); + } + + return httpClient; + } + + private static void sslClient(HttpClient httpClient) { + try { + SSLContext ctx = SSLContext.getInstance("TLS"); + X509TrustManager tm = new X509TrustManager() { + public X509Certificate[] getAcceptedIssuers() { + return null; + } + + public void checkClientTrusted(X509Certificate[] xcs, String str) { + + } + + public void checkServerTrusted(X509Certificate[] xcs, String str) { + + } + }; + ctx.init(null, new TrustManager[]{tm}, null); + SSLSocketFactory ssf = new SSLSocketFactory(ctx); + ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); + ClientConnectionManager ccm = httpClient.getConnectionManager(); + SchemeRegistry registry = ccm.getSchemeRegistry(); + registry.register(new Scheme("https", 443, ssf)); + } catch (KeyManagementException ex) { + throw new RuntimeException(ex); + } catch (NoSuchAlgorithmException ex) { + throw new RuntimeException(ex); + } + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/IdWorker.java b/ordermall/src/main/java/com/zscat/mallplus/utils/IdWorker.java new file mode 100644 index 0000000..410b0b7 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/IdWorker.java @@ -0,0 +1,35 @@ +package com.zscat.mallplus.utils; + +import java.util.UUID; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class IdWorker { + private static final Sequence worker = new Sequence(); + + public IdWorker() { + } + + public static void main(String[] args) { + ExecutorService executorService = Executors.newFixedThreadPool(5); + + for (int j = 0; j < 5; ++j) { + executorService.submit(() -> { + for (int i = 0; i < 30000; ++i) { + System.out.println(Thread.currentThread().getId() + "--" + getId()); + } + + }); + } + + executorService.shutdown(); + } + + public static long getId() { + return worker.nextId(); + } + + private static synchronized String get32UUID() { + return UUID.randomUUID().toString().replace("-", ""); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/InterfaceUrl.java b/ordermall/src/main/java/com/zscat/mallplus/utils/InterfaceUrl.java new file mode 100644 index 0000000..21b47b0 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/InterfaceUrl.java @@ -0,0 +1,30 @@ +package com.zscat.mallplus.utils;/* +package com.zscat.mallplus.utils; + +*/ +/** + * Created with IntelliJ IDEA. + * + * @Auther: dimengzhe + * @Date: 2020/06/19/10:40 + * @Description:地址管理 + *//* + +public class InterfaceUrl { + +// public static String domain = "http://www.yyundong.com:8083/api"; + public static String domain = "http://2xpk7t.natappfree.cc/api"; + //支付宝授权回调地址 +// public static String apliPayUrl = "http://www.yyundong.com:8083/api/aliPay/notify_url"; + public static String notifyUrl = "http://2xpk7t.natappfree.cc/aliPay/notify_url"; + //应用appId + public static String appId = "2018082761134635";//乒娱网 + //支付宝网关 + public static String serverUrl = "https://openapi.alipay.com/gateway.do";// + //支付宝公钥,由支付宝生成 +// public static String publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlOOOOWg4e2deSDMRG2y5EzG7/udMfTzYkn4u/3PWIOlpcUd2ujCztqKY2HdFhIaWE4q8PCLtT5XtBWCq2IVvpCPE8HRzgSZckh6J36SnO0JG1pZe8HajUgIw+T1NM7/b2Nb4OaI5HKNsQ5ei9NlN9RvlIUSpum/nIyk/9CBvNAg8xUlHUFPaPL0WCMJ9zIwRO+aEn2kwA7JQ8AvjuPy390oil0W4fxfHonJYxuzOo6Lx369Vti5N9UmXczXUcOiVwyCveoH05chNr3r8xu5QqpD1o32cO01Zt4EA9j6aM2H09g08VzoLam2OoU3umKOV0vvX+bMmb1GwrkussSvDpQIDAQAB"; + //开发者应用私钥,由开发者自己生成 + public static String privateKey = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCpYi38h2/25e4mNWo56mmwuwa7QbBbPdgH00rsmPI/+0JkYhda2uZDvtrFXWMLzVJ2ioh9pamcfUbb2LcFgLIJ0KJyTia4sVMHmbk9l8wPf9mE4aOYN8ix6olzkm9ZhDGVekx2niW/hf6bpjnh92+I4EZo4xsK3RAsQ9oDXPjrJzktrrerAP+5MNOY8wLRqOp0KU+bOIcsz4Wz+qD3UxP2PjXPJDvXu7NkYDndOc7G0tVnhzVahFafqAntbgQHMyJENhLl9xdbnYdiKQqZJUwfI9xlRKYk08P4YVYTL7dAGAibQJJamgqmmKo8uibDIMkLsTGNm5WzW3EErWOCl6wlAgMBAAECggEAXfyxgbdxRDHPlHn9KIfO/5a3pH5NqkNFtQnkQCaZ/TChZWwcg3iFXr/vSqaICAt1H3u9QuMCm2fUQrcczzvbDqErEnwU9lTGuqfs5qVtQIhznU1K5nLFtRtsC6oMiUJV9Rh4hzU3wu9KGPoCkkUnKW8xApBJ+Bw0FivMNCOJp4kipif0gXQFxDH14w8n4QAyG3keXYP43DPqlsjmjJm4inHajxNO012Snle5SqA5HaIrZzf9St3ctq1BzqgUaD5yyXPmPyi1sqjrK+A16R4DrbKlY2h3/mo1IIfPjYbjb/uPcHf9pDMxEFwYIZ+kkz0uUjRDNWVX3A7ldav8MvvZ/QKBgQDot2raw93blrEhld3GGY4JNxboi6UZ1guK2nDEjlnpZjDUklSlNsx82NM8g0bm76Q9A3WpuoHQoSGEIy9ElrMuNS7xj+PZe5mNyKFMBG8hKeIV3jx4OIU80aiV9OQLv6+AonavHvOLXu41OJKdoQexyz7q3lu0+i7d9KKbWd2SlwKBgQC6VJxj1KPh3kHtmm/d/5fOZUDLqxTOyexRrEUCj9hGjv5XymxULQPskKxasFKiPyn4TCp2ZOrPO1slu8IUpzaymM4DDQYtTQkbsAT/N6r9efCJTXDdTgm5iyTaILbSbqd01KEnqjmFLOSCpasvM47rARlG4IYXIXD9cXKj12AaowKBgAN7w2C079w6nDopeSFe/o5KwdAHTxhc6N1SOb/ndZcVzYNREW1LrbHsuPS97lDEo4u6Qoeg4BKUZuEIecuoCdSWPTamdb2qqPjDWQ6/Pj6b1uOG6RbPmcb4SHK+MK+wVdsyE165suGSMTSgvSkY4PmbVjzDyVGjMRJneAulQ7jPAoGAViCIDWkbu2q1xLNPJClhrSiGU94nhxI05uefGnkM+khcbo4Flr8cAjw5Ps4j1BUoPDpQolsxYkrIbd+k7VEBanpRN33MriHepOqu1J2RrwqvUXf3RIQu4JHdnenjN8+oHcuvFhuL7O/8TBtxziah2CSw318m/AgcJzpKSEtkg8sCgYB/cr6PuuQ7JpK2kYmwYMSwNvys0v31iSqFmJK6EyPRycGw9Wj/ANiGJrKuVqdnzb2LqSzdNWkKte25hSIv21satgHM2of7oFzjFB2N/hMx5o+nOQgq0zZcA6Mvn0W3GFFZ1YAep3oyrxLh9+5ELi2JGXgJafiEJvr5J3YzSGOWrw=="; + +} +*/ diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/IpAddressUtil.java b/ordermall/src/main/java/com/zscat/mallplus/utils/IpAddressUtil.java new file mode 100644 index 0000000..265a1e5 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/IpAddressUtil.java @@ -0,0 +1 @@ +package com.zscat.mallplus.utils; \ No newline at end of file diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/IpUtils.java b/ordermall/src/main/java/com/zscat/mallplus/utils/IpUtils.java new file mode 100644 index 0000000..265a1e5 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/IpUtils.java @@ -0,0 +1 @@ +package com.zscat.mallplus.utils; \ No newline at end of file diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/Lists.java b/ordermall/src/main/java/com/zscat/mallplus/utils/Lists.java new file mode 100644 index 0000000..265a1e5 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/Lists.java @@ -0,0 +1 @@ +package com.zscat.mallplus.utils; \ No newline at end of file diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/Maps.java b/ordermall/src/main/java/com/zscat/mallplus/utils/Maps.java new file mode 100644 index 0000000..d2fe278 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/Maps.java @@ -0,0 +1,42 @@ +package com.zscat.mallplus.utils; + + +import java.util.HashMap; + +/** + * Map 工具类 + * + * @author enilu + * + */ +public final class Maps { + + private Maps() { + } + + public static HashMap newHashMap() { + return new HashMap(100); + } + + public static HashMap newHashMap(K k, V v) { + HashMap map = new HashMap(100); + map.put(k, v); + return map; + } + + @SuppressWarnings("unchecked") + public static HashMap newHashMap(K k, V v, + Object... extraKeyValues) { + if (extraKeyValues.length % 2 != 0) { + throw new IllegalArgumentException(); + } + HashMap map = new HashMap(100); + map.put(k, v); + for (int i = 0; i < extraKeyValues.length; i += 2) { + k = (K) extraKeyValues[i]; + v = (V) extraKeyValues[i + 1]; + map.put(k, v); + } + return map; + } +} \ No newline at end of file diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/PhoneUtil.java b/ordermall/src/main/java/com/zscat/mallplus/utils/PhoneUtil.java new file mode 100644 index 0000000..186aa3f --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/PhoneUtil.java @@ -0,0 +1,31 @@ +package com.zscat.mallplus.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @author 作者 zscat E-mail: 951449465@qq.com + * @version 创建时间:2017年11月12日 上午22:57:51 + * 正则表达式手机号码校验类 + */ +public class PhoneUtil { + + private static String REGEX = "^(1[3-9])\\d{9}$"; +// private static String REGEX = "^((13[0-9])|(14[0-9])|(15([0-9]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$"; + private static Pattern P = Pattern.compile(REGEX); + + /** + * 校验手机号 + * + * @param phone + * @return + */ + public static boolean checkPhone(String phone) { + if (phone == null || phone.length() != 11) { + return Boolean.FALSE; + } + + Matcher m = P.matcher(phone); + return m.matches(); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/PluginUtils.java b/ordermall/src/main/java/com/zscat/mallplus/utils/PluginUtils.java new file mode 100644 index 0000000..ff00e00 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/PluginUtils.java @@ -0,0 +1,42 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by Fernflower decompiler) +// + +package com.zscat.mallplus.utils; + + +import cn.hutool.core.util.StrUtil; +import org.apache.ibatis.mapping.MappedStatement; +import org.apache.ibatis.reflection.MetaObject; +import org.apache.ibatis.reflection.SystemMetaObject; + +import java.lang.reflect.Proxy; +import java.util.Properties; + +public final class PluginUtils { + public static final String DELEGATE_BOUNDSQL_SQL = "delegate.boundSql.sql"; + public static final String DELEGATE_MAPPEDSTATEMENT = "delegate.mappedStatement"; + + private PluginUtils() { + } + + + public static MappedStatement getMappedStatement(MetaObject metaObject) { + return (MappedStatement) metaObject.getValue("delegate.mappedStatement"); + } + + public static Object realTarget(Object target) { + if (Proxy.isProxyClass(target.getClass())) { + MetaObject metaObject = SystemMetaObject.forObject(target); + return realTarget(metaObject.getValue("h.target")); + } else { + return target; + } + } + + public static String getProperty(Properties properties, String key) { + String value = properties.getProperty(key); + return StrUtil.isBlank(value) ? null : value; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/ReducePriceUtils.java b/ordermall/src/main/java/com/zscat/mallplus/utils/ReducePriceUtils.java new file mode 100644 index 0000000..3906bc7 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/ReducePriceUtils.java @@ -0,0 +1,107 @@ +package com.zscat.mallplus.utils; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author cc + * @Decription 砍价 + */ +public class ReducePriceUtils { + /** + * 1.总金额不超过总共可砍的价格*100 单位是分 + * 2.每次砍价都能砍到金额,最低不能低于1分,最大金额不能超过(总共可砍的价)*100 + */ + private static final int MINMONEY = 1; + private static final int MAXMONEY = 200 * 100; + + /** + * 这里为了避免某一次砍价占用大量资金,我们需要设定非最后一次砍价的最大金额, + * 我们把他设置为砍价金额平均值的N倍 + */ + private static final double TIMES = 3.1; + + /** + * 砍价合法性校验 + * + * @param money + * @param count + * @return + */ + private static boolean isRight(int money, int count) { + double avg = money / count; + //小于最小金额 + if (avg < MINMONEY) { + return false; + } else if (avg > MAXMONEY) { + return false; + } + return true; + } + + /** + * 随机分配一个金额 + * + * @param money + * @param minS:最小金额 + * @param maxS:最大金额 + * @param count + * @return + */ + private static int randomReducePrice(int money, int minS, int maxS, int count) { + //若只有一个,直接返回 + if (count == 1) { + return money; + } + //如果最大金额和最小金额相等,直接返回金额 + if (minS == maxS) { + return minS; + } + int max = maxS > money ? money : maxS; + //分配砍价正确情况,允许砍价的最大值 + int maxY = money - (count - 1) * minS; + //分配砍价正确情况,允许砍价最小值 + int minY = money - (count - 1) * maxS; + //随机产生砍价的最小值 + int min = minS > minY ? minS : minY; + //随机产生砍价的最大值 + max = max > maxY ? maxY : max; + //随机产生一个砍价 + return (int) Math.rint(Math.random() * (max - min) + min); + } + + /** + * 砍价 + * + * @param money 可砍总价 + * @param count 个数 + * @return + */ + public static List splitReducePrice(int money, int count) { + //红包合法性分析 + if (!isRight(money, count)) { + return new ArrayList<>(); + } + //红包列表 + List list = new ArrayList<>(); + //每个红包的最大的金额为平均金额的TIMES倍 + int max = (int) (money * TIMES / count); + max = max > MAXMONEY ? MAXMONEY : max; + //分配红包 + int sum = 0; + + for (int i = 0; i < count; i++) { + int one = randomReducePrice(money, MINMONEY, max, count - i); + list.add(one / 100.0); + money -= one; + sum += one; + } + System.out.println("sum:" + sum); + return list; + } + + public static void main(String[] args) { + List list = splitReducePrice(19799, 10); + System.out.println(list); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/Sequence.java b/ordermall/src/main/java/com/zscat/mallplus/utils/Sequence.java new file mode 100644 index 0000000..9f3e2b9 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/Sequence.java @@ -0,0 +1,128 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by Fernflower decompiler) +// + +package com.zscat.mallplus.utils; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.lang.management.ManagementFactory; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.util.concurrent.ThreadLocalRandom; + +class Sequence { + private static final Logger logger = LoggerFactory.getLogger(Sequence.class); + private final long twepoch = 1288834974657L; + private final long workerIdBits = 5L; + private final long datacenterIdBits = 5L; + private final long maxWorkerId = 31L; + private final long maxDatacenterId = 31L; + private final long sequenceBits = 12L; + private final long workerIdShift = 12L; + private final long datacenterIdShift = 17L; + private final long timestampLeftShift = 22L; + private final long sequenceMask = 4095L; + private long workerId; + private long datacenterId; + private long sequence = 0L; + private long lastTimestamp = -1L; + + public Sequence() { + this.datacenterId = getDatacenterId(31L); + this.workerId = getMaxWorkerId(this.datacenterId, 31L); + } + + public Sequence(long workerId, long datacenterId) { + if (workerId <= 31L && workerId >= 0L) { + if (datacenterId <= 31L && datacenterId >= 0L) { + this.workerId = workerId; + this.datacenterId = datacenterId; + } else { + throw new RuntimeException(String.format("datacenter Id can't be greater than %d or less than 0", 31L)); + } + } else { + throw new RuntimeException(String.format("worker Id can't be greater than %d or less than 0", 31L)); + } + } + + protected static long getMaxWorkerId(long datacenterId, long maxWorkerId) { + StringBuilder mpid = new StringBuilder(); + mpid.append(datacenterId); + String name = ManagementFactory.getRuntimeMXBean().getName(); + if (StringUtils.isNotBlank(name)) { + mpid.append(name.split("@")[0]); + } + + return (long) (mpid.toString().hashCode() & '\uffff') % (maxWorkerId + 1L); + } + + protected static long getDatacenterId(long maxDatacenterId) { + long id = 0L; + + try { + InetAddress ip = InetAddress.getLocalHost(); + NetworkInterface network = NetworkInterface.getByInetAddress(ip); + if (network == null) { + id = 1L; + } else { + byte[] mac = network.getHardwareAddress(); + if (null != mac) { + id = (255L & (long) mac[mac.length - 1] | 65280L & (long) mac[mac.length - 2] << 8) >> 6; + id %= maxDatacenterId + 1L; + } + } + } catch (Exception var7) { + logger.warn(" getDatacenterId: " + var7.getMessage()); + } + + return id; + } + + public synchronized long nextId() { + long timestamp = this.timeGen(); + if (timestamp < this.lastTimestamp) { + long offset = this.lastTimestamp - timestamp; + if (offset > 5L) { + throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", offset)); + } + + try { + this.wait(offset << 1); + timestamp = this.timeGen(); + if (timestamp < this.lastTimestamp) { + throw new RuntimeException(String.format("Clock moved backwards. Refusing to generate id for %d milliseconds", offset)); + } + } catch (Exception var6) { + throw new RuntimeException(var6); + } + } + + if (this.lastTimestamp == timestamp) { + this.sequence = this.sequence + 1L & 4095L; + if (this.sequence == 0L) { + timestamp = this.tilNextMillis(this.lastTimestamp); + } + } else { + this.sequence = ThreadLocalRandom.current().nextLong(1L, 3L); + } + + this.lastTimestamp = timestamp; + return timestamp - 1288834974657L << 22 | this.datacenterId << 17 | this.workerId << 12 | this.sequence; + } + + protected long tilNextMillis(long lastTimestamp) { + long timestamp; + for (timestamp = this.timeGen(); timestamp <= lastTimestamp; timestamp = this.timeGen()) { + } + + return timestamp; + } + + protected long timeGen() { + return SystemClock.now(); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/SystemClock.java b/ordermall/src/main/java/com/zscat/mallplus/utils/SystemClock.java new file mode 100644 index 0000000..7c016f0 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/SystemClock.java @@ -0,0 +1,62 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by Fernflower decompiler) +// + +package com.zscat.mallplus.utils; + +import java.sql.Timestamp; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; + +class SystemClock { + private final long period; + private final AtomicLong now; + + private SystemClock(long period) { + this.period = period; + this.now = new AtomicLong(System.currentTimeMillis()); + this.scheduleClockUpdating(); + } + + private static SystemClock instance() { + return InstanceHolder.INSTANCE; + } + + public static long now() { + return instance().currentTimeMillis(); + } + + public static String nowDate() { + return (new Timestamp(instance().currentTimeMillis())).toString(); + } + + private void scheduleClockUpdating() { + ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { + public Thread newThread(Runnable runnable) { + Thread thread = new Thread(runnable, "System Clock"); + thread.setDaemon(true); + return thread; + } + }); + scheduler.scheduleAtFixedRate(new Runnable() { + public void run() { + SystemClock.this.now.set(System.currentTimeMillis()); + } + }, this.period, this.period, TimeUnit.MILLISECONDS); + } + + private long currentTimeMillis() { + return this.now.get(); + } + + private static class InstanceHolder { + public static final SystemClock INSTANCE = new SystemClock(1L); + + private InstanceHolder() { + } + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/utils/ValidatorUtils.java b/ordermall/src/main/java/com/zscat/mallplus/utils/ValidatorUtils.java new file mode 100644 index 0000000..a995666 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/utils/ValidatorUtils.java @@ -0,0 +1,201 @@ +package com.zscat.mallplus.utils; + +import com.zscat.mallplus.vo.timeline.TimeSecound; + +import java.math.BigDecimal; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class ValidatorUtils { + + /** + * 判断内容不为空 + * + * @param str + * @return + */ + public static boolean notEmpty(Object str) { + if (str != null && str.toString().trim().length() > 0) { + return true; + } else { + return false; + } + } + + /** + * 判断内容不为空(包含数组) + * + * @param str + * @return + */ + @SuppressWarnings("unchecked") + public static boolean notEmptyIncludeArray(Object str) { + if (str != null && String.valueOf(str).trim().length() > 0) { + if (str instanceof Object[]) {// 增加了数组长度判断 + Object[] array = (Object[]) str; + if (array.length > 0) + return true; + + return false; + } else if (str instanceof List) {// 增加了数组长度判断 + List list = (List) str; + if (list.size() > 0) + return true; + + return false; + } + + return true; + } else { + return false; + } + } + + /** + * 判断内容是空 + * + * @param str + * @return + */ + public static boolean isEmpty(Object str) { + if (str == null || str.toString().trim().length() == 0) { + return true; + } else { + return false; + } + } + + /** + * 检查对象是否为空 + * + * @param obj 要检查的数据(数据类型: String、Number、Boolean、Collection、Map、Object[]) + * @return true: 为空; false: 不为空
  • String:值为 null、""、"0" 时返回 true
  • + * Number:值为 null、0 时返回 true
  • Boolean:值为 null、false 时返回 true
  • + * Collection:值为 null、size=0 时返回 true
  • Map:值为 null、size=0 时返回 + * true
  • Object[]:值为 null、length=0 时返回 true + */ + @SuppressWarnings("unchecked") + public static boolean empty(Object obj) { + if (obj == null) { + return true; + } else if (obj instanceof String && (obj.equals(""))) { + return true; + } else if (obj instanceof Number && ((Number) obj).doubleValue() == 0) { + return true; + } else if (obj instanceof Boolean && !((Boolean) obj)) { + return true; + } else if (obj instanceof Collection && ((Collection) obj).isEmpty()) { + return true; + } else if (obj instanceof Map && ((Map) obj).isEmpty()) { + return true; + } else if (obj instanceof Object[] && ((Object[]) obj).length == 0) { + return true; + } + return false; + } + + /** + * 判断是否是合法邮箱地址 + * + * @param email + * @return + */ + public static boolean isEmail(String email) { + Pattern p = Pattern + .compile("^\\w+([\\-+.]\\w+)*@\\w+([-.]\\w+)*\\.[a-z]{2,3}"); + Matcher m = p.matcher(email); + return m.matches(); + } + + /** + * 只包含英文字母和数字、下划线 + * + * @param str + * @return + */ + public static boolean onlyNumAndChar(String str) { + String regex = "^[a-zA-Z0-9_]+$"; + Pattern pattern = Pattern.compile(regex); + return pattern.matcher(str).matches(); + } + + /** + * 必须包含字母 + * + * @param str + * @return + */ + public static boolean hasLetterAndNum(String str) { + Pattern pattern = Pattern.compile("^(?=.*[a-zA-Z].*).{6,}$"); + return pattern.matcher(str).matches(); + } + + /** + * 是否长度符合 + * + * @param str + * @param min 最小 + * @param max 最大 + * @return + */ + public static boolean lengthBetween(String str, int min, int max) { + return str.length() >= min && str.length() <= max; + } + + /** + * 判断字符串是否是数字 + * + * @param str + * @return + */ + public static boolean isNumeric(String str) { + Pattern pattern = Pattern.compile("[0-9]*"); + Matcher isNum = pattern.matcher(str); + if (!isNum.matches()) { + return false; + } + return true; + } + + public static Double rountTwo(Double num) { + if (num != null) { + BigDecimal b = new BigDecimal(num); + Double d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + return d; + } else { + return null; + } + } + + public static String doubleTrans(double d) { + if (Math.round(d) - d == 0) { + return String.valueOf((long) d); + } + return String.valueOf(d); + } + + /** + * 获取结束时间与当前的时间差 + * + * @param endTime + * @return + */ + public static TimeSecound getTimeSecound(Date endTime) { + + long diff = endTime.getTime() - System.currentTimeMillis();// 这样得到的差值是微秒级别 + + long days = diff / (1000 * 60 * 60 * 24);//天 + + long hours = (diff - days * (1000 * 60 * 60 * 24)) + / (1000 * 60 * 60); //小时 + long mins = (diff - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60); //小时 + long sc = (diff - days * (1000 * 60 * 60 * 24) - hours + * (1000 * 60 * 60) - mins * (1000 * 60)) / (1000); // 秒 + + return new TimeSecound(days, hours, mins, sc); + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/ApplyRefundVo.java b/ordermall/src/main/java/com/zscat/mallplus/vo/ApplyRefundVo.java new file mode 100644 index 0000000..d8c3ed1 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/ApplyRefundVo.java @@ -0,0 +1,19 @@ +package com.zscat.mallplus.vo; + +import lombok.Getter; +import lombok.Setter; + +import java.math.BigDecimal; + +@Setter +@Getter +public class ApplyRefundVo { + BigDecimal returnAmount; + private Long itemId; + private String items; + private Integer type; + private String desc; + private String[] images; + + private Long companyAddressId; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/BalancePayParam.java b/ordermall/src/main/java/com/zscat/mallplus/vo/BalancePayParam.java new file mode 100644 index 0000000..2eb4505 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/BalancePayParam.java @@ -0,0 +1,18 @@ +package com.zscat.mallplus.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Auther: shenzhuan + * @Date: 2019/6/19 09:08 + * @Description: + */ +@Data +public class BalancePayParam { + + private Long orderId; + private BigDecimal payAmount; + private BigDecimal balance; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/BlobUpload.java b/ordermall/src/main/java/com/zscat/mallplus/vo/BlobUpload.java new file mode 100644 index 0000000..19dcbe0 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/BlobUpload.java @@ -0,0 +1,16 @@ +package com.zscat.mallplus.vo; + +import lombok.Getter; +import lombok.Setter; + +/** + * Created by Administrator on 2019/11/23. + */ +@Setter +@Getter +public class BlobUpload { + + String fileName; + String fileUrl; + String thumbnailUrl; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/IdStatus.java b/ordermall/src/main/java/com/zscat/mallplus/vo/IdStatus.java new file mode 100644 index 0000000..6fb278d --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/IdStatus.java @@ -0,0 +1,12 @@ +package com.zscat.mallplus.vo; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class IdStatus { + private Long id; + private Integer status; + private Integer type; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/LogParam.java b/ordermall/src/main/java/com/zscat/mallplus/vo/LogParam.java new file mode 100644 index 0000000..fef3800 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/LogParam.java @@ -0,0 +1,17 @@ +package com.zscat.mallplus.vo; + +import lombok.Data; + +/** + * @Auther: shenzhuan + * @Date: 2019/5/22 09:39 + * @Description: + */ +@Data +public class LogParam { + private String startTime; + private String endTime; + private String keyword; + private Integer current = 1; + private Integer size = 10; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/LogStatisc.java b/ordermall/src/main/java/com/zscat/mallplus/vo/LogStatisc.java new file mode 100644 index 0000000..182c570 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/LogStatisc.java @@ -0,0 +1,29 @@ +package com.zscat.mallplus.vo; + +import lombok.Data; + +/** + * @Auther: shenzhuan + * @Date: 2019/5/21 19:15 + * @Description: + */ +@Data +public class LogStatisc { + private String method; + private int count; + private int avgMin; + private int count1; + private int count2; + private int count3; + private int count4; + private int count5; + private int count6; + + private int sum; + private int sum1; + private int sum2; + private int sum3; + private int sum4; + private int sum5; + private int sum6; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/MallThreadLocal.java b/ordermall/src/main/java/com/zscat/mallplus/vo/MallThreadLocal.java new file mode 100644 index 0000000..7a39509 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/MallThreadLocal.java @@ -0,0 +1,37 @@ +package com.zscat.mallplus.vo; + +public class MallThreadLocal { + private static final ThreadLocal threadLocalUser = new ThreadLocal<>(); + private static final ThreadLocal threadLocalB = new ThreadLocal<>(); + + public static String getLocalUser() { + return threadLocalUser.get(); + } + + /** + * 在调用的线程的map中存入key为ThreadLocal本身,value为在该线程设置的值 + * + * @param value + */ + public static void setLocalUser(String value) { + threadLocalUser.set(value); + } + + public static void clearLocalUser() { + threadLocalUser.remove(); + } + + public static String getValueB() { + return threadLocalB.get(); + } + + public static void setValueB(String value) { + threadLocalB.set(value); + } + + public static void clearValueB() { + threadLocalB.remove(); + } + + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/OrderStatusCount.java b/ordermall/src/main/java/com/zscat/mallplus/vo/OrderStatusCount.java new file mode 100644 index 0000000..09d9f98 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/OrderStatusCount.java @@ -0,0 +1,25 @@ +package com.zscat.mallplus.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @Auther: shenzhuan + * @Date: 2019/2/23 13:12 + * @Description: + */ +@Data +public class OrderStatusCount implements Serializable { + int statusAll = 0; + BigDecimal payAmount = BigDecimal.ZERO; + // 12->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 + private int status0; + private int status1; + private int status2; + private int status3; + private int status4; + private int status5; + private int status14; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/OssAliyunField.java b/ordermall/src/main/java/com/zscat/mallplus/vo/OssAliyunField.java new file mode 100644 index 0000000..1777430 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/OssAliyunField.java @@ -0,0 +1,70 @@ +package com.zscat.mallplus.vo; + +/** + * 阿里云OSS上传配置类 + * + * @author: Peter + * @date: 2018-4-11 + */ +public class OssAliyunField { + + private String accessKeyId; + + private String accessKeySecret; + + private String bucketName; + + private String endPoint; + + private String styleName; + + private String prefix; + + public String getAccessKeyId() { + return accessKeyId; + } + + public void setAccessKeyId(String accessKeyId) { + this.accessKeyId = accessKeyId; + } + + public String getAccessKeySecret() { + return accessKeySecret; + } + + public void setAccessKeySecret(String accessKeySecret) { + this.accessKeySecret = accessKeySecret; + } + + public String getBucketName() { + return bucketName; + } + + public void setBucketName(String bucketName) { + this.bucketName = bucketName; + } + + public String getEndPoint() { + return endPoint; + } + + public void setEndPoint(String endPoint) { + this.endPoint = endPoint; + } + + public String getStyleName() { + return styleName; + } + + public void setStyleName(String styleName) { + this.styleName = styleName; + } + + public String getPrefix() { + return prefix; + } + + public void setPrefix(String prefix) { + this.prefix = prefix; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/Rediskey.java b/ordermall/src/main/java/com/zscat/mallplus/vo/Rediskey.java new file mode 100644 index 0000000..46420ca --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/Rediskey.java @@ -0,0 +1,99 @@ +package com.zscat.mallplus.vo; + +/** + * @Auther: shenzhuan + * @Date: 2019/4/26 17:52 + * @Description: + */ +public class Rediskey { + + public static final String ARTICLE_VIEWCOUNT_CODE = "ARTICLEVIEWCOUNTCODE_"; + public static final String ARTICLE_VIEWCOUNT_KEY = "ARTICLE_VIEWCOUNT_KEY"; + + public static final String STORE_VIEWCOUNT_CODE = "STOREVIEWCOUNTCODE_"; + public static final String STORE_VIEWCOUNT_KEY = "STORE_VIEWCOUNT_KEY"; + + public static final String GOODS_VIEWCOUNT_CODE = "GOODSVIEWCOUNTCODE_"; + public static final String GOODS_VIEWCOUNT_KEY = "GOODS_VIEWCOUNT_KEY"; + public static final String KDWL_INFO_CACHE = "KDWL_INFO_CACHE"; + + public static String appletBannerKey = "appletBannerKey"; + public static String appletCategoryKey = "appletCategoryKey"; + public static String appletNavIconKey = "appletNavIconKey"; + public static String appletHotProductsKey = "appletHotProductsKey"; + public static String appletNewProductsKey = "appletNewProductsKey"; + public static String appletCateProductsKey = "appletCateProductsKey"; + public static String appletsmsFlashPromotionProductKey = "appletsmsFlashPromotionProductKey"; + + + public static String allTreesList = "allTreesList:%s"; + public static String menuTreesList = "menuTreesList:%s"; + public static String permissionTreesList = "permissionTreesList:%s"; + public static String allMenuList = "menuList:%s"; + public static String menuList = "menuList:%s"; + public static String user = "user:%s"; + + public static String HomeContentResult = "HomeContentResult"; + public static String PmsProductResult = "PmsProductResult"; + public static String orderDetailResult = "orderDetailResult"; + + public static String PmsProductConsult = "PmsProductConsult"; + + + public static String GOODSDETAIL = "GOODSDETAIL:%s"; + public static String GOODSDETAIL1 = "GOODSDETAIL1:%s"; + public static String GOODSHISTORY = "GOODSHISTORY:%s"; + + public static String HOMEPAGE = "HomeJsshop"; + + public static String HOMEPAGEMOBILE = "HOMEPAGEMOBILE"; + public static String HOMEPAGEmallplus1 = "HomeMallplus1"; + public static String HOMEPAGEmallplus2 = "HomeMallplus2"; + public static String HOMEPAGE2 = "HomeCrmeb"; + public static String HOMEPAGEPC = "HomePc"; + public static String categoryAndChilds = "categoryAndChilds"; + public static String goodsConsult = "goodsConsult"; + public static String categoryAndGoodsList = "categoryAndGoodsList"; + public static String specialcategoryAndGoodsList = "specialcategoryAndGoodsList"; + public static String goodsCategorys = "goodsCategorys"; + public static String orderDetail = "orderDetail"; + public static String getorderstatusnum = "getorderstatusnum"; + + public static String STOREHOMEPAGEMOBILE = "STOREHOMEPAGEMOBILE:%s"; + /** + * diypage.setStatus(1); + * diypage.setType(2); + */ + public static String EsShopDiypage = "EsShopDiypage12:%s"; + /** + * 会员 + */ + public static String MEMBER = "MEMBER:%s"; + private static String SPLIT = ":"; + private static String BIZ_LIKE = "LIKE"; + private static String BIZ_DISLIKE = "DISLIKE"; + + /** + * 产生key:如在newsId为2上的咨询点赞后会产生key: LIKE:ENTITY_NEWS:2 + * + * @param entityId + * @param entityType + * @return + */ + public static String getLikeKey(int entityId, int entityType) { + return BIZ_LIKE + SPLIT + String.valueOf(entityType) + SPLIT + String.valueOf(entityId); + } + + /** + * 取消赞:如在newsId为2上的资讯取消点赞后会产生key: DISLIKE:ENTITY_NEWS:2 + * + * @param entityId + * @param entityType + * @return + */ + public static String getDisLikeKey(int entityId, int entityType) { + return BIZ_DISLIKE + SPLIT + String.valueOf(entityType) + SPLIT + String.valueOf(entityId); + } + + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/SmsCode.java b/ordermall/src/main/java/com/zscat/mallplus/vo/SmsCode.java new file mode 100644 index 0000000..e9de67a --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/SmsCode.java @@ -0,0 +1,15 @@ +package com.zscat.mallplus.vo; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class SmsCode implements Serializable { + /** + * + */ + private static final long serialVersionUID = 7353129036120185186L; + //短信流水号 + private String key; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/home/Configs.java b/ordermall/src/main/java/com/zscat/mallplus/vo/home/Configs.java new file mode 100644 index 0000000..c7a6090 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/home/Configs.java @@ -0,0 +1,36 @@ +package com.zscat.mallplus.vo.home; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class Configs implements Serializable { + private String version = "mallplus-1.1.1"; + private Integer about_article_id = 5; + private Integer cate_style = 3; + private Integer cate_type = 1; + private String distribution_agreement = "分销商申请协议"; + private String distribution_notes = " 成为Jshop云商分销商后,可以获取佣金,用户只可被推荐一次,越早推荐越返利越多哦。"; + private String distribution_store = "1"; + private Integer ent_id = 10519; + private Integer goods_stocks_warn = 5; + private Integer image_max = 5; + private Integer invoice_switch = 1; + private Integer open_distribution = 1; + private Integer point_switch = 1; + private String[] recommend_keys = {"圆珠笔", "文件夹", "文件袋"}; + private String share_desc = ""; + private String share_image = "https=//demo.jihainet.com/static/poster/1/1-1b867dc28e4bd37e55eaf327b6722fea.jpg"; + private String share_title = "优质好店邀您共享"; + private String shop_default_image = "http=//demo.jihainet.com/static/uploads/images/d6/60/71/5cde803675475.png"; + private String shop_desc = "管易云"; + private String shop_logo = "http=//demo.jihainet.com/static/uploads/images/68/f6/1b/5cde803088e85.png"; + private String shop_mobile = "13146587722"; + private String shop_name = "mallplus多租户商城"; + private String show_inviter = ""; + private String statistics = ""; + private Integer store_switch = 1; + private Integer tocash_money_low = 1; + private Integer tocash_money_rate = 1; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/home/Pages.java b/ordermall/src/main/java/com/zscat/mallplus/vo/home/Pages.java new file mode 100644 index 0000000..e73e52f --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/home/Pages.java @@ -0,0 +1,31 @@ +package com.zscat.mallplus.vo.home; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class Pages implements Serializable { + private Integer id; + private String code; + private String name; + private String desc; + private Integer layout; + private Integer type; + + private List items; + + public Pages() { + } + + public Pages(Integer id, String code, String name, String desc, Integer layout, Integer type, List pagesItemsList) { + this.id = id; + this.code = code; + this.name = name; + this.desc = desc; + this.layout = layout; + this.type = type; + this.items = pagesItemsList; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/home/PagesItems.java b/ordermall/src/main/java/com/zscat/mallplus/vo/home/PagesItems.java new file mode 100644 index 0000000..b556cfc --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/home/PagesItems.java @@ -0,0 +1,29 @@ +package com.zscat.mallplus.vo.home; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class PagesItems implements Serializable { + private Integer id; + private String widget_code; + private String page_code; + private Integer position_id; + private Integer sort; + + private Params params; + + public PagesItems() { + + } + + public PagesItems(Integer id, String widget_code, String page_code, Integer position_id, Integer sort, Params params) { + this.id = id; + this.widget_code = widget_code; + this.page_code = page_code; + this.position_id = position_id; + this.sort = sort; + this.params = params; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/home/Params.java b/ordermall/src/main/java/com/zscat/mallplus/vo/home/Params.java new file mode 100644 index 0000000..c3f2062 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/home/Params.java @@ -0,0 +1,43 @@ +package com.zscat.mallplus.vo.home; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class Params implements Serializable { + // 视频 video + private String autoplay; + + //搜索 + private String keywords; + private String style; // imgWindow + + // goods + private String title; + private Integer limit; + + private String type; + private String display; // 1 slide 2 list + private String lookMore; + private Integer classifyId; + + private Integer brandId; + private Integer column; + + // blank + private String backgroundColor; + private Integer height; + + // imgSlide + private Integer duration; + //imgWindow + private String margin; + + // articleClassify + private Integer articleClassifyId; + + + private List list; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/home/ServiceMenu.java b/ordermall/src/main/java/com/zscat/mallplus/vo/home/ServiceMenu.java new file mode 100644 index 0000000..7fad3c8 --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/home/ServiceMenu.java @@ -0,0 +1,25 @@ +package com.zscat.mallplus.vo.home; + +import lombok.Data; + +/** + * Created by Administrator on 2019/10/2. + */ +@Data +public class ServiceMenu { + + private String name; + private String pic; + private String url; + private String wapUrl; + + public ServiceMenu() { + } + + public ServiceMenu(String name, String pic, String url, String wapUrl) { + this.name = name; + this.pic = pic; + this.url = url; + this.wapUrl = wapUrl; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimeSecound.java b/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimeSecound.java new file mode 100644 index 0000000..89aa56b --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimeSecound.java @@ -0,0 +1,23 @@ +package com.zscat.mallplus.vo.timeline; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class TimeSecound implements Serializable { + long days;//天 + long hours; //小时 + long mins; //分钟 + long sc; //秒 + + public TimeSecound() { + } + + public TimeSecound(long days, long hours, long mins, long sc) { + this.days = days; + this.hours = hours; + this.mins = mins; + this.sc = sc; + } +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/Timeline.java b/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/Timeline.java new file mode 100644 index 0000000..d697b7b --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/Timeline.java @@ -0,0 +1,23 @@ +package com.zscat.mallplus.vo.timeline; + +import lombok.Data; + +import java.util.List; + +/** + * TimeLine + * + * @author bobbi + * @date 2019/02/24 20:33 + * @email 571002217@qq.com + * @description + */ +@Data +public class Timeline { + + private Integer year; + + private Integer count; + + private List months; +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimelineMonth.java b/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimelineMonth.java new file mode 100644 index 0000000..2397cec --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimelineMonth.java @@ -0,0 +1,24 @@ +package com.zscat.mallplus.vo.timeline; + +import lombok.Data; + +import java.util.List; + +/** + * TimeLineMonh + * + * @author bobbi + * @date 2019/02/24 20:33 + * @email 571002217@qq.com + * @description + */ +@Data +public class TimelineMonth { + + private Integer month; + + private Integer count; + + private List posts; + +} diff --git a/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimelinePost.java b/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimelinePost.java new file mode 100644 index 0000000..4e7dfac --- /dev/null +++ b/ordermall/src/main/java/com/zscat/mallplus/vo/timeline/TimelinePost.java @@ -0,0 +1,28 @@ +package com.zscat.mallplus.vo.timeline; + +import lombok.Data; + +import java.util.Date; + +/** + * TimeLineData + * + * @author bobbi + * @date 2019/02/24 20:39 + * @email 571002217@qq.com + * @description + */ +@Data +public class TimelinePost { + + private Integer id; + + private String title; + + private String description; + + private String postType; + + private Date createTime; + +} diff --git a/ordermall/src/main/resources/application-devv.yml b/ordermall/src/main/resources/application-devv.yml new file mode 100644 index 0000000..789a377 --- /dev/null +++ b/ordermall/src/main/resources/application-devv.yml @@ -0,0 +1,47 @@ +spring: + datasource: + hikari: + max-lifetime: 500000 + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://39.104.100.138:3306/ss_ordermall?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true +# url: jdbc:mysql://8.130.39.13:3306/yxt_lpk_ordermall?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true + username: root +# password: 1LAiGz$t1*Iw + password: yxt_mysql_138 + cloud: + nacos: + discovery: +# namespace: lipinka + server-addr: 127.0.0.1:8848 +# register-enabled: false + redis: + database: 3 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: + port: 6379 + timeout: 0 # 连接超时时间(毫秒) + +image: +# xlsxtmpl: E:/code/yxt-yyth/target/classes/static/upload/ + xlsxtmpl: D:/works/projects/yxt/yxtgit/lipinka/yxt-yyth-biz/target/classes/static/upload/ + upload: +# path: E:/code/yxt-yyth/target/classes/static/upload/ + path: D:/works/projects/yxt/yxtgit/lipinka/yxt-ordermall-biz/target/classes/static/upload/ + url: + prefix: https://supervise.yxtsoft.com/lpk/upload/ +weixin: + miniprogram: +# appid: wx97c0a62c6d65207f +# secret: e4572da4407573213377cd00e422397d + appid: wx4724e3a3c27f36b5 + secret: 971fd3b8aa7b08ce3e8a5f3e502b1a8d + qrcode: + giftCard: https://lpk.yyundong.com/lpkapi?code= + empCard: https://lpk.yyundong.com/lpkapi?qy= + empCardGift: https://lpk.yyundong.com/lpkapi?gift= \ No newline at end of file diff --git a/ordermall/src/main/resources/application-pro.yml b/ordermall/src/main/resources/application-pro.yml new file mode 100644 index 0000000..611ca61 --- /dev/null +++ b/ordermall/src/main/resources/application-pro.yml @@ -0,0 +1,38 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://127.0.0.1:3306/ss_ordermall?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true + username: root + password: Yxt@67508182 + cloud: + nacos: + discovery: + server-addr: 127.0.0.1:8848 + redis: + database: 3 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: 123456 + port: 6379 + timeout: 0 # 连接超时时间(毫秒) +image: + upload: + path: D:/webapps/lipinka/ordermall-ui/upload/ + url: + prefix: https://ordermall.yxtsoft.com/lpk/upload/ +import: + filePath: D:/yxt-supervise-gf/upload/ + +weixin: + miniprogram: + appid: wx4724e3a3c27f36b5 + secret: 971fd3b8aa7b08ce3e8a5f3e502b1a8d + qrcode: + giftCard: https://supervise.yxtsoft.com/lpkapi?code= + empCard: https://supervise.yxtsoft.com/lpkapi?qy= + empCardGift: https://supervise.yxtsoft.com/lpkapi?gift= \ No newline at end of file diff --git a/ordermall/src/main/resources/application-test.yml b/ordermall/src/main/resources/application-test.yml new file mode 100644 index 0000000..28eb233 --- /dev/null +++ b/ordermall/src/main/resources/application-test.yml @@ -0,0 +1,45 @@ +server: + port: 17211 + +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://172.18.0.4:3306/yxt_lpk_ordermall?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true + username: root + password: yxt_mysql_138 + cloud: + nacos: + discovery: + namespace: lipinka + server-addr: 172.18.0.5:8848 + ip: 39.104.100.138 + redis: + database: 3 # Redis数据库索引(默认为0) + host: 172.18.0.7 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: + port: 6379 + timeout: 0 # 连接超时时间(毫秒) + + +image: + upload: + path: /home/lzh/docker_data/nginx/html/lipinka/ordermall-ui/upload/ + url: + prefix: https://lpk.yyundong.com/upload/ + +weixin: + miniprogram: +# appid: wx97c0a62c6d65207f +# secret: e4572da4407573213377cd00e422397d + appid: wx4724e3a3c27f36b5 + secret: 971fd3b8aa7b08ce3e8a5f3e502b1a8d + qrcode: + giftCard: https://lpk.yyundong.com/lpkapi?code= + empCard: https://lpk.yyundong.com/lpkapi?qy= + empCardGift: https://lpk.yyundong.com/lpkapi?code= \ No newline at end of file diff --git a/ordermall/src/main/resources/application.yml b/ordermall/src/main/resources/application.yml new file mode 100644 index 0000000..79e680d --- /dev/null +++ b/ordermall/src/main/resources/application.yml @@ -0,0 +1,50 @@ +spring: + application: + name: ordermall-biz + profiles: + active: devv +# active: test +# active: pro + messages: + # 国际化资源文件路径 + basename: i18n/messages + servlet: + #上传文件 + multipart: + max-file-size: 50MB + max-request-size: 100MB + devtools: + restart: + # 热部署开关 + enabled: true + +server: + port: 7211 + max-http-header-size: 102400 + undertow: + max-http-post-size: -1 + +#mybatis +mybatis-plus: + # 配置mapper的扫描,找到所有的mapper.xml映射文件 + mapper-locations: classpath*:**Mapper.xml + global-config: + refresh: true + db-config: + #定义生成ID的类型 + id-type: Auto + db-type: mysql + configuration: + map-underscore-to-camel-case: false + cache-enabled: true + call-setters-on-nulls: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + +#rocketmq: +# producer: +# group: yxt-supervise-gf +# name-server: 127.0.0.1:9876 + + + + diff --git a/ordermall/src/main/resources/logback-spring.xml b/ordermall/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..ea76604 --- /dev/null +++ b/ordermall/src/main/resources/logback-spring.xml @@ -0,0 +1,50 @@ + + + + + + + + + + %yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n) + + + + + + + + + + + + + + + ${log.base}.log + + ${log.base}.%d{yyyyMMdd}.%i.log.zip + + + + 1MB + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} + -%msg%n + + + + + + + + + + \ No newline at end of file diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/AuthFilter.java b/ordermallGateway/src/main/java/com/yxt/ordermall/AuthFilter.java new file mode 100644 index 0000000..47f73db --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/AuthFilter.java @@ -0,0 +1,128 @@ +package com.yxt.ordermall;//package com.yxt.wms; +// +//import com.alibaba.fastjson.JSON; +//import com.yxt.wms.utils.*; +//import org.reactivestreams.Publisher; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.cloud.gateway.filter.GatewayFilterChain; +//import org.springframework.cloud.gateway.filter.GlobalFilter; +//import org.springframework.core.Ordered; +//import org.springframework.core.io.buffer.DataBuffer; +//import org.springframework.core.io.buffer.DataBufferFactory; +//import org.springframework.core.io.buffer.DataBufferUtils; +//import org.springframework.http.HttpStatus; +//import org.springframework.http.MediaType; +//import org.springframework.http.server.reactive.ServerHttpRequest; +//import org.springframework.http.server.reactive.ServerHttpResponse; +//import org.springframework.stereotype.Component; +//import org.springframework.util.MultiValueMap; +//import org.springframework.web.server.ServerWebExchange; +//import reactor.core.publisher.Mono; +// +//import static com.yxt.wms.utils.HttpStatus.OVERDUE; +// +///** +// * @author dimengzhe +// * @date 2020/12/2 9:52 +// * @description 网关鉴权 +// * 1.某些接口不需要不进行登录验证,如登录,注册,获取验证码等接口。(uri白名单) +// * 2.某些接口需要登录验证,但是不需要刷新token有效时间,如客户端轮询请求的接口。 +// * 3.特定场景下IP黑、白名单。 +// * 4.处于安全考虑的接口流量控制。 +// */ +//@Component +//public class AuthFilter implements GlobalFilter, Ordered { +// +// private static final Logger log = LoggerFactory.getLogger(AuthFilter.class); +// //过期时间设置为4小时 +// private final static long EXPIRE_TIME = Constants.TOKEN_EXPIRE * 60; +// private final static long EXPIRE_TIME_APP = Constants.TOKEN_EXPIRE_APP * 60; +// +// // 排除过滤的 uri 地址,nacos自行添加 +// @Autowired +// private IgnoreWhiteProperties ignoreWhite; +// @Autowired +// private RedisUtil redisUtil; +// /* +// redis中数据存储结构为两个键值对 +// 键为用户ID,值为用户token,可以通过用户ID查询用户token,实现立刻失效用户token功能。 +// 键为用户token,值为用户数据,实现token有效性,用户数据缓存功能。 +// */ +// +// @Override +// public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) { +// String url = exchange.getRequest().getURI().getPath(); +// //1.uri白名单。 跳过不需要验证的路径 +// if (StringUtils.matches(url, ignoreWhite.getWhites())) { +// return chain.filter(exchange); +// } else if (StringUtils.matchesTwo(url, ignoreWhite.getWhitesTwo())) { +// return chain.filter(exchange); +// } +// //2.验证有无令牌。 从请求的header中获取token +// String token = getToken(exchange.getRequest()); +// if (StringUtils.isBlank(token)) { +// return setUnauthorizedResponse(exchange, "令牌不能为空"); +// } +// //3.验证token是否有效。(a.验证token是否合法 b.验证token是否过期) +// //从redis缓存中获取key对应的内容 +// String userName = redisUtil.get(token); +// +// if (StringUtils.isBlank(userName)) { +// +// return setUnauthorizedResponse(exchange, "登录状态已过期"); +// } +// //验签:需要验证token中的签名是否与用户sid一致,后台用密钥+userSid+token除签名以外的内容,重新生成签名,与token中的签名进行比较 +// +// //刷新token过期日期 +// if (token.contains("App")) { +// redisUtil.expire(token, EXPIRE_TIME_APP); +// } else { +// redisUtil.expire(token, EXPIRE_TIME); +// } +// +// // 在请求中增加用户信息 +// ServerHttpRequest mutableReq = exchange.getRequest().mutate() +// .header(CacheConstants.DETAILS_USERNAME, userName).build(); +// ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build(); +// return chain.filter(mutableExchange); +// } +// +// /** +// * 鉴权异常处理 +// * +// * @param exchange +// * @param msg +// * @return +// */ +// private Mono setUnauthorizedResponse(ServerWebExchange exchange, String msg) { +// ServerHttpResponse response = exchange.getResponse(); +// response.getHeaders().setContentType(MediaType.APPLICATION_JSON); +// response.setStatusCode(HttpStatus.OK); +// +// log.error("[鉴权异常处理]请求路径:{}", exchange.getRequest().getPath()); +// +// return response.writeWith(Mono.fromSupplier(() -> { +// DataBufferFactory bufferFactory = response.bufferFactory(); +//// return bufferFactory.wrap(JSON.toJSONBytes(com.yxt.anrui.utils.HttpStatus.OVERDUE)); +// return bufferFactory.wrap(JSON.toJSONBytes(ResultBean.fireFail().setCode(OVERDUE).setMsg(msg))); +// })); +// } +// +// /** +// * 获取请求token +// */ +// private String getToken(ServerHttpRequest request) { +// String token = request.getHeaders().getFirst(CacheConstants.HEADER); +//// if (StringUtils.isNotEmpty(token) && token.startsWith(CacheConstants.TOKEN_PREFIX)) { +//// token = token.replace(CacheConstants.TOKEN_PREFIX, ""); +//// } +// return token; +// } +// +// @Override +// public int getOrder() { +// return 0; +// } +//} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/GatewayApplication.java b/ordermallGateway/src/main/java/com/yxt/ordermall/GatewayApplication.java new file mode 100644 index 0000000..88e4b98 --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/GatewayApplication.java @@ -0,0 +1,18 @@ +package com.yxt.ordermall; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +/** + * @author wangpengfei + * @date ${DATE} ${TIME} + */ +@SpringBootApplication(scanBasePackages = { + "com.yxt.ordermall" +}) +@EnableDiscoveryClient +public class GatewayApplication { + public static void main(String[] args) { + SpringApplication.run(GatewayApplication.class, args); + }} \ No newline at end of file diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/RedisUtil.java b/ordermallGateway/src/main/java/com/yxt/ordermall/RedisUtil.java new file mode 100644 index 0000000..dbaa5ed --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/RedisUtil.java @@ -0,0 +1,300 @@ +package com.yxt.ordermall; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.data.redis.connection.RedisConnection; +import org.springframework.data.redis.connection.RedisStringCommands; +import org.springframework.data.redis.core.*; +import org.springframework.data.redis.core.types.Expiration; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.stereotype.Service; + +import java.io.Serializable; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +/** + * @author dimengzhe + * @date 2020/9/9 17:35 + * @description redis工具类 + */ +@Service +public class RedisUtil { + + @Autowired + private RedisTemplate redisTemplate; + + + /** + * 字符串类型:根据key设置value值,如果key中的value存在,那么返回false + * + * @param key + * @param value + * @return + */ + public Boolean setnx(final String key, final String value, final long expration, final TimeUnit timeUnit) { + return (Boolean) redisTemplate.execute(new RedisCallback() { + @Override + public Boolean doInRedis(RedisConnection redisConnection) throws DataAccessException { + RedisSerializer redisSerializer = redisTemplate.getStringSerializer(); + byte keys[] = redisSerializer.serialize(key); + byte values[] = redisSerializer.serialize(value); + return redisConnection.set(keys, values, Expiration.from(expration, timeUnit), RedisStringCommands.SetOption.SET_IF_ABSENT); + } + }); + } + + /** + * 写入缓存 + * + * @param key + * @param value + * @return + */ + public boolean set(final String key, final String value) { + + boolean result = (boolean) redisTemplate.execute(new RedisCallback() { + @Override + public Boolean doInRedis(RedisConnection connection) throws DataAccessException { + RedisSerializer serializer = redisTemplate.getStringSerializer(); + connection.set(serializer.serialize(key), serializer.serialize(value)); + return true; + } + }); + return result; + } + + /** + * 写入缓存设置时效时间 + * + * @param key + * @param value + * @return + */ + public boolean set(final String key, Object value, Long expireTime) { + boolean result = false; + try { + ValueOperations operations = redisTemplate.opsForValue(); + operations.set(key, value); + redisTemplate.expire(key, expireTime, TimeUnit.SECONDS); + result = true; + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + /** + * 刷新缓存到期时间 + * @param key + * @param expire + * @return + */ + public boolean expire(String key, long expire) { + return redisTemplate.expire(key, expire, TimeUnit.SECONDS); + } + + /** + * 读取缓存 + * + * @param key + * @return + */ + public String get(final String key) { + String result = (String) redisTemplate.execute(new RedisCallback() { + @Override + public String doInRedis(RedisConnection connection) throws DataAccessException { + RedisSerializer serializer = redisTemplate.getStringSerializer(); + byte[] value = connection.get(serializer.serialize(key)); + return serializer.deserialize(value); + } + }); + return result; + } + + /** + * 正则获取key集合 + * + * @param pattern + * @return + */ + public Set keys(String pattern) { + Set keys = redisTemplate.keys(pattern); + return keys; + } + + + /** + * 批量删除对应的value + * + * @param keys + */ + public void remove(final String... keys) { + for (String key : keys) { + remove(key); + } + } + + /** + * 批量删除key + * + * @param pattern + */ + public void removePattern(final String pattern) { + Set keys = redisTemplate.keys(pattern); + if (keys.size() > 0) { + redisTemplate.delete(keys); + } + + } + + + public Long remove(final String key) { + return (Long) redisTemplate.execute(new RedisCallback() { + @Override + public Long doInRedis(RedisConnection redisConnection) throws DataAccessException { + RedisSerializer serializer = redisTemplate.getStringSerializer(); + byte keys[] = serializer.serialize(key); + return redisConnection.del(keys); + } + }); + } + + + /** + * 判断缓存中是否有对应的value + * + * @param key + * @return + */ + public boolean exists(final String key) { + return redisTemplate.hasKey(key); + } + + + /** + * 哈希 添加 + * + * @param key + * @param hashKey + * @param value + */ + public void hmSet(String key, Object hashKey, Object value) { + HashOperations hash = redisTemplate.opsForHash(); + hash.put(key, hashKey, value); + } + + /** + * 哈希获取数据 + * + * @param key + * @param hashKey + * @return + */ + public String hmGet(String key, Object hashKey) { + HashOperations hash = redisTemplate.opsForHash(); + return hash.get(key, hashKey); + } + + /** + * 获取哈希 keys + * + * @param key + * @return + */ + public Set hmGetKeys(String key) { + HashOperations hash = redisTemplate.opsForHash(); + return hash.keys(key); + } + + /** + * 删除集合中的key + * + * @param key + * @param hashKey + */ + public void hmDelete(String key, Object hashKey) { + HashOperations hash = redisTemplate.opsForHash(); + hash.delete(key, hashKey); + } + + /** + * 列表添加 + * + * @param k + * @param v + */ + public void lPush(String k, Object v) { + ListOperations list = redisTemplate.opsForList(); + list.rightPush(k, v); + } + + /** + * 列表获取 + * + * @param k + * @param l + * @param l1 + * @return + */ + public List lRange(String k, long l, long l1) { + ListOperations list = redisTemplate.opsForList(); + return list.range(k, l, l1); + } + + /** + * 集合添加 + * + * @param key + * @param value + */ + public void add(String key, Object value) { + SetOperations set = redisTemplate.opsForSet(); + set.add(key, value); + } + + /** + * 集合获取 + * + * @param key + * @return + */ + public Set setMembers(String key) { + SetOperations set = redisTemplate.opsForSet(); + return set.members(key); + } + + /** + * 有序集合添加 + * + * @param key + * @param value + * @param scoure + */ + public void zAdd(String key, Object value, double scoure) { + ZSetOperations zset = redisTemplate.opsForZSet(); + zset.add(key, value, scoure); + } + + /** + * 有序集合获取 + * + * @param key + * @param scoure + * @param scoure1 + * @return + */ + public Set rangeByScore(String key, double scoure, double scoure1) { + ZSetOperations zset = redisTemplate.opsForZSet(); + return zset.rangeByScore(key, scoure, scoure1); + } + + /** + * 实现命令:TTL key 以秒为单位,返回给定key的剩余生存时间 + * @param key + * @return + */ + public long ttl(String key) { + return redisTemplate.getExpire(key); + } +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/CacheConstants.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/CacheConstants.java new file mode 100644 index 0000000..6706150 --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/CacheConstants.java @@ -0,0 +1,25 @@ +package com.yxt.ordermall.utils; + +/** + * @author dimengzhe + * @date 2020/12/2 9:58 + * @description 缓存的key 常量 + */ + +public class CacheConstants { + + /** + * 令牌自定义标识 + */ + public static final String HEADER = "token"; + + /** + * 令牌前缀 + */ + public static final String TOKEN_PREFIX = "Bearer "; + + /** + * 用户名字段 + */ + public static final String DETAILS_USERNAME = "userName"; +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/CharsetKit.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/CharsetKit.java new file mode 100644 index 0000000..2711c1c --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/CharsetKit.java @@ -0,0 +1,86 @@ +package com.yxt.ordermall.utils; + +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; + +/** + * @author dimengzhe + * @date 2020/12/2 10:02 + * @description + */ + +public class CharsetKit { + + /** ISO-8859-1 */ + public static final String ISO_8859_1 = "ISO-8859-1"; + /** UTF-8 */ + public static final String UTF_8 = "UTF-8"; + /** GBK */ + public static final String GBK = "GBK"; + + /** ISO-8859-1 */ + public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1); + /** UTF-8 */ + public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8); + /** GBK */ + public static final Charset CHARSET_GBK = Charset.forName(GBK); + + /** + * 转换为Charset对象 + * + * @param charset 字符集,为空则返回默认字符集 + * @return Charset + */ + public static Charset charset(String charset) + { + return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset); + } + + /** + * 转换字符串的字符集编码 + * + * @param source 字符串 + * @param srcCharset 源字符集,默认ISO-8859-1 + * @param destCharset 目标字符集,默认UTF-8 + * @return 转换后的字符集 + */ + public static String convert(String source, String srcCharset, String destCharset) + { + return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset)); + } + + /** + * 转换字符串的字符集编码 + * + * @param source 字符串 + * @param srcCharset 源字符集,默认ISO-8859-1 + * @param destCharset 目标字符集,默认UTF-8 + * @return 转换后的字符集 + */ + public static String convert(String source, Charset srcCharset, Charset destCharset) + { + if (null == srcCharset) + { + srcCharset = StandardCharsets.ISO_8859_1; + } + + if (null == destCharset) + { + destCharset = StandardCharsets.UTF_8; + } + + if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset)) + { + return source; + } + return new String(source.getBytes(srcCharset), destCharset); + } + + /** + * @return 系统字符集编码 + */ + public static String systemCharset() + { + return Charset.defaultCharset().name(); + } +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/Constants.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/Constants.java new file mode 100644 index 0000000..afc9c11 --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/Constants.java @@ -0,0 +1,29 @@ +package com.yxt.ordermall.utils; + +/** + * @author dimengzhe + * @date 2020/12/2 9:56 + * @description 通用常量信息 + */ + +public class Constants { + + /** + * 成功标记 + */ + public static final Integer SUCCESS = 200; + + /** + * 失败标记 + */ + public static final Integer FAIL = 5000; + + public static final boolean fail = false; + public static final boolean success = true; + + /** + * 令牌有效期(分钟) + */ + public final static long TOKEN_EXPIRE = 4*60; + public final static long TOKEN_EXPIRE_APP = 15*24*60; +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/Convert.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/Convert.java new file mode 100644 index 0000000..52c4d67 --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/Convert.java @@ -0,0 +1,999 @@ +package com.yxt.ordermall.utils; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.text.NumberFormat; +import java.util.Set; + +/** + * @author dimengzhe + * @date 2020/12/2 10:01 + * @description + */ + +public class Convert { + + /** + * 转换为字符串
    + * 如果给定的值为null,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static String toStr(Object value, String defaultValue) + { + if (null == value) + { + return defaultValue; + } + if (value instanceof String) + { + return (String) value; + } + return value.toString(); + } + + /** + * 转换为字符串
    + * 如果给定的值为null,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static String toStr(Object value) + { + return toStr(value, null); + } + + /** + * 转换为字符
    + * 如果给定的值为null,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Character toChar(Object value, Character defaultValue) + { + if (null == value) + { + return defaultValue; + } + if (value instanceof Character) + { + return (Character) value; + } + + final String valueStr = toStr(value, null); + return StringUtils.isEmpty(valueStr) ? defaultValue : valueStr.charAt(0); + } + + /** + * 转换为字符
    + * 如果给定的值为null,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Character toChar(Object value) + { + return toChar(value, null); + } + + /** + * 转换为byte
    + * 如果给定的值为null,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Byte toByte(Object value, Byte defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Byte) + { + return (Byte) value; + } + if (value instanceof Number) + { + return ((Number) value).byteValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Byte.parseByte(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为byte
    + * 如果给定的值为null,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Byte toByte(Object value) + { + return toByte(value, null); + } + + /** + * 转换为Short
    + * 如果给定的值为null,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Short toShort(Object value, Short defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Short) + { + return (Short) value; + } + if (value instanceof Number) + { + return ((Number) value).shortValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Short.parseShort(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Short
    + * 如果给定的值为null,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Short toShort(Object value) + { + return toShort(value, null); + } + + /** + * 转换为Number
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Number toNumber(Object value, Number defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Number) + { + return (Number) value; + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return NumberFormat.getInstance().parse(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Number
    + * 如果给定的值为空,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Number toNumber(Object value) + { + return toNumber(value, null); + } + + /** + * 转换为int
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Integer toInt(Object value, Integer defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Integer) + { + return (Integer) value; + } + if (value instanceof Number) + { + return ((Number) value).intValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Integer.parseInt(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为int
    + * 如果给定的值为null,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Integer toInt(Object value) + { + return toInt(value, null); + } + + /** + * 转换为Integer数组
    + * + * @param str 被转换的值 + * @return 结果 + */ + public static Integer[] toIntArray(String str) + { + return toIntArray(",", str); + } + + /** + * 转换为Long数组
    + * + * @param str 被转换的值 + * @return 结果 + */ + public static Long[] toLongArray(String str) + { + return toLongArray(",", str); + } + + /** + * 转换为Integer数组
    + * + * @param split 分隔符 + * @param split 被转换的值 + * @return 结果 + */ + public static Integer[] toIntArray(String split, String str) + { + if (StringUtils.isEmpty(str)) + { + return new Integer[] {}; + } + String[] arr = str.split(split); + final Integer[] ints = new Integer[arr.length]; + for (int i = 0; i < arr.length; i++) + { + final Integer v = toInt(arr[i], 0); + ints[i] = v; + } + return ints; + } + + /** + * 转换为Long数组
    + * + * @param split 分隔符 + * @param str 被转换的值 + * @return 结果 + */ + public static Long[] toLongArray(String split, String str) + { + if (StringUtils.isEmpty(str)) + { + return new Long[] {}; + } + String[] arr = str.split(split); + final Long[] longs = new Long[arr.length]; + for (int i = 0; i < arr.length; i++) + { + final Long v = toLong(arr[i], null); + longs[i] = v; + } + return longs; + } + + /** + * 转换为String数组
    + * + * @param str 被转换的值 + * @return 结果 + */ + public static String[] toStrArray(String str) + { + return toStrArray(",", str); + } + + /** + * 转换为String数组
    + * + * @param split 分隔符 + * @param split 被转换的值 + * @return 结果 + */ + public static String[] toStrArray(String split, String str) + { + return str.split(split); + } + + /** + * 转换为long
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Long toLong(Object value, Long defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Long) + { + return (Long) value; + } + if (value instanceof Number) + { + return ((Number) value).longValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + // 支持科学计数法 + return new BigDecimal(valueStr.trim()).longValue(); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为long
    + * 如果给定的值为null,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Long toLong(Object value) + { + return toLong(value, null); + } + + /** + * 转换为double
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Double toDouble(Object value, Double defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Double) + { + return (Double) value; + } + if (value instanceof Number) + { + return ((Number) value).doubleValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + // 支持科学计数法 + return new BigDecimal(valueStr.trim()).doubleValue(); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为double
    + * 如果给定的值为空,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Double toDouble(Object value) + { + return toDouble(value, null); + } + + /** + * 转换为Float
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Float toFloat(Object value, Float defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Float) + { + return (Float) value; + } + if (value instanceof Number) + { + return ((Number) value).floatValue(); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Float.parseFloat(valueStr.trim()); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Float
    + * 如果给定的值为空,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Float toFloat(Object value) + { + return toFloat(value, null); + } + + /** + * 转换为boolean
    + * String支持的值为:true、false、yes、ok、no,1,0 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static Boolean toBool(Object value, Boolean defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof Boolean) + { + return (Boolean) value; + } + String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + valueStr = valueStr.trim().toLowerCase(); + switch (valueStr) + { + case "true": + return true; + case "false": + return false; + case "yes": + return true; + case "ok": + return true; + case "no": + return false; + case "1": + return true; + case "0": + return false; + default: + return defaultValue; + } + } + + /** + * 转换为boolean
    + * 如果给定的值为空,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static Boolean toBool(Object value) + { + return toBool(value, null); + } + + /** + * 转换为Enum对象
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * + * @param clazz Enum的Class + * @param value 值 + * @param defaultValue 默认值 + * @return Enum + */ + public static > E toEnum(Class clazz, Object value, E defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (clazz.isAssignableFrom(value.getClass())) + { + @SuppressWarnings("unchecked") + E myE = (E) value; + return myE; + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return Enum.valueOf(clazz, valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为Enum对象
    + * 如果给定的值为空,或者转换失败,返回默认值null
    + * + * @param clazz Enum的Class + * @param value 值 + * @return Enum + */ + public static > E toEnum(Class clazz, Object value) + { + return toEnum(clazz, value, null); + } + + /** + * 转换为BigInteger
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static BigInteger toBigInteger(Object value, BigInteger defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof BigInteger) + { + return (BigInteger) value; + } + if (value instanceof Long) + { + return BigInteger.valueOf((Long) value); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return new BigInteger(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为BigInteger
    + * 如果给定的值为空,或者转换失败,返回默认值null
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static BigInteger toBigInteger(Object value) + { + return toBigInteger(value, null); + } + + /** + * 转换为BigDecimal
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @param defaultValue 转换错误时的默认值 + * @return 结果 + */ + public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) + { + if (value == null) + { + return defaultValue; + } + if (value instanceof BigDecimal) + { + return (BigDecimal) value; + } + if (value instanceof Long) + { + return new BigDecimal((Long) value); + } + if (value instanceof Double) + { + return new BigDecimal((Double) value); + } + if (value instanceof Integer) + { + return new BigDecimal((Integer) value); + } + final String valueStr = toStr(value, null); + if (StringUtils.isEmpty(valueStr)) + { + return defaultValue; + } + try + { + return new BigDecimal(valueStr); + } + catch (Exception e) + { + return defaultValue; + } + } + + /** + * 转换为BigDecimal
    + * 如果给定的值为空,或者转换失败,返回默认值
    + * 转换失败不会报错 + * + * @param value 被转换的值 + * @return 结果 + */ + public static BigDecimal toBigDecimal(Object value) + { + return toBigDecimal(value, null); + } + + /** + * 将对象转为字符串
    + * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @return 字符串 + */ + public static String utf8Str(Object obj) + { + return str(obj, CharsetKit.CHARSET_UTF_8); + } + + /** + * 将对象转为字符串
    + * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @param charsetName 字符集 + * @return 字符串 + */ + public static String str(Object obj, String charsetName) + { + return str(obj, Charset.forName(charsetName)); + } + + /** + * 将对象转为字符串
    + * 1、Byte数组和ByteBuffer会被转换为对应字符串的数组 2、对象数组会调用Arrays.toString方法 + * + * @param obj 对象 + * @param charset 字符集 + * @return 字符串 + */ + public static String str(Object obj, Charset charset) + { + if (null == obj) + { + return null; + } + + if (obj instanceof String) + { + return (String) obj; + } + else if (obj instanceof byte[] || obj instanceof Byte[]) + { + return str((Byte[]) obj, charset); + } + else if (obj instanceof ByteBuffer) + { + return str((ByteBuffer) obj, charset); + } + return obj.toString(); + } + + /** + * 将byte数组转为字符串 + * + * @param bytes byte数组 + * @param charset 字符集 + * @return 字符串 + */ + public static String str(byte[] bytes, String charset) + { + return str(bytes, StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset)); + } + + /** + * 解码字节码 + * + * @param data 字符串 + * @param charset 字符集,如果此字段为空,则解码的结果取决于平台 + * @return 解码后的字符串 + */ + public static String str(byte[] data, Charset charset) + { + if (data == null) + { + return null; + } + + if (null == charset) + { + return new String(data); + } + return new String(data, charset); + } + + /** + * 将编码的byteBuffer数据转换为字符串 + * + * @param data 数据 + * @param charset 字符集,如果为空使用当前系统字符集 + * @return 字符串 + */ + public static String str(ByteBuffer data, String charset) + { + if (data == null) + { + return null; + } + + return str(data, Charset.forName(charset)); + } + + /** + * 将编码的byteBuffer数据转换为字符串 + * + * @param data 数据 + * @param charset 字符集,如果为空使用当前系统字符集 + * @return 字符串 + */ + public static String str(ByteBuffer data, Charset charset) + { + if (null == charset) + { + charset = Charset.defaultCharset(); + } + return charset.decode(data).toString(); + } + + // ----------------------------------------------------------------------- 全角半角转换 + /** + * 半角转全角 + * + * @param input String. + * @return 全角字符串. + */ + public static String toSBC(String input) + { + return toSBC(input, null); + } + + /** + * 半角转全角 + * + * @param input String + * @param notConvertSet 不替换的字符集合 + * @return 全角字符串. + */ + public static String toSBC(String input, Set notConvertSet) + { + char c[] = input.toCharArray(); + for (int i = 0; i < c.length; i++) + { + if (null != notConvertSet && notConvertSet.contains(c[i])) + { + // 跳过不替换的字符 + continue; + } + + if (c[i] == ' ') + { + c[i] = '\u3000'; + } + else if (c[i] < '\177') + { + c[i] = (char) (c[i] + 65248); + + } + } + return new String(c); + } + + /** + * 全角转半角 + * + * @param input String. + * @return 半角字符串 + */ + public static String toDBC(String input) + { + return toDBC(input, null); + } + + /** + * 替换全角为半角 + * + * @param text 文本 + * @param notConvertSet 不替换的字符集合 + * @return 替换后的字符 + */ + public static String toDBC(String text, Set notConvertSet) + { + char c[] = text.toCharArray(); + for (int i = 0; i < c.length; i++) + { + if (null != notConvertSet && notConvertSet.contains(c[i])) + { + // 跳过不替换的字符 + continue; + } + + if (c[i] == '\u3000') + { + c[i] = ' '; + } + else if (c[i] > '\uFF00' && c[i] < '\uFF5F') + { + c[i] = (char) (c[i] - 65248); + } + } + String returnString = new String(c); + + return returnString; + } + + /** + * 数字金额大写转换 先写个完整的然后将如零拾替换成零 + * + * @param n 数字 + * @return 中文大写数字 + */ + public static String digitUppercase(double n) + { + String[] fraction = { "角", "分" }; + String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; + String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } }; + + String head = n < 0 ? "负" : ""; + n = Math.abs(n); + + String s = ""; + for (int i = 0; i < fraction.length; i++) + { + s += (digit[(int) (Math.floor(n * 10 * Math.pow(10, i)) % 10)] + fraction[i]).replaceAll("(零.)+", ""); + } + if (s.length() < 1) + { + s = "整"; + } + int integerPart = (int) Math.floor(n); + + for (int i = 0; i < unit[0].length && integerPart > 0; i++) + { + String p = ""; + for (int j = 0; j < unit[1].length && n > 0; j++) + { + p = digit[integerPart % 10] + unit[1][j] + p; + integerPart = integerPart / 10; + } + s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][i] + s; + } + return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整"); + } +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/HttpStatus.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/HttpStatus.java new file mode 100644 index 0000000..91627cb --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/HttpStatus.java @@ -0,0 +1,23 @@ +package com.yxt.ordermall.utils; + +/** + * @author dimengzhe + * @date 2021/6/16 10:50 + * @description + */ + +public class HttpStatus { + + /** + * 操作成功 + */ + public static final int SUCCESS = 200; + + /** + * 系统内部错误 + */ + public static final int ERROR = 500; + + public static final String OVERDUE = "5000"; + +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/HttpUtils.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/HttpUtils.java new file mode 100644 index 0000000..4e7e2e9 --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/HttpUtils.java @@ -0,0 +1,167 @@ +package com.yxt.ordermall.utils; + +import org.apache.http.Consts; +import org.apache.http.HttpEntity; +import org.apache.http.NameValuePair; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class HttpUtils { + private static final Logger log = LoggerFactory.getLogger(HttpUtils.class); + private static final CloseableHttpClient httpclient = HttpClients.createDefault(); + private static final String userAgent = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36"; + + /** + * 发送HttpGet请求 * * @param url * 请求地址 * @return 返回字符串 + */ + public static String sendGet(String url, String token) { + String result = null; + CloseableHttpResponse response = null; + try { + HttpGet httpGet = new HttpGet(url); + httpGet.setHeader("User-Agent", userAgent); + httpGet.setHeader("Authorization", "token " + token); + response = httpclient.execute(httpGet); + HttpEntity entity = response.getEntity(); + if (entity != null) { + result = EntityUtils.toString(entity); + } + } catch (Exception e) { + log.error("处理失败 {}" + e); + e.printStackTrace(); + } finally { + if (response != null) { + try { + response.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + + } + return result; + } + + /** + * 发送HttpPost请求,参数为map * * @param url * 请求地址 * @param map * 请求参数 * @return 返回字符串 + */ + public static String sendPost(String url, Map map) { + // 设置参数 + List formparams = new ArrayList(); + for (Map.Entry entry : map.entrySet()) { + formparams.add(new BasicNameValuePair(entry.getKey(), entry.getValue())); + } + // 编码 + UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(formparams, Consts.UTF_8); + // 取得HttpPost对象 + HttpPost httpPost = new HttpPost(url); + // 防止被当成攻击添加的 + httpPost.setHeader("User-Agent", userAgent); + // 参数放入Entity + httpPost.setEntity(formEntity); + CloseableHttpResponse response = null; + String result = null; + try { + // 执行post请求 + response = httpclient.execute(httpPost); + // 得到entity + HttpEntity entity = response.getEntity(); + // 得到字符串 + result = EntityUtils.toString(entity); + } catch (IOException e) { + log.error(e.getMessage()); + } finally { + if (response != null) { + try { + response.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + } + return result; + } + + + /** + * 发送HttpPost请求,参数为json字符串 * * @param url * @param jsonStr * @return + */ + public static String sendPost(String url, String jsonStr) { + String result = null; + // 字符串编码 + StringEntity entity = new StringEntity(jsonStr, Consts.UTF_8); + // 设置content-type + entity.setContentType("application/json"); + HttpPost httpPost = new HttpPost(url); + // 防止被当成攻击添加的 + httpPost.setHeader("User-Agent", userAgent); + // 接收参数设置 + httpPost.setHeader("Accept", "application/json"); + httpPost.setEntity(entity); + CloseableHttpResponse response = null; + try { + response = httpclient.execute(httpPost); + HttpEntity httpEntity = response.getEntity(); + result = EntityUtils.toString(httpEntity); + } catch (IOException e) { + log.error(e.getMessage()); + } finally { + // 关闭CloseableHttpResponse + if (response != null) { + try { + response.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + } + return result; + } + + /** + * 发送不带参数的HttpPost请求 * * @param url * @return + */ + public static String sendPost(String url) { + String result = null; + // 得到一个HttpPost对象 + HttpPost httpPost = new HttpPost(url); + // 防止被当成攻击添加的 + httpPost.setHeader("User-Agent", userAgent); + CloseableHttpResponse response = null; + try { + // 执行HttpPost请求,并得到一个CloseableHttpResponse + response = httpclient.execute(httpPost); + // 从CloseableHttpResponse中拿到HttpEntity + HttpEntity entity = response.getEntity(); + // 将HttpEntity转换为字符串 + result = EntityUtils.toString(entity); + } catch (IOException e) { + log.error(e.getMessage()); + } finally { + // 关闭CloseableHttpResponse + if (response != null) { + try { + response.close(); + } catch (IOException e) { + log.error(e.getMessage()); + } + } + } + return result; + } + +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/IResultCodeMsg.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/IResultCodeMsg.java new file mode 100644 index 0000000..9cd501f --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/IResultCodeMsg.java @@ -0,0 +1,44 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.ordermall.utils; + +/** + * Project: yxt-common
    + * File: IResultCodeMsg.java
    + * Class: com.yxt.common.core.result.IResultCodeMsg
    + * Description: <描述类的功能>.
    + * Copyright: Copyright (c) 2011
    + * Company: https://gitee.com/liuzp315
    + * Makedate: 2021/9/11 下午11:00
    + * + * @author popo + * @version 1.0 + * @since 1.0 + */ +public interface IResultCodeMsg { + String getCode(); + String getMsg(); +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/IgnoreWhiteProperties.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/IgnoreWhiteProperties.java new file mode 100644 index 0000000..ff752af --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/IgnoreWhiteProperties.java @@ -0,0 +1,42 @@ +package com.yxt.ordermall.utils; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author dimengzhe + * @date 2020/12/2 9:54 + * @description 放行白名单配置 + */ +@Configuration +@RefreshScope +@ConfigurationProperties(prefix = "ignore") +public class IgnoreWhiteProperties { + + /** + * 放行白名单配置,网关不校验此处的白名单 + */ + private List whites = new ArrayList<>(); + + public List getWhites() { + return whites; + } + + public void setWhites(List whites) { + this.whites = whites; + } + + private List whitesTwo = new ArrayList<>(); + + public List getWhitesTwo() { + return whitesTwo; + } + + public void setWhitesTwo(List whitesTwo) { + this.whitesTwo = whitesTwo; + } +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/ResultBean.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/ResultBean.java new file mode 100644 index 0000000..ba464ac --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/ResultBean.java @@ -0,0 +1,191 @@ +package com.yxt.ordermall.utils; + +import java.io.Serializable; + +/** + * Project: yxt-common-core
    + * File: ResultBean.java
    + * Class: com.yxt.common.core.result.ResultBean
    + * Description: 通过接口、Rest、逻辑处理执行后的结果信息.
    + * Copyright: Copyright (c) 2011
    + * Company: https://gitee.com/liuzp315
    + * Makedate: 2020/8/4 0:51
    + * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +public class ResultBean implements Serializable { + private static final long serialVersionUID = 4529658978692424234L; + + private long timestamp = System.currentTimeMillis(); + + public long getTimestamp() { + return timestamp; + } + + // 是否成功 + private boolean success; + + // 消息 返回结果的说明 + private String msg; + + // 结果状态码 + private String code; + + // 数据 + private T data; + + private String message; + + public String getMessage() { + return message; + } + + public ResultBean setMessage(String message) { + this.message = message; + return this; + } + + public ResultBean() { + } + + public ResultBean(boolean success) { + this.success = success; + } + + public ResultBean(boolean success, String msg) { + this.success = success; + this.msg = msg; + } + + public ResultBean(boolean success, String msg, String code) { + this.success = success; + this.msg = msg; + this.code = code; + } + + public ResultBean(T data) { + this.success = true; + this.data = data; + } + + public ResultBean(String code, T data) { + this.success = true; + this.code = code; + this.data = data; + } + + public ResultBean(String code, String msg, T data) { + this.success = true; + this.code = code; + this.msg = msg; + this.data = data; + } + + public boolean getSuccess() { + return success; + } + + public ResultBean setSuccess(boolean success) { + this.success = success; + return this; + } + + public String getMsg() { + return msg; + } + + public ResultBean setMsg(String msg) { + this.msg = msg; + return this; + } + + public String getCode() { + return code; + } + + public ResultBean setCode(String code) { + this.code = code; + return this; + } + + public T getData() { + return data; + } + + public ResultBean setData(T data) { + this.data = data; + return this; + } + + public ResultBean successOne() { + this.setSuccess(true); + this.setCode("0"); + this.setMessage("成功!"); + return this; + } + + public ResultBean failOne() { + this.setSuccess(false); + this.setCode(String.valueOf(HttpStatus.ERROR)); + this.setMessage("操作失败!"); + return this; + } + + public ResultBean success() { + this.setSuccess(true); + this.setCode(String.valueOf(HttpStatus.SUCCESS)); + this.setMsg("操作成功!"); + return this; + } + + public ResultBean fail() { + this.setSuccess(false); + this.setCode(String.valueOf(HttpStatus.ERROR)); + this.setMsg("操作失败!"); + return this; + } + + public static ResultBean fireSuccess() { + ResultBean rb = new ResultBean(); + rb.setSuccess(true); + rb.setCode(String.valueOf(HttpStatus.SUCCESS)); + rb.setMsg("操作成功!"); + return rb; + } + + public static ResultBean fireFail() { + ResultBean rb = new ResultBean(); + rb.setSuccess(false); + rb.setCode(String.valueOf(HttpStatus.ERROR)); + rb.setMsg("操作失败!"); + return rb; + } + + /** + * 设置返回code及msg + * + * @param codeMsg Code和Msg的枚举 + * @return + */ + public ResultBean setCode(IResultCodeMsg codeMsg) { + this.code = codeMsg.getCode(); + this.msg = codeMsg.getMsg(); + return this; + } + + /** + * 返回失败信息,并指定结果code + * + * @param codeMsg Code和Msg的枚举 + * @return + */ + public ResultBean fail(IResultCodeMsg codeMsg) { + this.setSuccess(false); + this.code = codeMsg.getCode(); + this.msg = codeMsg.getMsg(); + return this; + } + +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/StrFormatter.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/StrFormatter.java new file mode 100644 index 0000000..767e7b2 --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/StrFormatter.java @@ -0,0 +1,91 @@ +package com.yxt.ordermall.utils; + +/** + * @author dimengzhe + * @date 2020/12/2 10:00 + * @description + */ + +public class StrFormatter { + + public static final String EMPTY_JSON = "{}"; + public static final char C_BACKSLASH = '\\'; + public static final char C_DELIM_START = '{'; + public static final char C_DELIM_END = '}'; + + /** + * 格式化字符串
    + * 此方法只是简单将占位符 {} 按照顺序替换为参数
    + * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
    + * 例:
    + * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b
    + * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a
    + * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b
    + * + * @param strPattern 字符串模板 + * @param argArray 参数列表 + * @return 结果 + */ + public static String format(final String strPattern, final Object... argArray) + { + if (StringUtils.isEmpty(strPattern) || StringUtils.isEmpty(argArray)) + { + return strPattern; + } + final int strPatternLength = strPattern.length(); + + // 初始化定义好的长度以获得更好的性能 + StringBuilder sbuf = new StringBuilder(strPatternLength + 50); + + int handledPosition = 0; + int delimIndex;// 占位符所在位置 + for (int argIndex = 0; argIndex < argArray.length; argIndex++) + { + delimIndex = strPattern.indexOf(EMPTY_JSON, handledPosition); + if (delimIndex == -1) + { + if (handledPosition == 0) + { + return strPattern; + } + else + { // 字符串模板剩余部分不再包含占位符,加入剩余部分后返回结果 + sbuf.append(strPattern, handledPosition, strPatternLength); + return sbuf.toString(); + } + } + else + { + if (delimIndex > 0 && strPattern.charAt(delimIndex - 1) == C_BACKSLASH) + { + if (delimIndex > 1 && strPattern.charAt(delimIndex - 2) == C_BACKSLASH) + { + // 转义符之前还有一个转义符,占位符依旧有效 + sbuf.append(strPattern, handledPosition, delimIndex - 1); + sbuf.append(Convert.utf8Str(argArray[argIndex])); + handledPosition = delimIndex + 2; + } + else + { + // 占位符被转义 + argIndex--; + sbuf.append(strPattern, handledPosition, delimIndex - 1); + sbuf.append(C_DELIM_START); + handledPosition = delimIndex + 1; + } + } + else + { + // 正常占位符 + sbuf.append(strPattern, handledPosition, delimIndex); + sbuf.append(Convert.utf8Str(argArray[argIndex])); + handledPosition = delimIndex + 2; + } + } + } + // 加入最后一个占位符后所有的字符 + sbuf.append(strPattern, handledPosition, strPattern.length()); + + return sbuf.toString(); + } +} diff --git a/ordermallGateway/src/main/java/com/yxt/ordermall/utils/StringUtils.java b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/StringUtils.java new file mode 100644 index 0000000..1b4a44c --- /dev/null +++ b/ordermallGateway/src/main/java/com/yxt/ordermall/utils/StringUtils.java @@ -0,0 +1,526 @@ +package com.yxt.ordermall.utils; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * @author dimengzhe + * @date 2020/12/2 9:59 + * @description + */ + +public class StringUtils extends org.apache.commons.lang3.StringUtils { + + /** + * 空字符串 + */ + private static final String NULLSTR = ""; + + /** + * 下划线 + */ + private static final char SEPARATOR = '_'; + + /** + * 星号 + */ + private static final String START = "*"; + + /** + * 获取参数不为空值 + * + * @param value defaultValue 要判断的value + * @return value 返回值 + */ + public static T nvl(T value, T defaultValue) { + return value != null ? value : defaultValue; + } + + /** + * * 判断一个Collection是否为空, 包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Collection coll) { + return isNull(coll) || coll.isEmpty(); + } + + /** + * * 判断一个Collection是否非空,包含List,Set,Queue + * + * @param coll 要判断的Collection + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Collection coll) { + return !isEmpty(coll); + } + + /** + * * 判断一个对象数组是否为空 + * + * @param objects 要判断的对象数组 + * * @return true:为空 false:非空 + */ + public static boolean isEmpty(Object[] objects) { + return isNull(objects) || (objects.length == 0); + } + + /** + * * 判断一个对象数组是否非空 + * + * @param objects 要判断的对象数组 + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Object[] objects) { + return !isEmpty(objects); + } + + /** + * * 判断一个Map是否为空 + * + * @param map 要判断的Map + * @return true:为空 false:非空 + */ + public static boolean isEmpty(Map map) { + return isNull(map) || map.isEmpty(); + } + + /** + * * 判断一个Map是否为空 + * + * @param map 要判断的Map + * @return true:非空 false:空 + */ + public static boolean isNotEmpty(Map map) { + return !isEmpty(map); + } + + /** + * * 判断一个字符串是否为空串 + * + * @param str String + * @return true:为空 false:非空 + */ + public static boolean isEmpty(String str) { + return isNull(str) || NULLSTR.equals(str.trim()); + } + + /** + * * 判断一个字符串是否为非空串 + * + * @param str String + * @return true:非空串 false:空串 + */ + public static boolean isNotEmpty(String str) { + return !isEmpty(str); + } + + /** + * * 判断一个对象是否为空 + * + * @param object Object + * @return true:为空 false:非空 + */ + public static boolean isNull(Object object) { + return object == null; + } + + /** + * * 判断一个对象是否非空 + * + * @param object Object + * @return true:非空 false:空 + */ + public static boolean isNotNull(Object object) { + return !isNull(object); + } + + /** + * * 判断一个对象是否是数组类型(Java基本型别的数组) + * + * @param object 对象 + * @return true:是数组 false:不是数组 + */ + public static boolean isArray(Object object) { + return isNotNull(object) && object.getClass().isArray(); + } + + /** + * 去空格 + */ + public static String trim(String str) { + return (str == null ? "" : str.trim()); + } + + /** + * 截取字符串 + * + * @param str 字符串 + * @param start 开始 + * @return 结果 + */ + public static String substring(final String str, int start) { + if (str == null) { + return NULLSTR; + } + + if (start < 0) { + start = str.length() + start; + } + + if (start < 0) { + start = 0; + } + if (start > str.length()) { + return NULLSTR; + } + + return str.substring(start); + } + + /** + * 截取字符串 + * + * @param str 字符串 + * @param start 开始 + * @param end 结束 + * @return 结果 + */ + public static String substring(final String str, int start, int end) { + if (str == null) { + return NULLSTR; + } + + if (end < 0) { + end = str.length() + end; + } + if (start < 0) { + start = str.length() + start; + } + + if (end > str.length()) { + end = str.length(); + } + + if (start > end) { + return NULLSTR; + } + + if (start < 0) { + start = 0; + } + if (end < 0) { + end = 0; + } + + return str.substring(start, end); + } + + /** + * 格式化文本, {} 表示占位符
    + * 此方法只是简单将占位符 {} 按照顺序替换为参数
    + * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
    + * 例:
    + * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b
    + * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a
    + * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b
    + * + * @param template 文本模板,被替换的部分用 {} 表示 + * @param params 参数值 + * @return 格式化后的文本 + */ + public static String format(String template, Object... params) { + if (isEmpty(params) || isEmpty(template)) { + return template; + } + return StrFormatter.format(template, params); + } + + /** + * 下划线转驼峰命名 + */ + public static String toUnderScoreCase(String str) { + if (str == null) { + return null; + } + StringBuilder sb = new StringBuilder(); + // 前置字符是否大写 + boolean preCharIsUpperCase = true; + // 当前字符是否大写 + boolean curreCharIsUpperCase = true; + // 下一字符是否大写 + boolean nexteCharIsUpperCase = true; + for (int i = 0; i < str.length(); i++) { + char c = str.charAt(i); + if (i > 0) { + preCharIsUpperCase = Character.isUpperCase(str.charAt(i - 1)); + } else { + preCharIsUpperCase = false; + } + + curreCharIsUpperCase = Character.isUpperCase(c); + + if (i < (str.length() - 1)) { + nexteCharIsUpperCase = Character.isUpperCase(str.charAt(i + 1)); + } + + if (preCharIsUpperCase && curreCharIsUpperCase && !nexteCharIsUpperCase) { + sb.append(SEPARATOR); + } else if ((i != 0 && !preCharIsUpperCase) && curreCharIsUpperCase) { + sb.append(SEPARATOR); + } + sb.append(Character.toLowerCase(c)); + } + + return sb.toString(); + } + + /** + * 是否包含字符串 + * + * @param str 验证字符串 + * @param strs 字符串组 + * @return 包含返回true + */ + public static boolean inStringIgnoreCase(String str, String... strs) { + if (str != null && strs != null) { + for (String s : strs) { + if (str.equalsIgnoreCase(trim(s))) { + return true; + } + } + } + return false; + } + + /** + * 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld + * + * @param name 转换前的下划线大写方式命名的字符串 + * @return 转换后的驼峰式命名的字符串 + */ + public static String convertToCamelCase(String name) { + StringBuilder result = new StringBuilder(); + // 快速检查 + if (name == null || name.isEmpty()) { + // 没必要转换 + return ""; + } else if (!name.contains("_")) { + // 不含下划线,仅将首字母大写 + return name.substring(0, 1).toUpperCase() + name.substring(1); + } + // 用下划线将原始字符串分割 + String[] camels = name.split("_"); + for (String camel : camels) { + // 跳过原始字符串中开头、结尾的下换线或双重下划线 + if (camel.isEmpty()) { + continue; + } + // 首字母大写 + result.append(camel.substring(0, 1).toUpperCase()); + result.append(camel.substring(1).toLowerCase()); + } + return result.toString(); + } + + /** + * 驼峰式命名法 例如:user_name->userName + */ + public static String toCamelCase(String s) { + if (s == null) { + return null; + } + s = s.toLowerCase(); + StringBuilder sb = new StringBuilder(s.length()); + boolean upperCase = false; + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + + if (c == SEPARATOR) { + upperCase = true; + } else if (upperCase) { + sb.append(Character.toUpperCase(c)); + upperCase = false; + } else { + sb.append(c); + } + } + return sb.toString(); + } + + /** + * 查找指定字符串是否匹配指定字符串列表中的任意一个字符串 + * + * @param str 指定字符串 + * @param strs 需要检查的字符串数组 + * @return 是否匹配 + */ + public static boolean matchesTwo(String str, List strs) { + if (isEmpty(str) || isEmpty(strs)) { + return false; + } + for (String testStr : strs) { + if (matchesTwo(str, testStr)) { + return true; + } + } + return false; + } + + public static boolean matches(String str, List strs) { + if (isEmpty(str) || isEmpty(strs)) { + return false; + } + for (String testStr : strs) { + if (matches(str, testStr)) { + return true; + } + } + return false; + } + + /** + * 查找指定字符串是否匹配指定字符串数组中的任意一个字符串 + * + * @param str 指定字符串 + * @param strs 需要检查的字符串数组 + * @return 是否匹配 + */ + public static boolean matches(String str, String... strs) { + if (isEmpty(str) || isEmpty(strs)) { + return false; + } + for (String testStr : strs) { + if (matches(str, testStr)) { + return true; + } + } + return false; + } + + public static boolean matches(String str, String pattern) { + if (isEmpty(pattern) || isEmpty(str)) { + return false; + } + + pattern = pattern.replaceAll("\\s*", ""); // 替换空格 + int beginOffset = 0; // pattern截取开始位置 + int formerStarOffset = -1; // 前星号的偏移位置 + int latterStarOffset = -1; // 后星号的偏移位置 + + String remainingURI = str; + String prefixPattern = ""; + String suffixPattern = ""; + + boolean result = false; + do { + formerStarOffset = indexOf(pattern, START, beginOffset); + prefixPattern = substring(pattern, beginOffset, formerStarOffset > -1 ? formerStarOffset : pattern.length()); + + // 匹配前缀Pattern + result = remainingURI.equals(prefixPattern); + // 已经没有星号,直接返回 + if (formerStarOffset == -1) { + return result; + } + + // 匹配失败,直接返回 + if (!result){ + return false; + } + if (!isEmpty(prefixPattern)) { + remainingURI = substringAfter(str, prefixPattern); + } + + // 匹配后缀Pattern + latterStarOffset = indexOf(pattern, START, formerStarOffset + 1); + suffixPattern = substring(pattern, formerStarOffset + 1, latterStarOffset > -1 ? latterStarOffset : pattern.length()); + + result = remainingURI.equals(suffixPattern); + // 匹配失败,直接返回 + if (!result){ + return false; + } + if (!isEmpty(suffixPattern)) { + remainingURI = substringAfter(str, suffixPattern); + } + + // 移动指针 + beginOffset = latterStarOffset + 1; + + } + while (!isEmpty(suffixPattern) && !isEmpty(remainingURI)); + + return true; + } + + /** + * 查找指定字符串是否匹配 + * + * @param str 指定字符串 + * @param pattern 需要检查的字符串 + * @return 是否匹配 + */ + public static boolean matchesTwo(String str, String pattern) { + if (isEmpty(pattern) || isEmpty(str)) { + return false; + } + + pattern = pattern.replaceAll("\\s*", ""); // 替换空格 + int beginOffset = 0; // pattern截取开始位置 + int formerStarOffset = -1; // 前星号的偏移位置 + int latterStarOffset = -1; // 后星号的偏移位置 + + String remainingURI = str; + String prefixPattern = ""; + String suffixPattern = ""; + + boolean result = false; + do { + formerStarOffset = indexOf(pattern, START, beginOffset); + prefixPattern = substring(pattern, beginOffset, formerStarOffset > -1 ? formerStarOffset : pattern.length()); + + // 匹配前缀Pattern + result = remainingURI.contains(prefixPattern); + // 已经没有星号,直接返回 + if (formerStarOffset == -1) { + return result; + } + + // 匹配失败,直接返回 + if (!result){ + return false; + } + if (!isEmpty(prefixPattern)) { + remainingURI = substringAfter(str, prefixPattern); + } + + // 匹配后缀Pattern + latterStarOffset = indexOf(pattern, START, formerStarOffset + 1); + suffixPattern = substring(pattern, formerStarOffset + 1, latterStarOffset > -1 ? latterStarOffset : pattern.length()); + + result = remainingURI.contains(suffixPattern); + // 匹配失败,直接返回 + if (!result){ + return false; + } + if (!isEmpty(suffixPattern)) { + remainingURI = substringAfter(str, suffixPattern); + } + + // 移动指针 + beginOffset = latterStarOffset + 1; + + } + while (!isEmpty(suffixPattern) && !isEmpty(remainingURI)); + + return true; + } + + @SuppressWarnings("unchecked") + public static T cast(Object obj) { + return (T) obj; + } +} diff --git a/ordermallGateway/src/main/resources/application-dev.yml b/ordermallGateway/src/main/resources/application-dev.yml new file mode 100644 index 0000000..8faaa6b --- /dev/null +++ b/ordermallGateway/src/main/resources/application-dev.yml @@ -0,0 +1,20 @@ +spring: + resources: + static-locations: file:D://supervise + cloud: + nacos: + discovery: +# namespace: supervise + server-addr: 127.0.0.1:8848 + redis: + database: 3 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: + port: 6379 + timeout: 0 # 连接超时时间(毫秒) \ No newline at end of file diff --git a/ordermallGateway/src/main/resources/application-pro.yml b/ordermallGateway/src/main/resources/application-pro.yml new file mode 100644 index 0000000..8faaa6b --- /dev/null +++ b/ordermallGateway/src/main/resources/application-pro.yml @@ -0,0 +1,20 @@ +spring: + resources: + static-locations: file:D://supervise + cloud: + nacos: + discovery: +# namespace: supervise + server-addr: 127.0.0.1:8848 + redis: + database: 3 # Redis数据库索引(默认为0) + host: 127.0.0.1 + jedis: + pool: + max-active: -1 #连接池最大连接数(使用负值表示没有限制) + max-idle: 8 #连接池中的最大空闲连接 + max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) + min-idle: 0 # 连接池中的最小空闲连接 + password: + port: 6379 + timeout: 0 # 连接超时时间(毫秒) \ No newline at end of file diff --git a/ordermallGateway/src/main/resources/application-test.yml b/ordermallGateway/src/main/resources/application-test.yml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ordermallGateway/src/main/resources/application-test.yml @@ -0,0 +1 @@ + diff --git a/ordermallGateway/src/main/resources/application.yml b/ordermallGateway/src/main/resources/application.yml new file mode 100644 index 0000000..2d27219 --- /dev/null +++ b/ordermallGateway/src/main/resources/application.yml @@ -0,0 +1,41 @@ +hystrix: + command: + default: + execution: + isolation: + strategy: SEMAPHORE + thread: + timeoutInMilliseconds: 300000 +server: + port: 8114 +spring: + application: + name: gateway + profiles: + active: dev +# active: pro + cloud: + gateway: + routes: + - id: ordermall-biz + predicates: + - Path= /mall/** + uri: lb://ordermall-biz + filters: + - StripPrefix=1 + +ignore: + whites: + - /mall/apiadmin/sysuser/login #pc端登录 + - /mall/apiadmin/sysuser/register #pc端登录 + - /mall/apiadmin/sysuser/sendMessageCode/** #发送验证码 + - /mall/apiadmin/sysuser/sendMessageLogin/** #发送验证码 + - /mall/apiadmin/sysuser/sendMessageUpdate/** #发送验证码 + - /mall/apiadmin/sysuser/bindOrganization #绑定组织 + - /mall/apiadmin/sysuser/selOrganization #绑定组织 + + + + + whitesTwo: #包含所有 + - /upload/**