Repository: macrozheng/mall-swarm Branch: master Commit: 56ed16211a70 Files: 737 Total size: 5.6 MB Directory structure: gitextract_ypyh5v9d/ ├── .gitignore ├── LICENSE ├── README.md ├── config/ │ ├── admin/ │ │ ├── mall-admin-dev.yaml │ │ └── mall-admin-prod.yaml │ ├── demo/ │ │ ├── mall-demo-dev.yaml │ │ └── mall-demo-prod.yaml │ ├── gateway/ │ │ ├── mall-gateway-dev.yaml │ │ └── mall-gateway-prod.yaml │ ├── portal/ │ │ ├── mall-portal-dev.yaml │ │ └── mall-portal-prod.yaml │ └── search/ │ ├── mall-search-dev.yaml │ └── mall-search-prod.yaml ├── document/ │ ├── docker/ │ │ ├── docker-compose-app.yml │ │ ├── docker-compose-env.yml │ │ └── nginx.conf │ ├── elk/ │ │ ├── logback-spring.xml │ │ └── logstash.conf │ ├── k8s/ │ │ ├── mall-admin-deployment.yaml │ │ ├── mall-admin-service.yaml │ │ ├── mall-auth-deployment.yaml │ │ ├── mall-auth-service.yaml │ │ ├── mall-gateway-deployment.yaml │ │ ├── mall-gateway-service.yaml │ │ ├── mall-monitor-deployment.yaml │ │ ├── mall-monitor-service.yaml │ │ ├── mall-portal-deployment.yaml │ │ ├── mall-portal-service.yaml │ │ ├── mall-search-deployment.yaml │ │ └── mall-search-service.yaml │ ├── mind/ │ │ ├── app.emmx │ │ ├── cms.emmx │ │ ├── home.emmx │ │ ├── oms.emmx │ │ ├── pms.emmx │ │ ├── sms.emmx │ │ └── ums.emmx │ ├── pdm/ │ │ ├── mall.pdb │ │ └── mall.pdm │ ├── pos/ │ │ ├── 业务架构图.pos │ │ ├── 微服务系统架构图.pos │ │ ├── 系统架构图.pos │ │ └── 项目开发进度图.pos │ ├── reference/ │ │ ├── deploy_windows.md │ │ ├── dev_flow.md │ │ └── function.md │ ├── sh/ │ │ ├── mall-admin.sh │ │ ├── mall-auth.sh │ │ ├── mall-gateway.sh │ │ ├── mall-monitor.sh │ │ ├── mall-portal.sh │ │ └── mall-search.sh │ └── sql/ │ └── mall.sql ├── mall-admin/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── macro/ │ │ │ └── mall/ │ │ │ ├── MallAdminApplication.java │ │ │ ├── component/ │ │ │ │ └── PathResourceRulesHolder.java │ │ │ ├── config/ │ │ │ │ ├── MyBatisConfig.java │ │ │ │ ├── OssConfig.java │ │ │ │ ├── RedisConfig.java │ │ │ │ ├── SaTokenConfigure.java │ │ │ │ └── SpringDocConfig.java │ │ │ ├── controller/ │ │ │ │ ├── CmsPrefrenceAreaController.java │ │ │ │ ├── CmsSubjectController.java │ │ │ │ ├── MinioController.java │ │ │ │ ├── OmsCompanyAddressController.java │ │ │ │ ├── OmsOrderController.java │ │ │ │ ├── OmsOrderReturnApplyController.java │ │ │ │ ├── OmsOrderReturnReasonController.java │ │ │ │ ├── OmsOrderSettingController.java │ │ │ │ ├── OssController.java │ │ │ │ ├── PmsBrandController.java │ │ │ │ ├── PmsProductAttributeCategoryController.java │ │ │ │ ├── PmsProductAttributeController.java │ │ │ │ ├── PmsProductCategoryController.java │ │ │ │ ├── PmsProductController.java │ │ │ │ ├── PmsSkuStockController.java │ │ │ │ ├── SmsCouponController.java │ │ │ │ ├── SmsCouponHistoryController.java │ │ │ │ ├── SmsFlashPromotionController.java │ │ │ │ ├── SmsFlashPromotionProductRelationController.java │ │ │ │ ├── SmsFlashPromotionSessionController.java │ │ │ │ ├── SmsHomeAdvertiseController.java │ │ │ │ ├── SmsHomeBrandController.java │ │ │ │ ├── SmsHomeNewProductController.java │ │ │ │ ├── SmsHomeRecommendProductController.java │ │ │ │ ├── SmsHomeRecommendSubjectController.java │ │ │ │ ├── UmsAdminController.java │ │ │ │ ├── UmsMemberLevelController.java │ │ │ │ ├── UmsMenuController.java │ │ │ │ ├── UmsResourceCategoryController.java │ │ │ │ ├── UmsResourceController.java │ │ │ │ └── UmsRoleController.java │ │ │ ├── dao/ │ │ │ │ ├── CmsPrefrenceAreaProductRelationDao.java │ │ │ │ ├── CmsSubjectProductRelationDao.java │ │ │ │ ├── OmsOrderDao.java │ │ │ │ ├── OmsOrderOperateHistoryDao.java │ │ │ │ ├── OmsOrderReturnApplyDao.java │ │ │ │ ├── PmsMemberPriceDao.java │ │ │ │ ├── PmsProductAttributeCategoryDao.java │ │ │ │ ├── PmsProductAttributeDao.java │ │ │ │ ├── PmsProductAttributeValueDao.java │ │ │ │ ├── PmsProductCategoryAttributeRelationDao.java │ │ │ │ ├── PmsProductCategoryDao.java │ │ │ │ ├── PmsProductDao.java │ │ │ │ ├── PmsProductFullReductionDao.java │ │ │ │ ├── PmsProductLadderDao.java │ │ │ │ ├── PmsProductVertifyRecordDao.java │ │ │ │ ├── PmsSkuStockDao.java │ │ │ │ ├── SmsCouponDao.java │ │ │ │ ├── SmsCouponProductCategoryRelationDao.java │ │ │ │ ├── SmsCouponProductRelationDao.java │ │ │ │ ├── SmsFlashPromotionProductRelationDao.java │ │ │ │ ├── UmsAdminRoleRelationDao.java │ │ │ │ └── UmsRoleDao.java │ │ │ ├── dto/ │ │ │ │ ├── BucketPolicyConfigDto.java │ │ │ │ ├── MinioUploadDto.java │ │ │ │ ├── OmsMoneyInfoParam.java │ │ │ │ ├── OmsOrderDeliveryParam.java │ │ │ │ ├── OmsOrderDetail.java │ │ │ │ ├── OmsOrderQueryParam.java │ │ │ │ ├── OmsOrderReturnApplyResult.java │ │ │ │ ├── OmsReceiverInfoParam.java │ │ │ │ ├── OmsReturnApplyQueryParam.java │ │ │ │ ├── OmsUpdateStatusParam.java │ │ │ │ ├── OssCallbackParam.java │ │ │ │ ├── OssCallbackResult.java │ │ │ │ ├── OssPolicyResult.java │ │ │ │ ├── PmsBrandParam.java │ │ │ │ ├── PmsProductAttributeCategoryItem.java │ │ │ │ ├── PmsProductAttributeParam.java │ │ │ │ ├── PmsProductCategoryParam.java │ │ │ │ ├── PmsProductCategoryWithChildrenItem.java │ │ │ │ ├── PmsProductParam.java │ │ │ │ ├── PmsProductQueryParam.java │ │ │ │ ├── PmsProductResult.java │ │ │ │ ├── ProductAttrInfo.java │ │ │ │ ├── SmsCouponParam.java │ │ │ │ ├── SmsFlashPromotionProduct.java │ │ │ │ ├── SmsFlashPromotionSessionDetail.java │ │ │ │ ├── UmsAdminLoginParam.java │ │ │ │ ├── UmsAdminParam.java │ │ │ │ ├── UmsMenuNode.java │ │ │ │ └── UpdateAdminPasswordParam.java │ │ │ ├── service/ │ │ │ │ ├── CmsPrefrenceAreaService.java │ │ │ │ ├── CmsSubjectService.java │ │ │ │ ├── OmsCompanyAddressService.java │ │ │ │ ├── OmsOrderReturnApplyService.java │ │ │ │ ├── OmsOrderReturnReasonService.java │ │ │ │ ├── OmsOrderService.java │ │ │ │ ├── OmsOrderSettingService.java │ │ │ │ ├── OssService.java │ │ │ │ ├── PmsBrandService.java │ │ │ │ ├── PmsProductAttributeCategoryService.java │ │ │ │ ├── PmsProductAttributeService.java │ │ │ │ ├── PmsProductCategoryService.java │ │ │ │ ├── PmsProductService.java │ │ │ │ ├── PmsSkuStockService.java │ │ │ │ ├── SmsCouponHistoryService.java │ │ │ │ ├── SmsCouponService.java │ │ │ │ ├── SmsFlashPromotionProductRelationService.java │ │ │ │ ├── SmsFlashPromotionService.java │ │ │ │ ├── SmsFlashPromotionSessionService.java │ │ │ │ ├── SmsHomeAdvertiseService.java │ │ │ │ ├── SmsHomeBrandService.java │ │ │ │ ├── SmsHomeNewProductService.java │ │ │ │ ├── SmsHomeRecommendProductService.java │ │ │ │ ├── SmsHomeRecommendSubjectService.java │ │ │ │ ├── UmsAdminCacheService.java │ │ │ │ ├── UmsAdminService.java │ │ │ │ ├── UmsMemberLevelService.java │ │ │ │ ├── UmsMenuService.java │ │ │ │ ├── UmsResourceCategoryService.java │ │ │ │ ├── UmsResourceService.java │ │ │ │ ├── UmsRoleService.java │ │ │ │ └── impl/ │ │ │ │ ├── CmsPrefrenceAreaServiceImpl.java │ │ │ │ ├── CmsSubjectServiceImpl.java │ │ │ │ ├── OmsCompanyAddressServiceImpl.java │ │ │ │ ├── OmsOrderReturnApplyServiceImpl.java │ │ │ │ ├── OmsOrderReturnReasonServiceImpl.java │ │ │ │ ├── OmsOrderServiceImpl.java │ │ │ │ ├── OmsOrderSettingServiceImpl.java │ │ │ │ ├── OssServiceImpl.java │ │ │ │ ├── PmsBrandServiceImpl.java │ │ │ │ ├── PmsProductAttributeCategoryServiceImpl.java │ │ │ │ ├── PmsProductAttributeServiceImpl.java │ │ │ │ ├── PmsProductCategoryServiceImpl.java │ │ │ │ ├── PmsProductServiceImpl.java │ │ │ │ ├── PmsSkuStockServiceImpl.java │ │ │ │ ├── SmsCouponHistoryServiceImpl.java │ │ │ │ ├── SmsCouponServiceImpl.java │ │ │ │ ├── SmsFlashPromotionProductRelationServiceImpl.java │ │ │ │ ├── SmsFlashPromotionServiceImpl.java │ │ │ │ ├── SmsFlashPromotionSessionServiceImpl.java │ │ │ │ ├── SmsHomeAdvertiseServiceImpl.java │ │ │ │ ├── SmsHomeBrandServiceImpl.java │ │ │ │ ├── SmsHomeNewProductServiceImpl.java │ │ │ │ ├── SmsHomeRecommendProductServiceImpl.java │ │ │ │ ├── SmsHomeRecommendSubjectServiceImpl.java │ │ │ │ ├── UmsAdminCacheServiceImpl.java │ │ │ │ ├── UmsAdminServiceImpl.java │ │ │ │ ├── UmsMemberLevelServiceImpl.java │ │ │ │ ├── UmsMenuServiceImpl.java │ │ │ │ ├── UmsResourceCategoryServiceImpl.java │ │ │ │ ├── UmsResourceServiceImpl.java │ │ │ │ └── UmsRoleServiceImpl.java │ │ │ └── validator/ │ │ │ ├── FlagValidator.java │ │ │ └── FlagValidatorClass.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── MANIFEST.MF │ │ ├── application.yml │ │ ├── bootstrap-dev.yml │ │ ├── bootstrap-prod.yml │ │ ├── bootstrap.yml │ │ └── dao/ │ │ ├── CmsPrefrenceAreaProductRelationDao.xml │ │ ├── CmsSubjectProductRelationDao.xml │ │ ├── OmsOrderDao.xml │ │ ├── OmsOrderOperateHistoryDao.xml │ │ ├── OmsOrderReturnApplyDao.xml │ │ ├── PmsMemberPriceDao.xml │ │ ├── PmsProductAttributeCategoryDao.xml │ │ ├── PmsProductAttributeDao.xml │ │ ├── PmsProductAttributeValueDao.xml │ │ ├── PmsProductCategoryAttributeRelationDao.xml │ │ ├── PmsProductCategoryDao.xml │ │ ├── PmsProductDao.xml │ │ ├── PmsProductFullReductionDao.xml │ │ ├── PmsProductLadderDao.xml │ │ ├── PmsProductVertifyRecordDao.xml │ │ ├── PmsSkuStockDao.xml │ │ ├── SmsCouponDao.xml │ │ ├── SmsCouponProductCategoryRelationDao.xml │ │ ├── SmsCouponProductRelationDao.xml │ │ ├── SmsFlashPromotionProductRelationDao.xml │ │ ├── UmsAdminRoleRelationDao.xml │ │ └── UmsRoleDao.xml │ └── test/ │ └── com/ │ └── macro/ │ └── mall/ │ └── PmsDaoTests.java ├── mall-auth/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── macro/ │ │ └── mall/ │ │ └── auth/ │ │ ├── MallAuthApplication.java │ │ ├── config/ │ │ │ └── SpringDocConfig.java │ │ ├── controller/ │ │ │ └── AuthController.java │ │ ├── domain/ │ │ │ └── UmsAdminLoginParam.java │ │ └── service/ │ │ ├── UmsAdminService.java │ │ └── UmsMemberService.java │ └── resources/ │ ├── application.yml │ ├── bootstrap-dev.yml │ ├── bootstrap-prod.yml │ └── bootstrap.yml ├── mall-common/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── macro/ │ │ └── mall/ │ │ └── common/ │ │ ├── annotation/ │ │ │ └── CacheException.java │ │ ├── api/ │ │ │ ├── CommonPage.java │ │ │ ├── CommonResult.java │ │ │ ├── IErrorCode.java │ │ │ └── ResultCode.java │ │ ├── config/ │ │ │ └── BaseRedisConfig.java │ │ ├── constant/ │ │ │ └── AuthConstant.java │ │ ├── domain/ │ │ │ └── WebLog.java │ │ ├── dto/ │ │ │ └── UserDto.java │ │ ├── exception/ │ │ │ ├── ApiException.java │ │ │ ├── Asserts.java │ │ │ └── GlobalExceptionHandler.java │ │ ├── log/ │ │ │ └── WebLogAspect.java │ │ └── service/ │ │ ├── RedisService.java │ │ └── impl/ │ │ └── RedisServiceImpl.java │ └── resources/ │ └── logback-spring.xml ├── mall-demo/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── macro/ │ │ │ └── mall/ │ │ │ ├── MallDemoApplication.java │ │ │ └── demo/ │ │ │ ├── component/ │ │ │ │ └── FeignRequestInterceptor.java │ │ │ ├── config/ │ │ │ │ ├── FeignConfig.java │ │ │ │ ├── MyBatisConfig.java │ │ │ │ └── SpringDocConfig.java │ │ │ ├── controller/ │ │ │ │ ├── DemoController.java │ │ │ │ ├── FeignAdminController.java │ │ │ │ ├── FeignPortalController.java │ │ │ │ └── FeignSearchController.java │ │ │ ├── dto/ │ │ │ │ ├── PmsBrandDto.java │ │ │ │ └── UmsAdminLoginParam.java │ │ │ ├── service/ │ │ │ │ ├── DemoService.java │ │ │ │ ├── FeignAdminService.java │ │ │ │ ├── FeignPortalService.java │ │ │ │ ├── FeignSearchService.java │ │ │ │ └── impl/ │ │ │ │ └── DemoServiceImpl.java │ │ │ └── validator/ │ │ │ ├── FlagValidator.java │ │ │ └── FlagValidatorClass.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── bootstrap-dev.yml │ │ ├── bootstrap-prod.yml │ │ └── bootstrap.yml │ └── test/ │ └── java/ │ └── com/ │ └── macro/ │ └── mall/ │ └── MallDemoApplicationTests.java ├── mall-gateway/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── macro/ │ │ │ └── mall/ │ │ │ ├── MallGatewayApplication.java │ │ │ ├── component/ │ │ │ │ └── StpInterfaceImpl.java │ │ │ ├── config/ │ │ │ │ ├── GlobalCorsConfig.java │ │ │ │ ├── IgnoreUrlsConfig.java │ │ │ │ ├── RedisConfig.java │ │ │ │ └── SaTokenConfig.java │ │ │ └── util/ │ │ │ └── StpMemberUtil.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── bootstrap-dev.yml │ │ ├── bootstrap-prod.yml │ │ └── bootstrap.yml │ └── test/ │ └── java/ │ └── com/ │ └── macro/ │ └── mall/ │ └── MallGatewayApplicationTests.java ├── mall-mbg/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── macro/ │ │ └── mall/ │ │ ├── CommentGenerator.java │ │ ├── Generator.java │ │ ├── mapper/ │ │ │ ├── CmsHelpCategoryMapper.java │ │ │ ├── CmsHelpMapper.java │ │ │ ├── CmsMemberReportMapper.java │ │ │ ├── CmsPrefrenceAreaMapper.java │ │ │ ├── CmsPrefrenceAreaProductRelationMapper.java │ │ │ ├── CmsSubjectCategoryMapper.java │ │ │ ├── CmsSubjectCommentMapper.java │ │ │ ├── CmsSubjectMapper.java │ │ │ ├── CmsSubjectProductRelationMapper.java │ │ │ ├── CmsTopicCategoryMapper.java │ │ │ ├── CmsTopicCommentMapper.java │ │ │ ├── CmsTopicMapper.java │ │ │ ├── OmsCartItemMapper.java │ │ │ ├── OmsCompanyAddressMapper.java │ │ │ ├── OmsOrderItemMapper.java │ │ │ ├── OmsOrderMapper.java │ │ │ ├── OmsOrderOperateHistoryMapper.java │ │ │ ├── OmsOrderReturnApplyMapper.java │ │ │ ├── OmsOrderReturnReasonMapper.java │ │ │ ├── OmsOrderSettingMapper.java │ │ │ ├── PmsAlbumMapper.java │ │ │ ├── PmsAlbumPicMapper.java │ │ │ ├── PmsBrandMapper.java │ │ │ ├── PmsCommentMapper.java │ │ │ ├── PmsCommentReplayMapper.java │ │ │ ├── PmsFeightTemplateMapper.java │ │ │ ├── PmsMemberPriceMapper.java │ │ │ ├── PmsProductAttributeCategoryMapper.java │ │ │ ├── PmsProductAttributeMapper.java │ │ │ ├── PmsProductAttributeValueMapper.java │ │ │ ├── PmsProductCategoryAttributeRelationMapper.java │ │ │ ├── PmsProductCategoryMapper.java │ │ │ ├── PmsProductFullReductionMapper.java │ │ │ ├── PmsProductLadderMapper.java │ │ │ ├── PmsProductMapper.java │ │ │ ├── PmsProductOperateLogMapper.java │ │ │ ├── PmsProductVertifyRecordMapper.java │ │ │ ├── PmsSkuStockMapper.java │ │ │ ├── SmsCouponHistoryMapper.java │ │ │ ├── SmsCouponMapper.java │ │ │ ├── SmsCouponProductCategoryRelationMapper.java │ │ │ ├── SmsCouponProductRelationMapper.java │ │ │ ├── SmsFlashPromotionLogMapper.java │ │ │ ├── SmsFlashPromotionMapper.java │ │ │ ├── SmsFlashPromotionProductRelationMapper.java │ │ │ ├── SmsFlashPromotionSessionMapper.java │ │ │ ├── SmsHomeAdvertiseMapper.java │ │ │ ├── SmsHomeBrandMapper.java │ │ │ ├── SmsHomeNewProductMapper.java │ │ │ ├── SmsHomeRecommendProductMapper.java │ │ │ ├── SmsHomeRecommendSubjectMapper.java │ │ │ ├── UmsAdminLoginLogMapper.java │ │ │ ├── UmsAdminMapper.java │ │ │ ├── UmsAdminPermissionRelationMapper.java │ │ │ ├── UmsAdminRoleRelationMapper.java │ │ │ ├── UmsGrowthChangeHistoryMapper.java │ │ │ ├── UmsIntegrationChangeHistoryMapper.java │ │ │ ├── UmsIntegrationConsumeSettingMapper.java │ │ │ ├── UmsMemberLevelMapper.java │ │ │ ├── UmsMemberLoginLogMapper.java │ │ │ ├── UmsMemberMapper.java │ │ │ ├── UmsMemberMemberTagRelationMapper.java │ │ │ ├── UmsMemberProductCategoryRelationMapper.java │ │ │ ├── UmsMemberReceiveAddressMapper.java │ │ │ ├── UmsMemberRuleSettingMapper.java │ │ │ ├── UmsMemberStatisticsInfoMapper.java │ │ │ ├── UmsMemberTagMapper.java │ │ │ ├── UmsMemberTaskMapper.java │ │ │ ├── UmsMenuMapper.java │ │ │ ├── UmsPermissionMapper.java │ │ │ ├── UmsResourceCategoryMapper.java │ │ │ ├── UmsResourceMapper.java │ │ │ ├── UmsRoleMapper.java │ │ │ ├── UmsRoleMenuRelationMapper.java │ │ │ ├── UmsRolePermissionRelationMapper.java │ │ │ └── UmsRoleResourceRelationMapper.java │ │ └── model/ │ │ ├── CmsHelp.java │ │ ├── CmsHelpCategory.java │ │ ├── CmsHelpCategoryExample.java │ │ ├── CmsHelpExample.java │ │ ├── CmsMemberReport.java │ │ ├── CmsMemberReportExample.java │ │ ├── CmsPrefrenceArea.java │ │ ├── CmsPrefrenceAreaExample.java │ │ ├── CmsPrefrenceAreaProductRelation.java │ │ ├── CmsPrefrenceAreaProductRelationExample.java │ │ ├── CmsSubject.java │ │ ├── CmsSubjectCategory.java │ │ ├── CmsSubjectCategoryExample.java │ │ ├── CmsSubjectComment.java │ │ ├── CmsSubjectCommentExample.java │ │ ├── CmsSubjectExample.java │ │ ├── CmsSubjectProductRelation.java │ │ ├── CmsSubjectProductRelationExample.java │ │ ├── CmsTopic.java │ │ ├── CmsTopicCategory.java │ │ ├── CmsTopicCategoryExample.java │ │ ├── CmsTopicComment.java │ │ ├── CmsTopicCommentExample.java │ │ ├── CmsTopicExample.java │ │ ├── OmsCartItem.java │ │ ├── OmsCartItemExample.java │ │ ├── OmsCompanyAddress.java │ │ ├── OmsCompanyAddressExample.java │ │ ├── OmsOrder.java │ │ ├── OmsOrderExample.java │ │ ├── OmsOrderItem.java │ │ ├── OmsOrderItemExample.java │ │ ├── OmsOrderOperateHistory.java │ │ ├── OmsOrderOperateHistoryExample.java │ │ ├── OmsOrderReturnApply.java │ │ ├── OmsOrderReturnApplyExample.java │ │ ├── OmsOrderReturnReason.java │ │ ├── OmsOrderReturnReasonExample.java │ │ ├── OmsOrderSetting.java │ │ ├── OmsOrderSettingExample.java │ │ ├── PmsAlbum.java │ │ ├── PmsAlbumExample.java │ │ ├── PmsAlbumPic.java │ │ ├── PmsAlbumPicExample.java │ │ ├── PmsBrand.java │ │ ├── PmsBrandExample.java │ │ ├── PmsComment.java │ │ ├── PmsCommentExample.java │ │ ├── PmsCommentReplay.java │ │ ├── PmsCommentReplayExample.java │ │ ├── PmsFeightTemplate.java │ │ ├── PmsFeightTemplateExample.java │ │ ├── PmsMemberPrice.java │ │ ├── PmsMemberPriceExample.java │ │ ├── PmsProduct.java │ │ ├── PmsProductAttribute.java │ │ ├── PmsProductAttributeCategory.java │ │ ├── PmsProductAttributeCategoryExample.java │ │ ├── PmsProductAttributeExample.java │ │ ├── PmsProductAttributeValue.java │ │ ├── PmsProductAttributeValueExample.java │ │ ├── PmsProductCategory.java │ │ ├── PmsProductCategoryAttributeRelation.java │ │ ├── PmsProductCategoryAttributeRelationExample.java │ │ ├── PmsProductCategoryExample.java │ │ ├── PmsProductExample.java │ │ ├── PmsProductFullReduction.java │ │ ├── PmsProductFullReductionExample.java │ │ ├── PmsProductLadder.java │ │ ├── PmsProductLadderExample.java │ │ ├── PmsProductOperateLog.java │ │ ├── PmsProductOperateLogExample.java │ │ ├── PmsProductVertifyRecord.java │ │ ├── PmsProductVertifyRecordExample.java │ │ ├── PmsSkuStock.java │ │ ├── PmsSkuStockExample.java │ │ ├── SmsCoupon.java │ │ ├── SmsCouponExample.java │ │ ├── SmsCouponHistory.java │ │ ├── SmsCouponHistoryExample.java │ │ ├── SmsCouponProductCategoryRelation.java │ │ ├── SmsCouponProductCategoryRelationExample.java │ │ ├── SmsCouponProductRelation.java │ │ ├── SmsCouponProductRelationExample.java │ │ ├── SmsFlashPromotion.java │ │ ├── SmsFlashPromotionExample.java │ │ ├── SmsFlashPromotionLog.java │ │ ├── SmsFlashPromotionLogExample.java │ │ ├── SmsFlashPromotionProductRelation.java │ │ ├── SmsFlashPromotionProductRelationExample.java │ │ ├── SmsFlashPromotionSession.java │ │ ├── SmsFlashPromotionSessionExample.java │ │ ├── SmsHomeAdvertise.java │ │ ├── SmsHomeAdvertiseExample.java │ │ ├── SmsHomeBrand.java │ │ ├── SmsHomeBrandExample.java │ │ ├── SmsHomeNewProduct.java │ │ ├── SmsHomeNewProductExample.java │ │ ├── SmsHomeRecommendProduct.java │ │ ├── SmsHomeRecommendProductExample.java │ │ ├── SmsHomeRecommendSubject.java │ │ ├── SmsHomeRecommendSubjectExample.java │ │ ├── UmsAdmin.java │ │ ├── UmsAdminExample.java │ │ ├── UmsAdminLoginLog.java │ │ ├── UmsAdminLoginLogExample.java │ │ ├── UmsAdminPermissionRelation.java │ │ ├── UmsAdminPermissionRelationExample.java │ │ ├── UmsAdminRoleRelation.java │ │ ├── UmsAdminRoleRelationExample.java │ │ ├── UmsGrowthChangeHistory.java │ │ ├── UmsGrowthChangeHistoryExample.java │ │ ├── UmsIntegrationChangeHistory.java │ │ ├── UmsIntegrationChangeHistoryExample.java │ │ ├── UmsIntegrationConsumeSetting.java │ │ ├── UmsIntegrationConsumeSettingExample.java │ │ ├── UmsMember.java │ │ ├── UmsMemberExample.java │ │ ├── UmsMemberLevel.java │ │ ├── UmsMemberLevelExample.java │ │ ├── UmsMemberLoginLog.java │ │ ├── UmsMemberLoginLogExample.java │ │ ├── UmsMemberMemberTagRelation.java │ │ ├── UmsMemberMemberTagRelationExample.java │ │ ├── UmsMemberProductCategoryRelation.java │ │ ├── UmsMemberProductCategoryRelationExample.java │ │ ├── UmsMemberReceiveAddress.java │ │ ├── UmsMemberReceiveAddressExample.java │ │ ├── UmsMemberRuleSetting.java │ │ ├── UmsMemberRuleSettingExample.java │ │ ├── UmsMemberStatisticsInfo.java │ │ ├── UmsMemberStatisticsInfoExample.java │ │ ├── UmsMemberTag.java │ │ ├── UmsMemberTagExample.java │ │ ├── UmsMemberTask.java │ │ ├── UmsMemberTaskExample.java │ │ ├── UmsMenu.java │ │ ├── UmsMenuExample.java │ │ ├── UmsPermission.java │ │ ├── UmsPermissionExample.java │ │ ├── UmsResource.java │ │ ├── UmsResourceCategory.java │ │ ├── UmsResourceCategoryExample.java │ │ ├── UmsResourceExample.java │ │ ├── UmsRole.java │ │ ├── UmsRoleExample.java │ │ ├── UmsRoleMenuRelation.java │ │ ├── UmsRoleMenuRelationExample.java │ │ ├── UmsRolePermissionRelation.java │ │ ├── UmsRolePermissionRelationExample.java │ │ ├── UmsRoleResourceRelation.java │ │ └── UmsRoleResourceRelationExample.java │ └── resources/ │ ├── com/ │ │ └── macro/ │ │ └── mall/ │ │ └── mapper/ │ │ ├── CmsHelpCategoryMapper.xml │ │ ├── CmsHelpMapper.xml │ │ ├── CmsMemberReportMapper.xml │ │ ├── CmsPrefrenceAreaMapper.xml │ │ ├── CmsPrefrenceAreaProductRelationMapper.xml │ │ ├── CmsSubjectCategoryMapper.xml │ │ ├── CmsSubjectCommentMapper.xml │ │ ├── CmsSubjectMapper.xml │ │ ├── CmsSubjectProductRelationMapper.xml │ │ ├── CmsTopicCategoryMapper.xml │ │ ├── CmsTopicCommentMapper.xml │ │ ├── CmsTopicMapper.xml │ │ ├── OmsCartItemMapper.xml │ │ ├── OmsCompanyAddressMapper.xml │ │ ├── OmsOrderItemMapper.xml │ │ ├── OmsOrderMapper.xml │ │ ├── OmsOrderOperateHistoryMapper.xml │ │ ├── OmsOrderReturnApplyMapper.xml │ │ ├── OmsOrderReturnReasonMapper.xml │ │ ├── OmsOrderSettingMapper.xml │ │ ├── PmsAlbumMapper.xml │ │ ├── PmsAlbumPicMapper.xml │ │ ├── PmsBrandMapper.xml │ │ ├── PmsCommentMapper.xml │ │ ├── PmsCommentReplayMapper.xml │ │ ├── PmsFeightTemplateMapper.xml │ │ ├── PmsMemberPriceMapper.xml │ │ ├── PmsProductAttributeCategoryMapper.xml │ │ ├── PmsProductAttributeMapper.xml │ │ ├── PmsProductAttributeValueMapper.xml │ │ ├── PmsProductCategoryAttributeRelationMapper.xml │ │ ├── PmsProductCategoryMapper.xml │ │ ├── PmsProductFullReductionMapper.xml │ │ ├── PmsProductLadderMapper.xml │ │ ├── PmsProductMapper.xml │ │ ├── PmsProductOperateLogMapper.xml │ │ ├── PmsProductVertifyRecordMapper.xml │ │ ├── PmsSkuStockMapper.xml │ │ ├── SmsCouponHistoryMapper.xml │ │ ├── SmsCouponMapper.xml │ │ ├── SmsCouponProductCategoryRelationMapper.xml │ │ ├── SmsCouponProductRelationMapper.xml │ │ ├── SmsFlashPromotionLogMapper.xml │ │ ├── SmsFlashPromotionMapper.xml │ │ ├── SmsFlashPromotionProductRelationMapper.xml │ │ ├── SmsFlashPromotionSessionMapper.xml │ │ ├── SmsHomeAdvertiseMapper.xml │ │ ├── SmsHomeBrandMapper.xml │ │ ├── SmsHomeNewProductMapper.xml │ │ ├── SmsHomeRecommendProductMapper.xml │ │ ├── SmsHomeRecommendSubjectMapper.xml │ │ ├── UmsAdminLoginLogMapper.xml │ │ ├── UmsAdminMapper.xml │ │ ├── UmsAdminPermissionRelationMapper.xml │ │ ├── UmsAdminRoleRelationMapper.xml │ │ ├── UmsGrowthChangeHistoryMapper.xml │ │ ├── UmsIntegrationChangeHistoryMapper.xml │ │ ├── UmsIntegrationConsumeSettingMapper.xml │ │ ├── UmsMemberLevelMapper.xml │ │ ├── UmsMemberLoginLogMapper.xml │ │ ├── UmsMemberMapper.xml │ │ ├── UmsMemberMemberTagRelationMapper.xml │ │ ├── UmsMemberProductCategoryRelationMapper.xml │ │ ├── UmsMemberReceiveAddressMapper.xml │ │ ├── UmsMemberRuleSettingMapper.xml │ │ ├── UmsMemberStatisticsInfoMapper.xml │ │ ├── UmsMemberTagMapper.xml │ │ ├── UmsMemberTaskMapper.xml │ │ ├── UmsMenuMapper.xml │ │ ├── UmsPermissionMapper.xml │ │ ├── UmsResourceCategoryMapper.xml │ │ ├── UmsResourceMapper.xml │ │ ├── UmsRoleMapper.xml │ │ ├── UmsRoleMenuRelationMapper.xml │ │ ├── UmsRolePermissionRelationMapper.xml │ │ └── UmsRoleResourceRelationMapper.xml │ ├── generator.properties │ └── generatorConfig.xml ├── mall-monitor/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── macro/ │ │ │ └── mall/ │ │ │ ├── MallMonitorApplication.java │ │ │ ├── config/ │ │ │ │ └── SecuritySecureConfig.java │ │ │ └── filter/ │ │ │ └── CustomCsrfFilter.java │ │ └── resources/ │ │ ├── application-dev.yml │ │ ├── application-prod.yml │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── macro/ │ └── mall/ │ └── MallMonitorApplicationTests.java ├── mall-portal/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── macro/ │ │ │ └── mall/ │ │ │ └── portal/ │ │ │ ├── MallPortalApplication.java │ │ │ ├── component/ │ │ │ │ ├── CancelOrderReceiver.java │ │ │ │ ├── CancelOrderSender.java │ │ │ │ └── OrderTimeOutCancelTask.java │ │ │ ├── config/ │ │ │ │ ├── AlipayClientConfig.java │ │ │ │ ├── AlipayConfig.java │ │ │ │ ├── JacksonConfig.java │ │ │ │ ├── MyBatisConfig.java │ │ │ │ ├── RabbitMqConfig.java │ │ │ │ ├── RedisConfig.java │ │ │ │ ├── SpringDocConfig.java │ │ │ │ └── SpringTaskConfig.java │ │ │ ├── controller/ │ │ │ │ ├── AlipayController.java │ │ │ │ ├── HomeController.java │ │ │ │ ├── MemberAttentionController.java │ │ │ │ ├── MemberProductCollectionController.java │ │ │ │ ├── MemberReadHistoryController.java │ │ │ │ ├── OmsCartItemController.java │ │ │ │ ├── OmsPortalOrderController.java │ │ │ │ ├── OmsPortalOrderReturnApplyController.java │ │ │ │ ├── PmsPortalProductController.java │ │ │ │ ├── PortalBrandController.java │ │ │ │ ├── UmsMemberController.java │ │ │ │ ├── UmsMemberCouponController.java │ │ │ │ └── UmsMemberReceiveAddressController.java │ │ │ ├── dao/ │ │ │ │ ├── HomeDao.java │ │ │ │ ├── PortalOrderDao.java │ │ │ │ ├── PortalOrderItemDao.java │ │ │ │ ├── PortalProductDao.java │ │ │ │ └── SmsCouponHistoryDao.java │ │ │ ├── domain/ │ │ │ │ ├── AliPayParam.java │ │ │ │ ├── CartProduct.java │ │ │ │ ├── CartPromotionItem.java │ │ │ │ ├── ConfirmOrderResult.java │ │ │ │ ├── FlashPromotionProduct.java │ │ │ │ ├── HomeContentResult.java │ │ │ │ ├── HomeFlashPromotion.java │ │ │ │ ├── MemberBrandAttention.java │ │ │ │ ├── MemberProductCollection.java │ │ │ │ ├── MemberReadHistory.java │ │ │ │ ├── OmsOrderDetail.java │ │ │ │ ├── OmsOrderReturnApplyParam.java │ │ │ │ ├── OrderParam.java │ │ │ │ ├── PmsPortalProductDetail.java │ │ │ │ ├── PmsProductCategoryNode.java │ │ │ │ ├── PromotionProduct.java │ │ │ │ ├── QueueEnum.java │ │ │ │ └── SmsCouponHistoryDetail.java │ │ │ ├── repository/ │ │ │ │ ├── MemberBrandAttentionRepository.java │ │ │ │ ├── MemberProductCollectionRepository.java │ │ │ │ └── MemberReadHistoryRepository.java │ │ │ ├── service/ │ │ │ │ ├── AlipayService.java │ │ │ │ ├── HomeService.java │ │ │ │ ├── MemberAttentionService.java │ │ │ │ ├── MemberCollectionService.java │ │ │ │ ├── MemberReadHistoryService.java │ │ │ │ ├── OmsCartItemService.java │ │ │ │ ├── OmsPortalOrderReturnApplyService.java │ │ │ │ ├── OmsPortalOrderService.java │ │ │ │ ├── OmsPromotionService.java │ │ │ │ ├── PmsPortalProductService.java │ │ │ │ ├── PortalBrandService.java │ │ │ │ ├── UmsMemberCacheService.java │ │ │ │ ├── UmsMemberCouponService.java │ │ │ │ ├── UmsMemberReceiveAddressService.java │ │ │ │ ├── UmsMemberService.java │ │ │ │ └── impl/ │ │ │ │ ├── AlipayServiceImpl.java │ │ │ │ ├── HomeServiceImpl.java │ │ │ │ ├── MemberAttentionServiceImpl.java │ │ │ │ ├── MemberCollectionServiceImpl.java │ │ │ │ ├── MemberReadHistoryServiceImpl.java │ │ │ │ ├── OmsCartItemServiceImpl.java │ │ │ │ ├── OmsPortalOrderReturnApplyServiceImpl.java │ │ │ │ ├── OmsPortalOrderServiceImpl.java │ │ │ │ ├── OmsPromotionServiceImpl.java │ │ │ │ ├── PmsPortalProductServiceImpl.java │ │ │ │ ├── PortalBrandServiceImpl.java │ │ │ │ ├── UmsMemberCacheServiceImpl.java │ │ │ │ ├── UmsMemberCouponServiceImpl.java │ │ │ │ ├── UmsMemberReceiveAddressServiceImpl.java │ │ │ │ └── UmsMemberServiceImpl.java │ │ │ └── util/ │ │ │ ├── DateUtil.java │ │ │ └── StpMemberUtil.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── bootstrap-dev.yml │ │ ├── bootstrap-prod.yml │ │ ├── bootstrap.yml │ │ └── dao/ │ │ ├── HomeDao.xml │ │ ├── PortalOrderDao.xml │ │ ├── PortalOrderItemDao.xml │ │ ├── PortalProductDao.xml │ │ └── SmsCouponHistoryDao.xml │ └── test/ │ └── java/ │ └── com/ │ └── macro/ │ └── mall/ │ └── portal/ │ ├── MallPortalApplicationTests.java │ └── PortalProductDaoTests.java ├── mall-search/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── macro/ │ │ │ └── mall/ │ │ │ └── search/ │ │ │ ├── MallSearchApplication.java │ │ │ ├── config/ │ │ │ │ ├── MyBatisConfig.java │ │ │ │ └── SpringDocConfig.java │ │ │ ├── controller/ │ │ │ │ └── EsProductController.java │ │ │ ├── dao/ │ │ │ │ └── EsProductDao.java │ │ │ ├── domain/ │ │ │ │ ├── EsProduct.java │ │ │ │ ├── EsProductAttributeValue.java │ │ │ │ └── EsProductRelatedInfo.java │ │ │ ├── repository/ │ │ │ │ └── EsProductRepository.java │ │ │ └── service/ │ │ │ ├── EsProductService.java │ │ │ └── impl/ │ │ │ └── EsProductServiceImpl.java │ │ └── resources/ │ │ ├── application.yml │ │ ├── bootstrap-dev.yml │ │ ├── bootstrap-prod.yml │ │ ├── bootstrap.yml │ │ └── dao/ │ │ └── EsProductDao.xml │ └── test/ │ └── java/ │ └── com/ │ └── macro/ │ └── mall/ │ └── search/ │ └── MallSearchApplicationTests.java └── pom.xml ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ # Maven # target/ # IDEA # .idea/ *.iml # Eclipse # .settings/ .classpath .project ================================================ FILE: LICENSE ================================================ Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [2018-2025] [macrozheng] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README.md ================================================ # mall-swarm

公众号 交流 学习教程 后台项目 前端项目 前台商城项目 码云

## 友情提示 > 1. **快速体验项目**:[在线访问地址](https://cloud.macrozheng.com/admin/index.html) 。 > 2. **全套学习教程**:[《mall-swarm微服务学习教程》](https://cloud.macrozheng.com) 。 > 3. **视频教程(2024最新版)**:[《mall-swarm视频教程》](https://cloud.macrozheng.com/video/) 。 > 4. **Spring Cloud全套教程**:[《SpringCloud学习教程》](https://github.com/macrozheng/springcloud-learning) 。 > 5. **分支说明**:`master`分支基于Spring Cloud 2023+Spring Boot 3.2,`dev-v2`分支基于Spring Cloud 2021+Spring Boot 2.7。 ## 项目简介 `mall-swarm`是一套微服务商城系统,采用了 Spring Cloud 2023 & Alibaba、Spring Boot 3.2、Sa-Token、MyBatis、Elasticsearch、Docker、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。`mall-swarm`在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。 ## 项目演示 ### 后台管理系统 前端项目`mall-admin-web`地址:https://github.com/macrozheng/mall-admin-web 项目演示地址: [https://www.macrozheng.com/admin/index.html](https://www.macrozheng.com/admin/index.html) ![后台管理系统功能演示](./document/resource/mall_admin_show.png) ### 前台商城系统 前端项目`mall-app-web`地址:https://github.com/macrozheng/mall-app-web 项目演示地址(将浏览器切换为手机模式效果更佳):[https://www.macrozheng.com/app/](https://www.macrozheng.com/app/) ![前台商城系统功能演示](./document/resource/re_mall_app_show.jpg) ## 项目架构 ### 系统架构 ![系统架构图](./document/resource/mall_micro_service_arch.jpg) ### 业务架构 ![业务架构图](./document/resource/re_mall_business_arch.jpg) ### 组织结构 ``` lua mall ├── mall-common -- 工具类及通用代码模块 ├── mall-mbg -- MyBatisGenerator生成的数据库操作代码模块 ├── mall-auth -- 基于Spring Security Oauth2的统一的认证中心 ├── mall-gateway -- 基于Spring Cloud Gateway的微服务API网关服务 ├── mall-monitor -- 基于Spring Boot Admin的微服务监控中心 ├── mall-admin -- 后台管理系统服务 ├── mall-search -- 基于Elasticsearch的商品搜索系统服务 ├── mall-portal -- 移动端商城系统服务 ├── mall-demo -- 微服务远程调用测试服务 └── config -- 配置中心存储的配置 ``` ## 技术选型 ### 后端技术 | 技术 | 说明 | 官网 | | ---------------------- | -------------------- | ---------------------------------------------------- | | Spring Cloud | 微服务框架 | https://spring.io/projects/spring-cloud | | Spring Cloud Alibaba | 微服务框架 | https://github.com/alibaba/spring-cloud-alibaba | | Spring Boot | 容器+MVC框架 | https://spring.io/projects/spring-boot | | Sa-Token | 认证和授权框架 | https://github.com/dromara/Sa-Token | | MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html | | MyBatisGenerator | 数据层代码生成 | http://www.mybatis.org/generator/index.html | | PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper | | Knife4j | 文档生产工具 | https://github.com/xiaoymin/swagger-bootstrap-ui | | Elasticsearch | 搜索引擎 | https://github.com/elastic/elasticsearch | | RabbitMq | 消息队列 | https://www.rabbitmq.com/ | | Redis | 分布式缓存 | https://redis.io/ | | MongoDb | NoSql数据库 | https://www.mongodb.com/ | | Docker | 应用容器引擎 | https://www.docker.com/ | | Druid | 数据库连接池 | https://github.com/alibaba/druid | | OSS | 对象存储 | https://github.com/aliyun/aliyun-oss-java-sdk | | MinIO | 对象存储 | https://github.com/minio/minio | | LogStash | 日志收集 | https://github.com/logstash/logstash-logback-encoder | | Lombok | 简化对象封装工具 | https://github.com/rzwitserloot/lombok | | Seata | 全局事务管理框架 | https://github.com/seata/seata | | Portainer | 可视化Docker容器管理 | https://github.com/portainer/portainer | | Jenkins | 自动化部署工具 | https://github.com/jenkinsci/jenkins | | Kubernetes | 应用容器管理平台 | https://kubernetes.io/ | ### 前端技术 | 技术 | 说明 | 官网 | | ---------- | --------------------- | ------------------------------ | | Vue | 前端框架 | https://vuejs.org/ | | Vue-router | 路由框架 | https://router.vuejs.org/ | | Vuex | 全局状态管理框架 | https://vuex.vuejs.org/ | | Element | 前端UI框架 | https://element.eleme.io/ | | Axios | 前端HTTP框架 | https://github.com/axios/axios | | v-charts | 基于Echarts的图表框架 | https://v-charts.js.org/ | ### 移动端技术 | 技术 | 说明 | 官网 | | ------------ | ---------------- | --------------------------------------- | | Vue | 核心前端框架 | https://vuejs.org | | Vuex | 全局状态管理框架 | https://vuex.vuejs.org | | uni-app | 移动端前端框架 | https://uniapp.dcloud.io | | mix-mall | 电商项目模板 | https://ext.dcloud.net.cn/plugin?id=200 | | luch-request | HTTP请求框架 | https://github.com/lei-mu/luch-request | ## 环境搭建 ### 开发环境 | 工具 | 版本号 | 下载 | | ------------- | ------ | ------------------------------------------------------------ | | JDK | 17 | https://www.oracle.com/cn/java/technologies/downloads/#java17 | | Mysql | 5.7 | https://www.mysql.com/ | | Redis | 7.0 | https://redis.io/download | | Elasticsearch | 7.17.3 | https://www.elastic.co/cn/downloads/elasticsearch | | Kibana | 7.17.3 | https://www.elastic.co/cn/downloads/kibana | | Logstash | 7.17.3 | https://www.elastic.co/cn/downloads/logstash | | MongoDb | 5.0 | https://www.mongodb.com/download-center | | RabbitMq | 3.10.5 | http://www.rabbitmq.com/download.html | | nginx | 1.22 | http://nginx.org/en/download.html | ### 搭建步骤 - Windows环境搭建请参考:[mall-swarm项目后端开发环境搭建](https://cloud.macrozheng.com/start/mall_swarm_deploy_windows.html); - `mall-admin-web`项目的安装及部署请参考:[mall-swarm前端开发环境搭建](https://cloud.macrozheng.com/start/mall_swarm_deploy_windows_web.html); ## 运行效果展示 - 查看注册中心注册服务信息,访问地址:http://192.168.3.101:8848/nacos/ ![](./document/resource/re_mall_swarm_run_01.png) - 监控中心应用信息,访问地址:http://192.168.3.101:8101 ![](./document/resource/re_mall_swarm_run_02.png) ![](./document/resource/re_mall_swarm_run_03.png) - API文档信息,访问地址:http://192.168.3.101:8201 ![](./document/resource/re_mall_swarm_run_04.png) - 日志收集系统信息,访问地址:http://192.168.3.101:5601 ![](./document/resource/re_mall_swarm_run_05.png) - 使用Kubernetes部署后项目运行状态,访问地址:http://192.168.3.101:30880 ![](document/resource/re_mall_swarm_run_06.png) ![](document/resource/re_mall_swarm_run_07.png) ## 公众号 加微信群交流,关注公众号「**macrozheng**」,回复「**加群**」即可。 ![公众号图片](http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/banner/qrcode_for_macrozheng_258.jpg) ## 许可证 [Apache License 2.0](https://github.com/macrozheng/mall-swarm/blob/master/LICENSE) Copyright (c) 2018-2025 macrozheng ================================================ FILE: config/admin/mall-admin-dev.yaml ================================================ aliyun: oss: endpoint: oss-cn-shenzhen.aliyuncs.com # oss对外服务的访问域名 accessKeyId: test # 访问身份验证中用到用户标识 accessKeySecret: test # 用户用于加密签名字符串和oss用来验证签名字符串的密钥 bucketName: macro-oss # oss的存储空间 policy: expire: 300 # 签名有效期(S) maxSize: 10 # 上传文件大小(M) callback: http://39.98.190.128:8080/aliyun/oss/callback # 文件上传成功后的回调地址 dir: prefix: mall/images/ # 上传文件夹路径前缀 spring: datasource: url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root data: redis: host: localhost # Redis服务器地址 database: 0 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: # Redis服务器连接密码(默认为空) timeout: 3000ms # 连接超时时间(毫秒) minio: endpoint: http://localhost:9000 #MinIO服务所在地址 bucketName: mall #存储桶名称 accessKey: minioadmin #访问的key secretKey: minioadmin #访问的秘钥 logging: level: root: info com.macro.mall: debug logstash: host: localhost ================================================ FILE: config/admin/mall-admin-prod.yaml ================================================ aliyun: oss: endpoint: oss-cn-shenzhen.aliyuncs.com # oss对外服务的访问域名 accessKeyId: test # 访问身份验证中用到用户标识 accessKeySecret: test # 用户用于加密签名字符串和oss用来验证签名字符串的密钥 bucketName: macro-oss # oss的存储空间 policy: expire: 300 # 签名有效期(S) maxSize: 10 # 上传文件大小(M) callback: http://39.98.190.128:8080/aliyun/oss/callback # 文件上传成功后的回调地址 dir: prefix: mall/images/ # 上传文件夹路径前缀 spring: datasource: url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: reader password: 123456 data: redis: host: redis # Redis服务器地址 database: 0 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: #不设置密码 minio: endpoint: http://192.168.3.101:9090 #MinIO服务所在地址 bucketName: mall #存储桶名称 accessKey: minioadmin #访问的key secretKey: minioadmin #访问的秘钥 logging: file: path: /var/logs level: root: info com.macro.mall: info logstash: host: logstash ================================================ FILE: config/demo/mall-demo-dev.yaml ================================================ spring: datasource: url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root logging: level: root: info com.macro.mall: debug logstash: host: localhost ================================================ FILE: config/demo/mall-demo-prod.yaml ================================================ spring: datasource: url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: reader password: 123456 logging: file: path: /var/logs level: root: info com.macro.mall: info logstash: host: logstash ================================================ FILE: config/gateway/mall-gateway-dev.yaml ================================================ spring: data: redis: host: localhost # Redis服务器地址 database: 0 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: # Redis服务器连接密码(默认为空) timeout: 3000ms # 连接超时时间(毫秒) logging: level: root: info com.macro.mall: debug logstash: host: localhost ================================================ FILE: config/gateway/mall-gateway-prod.yaml ================================================ spring: data: redis: host: redis # Redis服务器地址 database: 0 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: #不设置密码 logging: file: path: /var/logs level: root: info com.macro.mall: info logstash: host: logstash ================================================ FILE: config/portal/mall-portal-dev.yaml ================================================ spring: datasource: url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root data: mongodb: host: localhost port: 27017 database: mall-port redis: host: localhost # Redis服务器地址 database: 0 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: # Redis服务器连接密码(默认为空) rabbitmq: host: localhost port: 5672 virtual-host: /mall username: mall password: mall # 日志配置 logging: level: root: info com.macro.mall: debug logstash: host: localhost alipay: gatewayUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do appId: your appId alipayPublicKey: your alipayPublicKey appPrivateKey: your appPrivateKey returnUrl: http://localhost:8060/#/pages/money/paySuccess notifyUrl: ================================================ FILE: config/portal/mall-portal-prod.yaml ================================================ spring: datasource: url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root data: mongodb: host: mongo port: 27017 database: mall-port redis: host: redis # Redis服务器地址 database: 0 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: #不设置密码 rabbitmq: host: rabbit port: 5672 virtual-host: /mall username: mall password: mall publisher-confirms: true #如果对异步消息需要回调必须设置为true logging: file: path: /var/logs level: root: info com.macro.mall: info logstash: host: logstash alipay: gatewayUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do appId: your appId alipayPublicKey: your alipayPublicKey appPrivateKey: your appPrivateKey returnUrl: http://192.168.3.101:8060/#/pages/money/paySuccess notifyUrl: ================================================ FILE: config/search/mall-search-dev.yaml ================================================ spring: datasource: url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: root elasticsearch: uris: localhost:9200 logging: level: root: info com.macro.mall: debug logstash: host: localhost ================================================ FILE: config/search/mall-search-prod.yaml ================================================ spring: datasource: url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: reader password: 123456 elasticsearch: uris: es:9200 management: health: elasticsearch: response-timeout: 1000ms #加大健康检查超时时间 logging: file: path: /var/logs level: root: info com.macro.mall: info logstash: host: logstash ================================================ FILE: document/docker/docker-compose-app.yml ================================================ version: '3' services: mall-admin: image: mall/mall-admin:1.0-SNAPSHOT container_name: mall-admin ports: - 8080:8080 volumes: - /mydata/app/mall-admin/logs:/var/logs - /etc/localtime:/etc/localtime environment: - 'TZ="Asia/Shanghai"' external_links: - mysql:db #可以用db这个域名访问mysql服务 - nacos-registry:nacos-registry #可以用nacos-registry这个域名访问nacos服务 mall-search: image: mall/mall-search:1.0-SNAPSHOT container_name: mall-search ports: - 8081:8081 volumes: - /mydata/app/mall-search/logs:/var/logs - /etc/localtime:/etc/localtime environment: - 'TZ="Asia/Shanghai"' external_links: - elasticsearch:es #可以用es这个域名访问elasticsearch服务 - mysql:db #可以用db这个域名访问mysql服务 - nacos-registry:nacos-registry #可以用nacos-registry这个域名访问nacos服务 mall-portal: image: mall/mall-portal:1.0-SNAPSHOT container_name: mall-portal ports: - 8085:8085 volumes: - /mydata/app/mall-portal/logs:/var/logs - /etc/localtime:/etc/localtime environment: - 'TZ="Asia/Shanghai"' external_links: - redis:redis #可以用redis这个域名访问redis服务 - mongo:mongo #可以用mongo这个域名访问mongo服务 - mysql:db #可以用db这个域名访问mysql服务 - rabbitmq:rabbit #可以用rabbit这个域名访问rabbitmq服务 - nacos-registry:nacos-registry #可以用nacos-registry这个域名访问nacos服务 mall-auth: image: mall/mall-auth:1.0-SNAPSHOT container_name: mall-auth ports: - 8401:8401 volumes: - /mydata/app/mall-auth/logs:/var/logs - /etc/localtime:/etc/localtime environment: - 'TZ="Asia/Shanghai"' external_links: - nacos-registry:nacos-registry #可以用nacos-registry这个域名访问nacos服务 mall-gateway: image: mall/mall-gateway:1.0-SNAPSHOT container_name: mall-gateway ports: - 8201:8201 volumes: - /mydata/app/mall-gateway/logs:/var/logs - /etc/localtime:/etc/localtime environment: - 'TZ="Asia/Shanghai"' external_links: - redis:redis #可以用redis这个域名访问redis服务 - nacos-registry:nacos-registry #可以用nacos-registry这个域名访问nacos服务 mall-monitor: image: mall/mall-monitor:1.0-SNAPSHOT container_name: mall-monitor ports: - 8101:8101 volumes: - /mydata/app/mall-monitor/logs:/var/logs - /etc/localtime:/etc/localtime environment: - 'TZ="Asia/Shanghai"' external_links: - nacos-registry:nacos-registry #可以用nacos-registry这个域名访问nacos服务 ================================================ FILE: document/docker/docker-compose-env.yml ================================================ version: '3' services: mysql: image: mysql:5.7 container_name: mysql command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci restart: always environment: MYSQL_ROOT_PASSWORD: root #设置root帐号密码 ports: - 3306:3306 volumes: - /mydata/mysql/data/db:/var/lib/mysql #数据文件挂载 - /mydata/mysql/data/conf:/etc/mysql/conf.d #配置文件挂载 - /mydata/mysql/log:/var/log/mysql #日志文件挂载 redis: image: redis:7 container_name: redis command: redis-server --appendonly yes volumes: - /mydata/redis/data:/data #数据文件挂载 ports: - 6379:6379 nginx: image: nginx:1.22 container_name: nginx volumes: - /mydata/nginx/conf:/etc/nginx #配置文件挂载 - /mydata/nginx/html:/usr/share/nginx/html #静态资源根目录挂载 - /mydata/nginx/log:/var/log/nginx #日志文件挂载 ports: - 80:80 rabbitmq: image: rabbitmq:3.9.11-management container_name: rabbitmq volumes: - /mydata/rabbitmq/data:/var/lib/rabbitmq #数据文件挂载 - /mydata/rabbitmq/log:/var/log/rabbitmq #日志文件挂载 ports: - 5672:5672 - 15672:15672 elasticsearch: image: elasticsearch:7.17.3 container_name: elasticsearch user: root environment: - "cluster.name=elasticsearch" #设置集群名称为elasticsearch - "discovery.type=single-node" #以单一节点模式启动 - "ES_JAVA_OPTS=-Xms512m -Xmx1024m" #设置使用jvm内存大小 volumes: - /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #插件文件挂载 - /mydata/elasticsearch/data:/usr/share/elasticsearch/data #数据文件挂载 ports: - 9200:9200 - 9300:9300 logstash: image: logstash:7.17.3 container_name: logstash environment: - TZ=Asia/Shanghai volumes: - /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf #挂载logstash的配置文件 depends_on: - elasticsearch #kibana在elasticsearch启动之后再启动 links: - elasticsearch:es #可以用es这个域名访问elasticsearch服务 ports: - 4560:4560 - 4561:4561 - 4562:4562 - 4563:4563 kibana: image: kibana:7.17.3 container_name: kibana links: - elasticsearch:es #可以用es这个域名访问elasticsearch服务 depends_on: - elasticsearch #kibana在elasticsearch启动之后再启动 environment: - "elasticsearch.hosts=http://es:9200" #设置访问elasticsearch的地址 ports: - 5601:5601 mongo: image: mongo:4 container_name: mongo volumes: - /mydata/mongo/db:/data/db #数据文件挂载 ports: - 27017:27017 nacos-registry: image: nacos/nacos-server:v2.1.0 container_name: nacos-registry environment: - "MODE=standalone" ports: - 8848:8848 ================================================ FILE: document/docker/nginx.conf ================================================ user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } } ================================================ FILE: document/elk/logback-spring.xml ================================================ localhost:4560 ================================================ FILE: document/elk/logstash.conf ================================================ input { tcp { mode => "server" host => "0.0.0.0" port => 4560 codec => json_lines type => "debug" } tcp { mode => "server" host => "0.0.0.0" port => 4561 codec => json_lines type => "error" } tcp { mode => "server" host => "0.0.0.0" port => 4562 codec => json_lines type => "business" } tcp { mode => "server" host => "0.0.0.0" port => 4563 codec => json_lines type => "record" } } filter{ if [type] == "record" { mutate { remove_field => "port" remove_field => "host" remove_field => "@version" } json { source => "message" remove_field => ["message"] } } } output { elasticsearch { hosts => "localhost:9200" index => "mall-%{type}-%{+YYYY.MM.dd}" } } ================================================ FILE: document/k8s/mall-admin-deployment.yaml ================================================ apiVersion: apps/v1 kind: Deployment metadata: name: mall-admin-deployment namespace: default labels: app: mall-admin spec: replicas: 1 selector: matchLabels: app: mall-admin template: metadata: labels: app: mall-admin spec: containers: - name: mall-admin image: mall/mall-admin:1.0-SNAPSHOT ports: - containerPort: 8080 env: # 指定环境 - name: spring.profiles.active value: prod # 指定时区 - name: TZ value: Asia/Shanghai # 指定Nacos地址 - name: spring.cloud.nacos.discovery.server-addr value: http://192.168.3.101:8848 - name: spring.cloud.nacos.config.server-addr value: http://192.168.3.101:8848 volumeMounts: - mountPath: /var/logs name: log-volume volumes: - name: log-volume hostPath: path: /mydata/app/mall-admin/logs type: DirectoryOrCreate ================================================ FILE: document/k8s/mall-admin-service.yaml ================================================ apiVersion: v1 kind: Service metadata: name: mall-admin-service namespace: default spec: type: ClusterIP selector: app: mall-admin ports: - name: http protocol: TCP port: 8080 targetPort: 8080 ================================================ FILE: document/k8s/mall-auth-deployment.yaml ================================================ apiVersion: apps/v1 kind: Deployment metadata: name: mall-auth-deployment namespace: default labels: app: mall-auth spec: replicas: 1 selector: matchLabels: app: mall-auth template: metadata: labels: app: mall-auth spec: containers: - name: mall-auth image: mall/mall-auth:1.0-SNAPSHOT ports: - containerPort: 8401 env: # 指定环境 - name: spring.profiles.active value: prod # 指定时区 - name: TZ value: Asia/Shanghai # 指定Nacos地址 - name: spring.cloud.nacos.discovery.server-addr value: http://192.168.3.101:8848 - name: spring.cloud.nacos.config.server-addr value: http://192.168.3.101:8848 volumeMounts: - mountPath: /var/logs name: log-volume volumes: - name: log-volume hostPath: path: /mydata/app/mall-auth/logs type: DirectoryOrCreate ================================================ FILE: document/k8s/mall-auth-service.yaml ================================================ apiVersion: v1 kind: Service metadata: name: mall-auth-service namespace: default spec: type: ClusterIP selector: app: mall-auth ports: - name: http protocol: TCP port: 8401 targetPort: 8401 ================================================ FILE: document/k8s/mall-gateway-deployment.yaml ================================================ apiVersion: apps/v1 kind: Deployment metadata: name: mall-gateway-deployment namespace: default labels: app: mall-gateway spec: replicas: 1 selector: matchLabels: app: mall-gateway template: metadata: labels: app: mall-gateway spec: containers: - name: mall-gateway image: mall/mall-gateway:1.0-SNAPSHOT ports: - containerPort: 8201 env: # 指定环境 - name: spring.profiles.active value: prod # 指定时区 - name: TZ value: Asia/Shanghai # 指定Nacos地址 - name: spring.cloud.nacos.discovery.server-addr value: http://192.168.3.101:8848 - name: spring.cloud.nacos.config.server-addr value: http://192.168.3.101:8848 volumeMounts: - mountPath: /var/logs name: log-volume volumes: - name: log-volume hostPath: path: /mydata/app/mall-gateway/logs type: DirectoryOrCreate ================================================ FILE: document/k8s/mall-gateway-service.yaml ================================================ apiVersion: v1 kind: Service metadata: name: mall-gateway-service namespace: default spec: type: NodePort selector: app: mall-gateway ports: - name: http protocol: TCP port: 8201 targetPort: 8201 nodePort: 30201 ================================================ FILE: document/k8s/mall-monitor-deployment.yaml ================================================ apiVersion: apps/v1 kind: Deployment metadata: name: mall-monitor-deployment namespace: default labels: app: mall-monitor spec: replicas: 1 selector: matchLabels: app: mall-monitor template: metadata: labels: app: mall-monitor spec: containers: - name: mall-monitor image: mall/mall-monitor:1.0-SNAPSHOT ports: - containerPort: 8101 env: # 指定环境 - name: spring.profiles.active value: prod # 指定时区 - name: TZ value: Asia/Shanghai # 指定Nacos地址 - name: spring.cloud.nacos.discovery.server-addr value: http://192.168.3.101:8848 - name: spring.cloud.nacos.config.server-addr value: http://192.168.3.101:8848 volumeMounts: - mountPath: /var/logs name: log-volume volumes: - name: log-volume hostPath: path: /mydata/app/mall-monitor/logs type: DirectoryOrCreate ================================================ FILE: document/k8s/mall-monitor-service.yaml ================================================ apiVersion: v1 kind: Service metadata: name: mall-monitor-service namespace: default spec: type: NodePort selector: app: mall-monitor ports: - name: http protocol: TCP port: 8101 targetPort: 8101 nodePort: 30101 ================================================ FILE: document/k8s/mall-portal-deployment.yaml ================================================ apiVersion: apps/v1 kind: Deployment metadata: name: mall-portal-deployment namespace: default labels: app: mall-portal spec: replicas: 1 selector: matchLabels: app: mall-portal template: metadata: labels: app: mall-portal spec: containers: - name: mall-portal image: mall/mall-portal:1.0-SNAPSHOT ports: - containerPort: 8085 env: # 指定环境 - name: spring.profiles.active value: prod # 指定时区 - name: TZ value: Asia/Shanghai # 指定Nacos地址 - name: spring.cloud.nacos.discovery.server-addr value: http://192.168.3.101:8848 - name: spring.cloud.nacos.config.server-addr value: http://192.168.3.101:8848 volumeMounts: - mountPath: /var/logs name: log-volume volumes: - name: log-volume hostPath: path: /mydata/app/mall-portal/logs type: DirectoryOrCreate ================================================ FILE: document/k8s/mall-portal-service.yaml ================================================ apiVersion: v1 kind: Service metadata: name: mall-portal-service namespace: default spec: type: ClusterIP selector: app: mall-portal ports: - name: http protocol: TCP port: 8085 targetPort: 8085 ================================================ FILE: document/k8s/mall-search-deployment.yaml ================================================ apiVersion: apps/v1 kind: Deployment metadata: name: mall-search-deployment namespace: default labels: app: mall-search spec: replicas: 1 selector: matchLabels: app: mall-search template: metadata: labels: app: mall-search spec: containers: - name: mall-search image: mall/mall-search:1.0-SNAPSHOT ports: - containerPort: 8081 env: # 指定环境 - name: spring.profiles.active value: prod # 指定时区 - name: TZ value: Asia/Shanghai # 指定Nacos地址 - name: spring.cloud.nacos.discovery.server-addr value: http://192.168.3.101:8848 - name: spring.cloud.nacos.config.server-addr value: http://192.168.3.101:8848 volumeMounts: - mountPath: /var/logs name: log-volume volumes: - name: log-volume hostPath: path: /mydata/app/mall-search/logs type: DirectoryOrCreate ================================================ FILE: document/k8s/mall-search-service.yaml ================================================ apiVersion: v1 kind: Service metadata: name: mall-search-service namespace: default spec: type: ClusterIP selector: app: mall-search ports: - name: http protocol: TCP port: 8081 targetPort: 8081 ================================================ FILE: document/pdm/mall.pdb ================================================ 7BB41C87-EFE8-409A-A86E-B1C3FCE34F8C mall mall 1521705583 zhenghong 1580869150 zhenghong [FolderOptions] [FolderOptions\Physical Objects] GenerationCheckModel=Yes GenerationPath= GenerationOptions= GenerationTasks= GenerationTargets= GenerationSelections= RevPkey=Yes RevFkey=Yes RevAkey=Yes RevCheck=Yes RevIndx=Yes RevOpts=Yes RevViewAsTabl=No RevViewOpts=Yes RevSystAsTabl=Yes RevTablPerm=No RevViewPerm=No RevProcPerm=No RevDbpkPerm=No RevSqncPerm=No RevAdtPerm=No RevUserPriv=No RevUserOpts=No RevGrpePriv=No RevRolePriv=No RevDtbsOpts=Yes RevDtbsPerm=No RevViewIndx=Yes RevJidxOpts=Yes RevStats=No RevTspcPerm=No RevCaseSensitive=No GenTrgrStdMsg=Yes GenTrgrMsgTab= GenTrgrMsgNo= GenTrgrMsgTxt= TrgrPreserve=No TrgrIns=Yes TrgrUpd=Yes TrgrDel=Yes TrgrC2Ins=Yes TrgrC2Upd=Yes TrgrC3=Yes TrgrC4=Yes TrgrC5=Yes TrgrC6=Yes TrgrC7=Yes TrgrC8=Yes TrgrC9=Yes TrgrC10=Yes TrgrC11=Yes TrgrC1=Yes TrgrC12Ins=Yes TrgrC12Upd=Yes TrgrC13=Yes UpdateTableStatistics=Yes UpdateColumnStatistics=Yes [FolderOptions\Physical Objects\Database Generation] GenScriptName=create.sql GenScriptName0=update.sql GenScriptName1=crebas.sql GenScriptName2=crebas GenScriptName3= GenScriptName4= GenScriptName5= GenScriptName6= GenScriptName7= GenScriptName8= GenScriptName9= GenPathName=C:\Users\zhenghong\Desktop\ GenSingleFile=Yes GenODBC=No GenCheckModel=Yes GenScriptPrev=Yes GenArchiveModel=No GenUseSync=No GenSyncChoice=0 GenSyncArch= GenSyncRmg=0 [FolderOptions\Physical Objects\Database Generation\Format] GenScriptTitle=Yes GenScriptNamLabl=No GenScriptQDtbs=No GenScriptQOwnr=Yes GenScriptCase=0 GenScriptEncoding=UTF8 GenScriptNAcct=No IdentifierDelimiter=" [FolderOptions\Physical Objects\Database Generation\Database] Create=Yes Open=Yes Close=Yes Drop=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Database\Create] Physical Options=Yes Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\Tablespace] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Tablespace\Create] Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\Storage] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\User] Create=Yes Drop=Yes Comment=Yes Privilege=No [FolderOptions\Physical Objects\Database Generation\User\Create] Physical Options=No [FolderOptions\Physical Objects\Database Generation\Group] Create=Yes Drop=Yes Comment=Yes Privilege=No [FolderOptions\Physical Objects\Database Generation\Role] Create=Yes Drop=Yes Privilege=No [FolderOptions\Physical Objects\Database Generation\UserDefinedDataType] Create=Yes Comment=Yes Drop=Yes [FolderOptions\Physical Objects\Database Generation\UserDefinedDataType\Create] Default value=Yes Check=Yes [FolderOptions\Physical Objects\Database Generation\AbstractDataType] Create=Yes Header=Yes Footer=Yes Drop=Yes Comment=Yes Install JAVA class=Yes Remove JAVA class=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Rule] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Default] Create=Yes Comment=Yes Drop=Yes [FolderOptions\Physical Objects\Database Generation\Sequence] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Table&&Column] [FolderOptions\Physical Objects\Database Generation\Table&&Column\Table] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Table&&Column\Table\Create] Check=Yes Physical Options=Yes Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Table\Create\Check] Constraint declaration=No [FolderOptions\Physical Objects\Database Generation\Table&&Column\Column] User datatype=No Default value=Yes Check=Yes Physical Options=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Column\Check] Constraint declaration=No [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key] [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key\Primary key] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key\Primary key\Create] Constraint declaration=No Physical Options=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key\Alternate key] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key\Alternate key\Create] Constraint declaration=No Physical Options=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Foreign key] Create=No Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Foreign key\Create] Constraint declaration=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Index] Create=No Drop=No Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Index\Create] Constraint declaration=Yes Physical Options=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Index\Filter] Primary key=No Foreign key=No Alternate key=No Cluster=Yes Other=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Trigger] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Trigger\Filter] For insert=Yes For update=Yes For delete=Yes For other=Yes [FolderOptions\Physical Objects\Database Generation\View] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\View\Create] Force Column list=No Physical Options=Yes Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\View\ViewColumn] Comment=Yes [FolderOptions\Physical Objects\Database Generation\View\ViewIndex] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\View\ViewIndex\Create] Physical Options=Yes [FolderOptions\Physical Objects\Database Generation\View\ViewIndex\Filter] Cluster=Yes Other=Yes [FolderOptions\Physical Objects\Database Generation\View\Trigger] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\View\Trigger\Filter] For insert=Yes For update=Yes For delete=Yes For other=Yes [FolderOptions\Physical Objects\Database Generation\DBMSTrigger] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Synonym] Create=Yes Drop=Yes [FolderOptions\Physical Objects\Database Generation\Synonym\Filter] Table=Yes View=Yes Proc=Yes Synonym=Yes Database Package=Yes Sequence=Yes [FolderOptions\Physical Objects\Database Generation\JoinIndex] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\JoinIndex\Create] Physical Options=Yes Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\Procedure] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Procedure\Create] Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\DatabasePackage] Create=Yes Drop=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\WebService] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Dimension] Create=Yes Drop=Yes [FolderOptions\Physical Objects\Database Generation\Synchronization] GenBackupTabl=1 GenKeepBackTabl=1 GenTmpTablDrop=No GenKeepTablOpts=No [FolderOptions\Physical Objects\Test Data] GenDataPathName=C:\Users\zhenghong\Desktop\ GenDataSinglefile=Yes GenDataScriptName=testdata.sql GenDataScriptName0= GenDataScriptName1= GenDataScriptName2= GenDataScriptName3= GenDataScriptName4= GenDataScriptName5= GenDataScriptName6= GenDataScriptName7= GenDataScriptName8= GenDataScriptName9= GenDataOdbc=0 GenDataDelOld=No GenDataTitle=No GenDataDefNumRows=20 GenDataCommit=0 GenDataPacket=0 GenDataOwner=No GenDataProfNumb= GenDataProfChar= GenDataProfDate= GenDataCSVSeparator=, GenDataFileFormat=CSV GenDataUseWizard=No [FolderOptions\Pdm] IndxIQName=%COLUMN%_%INDEXTYPE% IndxPK=Yes IndxFK=Yes IndxAK=Yes IndxPKName=%TABLE%_PK IndxFKName=%REFR%_FK IndxAKName=%AKEY%_AK IndxPreserve=No IndxThreshold=0 IndxStats=No RefrPreserve=No JidxPreserve=No RbldMultiFact=Yes RbldMultiDim=Yes RbldMultiJidx=Yes CubePreserve=No TablStProcPreserve=No ProcDepPreserve=Yes TrgrDepPreserve=Yes CubeScriptPath= CubeScriptCase=0 CubeScriptEncoding=ANSI CubeScriptNacct=No CubeScriptHeader=No CubeScriptExt=csv CubeScriptExt0=txt CubeScriptExt1= CubeScriptExt2= CubeScriptSep=, CubeScriptDeli=" EstimationYears=0 DfltDomnName=D_%.U:VALUE% DfltColnName=D_%.U:VALUE% DfltReuse=Yes DfltDrop=Yes [FolderOptions\CheckModel] [FolderOptions\CheckModel\Package] [FolderOptions\CheckModel\Package\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CheckPackageMissTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\DefaultCheckPackageMissTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CircularReference] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\ConstraintName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CnstMaxLen] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CircularDependency] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\ShortcutUniqCode] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Table] [FolderOptions\CheckModel\Table\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\UniqIndex] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\MaxLen - NAME] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyColl - COLNCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyColl - INDXCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyColl - KEYCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\SerialColumnNumber] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyCollYesYes] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\TableIndexes] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\Mapping] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Table\MappingSFMap] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyColl - PERMCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Table\CheckTablePartitionKey] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableStartDate] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableRefNoLifecycle] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableSourceMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTablePartialColumnMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableKeyColumnMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableNotOnLifecycleTablespace] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\MYSQL50_Table_Table_storage_type] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Table.Column] [FolderOptions\CheckModel\Table.Column\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\DomainDivergence] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\ColumnMandatory] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckNumParam] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckPrecSupLng] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckUndefDttp] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\FkeyDttpDivergence] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\FkeyCheckDivergence] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\ColnSqncNoKey] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\ColnSqncDttp] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\SerialColumnFK] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\ColumnCompExpr] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckColumnOneToOneMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckColumnDataTypeMapping] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckColumnNoMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckDttpIncompatibleFormat] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\MYSQL50_Column_Auto_increment_key] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\MYSQL50_Column_Datatype_attributes] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index] [FolderOptions\CheckModel\Table.Index\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\EmptyColl - CIDXCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\UndefIndexType] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\IndexColumnCount] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\IQIndxHNGUniq] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\CheckIncludeColl - Tabl] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\MYSQL50_Index_Fulltext_indexes_validity] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key] [FolderOptions\CheckModel\Table.Key\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\EmptyColl - COLNCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\CheckIncludeColl - Tabl] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\MultiKeySqnc] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger] [FolderOptions\CheckModel\Table.Trigger\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index] [FolderOptions\CheckModel\Join Index\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View] [FolderOptions\CheckModel\View\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\EmptyColl - PERMCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\View.View Index] [FolderOptions\CheckModel\View.View Index\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\EmptyColl - CIDXCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\IndexColumnCount] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\CheckIncludeColl - Tabl] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference] [FolderOptions\CheckModel\Reference\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\Reflexive] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\EmptyColl - RFJNCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\IncompleteJoin] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\JoinOrder] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference] [FolderOptions\CheckModel\View Reference\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\EmptyColl - VRFJNCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain] [FolderOptions\CheckModel\Domain\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckNumParam] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckPrecSupLng] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckUndefDttp] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckDttpIncompatibleFormat] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default] [FolderOptions\CheckModel\Default\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\DfltValeEmpty] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\DfltSameVale] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User] [FolderOptions\CheckModel\User\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\UniquePassword] CheckSeverity=No FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Group] [FolderOptions\CheckModel\Group\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\EmptyColl - USERCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\UniquePassword] CheckSeverity=No FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Role] [FolderOptions\CheckModel\Role\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\EmptyColl - USERCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure] [FolderOptions\CheckModel\Procedure\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\ProcBodyEmpty] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\EmptyColl - PERMCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\DBMS Trigger] [FolderOptions\CheckModel\DBMS Trigger\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\DbmsTriggerEvent] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source] [FolderOptions\CheckModel\Data Source\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\EmptyColl - MODLSRC] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\DtscTargets] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\CheckDataSourceModels] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Horizontal Partitioning] [FolderOptions\CheckModel\Horizontal Partitioning\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Horizontal Partitioning\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Horizontal Partitioning\EmptyColl - PARTCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Horizontal Partitioning\TargetTables] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Vertical Partitioning] [FolderOptions\CheckModel\Vertical Partitioning\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Vertical Partitioning\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Vertical Partitioning\EmptyColl - PARTCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Vertical Partitioning\TargetTables] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table Collapsing] [FolderOptions\CheckModel\Table Collapsing\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table Collapsing\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table Collapsing\EmptyColl - TargetTable] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table Collapsing\TargetTables] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact] [FolderOptions\CheckModel\Fact\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\EmptyColl - MEASCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\Mapping] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Fact\MappingSFMap] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Fact\EmptyColl - ALLOLINKCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\CubeDupAssociation] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension] [FolderOptions\CheckModel\Dimension\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\EmptyColl - DATTRCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\EmptyColl - HIERCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\DimnDupHierarchy] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\DimnDefHierarchy] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\Mapping] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Dimension\MappingSFMap] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Dimension\SerialColumnNumber] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association] [FolderOptions\CheckModel\Association\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\EmptyColl - Hierarchy] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute] [FolderOptions\CheckModel\Dimension.Attribute\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure] [FolderOptions\CheckModel\Fact.Measure\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy] [FolderOptions\CheckModel\Dimension.Hierarchy\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\EmptyColl - DATTRCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym] [FolderOptions\CheckModel\Synonym\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\MaxLen - NAME] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\EmptyColl - BASEOBJ] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type] [FolderOptions\CheckModel\Abstract Data Type\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\AdtInstantiable] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\AdtAbstractUsed] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure] [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\AdtProcUniqName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\UniqueDefinition] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\ReturnDataType] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package] [FolderOptions\CheckModel\Database Package\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\MaxLen - NAME] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\EmptyColl - PROCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\EmptyColl - CURCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package\EmptyColl - VARCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package\EmptyColl - TYPCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package\EmptyColl - EXCCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package.Database Package Procedure] [FolderOptions\CheckModel\Database Package.Database Package Procedure\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\UniqueDefinition] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\EmptyColl - PARM] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package.Database Package Procedure\ReturnDataType] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence] [FolderOptions\CheckModel\Sequence\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor] [FolderOptions\CheckModel\Database Package.Database Package Cursor\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\UniqueDefinition] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\ReturnDataType] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\EmptyColl - PARM] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package.Database Package Variable] [FolderOptions\CheckModel\Database Package.Database Package Variable\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\CheckUndefDttp] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type] [FolderOptions\CheckModel\Database Package.Database Package Type\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\UniqueDefinition] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception] [FolderOptions\CheckModel\Database Package.Database Package Exception\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace] [FolderOptions\CheckModel\Tablespace\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\IsObjectUsed] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage] [FolderOptions\CheckModel\Storage\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\IsObjectUsed] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database] [FolderOptions\CheckModel\Database\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\IsObjectUsed] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service] [FolderOptions\CheckModel\Web Service\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation] [FolderOptions\CheckModel\Web Service.Web Operation\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle] [FolderOptions\CheckModel\Lifecycle\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\CheckLifecyclePhase] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\CheckLifecycleRetention] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\CheckPartitionRange] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase] [FolderOptions\CheckModel\Lifecycle.Phase\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseTbspace] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseIQTbspace] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseDuplicateTbspace] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseTbspaceCurrency] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseRetention] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseIdlePeriod] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseDataSource] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseExternalOnFirst] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Replication] [FolderOptions\CheckModel\Replication\PartialReplication] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule] [FolderOptions\CheckModel\Business Rule\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\EmptyColl - OBJCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object] [FolderOptions\CheckModel\Extended Object\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link] [FolderOptions\CheckModel\Extended Link\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File] [FolderOptions\CheckModel\File\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\CheckPathExists] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format] [FolderOptions\CheckModel\Data Format\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\CheckDataFormatNullExpression] CheckSeverity=No FixRequested=No CheckRequested=Yes [ModelOptions] [ModelOptions\Physical Objects] CaseSensitive=No DisplayName=Yes EnableTrans=No UseTerm=No EnableRequirements=No EnableFullShortcut=Yes DefaultDttp= IgnoreOwner=No RebuildTrigger=Yes RefrUnique=No RefrAutoMigrate=Yes RefrMigrateReuse=No RefrMigrateDomain=Yes RefrMigrateCheck=Yes RefrMigrateRule=Yes RefrMigrateExtd=No RefrMigrDefaultLink=No RefrDfltImpl=D RefrPrgtColn=No RefrMigrateToEnd=No RebuildTriggerDep=No ColnFKName=%.3:PARENT%_%COLUMN% ColnFKNameUse=No DomnCopyDttp=Yes DomnCopyChck=No DomnCopyRule=No DomnCopyMand=No DomnCopyExtd=No DomnCopyProf=No Notation=0 DomnDefaultMandatory=No ColnDefaultMandatory=No TablDefaultOwner= ViewDefaultOwner= TrgrDefaultOwnerTabl= TrgrDefaultOwnerView= IdxDefaultOwnerTabl= IdxDefaultOwnerView= JdxDefaultOwner= DBPackDefaultOwner= SeqDefaultOwner= ProcDefaultOwner= DBMSTrgrDefaultOwner= Currency=USD RefrDeleteConstraint=1 RefrUpdateConstraint=1 RefrParentMandatory=No RefrParentChangeAllow=Yes RefrCheckOnCommit=No [ModelOptions\Physical Objects\NamingOptionsTemplates] [ModelOptions\Physical Objects\ClssNamingOptions] [ModelOptions\Physical Objects\ClssNamingOptions\PDMPCKG] [ModelOptions\Physical Objects\ClssNamingOptions\PDMPCKG\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\PDMPCKG\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\PDMDOMN] [ModelOptions\Physical Objects\ClssNamingOptions\PDMDOMN\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\PDMDOMN\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\TABL] [ModelOptions\Physical Objects\ClssNamingOptions\TABL\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\TABL\Code] Template= MaxLen=64 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\COLN] [ModelOptions\Physical Objects\ClssNamingOptions\COLN\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\COLN\Code] Template= MaxLen=64 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\INDX] [ModelOptions\Physical Objects\ClssNamingOptions\INDX\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\INDX\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\REFR] [ModelOptions\Physical Objects\ClssNamingOptions\REFR\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\REFR\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VREF] [ModelOptions\Physical Objects\ClssNamingOptions\VREF\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VREF\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VIEW] [ModelOptions\Physical Objects\ClssNamingOptions\VIEW\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VIEW\Code] Template= MaxLen=64 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VIEWC] [ModelOptions\Physical Objects\ClssNamingOptions\VIEWC\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VIEWC\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WEBSERV] [ModelOptions\Physical Objects\ClssNamingOptions\WEBSERV\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WEBSERV\Code] Template= MaxLen=254 Case=M ValidChar='a'-'z','A'-'Z','0'-'9',"/-_.!~*'()" InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WEBOP] [ModelOptions\Physical Objects\ClssNamingOptions\WEBOP\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WEBOP\Code] Template= MaxLen=254 Case=M ValidChar='a'-'z','A'-'Z','0'-'9',"/-_.!~*'()" InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WPARAM] [ModelOptions\Physical Objects\ClssNamingOptions\WPARAM\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WPARAM\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FACT] [ModelOptions\Physical Objects\ClssNamingOptions\FACT\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FACT\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DIMN] [ModelOptions\Physical Objects\ClssNamingOptions\DIMN\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DIMN\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\MEAS] [ModelOptions\Physical Objects\ClssNamingOptions\MEAS\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\MEAS\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DATTR] [ModelOptions\Physical Objects\ClssNamingOptions\DATTR\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DATTR\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FILO] [ModelOptions\Physical Objects\ClssNamingOptions\FILO\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FILO\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FRMEOBJ] [ModelOptions\Physical Objects\ClssNamingOptions\FRMEOBJ\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FRMEOBJ\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FRMELNK] [ModelOptions\Physical Objects\ClssNamingOptions\FRMELNK\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FRMELNK\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DefaultClass] [ModelOptions\Physical Objects\ClssNamingOptions\DefaultClass\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DefaultClass\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Connection] [ModelOptions\Pdm] [ModelOptions\Generate] [ModelOptions\Generate\Xsm] GenRootElement=Yes GenComplexType=No GenAttribute=Yes CheckModel=Yes SaveLinks=Yes ORMapping=No NameToCode=No [ModelOptions\Generate\Pdm] RRMapping=No [ModelOptions\Generate\Cdm] CheckModel=Yes SaveLinks=Yes NameToCode=No Notation=2 [ModelOptions\Generate\Oom] CheckModel=Yes SaveLinks=Yes ORMapping=No NameToCode=Yes ClassPrefix= [ModelOptions\Generate\Ldm] CheckModel=Yes SaveLinks=Yes NameToCode=No [ModelOptions\Default Opts] [ModelOptions\Default Opts\TABL] PhysOpts= [ModelOptions\Default Opts\COLN] PhysOpts= [ModelOptions\Default Opts\INDX] PhysOpts= [ModelOptions\Default Opts\AKEY] PhysOpts= [ModelOptions\Default Opts\PKEY] PhysOpts= [ModelOptions\Default Opts\STOR] PhysOpts= [ModelOptions\Default Opts\TSPC] PhysOpts= [ModelOptions\Default Opts\SQNC] PhysOpts= [ModelOptions\Default Opts\DTBS] PhysOpts= [ModelOptions\Default Opts\USER] PhysOpts= [ModelOptions\Default Opts\JIDX] PhysOpts= 14D4F090-917F-4538-8687-B423AA42B832 MySQL 5.0 MYSQL50 1521705583 zhenghong 1521705583 zhenghong F4F16ECD-F2F1-4006-AF6F-638D5C65F35E 4BA9F647-DAB1-11D1-9944-006097355D9B 137EC109-4534-4C7A-BB72-091B8362EA59 diagram diagram 1521705583 zhenghong 1580869150 zhenghong [DisplayPreferences] [DisplayPreferences\PDM] [DisplayPreferences\General] Adjust to text=Yes Snap Grid=No Constrain Labels=Yes Display Grid=No Show Page Delimiter=Yes Show Links intersections=Yes Activate automatic link routing=Yes Grid size=800 Graphic unit=2 Window color=255 255 255 Background image= Background mode=8 Watermark image= Watermark mode=8 Show watermark on screen=No Gradient mode=0 Gradient end color=255 255 255 Show Swimlane=No SwimlaneVert=Yes TreeVert=No CompDark=0 [DisplayPreferences\Object] Show Icon=No Mode=2 Trunc Length=40 Word Length=40 Word Text=!"#$%&')*+,-./:;=>?@\]^_`|}~ Shortcut IntIcon=Yes Shortcut IntLoct=Yes Shortcut IntFullPath=No Shortcut IntLastPackage=Yes Shortcut ExtIcon=Yes Shortcut ExtLoct=No Shortcut ExtFullPath=No Shortcut ExtLastPackage=Yes Shortcut ExtIncludeModl=Yes EObjShowStrn=Yes ExtendedObject.Comment=No ExtendedObject.IconPicture=No ExtendedObject.TextStyle=No ExtendedObject_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Object Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <Separator Name="Separator" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> ELnkShowStrn=Yes ELnkShowName=Yes ExtendedLink_SymbolLayout=<Form>[CRLF] <Form Name="Center" >[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF] <Form Name="Source" >[CRLF] </Form>[CRLF] <Form Name="Destination" >[CRLF] </Form>[CRLF]</Form> FileObject.Stereotype=No FileObject.DisplayName=Yes FileObject.LocationOrName=No FileObject.IconPicture=No FileObject.TextStyle=No FileObject.IconMode=Yes FileObject_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="Yes" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Location" Attribute="LocationOrName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> Package.Stereotype=Yes Package.Comment=No Package.IconPicture=No Package.TextStyle=No Package_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <Separator Name="Separator" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> Display Model Version=Yes Table.Stereotype=Yes Table.DisplayName=Yes Table.OwnerDisplayName=No Table.Columns=Yes Table.Columns._Filter="All Columns" PDMCOLNALL Table.Columns._Columns=Stereotype DataType KeyIndicator Table.Columns._Limit=-5 Table.Keys=No Table.Keys._Columns=Stereotype Indicator Table.Indexes=No Table.Indexes._Columns=Stereotype Table.Triggers=No Table.Triggers._Columns=Stereotype Table.Comment=No Table.IconPicture=No Table.TextStyle=No Table_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="Yes" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Owner and Name" Attribute="OwnerDisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <Separator Name="Separator" />[CRLF] <StandardCollection Name="Columns" Collection="Columns" Columns="Stereotype No\r\nDisplayName Yes\r\nDataType No\r\nSymbolDataType No &quot;Domain or Data type&quot;\r\nDomain No\r\nKeyIndicator No\r\nIndexIndicator No\r\nNullStatus No" Filters="&quot;All Columns&quot; PDMCOLNALL &quot;&quot;\r\n&quot;PK Columns&quot; PDMCOLNPK &quot;\&quot;PRIM \&quot;TRUE\&quot; TRUE\&quot;&quot;\r\n&quot;Key Columns&quot; PDMCOLNKEY &quot;\&quot;KEYS \&quot;TRUE\&quot; TRUE\&quot;&quot;" HasLimit="Yes" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Keys" Collection="Keys" Columns="Stereotype No\r\nDisplayName Yes\r\nIndicator No" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Indexes" Collection="Indexes" Columns="Stereotype No\r\nDisplayName Yes\r\nIndicator No" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Triggers" Collection="Triggers" Columns="Stereotype No\r\nDisplayName Yes" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> View.Stereotype=Yes View.DisplayName=Yes View.OwnerDisplayName=No View.Columns=Yes View.Columns._Columns=DisplayName View.Columns._Limit=-5 View.TemporaryVTables=Yes View.Indexes=No View.Comment=No View.IconPicture=No View.TextStyle=No View_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="Yes" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Owner and Name" Attribute="OwnerDisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <Separator Name="Separator" />[CRLF] <StandardCollection Name="Columns" Collection="Columns" Columns="DisplayName No\r\nExpression No\r\nDataType No\r\nSymbolDataType No &quot;Domain or Data type&quot;\r\nIndexIndicator No" HasLimit="Yes" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Tables" Collection="TemporaryVTables" Columns="Name Yes" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Indexes" Collection="Indexes" Columns="DisplayName Yes" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> Procedure.Stereotype=No Procedure.DisplayName=Yes Procedure.OwnerDisplayName=No Procedure.Comment=No Procedure.IconPicture=No Procedure.TextStyle=No Procedure_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="Yes" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Owner and Name" Attribute="OwnerDisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <Separator Name="Separator" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> Reference.Cardinality=No Reference.ImplementationType=No Reference.ChildRole=Yes Reference.Stereotype=Yes Reference.DisplayName=No Reference.ForeignKeyConstraintName=No Reference.JoinExpression=No Reference.Integrity=No Reference.ParentRole=Yes Reference_SymbolLayout=<Form>[CRLF] <Form Name="Source" >[CRLF] <StandardAttribute Name="Cardinality" Attribute="Cardinality" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Implementation" Attribute="ImplementationType" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Child Role" Attribute="ChildRole" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF] <Form Name="Center" >[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="No" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Cons&amp;traint Name" Attribute="ForeignKeyConstraintName" Prefix="" Suffix="" Caption="Cons&amp;traint Name" Mandatory="No" />[CRLF] <StandardAttribute Name="Join" Attribute="JoinExpression" Prefix="" Suffix="" Caption="Join" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <StandardAttribute Name="Referential integrity" Attribute="Integrity" Prefix="" Suffix="" Caption="Referential integrity" Mandatory="No" />[CRLF] </Form>[CRLF] <Form Name="Destination" >[CRLF] <StandardAttribute Name="Parent Role" Attribute="ParentRole" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF]</Form> ViewReference.ChildRole=Yes ViewReference.Stereotype=Yes ViewReference.DisplayName=No ViewReference.JoinExpression=No ViewReference.ParentRole=Yes ViewReference_SymbolLayout=<Form>[CRLF] <Form Name="Source" >[CRLF] <StandardAttribute Name="Child Role" Attribute="ChildRole" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF] <Form Name="Center" >[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="No" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Join Expression" Attribute="JoinExpression" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] </Form>[CRLF] <Form Name="Destination" >[CRLF] <StandardAttribute Name="Parent Role" Attribute="ParentRole" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF]</Form> [DisplayPreferences\Symbol] [DisplayPreferences\Symbol\FRMEOBJ] STRNFont=新宋体,8,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=6000 Height=2000 Brush color=255 255 255 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=64 Brush gradient color=192 192 192 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 255 128 128 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\FRMELNK] CENTERFont=新宋体,8,N CENTERFont color=0 0 0 Line style=1 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 128 128 255 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\FILO] OBJSTRNFont=新宋体,8,N OBJSTRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 LCNMFont=新宋体,8,N LCNMFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4800 Height=3600 Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 0 0 255 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\PDMPCKG] STRNFont=新宋体,8,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4800 Height=4000 Brush color=255 255 192 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=65 Brush gradient color=255 255 255 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 178 178 178 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\TABL] STRNFont=新宋体,10,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 OWNRDISPNAMEFont=新宋体,8,N OWNRDISPNAMEFont color=0 0 0 ColumnsFont=新宋体,8,N ColumnsFont color=0 0 0 TablePkColumnsFont=新宋体,8,U TablePkColumnsFont color=0 0 0 TableFkColumnsFont=新宋体,8,N TableFkColumnsFont color=0 0 0 KeysFont=新宋体,8,N KeysFont color=0 0 0 IndexesFont=新宋体,8,N IndexesFont color=0 0 0 TriggersFont=新宋体,8,N TriggersFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4800 Height=4000 Brush color=178 214 252 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=65 Brush gradient color=255 255 255 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 0 128 192 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\VIEW] STRNFont=新宋体,8,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 OWNRDISPNAMEFont=新宋体,8,N OWNRDISPNAMEFont color=0 0 0 ColumnsFont=新宋体,8,N ColumnsFont color=0 0 0 TablePkColumnsFont=新宋体,8,U TablePkColumnsFont color=0 0 0 TableFkColumnsFont=新宋体,8,N TableFkColumnsFont color=0 0 0 TemporaryVTablesFont=新宋体,8,N TemporaryVTablesFont color=0 0 0 IndexesFont=新宋体,8,N IndexesFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4800 Height=4000 Brush color=208 208 255 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=65 Brush gradient color=255 255 255 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 128 128 192 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\PROC] STRNFont=新宋体,8,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 OWNRDISPNAMEFont=新宋体,8,N OWNRDISPNAMEFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4000 Height=1000 Brush color=255 255 192 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=65 Brush gradient color=255 255 255 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 128 108 0 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\REFR] SOURCEFont=新宋体,8,N SOURCEFont color=0 0 0 CENTERFont=新宋体,8,N CENTERFont color=0 0 0 DESTINATIONFont=新宋体,8,N DESTINATIONFont color=0 0 0 Line style=1 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 0 128 192 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\VREF] SOURCEFont=新宋体,8,N SOURCEFont color=0 0 0 CENTERFont=新宋体,8,N CENTERFont color=0 0 0 DESTINATIONFont=新宋体,8,N DESTINATIONFont color=0 0 0 Line style=1 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 128 128 192 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\USRDEPD] OBJXSTRFont=新宋体,8,N OBJXSTRFont color=0 0 0 Line style=1 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=2 0 128 128 255 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\Free Symbol] Free TextFont=新宋体,8,N Free TextFont color=0 0 0 Line style=0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 0 0 255 Shadow color=192 192 192 Shadow=0 (2280, 128972) ((315,354), (433,354)) 1 15 1521706257 1522399274 ((118,137911), (3606,139161)) ((518,138536),(3206,138536)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521710488 1522301998 ((-32542,131813), (-18882,146342)) ((-32142,145942),(-32142,132438),(-19282,132438)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521770349 1522399160 ((-19307,147483), (-18057,152962)) ((-18682,152562),(-18682,147883)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521771362 1522722888 ((-2768,147483), (-1518,154573)) ((-2143,154173),(-2143,147883)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521773101 1522399245 ((118,145689), (8052,147828)) ((518,146089),(4085,146089),(4085,147203),(7652,147203)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521783613 1522301998 ((-36148,140470), (-18882,141720)) ((-19282,141095),(-35748,141095)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521791466 1522721783 ((-35006,116007), (-18882,117257)) ((-34606,116632),(-19282,116632)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521792428 1522721669 ((-37186,123158), (-18882,124408)) ((-36786,123783),(-19282,123783)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521792909 1522721672 ((-36959,130601), (-18882,131851)) ((-36559,131226),(-19282,131226)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522045168 1522399263 ((26779,91096), (28029,95555)) ((27404,91496),(27404,95155)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522046100 1522399263 ((118,99478), (28233,125231)) ((518,124831),(27608,124831),(27608,99878)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522046451 1522399258 ((-10672,88961), (-7729,112209)) ((-8129,89361),(-10047,89361),(-10047,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522046456 1522399261 ((6477,85210), (12264,86460)) ((6877,85835),(11864,85835)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522112691 1522399105 ((-41320,55031), (-36214,56281)) ((-36614,55656),(-40920,55656)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522112694 1522399105 ((-16713,57856), (-15463,112209)) ((-16088,58256),(-16088,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522114406 1522399245 ((16796,151962), (26808,154513)) ((18480,152362),(26408,152362),(26408,153888),(17196,153888)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 4 1522115961 1522399266 ((16844,105298), (20156,145559)) ((17244,105698),(19531,105698),(19531,145159)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522115983 1522399266 ((11839,91096), (13089,104099)) ((12464,103699),(12464,91496)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522118676 1522721912 ((-21193,102395), (-18057,112209)) ((-20793,102795),(-18682,102795),(-18682,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522119056 1522721912 ((-37481,102138), (-32899,103388)) ((-37081,102763),(-33299,102763)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522120295 1522399221 ((-24810,167598), (-19344,168848)) ((-19744,168223),(-24410,168223)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522138613 1522399095 ((-24954,40604), (-19115,41854)) ((-19515,41229),(-24554,41229)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522138618 1522399095 ((-34348,42015), (-12721,130651)) ((-13121,42415),(-13121,75553),(-33948,75553),(-33948,130026),(-19282,130026)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522138705 1522399092 ((-43671,34853), (-38546,36103)) ((-38946,35478),(-43271,35478)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522141157 1522399066 ((-25433,19586), (-17431,20836)) ((-17831,20211),(-25033,20211)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522141232 1522399094 ((-43321,40604), (-38546,41854)) ((-42921,41229),(-38946,41229)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522141316 1522399068 ((-44663,18136), (-38253,19386)) ((-38653,18761),(-44263,18761)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522142006 1522399038 ((-42272,4919), (-33459,6169)) ((-41872,5544),(-33859,5544)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522215975 1522398810 ((62000,154589), (65163,155839)) ((62400,155214),(64763,155214)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522216015 1522398810 ((118,129221), (50900,156036)) ((50500,155636),(41338,155636),(41338,129846),(518,129846)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522216251 1522398808 ((62486,144990), (65163,146240)) ((62886,145615),(64763,145615)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522216380 1522399245 ((20100,145134), (46631,146384)) ((46231,145759),(20500,145759)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522220508 1541490687 ((77597,148397), (88375,149647)) ((87975,149022),(77997,149022)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522220546 1541490615 ((59369,64259), (99115,147363)) ((98715,146963),(98715,64884),(59769,64884)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522224364 1522399274 ((18744,122602), (80891,138598)) ((80491,123002),(74505,123002),(74505,137973),(19144,137973)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522225874 1522398795 ((118,126647), (80417,130069)) ((80017,129669),(72926,129669),(72926,127272),(518,127272)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522226077 1522398792 ((118,130712), (79609,136199)) ((79209,135799),(38938,135799),(38938,131337),(518,131337)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522226272 1522399075 ((-38306,48140), (83441,113756)) ((83041,113356),(83041,94555),(-37681,94555),(-37681,48540)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522303390 1542180981 ((56152,72245), (57402,98630)) ((56777,98230),(56777,72645)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522303410 1542180981 ((-9472,101195), (50367,112209)) ((49967,101595),(-8847,101595),(-8847,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522304178 1538200596 ((35098,10654), (42842,11904)) ((35498,11279),(42442,11279)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522386868 1522398605 ((36870,42888), (49607,52723)) ((49207,52323),(49207,43513),(37270,43513)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522387461 1522399143 ((50982,72245), (52232,75672)) ((51607,75272),(51607,72645)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522387526 1522399245 ((20100,78871), (40538,151445)) ((40138,79271),(40138,150820),(20500,150820)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522389232 1522398872 ((33605,58216), (43845,60017)) ((34005,59617),(34005,58841),(43445,58841)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 2 1522390434 1522398601 ((33005,54232), (43845,55482)) ((33405,54857),(43445,54857)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522390644 1522398535 ((33522,26819), (52232,52723)) ((33922,27219),(51607,27219),(51607,52323)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522391366 1522398601 ((59369,61859), (62562,63109)) ((62162,62484),(59769,62484)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522391379 1522398616 ((69534,56429), (70784,60444)) ((70159,60044),(70159,56829)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522396648 1522398621 ((52182,34420), (64724,52723)) ((64324,34820),(52807,34820),(52807,52323)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522396864 1522398618 ((53382,44918), (64185,52723)) ((63785,45318),(54007,45318),(54007,52323)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522659209 1522724919 ((-101497,31459), (51032,102938)) ((-101097,102538),(-101097,31859),(50407,31859),(50407,52323)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522660753 1522724919 ((-90857,129887), (-79217,131137)) ((-79617,130512),(-90457,130512)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522660820 1522719674 ((-64973,127931), (-18882,129181)) ((-64573,128556),(-19282,128556)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522721755 1522721783 ((-55169,48103), (20574,117096)) ((-49770,116696),(-54769,116696),(-54769,48728),(20174,48728)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522724329 1522724329 ((-100297,77071), (65163,153166)) ((-99897,102538),(-99897,77471),(35821,77471),(35821,152541),(64763,152541)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522725331 1522725331 ((-90857,117058), (-77798,118308)) ((-78198,117683),(-90457,117683)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522733188 1539745800 ((-90857,102513), (-73424,103763)) ((-73824,103138),(-90457,103138)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522745521 1539745800 ((-84902,89423), (-73424,90673)) ((-73824,90048),(-84502,90048)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1533109967 1533110262 ((-119919,81722), (-12496,112209)) ((-119519,94842),(-119519,82122),(-13121,82122),(-13121,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1533115827 1533116074 ((-112642,102747), (-38745,153053)) ((-112242,103147),(-109969,103147),(-109969,152428),(-39145,152428)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1533115888 1533115888 ((-121119,61859), (43845,95242)) ((-120719,94842),(-120719,78671),(37870,78671),(37870,62484),(43445,62484)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202362 1580624566 ((25795,-5333), (33632,-148)) ((26195,-2272),(26195,-548),(32832,-548),(32832,-4708),(32232,-4708)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 4 1538202471 1580609625 ((54116,11057), (59346,12307)) ((58946,11682),(54516,11682)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202492 1580609625 ((65496,8109), (66746,11214)) ((66121,10814),(66121,8509)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202586 1580624567 ((46201,-5622), (66746,1711)) ((46601,-5222),(66121,-5222),(66121,1311)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202588 1580624567 ((31832,-6533), (34857,-5283)) ((34457,-5908),(32232,-5908)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202927 1580624563 ((31729,2823), (42842,4073)) ((32129,3448),(42442,3448)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202929 1580624566 ((24370,-2672), (25620,1487)) ((24995,1087),(24995,-2272)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1539746524 1539746524 ((-65536,108004), (-18882,114533)) ((-65136,108404),(-65136,113908),(-19282,113908)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1541490540 1541490615 ((-90857,91755), (97915,147363)) ((97515,146963),(97515,92155),(-20193,92155),(-20193,111251),(-90457,111251)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1542179374 1542180977 ((47632,114935), (48882,118924)) ((48257,115335),(48257,118524)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1542179394 1542180977 ((64837,114935), (66087,117902)) ((65462,115335),(65462,117502)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1542179438 1542180977 ((118,111784), (42403,113034)) ((42003,112409),(518,112409)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580625109 1580625137 ((83723,16521), (99015,25885)) ((86540,16921),(86540,25485),(98615,25485),(98615,20467),(84123,20467)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 4 1580625333 1580625381 ((71758,1788), (77807,3038)) ((77407,2413),(72158,2413)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580625352 1580625378 ((81744,4384), (82994,12281)) ((82369,4784),(82369,11881)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580625421 1580625458 ((71758,4759), (92510,6009)) ((92110,5384),(72158,5384)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580625435 1581324463 ((95430,5190), (96680,9775)) ((96055,5590),(96055,9375)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580869150 1581324463 ((101766,14015), (107589,15265)) ((102166,14640),(107189,14640)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521705853 1524811003 -1 ((-19282,111809), (518,147883)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521706107 1522399274 -1 ((3206,132976), (19144,143474)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 Table.Stereotype 1 Table.DisplayName 1 Table.OwnerDisplayName 0 Table.Columns 1 -5 "All Columns" PDMCOLNALL Stereotype DataType KeyIndicator Table.Keys 0 0 "" "" Stereotype Indicator Table.Indexes 0 0 "" "" Stereotype Table.Triggers 0 0 "" "" Stereotype Table.Comment 0 1521709482 1582277412 -1 ((-39145,145942), (-25139,158914)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521710820 1522399160 -1 ((-25547,152562), (-13473,158934)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521770649 1522722888 -1 ((-9920,154173), (5632,165495)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521773028 1522399245 -1 ((7652,145159), (20500,156481)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521782818 1522116249 -1 ((-49754,136272), (-35748,144294)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521791032 1528184156 -1 ((-49770,113922), (-34606,119470)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521791865 1522721669 -1 ((-48860,121016), (-36786,126564)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521791901 1522721672 -1 ((-49407,129426), (-36559,134150)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522044163 1522399263 -1 ((20787,95155), (34021,99878)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522044465 1522399261 -1 ((11864,80174), (30892,91496)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522046351 1524811003 -1 ((-8675,84638), (6877,89361)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522050428 1522399063 -1 ((-38653,14550), (-25033,25872)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522112533 1522399103 -1 ((-53768,52470), (-40920,58842)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522112617 1522399105 -1 ((-36614,53594), (-15488,58256)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522115893 1522399266 -1 ((378,103699), (17244,107698)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522118136 1522721912 -1 ((-33299,95709), (-20793,109817)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522118840 1522721910 -1 ((-49529,99005), (-37081,106855)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522120039 1522399218 -1 ((-36872,165037), (-24410,171409)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522120250 1522399221 -1 ((-19744,166032), (-8442,170031)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522138190 1542086220 -1 ((-38946,33918), (-24554,48540)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522138561 1522399095 -1 ((-19515,38416), (-6728,42415)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522138655 1522399092 -1 ((-56119,32459), (-43271,38831)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522139643 1522399094 -1 ((-55369,40423), (-42921,47585)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522141104 1522399066 -1 ((-17831,15073), (-5383,22235)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522141269 1522399068 -1 ((-57111,15575), (-44263,21947)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522141745 1522399038 -1 ((-50946,1067), (-41872,9775)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522141950 1522399038 -1 ((-33859,2358), (-21783,8730)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522142154 1522399038 -1 ((-14870,1448), (-1842,9470)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522215010 1541748859 -1 ((64763,140885), (77997,157159)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522215792 1522398810 -1 ((50500,153048), (62400,157047)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522216155 1522398808 -1 ((46231,143710), (62886,147709)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522217089 1541490687 -1 ((87975,146963), (103049,157789)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522217487 1522398601 -1 ((43445,52323), (59769,72645)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522223818 1522398796 -1 ((80491,120228), (94111,125776)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522224403 1522398795 -1 ((80017,126895), (93637,132443)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522226008 1522398792 -1 ((79209,133025), (92829,138573)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522226140 1522398801 -1 ((81729,113356), (95349,118904)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522227700 1542179018 -1 ((84563,94201), (96637,105523)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522300652 1542180972 -1 ((42220,118524), (54294,124896)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522303116 1542180981 -1 ((49967,98230), (63587,105428)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522303730 1538200596 -1 ((42442,2610), (54516,12282)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522303928 1522398635 -1 ((23424,7923), (35498,14295)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522379808 1522398605 -1 ((20174,37439), (37270,49587)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522387387 1522399143 -1 ((38718,75272), (55734,79271)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522387906 1522398872 -1 ((20470,59617), (36794,74239)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522390106 1535437026 -1 ((20171,50021), (33405,59693)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522390511 1522398535 -1 ((22234,23620), (33922,30818)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522390830 1522398616 -1 ((62383,52106), (77935,56829)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522391304 1522398550 -1 ((62162,60044), (74010,64043)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522396385 1522398621 -1 ((64324,30809), (76786,38831)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522396809 1522398618 -1 ((63785,41307), (76247,49329)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522397182 1522398632 -1 ((60231,18019), (72693,23567)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522397511 1522398629 -1 ((41533,16306), (57085,23504)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522398032 1535615091 -1 ((22716,17129), (36336,22677)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522658325 1522724919 -1 ((-109337,102538), (-90457,132828)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522660695 1522723641 -1 ((-79617,123965), (-64573,137059)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522724973 1522725331 -1 ((-78198,113051), (-65736,119423)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522726076 1522732894 -1 ((-125389,125206), (-111769,131578)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522732897 1539745800 -1 ((-73824,83922), (-57114,108404)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522745162 1522745515 -1 ((-97736,85264), (-84502,94832)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522745726 1522745726 -1 ((-125978,117636), (-113904,123184)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1533108597 1533116074 -1 ((-126796,94842), (-112242,111452)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1538200619 1538202954 -1 ((60084,1311), (72158,8509)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1538201545 1580624566 -1 ((20158,-11944), (32232,-2272)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1538202419 1580609625 -1 ((58946,10814), (73218,15337)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1538202537 1580624567 -1 ((34457,-7542), (46601,-2903)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1538202617 1580624563 -1 ((20655,1087), (32129,5810)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1542177985 1542179426 -1 ((57941,117502), (72983,124214)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1542179013 1542180977 -1 ((42003,107173), (68001,115335)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580624574 1580625137 -1 ((76332,11881), (88406,21427)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580624625 1581324463 -1 ((89944,9375), (102166,16974)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580624663 1580625381 -1 ((77407,42), (87097,4784)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580624686 1580625458 -1 ((92110,601), (102656,5590)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580869056 1580869177 -1 ((107189,12279), (119263,17002)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 164FB8D9-0905-474E-87B0-2A812FEB067D pms_product pms_product 1521705853 zhenghong 1542179559 zhenghong 商品信息 8AF7359B-13B5-4473-A6E3-242871D32BD6 id id 1521705876 zhenghong 1542179474 zhenghong bigint 1 1 B6BFD1D9-71C4-49F0-A761-EB23FDF9EF89 brand_id brand_id 1521706257 zhenghong 1521706277 zhenghong bigint EFA57D19-DB53-47A2-9E13-6F237D2B8765 product_category_id product_category_id 1521773101 zhenghong 1521773123 zhenghong bigint 9E4E0B0C-6DC6-4602-A1BB-BEF479CC25B4 feight_template_id feight_template_id 1521783613 zhenghong 1521783636 zhenghong bigint 122FA791-93A8-4854-AB3B-87B68387B78D product_attribute_category_id product_attribute_category_id 1522046100 zhenghong 1522046125 zhenghong bigint C67A0956-CA1B-4ADF-878F-13B1538C122A name name 1521705899 zhenghong 1521771550 zhenghong varchar(64) 64 1 EC9E5B4D-23BF-425E-9781-90BD8BC6D802 pic pic 1521705899 zhenghong 1521770319 zhenghong varchar(255) 255 BAAD6FF5-DD35-4EFA-8B78-E4DB32CCFC06 product_sn product_sn 1521706312 zhenghong 1521771591 zhenghong 货号 varchar(64) 64 1 FC369A8B-64C8-4931-A1E2-80F902E4FE4A delete_status delete_status 1521773185 zhenghong 1521773247 zhenghong 删除状态:0->未删除;1->已删除 int(1) 1 12E77491-5C20-442C-9E04-DE7192B496D3 publish_status publish_status 1521706416 zhenghong 1521708284 zhenghong 上架状态:0->下架;1->上架 int(1) 1 7E4B57E7-DCCD-4D96-93E0-E3A2E0D9B2F8 new_status new_status 1521708193 zhenghong 1521708312 zhenghong 新品状态:0->不是新品;1->新品 int(1) 1 C32DF9EC-A332-4DB2-A56B-74E0F6168FF1 recommand_status recommand_status 1521708193 zhenghong 1521708410 zhenghong 推荐状态;0->不推荐;1->推荐 int(1) 1 47876735-91B4-42FC-A052-22640AC057D8 verify_status verify_status 1521710674 zhenghong 1521710725 zhenghong 审核状态:0->未审核;1->审核通过 int(1) 1 07A57EB8-410D-4E59-AD0C-8A1AD4DD3951 sort sort 1521708381 zhenghong 1521708544 zhenghong 排序 int 93478201-C851-481D-B110-56414379F2A3 sale sale 1521710587 zhenghong 1521710613 zhenghong 销量 int C5845093-F658-46C1-B381-6585F2337029 price price 1521706312 zhenghong 1521706372 zhenghong decimal(10,2) 10 2 8A8C872F-23FC-42E2-BC8F-EA4374E0C4ED promotion_price promotion_price 1521770729 zhenghong 1522720423 zhenghong 促销价格 decimal(10,2) 10 2 DADE2195-8B3B-42F2-9C5A-847124C0C327 gift_growth gift_growth 1527561524 zhenghong 1535963779 zhenghong 赠送的成长值 0 int 9ECDB8CD-593F-431C-B580-756BC29F0E69 gift_point gift_point 1521771016 zhenghong 1535963789 zhenghong 赠送的积分 0 int 1C3E16DC-0AB6-489F-83D6-CB92058E8AD6 use_point_limit use_point_limit 1521771103 zhenghong 1521771156 zhenghong 限制使用的积分数 int 8DBA22FF-9FEF-4E36-8B0D-D0712EB1AFDD sub_title sub_title 1521773700 zhenghong 1521773733 zhenghong 副标题 varchar(255) 255 074C30CA-F802-4EA3-8B92-AE332D8FE237 description description 1521774517 zhenghong 1521791536 zhenghong 商品描述 text 50335AAB-9D8F-4794-A706-A51E04285498 original_price original_price 1521775224 zhenghong 1521775254 zhenghong 市场价 decimal(10,2) 10 2 F1511198-BFDC-4CA7-A79F-6BEA7863E4CA stock stock 1521775417 zhenghong 1521775449 zhenghong 库存 int 9B83BF24-B43F-41AE-93AA-6E9723B41F3D low_stock low_stock 1521775417 zhenghong 1521775458 zhenghong 库存预警值 int 29B50C2C-38C6-4080-83F7-309CC040B9D3 unit unit 1521775486 zhenghong 1521775515 zhenghong 单位 varchar(16) 16 F07F26B4-DC76-4F4D-8FF7-6E299DAE613A weight weight 1521775567 zhenghong 1521775649 zhenghong 商品重量,默认为克 decimal(10,2) 10 2 730DF7D7-E307-4039-BFD4-04B4E145776D preview_status preview_status 1521782409 zhenghong 1521782456 zhenghong 是否为预告商品:0->不是;1->是 int(1) 1 BB566C0D-3C0A-42EB-AAFE-89E56EDB5AF3 service_ids service_ids 1521783875 zhenghong 1521784127 zhenghong 以逗号分割的产品服务:1->无忧退货;2->快速退款;3->免费包邮 varchar(64) 64 25E62F7C-D9D8-4B61-8337-7A94F4A1F969 keywords keywords 1521784236 zhenghong 1521784353 zhenghong varchar(255) 255 730BAD96-E459-412D-B812-E9BDBDF6DC1B note note 1521784236 zhenghong 1521784353 zhenghong varchar(255) 255 22BBCF62-4B72-4C69-BFE1-81F1378D4703 album_pics album_pics 1522046916 zhenghong 1522046981 zhenghong 画册图片,连产品图片限制为5张,以逗号分割 varchar(255) 255 27D69BFE-AEE5-4095-9688-3F11B0A3F5B3 detail_title detail_title 1521784236 zhenghong 1521784353 zhenghong varchar(255) 255 66C1D3B2-DFB9-472B-9B46-054F4A995EC8 detail_desc detail_desc 1521784236 zhenghong 1521784353 zhenghong text 4407B70B-168F-489C-86FC-913130573035 detail_html detail_html 1522047002 zhenghong 1522047039 zhenghong 产品详情网页内容 text A16D766A-2FAC-4806-B5B6-7BCE643BD125 detail_mobile_html detail_mobile_html 1522047022 zhenghong 1522047069 zhenghong 移动端网页详情 text 125B7984-46F6-4A6B-986E-637075A7B792 promotion_start_time promotion_start_time 1522721079 zhenghong 1522721101 zhenghong 促销开始时间 datetime CD7F32DC-B2C4-4F0B-86A6-C3EF8BBC11E4 promotion_end_time promotion_end_time 1522721096 zhenghong 1522721135 zhenghong 促销结束时间 datetime AF663519-4F0B-438D-9F86-A3B4494C91B5 promotion_per_limit promotion_per_limit 1522721333 zhenghong 1522721377 zhenghong 活动限购数量 int 2870F419-7F16-4C2C-BEE8-69AD3C322429 promotion_type promotion_type 1522721953 zhenghong 1542179623 zhenghong 促销类型:0->没有促销使用原价;1->使用促销价;2->使用会员价;3->使用阶梯价格;4->使用满减价格;5->限时购 int(1) 1 BC8E43C1-F35D-4BA2-A622-D282035B08CF product_category_name product_category_name 1524810975 zhenghong 1524811010 zhenghong 产品分类名称 varchar(255) 255 7B4B3817-5E34-476B-B9DF-20FC181A2FC4 brand_name brand_name 1524811003 zhenghong 1524811036 zhenghong 品牌名称 varchar(255) 255 8FF04A0E-BF3D-4A1B-B05D-FAD79976F256 Key_1 Key_1 1521705876 zhenghong 1542179474 zhenghong C003EAE8-4D2B-4CD2-910D-617ED63DCFDE index_name index_name 1521771497 zhenghong 1521771550 zhenghong F55EF3D5-E93C-4AAE-95BE-5E91AD084511 1521771542 zhenghong 1521771550 zhenghong EC80C139-CCE0-49CF-AF77-52A1C35DC8AC index_product_sn index_product_sn 1521771497 zhenghong 1521772268 zhenghong 1 D0E6B1E9-C1D3-40AD-BCA6-928C253C57CC 1521771579 zhenghong 1521771591 zhenghong 8DB91C27-0C0C-42C1-9C82-B99A752DFFDE pms_brand pms_brand 1521706107 zhenghong 1522116692 zhenghong 品牌表 BA330DA5-20D1-42FB-A362-94D07D30A4B6 id id 1521706123 zhenghong 1521706154 zhenghong bigint 1 1 45F3DFE2-8F5D-4CDF-9FE5-4A6904BB07D4 name name 1521706148 zhenghong 1521706194 zhenghong varchar(64) 64 CDFF668D-2DBA-4D99-8E76-B05114B8EAD7 first_letter first_letter 1522116447 zhenghong 1522116473 zhenghong 首字母 varchar(8) 8 9E323340-1826-471A-93EE-92C45769B194 sort sort 1522116482 zhenghong 1522116540 zhenghong int 97FF98F7-8A09-4C40-8D52-FC32F0021DF9 factory_status factory_status 1522116482 zhenghong 1522116560 zhenghong 是否为品牌制造商:0->不是;1->是 int(1) 1 5F86AE1D-14C6-421F-9065-6B3248678ECF show_status show_status 1522116540 zhenghong 1522116692 zhenghong int(1) 1 A8CA06B3-8F05-4D05-A9E0-B979D053C74A product_count product_count 1522116540 zhenghong 1522116717 zhenghong 产品数量 int F6BC9D0C-3D20-4CB3-B906-0D660320FC88 product_comment_count product_comment_count 1522116540 zhenghong 1522116728 zhenghong 产品评论数量 int 28BF01C1-2534-46E1-8D03-3D1304399694 logo logo 1522116540 zhenghong 1522116744 zhenghong 品牌logo varchar(255) 255 955AC940-E5A2-4791-8DB3-46874F51898B big_pic big_pic 1522116540 zhenghong 1522116821 zhenghong 专区大图 varchar(255) 255 822303EE-A57E-432B-AB93-E9C6B4B67358 brand_story brand_story 1522116540 zhenghong 1522116753 zhenghong 品牌故事 text 12C8D1EF-1F7E-46ED-AD23-4F0BD57F243D Key_1 Key_1 1521706123 zhenghong 1521706148 zhenghong A9A5B46B-D1A3-4619-86D4-AD1A3FF949B1 pms_sku_stock pms_sku_stock 1521709482 zhenghong 1582621117 zhenghong sku的库存 F8A87B5F-1B3E-416A-9AA6-E6330490C79F id id 1521709484 zhenghong 1533115846 zhenghong bigint 1 1 0A9D0B97-8FCA-4D49-9649-6D3A6398F71D product_id product_id 1521710488 zhenghong 1521710505 zhenghong bigint 300133D5-246C-492C-8106-E0464641A1AD sku_code sku_code 1521709695 zhenghong 1522214782 zhenghong sku编码 varchar(64) 64 1 2C098191-D831-42F7-981A-BB5FC58097A3 price price 1521709829 zhenghong 1521709926 zhenghong decimal(10,2) 10 2 F0D06968-A5E5-4A38-82DA-909C1AF9500C stock stock 1521709829 zhenghong 1535619079 zhenghong 库存 0 int 627512CB-E621-46A5-B077-12BB80006181 low_stock low_stock 1521709829 zhenghong 1521709939 zhenghong 预警库存 int 2385F4C5-9983-48B4-9E03-710937E056A4 pic pic 1521710423 zhenghong 1521770332 zhenghong 展示图片 varchar(255) 255 C9AA0DC8-AEE6-4401-AE9A-65B6FD89A608 sale sale 1521710565 zhenghong 1521710584 zhenghong 销量 int F8B829D9-2390-44F9-AE79-B698E94E2F5D promotion_price promotion_price 1534927833 zhenghong 1534927874 zhenghong 单品促销价格 decimal(10,2) 10 2 385D5E74-8D2D-4429-8BF1-1DB7C0ED0E8D lock_stock lock_stock 1534927865 zhenghong 1535619073 zhenghong 锁定库存 0 int 30F35E66-3167-4F75-B0DC-48B30CEC1C4F sp_data sp_data 1582277384 zhenghong 1582277412 zhenghong 商品销售属性,json格式 varchar(500) 500 BF22FDBF-9CF7-4FF4-A579-4C0AAC38A457 Key_1 Key_1 1521709484 zhenghong 1533115846 zhenghong B9FC590F-46F6-4235-8672-FF13B2E50A77 pms_product_vertify_record pms_product_vertify_record 1521710820 zhenghong 1521770349 zhenghong 商品审核记录 530FCADE-4166-42A4-8453-5D874EEC4522 id id 1521710821 zhenghong 1521770174 zhenghong bigint 1 1 7493F171-CA73-4150-A6EA-AB0D8FF46D75 product_id product_id 1521770349 zhenghong 1521770362 zhenghong bigint 9786F28F-F757-486B-93A9-7C5A5E46D950 create_time create_time 1521710821 zhenghong 1521711025 zhenghong datetime 7E1BFDC6-E587-45E4-AE7C-8C3466279D4C vertify_man vertify_man 1521710821 zhenghong 1521711032 zhenghong 审核人 varchar(64) 64 06C38A5C-1977-42C3-A614-B2DF0654BB47 status status 1521710821 zhenghong 1524816533 zhenghong 审核后的状态:0->未通过;2->已通过 int(1) 1 8C61E1D1-7809-4E91-8638-43739274A2CB detail detail 1521710821 zhenghong 1521770161 zhenghong 反馈详情 varchar(255) 255 5AA18CE6-B6B1-4D42-840C-F0ED5A7EE6AC Key_1 Key_1 1521710821 zhenghong 1521711025 zhenghong 9063AF6E-4B68-4106-803C-747646C77EB0 pms_product_operate_log pms_product_operate_log 1521770649 zhenghong 1521771362 zhenghong 715605E0-FA0B-4C2F-87CA-35849F4999B3 id id 1521770770 zhenghong 1521770806 zhenghong bigint 1 1 3DB748F5-8378-4A65-9103-BC4AF0D6CD51 product_id product_id 1521771362 zhenghong 1521771375 zhenghong bigint ED9DDCD5-C1E3-4A0A-A2BF-6AE1FE20479B price_old price_old 1521770804 zhenghong 1521770995 zhenghong decimal(10,2) 10 2 38DD8227-7B0A-4661-A5B4-48AE1CC49CB0 price_new price_new 1521770804 zhenghong 1521770995 zhenghong decimal(10,2) 10 2 25E58A65-F4B3-4A38-BF9F-B4951F1D2A52 sale_price_old sale_price_old 1521770804 zhenghong 1521770995 zhenghong decimal(10,2) 10 2 A2768BA1-44DB-4DA5-8E18-42AE3A6181FD sale_price_new sale_price_new 1521770804 zhenghong 1521770995 zhenghong decimal(10,2) 10 2 ACC53AA1-DE06-4626-9248-159BA1AEF3C0 gift_point_old gift_point_old 1521770804 zhenghong 1521771014 zhenghong 赠送的积分 int AE80A7D3-2CF1-4F55-87C8-48BF66B3E0F5 gift_point_new gift_point_new 1521770804 zhenghong 1521770995 zhenghong int 9D16C330-E114-4778-B552-DDF06AF3BC55 use_point_limit_old use_point_limit_old 1521771164 zhenghong 1521771200 zhenghong int F4FFECE7-3152-46A5-83C6-60D352457335 use_point_limit_new use_point_limit_new 1521771164 zhenghong 1521771200 zhenghong int 74162271-05EF-4D60-A189-252B04234604 operate_man operate_man 1521771246 zhenghong 1521771275 zhenghong 操作人 varchar(64) 64 966002F8-6310-4146-A9EA-4F185033236B create_time create_time 1521771269 zhenghong 1521771335 zhenghong datetime 74CA880E-049D-422E-9C8D-AD3A1E73DCE2 Key_1 Key_1 1521770770 zhenghong 1521770804 zhenghong 0D760BB3-CA67-4F64-B6A5-2D093F7657D6 pms_product_category pms_product_category 1521773028 zhenghong 1522115630 zhenghong 产品分类 7235E328-6BF3-4CFD-B1C6-A02A6F6718A9 id id 1521773048 zhenghong 1521773067 zhenghong bigint 1 1 0E642091-F38B-4D5F-937D-DA9C4151EFE2 parent_id parent_id 1522114406 zhenghong 1522114468 zhenghong 上机分类的编号:0表示一级分类 bigint BDD611F1-0142-4419-B183-4F15282363D5 name name 1521773064 zhenghong 1521773092 zhenghong varchar(64) 64 1A0124D2-0307-433A-ADEA-62C14A6003F0 level level 1522114959 zhenghong 1522116072 zhenghong 分类级别:0->1级;1->2级 int(1) 1 E50CCB02-2506-46DA-A95C-950DE16DF50F product_count product_count 1522115030 zhenghong 1522115103 zhenghong int 054029CE-B46E-4C2D-BFE1-E460D1B12275 product_unit product_unit 1522115030 zhenghong 1522115103 zhenghong varchar(64) 64 8FF814D8-75E9-43DC-8CA8-890BECAEC537 nav_status nav_status 1522115030 zhenghong 1522115270 zhenghong 是否显示在导航栏:0->不显示;1->显示 int(1) 1 D38D4B8B-1852-4350-93ED-1803A7BEA6E7 show_status show_status 1522115145 zhenghong 1522115208 zhenghong 显示状态:0->不显示;1->显示 int(1) 1 B47FED84-81B7-4E39-B763-8EE996F2424B sort sort 1522115178 zhenghong 1522115228 zhenghong int DB87CC69-B178-4FCD-B827-2A6C79ED2FE9 icon icon 1522115323 zhenghong 1522115342 zhenghong 图标 varchar(255) 255 93F08150-5658-4346-B8FC-7F52F889824A keywords keywords 1522115588 zhenghong 1522115630 zhenghong varchar(255) 255 4B01893A-E307-49EB-B5D4-98B55B0A48D1 description description 1522115588 zhenghong 1522115634 zhenghong 描述 text 64090BE2-8BEC-4616-8DDE-E24C94B52E9D Key_1 Key_1 1521773048 zhenghong 1521773064 zhenghong 4C5F5ABA-B6AB-4689-9F04-B487E920C073 pms_feight_template pms_feight_template 1521782818 zhenghong 1521783539 zhenghong 运费模版 50FF090A-11EC-4F73-B237-ACA1D6347465 id id 1521783117 zhenghong 1521783139 zhenghong bigint 1 1 E3A40203-E74E-4FC9-8A61-0169E8FD93BF name name 1521783135 zhenghong 1521783238 zhenghong varchar(64) 64 8BE728B7-5B75-4D76-A896-09F73A87B08A charge_type charge_type 1521783135 zhenghong 1521783309 zhenghong 计费类型:0->按重量;1->按件数 int(1) 1 63F6CF39-B317-4872-869A-4AA80BCB1FDC first_weight first_weight 1521783270 zhenghong 1521783558 zhenghong 首重kg decimal(10,2) 10 2 DC192E82-45CE-4623-AD18-DA14ECB31F39 first_fee first_fee 1521783270 zhenghong 1521783579 zhenghong 首费(元) decimal(10,2) 10 2 7D5538AC-2415-4EFA-8A9B-A46204FF35CB continue_weight continue_weight 1521783270 zhenghong 1521783539 zhenghong decimal(10,2) 10 2 4EC457E3-A82A-4B3B-86B7-D4E0C200780F continme_fee continme_fee 1521783270 zhenghong 1521783539 zhenghong decimal(10,2) 10 2 FE7A715E-1C3C-4E28-BBB2-1B34605B2EAF dest dest 1521783270 zhenghong 1521783601 zhenghong 目的地(省、市) varchar(255) 255 3F3D7980-1F46-4F3E-BDFD-AF0F8EEE2FA6 Key_1 Key_1 1521783117 zhenghong 1521783135 zhenghong 22CB8FD3-3DDD-4FF9-AE76-E13CF6CD6875 pms_member_price pms_member_price 1521791032 zhenghong 1528184156 zhenghong 商品会员价格表 30FC5C31-983F-4219-9339-C8B5BABB7234 id id 1521791069 zhenghong 1521791086 zhenghong bigint 1 1 9BC9FEC6-7030-4F2B-9C10-86F37EB776FD product_id product_id 1521791466 zhenghong 1521791479 zhenghong bigint 49BA6972-E766-4A84-8B8B-9C4DD271CE61 member_level_id member_level_id 1522721755 zhenghong 1522721767 zhenghong bigint 941A6699-6C9F-4E4B-9FAA-B6E6F69906EC member_price member_price 1522721615 zhenghong 1522721665 zhenghong 会员价格 decimal(10,2) 10 2 0B4E79EF-7E2C-41DE-B72B-C9BC578A2F72 member_level_name member_level_name 1528184129 zhenghong 1528184156 zhenghong varchar(100) 100 FE782243-6FFE-4CEE-BA53-9AFE8D357748 Key_1 Key_1 1521791069 zhenghong 1521791083 zhenghong DDA47447-C998-4D66-9FD0-1A64A30E043C pms_product_ladder pms_product_ladder 1521791865 zhenghong 1522721483 zhenghong 产品阶梯价格表(只针对同商品) C7FD3278-BB15-4A88-A424-42163F101417 id id 1521792127 zhenghong 1521792152 zhenghong bigint 1 1 3FDC1BDA-8A46-4848-9D75-3856408246F6 product_id product_id 1521792428 zhenghong 1521792442 zhenghong bigint 8A95CD6B-64CA-48FE-BF0F-46E24B04A977 count count 1521792148 zhenghong 1521792177 zhenghong 满足的商品数量 int F9D8DAEF-F28F-424D-9532-FB464AD4E654 discount discount 1521792164 zhenghong 1521792218 zhenghong 折扣 decimal(10,2) 10 2 7693845E-7B98-4C2E-9406-863D4F8E612A price price 1521792219 zhenghong 1521792257 zhenghong 折后价格 decimal(10,2) 10 2 4C0C9B14-EE1D-4112-A02D-85975F91C2F9 Key_1 Key_1 1521792127 zhenghong 1521792148 zhenghong 9C7F6D83-696D-4AC2-B63C-41A457276432 pms_product_full_reduction pms_product_full_reduction 1521791901 zhenghong 1522721499 zhenghong 产品满减表(只针对同商品) 1CB2D116-96CD-4A26-B9D4-B7AA00AD92E7 id id 1521792488 zhenghong 1524721741 zhenghong bigint 1 1 AF625FED-C1BF-47A8-94CE-EAB80C7CE452 product_id product_id 1521792909 zhenghong 1521792920 zhenghong bigint 56253152-8B4B-4F5D-ABB7-DFAEBED5C6EA full_price full_price 1521792498 zhenghong 1521792848 zhenghong decimal(10,2) 10 2 A23F3BDA-C442-413A-8F7F-EBBAFF4EB634 reduce_price reduce_price 1521792498 zhenghong 1521792848 zhenghong decimal(10,2) 10 2 42DEDB72-EACE-44AD-8377-601D1EF19A71 Key_1 Key_1 1521792488 zhenghong 1521792498 zhenghong 8CA12D96-D48C-4542-A89B-718C043C331E pms_product_attribute_category pms_product_attribute_category 1522044163 zhenghong 1522044533 zhenghong 产品属性分类表 C0EDF8D7-B021-4E78-AB1C-3372732BAA8A id id 1522044196 zhenghong 1522044533 zhenghong bigint 1 1 DF80D9F1-71A8-4898-9D4B-CDEFFFD1C51F name name 1522044211 zhenghong 1522044389 zhenghong varchar(64) 64 34182414-4199-49E6-B221-AF015FAD34FB attribute_count attribute_count 1522044211 zhenghong 1522044418 zhenghong 属性数量 int 728FAF40-18B5-42AD-9006-390BB12DF6D5 param_count param_count 1522044211 zhenghong 1522044436 zhenghong 参数数量 int C340AD67-5366-4172-A5C1-715381DA4E4C Key_1 Key_1 1522044527 zhenghong 1522044533 zhenghong 1959D6C2-18BC-4144-85F7-C5CD3C830DB4 pms_product_attribute pms_product_attribute 1522044465 zhenghong 1522045805 zhenghong 商品属性参数表 9736DD68-0C91-45FD-98D9-098B45FAA881 id id 1522044502 zhenghong 1522044525 zhenghong bigint 1 1 46A4A5DC-A87A-4AB1-A41A-E70B98AA3C7F product_attribute_category_id product_attribute_category_id 1522045168 zhenghong 1522045192 zhenghong bigint A23C122D-1090-414B-A50F-64053E0CA705 name name 1522044544 zhenghong 1522044628 zhenghong varchar(64) 64 0475CD9F-ECC5-435C-812F-16D6D2FDA0F5 select_type select_type 1522044544 zhenghong 1551343683 zhenghong 属性选择类型:0->唯一;1->单选;2->多选;对应属性和参数意义不同; int(1) 1 A656FC1F-FC28-4012-8876-5FE082ADCFC1 input_type input_type 1522044628 zhenghong 1522044761 zhenghong 属性录入方式:0->手工录入;1->从列表中选取 int(1) 1 673D1CDE-138E-45B6-9ADE-9C9FBAF1FA3C input_list input_list 1522044737 zhenghong 1522044853 zhenghong 可选值列表,以逗号隔开 varchar(255) 255 2710E2E2-FD53-4302-B88E-62F2B708E736 sort sort 1522044833 zhenghong 1522045635 zhenghong 排序字段:最高的可以单独上传图片 int 6A4CA846-5A79-4A70-9C1B-69D819C67C91 filter_type filter_type 1522044833 zhenghong 1522045152 zhenghong 分类筛选样式:1->普通;1->颜色 int(1) 1 2BE254B3-3CD8-4794-929E-3FBEB258936B search_type search_type 1522045233 zhenghong 1522045285 zhenghong 检索类型;0->不需要进行检索;1->关键字检索;2->范围检索 int(1) 1 5C1F000F-8181-4CF0-B2C6-422AC7CD8EF3 related_status related_status 1522045363 zhenghong 1522045485 zhenghong 相同属性产品是否关联;0->不关联;1->关联 int(1) 1 3660F2D1-79BF-4600-B965-259108FA8784 hand_add_status hand_add_status 1522045453 zhenghong 1522045556 zhenghong 是否支持手动新增;0->不支持;1->支持 int(1) 1 1EFD6D7F-29E6-4B52-A192-EDDEFFF5EB54 type type 1522045781 zhenghong 1522045820 zhenghong 属性的类型;0->规格;1->参数 int(1) 1 D37FC115-4FED-46C1-9D29-34FE0FCB103F Key_1 Key_1 1522044517 zhenghong 1522044525 zhenghong 70D24471-1832-42AF-BF28-DF5C4D67427D pms_product_attribute_value pms_product_attribute_value 1522046351 zhenghong 1522046456 zhenghong 存储产品参数信息的表 98949F13-7401-4B46-8C46-AD0EDB279FA6 id id 1522046392 zhenghong 1522046409 zhenghong bigint 1 1 A73883DF-2D36-497D-8D90-9EB0F5CF3C5B product_id product_id 1522046451 zhenghong 1524710981 zhenghong bigint 92ACF804-9722-47C3-826B-A2611338F2F6 product_attribute_id product_attribute_id 1522046456 zhenghong 1524710981 zhenghong bigint E83F864A-D6C1-48EA-B9A3-7C9AB2ED55A1 value value 1522046406 zhenghong 1531100886 zhenghong 手动添加规格或参数的值,参数单值,规格有多个时以逗号隔开 varchar(64) 64 66A6E0B8-A090-45F7-ACD4-8815D7DF6B6F Key_1 Key_1 1522046392 zhenghong 1522046406 zhenghong 73D97C96-1D05-46E2-89CA-985688FD385B cms_topic cms_topic 1522050428 zhenghong 1522141317 zhenghong 话题表 E5586D56-C86E-40C0-8433-7EAAB1A7A79F id id 1522050454 zhenghong 1522050470 zhenghong bigint 1 1 8DBF595F-4E5A-42F6-A301-D87380DA3FE6 category_id category_id 1522141317 zhenghong 1522141327 zhenghong bigint 8CDFD790-F0B3-436A-8295-5F442B1A3E07 name name 1522050467 zhenghong 1522050484 zhenghong varchar(255) 255 CD7B71CD-51EB-49B3-93FE-59F59BF51EF2 create_time create_time 1522140807 zhenghong 1522140989 zhenghong datetime 351D963E-FCB6-4A62-A03E-79FC4362CAFD start_time start_time 1522140807 zhenghong 1522140989 zhenghong datetime BC71816F-CC52-4DD7-869B-5EF23E07824D end_time end_time 1522140807 zhenghong 1522140989 zhenghong datetime 082A202D-0BB3-41C1-9474-62FE6C172569 attend_count attend_count 1522140807 zhenghong 1522141052 zhenghong 参与人数 int 6A84107F-35BF-4BB0-B867-39198A321E01 attention_count attention_count 1522140807 zhenghong 1522141063 zhenghong 关注人数 int 5A9F5276-5222-4760-BA85-CA98154759F9 read_count read_count 1522140807 zhenghong 1522140989 zhenghong int 1931F93B-6D40-4FD7-9C4F-1C67815C3459 award_name award_name 1522140807 zhenghong 1522140997 zhenghong 奖品名称 varchar(100) 100 6440D5DB-2981-4203-9519-A4CB896AB498 attend_type attend_type 1522140989 zhenghong 1522141043 zhenghong 参与方式 varchar(100) 100 C88BACB1-A103-4EC5-8800-F500CE872650 content content 1522141034 zhenghong 1522141083 zhenghong 话题内容 text 9469C4F2-63EF-48D7-85F7-749CBD56D5A9 Key_1 Key_1 1522050454 zhenghong 1522050467 zhenghong 143551D6-36A8-4263-B499-17416D5B4E78 cms_prefrence_area cms_prefrence_area 1522112533 zhenghong 1522139400 zhenghong 优选专区 601C99AA-881D-4188-A507-8EBC584792A1 id id 1522112534 zhenghong 1522112571 zhenghong bigint 1 1 FCDEF8AE-3C3E-4D80-8718-68B2BFDAAAAB name name 1522112567 zhenghong 1522112584 zhenghong varchar(255) 255 6F54EFCF-2121-40E1-A012-0780AA817B9E sub_title sub_title 1522139220 zhenghong 1522139257 zhenghong varchar(255) 255 31AB8614-FFF2-430B-A3B9-8592C41EC3B4 pic pic 1522139329 zhenghong 1522139365 zhenghong 展示图片 varbinary(500) 500 27D98403-DF29-48CA-A724-8E2B6FFEFB01 sort sort 1522139372 zhenghong 1522139400 zhenghong int 3BD7C5D5-B647-4499-ABA6-AE5E08D069CE show_status show_status 1522139372 zhenghong 1522139400 zhenghong int(1) 1 D4E19AA8-AFAB-4791-A6C7-15DBDF850779 Key_1 Key_1 1522112534 zhenghong 1522112567 zhenghong A13BD5C1-4EB4-4269-978C-7BC04C9CDC6E cms_prefrence_area_product_relation cms_prefrence_area_product_relation 1522112617 zhenghong 1522215871 zhenghong 优选专区和产品关系表 F54F6DBB-9A10-4191-9426-087F11A04093 id id 1522112618 zhenghong 1522112684 zhenghong bigint 1 1 AD6438FF-9782-40FA-82DB-D99F8C15BC39 prefrence_area_id prefrence_area_id 1522112691 zhenghong 1522139303 zhenghong bigint A5DE8A1D-EF5C-4ADB-BAEC-1DC5B833C89D product_id product_id 1522112694 zhenghong 1522112722 zhenghong bigint 6248D431-92E7-4999-9E2E-A8492D60909B Key_1 Key_1 1522112618 zhenghong 1522112681 zhenghong 7124790D-D56B-43AC-9EF3-1CFC5BF12114 pms_product_category_attribute_relation pms_product_category_attribute_relation 1522115893 zhenghong 1522215883 zhenghong 产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类) 9185CBA8-9501-4F1D-869D-7CFE0D62A0E5 id id 1522115894 zhenghong 1522115954 zhenghong bigint 1 1 2A249FE2-167D-4966-B80C-A1F2029335D5 product_category_id product_category_id 1522115961 zhenghong 1522115975 zhenghong bigint CA02967F-18F1-4803-AE3A-A4C6F3085047 product_attribute_id product_attribute_id 1522115983 zhenghong 1522115997 zhenghong bigint 7664FAB4-1504-4257-846E-556F70D39E63 Key_1 Key_1 1522115894 zhenghong 1522115950 zhenghong 56CDA36B-EA58-4AE1-B858-A5F9A2F29A8E pms_comment pms_comment 1522118136 zhenghong 1522119143 zhenghong 商品评价表 0B63A5AB-69A1-49D3-B274-537BE5F79603 id id 1522118175 zhenghong 1522118191 zhenghong bigint 1 1 AAEF7DDC-9B2F-46B6-A8B1-C6F87BF129B3 product_id product_id 1522118676 zhenghong 1522118692 zhenghong bigint E861609A-6A46-4405-ABD0-EE63DF7C18AB member_nick_name member_nick_name 1522118254 zhenghong 1522118291 zhenghong varchar(255) 255 93F98F3F-AE44-425D-8437-15EFCA931DEE product_name product_name 1522118254 zhenghong 1522118291 zhenghong varchar(255) 255 3B937D50-F65E-4FCC-91E6-987280555E0F star star 1522118296 zhenghong 1522118388 zhenghong 评价星数:0->5 int(3) 3 FF2F85AD-9EEF-4482-8425-012B16214ACC member_ip member_ip 1522118356 zhenghong 1522118421 zhenghong 评价的ip varchar(64) 64 928C78C9-46A9-4372-89AE-240801429406 create_time create_time 1522118413 zhenghong 1522118537 zhenghong datetime 60548BBB-24E8-420F-A512-5446E5A2E760 show_status show_status 1522118413 zhenghong 1522118537 zhenghong int(1) 1 9F48621B-2FCF-45E5-9143-1BE198FF29B5 product_attribute product_attribute 1522118413 zhenghong 1522118546 zhenghong 购买时的商品属性 varchar(255) 255 DCCC00DA-5050-4C5E-B95B-2FCC03D9FD16 collect_couont collect_couont 1522118537 zhenghong 1522118636 zhenghong int 0C6D9887-AA40-4B94-93DC-624FB5BDE0BA read_count read_count 1522118537 zhenghong 1522118636 zhenghong int 7B205E86-CD8C-4B49-8E5C-34A3FB5FB46B content content 1522118537 zhenghong 1522118636 zhenghong text BE5DD03F-680E-4FF4-BC30-A3249F0F3240 pics pics 1522118537 zhenghong 1522118653 zhenghong 上传图片地址,以逗号隔开 varchar(1000) 1000 27BD4283-26AA-4F27-9E13-963F0588E6E2 member_icon member_icon 1522118919 zhenghong 1522118952 zhenghong 评论用户头像 varchar(255) 255 1C85F6E9-ECED-473D-95C8-3509F812EBAE replay_count replay_count 1522119113 zhenghong 1522119127 zhenghong int FB3F2C83-222B-4B40-9A1A-B8E7586FC5D1 Key_1 Key_1 1522118175 zhenghong 1522118187 zhenghong 9E632F70-2FF6-43F1-8035-39044AC4B722 pms_comment_replay pms_comment_replay 1522118840 zhenghong 1522119205 zhenghong 产品评价回复表 C0FE35AD-E3D8-46AA-BD43-0A4FE9348CF6 id id 1522118870 zhenghong 1522118887 zhenghong bigint 1 1 6A4043C2-5C50-430C-BD5B-AA0D11362AC2 comment_id comment_id 1522119056 zhenghong 1522119072 zhenghong bigint C6A4F7EC-CA0E-4E95-80BB-BB5BD4C7CF03 member_nick_name member_nick_name 1522118977 zhenghong 1522119041 zhenghong varchar(255) 255 D39F911F-9FF3-401E-89A2-A0CF1AEB11F5 member_icon member_icon 1522118977 zhenghong 1522119041 zhenghong varchar(255) 255 37F379DF-80F8-4A2D-A1FD-F1B8DFFF3E8C content content 1522118977 zhenghong 1522119041 zhenghong varchar(1000) 1000 4D97D374-C6C4-4835-8901-0A0AF230090C create_time create_time 1522118977 zhenghong 1522119041 zhenghong datetime 7323FC1E-0690-46C9-AE91-EBC17297BB57 type type 1522119192 zhenghong 1522119239 zhenghong 评论人员类型;0->会员;1->管理员 int(1) 1 AB67D302-57F5-41ED-BA76-1DA5FCEA3BD1 Key_1 Key_1 1522118880 zhenghong 1522118887 zhenghong 6D104B7B-620F-491A-ABC4-B60B21CF69BC pms_album pms_album 1522120039 zhenghong 1522120230 zhenghong 相册表 424E4971-5936-46F8-BAE1-7F4220EDC6B5 id id 1522120040 zhenghong 1522120064 zhenghong bigint 1 1 0C2DE146-32E0-438D-907D-FA27F53BE712 name name 1522120061 zhenghong 1522120230 zhenghong varchar(64) 64 2DAC711E-D5AE-4A25-8D7E-3A748D5B5988 cover_pic cover_pic 1522120061 zhenghong 1522120230 zhenghong varchar(1000) 1000 B2BBBBA4-937B-440C-9708-7D2094D5893B pic_count pic_count 1522120061 zhenghong 1522120230 zhenghong int F34D2B7C-8CB3-4078-99E6-ED7DA2FEC59B sort sort 1522120061 zhenghong 1522120230 zhenghong int 1EED58B2-81C2-4FA8-8242-3B9845D29645 description description 1522120061 zhenghong 1522120230 zhenghong varchar(1000) 1000 1535694E-35FA-45D2-9EC4-0AC46AAB6A81 Key_1 Key_1 1522120040 zhenghong 1522120061 zhenghong 111B6F68-21FF-450D-9F6E-40C4E4F09B6C pms_album_pic pms_album_pic 1522120250 zhenghong 1522120295 zhenghong 画册图片表 E25430EB-9E92-44D3-BD29-B357E9DCB2F6 id id 1522120251 zhenghong 1522120277 zhenghong bigint 1 1 572B79C1-82C5-405D-A13E-11183C8382C3 album_id album_id 1522120295 zhenghong 1522120304 zhenghong bigint EA74BD79-E880-467B-AEED-0E92E733AE95 pic pic 1522120273 zhenghong 1522120291 zhenghong varchar(1000) 1000 B677823F-37C2-47FB-A8EE-F10B80BF40BB Key_1 Key_1 1522120251 zhenghong 1522120273 zhenghong B57200C6-A503-406F-BC2F-5B144309EC10 cms_subject cms_subject 1522138190 zhenghong 1542086220 zhenghong 专题表 53BC0750-B403-49FD-A50A-F081E7D2409F id id 1522138235 zhenghong 1524711592 zhenghong bigint 1 1 42524411-D613-4537-A110-5746681D4178 category_id category_id 1522138705 zhenghong 1522139827 zhenghong bigint B88B2152-E11E-4B3E-8752-12B9A9B9D6E6 title title 1522138235 zhenghong 1522138313 zhenghong varchar(100) 100 82CD4D66-89A8-4563-A6E1-1DE23B4E0326 pic pic 1522138235 zhenghong 1522138320 zhenghong 专题主图 varchar(500) 500 7CE3D060-441E-426C-A4DE-E36FA20C37B3 product_count product_count 1522138235 zhenghong 1522138330 zhenghong 关联产品数量 int DC926B26-780C-422A-9F01-918ACE01616D recommend_status recommend_status 1522138235 zhenghong 1522138489 zhenghong int(1) 1 ADDFD504-1961-4B20-A5A7-2663BE5DC0E6 create_time create_time 1522138313 zhenghong 1522138489 zhenghong datetime 5D13D140-A74E-4586-880C-1BFE0A0E11D4 collect_count collect_count 1522138313 zhenghong 1522138489 zhenghong int EAEA9201-9947-490A-9AA6-36A980292101 read_count read_count 1522138313 zhenghong 1522138489 zhenghong int 2FEB2EE8-3445-412B-809E-86AA3ECF4529 comment_count comment_count 1522138313 zhenghong 1522138489 zhenghong int 3213DDDC-F105-4CF3-85B1-0AF4B28D18BD album_pics album_pics 1522138313 zhenghong 1522138499 zhenghong 画册图片用逗号分割 varchar(1000) 1000 3E65E187-85C6-4C2C-8508-6459E5634653 description description 1522138733 zhenghong 1522138806 zhenghong varchar(1000) 1000 2E84713F-CB2B-46A6-BA44-489D2F6458EE show_status show_status 1522138733 zhenghong 1522139016 zhenghong 显示状态:0->不显示;1->显示 int(1) 1 53DFEF92-6705-4834-A79D-DBE1EA44CC23 content content 1522138733 zhenghong 1522138806 zhenghong text 2BEA9B61-5B2A-495A-A1F3-CDC9992E6EC0 forward_count forward_count 1522139567 zhenghong 1522139597 zhenghong 转发数 int 38F4212D-8579-407B-BA77-92A54008F60B category_name category_name 1542086194 zhenghong 1542086464 zhenghong 专题分类名称 varchar(200) 200 EEB1DA22-1547-4B23-B534-2C0E6E700AC7 Key_1 Key_1 1522138603 zhenghong 1522138607 zhenghong 606E012F-14A2-4A00-AD6E-15A2EFBB9C5E cms_subject_product_relation cms_subject_product_relation 1522138561 zhenghong 1522215878 zhenghong 专题商品关系表 5DF4FFB5-2AF3-432F-B7B4-7F3BB6E24DBE id id 1522138589 zhenghong 1522139788 zhenghong bigint 1 1 CEA5917C-7E9D-4BBC-9C36-526EDCFEE760 subject_id subject_id 1522138613 zhenghong 1522138642 zhenghong bigint 5071E824-D357-4D1D-A766-5EEF7042D9DB product_id product_id 1522138618 zhenghong 1522138642 zhenghong bigint F54E063F-39C6-4A3F-B83A-85972E2FF817 Key_1 Key_1 1522138589 zhenghong 1522138597 zhenghong AB473418-20D2-4DA3-8888-C528B336912A cms_subject_category cms_subject_category 1522138655 zhenghong 1522139176 zhenghong 专题分类表 25CBB635-2A80-4F21-B7E8-E352F1B4F77F id id 1522138656 zhenghong 1522139809 zhenghong bigint 1 1 A1D41EA4-B0CA-4941-A909-27D9909E0E37 name name 1522138679 zhenghong 1522138696 zhenghong varchar(100) 100 D8AE7B27-35EB-4915-B668-4C51D80A4A48 icon icon 1522139032 zhenghong 1522139093 zhenghong 分类图标 varchar(500) 500 6FA5F7F2-CFF4-42F4-8F7D-21845B349CCB subject_count subject_count 1522139087 zhenghong 1522139135 zhenghong 专题数量 int B0C5DD2A-9B58-4590-8B05-06401B097A8C show_status show_status 1522139129 zhenghong 1522139176 zhenghong int(2) 2 E2526823-EFE1-4B05-B1D2-26F058A2982A sort sort 1522139129 zhenghong 1522139176 zhenghong int FB93F2E5-22E1-4B1A-A200-33E4152340C2 Key_1 Key_1 1522138656 zhenghong 1522138679 zhenghong 49773448-772B-485E-A3C7-B11481FECA81 cms_subject_comment cms_subject_comment 1522118840 zhenghong 1522141232 zhenghong 专题评论表 1147FDE1-65B1-4BFD-A1A2-B020098BE42C id id 1522118870 zhenghong 1522139643 zhenghong bigint 1 1 2ADF8874-CC3E-474C-B210-4025C4AC3F72 subject_id subject_id 1522141232 zhenghong 1522141245 zhenghong bigint B0459F20-23C7-466D-8A4F-8796D69A0C08 member_nick_name member_nick_name 1522118977 zhenghong 1522139643 zhenghong varchar(255) 255 C2AF427F-DE7F-4C75-ACE7-0ABFD02455DA member_icon member_icon 1522118977 zhenghong 1522139643 zhenghong varchar(255) 255 5D00E7C2-F197-490B-819E-120CEC889DC6 content content 1522118977 zhenghong 1522139643 zhenghong varchar(1000) 1000 DF4234D6-78A1-41C9-AD35-1888B1FEAB6F create_time create_time 1522118977 zhenghong 1522139643 zhenghong datetime 86082980-A127-4EDF-8EFC-E8148463178A show_status show_status 1522139856 zhenghong 1522139873 zhenghong int(1) 1 36EEDF00-52B8-437E-B236-EEA161669A1B Key_1 Key_1 1522118880 zhenghong 1522139643 zhenghong D0100727-1202-4283-BD62-F95371B06299 cms_topic_comment cms_topic_comment 1522118840 zhenghong 1522399064 zhenghong 专题评论表 58CD3CFC-497C-4971-AD22-9987D668CDE6 id id 1522118870 zhenghong 1522141104 zhenghong bigint 1 1 DE828932-9533-4CE1-86D2-A92BD6FED7AA member_nick_name member_nick_name 1522118977 zhenghong 1522141104 zhenghong varchar(255) 255 45FF2606-4361-412C-B9DC-397D23DEE33B topic_id topic_id 1522141157 zhenghong 1522141168 zhenghong bigint 449FC5FE-AE37-4C13-B286-63FD48F70DA9 member_icon member_icon 1522118977 zhenghong 1522141104 zhenghong varchar(255) 255 395DC11D-5668-46CE-AAA6-AFFD0AEC84A2 content content 1522118977 zhenghong 1522141104 zhenghong varchar(1000) 1000 31AE7B63-BC68-4E98-B907-92F1D8C6CD90 create_time create_time 1522118977 zhenghong 1522141104 zhenghong datetime 711458F7-23E9-480C-8749-66742D667C05 show_status show_status 1522139856 zhenghong 1522141104 zhenghong int(1) 1 AF9DA610-2D90-4723-8586-DE3F17CC93AC Key_1 Key_1 1522118880 zhenghong 1522141104 zhenghong DAA0A46E-FEF2-4004-97B6-4FF049BC1DF2 cms_topic_category cms_topic_category 1522138655 zhenghong 1522141297 zhenghong 话题分类表 D109BEFC-0C6F-4B8C-AA21-461DB4903D66 id id 1522138656 zhenghong 1522141269 zhenghong bigint 1 1 F26259A6-E8E7-4CBC-BBBF-9E99449079B4 name name 1522138679 zhenghong 1522141269 zhenghong varchar(100) 100 1DAD2A73-1384-45CD-84B3-C8A2021FAB46 icon icon 1522139032 zhenghong 1522141269 zhenghong 分类图标 varchar(500) 500 2413D731-87CA-45E0-AD41-AA64C90DA23F subject_count subject_count 1522139087 zhenghong 1522141269 zhenghong 专题数量 int B591EC57-36F5-4C03-A012-D0ADBF3E4C0F show_status show_status 1522139129 zhenghong 1522141269 zhenghong int(2) 2 DAFFB2FD-33EB-4BB3-9E0C-0297E575E351 sort sort 1522139129 zhenghong 1522141269 zhenghong int 99A75D70-8F78-4D6E-8953-00CADCEAB0E0 Key_1 Key_1 1522138656 zhenghong 1522141269 zhenghong 5312D8EC-AF1A-469E-BC98-AB6273AAAE0E cms_help cms_help 1522141745 zhenghong 1522142006 zhenghong 帮助表 A9D8065D-3D37-419F-9038-978F59CEBB8F id id 1522141746 zhenghong 1522141791 zhenghong bigint 1 1 99F1B8BB-6318-423F-8D30-A40703AF7A53 category_id category_id 1522142006 zhenghong 1522142017 zhenghong bigint C7F74EDD-B6CB-4D46-9617-F8C14AB2DF2F icon icon 1522141808 zhenghong 1522141921 zhenghong varchar(500) 500 FF621D0D-B8FA-4725-A175-D7B2BABA5B94 title title 1522141808 zhenghong 1522141921 zhenghong varchar(100) 100 E6895426-49FA-4AF4-BB77-757AA0BF864C show_status show_status 1522141808 zhenghong 1522141921 zhenghong int(1) 1 F08C0B0D-F6B3-4A69-AA15-9DE56C118112 create_time create_time 1522141808 zhenghong 1522141921 zhenghong datetime 4354AAE9-96D2-4D68-9074-4D6D43058031 read_count read_count 1522141808 zhenghong 1522141921 zhenghong int(1) 1 38267C50-CED4-4040-80C3-F2BB84F55DE1 content content 1522141808 zhenghong 1522141921 zhenghong text 23861D6B-7336-4999-B247-2795E01A36A6 Key_1 Key_1 1522141746 zhenghong 1522141776 zhenghong C69D6CF4-1D0A-4C73-BD5D-728063BA5CF5 cms_help_category cms_help_category 1522138655 zhenghong 1522141973 zhenghong 帮助分类表 67081E82-4B28-4B4B-950A-A6977DDC416C id id 1522138656 zhenghong 1522141950 zhenghong bigint 1 1 23A542BE-7271-45B8-9BA3-2994EC446525 name name 1522138679 zhenghong 1522141950 zhenghong varchar(100) 100 E5E3B51D-A536-42AF-A7B5-B0CB88FA1382 icon icon 1522139032 zhenghong 1522141950 zhenghong 分类图标 varchar(500) 500 433A0125-DC14-4DE3-AC67-4F50F73D9C10 help_count help_count 1522139087 zhenghong 1522141999 zhenghong 专题数量 int 66476CEF-9E6C-4DD2-8CF4-F17B95C150DF show_status show_status 1522139129 zhenghong 1522141950 zhenghong int(2) 2 08AA26A1-B9BA-42BA-B07E-A3F313619269 sort sort 1522139129 zhenghong 1522141950 zhenghong int 7062AB8C-E6E5-4256-9CAA-E35D576A4067 Key_1 Key_1 1522138656 zhenghong 1522141950 zhenghong EE13E81B-7389-4258-A293-350022D681E9 cms_member_report cms_member_report 1522142154 zhenghong 1522142502 zhenghong 用户举报表 26970FB1-6D6F-4F9B-B5AE-A006A5DA00B0 id id 1522142174 zhenghong 1522142240 zhenghong bigint 6447324C-45CB-4E42-9437-A15934CB1F0D report_type report_type 1522142174 zhenghong 1522142646 zhenghong 举报类型:0->商品评价;1->话题内容;2->用户评论 int(1) 1 020ECB31-0883-4162-80FA-2DFC32D3C7A5 report_member_name report_member_name 1522142240 zhenghong 1522142303 zhenghong 举报人 varchar(100) 100 C0692AD1-F67F-4EA1-8AA3-ACA47B0262AB create_time create_time 1522142298 zhenghong 1522142386 zhenghong datetime C57611C0-AF26-4C7A-8D51-A283494F883A report_object report_object 1522142298 zhenghong 1522142386 zhenghong varchar(100) 100 A426736C-C224-4935-88EF-580A9D84580B report_status report_status 1522142298 zhenghong 1522142414 zhenghong 举报状态:0->未处理;1->已处理 int(1) 1 2C32CB54-23F4-4619-8AB4-530388A5E455 handle_status handle_status 1522142386 zhenghong 1522142486 zhenghong 处理结果:0->无效;1->有效;2->恶意 int(1) 1 21DB5501-BCE1-40F6-9CEC-77A10758E766 note note 1522142456 zhenghong 1522142502 zhenghong varchar(200) 200 62AC3907-4D95-4CFC-BB5D-A066679C4474 sms_coupon sms_coupon 1522215010 zhenghong 1541664280 zhenghong 优惠卷表 D967F787-301C-4453-9F6B-54CD376E68F4 id id 1522215060 zhenghong 1522724388 zhenghong bigint 1 1 A42144EE-CFD6-4093-B8DF-AAEB4D87BCE3 type type 1522215069 zhenghong 1522215247 zhenghong 优惠卷类型;0->全场赠券;1->会员赠券;2->购物赠券;3->注册赠券 int(1) 1 4EEFF0DA-F8C0-4231-939F-9E67BFF4FA99 name name 1522215086 zhenghong 1522215247 zhenghong varchar(100) 100 C1161877-9671-43DB-8EA5-50B4ECBB89E4 platform platform 1522215086 zhenghong 1535445907 zhenghong 使用平台:0->全部;1->移动;2->PC int(1) 1 94DC173C-3B97-4520-9ADD-8F5F2ED04470 count count 1522215247 zhenghong 1522215314 zhenghong 数量 int A15DA5DE-2744-4053-86C7-8A1CE2CA14D4 amount amount 1522215309 zhenghong 1522747455 zhenghong 金额 decimal(10,2) 10 2 52D1095B-621A-413D-8161-72182E758527 per_limit per_limit 1522215394 zhenghong 1522215437 zhenghong 每人限领张数 int 5D8378FF-E9D3-487E-B268-ABEECE41A427 min_point min_point 1522215424 zhenghong 1522747549 zhenghong 使用门槛;0表示无门槛 decimal(10,2) 10 2 A7094DFB-0744-466F-8C88-3131A1FEDB45 start_time start_time 1522215598 zhenghong 1522215693 zhenghong datetime D9174D11-163F-4C6F-A36B-6EE33F1B7541 end_time end_time 1522215598 zhenghong 1522215693 zhenghong datetime DF9AE437-11C1-4711-8579-9BA970124238 use_type use_type 1522215598 zhenghong 1522215739 zhenghong 使用类型:0->全场通用;1->指定分类;2->指定商品 int(1) 1 6F6944A7-CA49-4C62-8D4E-42FAFBBECB22 note note 1522215693 zhenghong 1522215779 zhenghong 备注 varchar(200) 200 039EF37D-E0E4-4201-A3EF-539492AD9D53 publish_count publish_count 1522216740 zhenghong 1522216765 zhenghong 发行数量 int 6B22702A-9639-4B94-BDFF-D6203A623754 use_count use_count 1522216759 zhenghong 1522216817 zhenghong 已使用数量 int 62F7E121-0FF8-41A5-A2F3-3CD1EBCF0113 receive_count receive_count 1535438655 zhenghong 1535439531 zhenghong 领取数量 int C16B86B5-7FE8-4A40-B5BC-0890539301BB enable_time enable_time 1522216971 zhenghong 1522217000 zhenghong 可以领取的日期 datetime 57C38097-F524-4B80-9779-539E0F875778 code code 1522217015 zhenghong 1522217041 zhenghong 优惠码 varchar(64) 64 7F81033C-AF9F-48BD-9332-708B55931EE7 member_level member_level 1522288044 zhenghong 1522288094 zhenghong 可领取的会员类型:0->无限时 int(1) 1 F7B63883-C186-47A9-A442-EF3DC025999C Key_1 Key_1 1522215069 zhenghong 1522215086 zhenghong F77D8A78-124B-40EF-BCA9-DF1D0BE3BBAD sms_coupon_product_relation sms_coupon_product_relation 1522215792 zhenghong 1541748859 zhenghong 优惠券和产品的关系表 51FBBF44-892D-4904-AD72-C367AD27B4DE id id 1522215913 zhenghong 1522215933 zhenghong bigint 1 1 8D3316AD-1CAF-4B5E-8FA0-645C1C73FFD7 coupon_id coupon_id 1522215975 zhenghong 1535445127 zhenghong bigint 39E7492F-B104-48BA-9460-88C66C6B971E product_id product_id 1522216015 zhenghong 1522216048 zhenghong bigint 6CFC63DC-3FA7-4C08-B3D3-EC4AB73264E5 product_name product_name 1541748810 zhenghong 1541748864 zhenghong 商品名称 varchar(500) 500 30FFA3E1-D99B-4580-9685-A712EA6F1395 product_sn product_sn 1541748810 zhenghong 1541748881 zhenghong 商品编码 varchar(200) 200 0DDAC07B-7800-4763-A772-BEDE47E015F8 Key_1 Key_1 1522215913 zhenghong 1522215928 zhenghong 18D5F08F-2392-4C0C-8AD0-1264DD968732 sms_coupon_product_category_relation sms_coupon_product_category_relation 1522216155 zhenghong 1541749816 zhenghong 优惠券和产品分类关系表 B1EF094E-8F24-4E21-92C3-20D17815DD8E id id 1522216188 zhenghong 1522216239 zhenghong bigint 1 1 0F265619-5CCA-4327-A335-B36E28B77CE9 coupon_id coupon_id 1522216251 zhenghong 1522724416 zhenghong bigint BB220B24-5719-4254-9EAB-A73F809F1D91 product_category_id product_category_id 1522216380 zhenghong 1522216395 zhenghong bigint 8F514E26-8A5D-4746-9906-994728A01841 product_category_name product_category_name 1541749144 zhenghong 1541749816 zhenghong 产品分类名称 varchar(200) 200 E412773B-A578-4D21-B72F-679B380A40EC parent_category_name parent_category_name 1541749144 zhenghong 1541749816 zhenghong 父分类名称 varchar(200) 200 120C3D95-47A0-4ADC-86DD-F632EF5F5785 Key_1 Key_1 1522216188 zhenghong 1522216237 zhenghong 118563D1-BD6A-4137-B818-9A52AE43F4B3 sms_coupon_history sms_coupon_history 1522217089 zhenghong 1541490649 zhenghong 优惠券使用、领取历史表 8AF960D9-0931-474B-9087-67A9C769289A id id 1522217090 zhenghong 1535522371 zhenghong bigint 1 1 AEA45EC9-857C-4ADD-B505-8E6D0638F274 coupon_id coupon_id 1522220508 zhenghong 1522724407 zhenghong bigint C2493798-DD46-4B0A-8BA4-76DED0B49E03 member_id member_id 1522220546 zhenghong 1522724407 zhenghong bigint 254CB808-9D45-446D-9E7E-29A33FB74779 order_id order_id 1541490552 zhenghong 1541490628 zhenghong 订单id bigint 5D6DA42D-A033-45CC-8B4D-4A4577934E21 coupon_code coupon_code 1522217932 zhenghong 1522218055 zhenghong varchar(64) 64 D55C94A5-5416-4994-9794-10BAFCDF3A70 member_nickname member_nickname 1522217932 zhenghong 1522218107 zhenghong 领取人昵称 varchar(64) 64 1FBF338D-A9F0-435F-A465-6C0D461C08EE get_type get_type 1522218055 zhenghong 1522218134 zhenghong 获取类型:0->后台赠送;1->主动获取 int(1) 1 2900D394-F7F9-411D-A014-19DB3D1ED702 create_time create_time 1522218107 zhenghong 1522220296 zhenghong datetime 3447D394-9F55-41F0-B4AB-B52685CFD9B9 use_status use_status 1522218107 zhenghong 1522220481 zhenghong 使用状态:0->未使用;1->已使用;2->已过期 int(1) 1 74C76E33-9483-4D78-88C2-77812D6BE4E4 use_time use_time 1522220361 zhenghong 1522220487 zhenghong 使用时间 datetime 59A8EC2E-C3C8-479C-8D25-D43AAE161E1C order_sn order_sn 1541490633 zhenghong 1541490681 zhenghong 订单号码 varchar(100) 100 539446A0-347B-4B13-9A1B-C1F91302A908 Key_1 Key_1 1522217090 zhenghong 1522217131 zhenghong 39073F58-E0FD-4E97-91A0-AFA7D8C5F626 ums_member ums_member 1522217487 zhenghong 1533115911 zhenghong 会员表 D9B1967D-3B90-493E-BF71-D0C0AA8AF792 id id 1522217488 zhenghong 1533115911 zhenghong bigint 1 1 BA9FA416-B0B0-49A8-99B2-EE1F2F689613 member_level_id member_level_id 1522386868 zhenghong 1522391485 zhenghong bigint 2B15CF6E-9928-4C28-A7F0-2D249CF28D2E username username 1522217626 zhenghong 1522217755 zhenghong 用户名 varchar(64) 64 8B3B0D82-2CA0-4466-AEA1-F24F2791C164 password password 1522217626 zhenghong 1522217766 zhenghong 密码 varchar(64) 64 A3756B41-7B58-47EE-9C90-4410B7014C14 nickname nickname 1522217712 zhenghong 1522217794 zhenghong 昵称 varchar(64) 64 771E62BD-6B4C-4AD5-8243-80EF105C5C12 phone phone 1522303316 zhenghong 1522747629 zhenghong 手机号码 varchar(64) 64 2AC98331-159E-4556-B2BE-2A511AF1012B status status 1522386896 zhenghong 1522386937 zhenghong 帐号启用状态:0->禁用;1->启用 int(1) 1 290E9B19-DC94-49BE-8B20-4CC5BE6B4A2E create_time create_time 1522386911 zhenghong 1522386982 zhenghong 注册时间 datetime 687462C1-C969-4A1F-8FF4-CFBDDF78FD97 icon icon 1522387000 zhenghong 1522387018 zhenghong 头像 varchar(500) 500 3DBECFB8-A73F-4B4E-8770-394020C94B46 gender gender 1522387014 zhenghong 1522387079 zhenghong 性别:0->未知;1->男;2->女 int(1) 1 037D5C09-930F-4CB2-9488-A0D04C98B3DF birthday birthday 1522387055 zhenghong 1522387102 zhenghong 生日 date 5799AC70-2F20-49AD-ACB3-3ACE21BDFA24 city city 1522387097 zhenghong 1522387133 zhenghong 所做城市 varchar(64) 64 5E11EA43-DC5E-48B6-9C7D-4B3283DFEA04 job job 1522387127 zhenghong 1522387170 zhenghong 职业 varchar(100) 100 E4E5B724-CA9B-4DBF-9338-F35A6CEB07C6 personalized_signature personalized_signature 1522387164 zhenghong 1522387227 zhenghong 个性签名 varchar(200) 200 B9C8A488-CE4C-4162-95B8-95AAF2F50D79 source_type source_type 1522387221 zhenghong 1522387354 zhenghong 用户来源 int(1) 1 B2615BC0-8624-420C-9ADD-74B7CC0E1A34 integration integration 1522388283 zhenghong 1522388297 zhenghong 积分 int 68060654-B3F9-460C-B0AD-F69C3D79E7E4 growth growth 1522388293 zhenghong 1522388314 zhenghong 成长值 int F451866B-0691-4BD0-885F-8F8AC6BB07B6 luckey_count luckey_count 1522389179 zhenghong 1522389203 zhenghong 剩余抽奖次数 int DF6E2A37-1087-482C-B3AB-6E24F7CF5824 history_integration history_integration 1522396288 zhenghong 1522396312 zhenghong 历史积分数量 int D643CABA-BFF8-4444-BC9C-459F23DD209B Key_1 Key_1 1522217488 zhenghong 1533115911 zhenghong A0B70C04-02B7-4362-8DE8-EEC09E11CFDE sms_home_brand sms_home_brand 1522223818 zhenghong 1522224364 zhenghong 首页推荐品牌表 55989B16-E9BA-4806-BE60-FBB53C20AFFB id id 1522224202 zhenghong 1522224219 zhenghong bigint 1 1 6EB211BF-005A-45C4-9AD2-3B624549C78B brand_id brand_id 1522224364 zhenghong 1522224376 zhenghong bigint 961D5B66-0DD8-42E5-BFB4-93E536FEC18A brand_name brand_name 1522224216 zhenghong 1522224265 zhenghong varchar(64) 64 F2CF792A-6DB6-445B-9BA9-18C8DC17D441 recommend_status recommend_status 1522224216 zhenghong 1522224356 zhenghong int(1) 1 1AB9EBEC-5310-4ADE-9CAD-39F414C49A73 sort sort 1522224339 zhenghong 1522224356 zhenghong int D81DA96A-E9F0-4D79-971E-1D88C5B3C093 Key_1 Key_1 1522224202 zhenghong 1522224216 zhenghong A25B1802-83AF-4D73-B715-B3CD83BF30B8 sms_home_new_product sms_home_new_product 1522224403 zhenghong 1522225874 zhenghong 新鲜好物表 D44BCE8A-007A-475D-A1A8-A84615449866 id id 1522225739 zhenghong 1522225765 zhenghong bigint 1 1 41AB6B8F-5955-4D0F-82C9-3ECE03DE627F product_id product_id 1522225874 zhenghong 1522225891 zhenghong bigint 0199CB4D-CCB5-45A9-987A-C688680BAD6C product_name product_name 1522225762 zhenghong 1522225835 zhenghong varchar(64) 64 30DFEEA7-AEB5-420B-BB6F-99F4E2A2D4FC recommend_status recommend_status 1522225762 zhenghong 1522225835 zhenghong int(1) 1 D1A8F553-7744-46C7-B8BC-D27C3AD0717E sort sort 1522225762 zhenghong 1522225844 zhenghong int(1) 1 73A2D055-78DF-477F-83FF-E76CEE5860BB Key_1 Key_1 1522225739 zhenghong 1522225762 zhenghong 37399CAC-C0E1-4103-867A-C162B935BFDF sms_home_recommend_product sms_home_recommend_product 1522224403 zhenghong 1541490586 zhenghong 人气推荐商品表 2C05FE30-5B42-49AB-B442-DA48DFBF56ED id id 1522225739 zhenghong 1541490586 zhenghong bigint 1 1 81AA6507-AEAF-445F-8BCA-FE792FD6167D product_id product_id 1522226077 zhenghong 1522398713 zhenghong bigint 5C55D312-2E41-4F12-80A1-D6220C9E71E0 product_name product_name 1522225762 zhenghong 1522226008 zhenghong varchar(64) 64 D1CF9580-8D7D-44B9-82A5-1227DC667978 recommend_status recommend_status 1522225762 zhenghong 1522226008 zhenghong int(1) 1 6B5CC5E0-6B02-4C2B-A8DB-EDAC443C4924 sort sort 1522225762 zhenghong 1522226008 zhenghong int(1) 1 7256867D-3478-4506-AA49-3528838619BD Key_1 Key_1 1522225739 zhenghong 1541490586 zhenghong 6B4E377F-EF19-4F4C-8FA6-0179636E1DD0 sms_home_recommend_subject sms_home_recommend_subject 1522223818 zhenghong 1542179474 zhenghong 首页推荐专题表 BB3B377B-FD15-4644-9382-23DEE1D35C62 id id 1522224202 zhenghong 1542179474 zhenghong bigint 1 1 76387001-86B6-464D-9C61-25F2D7290848 subject_id subject_id 1522226272 zhenghong 1522226311 zhenghong bigint FBF57C52-1D78-415A-A0F1-8C22ECDD209F subject_name subject_name 1522224216 zhenghong 1522226180 zhenghong varchar(64) 64 95A506FC-F1AE-4FDC-A8B6-14DDC2C7686D recommend_status recommend_status 1522224216 zhenghong 1522226140 zhenghong int(1) 1 B7738C94-3636-4CDF-9361-426285F61C01 sort sort 1522224339 zhenghong 1522226140 zhenghong int 4024BDA0-F53B-48E3-AD69-82EDDF413307 Key_1 Key_1 1522224202 zhenghong 1542179474 zhenghong 02B689AF-49BE-4746-9132-46B2A938FDCB sms_home_advertise sms_home_advertise 1522227700 zhenghong 1541578000 zhenghong 首页轮播广告表 2794FB1E-CC31-453F-BE91-089DEA2F10D0 id id 1522228220 zhenghong 1522228237 zhenghong bigint 1 1 170EB06D-58AC-4810-AA05-2E800F4402A7 name name 1522228234 zhenghong 1522228288 zhenghong varchar(100) 100 2D08193E-455A-44D9-8568-65DFC657C51C type type 1522228234 zhenghong 1522228317 zhenghong 轮播位置:0->PC首页轮播;1->app首页轮播 int(1) 1 5BBDEC82-0B2C-4005-AE60-30C24AB2C60B pic pic 1522228288 zhenghong 1522228387 zhenghong varchar(500) 500 9544B543-B26F-4A94-8533-D1CD347E092A start_time start_time 1522228288 zhenghong 1522228387 zhenghong datetime EBE6682D-2345-42DD-B161-78D72008FC58 end_time end_time 1522228288 zhenghong 1522228387 zhenghong datetime 1E82BBF3-64A8-4937-B8E8-2EF1E5396463 status status 1522228288 zhenghong 1522228415 zhenghong 上下线状态:0->下线;1->上线 int(1) 1 7FED5C77-61EC-4ED3-BC71-69B346DB69BD click_count click_count 1522228387 zhenghong 1522228455 zhenghong 点击数 int 28ED368B-9046-4647-8365-6C3CC1A73A00 order_count order_count 1522228387 zhenghong 1522228465 zhenghong 下单数 int 18C101B3-A72F-483F-9A9A-68C90EA4A002 url url 1522228518 zhenghong 1522228545 zhenghong 链接地址 varchar(500) 500 E271F2ED-7B8E-4D02-94F9-DCC3B014B01D note note 1522228518 zhenghong 1522228572 zhenghong 备注 varchar(500) 500 08E34019-824F-4A5D-8635-8CA439722F8E sort sort 1541577989 zhenghong 1541578016 zhenghong 排序 0 int {F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0= {B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0= 8C05A0D5-5A40-4E5F-803C-21DE1581AB40 Key_1 Key_1 1522228220 zhenghong 1522228234 zhenghong 781E9BBD-7312-4347-A32B-F153B07BC2D6 sms_flash_promotion sms_flash_promotion 1522300652 zhenghong 1522301372 zhenghong 限时购表 A001C3CA-7F30-48B5-BBCA-4DE4FF3AC6D7 id id 1522300654 zhenghong 1542179315 zhenghong bigint 1 1 E7B4D1BF-2B28-4CB5-A266-BF73B2C545CD title title 1522300794 zhenghong 1522300838 zhenghong varchar(200) 200 9E90026D-CCB7-42C4-8305-6C9ED00FBEAD start_date start_date 1522300794 zhenghong 1542178643 zhenghong 开始日期 date 9C92406F-BE6E-4DD0-B9F6-B6DB731826D8 end_date end_date 1522300794 zhenghong 1542178653 zhenghong 结束日期 date 7CF4BD09-90C4-4A00-861D-E4BB0DEDE4F0 status status 1522300794 zhenghong 1522300845 zhenghong 上下线状态 int(1) 1 8D6B6BCE-483E-49D8-9BFE-66FF9BAF4E04 create_time create_time 1522301354 zhenghong 1542178658 zhenghong 秒杀时间段名称 datetime E91F0404-5C5E-465C-965B-AA29A2AC352C Key_1 Key_1 1522300654 zhenghong 1522300717 zhenghong FC0B4AB8-B381-4962-9E00-9012B9389DB2 sms_flash_promotion_log sms_flash_promotion_log 1522303116 zhenghong 1522303410 zhenghong 限时购通知记录 8D5CC3D3-9472-4F2E-85C5-141575078624 id id 1522303118 zhenghong 1522303155 zhenghong int 1 1 43575263-62FC-44CF-9134-A53E2549A413 member_id member_id 1522303390 zhenghong 1522303400 zhenghong int 0E5CDA77-D030-43C4-8F3F-62F1DDAF2321 product_id product_id 1522303410 zhenghong 1522303424 zhenghong bigint 58059F15-8E1E-441A-B852-B83A2DC6AF61 member_phone member_phone 1522303170 zhenghong 1522303291 zhenghong varchar(64) 64 E37B4C93-8839-4792-A41C-174666319BC6 product_name product_name 1522303170 zhenghong 1522303291 zhenghong varchar(100) 100 26E55C30-24F2-46E9-8FB8-937189C88290 subscribe_time subscribe_time 1522303170 zhenghong 1522303306 zhenghong 会员订阅时间 datetime 63E8BD65-5DC6-4E86-90D0-81644C960C3A send_time send_time 1522303170 zhenghong 1522303291 zhenghong datetime F5CEFAF5-C8E0-41B0-8893-07DF42A1591B Key_1 Key_1 1522303118 zhenghong 1522303152 zhenghong 284E46B4-B9CC-41C1-B331-6F43782ADCC3 ums_admin ums_admin 1522303730 zhenghong 1538200957 zhenghong 后台用户表 6D584959-4514-4CEC-A0D4-785E46D1A943 id id 1522303731 zhenghong 1522303915 zhenghong bigint 1 1 C69E81B8-3A8A-4F1C-AD79-05187FCF35D3 username username 1522303731 zhenghong 1538199970 zhenghong 用户名 varchar(64) 64 7EB23336-7D63-4C02-AD85-17DA3DC93E6A password password 1522303731 zhenghong 1538199975 zhenghong 密码 varchar(64) 64 FD9B4CBF-DDF3-4CC8-BD69-15221A3E52A8 icon icon 1522303731 zhenghong 1522303910 zhenghong 头像 varchar(500) 500 68129CD9-A241-453D-9223-FB146806D646 email email 1522303731 zhenghong 1538199986 zhenghong 邮箱 varchar(100) 100 5722E92D-6F67-43AA-B480-756C0DC91BDE nick_name nick_name 1538199900 zhenghong 1538199929 zhenghong 昵称 varchar(200) 200 FF0D16AA-77D3-4829-B8E2-9831244DE3B9 note note 1538199923 zhenghong 1538200014 zhenghong 备注信息 varchar(500) 500 AFA0423A-C6BD-424F-B7DB-85D9635EB5A6 create_time create_time 1538200009 zhenghong 1538200107 zhenghong 创建时间 datetime 8CBC1229-E6C7-4EB9-B50D-E765E651E3F4 login_time login_time 1538200009 zhenghong 1538200119 zhenghong 最后登录时间 datetime 63B04D92-8CF8-40F0-855D-272C2976729F status status 1538200789 zhenghong 1538200890 zhenghong 帐号启用状态:0->禁用;1->启用 1 int(1) 1 DC1A590C-BB4F-430C-A34E-014AEC5844D1 Key_1 Key_1 1522303731 zhenghong 1522303905 zhenghong DC20F109-83F4-4E8A-B2CF-299453506A86 ums_admin_login_log ums_admin_login_log 1522303928 zhenghong 1522304178 zhenghong 后台用户登录日志表 8F7618DF-D0CA-48C3-9E4F-CBAA9A41A69B id id 1522303929 zhenghong 1522303971 zhenghong bigint 1 1 C8AEFA16-C796-4CED-902C-21EA9F55C75C admin_id admin_id 1522304178 zhenghong 1522304187 zhenghong bigint B535BE06-4C99-4645-9B42-D984356CF2FF create_time create_time 1522303968 zhenghong 1522304151 zhenghong datetime 6236706F-C5E9-44A6-8BC2-FE0D2F8C8476 ip ip 1522303968 zhenghong 1522304151 zhenghong varchar(64) 64 9E05D212-E28A-463B-9F1D-87FD83F90421 address address 1522303968 zhenghong 1522304151 zhenghong varchar(100) 100 D481AC77-5DC7-490F-856C-C3676F9407AA user_agent user_agent 1522303968 zhenghong 1522304158 zhenghong 浏览器登录类型 varchar(100) 100 127CDB1B-576E-4CE4-B977-681E887F8EEE Key_1 Key_1 1522303929 zhenghong 1522303968 zhenghong A6C67972-0C12-4876-8087-2E48F9028CA7 ums_member_level ums_member_level 1522379808 zhenghong 1542179474 zhenghong 会员等级表 129583EA-DC62-4E57-AEF8-FCA2A4DD3BD4 id id 1522379810 zhenghong 1542179474 zhenghong bigint 1 1 4D12F464-1BC3-4D75-9BF6-AB23F4899E9B name name 1522379831 zhenghong 1522379896 zhenghong varchar(100) 100 38041EA5-676A-4D2B-931F-8158FDA8CB48 growth_point growth_point 1522379831 zhenghong 1522379896 zhenghong int 63E410FA-E2CC-41F9-9FE9-9272F61F19A1 default_status default_status 1522379896 zhenghong 1522379987 zhenghong 是否为默认等级:0->不是;1->是 int(1) 1 4B60128E-FF93-4486-B758-081868324568 free_freight_point free_freight_point 1522379964 zhenghong 1522380124 zhenghong 免运费标准 decimal(10,2) 10 2 9A810F9D-3942-417E-9057-39A71284BEB1 comment_growth_point comment_growth_point 1522380184 zhenghong 1522380212 zhenghong 每次评价获取的成长值 int 437D93E8-BC05-48F4-9103-AAADEC2F18B3 priviledge_free_freight priviledge_free_freight 1522380199 zhenghong 1522380558 zhenghong 是否有免邮特权 int(1) 1 4ACB8B0D-322B-4240-994A-BF76A866C4C1 priviledge_sign_in priviledge_sign_in 1522380199 zhenghong 1522380566 zhenghong 是否有签到特权 int(1) 1 76160658-2A87-4D99-8A9E-9F2CA2752530 priviledge_comment priviledge_comment 1522380199 zhenghong 1522380592 zhenghong 是否有评论获奖励特权 int(1) 1 4BFAE1D1-5395-4502-BA29-FD53E5C998FF priviledge_promotion priviledge_promotion 1522380199 zhenghong 1522380617 zhenghong 是否有专享活动特权 int(1) 1 4D408989-5456-40D8-AEEE-9E1E14564E6A priviledge_member_price priviledge_member_price 1522380199 zhenghong 1522747697 zhenghong 是否有会员价格特权 int(1) 1 3C4297F8-BFE4-42AC-8967-1627A0EB62AE priviledge_birthday priviledge_birthday 1522380199 zhenghong 1522380640 zhenghong 是否有生日特权 int(1) 1 CD9D3466-6A59-4BD3-B7BC-8B3478EDA73B note note 1522386815 zhenghong 1522386830 zhenghong varchar(200) 200 E6F6D42A-97D4-4207-B966-0BBD47776D79 Key_1 Key_1 1522379810 zhenghong 1542179474 zhenghong 31084C7B-4E3D-4630-A484-B457DFC84069 ums_member_product_category_relation ums_member_product_category_relation 1522387387 zhenghong 1522387526 zhenghong 会员与产品分类关系表(用户喜欢的分类) 9F3E472B-AE33-4C2A-BC75-F7EF6CD3F295 id id 1522387388 zhenghong 1522387447 zhenghong bigint 1 1 CF33591F-94A0-4ECB-A19E-1FCDECAEFB2B member_id member_id 1522387461 zhenghong 1522391508 zhenghong bigint 26A81B95-6339-4F97-9FD9-7A9343D8FC3C product_category_id product_category_id 1522387526 zhenghong 1522387541 zhenghong bigint 319FB1F7-17E2-404B-8A53-1D83019DBED4 Key_1 Key_1 1522387388 zhenghong 1522387444 zhenghong 94C05B4D-0F20-4449-8EC4-52604C753834 ums_member_statistics_info ums_member_statistics_info 1522387906 zhenghong 1522390765 zhenghong 会员统计信息 6B92C176-B80A-42DF-913D-4B9F276C8DEE id id 1522387936 zhenghong 1522391425 zhenghong bigint 1 1 D357658D-303B-4EF3-AC8E-E97A22EB9F28 member_id member_id 1522389232 zhenghong 1522391425 zhenghong bigint 854439C2-AEFC-4DBE-B9F0-26F768FACD07 consume_amount consume_amount 1522387970 zhenghong 1522388137 zhenghong 累计消费金额 decimal(10,2) 10 2 6F0A7AA7-4899-4BD7-B041-449A73F83B50 order_count order_count 1522388177 zhenghong 1522388194 zhenghong 订单数量 int 03C07BA1-E675-412B-AE21-FC427A919156 coupon_count coupon_count 1522388366 zhenghong 1522388384 zhenghong 优惠券数量 int 40B971A2-E3E9-4987-9B21-2455EF702FA4 comment_count comment_count 1522388395 zhenghong 1522388414 zhenghong 评价数 int 285C0BDD-D3D2-4715-969F-3F04972A9216 return_order_count return_order_count 1522388791 zhenghong 1522388810 zhenghong 退货数量 int D44D9C8E-834B-49C2-A487-19243A6B75C7 login_count login_count 1522388804 zhenghong 1522388842 zhenghong 登录次数 int A6954A96-3E39-412D-8648-6420D1DE69A8 attend_count attend_count 1522388885 zhenghong 1522388911 zhenghong 关注数量 int 801A9777-A84E-455D-87DB-CB5F223BEC40 fans_count fans_count 1522388904 zhenghong 1522388949 zhenghong 粉丝数量 int E7A5B7B0-3561-4149-A49A-F8130558ABBD collect_product_count collect_product_count 1522388944 zhenghong 1522389176 zhenghong int 5E257B18-EF0C-4C89-941D-78783C0D17DF collect_subject_count collect_subject_count 1522388944 zhenghong 1522389176 zhenghong int 37323B30-236A-4CAE-B7E5-AE3A5F527ABA collect_topic_count collect_topic_count 1522388944 zhenghong 1522389176 zhenghong int 186B8DCF-6580-4D89-AA2B-89333527FCD6 collect_comment_count collect_comment_count 1522388944 zhenghong 1522389176 zhenghong int 29465239-85D6-4029-B631-809C1AC7F1FB invite_friend_count invite_friend_count 1522388944 zhenghong 1522389309 zhenghong int C133A420-C28D-4442-B747-9CFEA1E2FA2A recent_order_time recent_order_time 1522390747 zhenghong 1522390773 zhenghong 最后一次下订单时间 datetime 920005AF-C54B-4D67-9D61-7A15D96EC34D Key_1 Key_1 1522387936 zhenghong 1522387970 zhenghong C1C1114F-DE94-4DF6-80DD-7A8210AC0D1B ums_member_receive_address ums_member_receive_address 1522390106 zhenghong 1535437101 zhenghong 会员收货地址表 98B61DFE-761A-4910-A45C-89DE44A801BD id id 1522390108 zhenghong 1522390428 zhenghong bigint 1 1 817400C5-8063-4373-9F89-F52F0AA9E815 member_id member_id 1522390434 zhenghong 1522391455 zhenghong bigint AFF04439-EC58-4338-8228-623D8193B384 name name 1522390108 zhenghong 1522390245 zhenghong 收货人名称 varchar(100) 100 0CDFE5D1-E06C-466F-B066-F6FFC0FC0873 phone_number phone_number 1522390108 zhenghong 1522390221 zhenghong varchar(64) 64 2D383AAE-D002-480B-B081-4ABB9A0FE45F default_status default_status 1522390286 zhenghong 1522390346 zhenghong 是否为默认 int(1) 1 013038D3-3265-4B47-AA73-C893A6006BD8 post_code post_code 1522390221 zhenghong 1522390293 zhenghong 邮政编码 varchar(100) 100 214E7869-4680-4DDC-A4AF-611BDB9DB594 province province 1535436971 zhenghong 1535437029 zhenghong 省份/直辖市 varchar(100) 100 B014298F-01AD-4171-9D9F-916D27574AB6 city city 1535436971 zhenghong 1535437115 zhenghong 城市 varchar(100) 100 106C677E-A9B6-40ED-A992-CD0CADF4BFFF region region 1535437026 zhenghong 1535437123 zhenghong varchar(100) 100 4EDEC710-4328-4BF8-BCCC-EA8EAAA48FF1 detail_address detail_address 1522390108 zhenghong 1535436990 zhenghong 详细地址(街道) varchar(128) 128 DF83812C-9AB1-43B1-9C66-06DDD339917E Key_1 Key_1 1522390409 zhenghong 1522390420 zhenghong 202E7837-16F9-471E-8D27-BADDF8ABC40F ums_member_login_log ums_member_login_log 1522390511 zhenghong 1522747822 zhenghong 会员登录记录 4B9B3F0B-970F-4BD2-ADA9-9B5AF12CB5AB id id 1522390513 zhenghong 1522390660 zhenghong bigint 1 1 96996021-E445-4698-B1A6-42E723CA01EF member_id member_id 1522390644 zhenghong 1522391446 zhenghong bigint D5AD4C5C-E858-4BA3-8DB3-741A4D6D780C create_time create_time 1522390531 zhenghong 1522747822 zhenghong datetime EA660841-B4C3-4D58-BA70-765F688BBFB9 ip ip 1522390531 zhenghong 1522390603 zhenghong varchar(64) 64 4129F50F-3EB2-402A-8239-25FB68B06BE1 city city 1522390531 zhenghong 1522390603 zhenghong varchar(64) 64 9C080457-2FBF-4EEA-B7DF-B465681C679C login_type login_type 1522390531 zhenghong 1522390637 zhenghong 登录类型:0->PC;1->android;2->ios;3->小程序 int(1) 1 026D0B9F-44F5-4302-8766-551E0CBA48E2 province province 1522747786 zhenghong 1522747822 zhenghong varchar(64) 64 EC511DBF-DA00-49B0-9DD3-AE6E4E18496A Key_1 Key_1 1522390513 zhenghong 1522390531 zhenghong 2A13105F-B4ED-4672-A401-CDDE4B9CE410 ums_member_tag ums_member_tag 1522390830 zhenghong 1522391227 zhenghong 用户标签表 438F1497-2B84-4368-AE85-9E1806F36FC9 id id 1522390831 zhenghong 1522390857 zhenghong bigint 1 1 96FB084C-E214-4481-95FD-52FF9AF5C1FA name name 1522390831 zhenghong 1522391227 zhenghong varchar(100) 100 C727F26A-5CFA-4C30-9EE3-A5F87998DE9E finish_order_count finish_order_count 1522390854 zhenghong 1522391257 zhenghong 自动打标签完成订单数量 int 148613FB-7BCE-4145-B955-B0077E630B6E finish_order_amount finish_order_amount 1522390854 zhenghong 1522391246 zhenghong 自动打标签完成订单金额 decimal(10,2) 10 2 02E5405B-3466-42C6-B07B-090E17D190BA Key_1 Key_1 1522390831 zhenghong 1522390854 zhenghong 2D7B72D8-D25F-4A09-B4FA-16D2CEC9752A ums_member_member_tag_relation ums_member_member_tag_relation 1522391304 zhenghong 1522391380 zhenghong 用户和标签关系表 BB1BD091-E5C8-4C12-8A9A-C2ADC962E7E5 id id 1522391305 zhenghong 1522391363 zhenghong bigint 1 1 854EDA6D-D3FB-4AFF-92AD-1FDF1DC32E1E member_id member_id 1522391366 zhenghong 1522391394 zhenghong bigint 89D08954-C6F1-4B1F-8BAE-E19BDF39DE08 tag_id tag_id 1522391379 zhenghong 1522391394 zhenghong bigint AEBACA14-2E96-4718-ACE9-C6F76721B8E8 Key_1 Key_1 1522391305 zhenghong 1522391349 zhenghong 58F43871-0D7C-4478-9A1B-43102436A177 ums_integration_change_history ums_integration_change_history 1522396385 zhenghong 1522396758 zhenghong 积分变化历史记录表 457FA52E-BCCD-40B6-9595-2597CD6C75E2 id id 1522396386 zhenghong 1522396494 zhenghong bigint 1 1 9964C6D5-F7BD-40FB-957B-7A66DFF172A4 member_id member_id 1522396648 zhenghong 1522396659 zhenghong bigint BCF4B5AF-DEA0-4D46-8A23-E5348BF281C8 create_time create_time 1522396491 zhenghong 1522396534 zhenghong datetime 52CE81B5-6BDF-40F0-97BA-2DC303583FF4 change_type change_type 1522396491 zhenghong 1522396606 zhenghong 改变类型:0->增加;1->减少 int(1) 1 6D9BAE2A-F62A-4DA0-B9B4-AD3695E3ADEC change_count change_count 1522396491 zhenghong 1522396606 zhenghong 积分改变数量 int E63C6C7E-249C-4653-AF54-3DF677FF8B65 operate_man operate_man 1522396534 zhenghong 1522396612 zhenghong 操作人员 varchar(100) 100 079B7A28-0F20-4439-934B-AC8ABA31B76A operate_note operate_note 1522396606 zhenghong 1522396638 zhenghong 操作备注 varchar(200) 200 A51DAFDF-D7E9-403D-A31F-7341E809448F source_type source_type 1522396738 zhenghong 1522396780 zhenghong 积分来源:0->购物;1->管理员修改 int(1) 1 A0C0BBC3-CBCB-4FD0-A047-91D827AFA920 Key_1 Key_1 1522396386 zhenghong 1522396491 zhenghong DDBBBFBE-DCB3-4F92-A291-19A1F5767709 ums_growth_change_history ums_growth_change_history 1522396385 zhenghong 1522396864 zhenghong 成长值变化历史记录表 0161A828-441F-4CAB-90F0-2FC4EF6A6B3F id id 1522396386 zhenghong 1522396809 zhenghong bigint 1 1 B546E2F7-48AB-4A7C-A4A0-28A667D75391 member_id member_id 1522396864 zhenghong 1522396878 zhenghong bigint D33F598C-18B5-4DF4-8326-FF7328B10F00 create_time create_time 1522396491 zhenghong 1522396809 zhenghong datetime A0377031-7298-442C-B4DF-94C554828629 change_type change_type 1522396491 zhenghong 1522396809 zhenghong 改变类型:0->增加;1->减少 int(1) 1 0EF45C85-5160-4E92-A3A6-C4B546D93214 change_count change_count 1522396491 zhenghong 1522396809 zhenghong 积分改变数量 int 4893755C-D937-4D36-9611-B9AD46A57BAA operate_man operate_man 1522396534 zhenghong 1522396809 zhenghong 操作人员 varchar(100) 100 6CA349B8-491B-4E27-880E-D83491AB7849 operate_note operate_note 1522396606 zhenghong 1522396809 zhenghong 操作备注 varchar(200) 200 52268506-CE01-481B-ABD3-F84E4E9758C9 source_type source_type 1522396738 zhenghong 1522396809 zhenghong 积分来源:0->购物;1->管理员修改 int(1) 1 2BAA5513-B2CF-4B60-A990-6319EB2671C4 Key_1 Key_1 1522396386 zhenghong 1522396809 zhenghong D2D961A9-BB8B-41D8-A501-1AF511F65DF9 ums_member_task ums_member_task 1522397182 zhenghong 1522397290 zhenghong 会员任务表 56B17C0E-8FBA-4594-8C45-1FF6469A7159 id id 1522397183 zhenghong 1522397211 zhenghong bigint 1 1 65D902D3-95D4-4540-BC18-F384B3710D83 name name 1522397207 zhenghong 1522397290 zhenghong varchar(100) 100 20EF2EF9-E621-4652-B334-862949676CA3 growth growth 1522397207 zhenghong 1522397322 zhenghong 赠送成长值 int 55E587FF-CF0D-45D0-B63D-171E313D0FEB intergration intergration 1522397207 zhenghong 1522397329 zhenghong 赠送积分 int 6878B9A3-18D2-4405-97D4-B3BE49EBA993 type type 1522397207 zhenghong 1522397312 zhenghong 任务类型:0->新手任务;1->日常任务 int(1) 1 EA426689-78F7-40C2-B520-83BA9FCC54D1 Key_1 Key_1 1522397183 zhenghong 1522397207 zhenghong 9E564377-D9BE-4655-AC2E-13B0FD5CAF22 ums_member_rule_setting ums_member_rule_setting 1522397511 zhenghong 1522397900 zhenghong 会员积分成长规则表 125CFE60-6A33-4680-B726-FC5E68082C98 id id 1522397511 zhenghong 1522397554 zhenghong bigint 1 1 38E3DC37-0559-41F6-84C0-3F5C43C48FF0 continue_sign_day continue_sign_day 1522397551 zhenghong 1522397634 zhenghong 连续签到天数 int 9508FDB7-6018-4E59-A007-49274C4627DC continue_sign_point continue_sign_point 1522397620 zhenghong 1522397799 zhenghong 连续签到赠送数量 int 2D67D7C4-242F-4287-AE03-819499C5EEE9 consume_per_point consume_per_point 1522397671 zhenghong 1522397900 zhenghong 每消费多少元获取1个点 decimal(10,2) 10 2 3099A480-47E9-45F0-9183-7884D0C8B799 low_order_amount low_order_amount 1522397671 zhenghong 1522397933 zhenghong 最低获取点数的订单金额 decimal(10,2) 10 2 10ECB92A-03AE-4EC0-9F92-D4693B754400 max_point_per_order max_point_per_order 1522397799 zhenghong 1522397949 zhenghong 每笔订单最高获取点数 int BBA261DE-035F-41ED-96F8-64CF61B19EB8 type type 1522397799 zhenghong 1522397970 zhenghong 类型:0->积分规则;1->成长值规则 int(1) 1 B72372E9-CEF8-4759-A874-B60E418F73DE Key_1 Key_1 1522397511 zhenghong 1522397551 zhenghong C1DCA2EA-AC28-420C-BFEF-FFE7F5644910 ums_integration_consume_setting ums_integration_consume_setting 1522398032 zhenghong 1535615091 zhenghong 积分消费设置 5A65A4E0-C798-494B-89AA-899A5FE7ECC3 id id 1522398033 zhenghong 1522398074 zhenghong bigint 1 1 E5B7DEEB-C659-43D6-A649-4A7AA6BA968A deduction_per_amount deduction_per_amount 1522398071 zhenghong 1522398169 zhenghong 每一元需要抵扣的积分数量 int 3F3EBC7E-C661-4BF6-9748-A63740946E37 max_percent_per_order max_percent_per_order 1522398150 zhenghong 1522398207 zhenghong 每笔订单最高抵用百分比 int A51ACE1C-D2CC-4935-AEEE-392472F47BA1 use_unit use_unit 1522398194 zhenghong 1522398281 zhenghong 每次使用积分最小单位100 int 381B38BC-D7D6-44F6-8E9A-7EC3ED2D96C3 coupon_status coupon_status 1522398253 zhenghong 1522398330 zhenghong 是否可以和优惠券同用;0->不可以;1->可以 int(1) 1 E57C57B8-9833-47BB-905A-F54F0A5010DA Key_1 Key_1 1522398033 zhenghong 1522398071 zhenghong 9FDE9178-BEB4-4D80-8DFE-245B7FA5954D oms_order oms_order 1522658325 zhenghong 1541490586 zhenghong 订单表 3563269E-6EED-49DE-AC40-20CDE76A70F7 id id 1522658326 zhenghong 1541490586 zhenghong 订单id bigint 1 1 1BFDD362-9A3F-4A39-A46A-988EFE0700F4 member_id member_id 1522659209 zhenghong 1535612363 zhenghong bigint 1 7A1BB5A1-6ACE-4259-9D2F-A11D74465729 coupon_id coupon_id 1522724329 zhenghong 1522724373 zhenghong bigint 190337D5-DBCF-44C7-8E8F-60BA716C7D73 order_sn order_sn 1522658365 zhenghong 1522658432 zhenghong 订单编号 varchar(64) 64 42DE6A32-DB28-4441-9D31-43954E2B32F8 create_time create_time 1522658421 zhenghong 1522658633 zhenghong 提交时间 datetime B66D00FB-2706-4456-9C8D-5BE63900E843 member_username member_username 1522658628 zhenghong 1522658689 zhenghong 用户帐号 varchar(64) 64 93AF6B00-CE9F-4E65-852A-21DF3E8E38D3 total_amount total_amount 1522658628 zhenghong 1522723559 zhenghong 订单总金额 decimal(10,2) 10 2 AA07B22F-DFD0-4443-B124-4E7A948B8F1A pay_amount pay_amount 1535611784 zhenghong 1535611836 zhenghong 应付金额(实际支付金额) decimal(10,2) 10 2 93484605-04CB-4451-BA1C-1D43843E1FE8 freight_amount freight_amount 1522723575 zhenghong 1522723610 zhenghong 运费金额 decimal(10,2) 10 2 31D4C71F-D7FF-4C00-88F3-D1A8B195D948 promotion_amount promotion_amount 1522723762 zhenghong 1522723859 zhenghong 促销优化金额(促销价、满减、阶梯价) decimal(10,2) 10 2 2AC97908-B95C-4C45-AD78-5AEBD42D415E integration_amount integration_amount 1522723873 zhenghong 1522723942 zhenghong 积分抵扣金额 decimal(10,2) 10 2 BDECF3D8-B85D-459A-9336-D298B11A129C coupon_amount coupon_amount 1522724126 zhenghong 1522724255 zhenghong 优惠券抵扣金额 decimal(10,2) 10 2 570A30CB-E74E-4D54-A2F5-354511EEAD73 discount_amount discount_amount 1522724794 zhenghong 1522724828 zhenghong 管理员后台调整订单使用的折扣金额 decimal(10,2) 10 2 2506F5AD-C896-45DA-B1A9-47A3F09F32A7 pay_type pay_type 1522658684 zhenghong 1522747151 zhenghong 支付方式:0->未支付;1->支付宝;2->微信 int(1) 1 1E796BD6-898E-4EDA-8ADE-A86D6305ED56 source_type source_type 1522658832 zhenghong 1522658869 zhenghong 订单来源:0->PC订单;1->app订单 int(1) 1 EBDE3354-1D7D-43AF-ADC1-D73233AF9967 status status 1522658850 zhenghong 1522659024 zhenghong 订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 int(1) 1 17C117FA-5488-480A-98AD-35E18E6B084D order_type order_type 1522658951 zhenghong 1522659122 zhenghong 订单类型:0->正常订单;1->秒杀订单 int(1) 1 61822C95-27AC-4143-8C5F-CDE6DFE15B2C delivery_company delivery_company 1522659709 zhenghong 1522725481 zhenghong 物流公司(配送方式) varchar(64) 64 91DA7F9F-8F28-4D16-8A89-1379C5141304 delivery_sn delivery_sn 1522659876 zhenghong 1522659902 zhenghong 物流单号 varchar(64) 64 ACB792D2-4ED5-47EE-BAFD-C389DAAA07E3 auto_confirm_day auto_confirm_day 1522659893 zhenghong 1522659955 zhenghong 自动确认时间(天) int C142CF56-1ED7-4D71-95DF-9F114248A7BC integration integration 1522660001 zhenghong 1522660021 zhenghong 可以获得的积分 int EA968274-2B27-4C3C-9565-619251E927BA growth growth 1522660001 zhenghong 1522660081 zhenghong 可以活动的成长值 int B8CC6F72-DB4E-4A81-9D94-16B7AE9470A1 promotion_info promotion_info 1522660053 zhenghong 1522660086 zhenghong 活动信息 varchar(100) 100 BBE7BE20-0F91-48B2-96EA-7852ACCE40D1 bill_type bill_type 1522660081 zhenghong 1522660200 zhenghong 发票类型:0->不开发票;1->电子发票;2->纸质发票 int(1) 1 5A0811A5-51AF-47C2-A7F8-A2909F856961 bill_header bill_header 1522660171 zhenghong 1522660226 zhenghong 发票抬头 varchar(200) 200 B0E18290-D990-4622-B718-71A7113E9480 bill_content bill_content 1522660220 zhenghong 1522660256 zhenghong 发票内容 varchar(200) 200 CE69C28B-C4BC-44AA-B3F2-30B6AD8390F8 bill_receiver_phone bill_receiver_phone 1522660252 zhenghong 1522660326 zhenghong 收票人电话 varchar(32) 32 DB7AE7E6-2321-4C2C-8580-7AEB802EBE2C bill_receiver_email bill_receiver_email 1522660252 zhenghong 1522660344 zhenghong 收票人邮箱 varchar(64) 64 98B312FD-4E06-4D2B-AC6F-970B84E6C73F receiver_name receiver_name 1522660318 zhenghong 1535612363 zhenghong 收货人姓名 varchar(100) 100 1 1174D5FE-B8AE-49E7-A4D2-F947BFE08091 receiver_phone receiver_phone 1522660394 zhenghong 1535612363 zhenghong 收货人电话 varchar(32) 32 1 AA0D5272-63FA-45D9-8816-9D547B177F10 receiver_post_code receiver_post_code 1522660418 zhenghong 1522660472 zhenghong 收货人邮编 varchar(32) 32 7E47519A-F397-40EF-A70D-4B26E116BD67 receiver_province receiver_province 1522660464 zhenghong 1522660527 zhenghong 省份/直辖市 varchar(32) 32 3218F635-7F7D-4A36-9BF2-E1C822053456 receiver_city receiver_city 1522660515 zhenghong 1522660549 zhenghong 城市 varchar(32) 32 8C3E74BC-0BCA-4E3F-A1F8-4C06D7192D4E receiver_region receiver_region 1522660544 zhenghong 1522660590 zhenghong varchar(32) 32 661DB749-D0D5-43E2-B96E-2444DA4DBA06 receiver_detail_address receiver_detail_address 1522660585 zhenghong 1522660613 zhenghong 详细地址 varchar(200) 200 F0169A36-508E-4CDA-8BD0-6077437C30DA note note 1522724892 zhenghong 1522724915 zhenghong 订单备注 varchar(500) 500 735D23D8-B7B2-4474-A113-1ED7AAA6C9B8 confirm_status confirm_status 1522725950 zhenghong 1522725999 zhenghong 确认收货状态:0->未确认;1->已确认 int(1) 1 1D7E85F6-2738-40D2-A69D-1B55994F607A delete_status delete_status 1535611815 zhenghong 1535612418 zhenghong 删除状态:0->未删除;1->已删除 0 int(1) 1 1 {F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0= {B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0= F556C92B-2EE8-48AB-B431-CABDBE189320 use_integration use_integration 1536136197 zhenghong 1536136230 zhenghong 下单时使用的积分 int 1D5BDFFC-6D63-44EA-8B7D-751C599A2A3A payment_time payment_time 1539236189 zhenghong 1539236349 zhenghong 支付时间 datetime D2094CD3-0C14-476E-9267-60186CD40813 delivery_time delivery_time 1539236207 zhenghong 1539236252 zhenghong 发货时间 datetime 70755468-D317-4803-9B06-3975443F82C3 receive_time receive_time 1539236247 zhenghong 1539236359 zhenghong 确认收货时间 datetime C9857D65-CC11-42E6-BE7C-03A1B181DCB4 comment_time comment_time 1539236349 zhenghong 1539236415 zhenghong 评价时间 datetime E2934ED3-7C35-4E4C-85C8-4554D6FED072 modify_time modify_time 1539236409 zhenghong 1539236440 zhenghong 修改时间 datetime F98BE405-9DED-4054-ABBF-40BD4672B58B Key_1 Key_1 1522658326 zhenghong 1541490586 zhenghong FDAAF085-F146-4ADE-919D-85D1DB4E61EE oms_order_item oms_order_item 1522660695 zhenghong 1540542634 zhenghong 订单中所包含的商品 C2ABF8A4-2DE7-4C17-8053-440A60BD8EE7 id id 1522660696 zhenghong 1522660748 zhenghong bigint 1 1 B1934126-97B4-461B-B2A8-D53CCF81245C order_id order_id 1522660753 zhenghong 1522660776 zhenghong 订单id bigint EA411763-23EA-4E27-97CD-1C0D5925157C order_sn order_sn 1522660755 zhenghong 1522660781 zhenghong 订单编号 varchar(64) 64 DCF7D58B-AD64-48B0-9A65-4FDAE9A32DFB product_id product_id 1522660820 zhenghong 1522660829 zhenghong bigint 7BDD65C2-224E-413D-AD83-437754569B1C product_pic product_pic 1522719518 zhenghong 1535696089 zhenghong varchar(500) 500 DFFC50EA-1E9A-4867-9EE8-B1A1B84E51E7 product_name product_name 1522719518 zhenghong 1522719560 zhenghong varchar(200) 200 68478EE9-703A-4DFD-A085-7B109BBF650D product_brand product_brand 1522719571 zhenghong 1522719666 zhenghong varchar(200) 200 27623FBE-2491-4310-AA4E-D93F4AD59154 product_sn product_sn 1522719571 zhenghong 1522719666 zhenghong varchar(64) 64 A9EF8281-439D-4D05-BB45-E933E648D979 product_price product_price 1522719571 zhenghong 1535694206 zhenghong 销售价格 decimal(10,2) 10 2 015E8942-52BF-4342-9C4C-1230A266C1C9 product_quantity product_quantity 1522723168 zhenghong 1535694166 zhenghong 购买数量 int EE8FDF66-7853-4BCE-98D9-40ADC13CC78F product_sku_id product_sku_id 1535693972 zhenghong 1535694126 zhenghong 商品sku编号 bigint B13B6661-62F2-461A-B375-7556D6DBE56D product_sku_code product_sku_code 1535693972 zhenghong 1535694135 zhenghong 商品sku条码 varchar(50) 50 6B11B4F4-2F88-4DA2-A6C6-B5563F8AB67F product_category_id product_category_id 1535938231 zhenghong 1535938276 zhenghong 商品分类id bigint 51302EF8-1CD4-43F5-9C02-7920ED857D35 sp1 sp1 1522724687 zhenghong 1522724745 zhenghong 商品的销售属性 varchar(100) 100 AA056090-3D72-4BAC-A931-CD49C31B9D7E sp2 sp2 1522724687 zhenghong 1522724738 zhenghong varchar(100) 100 C0CCCE2C-B2C8-44A1-9F6B-771BFE62D760 sp3 sp3 1522724687 zhenghong 1522724738 zhenghong varchar(100) 100 00A626D1-90DA-4262-8FFB-874691D67C3E promotion_name promotion_name 1535694274 zhenghong 1535694390 zhenghong 商品促销名称 varchar(200) 200 FCD8E9C9-7C56-47F0-8FBB-5534EB9B8FDE promotion_amount promotion_amount 1535694166 zhenghong 1535694826 zhenghong 商品促销分解金额 decimal(10,2) 10 2 073E4D15-F6EB-405D-9429-3A2FD362E949 coupon_amount coupon_amount 1535694274 zhenghong 1535694877 zhenghong 优惠券优惠分解金额 decimal(10,2) 10 2 B4781397-191A-42B9-AAF7-D96E7BC3449D integration_amount integration_amount 1535694826 zhenghong 1535694927 zhenghong 积分优惠分解金额 decimal(10,2) 10 2 AD7CAE73-04BF-4BB8-BEFA-E0A7B94BF373 real_amount real_amount 1522724652 zhenghong 1535694701 zhenghong 该商品经过优惠后的分解金额 decimal(10,2) 10 2 3FBC2AE3-3000-41C7-B78C-DB7AC7ABDC16 gift_integration gift_integration 1535964164 zhenghong 1535964238 zhenghong 商品赠送积分 0 int 1 C7705A4E-64E8-44A3-B3BE-7A8762E73CFD gift_growth gift_growth 1535964164 zhenghong 1535964251 zhenghong 商品赠送成长值 0 int 1 07F49796-6B7C-4A44-BF17-6EF191BE819A product_attr product_attr 1540542610 zhenghong 1540542637 zhenghong 商品销售属性:[{"key":"颜色","value":"颜色"},{"key":"容量","value":"4G"}] varchar(500) 500 8B728C73-2ED3-4C44-8C64-95692A16EA10 Key_1 Key_1 1522660696 zhenghong 1522660745 zhenghong E184F9AC-F126-46D6-A8FF-5F95FBA2F74D oms_order_operate_history oms_order_operate_history 1522724973 zhenghong 1522725331 zhenghong 订单操作历史记录 46247D13-9B17-44EB-9300-7BA49AC214FB id id 1522724975 zhenghong 1522725013 zhenghong bigint 1 1 CBAA2797-F782-492E-89D8-B87830B4FD86 order_id order_id 1522725331 zhenghong 1522725342 zhenghong 订单id bigint B26D3031-3438-4CAB-BC93-2277F41D2F64 operate_man operate_man 1522725011 zhenghong 1522725056 zhenghong 操作人:用户;系统;后台管理员 varchar(100) 100 14B87125-FC24-4D09-982E-F43F618B6C3A create_time create_time 1522725037 zhenghong 1522725076 zhenghong 操作时间 datetime 296A8CF6-1BC8-46E1-846F-25114FF35EEB order_status order_status 1522725072 zhenghong 1522725298 zhenghong 订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 int(1) 1 9F651D4E-088F-4735-ACAD-12ED16C49FDE note note 1522725292 zhenghong 1522725326 zhenghong 备注 varchar(500) 500 50772925-29B2-4E77-A02B-5AB8C229953C Key_1 Key_1 1522724975 zhenghong 1522725011 zhenghong A3448BD2-42B4-44EC-9BD2-9837B4DF8523 oms_order_setting oms_order_setting 1522726076 zhenghong 1522731991 zhenghong 订单设置表 03B16432-ECCE-4698-B24A-05554E64C35C id id 1522726077 zhenghong 1522726104 zhenghong bigint 1 1 AC98E6B7-ADDF-43AD-B2F0-6CFE7715E9F1 flash_order_overtime flash_order_overtime 1522726101 zhenghong 1522726218 zhenghong 秒杀订单超时关闭时间(分) int C4E474C5-194A-4B54-8DF1-F37B681DE42B normal_order_overtime normal_order_overtime 1522726150 zhenghong 1522726226 zhenghong 正常订单超时时间(分) int 773FEFCD-F4A3-4D9E-B061-10C12CA1B397 confirm_overtime confirm_overtime 1522726177 zhenghong 1522726257 zhenghong 发货后自动确认收货时间(天) int DD5B89B8-5DC6-4EB1-B916-D76BD75CB0F5 finish_overtime finish_overtime 1522731908 zhenghong 1522732014 zhenghong 自动完成交易时间,不能申请售后(天) int D090D0ED-6A45-445C-ADE3-F1E18734F159 comment_overtime comment_overtime 1522731929 zhenghong 1522732004 zhenghong 订单完成后自动好评时间(天) int 7C2ADDA9-1584-4310-A3FE-7F1E18447823 Key_1 Key_1 1522726077 zhenghong 1522726101 zhenghong 5006E5DC-16F9-4C44-ABAA-2812B50757BB oms_order_return_apply oms_order_return_apply 1522732897 zhenghong 1539746524 zhenghong 订单退货申请 CF99B61C-D0E5-4EB4-BFC6-111A9F3D44E8 id id 1522732898 zhenghong 1522732943 zhenghong bigint 1 1 A6E68B83-006A-468C-A461-C647705E038C order_id order_id 1522733188 zhenghong 1522733198 zhenghong 订单id bigint 8D1F23F9-09FD-416B-8E38-CFDE67721417 company_address_id company_address_id 1522745521 zhenghong 1539745624 zhenghong 收货地址表id bigint A6898418-67C2-4E9F-9093-6FF8782BD12F product_id product_id 1539746524 zhenghong 1539746553 zhenghong 退货商品id bigint 56ACAE3C-5533-44A1-BA57-602058B6CEF2 order_sn order_sn 1522733452 zhenghong 1522733474 zhenghong 订单编号 varchar(64) 64 F2C78E24-CDB0-4AA7-B6CD-21E55B380E95 create_time create_time 1522732939 zhenghong 1539746482 zhenghong 申请时间 datetime 70FBE2CF-BE0D-44DD-8679-39DAA782E1A3 member_username member_username 1522732939 zhenghong 1539745698 zhenghong 会员用户名 varchar(64) 64 7B8A70B3-9FC9-4136-BEC9-D2DF393DB988 return_amount return_amount 1522732939 zhenghong 1522733013 zhenghong 退款金额 decimal(10,2) 10 2 4FB9898E-63E4-4B21-B577-504320D3D4F9 return_name return_name 1522733003 zhenghong 1539745642 zhenghong 退货人姓名 varchar(100) 100 8ADCC57B-6CA5-4A89-8B5A-6283FE7B3DDF return_phone return_phone 1522733468 zhenghong 1522733653 zhenghong 退货人电话 varchar(100) 100 F01CC8D2-508C-424D-BF17-AE42ABE28223 status status 1522733003 zhenghong 1522733137 zhenghong 申请状态:0->待处理;1->退货中;2->已完成;3->已拒绝 int(1) 1 65402A2F-A01C-4B4D-9F19-9ACD48637159 handle_time handle_time 1522733003 zhenghong 1522733179 zhenghong 处理时间 datetime AADBD0C8-E8CD-45D6-BDF4-13840EEFA26C product_pic product_pic 1522733217 zhenghong 1539745750 zhenghong 商品图片 varchar(500) 500 B4BB6015-3948-411C-9558-6CAF55CEF04C product_name product_name 1522733217 zhenghong 1539745756 zhenghong 商品名称 varchar(200) 200 D30E609F-3F5C-401C-8690-EEA47B0E6694 product_brand product_brand 1522733217 zhenghong 1539745719 zhenghong 商品品牌 varchar(200) 200 86B4B2F7-9A36-47AC-A3DA-7F45FFF21639 product_attr product_attr 1522733217 zhenghong 1522733369 zhenghong 商品销售属性:颜色:红色;尺码:xl; varchar(500) 500 DE661909-8CDC-4C09-A0C1-5587F969523A product_count product_count 1522733332 zhenghong 1522733395 zhenghong 退货数量 int B16F9E1E-749A-477B-B8E1-70B635CC8F00 product_price product_price 1539746095 zhenghong 1539746212 zhenghong 商品单价 decimal(10,2) 10 2 442BB5FC-951A-43B5-94AD-B3C2E1C8F28F product_real_price product_real_price 1539746095 zhenghong 1539746225 zhenghong 商品实际支付单价 decimal(10,2) 10 2 B4DB3A15-7B0F-4C6D-B961-AF2C4CF14D50 reason reason 1522733512 zhenghong 1522733657 zhenghong 原因 varchar(200) 200 ECE8A578-4D6B-47EB-BB72-207D9BC93324 description description 1522733512 zhenghong 1522733663 zhenghong 描述 varchar(500) 500 E3C2C9CF-D72D-44AA-B1A3-5B5AC1950B63 proof_pics proof_pics 1522733653 zhenghong 1522733740 zhenghong 凭证图片,以逗号隔开 varchar(1000) 1000 B16F27C1-DFFA-40F1-83B5-F9DA3BB86FE6 handle_note handle_note 1522745027 zhenghong 1522745078 zhenghong 处理备注 varchar(500) 500 B8982C29-EB0D-4F63-A047-DDEDC91A78C3 handle_man handle_man 1522745592 zhenghong 1522745618 zhenghong 处理人员 varchar(100) 100 49E217E2-31BF-4F23-8125-62D5920E0B60 receive_man receive_man 1522745613 zhenghong 1522745658 zhenghong 收货人 varchar(100) 100 8111E4F5-B8EA-4DCB-B899-A2E4921E6BC2 receive_time receive_time 1522745652 zhenghong 1539745779 zhenghong 收货时间 datetime 4C802C73-FB19-4C09-84C3-37E152CA8299 receive_note receive_note 1522745652 zhenghong 1539745787 zhenghong 收货备注 varchar(500) 500 D06B934B-B63D-4DCC-B1C1-62F79744A8AC Key_1 Key_1 1522732898 zhenghong 1522732939 zhenghong 594B7799-023B-4DAF-840D-B224931CBA6C oms_company_address oms_company_address 1522745162 zhenghong 1539745228 zhenghong 公司收发货地址表 F5A62BE4-F0B9-46C3-8591-5864BB83220D id id 1522745164 zhenghong 1522745194 zhenghong bigint 1 1 359C7F83-8810-4F75-935C-8099B75676C6 address_name address_name 1522745192 zhenghong 1522745253 zhenghong 地址名称 varchar(200) 200 5AA8AC8B-9617-4A6F-B898-4206F7CE8169 send_status send_status 1522745248 zhenghong 1522745302 zhenghong 默认发货地址:0->否;1->是 int(1) 1 CDF1655B-32CC-4E54-BBE7-5F00549B7722 receive_status receive_status 1522745248 zhenghong 1522745328 zhenghong 是否默认收货地址:0->否;1->是 int(1) 1 F5195500-8663-482B-B587-27789546188C name name 1522745285 zhenghong 1539745228 zhenghong 收发货人姓名 varchar(64) 64 D51012F2-BECB-4E6B-A7E9-5B6AC06D9087 phone phone 1522745285 zhenghong 1522745508 zhenghong 收货人电话 varchar(64) 64 3D2DC8D4-9D56-4E95-8266-052132761CDE province province 1522745363 zhenghong 1539745209 zhenghong 省/直辖市 varchar(64) 64 57267BF2-434D-4AEC-8E6B-DDCAA85233F7 city city 1522745363 zhenghong 1539745217 zhenghong varchar(64) 64 F1F15023-139B-4048-8D0C-C9C46884C6E9 region region 1522745363 zhenghong 1539745223 zhenghong varchar(64) 64 D3EA532D-AD33-45AF-BA17-1FE7D821EE64 detail_address detail_address 1539745108 zhenghong 1539745239 zhenghong 详细地址 varchar(200) 200 9B8E57D5-D022-48D7-BA87-3214D2DAB1BD Key_1 Key_1 1522745164 zhenghong 1522745192 zhenghong 3FB6BF2A-C836-4B1F-AA9B-4219F4ECBC6D oms_order_return_reason oms_order_return_reason 1522745726 zhenghong 1539238788 zhenghong 退货原因表 8398CF1C-2327-4762-B370-7F7BB681FBE8 id id 1522745728 zhenghong 1533115911 zhenghong bigint 1 1 7C7CCC5E-FBE6-49A6-A428-95A8A078B4EA name name 1522745760 zhenghong 1522745845 zhenghong 退货类型 varchar(100) 100 0C284FC4-E892-4BFF-B0AC-AD9BCB8E39D2 sort sort 1522745760 zhenghong 1522745809 zhenghong int D0151FA2-84E3-4252-9565-766B748B7AD3 status status 1522745760 zhenghong 1522745824 zhenghong 状态:0->不启用;1->启用 int(1) 1 A3F8C1D7-A495-4E99-885D-FC8FB1E5747C create_time create_time 1539238773 zhenghong 1539238794 zhenghong 添加时间 datetime F0009D1F-CC14-45AA-BDB7-F25CFBBFE380 Key_1 Key_1 1522745728 zhenghong 1533115911 zhenghong 679BF191-40EF-4FC4-8140-D9DA8F283689 oms_cart_item oms_cart_item 1533108597 zhenghong 1582621132 zhenghong 购物车表 0496CCD8-F7CC-4DD4-AEE7-919D8EFCD676 id id 1533108649 zhenghong 1533108729 zhenghong bigint 1 1 BC6AB2CA-354D-447A-A466-54980B87F57F product_id product_id 1533109970 zhenghong 1533110009 zhenghong bigint 48241AB2-A6B4-48E5-A792-FAB72D97FD42 product_sku_id product_sku_id 1533115829 zhenghong 1533115861 zhenghong bigint 70CEB9F6-7F7D-4AB1-BB9D-3667BA109C72 member_id member_id 1533115896 zhenghong 1533115923 zhenghong bigint 8B8B68C0-7987-4E2B-9BAD-FF4F3428E03A quantity quantity 1533108721 zhenghong 1533108755 zhenghong 购买数量 int E2A71768-48C5-46B2-82B8-635169BFE66D price price 1533108747 zhenghong 1533108790 zhenghong 添加到购物车的价格 decimal(10,2) 10 2 B5A53CF7-C87D-411B-89DF-41888E2722C7 product_pic product_pic 1533110160 zhenghong 1533171242 zhenghong 商品主图 varchar(1000) 1000 E1A4F06D-34AE-4B0C-BCC6-F82BA9D1A76F product_name product_name 1533110160 zhenghong 1533171249 zhenghong 商品名称 varchar(500) 500 7BBD4FA7-9C75-4ECA-9E08-BBEAC572BCB1 product_brand product_brand 1535696251 zhenghong 1535696298 zhenghong varchar(200) 200 11170A56-1C61-4372-9E46-A3C9C587340E product_sn product_sn 1535696251 zhenghong 1535696298 zhenghong varchar(200) 200 2D4BFCEF-83F1-4697-8EF7-DCC5D2A9491D product_sub_title product_sub_title 1533110160 zhenghong 1533171264 zhenghong 商品副标题(卖点) varchar(500) 500 8A7E5878-BB5E-49F3-BE20-E6986E172BB3 product_sku_code product_sku_code 1533115799 zhenghong 1533171279 zhenghong 商品sku条码 varchar(200) 200 23C68713-D38A-4915-96E3-A9762199D386 member_nickname member_nickname 1533115939 zhenghong 1533171328 zhenghong 会员昵称 varchar(500) 500 5675315C-7265-4AC3-88D4-BC1525AC73B7 create_date create_date 1533116034 zhenghong 1533171335 zhenghong 创建时间 datetime 1D877A06-39CD-4A3C-B4A8-059588D13838 modify_date modify_date 1533116034 zhenghong 1533171341 zhenghong 修改时间 datetime 20EF4C13-435F-4C03-B8A9-7E31F1432E21 delete_status delete_status 1533172423 zhenghong 1533172643 zhenghong 是否删除 0 int(1) 1 9C9C2AC9-F58B-4D31-BEF4-1D1892931E51 product_category_id product_category_id 1535530934 zhenghong 1535530961 zhenghong 商品的分类 bigint B7274386-A224-491A-88E0-8FAADCA00C90 product_attr product_attr 1540542323 zhenghong 1540542603 zhenghong 商品销售属性:[{"key":"颜色","value":"银色"},{"key":"容量","value":"4G"}] varchar(500) 500 29D735B7-E618-4C13-AF03-3858C68E6BA4 Key_1 Key_1 1533108649 zhenghong 1533108680 zhenghong 76086A3D-70A2-4A7E-A4DA-9B79808A0A53 ums_role ums_role 1538200619 zhenghong 1538201383 zhenghong 后台用户角色表 2E853DB4-DEFD-42D5-A6BE-6226A3194CE4 id id 1538201005 zhenghong 1538201117 zhenghong bigint 1 1 A7C5F5AC-3D79-4BAB-A058-E801649746EB name name 1538201019 zhenghong 1538201122 zhenghong 名称 varchar(100) 100 013099EA-F84F-4262-9125-15DA3687C8CE description description 1538201019 zhenghong 1538201128 zhenghong 描述 varchar(500) 500 F376357B-61CA-46D5-BED7-51C5322735A9 admin_count admin_count 1538201117 zhenghong 1538201162 zhenghong 后台用户数量 int EAC9E6A6-7E67-44F0-B085-B7A2380828E9 create_time create_time 1538201155 zhenghong 1538201198 zhenghong 创建时间 datetime 8B4E2D43-F39C-46CD-B498-1CD02CDE1F81 status status 1538201193 zhenghong 1538201235 zhenghong 启用状态:0->禁用;1->启用 1 int(1) 1 CDB0B35E-6C3A-4FE5-9D47-E7682E71302E sort sort 1538201211 zhenghong 1538201486 zhenghong 0 int 14F5A838-542A-4B80-8627-B17FF80D3D0C Key_1 Key_1 1538201019 zhenghong 1538201117 zhenghong 4E46B794-7D2F-434B-9096-2F7DB97537BA ums_permission ums_permission 1538201545 zhenghong 1538202362 zhenghong 后台用户权限表 E945AB0D-430D-4564-A942-AFAF3D3C6106 id id 1538201548 zhenghong 1538201942 zhenghong bigint 1 1 {F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0= {B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0= B073CBDF-527E-4961-BF55-9C5A1F643303 pid pid 1538202362 zhenghong 1538202389 zhenghong 父级权限id bigint E06DA657-9A51-42D9-A915-3D76B6D12AC7 name name 1538201932 zhenghong 1538202068 zhenghong 名称 varchar(100) 100 C2345EAD-45D6-41E7-8EAA-9DB2FD0F6C48 value value 1538201932 zhenghong 1538202074 zhenghong 权限值 varchar(200) 200 471034FB-C5B6-49C2-A117-AE9FEE311F8C icon icon 1538201932 zhenghong 1538202080 zhenghong 图标 varchar(500) 500 64C52B4C-E7C5-4A7E-AE70-CF628EFC67A7 type type 1538202064 zhenghong 1538202174 zhenghong 权限类型:0->目录;1->菜单;2->按钮(接口绑定权限) int(1) 1 8E492BD0-8033-4FE5-8B5B-C13F6977D9A9 uri uri 1538202208 zhenghong 1538202264 zhenghong 前端资源路径 varchar(200) 200 88B074E5-990C-4217-91F5-A88E56CC8142 status status 1538202092 zhenghong 1538202228 zhenghong 启用状态;0->禁用;1->启用 int(1) 1 6A46B30B-44EC-4D13-BEBF-77C4D26113CA create_time create_time 1538202257 zhenghong 1538202303 zhenghong 创建时间 datetime FE8DC496-D926-4C4C-94C0-59F19B98D411 sort sort 1538202257 zhenghong 1538202334 zhenghong 排序 int 1A1D360B-3856-4FE0-ABC3-9C9DD7180247 Key_1 Key_1 1538201548 zhenghong 1538201932 zhenghong 0ACD514B-6AD8-4092-9503-BB7418271C5D ums_admin_role_relation ums_admin_role_relation 1538202419 zhenghong 1538202492 zhenghong 后台用户和角色关系表 FD4417BB-10DA-489F-95B7-2538DA63FEB7 id id 1538202420 zhenghong 1538202461 zhenghong bigint 1 1 7E2D454E-E44B-490F-9E86-11CB1D02A55F admin_id admin_id 1538202471 zhenghong 1538202487 zhenghong bigint 6408BE19-A7C6-4F9D-B9C0-921BD494570B role_id role_id 1538202492 zhenghong 1538202502 zhenghong bigint 6D817E44-8C99-4CFE-A645-0E536256B9D2 Key_1 Key_1 1538202420 zhenghong 1538202458 zhenghong DF1649B4-5B0F-43F0-8E49-DFB2050E1F76 ums_role_permission_relation ums_role_permission_relation 1538202537 zhenghong 1538202588 zhenghong 后台用户角色和权限关系表 1144AF4C-1426-47B7-8212-DA3B3E6C2A36 id id 1538202538 zhenghong 1538202580 zhenghong bigint 1 1 FE5CF0B5-65AA-4B6D-AE3C-04E4A57077D0 role_id role_id 1538202586 zhenghong 1538202605 zhenghong bigint 3E519CF4-C6F8-4D40-828A-F3AFFDA09699 permission_id permission_id 1538202588 zhenghong 1538202605 zhenghong bigint 7169397A-EC6D-422E-9575-7D580D618896 Key_1 Key_1 1538202538 zhenghong 1538202576 zhenghong 13CA705F-65DC-48AC-9563-A5650E15DCC0 ums_admin_permission_relation ums_admin_permission_relation 1538202617 zhenghong 1538203086 zhenghong 后台用户和权限关系表(除角色中定义的权限以外的加减权限) BE753374-E9C7-4C53-AC9C-D71DCF50662D id id 1538202860 zhenghong 1538202918 zhenghong bigint 1 1 12FF5B6B-8647-49E1-927C-D43F14BBB174 admin_id admin_id 1538202927 zhenghong 1538202948 zhenghong bigint 8BDB3D8B-FFEF-4031-8D7A-EF81BE9BE670 permission_id permission_id 1538202929 zhenghong 1538202948 zhenghong bigint D5D4EBC8-9FCD-4A79-8171-4BC6027FA23E type type 1538203070 zhenghong 1538203086 zhenghong int(1) 1 DF246E9E-48BE-43A9-A0A8-282F0AC6E482 Key_1 Key_1 1538202860 zhenghong 1538202916 zhenghong 0DE260F1-B640-49EA-8FD8-73901DA3FC6A sms_flash_promotion_session sms_flash_promotion_session 1542177985 zhenghong 1542178475 zhenghong 限时购场次表 10DEE53F-C0A5-4C47-B567-5B9318C189F5 id id 1542178330 zhenghong 1542178351 zhenghong 编号 bigint 1 1 70BA3EA1-6434-4AFF-A8B7-BCFD893EE7BF name name 1542178344 zhenghong 1542178375 zhenghong 场次名称 varchar(200) 200 E0270862-71AD-474C-96FE-3EEA4134152D start_time start_time 1542178368 zhenghong 1542178404 zhenghong 每日开始时间 time A180A2E0-0FA8-475C-8D71-729FD0617D20 end_time end_time 1542178396 zhenghong 1542178421 zhenghong 每日结束时间 time 49630CAC-6129-4521-AD71-0A3AFD07583A status status 1542178416 zhenghong 1542178456 zhenghong 启用状态:0->不启用;1->启用 int(1) 1 3E293EDE-0D9A-4933-8B3D-4293903D92D0 create_time create_time 1542178436 zhenghong 1542178481 zhenghong 创建时间 datetime 6F8C4687-C113-41B9-B674-6D8DE3D1E8D5 Key_1 Key_1 1542178330 zhenghong 1542178344 zhenghong 99F64742-38F7-4DA9-B8A0-1FC4476C94D3 sms_flash_promotion_product_relation sms_flash_promotion_product_relation 1542179013 zhenghong 1542179474 zhenghong 商品限时购与商品关系表 CAE82E75-D12D-4AD6-9A17-68423BF7E4E0 id id 1542179066 zhenghong 1542349350 zhenghong 编号 bigint 1 1 CEAF14F7-5D5C-4FF9-B86B-CF943BE9EAC9 flash_promotion_id flash_promotion_id 1542179374 zhenghong 1542179387 zhenghong bigint 23D89E50-A620-478D-A305-369556A666D9 flash_promotion_session_id flash_promotion_session_id 1542179394 zhenghong 1542179410 zhenghong 编号 bigint 016A43A1-CCDE-4553-A432-5F9195B3E630 product_id product_id 1542179440 zhenghong 1542179497 zhenghong bigint A82B7A85-9A20-438A-B428-5252675D21E5 flash_promotion_price flash_promotion_price 1542179066 zhenghong 1542179497 zhenghong 限时购价格 decimal(10,2) 10 2 608C7EEE-3CD9-452E-873C-AD3AFDF563A0 flash_promotion_count flash_promotion_count 1542179137 zhenghong 1542179197 zhenghong 限时购数量 int 8211380C-691E-47D2-B1D7-F37E83667A4C flash_promotion_limit flash_promotion_limit 1542179190 zhenghong 1542179235 zhenghong 每人限购数量 int 7DB32E90-BA97-46B7-B90B-655587BBE50E sort sort 1542179226 zhenghong 1542179257 zhenghong 排序 int A2983D35-1038-45A0-954A-5BC756B9FBF6 Key_1 Key_1 1542179066 zhenghong 1542179137 zhenghong FA962271-FBB8-4D55-88C3-B0565D4B7E6B ums_menu ums_menu 1580624574 zhenghong 1580625146 zhenghong 后台菜单表 6E8CAA92-2096-418D-A93D-E79F719BB927 id id 1580624717 zhenghong 1580624742 zhenghong bigint 1 1 ED194F66-7660-463A-A991-C2A652AB7BDD parent_id parent_id 1580624809 zhenghong 1580625129 zhenghong 父级ID bigint 751DDAFB-E47E-4C1F-8861-98417ABE4003 create_time create_time 1580624809 zhenghong 1580625091 zhenghong 创建时间 datetime C19B0D2B-9E4E-4D92-B934-23A5A434367E title title 1580624809 zhenghong 1580625091 zhenghong 菜单名称 varchar(100) 100 3991C198-C8BC-442F-B9C3-8C3E822BDF58 level level 1580624809 zhenghong 1580625091 zhenghong 菜单级数 int(4) 4 F021AF73-1074-429E-A756-7795EAC8D046 sort sort 1580624809 zhenghong 1580625091 zhenghong 菜单排序 int(4) 4 4B420CCD-31CE-4F99-864B-2130DB065195 name name 1580624809 zhenghong 1580625091 zhenghong 前端名称 varchar(100) 100 F77FA949-AD6E-4812-8523-B4B89D603A5E icon icon 1580624809 zhenghong 1580625091 zhenghong 前端图标 varchar(200) 200 BA0254CB-2942-4FA6-86A0-E90E43311099 hidden hidden 1580624809 zhenghong 1580625091 zhenghong 前端隐藏 int(1) 1 5B17DE1C-3EF2-41FE-8598-919EF33A2D85 Key_1 Key_1 1580624717 zhenghong 1580624739 zhenghong 21CA6441-50AA-434C-B1B2-51C4DB93E292 ums_resource ums_resource 1580624625 zhenghong 1580869150 zhenghong 后台资源表 F6CBDD55-60A9-4F16-8426-166F661106CF id id 1580625178 zhenghong 1580625202 zhenghong bigint 1 1 83039C2E-46A3-43E5-9F44-0C2793617519 category_id category_id 1580869150 zhenghong 1580869174 zhenghong 资源分类ID bigint A9E82014-27A7-49AF-9BF1-2F10A4ABC85D create_time create_time 1580625197 zhenghong 1580625272 zhenghong 创建时间 datetime 623196A3-33D6-4F77-909E-66A8F05CDD19 name name 1580625197 zhenghong 1580625272 zhenghong 资源名称 varchar(200) 200 01AB5B01-DA3F-4F28-A338-A916E623F2A0 url url 1580625197 zhenghong 1580625272 zhenghong 资源URL varchar(200) 200 B3CFE91C-D059-421F-8D9C-17321C7F38E7 description description 1580805910 zhenghong 1580805939 zhenghong 描述 varchar(500) 500 10E24F7A-0390-476B-BAAE-1882C0BBD062 Key_1 Key_1 1580625178 zhenghong 1580625197 zhenghong B66F7908-B143-4176-80A9-B2CF44529D08 ums_role_menu_relation ums_role_menu_relation 1580624663 zhenghong 1580625352 zhenghong 后台角色菜单关系表 0A34DDDB-B366-496A-AED8-416DE19149F5 id id 1580625308 zhenghong 1580625325 zhenghong bigint 1 1 2AE22924-4904-41FA-AFB7-B0CF7FCBFC56 role_id role_id 1580625333 zhenghong 1580625372 zhenghong 角色ID bigint 748FA33E-A269-4189-A357-21F5885427C4 menu_id menu_id 1580625352 zhenghong 1580625372 zhenghong 菜单ID bigint 882EFB9B-0F11-4AE1-995B-C15CEDF564FA Key_1 Key_1 1580625308 zhenghong 1580625322 zhenghong C19BEA79-6E19-4CAD-9E31-9415E802B9DE ums_role_resource_relation ums_role_resource_relation 1580624686 zhenghong 1580625435 zhenghong 后台角色资源关系表 6DF052C6-67CA-4BAA-A125-9F03DEDA9012 id id 1580625392 zhenghong 1580625411 zhenghong bigint 1 1 83982BFF-3E3D-4E6F-A458-FF3075464342 role_id role_id 1580625421 zhenghong 1580625454 zhenghong 角色ID bigint 09F02FAF-844E-44FE-93C8-7B4623939F50 resource_id resource_id 1580625435 zhenghong 1580625454 zhenghong 资源ID bigint AB798EFF-998F-4E0E-B0A4-A20719A6AF79 Key_1 Key_1 1580625392 zhenghong 1580625408 zhenghong B0508AE4-FED1-47A1-A771-889573F7520B ums_resource_category ums_resource_category 1580869056 zhenghong 1581324455 zhenghong 资源分类表 F885A10E-E590-447C-8D5D-BC2BCD3DB671 id id 1580869083 zhenghong 1580869099 zhenghong bigint 1 1 D01B83FC-5268-4206-B92F-8F9BFE927112 create_time create_time 1580869095 zhenghong 1580869135 zhenghong 创建时间 datetime B986AFDF-AFBB-4E49-93AA-5CAD7907153A name name 1580869095 zhenghong 1580869135 zhenghong 分类名称 varchar(200) 200 094290D5-34B8-4EE4-B629-670A4BAA7382 sort sort 1581324427 zhenghong 1581324455 zhenghong 排序 int(4) 4 70C39D60-14D7-4260-94E9-1F6025702EC5 Key_1 Key_1 1580869083 zhenghong 1580869095 zhenghong F8B50533-7F4C-4BE7-984B-4FC6A1156DC9 Reference_1 Reference_1 1521706257 zhenghong 1521706257 zhenghong 0..* 1 1 5236F74C-2761-4AC4-834A-BECC5D040393 1521706257 zhenghong 1521706257 zhenghong 6B097280-D411-432F-9CA0-7FC52C306D0F Reference_2 Reference_2 1521710488 zhenghong 1521710488 zhenghong 0..* 1 1 6EE78803-E5F6-4090-B810-7BBF7814F60C 1521710488 zhenghong 1521710488 zhenghong 3447013F-AE0F-4B19-9E82-DEC9658CF62C Reference_3 Reference_3 1521770349 zhenghong 1521770349 zhenghong 0..* 1 1 84F722B4-DF57-4BC3-88FD-B249B70D21A7 1521770349 zhenghong 1521770349 zhenghong 869F562E-B664-4E18-BB85-9F518C39050E Reference_4 Reference_4 1521771362 zhenghong 1521771362 zhenghong 0..* 1 1 0309D83E-51C3-4973-A636-9FEB27F4A6B6 1521771362 zhenghong 1521771362 zhenghong 43D29FF3-315F-4770-9486-03345B3B66AA Reference_5 Reference_5 1521773101 zhenghong 1521773101 zhenghong 0..* 1 1 7B820697-9FFD-4446-B6DF-F03F4F02FFE3 1521773101 zhenghong 1521773101 zhenghong 2FA754C9-59E9-4BC2-9FBD-D1F329A2D40D Reference_6 Reference_6 1521783613 zhenghong 1521783613 zhenghong 0..* 1 1 13DDC5F6-372D-47FF-AAFA-8AEF349E7FA8 1521783613 zhenghong 1521783613 zhenghong FFC57989-A7DF-43DC-8E90-0875CEC112DD Reference_9 Reference_9 1521791466 zhenghong 1521791466 zhenghong 0..* 1 1 31ADEBC6-F176-41A7-8EAA-9AC3B8A253AB 1521791466 zhenghong 1521791466 zhenghong 77C4D61A-9FF5-4B2C-8C48-A2F7DB88ACA3 Reference_10 Reference_10 1521792428 zhenghong 1521792428 zhenghong 0..* 1 1 F2B169B3-7AC8-4FB1-822D-E1C91DFF6FFD 1521792428 zhenghong 1521792428 zhenghong 617A3E38-261B-48D9-B387-A4C69D4A702C Reference_11 Reference_11 1521792909 zhenghong 1521792909 zhenghong 0..* 1 1 00AD7B43-F4CA-45D7-86BB-5756B4ED55BD 1521792909 zhenghong 1521792909 zhenghong 085DA277-2667-4A8D-8E4D-2C4E6787357E Reference_12 Reference_12 1522045168 zhenghong 1522045168 zhenghong 0..* 1 1 286E06C6-6FAD-4323-82D9-6FB781153C46 1522045168 zhenghong 1522045168 zhenghong DC5FEA31-5D2A-491B-A87A-BC45A53A0130 Reference_13 Reference_13 1522046100 zhenghong 1522046100 zhenghong 0..* 1 1 A2161167-D453-4661-9BF0-71D8908A6C42 1522046100 zhenghong 1522046100 zhenghong 09737ED1-34A7-4624-9B3D-F971732EC3C5 Reference_14 Reference_14 1522046451 zhenghong 1522046451 zhenghong 0..* 1 1 E25FF0B6-41E2-4801-8FE9-337EF9B991F7 1522046451 zhenghong 1522046451 zhenghong 1299128F-FAC5-44E2-86E2-29EF4E7A1638 Reference_15 Reference_15 1522046456 zhenghong 1522046456 zhenghong 0..* 1 1 1E64FE44-48BA-49B0-BDE1-66DA22B89EFF 1522046456 zhenghong 1522046456 zhenghong 8C8A4C2F-CB98-46EE-A602-698B99A13C3C Reference_18 Reference_18 1522112691 zhenghong 1522112691 zhenghong 0..* 1 1 DEE74089-6A6D-4D7E-BADD-76E4D08EFA2D 1522112691 zhenghong 1522112691 zhenghong 0326D95A-002E-4506-89DF-DC650D6B10F6 Reference_19 Reference_19 1522112694 zhenghong 1522112694 zhenghong 0..* 1 1 5D44A212-AD69-4958-BAAF-9E16ED63FC67 1522112694 zhenghong 1522112694 zhenghong 62935DB0-A2C4-4D4E-B949-5DE296753EC6 Reference_20 Reference_20 1522114406 zhenghong 1522114406 zhenghong 0..* 1 1 ECA8F78C-7015-44EB-9CD2-F72634D7F4BD 1522114406 zhenghong 1522114406 zhenghong 0054659D-2257-491E-BEFD-4E934EF1326A Reference_21 Reference_21 1522115961 zhenghong 1522115961 zhenghong 0..* 1 1 32BD37D4-4436-4069-9BD1-90CF0B1867E0 1522115961 zhenghong 1522115961 zhenghong 7FB8F1DE-EB1D-4B05-BC25-7F9A9C34DAC1 Reference_22 Reference_22 1522115983 zhenghong 1522115983 zhenghong 0..* 1 1 1A23B754-71EE-4496-B70F-0A3268C6F651 1522115983 zhenghong 1522115983 zhenghong C8AEC8AC-5477-406C-9A47-85CAC6E9156F Reference_23 Reference_23 1522118676 zhenghong 1522118676 zhenghong 0..* 1 1 1C883E67-84F9-4CD0-A4F5-D7CA2BE15DC5 1522118676 zhenghong 1522118676 zhenghong 6877F189-A5DC-4EC1-A805-D6DF43A175A8 Reference_24 Reference_24 1522119056 zhenghong 1522119056 zhenghong 0..* 1 1 1CE2FCCB-DF37-4C88-99DD-FA8C3EE7A09C 1522119056 zhenghong 1522119056 zhenghong 9F3EABD4-B8AD-4807-800A-EBB309C50C27 Reference_25 Reference_25 1522120295 zhenghong 1522120295 zhenghong 0..* 1 1 7D8DC4F2-D0A4-4CE9-B03E-44AE166786C0 1522120295 zhenghong 1522120295 zhenghong 4D22CD29-D84A-4780-A3CD-E8951913B139 Reference_26 Reference_26 1522138613 zhenghong 1522138613 zhenghong 0..* 1 1 7CB99F50-753B-4347-B896-1F18D8FE6691 1522138613 zhenghong 1522138613 zhenghong FDD92660-6932-4BCE-8F83-2E7A223145EB Reference_27 Reference_27 1522138618 zhenghong 1522138618 zhenghong 0..* 1 1 EC89DA87-A575-4940-973B-665854268261 1522138618 zhenghong 1522138618 zhenghong BF5F391A-A0AC-4940-B493-B42F4DEBFE59 Reference_28 Reference_28 1522138705 zhenghong 1522138705 zhenghong 0..* 1 1 8E1A22EC-2246-48C4-A499-3D8A4D264C09 1522138705 zhenghong 1522138705 zhenghong E84C4311-62F4-47BD-A024-62877B7D0ED5 Reference_30 Reference_30 1522141157 zhenghong 1522141157 zhenghong 0..* 1 1 2EA7348D-C8E8-4FCC-8215-01FE3AD58DFB 1522141157 zhenghong 1522141157 zhenghong C0A04A49-9B21-4470-8507-D61981F41EF2 Reference_29 Reference_29 1522141232 zhenghong 1522141232 zhenghong 0..* 1 1 8B858AAC-D00A-42FE-BEDC-73536876C045 1522141232 zhenghong 1522141232 zhenghong E8C1A0E5-7AB4-48DD-96D0-BFC0F9081B35 Reference_31 Reference_31 1522141316 zhenghong 1522141317 zhenghong 0..* 1 1 FC3A22FE-FD24-4DF0-BAC8-22659D3C8987 1522141317 zhenghong 1522141317 zhenghong 99192031-40EE-41ED-A43C-B27CC1039A2B Reference_32 Reference_32 1522142006 zhenghong 1522142006 zhenghong 0..* 1 1 14DB9C0C-F9F0-4D4A-B44E-592028F6E75A 1522142006 zhenghong 1522142006 zhenghong C562CD4F-BAD5-44CE-B507-727743B42808 Reference_33 Reference_33 1522215975 zhenghong 1522215975 zhenghong 0..* 1 1 15304E84-71AA-40B1-84CB-904384B34B25 1522215975 zhenghong 1522215975 zhenghong 049BB766-61EB-47C0-B95D-D25AFDB59734 Reference_34 Reference_34 1522216015 zhenghong 1522216015 zhenghong 0..* 1 1 457237AD-87EB-4A09-BA9F-36198B10D2FF 1522216015 zhenghong 1522216015 zhenghong 5D590043-1882-4A9B-8FC1-D9DC8580E02C Reference_35 Reference_35 1522216251 zhenghong 1522216251 zhenghong 0..* 1 1 3C2E5F27-A07C-4D88-9357-089D36122A25 1522216251 zhenghong 1522216251 zhenghong B5428618-7278-427D-A8BC-5CCB75A2547F Reference_36 Reference_36 1522216380 zhenghong 1522216380 zhenghong 0..* 1 1 A8FA4798-0F1E-4D96-A254-77F5D71F6BBD 1522216380 zhenghong 1522216380 zhenghong 849E47A7-94DA-40C1-879A-F1C6E0C5CD19 Reference_37 Reference_37 1522220508 zhenghong 1522220508 zhenghong 0..* 1 1 5026171A-4B51-4B83-A113-4051F1E4F415 1522220508 zhenghong 1522220508 zhenghong C3B9AA1D-7C7C-4CAD-885D-1542021D30E7 Reference_38 Reference_38 1522220546 zhenghong 1522220546 zhenghong 0..* 1 1 462222B9-A203-4D60-A353-A168356E3140 1522220546 zhenghong 1522220546 zhenghong AF0E4AD5-A4B3-4095-8D2E-FF466A7FFBDC Reference_39 Reference_39 1522224364 zhenghong 1522224364 zhenghong 0..* 1 1 BD28F911-4F98-4C9D-9171-E99F60476E2A 1522224364 zhenghong 1522224364 zhenghong 2E5F5354-7D3D-4CBE-9D6E-F7BF6EE3BB1E Reference_40 Reference_40 1522225874 zhenghong 1522225874 zhenghong 0..* 1 1 8D1675C9-7749-4831-A5E6-ACD971AACF57 1522225874 zhenghong 1522225874 zhenghong C7DCAECF-68BD-47D9-8C52-36A6B50C90C6 Reference_41 Reference_41 1522226077 zhenghong 1522226077 zhenghong 0..* 1 1 B30347B3-4138-4EA8-A0F5-EF0D9A34E01F 1522226077 zhenghong 1522226077 zhenghong C11B5AAF-045B-4A2E-930C-71B38674EDCB Reference_42 Reference_42 1522226272 zhenghong 1522226272 zhenghong 0..* 1 1 7D29D8DF-7EF1-4F43-928F-DDAC96A23858 1522226272 zhenghong 1522226272 zhenghong B7417B7A-09B8-43CE-A17E-01ACFEC78BF6 Reference_44 Reference_44 1522303390 zhenghong 1522303390 zhenghong 0..* 1 1 942BBD31-85B8-46EA-893C-CB327C86F5BA 1522303390 zhenghong 1522303390 zhenghong EF622572-2304-4875-8869-C1821D4BAA12 Reference_45 Reference_45 1522303410 zhenghong 1522303410 zhenghong 0..* 1 1 1E5174EE-C0B0-4144-98D5-679634DCCAEE 1522303410 zhenghong 1522303410 zhenghong F7E27FB8-7156-4A4D-BC61-18CCE2DD98AA Reference_46 Reference_46 1522304178 zhenghong 1522304178 zhenghong 0..* 1 1 BD55704C-3F36-44CC-90E1-143F097FA894 1522304178 zhenghong 1522304178 zhenghong 4D49B5C2-72FC-4407-9705-D42C0F203767 Reference_47 Reference_47 1522386868 zhenghong 1522386868 zhenghong 0..* 1 1 17EC5CAA-580C-493D-9C2D-2EA3E9732A78 1522386868 zhenghong 1522386868 zhenghong C55C7A99-C315-4D03-AEDF-B5F8BCBCD8A4 Reference_48 Reference_48 1522387461 zhenghong 1522387461 zhenghong 0..* 1 1 F469B162-D88C-42A3-B64C-7B2751A4FCE1 1522387461 zhenghong 1522387461 zhenghong CC1956B2-80D6-420D-9596-2ADE9F622A89 Reference_49 Reference_49 1522387526 zhenghong 1522387526 zhenghong 0..* 1 1 1D18BF30-4375-4618-A1C9-6DC998F248E4 1522387526 zhenghong 1522387526 zhenghong 74DB905B-E0F5-48AE-81CF-EF09159E2FF7 Reference_50 Reference_50 1522389232 zhenghong 1522389232 zhenghong 0..* 1 1 183F9969-663E-4842-ABC2-C938F02C05E4 1522389232 zhenghong 1522389232 zhenghong 7E2E910E-DFB4-4EB6-901A-B90812F54A87 Reference_51 Reference_51 1522390434 zhenghong 1522390434 zhenghong 0..* 1 1 AC355266-228D-4333-8E95-D13F2D176DB4 1522390434 zhenghong 1522390434 zhenghong 1BDEC7E5-B286-4BE4-8433-B6BD7A1C975A Reference_52 Reference_52 1522390644 zhenghong 1522390644 zhenghong 0..* 1 1 3A358827-AE90-4AC6-80E6-CA340D69F7F2 1522390644 zhenghong 1522390644 zhenghong AD855909-C83E-4375-8C80-7C2D7AC7075C Reference_53 Reference_53 1522391366 zhenghong 1522391366 zhenghong 0..* 1 1 B0F12E0B-F2E6-40A6-AD2B-9FE858AAA8BE 1522391366 zhenghong 1522391366 zhenghong E0AA6F91-B6EB-44AB-A3FB-B63A84A5DF06 Reference_54 Reference_54 1522391379 zhenghong 1522391380 zhenghong 0..* 1 1 F46C48A9-78A1-4C9A-BD75-DE0ED230A76D 1522391379 zhenghong 1522391380 zhenghong BDACC991-AA2F-4A86-A7A7-BE7FD95D68F2 Reference_55 Reference_55 1522396648 zhenghong 1522396648 zhenghong 0..* 1 1 711AD4D5-212E-4E3B-BB26-DB79C4BE4E52 1522396648 zhenghong 1522396648 zhenghong 953F316F-943C-409D-87E2-A580F91F41DF Reference_56 Reference_56 1522396864 zhenghong 1522396864 zhenghong 0..* 1 1 094B7BE5-D0AB-4987-8D74-508A27D3117F 1522396864 zhenghong 1522396864 zhenghong EBD78B02-B47D-4132-A641-E9C384074F6F Reference_57 Reference_57 1522659209 zhenghong 1522659209 zhenghong 0..* 1 1 8C15D427-62A0-40E7-9B02-84063CC6EB94 1522659209 zhenghong 1522659209 zhenghong 8A0714E1-3D0A-4983-AFD9-0AF0F17B0D22 Reference_58 Reference_58 1522660753 zhenghong 1522660753 zhenghong 0..* 1 1 043B7E7F-6688-42FD-BECE-3A4CE5A560F2 1522660753 zhenghong 1522660753 zhenghong 3BFC406B-AABB-48D0-BA77-69DB4EE17B0D Reference_59 Reference_59 1522660820 zhenghong 1522660820 zhenghong 0..* 1 1 3592DAA0-2C95-48CF-9359-C157A0E27DC3 1522660820 zhenghong 1522660820 zhenghong E36F0963-FA3D-49E2-99B0-1818EF60077C Reference_60 Reference_60 1522721755 zhenghong 1522721755 zhenghong 0..* 1 1 BEE8D279-8DBF-40B3-899D-5B07570D0AD9 1522721755 zhenghong 1522721755 zhenghong 31949834-0CD4-4F67-A0A6-FA63B62C6B04 Reference_61 Reference_61 1522724329 zhenghong 1522724329 zhenghong 0..* 1 1 F5D0566A-35C3-4451-9C7D-782BC776C53E 1522724329 zhenghong 1522724329 zhenghong AD47F573-29CC-4DB6-AFE1-BA511E55D40F Reference_62 Reference_62 1522725331 zhenghong 1522725331 zhenghong 0..* 1 1 3AA8813B-9363-406A-91DF-4AD16E9C3CCA 1522725331 zhenghong 1522725331 zhenghong 16852476-7A1F-4AF5-81A5-D4C089766A13 Reference_63 Reference_63 1522733188 zhenghong 1522733188 zhenghong 0..* 1 1 DD05624A-7E08-4273-9758-C5EDA1A03134 1522733188 zhenghong 1522733188 zhenghong 5BC95764-C216-4A1C-8602-16F14615F674 Reference_64 Reference_64 1522745521 zhenghong 1522745521 zhenghong 0..* 1 1 EBF8A4B9-24B3-4D18-82FD-D12F847328C6 1522745521 zhenghong 1522745521 zhenghong 98A2D313-20A0-4AD2-B2BE-F85A6867D79D Reference_65 Reference_65 1533109967 zhenghong 1533109995 zhenghong 0..* 1 1 BA7665F0-D173-45C6-AFE8-3C93CF330D79 1533109970 zhenghong 1533109995 zhenghong 814C49F7-4720-47CE-A38D-88721D01BA84 Reference_66 Reference_66 1533115827 zhenghong 1533115846 zhenghong 0..* 1 1 521484A5-B9C4-477D-8D45-97F7B15D7854 1533115829 zhenghong 1533115846 zhenghong 3B60C0B9-CC92-447D-838C-B9BA857608AE Reference_67 Reference_67 1533115888 zhenghong 1533115911 zhenghong 0..* 1 1 FCADB7B3-0636-44C7-8AB4-067148971867 1533115896 zhenghong 1533115911 zhenghong 46FBCD47-38FC-487C-B390-7FE833196F94 Reference_68 Reference_68 1538202362 zhenghong 1538202362 zhenghong 0..* 1 1 D2F8A3AD-54BE-4AE4-A988-128511B938A4 1538202362 zhenghong 1538202362 zhenghong C76888E3-16C6-4761-8136-511A526B6512 Reference_69 Reference_69 1538202471 zhenghong 1538202471 zhenghong 0..* 1 1 993B6DB6-8CE7-4A56-9273-AA66FB16F4A0 1538202471 zhenghong 1538202471 zhenghong 7D3662ED-D661-4086-BA3C-C9927BAEA31B Reference_70 Reference_70 1538202492 zhenghong 1538202492 zhenghong 0..* 1 1 E47EA734-EA83-4289-8295-068CBD82C878 1538202492 zhenghong 1538202492 zhenghong C27AC470-B6D5-4DEB-8985-4436775FF6EC Reference_71 Reference_71 1538202586 zhenghong 1538202586 zhenghong 0..* 1 1 C3D164FC-7971-4ECF-B2F0-6B384C75DB8A 1538202586 zhenghong 1538202586 zhenghong 6C1E998D-3BE1-473B-A219-C12E87F599FC Reference_72 Reference_72 1538202588 zhenghong 1538202588 zhenghong 0..* 1 1 5D69B943-755C-4D8A-90CC-525B02C3D50C 1538202588 zhenghong 1538202588 zhenghong 3A33B8D1-62CE-4DF3-9EAE-8F419CAA8AA8 Reference_73 Reference_73 1538202927 zhenghong 1538202927 zhenghong 0..* 1 1 C4F1E261-E196-4270-8809-851FB823B079 1538202927 zhenghong 1538202927 zhenghong 409CA456-66FD-4551-9709-9B58BAD20CBC Reference_74 Reference_74 1538202929 zhenghong 1538202929 zhenghong 0..* 1 1 9040B9D2-76A5-43F5-8889-3E21C379E806 1538202929 zhenghong 1538202929 zhenghong D8C09BAD-5666-4751-B992-C48035FB286A Reference_75 Reference_75 1539746524 zhenghong 1539746524 zhenghong 0..* 1 1 6D41CF48-9B5F-47F1-8391-F0BC65998A26 1539746524 zhenghong 1539746524 zhenghong E104E0D2-AE63-4FC2-8695-C31D32B33047 Reference_76 Reference_76 1541490540 zhenghong 1541490586 zhenghong 0..* 1 1 933A26A1-5D64-4E1E-A05E-F70A9A4571A1 1541490552 zhenghong 1541490586 zhenghong 490FFEDD-0E16-49CD-83FA-07FE29AB81E1 Reference_77 Reference_77 1542179374 zhenghong 1542179374 zhenghong 0..* 1 1 CF2A4EB2-4046-4B11-A333-E288CA091AFF 1542179374 zhenghong 1542179374 zhenghong C932213B-EF31-4E19-9C72-6C17A0AFDB6D Reference_78 Reference_78 1542179394 zhenghong 1542179394 zhenghong 0..* 1 1 F03E2D7F-4760-4BDE-AB11-2394F26DB466 1542179394 zhenghong 1542179394 zhenghong 17B2ADB4-4810-47D6-B703-99E62E4AFA4D Reference_79 Reference_79 1542179438 zhenghong 1542179474 zhenghong 0..* 1 1 389ADFA5-E125-4583-ADBE-95053D3F0C72 1542179440 zhenghong 1542179474 zhenghong 4E8DE47E-16C3-4F6B-B284-06B30C3CB07D Reference_80 Reference_80 1580625109 zhenghong 1580625129 zhenghong 0..* 1 1 9085DD5C-8F83-493E-9CFE-628DA54C8B96 1580625109 zhenghong 1580625129 zhenghong 46BCEBF1-E21B-4EB3-A8DE-A5A2BAFFFBB6 Reference_81 Reference_81 1580625333 zhenghong 1580625333 zhenghong 0..* 1 1 A48E310F-1E8C-4B06-AF1B-4D070613C9E4 1580625333 zhenghong 1580625333 zhenghong D4BF3C8D-A91A-4E49-82E9-CB738227C8C8 Reference_82 Reference_82 1580625352 zhenghong 1580625352 zhenghong 0..* 1 1 BF0FFD9A-62E7-47E9-84FB-9F2E08021926 1580625352 zhenghong 1580625352 zhenghong 2E6DA228-0727-43B1-8814-D25233A0BCC6 Reference_83 Reference_83 1580625421 zhenghong 1580625421 zhenghong 0..* 1 1 6F492BCB-5604-4D5C-9DFE-B622A7D5FC91 1580625421 zhenghong 1580625421 zhenghong CB1FAF78-7706-4745-8F2F-A9B2BDCFA7D2 Reference_84 Reference_84 1580625435 zhenghong 1580625435 zhenghong 0..* 1 1 B77FA1D0-9DDC-4FD9-B5FA-24CF8FE39B40 1580625435 zhenghong 1580625435 zhenghong F00FBAAE-944C-4129-B221-009502135923 Reference_85 Reference_85 1580869150 zhenghong 1580869150 zhenghong 0..* 1 1 6D8367E1-F1BA-4FAF-A735-B63D8A8D5D7A 1580869150 zhenghong 1580869150 zhenghong 48492A0F-63AD-4453-B46B-89915CC87545 PUBLIC PUBLIC 1521705583 zhenghong 1521705583 zhenghong 232AA7B8-E743-48F3-9530-102684B229BE MySQL 5.0 MYSQL50 1521705583 zhenghong 1521705583 zhenghong file:///%_DBMS%/mysql50.xdb F4F16ECD-F2F1-4006-AF6F-638D5C65F35E 4BA9F647-DAB1-11D1-9944-006097355D9B 1276524678 ================================================ FILE: document/pdm/mall.pdm ================================================ 7BB41C87-EFE8-409A-A86E-B1C3FCE34F8C mall mall 1521705583 zhenghong 1580869150 zhenghong [FolderOptions] [FolderOptions\Physical Objects] GenerationCheckModel=Yes GenerationPath= GenerationOptions= GenerationTasks= GenerationTargets= GenerationSelections= RevPkey=Yes RevFkey=Yes RevAkey=Yes RevCheck=Yes RevIndx=Yes RevOpts=Yes RevViewAsTabl=No RevViewOpts=Yes RevSystAsTabl=Yes RevTablPerm=No RevViewPerm=No RevProcPerm=No RevDbpkPerm=No RevSqncPerm=No RevAdtPerm=No RevUserPriv=No RevUserOpts=No RevGrpePriv=No RevRolePriv=No RevDtbsOpts=Yes RevDtbsPerm=No RevViewIndx=Yes RevJidxOpts=Yes RevStats=No RevTspcPerm=No RevCaseSensitive=No GenTrgrStdMsg=Yes GenTrgrMsgTab= GenTrgrMsgNo= GenTrgrMsgTxt= TrgrPreserve=No TrgrIns=Yes TrgrUpd=Yes TrgrDel=Yes TrgrC2Ins=Yes TrgrC2Upd=Yes TrgrC3=Yes TrgrC4=Yes TrgrC5=Yes TrgrC6=Yes TrgrC7=Yes TrgrC8=Yes TrgrC9=Yes TrgrC10=Yes TrgrC11=Yes TrgrC1=Yes TrgrC12Ins=Yes TrgrC12Upd=Yes TrgrC13=Yes UpdateTableStatistics=Yes UpdateColumnStatistics=Yes [FolderOptions\Physical Objects\Database Generation] GenScriptName=create.sql GenScriptName0=update.sql GenScriptName1=crebas.sql GenScriptName2=crebas GenScriptName3= GenScriptName4= GenScriptName5= GenScriptName6= GenScriptName7= GenScriptName8= GenScriptName9= GenPathName=C:\Users\zhenghong\Desktop\ GenSingleFile=Yes GenODBC=No GenCheckModel=Yes GenScriptPrev=Yes GenArchiveModel=No GenUseSync=No GenSyncChoice=0 GenSyncArch= GenSyncRmg=0 [FolderOptions\Physical Objects\Database Generation\Format] GenScriptTitle=Yes GenScriptNamLabl=No GenScriptQDtbs=No GenScriptQOwnr=Yes GenScriptCase=0 GenScriptEncoding=UTF8 GenScriptNAcct=No IdentifierDelimiter=" [FolderOptions\Physical Objects\Database Generation\Database] Create=Yes Open=Yes Close=Yes Drop=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Database\Create] Physical Options=Yes Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\Tablespace] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Tablespace\Create] Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\Storage] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\User] Create=Yes Drop=Yes Comment=Yes Privilege=No [FolderOptions\Physical Objects\Database Generation\User\Create] Physical Options=No [FolderOptions\Physical Objects\Database Generation\Group] Create=Yes Drop=Yes Comment=Yes Privilege=No [FolderOptions\Physical Objects\Database Generation\Role] Create=Yes Drop=Yes Privilege=No [FolderOptions\Physical Objects\Database Generation\UserDefinedDataType] Create=Yes Comment=Yes Drop=Yes [FolderOptions\Physical Objects\Database Generation\UserDefinedDataType\Create] Default value=Yes Check=Yes [FolderOptions\Physical Objects\Database Generation\AbstractDataType] Create=Yes Header=Yes Footer=Yes Drop=Yes Comment=Yes Install JAVA class=Yes Remove JAVA class=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Rule] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Default] Create=Yes Comment=Yes Drop=Yes [FolderOptions\Physical Objects\Database Generation\Sequence] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Table&&Column] [FolderOptions\Physical Objects\Database Generation\Table&&Column\Table] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Table&&Column\Table\Create] Check=Yes Physical Options=Yes Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Table\Create\Check] Constraint declaration=No [FolderOptions\Physical Objects\Database Generation\Table&&Column\Column] User datatype=No Default value=Yes Check=Yes Physical Options=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Column\Check] Constraint declaration=No [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key] [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key\Primary key] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key\Primary key\Create] Constraint declaration=No Physical Options=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key\Alternate key] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Key\Alternate key\Create] Constraint declaration=No Physical Options=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Foreign key] Create=No Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Foreign key\Create] Constraint declaration=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Index] Create=No Drop=No Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Index\Create] Constraint declaration=Yes Physical Options=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Index\Filter] Primary key=No Foreign key=No Alternate key=No Cluster=Yes Other=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Trigger] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Table&&Column\Trigger\Filter] For insert=Yes For update=Yes For delete=Yes For other=Yes [FolderOptions\Physical Objects\Database Generation\View] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\View\Create] Force Column list=No Physical Options=Yes Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\View\ViewColumn] Comment=Yes [FolderOptions\Physical Objects\Database Generation\View\ViewIndex] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\View\ViewIndex\Create] Physical Options=Yes [FolderOptions\Physical Objects\Database Generation\View\ViewIndex\Filter] Cluster=Yes Other=Yes [FolderOptions\Physical Objects\Database Generation\View\Trigger] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\View\Trigger\Filter] For insert=Yes For update=Yes For delete=Yes For other=Yes [FolderOptions\Physical Objects\Database Generation\DBMSTrigger] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Synonym] Create=Yes Drop=Yes [FolderOptions\Physical Objects\Database Generation\Synonym\Filter] Table=Yes View=Yes Proc=Yes Synonym=Yes Database Package=Yes Sequence=Yes [FolderOptions\Physical Objects\Database Generation\JoinIndex] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\JoinIndex\Create] Physical Options=Yes Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\Procedure] Create=Yes Drop=Yes Comment=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\Procedure\Create] Header=Yes Footer=Yes [FolderOptions\Physical Objects\Database Generation\DatabasePackage] Create=Yes Drop=Yes Permission=No [FolderOptions\Physical Objects\Database Generation\WebService] Create=Yes Drop=Yes Comment=Yes [FolderOptions\Physical Objects\Database Generation\Dimension] Create=Yes Drop=Yes [FolderOptions\Physical Objects\Database Generation\Synchronization] GenBackupTabl=1 GenKeepBackTabl=1 GenTmpTablDrop=No GenKeepTablOpts=No [FolderOptions\Physical Objects\Test Data] GenDataPathName=C:\Users\zhenghong\Desktop\ GenDataSinglefile=Yes GenDataScriptName=testdata.sql GenDataScriptName0= GenDataScriptName1= GenDataScriptName2= GenDataScriptName3= GenDataScriptName4= GenDataScriptName5= GenDataScriptName6= GenDataScriptName7= GenDataScriptName8= GenDataScriptName9= GenDataOdbc=0 GenDataDelOld=No GenDataTitle=No GenDataDefNumRows=20 GenDataCommit=0 GenDataPacket=0 GenDataOwner=No GenDataProfNumb= GenDataProfChar= GenDataProfDate= GenDataCSVSeparator=, GenDataFileFormat=CSV GenDataUseWizard=No [FolderOptions\Pdm] IndxIQName=%COLUMN%_%INDEXTYPE% IndxPK=Yes IndxFK=Yes IndxAK=Yes IndxPKName=%TABLE%_PK IndxFKName=%REFR%_FK IndxAKName=%AKEY%_AK IndxPreserve=No IndxThreshold=0 IndxStats=No RefrPreserve=No JidxPreserve=No RbldMultiFact=Yes RbldMultiDim=Yes RbldMultiJidx=Yes CubePreserve=No TablStProcPreserve=No ProcDepPreserve=Yes TrgrDepPreserve=Yes CubeScriptPath= CubeScriptCase=0 CubeScriptEncoding=ANSI CubeScriptNacct=No CubeScriptHeader=No CubeScriptExt=csv CubeScriptExt0=txt CubeScriptExt1= CubeScriptExt2= CubeScriptSep=, CubeScriptDeli=" EstimationYears=0 DfltDomnName=D_%.U:VALUE% DfltColnName=D_%.U:VALUE% DfltReuse=Yes DfltDrop=Yes [FolderOptions\CheckModel] [FolderOptions\CheckModel\Package] [FolderOptions\CheckModel\Package\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CheckPackageMissTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\DefaultCheckPackageMissTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CircularReference] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\ConstraintName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CnstMaxLen] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\CircularDependency] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Package\ShortcutUniqCode] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Table] [FolderOptions\CheckModel\Table\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\UniqIndex] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\MaxLen - NAME] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyColl - COLNCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyColl - INDXCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyColl - KEYCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\SerialColumnNumber] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyCollYesYes] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\TableIndexes] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\Mapping] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Table\MappingSFMap] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Table\EmptyColl - PERMCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Table\CheckTablePartitionKey] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableStartDate] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableRefNoLifecycle] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableSourceMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTablePartialColumnMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableKeyColumnMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\CheckTableNotOnLifecycleTablespace] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table\MYSQL50_Table_Table_storage_type] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Table.Column] [FolderOptions\CheckModel\Table.Column\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\DomainDivergence] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\ColumnMandatory] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckNumParam] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckPrecSupLng] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckUndefDttp] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\FkeyDttpDivergence] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\FkeyCheckDivergence] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\ColnSqncNoKey] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\ColnSqncDttp] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\SerialColumnFK] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\ColumnCompExpr] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckColumnOneToOneMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckColumnDataTypeMapping] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckColumnNoMapping] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\CheckDttpIncompatibleFormat] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\MYSQL50_Column_Auto_increment_key] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Column\MYSQL50_Column_Datatype_attributes] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index] [FolderOptions\CheckModel\Table.Index\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\EmptyColl - CIDXCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\UndefIndexType] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\IndexColumnCount] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\IQIndxHNGUniq] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\CheckIncludeColl - Tabl] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Index\MYSQL50_Index_Fulltext_indexes_validity] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key] [FolderOptions\CheckModel\Table.Key\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\EmptyColl - COLNCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\CheckIncludeColl - Tabl] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Key\MultiKeySqnc] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger] [FolderOptions\CheckModel\Table.Trigger\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table.Trigger\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index] [FolderOptions\CheckModel\Join Index\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Join Index\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View] [FolderOptions\CheckModel\View\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View\EmptyColl - PERMCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\View.View Index] [FolderOptions\CheckModel\View.View Index\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\EmptyColl - CIDXCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\IndexColumnCount] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View.View Index\CheckIncludeColl - Tabl] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference] [FolderOptions\CheckModel\Reference\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\Reflexive] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\EmptyColl - RFJNCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\IncompleteJoin] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Reference\JoinOrder] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference] [FolderOptions\CheckModel\View Reference\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\View Reference\EmptyColl - VRFJNCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain] [FolderOptions\CheckModel\Domain\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckNumParam] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckPrecSupLng] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckUndefDttp] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Domain\CheckDttpIncompatibleFormat] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default] [FolderOptions\CheckModel\Default\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\DfltValeEmpty] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Default\DfltSameVale] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User] [FolderOptions\CheckModel\User\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\User\UniquePassword] CheckSeverity=No FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Group] [FolderOptions\CheckModel\Group\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\EmptyColl - USERCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Group\UniquePassword] CheckSeverity=No FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Role] [FolderOptions\CheckModel\Role\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Role\EmptyColl - USERCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure] [FolderOptions\CheckModel\Procedure\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\ProcBodyEmpty] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Procedure\EmptyColl - PERMCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\DBMS Trigger] [FolderOptions\CheckModel\DBMS Trigger\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\DBMS Trigger\DbmsTriggerEvent] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source] [FolderOptions\CheckModel\Data Source\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\EmptyColl - MODLSRC] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\DtscTargets] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Source\CheckDataSourceModels] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Horizontal Partitioning] [FolderOptions\CheckModel\Horizontal Partitioning\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Horizontal Partitioning\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Horizontal Partitioning\EmptyColl - PARTCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Horizontal Partitioning\TargetTables] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Vertical Partitioning] [FolderOptions\CheckModel\Vertical Partitioning\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Vertical Partitioning\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Vertical Partitioning\EmptyColl - PARTCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Vertical Partitioning\TargetTables] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table Collapsing] [FolderOptions\CheckModel\Table Collapsing\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table Collapsing\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table Collapsing\EmptyColl - TargetTable] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Table Collapsing\TargetTables] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact] [FolderOptions\CheckModel\Fact\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\EmptyColl - MEASCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\Mapping] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Fact\MappingSFMap] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Fact\EmptyColl - ALLOLINKCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact\CubeDupAssociation] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension] [FolderOptions\CheckModel\Dimension\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\EmptyColl - DATTRCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\EmptyColl - HIERCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\DimnDupHierarchy] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\DimnDefHierarchy] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension\Mapping] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Dimension\MappingSFMap] CheckSeverity=No FixRequested=Yes CheckRequested=Yes [FolderOptions\CheckModel\Dimension\SerialColumnNumber] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association] [FolderOptions\CheckModel\Association\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Association\EmptyColl - Hierarchy] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute] [FolderOptions\CheckModel\Dimension.Attribute\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Attribute\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure] [FolderOptions\CheckModel\Fact.Measure\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Fact.Measure\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy] [FolderOptions\CheckModel\Dimension.Hierarchy\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Dimension.Hierarchy\EmptyColl - DATTRCOL] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym] [FolderOptions\CheckModel\Synonym\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\MaxLen - NAME] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Synonym\EmptyColl - BASEOBJ] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type] [FolderOptions\CheckModel\Abstract Data Type\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\AdtInstantiable] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type\AdtAbstractUsed] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure] [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\AdtProcUniqName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\UniqueDefinition] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Abstract Data Type.Abstract Data Type Procedure\ReturnDataType] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package] [FolderOptions\CheckModel\Database Package\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\MaxLen - NAME] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\EmptyColl - PROCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package\EmptyColl - CURCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package\EmptyColl - VARCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package\EmptyColl - TYPCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package\EmptyColl - EXCCOL] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package.Database Package Procedure] [FolderOptions\CheckModel\Database Package.Database Package Procedure\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\UniqueDefinition] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Procedure\EmptyColl - PARM] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package.Database Package Procedure\ReturnDataType] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence] [FolderOptions\CheckModel\Sequence\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Sequence\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor] [FolderOptions\CheckModel\Database Package.Database Package Cursor\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\UniqueDefinition] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\ReturnDataType] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Cursor\EmptyColl - PARM] CheckSeverity=Yes FixRequested=No CheckRequested=No [FolderOptions\CheckModel\Database Package.Database Package Variable] [FolderOptions\CheckModel\Database Package.Database Package Variable\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Variable\CheckUndefDttp] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type] [FolderOptions\CheckModel\Database Package.Database Package Type\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Type\UniqueDefinition] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception] [FolderOptions\CheckModel\Database Package.Database Package Exception\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database Package.Database Package Exception\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace] [FolderOptions\CheckModel\Tablespace\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Tablespace\IsObjectUsed] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage] [FolderOptions\CheckModel\Storage\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Storage\IsObjectUsed] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database] [FolderOptions\CheckModel\Database\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Database\IsObjectUsed] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service] [FolderOptions\CheckModel\Web Service\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation] [FolderOptions\CheckModel\Web Service.Web Operation\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Web Service.Web Operation\MaxLen - CODE] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle] [FolderOptions\CheckModel\Lifecycle\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\CheckLifecyclePhase] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\CheckLifecycleRetention] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle\CheckPartitionRange] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase] [FolderOptions\CheckModel\Lifecycle.Phase\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseTbspace] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseIQTbspace] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseDuplicateTbspace] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseTbspaceCurrency] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseRetention] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseIdlePeriod] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseDataSource] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Lifecycle.Phase\CheckPhaseExternalOnFirst] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Replication] [FolderOptions\CheckModel\Replication\PartialReplication] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule] [FolderOptions\CheckModel\Business Rule\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Business Rule\EmptyColl - OBJCOL] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object] [FolderOptions\CheckModel\Extended Object\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Object\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link] [FolderOptions\CheckModel\Extended Link\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Extended Link\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File] [FolderOptions\CheckModel\File\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\File\CheckPathExists] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format] [FolderOptions\CheckModel\Data Format\CheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\CheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\DefaultCheckUseOnlyTerms] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\DefaultCheckUseTermBySynonym] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\NotApprovedTerms] CheckSeverity=Yes FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\UniqueName] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\UniqueCode] CheckSeverity=No FixRequested=No CheckRequested=Yes [FolderOptions\CheckModel\Data Format\CheckDataFormatNullExpression] CheckSeverity=No FixRequested=No CheckRequested=Yes [ModelOptions] [ModelOptions\Physical Objects] CaseSensitive=No DisplayName=Yes EnableTrans=No UseTerm=No EnableRequirements=No EnableFullShortcut=Yes DefaultDttp= IgnoreOwner=No RebuildTrigger=Yes RefrUnique=No RefrAutoMigrate=Yes RefrMigrateReuse=No RefrMigrateDomain=Yes RefrMigrateCheck=Yes RefrMigrateRule=Yes RefrMigrateExtd=No RefrMigrDefaultLink=No RefrDfltImpl=D RefrPrgtColn=No RefrMigrateToEnd=No RebuildTriggerDep=No ColnFKName=%.3:PARENT%_%COLUMN% ColnFKNameUse=No DomnCopyDttp=Yes DomnCopyChck=No DomnCopyRule=No DomnCopyMand=No DomnCopyExtd=No DomnCopyProf=No Notation=0 DomnDefaultMandatory=No ColnDefaultMandatory=No TablDefaultOwner= ViewDefaultOwner= TrgrDefaultOwnerTabl= TrgrDefaultOwnerView= IdxDefaultOwnerTabl= IdxDefaultOwnerView= JdxDefaultOwner= DBPackDefaultOwner= SeqDefaultOwner= ProcDefaultOwner= DBMSTrgrDefaultOwner= Currency=USD RefrDeleteConstraint=1 RefrUpdateConstraint=1 RefrParentMandatory=No RefrParentChangeAllow=Yes RefrCheckOnCommit=No [ModelOptions\Physical Objects\NamingOptionsTemplates] [ModelOptions\Physical Objects\ClssNamingOptions] [ModelOptions\Physical Objects\ClssNamingOptions\PDMPCKG] [ModelOptions\Physical Objects\ClssNamingOptions\PDMPCKG\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\PDMPCKG\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\PDMDOMN] [ModelOptions\Physical Objects\ClssNamingOptions\PDMDOMN\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\PDMDOMN\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\TABL] [ModelOptions\Physical Objects\ClssNamingOptions\TABL\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\TABL\Code] Template= MaxLen=64 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\COLN] [ModelOptions\Physical Objects\ClssNamingOptions\COLN\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\COLN\Code] Template= MaxLen=64 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\INDX] [ModelOptions\Physical Objects\ClssNamingOptions\INDX\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\INDX\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\REFR] [ModelOptions\Physical Objects\ClssNamingOptions\REFR\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\REFR\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VREF] [ModelOptions\Physical Objects\ClssNamingOptions\VREF\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VREF\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VIEW] [ModelOptions\Physical Objects\ClssNamingOptions\VIEW\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VIEW\Code] Template= MaxLen=64 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VIEWC] [ModelOptions\Physical Objects\ClssNamingOptions\VIEWC\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\VIEWC\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WEBSERV] [ModelOptions\Physical Objects\ClssNamingOptions\WEBSERV\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WEBSERV\Code] Template= MaxLen=254 Case=M ValidChar='a'-'z','A'-'Z','0'-'9',"/-_.!~*'()" InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WEBOP] [ModelOptions\Physical Objects\ClssNamingOptions\WEBOP\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WEBOP\Code] Template= MaxLen=254 Case=M ValidChar='a'-'z','A'-'Z','0'-'9',"/-_.!~*'()" InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WPARAM] [ModelOptions\Physical Objects\ClssNamingOptions\WPARAM\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\WPARAM\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FACT] [ModelOptions\Physical Objects\ClssNamingOptions\FACT\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FACT\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DIMN] [ModelOptions\Physical Objects\ClssNamingOptions\DIMN\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DIMN\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\MEAS] [ModelOptions\Physical Objects\ClssNamingOptions\MEAS\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\MEAS\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DATTR] [ModelOptions\Physical Objects\ClssNamingOptions\DATTR\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DATTR\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FILO] [ModelOptions\Physical Objects\ClssNamingOptions\FILO\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FILO\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FRMEOBJ] [ModelOptions\Physical Objects\ClssNamingOptions\FRMEOBJ\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FRMEOBJ\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FRMELNK] [ModelOptions\Physical Objects\ClssNamingOptions\FRMELNK\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\FRMELNK\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DefaultClass] [ModelOptions\Physical Objects\ClssNamingOptions\DefaultClass\Name] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Physical Objects\ClssNamingOptions\DefaultClass\Code] Template= MaxLen=254 Case=M ValidChar= InvldChar= AllValid=Yes NoAccent=No DefaultChar= Script= ConvTable= ConvTablePath=%_HOME%\Resource Files\Conversion Tables [ModelOptions\Connection] [ModelOptions\Pdm] [ModelOptions\Generate] [ModelOptions\Generate\Xsm] GenRootElement=Yes GenComplexType=No GenAttribute=Yes CheckModel=Yes SaveLinks=Yes ORMapping=No NameToCode=No [ModelOptions\Generate\Pdm] RRMapping=No [ModelOptions\Generate\Cdm] CheckModel=Yes SaveLinks=Yes NameToCode=No Notation=2 [ModelOptions\Generate\Oom] CheckModel=Yes SaveLinks=Yes ORMapping=No NameToCode=Yes ClassPrefix= [ModelOptions\Generate\Ldm] CheckModel=Yes SaveLinks=Yes NameToCode=No [ModelOptions\Default Opts] [ModelOptions\Default Opts\TABL] PhysOpts= [ModelOptions\Default Opts\COLN] PhysOpts= [ModelOptions\Default Opts\INDX] PhysOpts= [ModelOptions\Default Opts\AKEY] PhysOpts= [ModelOptions\Default Opts\PKEY] PhysOpts= [ModelOptions\Default Opts\STOR] PhysOpts= [ModelOptions\Default Opts\TSPC] PhysOpts= [ModelOptions\Default Opts\SQNC] PhysOpts= [ModelOptions\Default Opts\DTBS] PhysOpts= [ModelOptions\Default Opts\USER] PhysOpts= [ModelOptions\Default Opts\JIDX] PhysOpts= 14D4F090-917F-4538-8687-B423AA42B832 MySQL 5.0 MYSQL50 1521705583 zhenghong 1521705583 zhenghong F4F16ECD-F2F1-4006-AF6F-638D5C65F35E 4BA9F647-DAB1-11D1-9944-006097355D9B 137EC109-4534-4C7A-BB72-091B8362EA59 diagram diagram 1521705583 zhenghong 1580869150 zhenghong [DisplayPreferences] [DisplayPreferences\PDM] [DisplayPreferences\General] Adjust to text=Yes Snap Grid=No Constrain Labels=Yes Display Grid=No Show Page Delimiter=Yes Show Links intersections=Yes Activate automatic link routing=Yes Grid size=800 Graphic unit=2 Window color=255 255 255 Background image= Background mode=8 Watermark image= Watermark mode=8 Show watermark on screen=No Gradient mode=0 Gradient end color=255 255 255 Show Swimlane=No SwimlaneVert=Yes TreeVert=No CompDark=0 [DisplayPreferences\Object] Show Icon=No Mode=2 Trunc Length=40 Word Length=40 Word Text=!"#$%&')*+,-./:;=>?@\]^_`|}~ Shortcut IntIcon=Yes Shortcut IntLoct=Yes Shortcut IntFullPath=No Shortcut IntLastPackage=Yes Shortcut ExtIcon=Yes Shortcut ExtLoct=No Shortcut ExtFullPath=No Shortcut ExtLastPackage=Yes Shortcut ExtIncludeModl=Yes EObjShowStrn=Yes ExtendedObject.Comment=No ExtendedObject.IconPicture=No ExtendedObject.TextStyle=No ExtendedObject_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Object Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <Separator Name="Separator" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> ELnkShowStrn=Yes ELnkShowName=Yes ExtendedLink_SymbolLayout=<Form>[CRLF] <Form Name="Center" >[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF] <Form Name="Source" >[CRLF] </Form>[CRLF] <Form Name="Destination" >[CRLF] </Form>[CRLF]</Form> FileObject.Stereotype=No FileObject.DisplayName=Yes FileObject.LocationOrName=No FileObject.IconPicture=No FileObject.TextStyle=No FileObject.IconMode=Yes FileObject_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="Yes" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Location" Attribute="LocationOrName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> Package.Stereotype=Yes Package.Comment=No Package.IconPicture=No Package.TextStyle=No Package_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <Separator Name="Separator" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> Display Model Version=Yes Table.Stereotype=Yes Table.DisplayName=Yes Table.OwnerDisplayName=No Table.Columns=Yes Table.Columns._Filter="All Columns" PDMCOLNALL Table.Columns._Columns=Stereotype DataType KeyIndicator Table.Columns._Limit=-5 Table.Keys=No Table.Keys._Columns=Stereotype Indicator Table.Indexes=No Table.Indexes._Columns=Stereotype Table.Triggers=No Table.Triggers._Columns=Stereotype Table.Comment=No Table.IconPicture=No Table.TextStyle=No Table_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="Yes" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Owner and Name" Attribute="OwnerDisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <Separator Name="Separator" />[CRLF] <StandardCollection Name="Columns" Collection="Columns" Columns="Stereotype No\r\nDisplayName Yes\r\nDataType No\r\nSymbolDataType No &quot;Domain or Data type&quot;\r\nDomain No\r\nKeyIndicator No\r\nIndexIndicator No\r\nNullStatus No" Filters="&quot;All Columns&quot; PDMCOLNALL &quot;&quot;\r\n&quot;PK Columns&quot; PDMCOLNPK &quot;\&quot;PRIM \&quot;TRUE\&quot; TRUE\&quot;&quot;\r\n&quot;Key Columns&quot; PDMCOLNKEY &quot;\&quot;KEYS \&quot;TRUE\&quot; TRUE\&quot;&quot;" HasLimit="Yes" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Keys" Collection="Keys" Columns="Stereotype No\r\nDisplayName Yes\r\nIndicator No" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Indexes" Collection="Indexes" Columns="Stereotype No\r\nDisplayName Yes\r\nIndicator No" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Triggers" Collection="Triggers" Columns="Stereotype No\r\nDisplayName Yes" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> View.Stereotype=Yes View.DisplayName=Yes View.OwnerDisplayName=No View.Columns=Yes View.Columns._Columns=DisplayName View.Columns._Limit=-5 View.TemporaryVTables=Yes View.Indexes=No View.Comment=No View.IconPicture=No View.TextStyle=No View_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="Yes" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Owner and Name" Attribute="OwnerDisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <Separator Name="Separator" />[CRLF] <StandardCollection Name="Columns" Collection="Columns" Columns="DisplayName No\r\nExpression No\r\nDataType No\r\nSymbolDataType No &quot;Domain or Data type&quot;\r\nIndexIndicator No" HasLimit="Yes" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Tables" Collection="TemporaryVTables" Columns="Name Yes" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardCollection Name="Indexes" Collection="Indexes" Columns="DisplayName Yes" HasLimit="No" HideEmpty="No" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> Procedure.Stereotype=No Procedure.DisplayName=Yes Procedure.OwnerDisplayName=No Procedure.Comment=No Procedure.IconPicture=No Procedure.TextStyle=No Procedure_SymbolLayout=<Form>[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="Yes" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Owner and Name" Attribute="OwnerDisplayName" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <Separator Name="Separator" />[CRLF] <StandardAttribute Name="Comment" Attribute="Comment" Prefix="" Suffix="" Alignment="LEFT" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Icon" Attribute="IconPicture" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF] <StandardAttribute Name="Force top align" Attribute="TextStyle" Prefix="" Suffix="" Alignment="CNTR" Caption="" Mandatory="Yes" />[CRLF]</Form> Reference.Cardinality=No Reference.ImplementationType=No Reference.ChildRole=Yes Reference.Stereotype=Yes Reference.DisplayName=No Reference.ForeignKeyConstraintName=No Reference.JoinExpression=No Reference.Integrity=No Reference.ParentRole=Yes Reference_SymbolLayout=<Form>[CRLF] <Form Name="Source" >[CRLF] <StandardAttribute Name="Cardinality" Attribute="Cardinality" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Implementation" Attribute="ImplementationType" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Child Role" Attribute="ChildRole" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF] <Form Name="Center" >[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="No" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Cons&amp;traint Name" Attribute="ForeignKeyConstraintName" Prefix="" Suffix="" Caption="Cons&amp;traint Name" Mandatory="No" />[CRLF] <StandardAttribute Name="Join" Attribute="JoinExpression" Prefix="" Suffix="" Caption="Join" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] <StandardAttribute Name="Referential integrity" Attribute="Integrity" Prefix="" Suffix="" Caption="Referential integrity" Mandatory="No" />[CRLF] </Form>[CRLF] <Form Name="Destination" >[CRLF] <StandardAttribute Name="Parent Role" Attribute="ParentRole" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF]</Form> ViewReference.ChildRole=Yes ViewReference.Stereotype=Yes ViewReference.DisplayName=No ViewReference.JoinExpression=No ViewReference.ParentRole=Yes ViewReference_SymbolLayout=<Form>[CRLF] <Form Name="Source" >[CRLF] <StandardAttribute Name="Child Role" Attribute="ChildRole" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF] <Form Name="Center" >[CRLF] <StandardAttribute Name="Stereotype" Attribute="Stereotype" Prefix="&lt;&lt;" Suffix="&gt;&gt;" Caption="" Mandatory="No" />[CRLF] <ExclusiveChoice Name="Exclusive Choice" Mandatory="No" Display="HorizontalRadios" >[CRLF] <StandardAttribute Name="Name" Attribute="DisplayName" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] <StandardAttribute Name="Join Expression" Attribute="JoinExpression" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </ExclusiveChoice>[CRLF] </Form>[CRLF] <Form Name="Destination" >[CRLF] <StandardAttribute Name="Parent Role" Attribute="ParentRole" Prefix="" Suffix="" Caption="" Mandatory="No" />[CRLF] </Form>[CRLF]</Form> [DisplayPreferences\Symbol] [DisplayPreferences\Symbol\FRMEOBJ] STRNFont=新宋体,8,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=6000 Height=2000 Brush color=255 255 255 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=64 Brush gradient color=192 192 192 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 255 128 128 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\FRMELNK] CENTERFont=新宋体,8,N CENTERFont color=0 0 0 Line style=1 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 128 128 255 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\FILO] OBJSTRNFont=新宋体,8,N OBJSTRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 LCNMFont=新宋体,8,N LCNMFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4800 Height=3600 Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 0 0 255 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\PDMPCKG] STRNFont=新宋体,8,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4800 Height=4000 Brush color=255 255 192 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=65 Brush gradient color=255 255 255 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 178 178 178 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\TABL] STRNFont=新宋体,10,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 OWNRDISPNAMEFont=新宋体,8,N OWNRDISPNAMEFont color=0 0 0 ColumnsFont=新宋体,8,N ColumnsFont color=0 0 0 TablePkColumnsFont=新宋体,8,U TablePkColumnsFont color=0 0 0 TableFkColumnsFont=新宋体,8,N TableFkColumnsFont color=0 0 0 KeysFont=新宋体,8,N KeysFont color=0 0 0 IndexesFont=新宋体,8,N IndexesFont color=0 0 0 TriggersFont=新宋体,8,N TriggersFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4800 Height=4000 Brush color=178 214 252 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=65 Brush gradient color=255 255 255 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 0 128 192 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\VIEW] STRNFont=新宋体,8,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 OWNRDISPNAMEFont=新宋体,8,N OWNRDISPNAMEFont color=0 0 0 ColumnsFont=新宋体,8,N ColumnsFont color=0 0 0 TablePkColumnsFont=新宋体,8,U TablePkColumnsFont color=0 0 0 TableFkColumnsFont=新宋体,8,N TableFkColumnsFont color=0 0 0 TemporaryVTablesFont=新宋体,8,N TemporaryVTablesFont color=0 0 0 IndexesFont=新宋体,8,N IndexesFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4800 Height=4000 Brush color=208 208 255 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=65 Brush gradient color=255 255 255 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 128 128 192 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\PROC] STRNFont=新宋体,8,N STRNFont color=0 0 0 DISPNAMEFont=新宋体,8,N DISPNAMEFont color=0 0 0 OWNRDISPNAMEFont=新宋体,8,N OWNRDISPNAMEFont color=0 0 0 LABLFont=新宋体,8,N LABLFont color=0 0 0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Width=4000 Height=1000 Brush color=255 255 192 Fill Color=Yes Brush style=6 Brush bitmap mode=12 Brush gradient mode=65 Brush gradient color=255 255 255 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 128 108 0 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\REFR] SOURCEFont=新宋体,8,N SOURCEFont color=0 0 0 CENTERFont=新宋体,8,N CENTERFont color=0 0 0 DESTINATIONFont=新宋体,8,N DESTINATIONFont color=0 0 0 Line style=1 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 0 128 192 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\VREF] SOURCEFont=新宋体,8,N SOURCEFont color=0 0 0 CENTERFont=新宋体,8,N CENTERFont color=0 0 0 DESTINATIONFont=新宋体,8,N DESTINATIONFont color=0 0 0 Line style=1 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 128 128 192 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\USRDEPD] OBJXSTRFont=新宋体,8,N OBJXSTRFont color=0 0 0 Line style=1 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=2 0 128 128 255 Shadow color=192 192 192 Shadow=0 [DisplayPreferences\Symbol\Free Symbol] Free TextFont=新宋体,8,N Free TextFont color=0 0 0 Line style=0 AutoAdjustToText=Yes Keep aspect=No Keep center=No Keep size=No Brush color=255 255 255 Fill Color=Yes Brush style=1 Brush bitmap mode=12 Brush gradient mode=0 Brush gradient color=118 118 118 Brush background image= Custom shape= Custom text mode=0 Pen=1 0 0 0 255 Shadow color=192 192 192 Shadow=0 (2280, 128972) ((315,354), (433,354)) 1 15 1521706257 1522399274 ((118,137911), (3606,139161)) ((518,138536),(3206,138536)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521710488 1522301998 ((-32542,131813), (-18882,146342)) ((-32142,145942),(-32142,132438),(-19282,132438)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521770349 1522399160 ((-19307,147483), (-18057,152962)) ((-18682,152562),(-18682,147883)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521771362 1522722888 ((-2768,147483), (-1518,154573)) ((-2143,154173),(-2143,147883)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521773101 1522399245 ((118,145689), (8052,147828)) ((518,146089),(4085,146089),(4085,147203),(7652,147203)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521783613 1522301998 ((-36148,140470), (-18882,141720)) ((-19282,141095),(-35748,141095)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521791466 1522721783 ((-35006,116007), (-18882,117257)) ((-34606,116632),(-19282,116632)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521792428 1522721669 ((-37186,123158), (-18882,124408)) ((-36786,123783),(-19282,123783)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521792909 1522721672 ((-36959,130601), (-18882,131851)) ((-36559,131226),(-19282,131226)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522045168 1522399263 ((26779,91096), (28029,95555)) ((27404,91496),(27404,95155)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522046100 1522399263 ((118,99478), (28233,125231)) ((518,124831),(27608,124831),(27608,99878)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522046451 1522399258 ((-10672,88961), (-7729,112209)) ((-8129,89361),(-10047,89361),(-10047,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522046456 1522399261 ((6477,85210), (12264,86460)) ((6877,85835),(11864,85835)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522112691 1522399105 ((-41320,55031), (-36214,56281)) ((-36614,55656),(-40920,55656)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522112694 1522399105 ((-16713,57856), (-15463,112209)) ((-16088,58256),(-16088,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522114406 1522399245 ((16796,151962), (26808,154513)) ((18480,152362),(26408,152362),(26408,153888),(17196,153888)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 4 1522115961 1522399266 ((16844,105298), (20156,145559)) ((17244,105698),(19531,105698),(19531,145159)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522115983 1522399266 ((11839,91096), (13089,104099)) ((12464,103699),(12464,91496)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522118676 1522721912 ((-21193,102395), (-18057,112209)) ((-20793,102795),(-18682,102795),(-18682,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522119056 1522721912 ((-37481,102138), (-32899,103388)) ((-37081,102763),(-33299,102763)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522120295 1522399221 ((-24810,167598), (-19344,168848)) ((-19744,168223),(-24410,168223)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522138613 1522399095 ((-24954,40604), (-19115,41854)) ((-19515,41229),(-24554,41229)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522138618 1522399095 ((-34348,42015), (-12721,130651)) ((-13121,42415),(-13121,75553),(-33948,75553),(-33948,130026),(-19282,130026)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522138705 1522399092 ((-43671,34853), (-38546,36103)) ((-38946,35478),(-43271,35478)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522141157 1522399066 ((-25433,19586), (-17431,20836)) ((-17831,20211),(-25033,20211)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522141232 1522399094 ((-43321,40604), (-38546,41854)) ((-42921,41229),(-38946,41229)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522141316 1522399068 ((-44663,18136), (-38253,19386)) ((-38653,18761),(-44263,18761)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522142006 1522399038 ((-42272,4919), (-33459,6169)) ((-41872,5544),(-33859,5544)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522215975 1522398810 ((62000,154589), (65163,155839)) ((62400,155214),(64763,155214)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522216015 1522398810 ((118,129221), (50900,156036)) ((50500,155636),(41338,155636),(41338,129846),(518,129846)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522216251 1522398808 ((62486,144990), (65163,146240)) ((62886,145615),(64763,145615)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522216380 1522399245 ((20100,145134), (46631,146384)) ((46231,145759),(20500,145759)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522220508 1541490687 ((77597,148397), (88375,149647)) ((87975,149022),(77997,149022)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522220546 1541490615 ((59369,64259), (99115,147363)) ((98715,146963),(98715,64884),(59769,64884)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522224364 1522399274 ((18744,122602), (80891,138598)) ((80491,123002),(74505,123002),(74505,137973),(19144,137973)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522225874 1522398795 ((118,126647), (80417,130069)) ((80017,129669),(72926,129669),(72926,127272),(518,127272)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522226077 1522398792 ((118,130712), (79609,136199)) ((79209,135799),(38938,135799),(38938,131337),(518,131337)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522226272 1522399075 ((-38306,48140), (83441,113756)) ((83041,113356),(83041,94555),(-37681,94555),(-37681,48540)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522303390 1542180981 ((56152,72245), (57402,98630)) ((56777,98230),(56777,72645)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522303410 1542180981 ((-9472,101195), (50367,112209)) ((49967,101595),(-8847,101595),(-8847,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522304178 1538200596 ((35098,10654), (42842,11904)) ((35498,11279),(42442,11279)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522386868 1522398605 ((36870,42888), (49607,52723)) ((49207,52323),(49207,43513),(37270,43513)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522387461 1522399143 ((50982,72245), (52232,75672)) ((51607,75272),(51607,72645)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522387526 1522399245 ((20100,78871), (40538,151445)) ((40138,79271),(40138,150820),(20500,150820)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522389232 1522398872 ((33605,58216), (43845,60017)) ((34005,59617),(34005,58841),(43445,58841)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 2 1522390434 1522398601 ((33005,54232), (43845,55482)) ((33405,54857),(43445,54857)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522390644 1522398535 ((33522,26819), (52232,52723)) ((33922,27219),(51607,27219),(51607,52323)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522391366 1522398601 ((59369,61859), (62562,63109)) ((62162,62484),(59769,62484)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522391379 1522398616 ((69534,56429), (70784,60444)) ((70159,60044),(70159,56829)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522396648 1522398621 ((52182,34420), (64724,52723)) ((64324,34820),(52807,34820),(52807,52323)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522396864 1522398618 ((53382,44918), (64185,52723)) ((63785,45318),(54007,45318),(54007,52323)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522659209 1522724919 ((-101497,31459), (51032,102938)) ((-101097,102538),(-101097,31859),(50407,31859),(50407,52323)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522660753 1522724919 ((-90857,129887), (-79217,131137)) ((-79617,130512),(-90457,130512)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522660820 1522719674 ((-64973,127931), (-18882,129181)) ((-64573,128556),(-19282,128556)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522721755 1522721783 ((-55169,48103), (20574,117096)) ((-49770,116696),(-54769,116696),(-54769,48728),(20174,48728)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522724329 1522724329 ((-100297,77071), (65163,153166)) ((-99897,102538),(-99897,77471),(35821,77471),(35821,152541),(64763,152541)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522725331 1522725331 ((-90857,117058), (-77798,118308)) ((-78198,117683),(-90457,117683)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522733188 1539745800 ((-90857,102513), (-73424,103763)) ((-73824,103138),(-90457,103138)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1522745521 1539745800 ((-84902,89423), (-73424,90673)) ((-73824,90048),(-84502,90048)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1533109967 1533110262 ((-119919,81722), (-12496,112209)) ((-119519,94842),(-119519,82122),(-13121,82122),(-13121,111809)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1533115827 1533116074 ((-112642,102747), (-38745,153053)) ((-112242,103147),(-109969,103147),(-109969,152428),(-39145,152428)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1533115888 1533115888 ((-121119,61859), (43845,95242)) ((-120719,94842),(-120719,78671),(37870,78671),(37870,62484),(43445,62484)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202362 1580624566 ((25795,-5333), (33632,-148)) ((26195,-2272),(26195,-548),(32832,-548),(32832,-4708),(32232,-4708)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 4 1538202471 1580609625 ((54116,11057), (59346,12307)) ((58946,11682),(54516,11682)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202492 1580609625 ((65496,8109), (66746,11214)) ((66121,10814),(66121,8509)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202586 1580624567 ((46201,-5622), (66746,1711)) ((46601,-5222),(66121,-5222),(66121,1311)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202588 1580624567 ((31832,-6533), (34857,-5283)) ((34457,-5908),(32232,-5908)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202927 1580624563 ((31729,2823), (42842,4073)) ((32129,3448),(42442,3448)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1538202929 1580624566 ((24370,-2672), (25620,1487)) ((24995,1087),(24995,-2272)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1539746524 1539746524 ((-65536,108004), (-18882,114533)) ((-65136,108404),(-65136,113908),(-19282,113908)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1541490540 1541490615 ((-90857,91755), (97915,147363)) ((97515,146963),(97515,92155),(-20193,92155),(-20193,111251),(-90457,111251)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1542179374 1542180977 ((47632,114935), (48882,118924)) ((48257,115335),(48257,118524)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1542179394 1542180977 ((64837,114935), (66087,117902)) ((65462,115335),(65462,117502)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1542179438 1542180977 ((118,111784), (42403,113034)) ((42003,112409),(518,112409)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580625109 1580625137 ((83723,16521), (99015,25885)) ((86540,16921),(86540,25485),(98615,25485),(98615,20467),(84123,20467)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 4 1580625333 1580625381 ((71758,1788), (77807,3038)) ((77407,2413),(72158,2413)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580625352 1580625378 ((81744,4384), (82994,12281)) ((82369,4784),(82369,11881)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580625421 1580625458 ((71758,4759), (92510,6009)) ((92110,5384),(72158,5384)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580625435 1581324463 ((95430,5190), (96680,9775)) ((96055,5590),(96055,9375)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1580869150 1581324463 ((101766,14015), (107589,15265)) ((102166,14640),(107189,14640)) 1 1 12615680 12632256 CENTER 0 新宋体,8,N SOURCE 0 新宋体,8,N DESTINATION 0 新宋体,8,N 1521705853 1524811003 -1 ((-19282,111809), (518,147883)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521706107 1522399274 -1 ((3206,132976), (19144,143474)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 Table.Stereotype 1 Table.DisplayName 1 Table.OwnerDisplayName 0 Table.Columns 1 -5 "All Columns" PDMCOLNALL Stereotype DataType KeyIndicator Table.Keys 0 0 "" "" Stereotype Indicator Table.Indexes 0 0 "" "" Stereotype Table.Triggers 0 0 "" "" Stereotype Table.Comment 0 1521709482 1582277412 -1 ((-39145,145942), (-25139,158914)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521710820 1522399160 -1 ((-25547,152562), (-13473,158934)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521770649 1522722888 -1 ((-9920,154173), (5632,165495)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521773028 1522399245 -1 ((7652,145159), (20500,156481)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521782818 1522116249 -1 ((-49754,136272), (-35748,144294)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521791032 1528184156 -1 ((-49770,113922), (-34606,119470)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521791865 1522721669 -1 ((-48860,121016), (-36786,126564)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1521791901 1522721672 -1 ((-49407,129426), (-36559,134150)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522044163 1522399263 -1 ((20787,95155), (34021,99878)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522044465 1522399261 -1 ((11864,80174), (30892,91496)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522046351 1524811003 -1 ((-8675,84638), (6877,89361)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522050428 1522399063 -1 ((-38653,14550), (-25033,25872)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522112533 1522399103 -1 ((-53768,52470), (-40920,58842)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522112617 1522399105 -1 ((-36614,53594), (-15488,58256)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522115893 1522399266 -1 ((378,103699), (17244,107698)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522118136 1522721912 -1 ((-33299,95709), (-20793,109817)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522118840 1522721910 -1 ((-49529,99005), (-37081,106855)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522120039 1522399218 -1 ((-36872,165037), (-24410,171409)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522120250 1522399221 -1 ((-19744,166032), (-8442,170031)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522138190 1542086220 -1 ((-38946,33918), (-24554,48540)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522138561 1522399095 -1 ((-19515,38416), (-6728,42415)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522138655 1522399092 -1 ((-56119,32459), (-43271,38831)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522139643 1522399094 -1 ((-55369,40423), (-42921,47585)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522141104 1522399066 -1 ((-17831,15073), (-5383,22235)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522141269 1522399068 -1 ((-57111,15575), (-44263,21947)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522141745 1522399038 -1 ((-50946,1067), (-41872,9775)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522141950 1522399038 -1 ((-33859,2358), (-21783,8730)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522142154 1522399038 -1 ((-14870,1448), (-1842,9470)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522215010 1541748859 -1 ((64763,140885), (77997,157159)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522215792 1522398810 -1 ((50500,153048), (62400,157047)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522216155 1522398808 -1 ((46231,143710), (62886,147709)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522217089 1541490687 -1 ((87975,146963), (103049,157789)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522217487 1522398601 -1 ((43445,52323), (59769,72645)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522223818 1522398796 -1 ((80491,120228), (94111,125776)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522224403 1522398795 -1 ((80017,126895), (93637,132443)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522226008 1522398792 -1 ((79209,133025), (92829,138573)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522226140 1522398801 -1 ((81729,113356), (95349,118904)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522227700 1542179018 -1 ((84563,94201), (96637,105523)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522300652 1542180972 -1 ((42220,118524), (54294,124896)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522303116 1542180981 -1 ((49967,98230), (63587,105428)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522303730 1538200596 -1 ((42442,2610), (54516,12282)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522303928 1522398635 -1 ((23424,7923), (35498,14295)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522379808 1522398605 -1 ((20174,37439), (37270,49587)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522387387 1522399143 -1 ((38718,75272), (55734,79271)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522387906 1522398872 -1 ((20470,59617), (36794,74239)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522390106 1535437026 -1 ((20171,50021), (33405,59693)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522390511 1522398535 -1 ((22234,23620), (33922,30818)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522390830 1522398616 -1 ((62383,52106), (77935,56829)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522391304 1522398550 -1 ((62162,60044), (74010,64043)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522396385 1522398621 -1 ((64324,30809), (76786,38831)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522396809 1522398618 -1 ((63785,41307), (76247,49329)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522397182 1522398632 -1 ((60231,18019), (72693,23567)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522397511 1522398629 -1 ((41533,16306), (57085,23504)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522398032 1535615091 -1 ((22716,17129), (36336,22677)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522658325 1522724919 -1 ((-109337,102538), (-90457,132828)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522660695 1522723641 -1 ((-79617,123965), (-64573,137059)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522724973 1522725331 -1 ((-78198,113051), (-65736,119423)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522726076 1522732894 -1 ((-125389,125206), (-111769,131578)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1522732897 1539745800 -1 ((-73824,83922), (-57114,108404)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522745162 1522745515 -1 ((-97736,85264), (-84502,94832)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1522745726 1522745726 -1 ((-125978,117636), (-113904,123184)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1533108597 1533116074 -1 ((-126796,94842), (-112242,111452)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1538200619 1538202954 -1 ((60084,1311), (72158,8509)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1538201545 1580624566 -1 ((20158,-11944), (32232,-2272)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1538202419 1580609625 -1 ((58946,10814), (73218,15337)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1538202537 1580624567 -1 ((34457,-7542), (46601,-2903)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1538202617 1580624563 -1 ((20655,1087), (32129,5810)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1542177985 1542179426 -1 ((57941,117502), (72983,124214)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1542179013 1542180977 -1 ((42003,107173), (68001,115335)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580624574 1580625137 -1 ((76332,11881), (88406,21427)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580624625 1581324463 -1 ((89944,9375), (102166,16974)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580624663 1580625381 -1 ((77407,42), (87097,4784)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580624686 1580625458 -1 ((92110,601), (102656,5590)) 0 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 1 1580869056 1580869177 -1 ((107189,12279), (119263,17002)) 12615680 16570034 12632256 STRN 0 新宋体,10,N DISPNAME 0 新宋体,8,N OWNRDISPNAME 0 新宋体,8,N Columns 0 新宋体,8,N TablePkColumns 0 新宋体,8,U TableFkColumns 0 新宋体,8,N Keys 0 新宋体,8,N Indexes 0 新宋体,8,N Triggers 0 新宋体,8,N LABL 0 新宋体,8,N 6 65 16777215 164FB8D9-0905-474E-87B0-2A812FEB067D pms_product pms_product 1521705853 zhenghong 1542179559 zhenghong 商品信息 8AF7359B-13B5-4473-A6E3-242871D32BD6 id id 1521705876 zhenghong 1542179474 zhenghong bigint 1 1 B6BFD1D9-71C4-49F0-A761-EB23FDF9EF89 brand_id brand_id 1521706257 zhenghong 1521706277 zhenghong bigint EFA57D19-DB53-47A2-9E13-6F237D2B8765 product_category_id product_category_id 1521773101 zhenghong 1521773123 zhenghong bigint 9E4E0B0C-6DC6-4602-A1BB-BEF479CC25B4 feight_template_id feight_template_id 1521783613 zhenghong 1521783636 zhenghong bigint 122FA791-93A8-4854-AB3B-87B68387B78D product_attribute_category_id product_attribute_category_id 1522046100 zhenghong 1522046125 zhenghong bigint C67A0956-CA1B-4ADF-878F-13B1538C122A name name 1521705899 zhenghong 1521771550 zhenghong varchar(64) 64 1 EC9E5B4D-23BF-425E-9781-90BD8BC6D802 pic pic 1521705899 zhenghong 1521770319 zhenghong varchar(255) 255 BAAD6FF5-DD35-4EFA-8B78-E4DB32CCFC06 product_sn product_sn 1521706312 zhenghong 1521771591 zhenghong 货号 varchar(64) 64 1 FC369A8B-64C8-4931-A1E2-80F902E4FE4A delete_status delete_status 1521773185 zhenghong 1521773247 zhenghong 删除状态:0->未删除;1->已删除 int(1) 1 12E77491-5C20-442C-9E04-DE7192B496D3 publish_status publish_status 1521706416 zhenghong 1521708284 zhenghong 上架状态:0->下架;1->上架 int(1) 1 7E4B57E7-DCCD-4D96-93E0-E3A2E0D9B2F8 new_status new_status 1521708193 zhenghong 1521708312 zhenghong 新品状态:0->不是新品;1->新品 int(1) 1 C32DF9EC-A332-4DB2-A56B-74E0F6168FF1 recommand_status recommand_status 1521708193 zhenghong 1521708410 zhenghong 推荐状态;0->不推荐;1->推荐 int(1) 1 47876735-91B4-42FC-A052-22640AC057D8 verify_status verify_status 1521710674 zhenghong 1521710725 zhenghong 审核状态:0->未审核;1->审核通过 int(1) 1 07A57EB8-410D-4E59-AD0C-8A1AD4DD3951 sort sort 1521708381 zhenghong 1521708544 zhenghong 排序 int 93478201-C851-481D-B110-56414379F2A3 sale sale 1521710587 zhenghong 1521710613 zhenghong 销量 int C5845093-F658-46C1-B381-6585F2337029 price price 1521706312 zhenghong 1521706372 zhenghong decimal(10,2) 10 2 8A8C872F-23FC-42E2-BC8F-EA4374E0C4ED promotion_price promotion_price 1521770729 zhenghong 1522720423 zhenghong 促销价格 decimal(10,2) 10 2 DADE2195-8B3B-42F2-9C5A-847124C0C327 gift_growth gift_growth 1527561524 zhenghong 1535963779 zhenghong 赠送的成长值 0 int 9ECDB8CD-593F-431C-B580-756BC29F0E69 gift_point gift_point 1521771016 zhenghong 1535963789 zhenghong 赠送的积分 0 int 1C3E16DC-0AB6-489F-83D6-CB92058E8AD6 use_point_limit use_point_limit 1521771103 zhenghong 1521771156 zhenghong 限制使用的积分数 int 8DBA22FF-9FEF-4E36-8B0D-D0712EB1AFDD sub_title sub_title 1521773700 zhenghong 1521773733 zhenghong 副标题 varchar(255) 255 074C30CA-F802-4EA3-8B92-AE332D8FE237 description description 1521774517 zhenghong 1521791536 zhenghong 商品描述 text 50335AAB-9D8F-4794-A706-A51E04285498 original_price original_price 1521775224 zhenghong 1521775254 zhenghong 市场价 decimal(10,2) 10 2 F1511198-BFDC-4CA7-A79F-6BEA7863E4CA stock stock 1521775417 zhenghong 1521775449 zhenghong 库存 int 9B83BF24-B43F-41AE-93AA-6E9723B41F3D low_stock low_stock 1521775417 zhenghong 1521775458 zhenghong 库存预警值 int 29B50C2C-38C6-4080-83F7-309CC040B9D3 unit unit 1521775486 zhenghong 1521775515 zhenghong 单位 varchar(16) 16 F07F26B4-DC76-4F4D-8FF7-6E299DAE613A weight weight 1521775567 zhenghong 1521775649 zhenghong 商品重量,默认为克 decimal(10,2) 10 2 730DF7D7-E307-4039-BFD4-04B4E145776D preview_status preview_status 1521782409 zhenghong 1521782456 zhenghong 是否为预告商品:0->不是;1->是 int(1) 1 BB566C0D-3C0A-42EB-AAFE-89E56EDB5AF3 service_ids service_ids 1521783875 zhenghong 1521784127 zhenghong 以逗号分割的产品服务:1->无忧退货;2->快速退款;3->免费包邮 varchar(64) 64 25E62F7C-D9D8-4B61-8337-7A94F4A1F969 keywords keywords 1521784236 zhenghong 1521784353 zhenghong varchar(255) 255 730BAD96-E459-412D-B812-E9BDBDF6DC1B note note 1521784236 zhenghong 1521784353 zhenghong varchar(255) 255 22BBCF62-4B72-4C69-BFE1-81F1378D4703 album_pics album_pics 1522046916 zhenghong 1522046981 zhenghong 画册图片,连产品图片限制为5张,以逗号分割 varchar(255) 255 27D69BFE-AEE5-4095-9688-3F11B0A3F5B3 detail_title detail_title 1521784236 zhenghong 1521784353 zhenghong varchar(255) 255 66C1D3B2-DFB9-472B-9B46-054F4A995EC8 detail_desc detail_desc 1521784236 zhenghong 1521784353 zhenghong text 4407B70B-168F-489C-86FC-913130573035 detail_html detail_html 1522047002 zhenghong 1522047039 zhenghong 产品详情网页内容 text A16D766A-2FAC-4806-B5B6-7BCE643BD125 detail_mobile_html detail_mobile_html 1522047022 zhenghong 1522047069 zhenghong 移动端网页详情 text 125B7984-46F6-4A6B-986E-637075A7B792 promotion_start_time promotion_start_time 1522721079 zhenghong 1522721101 zhenghong 促销开始时间 datetime CD7F32DC-B2C4-4F0B-86A6-C3EF8BBC11E4 promotion_end_time promotion_end_time 1522721096 zhenghong 1522721135 zhenghong 促销结束时间 datetime AF663519-4F0B-438D-9F86-A3B4494C91B5 promotion_per_limit promotion_per_limit 1522721333 zhenghong 1522721377 zhenghong 活动限购数量 int 2870F419-7F16-4C2C-BEE8-69AD3C322429 promotion_type promotion_type 1522721953 zhenghong 1542179623 zhenghong 促销类型:0->没有促销使用原价;1->使用促销价;2->使用会员价;3->使用阶梯价格;4->使用满减价格;5->限时购 int(1) 1 BC8E43C1-F35D-4BA2-A622-D282035B08CF product_category_name product_category_name 1524810975 zhenghong 1524811010 zhenghong 产品分类名称 varchar(255) 255 7B4B3817-5E34-476B-B9DF-20FC181A2FC4 brand_name brand_name 1524811003 zhenghong 1524811036 zhenghong 品牌名称 varchar(255) 255 8FF04A0E-BF3D-4A1B-B05D-FAD79976F256 Key_1 Key_1 1521705876 zhenghong 1542179474 zhenghong C003EAE8-4D2B-4CD2-910D-617ED63DCFDE index_name index_name 1521771497 zhenghong 1521771550 zhenghong F55EF3D5-E93C-4AAE-95BE-5E91AD084511 1521771542 zhenghong 1521771550 zhenghong EC80C139-CCE0-49CF-AF77-52A1C35DC8AC index_product_sn index_product_sn 1521771497 zhenghong 1521772268 zhenghong 1 D0E6B1E9-C1D3-40AD-BCA6-928C253C57CC 1521771579 zhenghong 1521771591 zhenghong 8DB91C27-0C0C-42C1-9C82-B99A752DFFDE pms_brand pms_brand 1521706107 zhenghong 1522116692 zhenghong 品牌表 BA330DA5-20D1-42FB-A362-94D07D30A4B6 id id 1521706123 zhenghong 1521706154 zhenghong bigint 1 1 45F3DFE2-8F5D-4CDF-9FE5-4A6904BB07D4 name name 1521706148 zhenghong 1521706194 zhenghong varchar(64) 64 CDFF668D-2DBA-4D99-8E76-B05114B8EAD7 first_letter first_letter 1522116447 zhenghong 1522116473 zhenghong 首字母 varchar(8) 8 9E323340-1826-471A-93EE-92C45769B194 sort sort 1522116482 zhenghong 1522116540 zhenghong int 97FF98F7-8A09-4C40-8D52-FC32F0021DF9 factory_status factory_status 1522116482 zhenghong 1522116560 zhenghong 是否为品牌制造商:0->不是;1->是 int(1) 1 5F86AE1D-14C6-421F-9065-6B3248678ECF show_status show_status 1522116540 zhenghong 1522116692 zhenghong int(1) 1 A8CA06B3-8F05-4D05-A9E0-B979D053C74A product_count product_count 1522116540 zhenghong 1522116717 zhenghong 产品数量 int F6BC9D0C-3D20-4CB3-B906-0D660320FC88 product_comment_count product_comment_count 1522116540 zhenghong 1522116728 zhenghong 产品评论数量 int 28BF01C1-2534-46E1-8D03-3D1304399694 logo logo 1522116540 zhenghong 1522116744 zhenghong 品牌logo varchar(255) 255 955AC940-E5A2-4791-8DB3-46874F51898B big_pic big_pic 1522116540 zhenghong 1522116821 zhenghong 专区大图 varchar(255) 255 822303EE-A57E-432B-AB93-E9C6B4B67358 brand_story brand_story 1522116540 zhenghong 1522116753 zhenghong 品牌故事 text 12C8D1EF-1F7E-46ED-AD23-4F0BD57F243D Key_1 Key_1 1521706123 zhenghong 1521706148 zhenghong A9A5B46B-D1A3-4619-86D4-AD1A3FF949B1 pms_sku_stock pms_sku_stock 1521709482 zhenghong 1582621117 zhenghong sku的库存 F8A87B5F-1B3E-416A-9AA6-E6330490C79F id id 1521709484 zhenghong 1533115846 zhenghong bigint 1 1 0A9D0B97-8FCA-4D49-9649-6D3A6398F71D product_id product_id 1521710488 zhenghong 1521710505 zhenghong bigint 300133D5-246C-492C-8106-E0464641A1AD sku_code sku_code 1521709695 zhenghong 1522214782 zhenghong sku编码 varchar(64) 64 1 2C098191-D831-42F7-981A-BB5FC58097A3 price price 1521709829 zhenghong 1521709926 zhenghong decimal(10,2) 10 2 F0D06968-A5E5-4A38-82DA-909C1AF9500C stock stock 1521709829 zhenghong 1535619079 zhenghong 库存 0 int 627512CB-E621-46A5-B077-12BB80006181 low_stock low_stock 1521709829 zhenghong 1521709939 zhenghong 预警库存 int 2385F4C5-9983-48B4-9E03-710937E056A4 pic pic 1521710423 zhenghong 1521770332 zhenghong 展示图片 varchar(255) 255 C9AA0DC8-AEE6-4401-AE9A-65B6FD89A608 sale sale 1521710565 zhenghong 1521710584 zhenghong 销量 int F8B829D9-2390-44F9-AE79-B698E94E2F5D promotion_price promotion_price 1534927833 zhenghong 1534927874 zhenghong 单品促销价格 decimal(10,2) 10 2 385D5E74-8D2D-4429-8BF1-1DB7C0ED0E8D lock_stock lock_stock 1534927865 zhenghong 1535619073 zhenghong 锁定库存 0 int 30F35E66-3167-4F75-B0DC-48B30CEC1C4F sp_data sp_data 1582277384 zhenghong 1582277412 zhenghong 商品销售属性,json格式 varchar(500) 500 BF22FDBF-9CF7-4FF4-A579-4C0AAC38A457 Key_1 Key_1 1521709484 zhenghong 1533115846 zhenghong B9FC590F-46F6-4235-8672-FF13B2E50A77 pms_product_vertify_record pms_product_vertify_record 1521710820 zhenghong 1521770349 zhenghong 商品审核记录 530FCADE-4166-42A4-8453-5D874EEC4522 id id 1521710821 zhenghong 1521770174 zhenghong bigint 1 1 7493F171-CA73-4150-A6EA-AB0D8FF46D75 product_id product_id 1521770349 zhenghong 1521770362 zhenghong bigint 9786F28F-F757-486B-93A9-7C5A5E46D950 create_time create_time 1521710821 zhenghong 1521711025 zhenghong datetime 7E1BFDC6-E587-45E4-AE7C-8C3466279D4C vertify_man vertify_man 1521710821 zhenghong 1521711032 zhenghong 审核人 varchar(64) 64 06C38A5C-1977-42C3-A614-B2DF0654BB47 status status 1521710821 zhenghong 1524816533 zhenghong 审核后的状态:0->未通过;2->已通过 int(1) 1 8C61E1D1-7809-4E91-8638-43739274A2CB detail detail 1521710821 zhenghong 1521770161 zhenghong 反馈详情 varchar(255) 255 5AA18CE6-B6B1-4D42-840C-F0ED5A7EE6AC Key_1 Key_1 1521710821 zhenghong 1521711025 zhenghong 9063AF6E-4B68-4106-803C-747646C77EB0 pms_product_operate_log pms_product_operate_log 1521770649 zhenghong 1521771362 zhenghong 715605E0-FA0B-4C2F-87CA-35849F4999B3 id id 1521770770 zhenghong 1521770806 zhenghong bigint 1 1 3DB748F5-8378-4A65-9103-BC4AF0D6CD51 product_id product_id 1521771362 zhenghong 1521771375 zhenghong bigint ED9DDCD5-C1E3-4A0A-A2BF-6AE1FE20479B price_old price_old 1521770804 zhenghong 1521770995 zhenghong decimal(10,2) 10 2 38DD8227-7B0A-4661-A5B4-48AE1CC49CB0 price_new price_new 1521770804 zhenghong 1521770995 zhenghong decimal(10,2) 10 2 25E58A65-F4B3-4A38-BF9F-B4951F1D2A52 sale_price_old sale_price_old 1521770804 zhenghong 1521770995 zhenghong decimal(10,2) 10 2 A2768BA1-44DB-4DA5-8E18-42AE3A6181FD sale_price_new sale_price_new 1521770804 zhenghong 1521770995 zhenghong decimal(10,2) 10 2 ACC53AA1-DE06-4626-9248-159BA1AEF3C0 gift_point_old gift_point_old 1521770804 zhenghong 1521771014 zhenghong 赠送的积分 int AE80A7D3-2CF1-4F55-87C8-48BF66B3E0F5 gift_point_new gift_point_new 1521770804 zhenghong 1521770995 zhenghong int 9D16C330-E114-4778-B552-DDF06AF3BC55 use_point_limit_old use_point_limit_old 1521771164 zhenghong 1521771200 zhenghong int F4FFECE7-3152-46A5-83C6-60D352457335 use_point_limit_new use_point_limit_new 1521771164 zhenghong 1521771200 zhenghong int 74162271-05EF-4D60-A189-252B04234604 operate_man operate_man 1521771246 zhenghong 1521771275 zhenghong 操作人 varchar(64) 64 966002F8-6310-4146-A9EA-4F185033236B create_time create_time 1521771269 zhenghong 1521771335 zhenghong datetime 74CA880E-049D-422E-9C8D-AD3A1E73DCE2 Key_1 Key_1 1521770770 zhenghong 1521770804 zhenghong 0D760BB3-CA67-4F64-B6A5-2D093F7657D6 pms_product_category pms_product_category 1521773028 zhenghong 1522115630 zhenghong 产品分类 7235E328-6BF3-4CFD-B1C6-A02A6F6718A9 id id 1521773048 zhenghong 1521773067 zhenghong bigint 1 1 0E642091-F38B-4D5F-937D-DA9C4151EFE2 parent_id parent_id 1522114406 zhenghong 1522114468 zhenghong 上机分类的编号:0表示一级分类 bigint BDD611F1-0142-4419-B183-4F15282363D5 name name 1521773064 zhenghong 1521773092 zhenghong varchar(64) 64 1A0124D2-0307-433A-ADEA-62C14A6003F0 level level 1522114959 zhenghong 1522116072 zhenghong 分类级别:0->1级;1->2级 int(1) 1 E50CCB02-2506-46DA-A95C-950DE16DF50F product_count product_count 1522115030 zhenghong 1522115103 zhenghong int 054029CE-B46E-4C2D-BFE1-E460D1B12275 product_unit product_unit 1522115030 zhenghong 1522115103 zhenghong varchar(64) 64 8FF814D8-75E9-43DC-8CA8-890BECAEC537 nav_status nav_status 1522115030 zhenghong 1522115270 zhenghong 是否显示在导航栏:0->不显示;1->显示 int(1) 1 D38D4B8B-1852-4350-93ED-1803A7BEA6E7 show_status show_status 1522115145 zhenghong 1522115208 zhenghong 显示状态:0->不显示;1->显示 int(1) 1 B47FED84-81B7-4E39-B763-8EE996F2424B sort sort 1522115178 zhenghong 1522115228 zhenghong int DB87CC69-B178-4FCD-B827-2A6C79ED2FE9 icon icon 1522115323 zhenghong 1522115342 zhenghong 图标 varchar(255) 255 93F08150-5658-4346-B8FC-7F52F889824A keywords keywords 1522115588 zhenghong 1522115630 zhenghong varchar(255) 255 4B01893A-E307-49EB-B5D4-98B55B0A48D1 description description 1522115588 zhenghong 1522115634 zhenghong 描述 text 64090BE2-8BEC-4616-8DDE-E24C94B52E9D Key_1 Key_1 1521773048 zhenghong 1521773064 zhenghong 4C5F5ABA-B6AB-4689-9F04-B487E920C073 pms_feight_template pms_feight_template 1521782818 zhenghong 1521783539 zhenghong 运费模版 50FF090A-11EC-4F73-B237-ACA1D6347465 id id 1521783117 zhenghong 1521783139 zhenghong bigint 1 1 E3A40203-E74E-4FC9-8A61-0169E8FD93BF name name 1521783135 zhenghong 1521783238 zhenghong varchar(64) 64 8BE728B7-5B75-4D76-A896-09F73A87B08A charge_type charge_type 1521783135 zhenghong 1521783309 zhenghong 计费类型:0->按重量;1->按件数 int(1) 1 63F6CF39-B317-4872-869A-4AA80BCB1FDC first_weight first_weight 1521783270 zhenghong 1521783558 zhenghong 首重kg decimal(10,2) 10 2 DC192E82-45CE-4623-AD18-DA14ECB31F39 first_fee first_fee 1521783270 zhenghong 1521783579 zhenghong 首费(元) decimal(10,2) 10 2 7D5538AC-2415-4EFA-8A9B-A46204FF35CB continue_weight continue_weight 1521783270 zhenghong 1521783539 zhenghong decimal(10,2) 10 2 4EC457E3-A82A-4B3B-86B7-D4E0C200780F continme_fee continme_fee 1521783270 zhenghong 1521783539 zhenghong decimal(10,2) 10 2 FE7A715E-1C3C-4E28-BBB2-1B34605B2EAF dest dest 1521783270 zhenghong 1521783601 zhenghong 目的地(省、市) varchar(255) 255 3F3D7980-1F46-4F3E-BDFD-AF0F8EEE2FA6 Key_1 Key_1 1521783117 zhenghong 1521783135 zhenghong 22CB8FD3-3DDD-4FF9-AE76-E13CF6CD6875 pms_member_price pms_member_price 1521791032 zhenghong 1528184156 zhenghong 商品会员价格表 30FC5C31-983F-4219-9339-C8B5BABB7234 id id 1521791069 zhenghong 1521791086 zhenghong bigint 1 1 9BC9FEC6-7030-4F2B-9C10-86F37EB776FD product_id product_id 1521791466 zhenghong 1521791479 zhenghong bigint 49BA6972-E766-4A84-8B8B-9C4DD271CE61 member_level_id member_level_id 1522721755 zhenghong 1522721767 zhenghong bigint 941A6699-6C9F-4E4B-9FAA-B6E6F69906EC member_price member_price 1522721615 zhenghong 1522721665 zhenghong 会员价格 decimal(10,2) 10 2 0B4E79EF-7E2C-41DE-B72B-C9BC578A2F72 member_level_name member_level_name 1528184129 zhenghong 1528184156 zhenghong varchar(100) 100 FE782243-6FFE-4CEE-BA53-9AFE8D357748 Key_1 Key_1 1521791069 zhenghong 1521791083 zhenghong DDA47447-C998-4D66-9FD0-1A64A30E043C pms_product_ladder pms_product_ladder 1521791865 zhenghong 1522721483 zhenghong 产品阶梯价格表(只针对同商品) C7FD3278-BB15-4A88-A424-42163F101417 id id 1521792127 zhenghong 1521792152 zhenghong bigint 1 1 3FDC1BDA-8A46-4848-9D75-3856408246F6 product_id product_id 1521792428 zhenghong 1521792442 zhenghong bigint 8A95CD6B-64CA-48FE-BF0F-46E24B04A977 count count 1521792148 zhenghong 1521792177 zhenghong 满足的商品数量 int F9D8DAEF-F28F-424D-9532-FB464AD4E654 discount discount 1521792164 zhenghong 1521792218 zhenghong 折扣 decimal(10,2) 10 2 7693845E-7B98-4C2E-9406-863D4F8E612A price price 1521792219 zhenghong 1521792257 zhenghong 折后价格 decimal(10,2) 10 2 4C0C9B14-EE1D-4112-A02D-85975F91C2F9 Key_1 Key_1 1521792127 zhenghong 1521792148 zhenghong 9C7F6D83-696D-4AC2-B63C-41A457276432 pms_product_full_reduction pms_product_full_reduction 1521791901 zhenghong 1522721499 zhenghong 产品满减表(只针对同商品) 1CB2D116-96CD-4A26-B9D4-B7AA00AD92E7 id id 1521792488 zhenghong 1524721741 zhenghong bigint 1 1 AF625FED-C1BF-47A8-94CE-EAB80C7CE452 product_id product_id 1521792909 zhenghong 1521792920 zhenghong bigint 56253152-8B4B-4F5D-ABB7-DFAEBED5C6EA full_price full_price 1521792498 zhenghong 1521792848 zhenghong decimal(10,2) 10 2 A23F3BDA-C442-413A-8F7F-EBBAFF4EB634 reduce_price reduce_price 1521792498 zhenghong 1521792848 zhenghong decimal(10,2) 10 2 42DEDB72-EACE-44AD-8377-601D1EF19A71 Key_1 Key_1 1521792488 zhenghong 1521792498 zhenghong 8CA12D96-D48C-4542-A89B-718C043C331E pms_product_attribute_category pms_product_attribute_category 1522044163 zhenghong 1522044533 zhenghong 产品属性分类表 C0EDF8D7-B021-4E78-AB1C-3372732BAA8A id id 1522044196 zhenghong 1522044533 zhenghong bigint 1 1 DF80D9F1-71A8-4898-9D4B-CDEFFFD1C51F name name 1522044211 zhenghong 1522044389 zhenghong varchar(64) 64 34182414-4199-49E6-B221-AF015FAD34FB attribute_count attribute_count 1522044211 zhenghong 1522044418 zhenghong 属性数量 int 728FAF40-18B5-42AD-9006-390BB12DF6D5 param_count param_count 1522044211 zhenghong 1522044436 zhenghong 参数数量 int C340AD67-5366-4172-A5C1-715381DA4E4C Key_1 Key_1 1522044527 zhenghong 1522044533 zhenghong 1959D6C2-18BC-4144-85F7-C5CD3C830DB4 pms_product_attribute pms_product_attribute 1522044465 zhenghong 1522045805 zhenghong 商品属性参数表 9736DD68-0C91-45FD-98D9-098B45FAA881 id id 1522044502 zhenghong 1522044525 zhenghong bigint 1 1 46A4A5DC-A87A-4AB1-A41A-E70B98AA3C7F product_attribute_category_id product_attribute_category_id 1522045168 zhenghong 1522045192 zhenghong bigint A23C122D-1090-414B-A50F-64053E0CA705 name name 1522044544 zhenghong 1522044628 zhenghong varchar(64) 64 0475CD9F-ECC5-435C-812F-16D6D2FDA0F5 select_type select_type 1522044544 zhenghong 1551343683 zhenghong 属性选择类型:0->唯一;1->单选;2->多选;对应属性和参数意义不同; int(1) 1 A656FC1F-FC28-4012-8876-5FE082ADCFC1 input_type input_type 1522044628 zhenghong 1522044761 zhenghong 属性录入方式:0->手工录入;1->从列表中选取 int(1) 1 673D1CDE-138E-45B6-9ADE-9C9FBAF1FA3C input_list input_list 1522044737 zhenghong 1522044853 zhenghong 可选值列表,以逗号隔开 varchar(255) 255 2710E2E2-FD53-4302-B88E-62F2B708E736 sort sort 1522044833 zhenghong 1522045635 zhenghong 排序字段:最高的可以单独上传图片 int 6A4CA846-5A79-4A70-9C1B-69D819C67C91 filter_type filter_type 1522044833 zhenghong 1522045152 zhenghong 分类筛选样式:1->普通;1->颜色 int(1) 1 2BE254B3-3CD8-4794-929E-3FBEB258936B search_type search_type 1522045233 zhenghong 1522045285 zhenghong 检索类型;0->不需要进行检索;1->关键字检索;2->范围检索 int(1) 1 5C1F000F-8181-4CF0-B2C6-422AC7CD8EF3 related_status related_status 1522045363 zhenghong 1522045485 zhenghong 相同属性产品是否关联;0->不关联;1->关联 int(1) 1 3660F2D1-79BF-4600-B965-259108FA8784 hand_add_status hand_add_status 1522045453 zhenghong 1522045556 zhenghong 是否支持手动新增;0->不支持;1->支持 int(1) 1 1EFD6D7F-29E6-4B52-A192-EDDEFFF5EB54 type type 1522045781 zhenghong 1522045820 zhenghong 属性的类型;0->规格;1->参数 int(1) 1 D37FC115-4FED-46C1-9D29-34FE0FCB103F Key_1 Key_1 1522044517 zhenghong 1522044525 zhenghong 70D24471-1832-42AF-BF28-DF5C4D67427D pms_product_attribute_value pms_product_attribute_value 1522046351 zhenghong 1522046456 zhenghong 存储产品参数信息的表 98949F13-7401-4B46-8C46-AD0EDB279FA6 id id 1522046392 zhenghong 1522046409 zhenghong bigint 1 1 A73883DF-2D36-497D-8D90-9EB0F5CF3C5B product_id product_id 1522046451 zhenghong 1524710981 zhenghong bigint 92ACF804-9722-47C3-826B-A2611338F2F6 product_attribute_id product_attribute_id 1522046456 zhenghong 1524710981 zhenghong bigint E83F864A-D6C1-48EA-B9A3-7C9AB2ED55A1 value value 1522046406 zhenghong 1531100886 zhenghong 手动添加规格或参数的值,参数单值,规格有多个时以逗号隔开 varchar(64) 64 66A6E0B8-A090-45F7-ACD4-8815D7DF6B6F Key_1 Key_1 1522046392 zhenghong 1522046406 zhenghong 73D97C96-1D05-46E2-89CA-985688FD385B cms_topic cms_topic 1522050428 zhenghong 1522141317 zhenghong 话题表 E5586D56-C86E-40C0-8433-7EAAB1A7A79F id id 1522050454 zhenghong 1522050470 zhenghong bigint 1 1 8DBF595F-4E5A-42F6-A301-D87380DA3FE6 category_id category_id 1522141317 zhenghong 1522141327 zhenghong bigint 8CDFD790-F0B3-436A-8295-5F442B1A3E07 name name 1522050467 zhenghong 1522050484 zhenghong varchar(255) 255 CD7B71CD-51EB-49B3-93FE-59F59BF51EF2 create_time create_time 1522140807 zhenghong 1522140989 zhenghong datetime 351D963E-FCB6-4A62-A03E-79FC4362CAFD start_time start_time 1522140807 zhenghong 1522140989 zhenghong datetime BC71816F-CC52-4DD7-869B-5EF23E07824D end_time end_time 1522140807 zhenghong 1522140989 zhenghong datetime 082A202D-0BB3-41C1-9474-62FE6C172569 attend_count attend_count 1522140807 zhenghong 1522141052 zhenghong 参与人数 int 6A84107F-35BF-4BB0-B867-39198A321E01 attention_count attention_count 1522140807 zhenghong 1522141063 zhenghong 关注人数 int 5A9F5276-5222-4760-BA85-CA98154759F9 read_count read_count 1522140807 zhenghong 1522140989 zhenghong int 1931F93B-6D40-4FD7-9C4F-1C67815C3459 award_name award_name 1522140807 zhenghong 1522140997 zhenghong 奖品名称 varchar(100) 100 6440D5DB-2981-4203-9519-A4CB896AB498 attend_type attend_type 1522140989 zhenghong 1522141043 zhenghong 参与方式 varchar(100) 100 C88BACB1-A103-4EC5-8800-F500CE872650 content content 1522141034 zhenghong 1522141083 zhenghong 话题内容 text 9469C4F2-63EF-48D7-85F7-749CBD56D5A9 Key_1 Key_1 1522050454 zhenghong 1522050467 zhenghong 143551D6-36A8-4263-B499-17416D5B4E78 cms_prefrence_area cms_prefrence_area 1522112533 zhenghong 1522139400 zhenghong 优选专区 601C99AA-881D-4188-A507-8EBC584792A1 id id 1522112534 zhenghong 1522112571 zhenghong bigint 1 1 FCDEF8AE-3C3E-4D80-8718-68B2BFDAAAAB name name 1522112567 zhenghong 1522112584 zhenghong varchar(255) 255 6F54EFCF-2121-40E1-A012-0780AA817B9E sub_title sub_title 1522139220 zhenghong 1522139257 zhenghong varchar(255) 255 31AB8614-FFF2-430B-A3B9-8592C41EC3B4 pic pic 1522139329 zhenghong 1522139365 zhenghong 展示图片 varbinary(500) 500 27D98403-DF29-48CA-A724-8E2B6FFEFB01 sort sort 1522139372 zhenghong 1522139400 zhenghong int 3BD7C5D5-B647-4499-ABA6-AE5E08D069CE show_status show_status 1522139372 zhenghong 1522139400 zhenghong int(1) 1 D4E19AA8-AFAB-4791-A6C7-15DBDF850779 Key_1 Key_1 1522112534 zhenghong 1522112567 zhenghong A13BD5C1-4EB4-4269-978C-7BC04C9CDC6E cms_prefrence_area_product_relation cms_prefrence_area_product_relation 1522112617 zhenghong 1522215871 zhenghong 优选专区和产品关系表 F54F6DBB-9A10-4191-9426-087F11A04093 id id 1522112618 zhenghong 1522112684 zhenghong bigint 1 1 AD6438FF-9782-40FA-82DB-D99F8C15BC39 prefrence_area_id prefrence_area_id 1522112691 zhenghong 1522139303 zhenghong bigint A5DE8A1D-EF5C-4ADB-BAEC-1DC5B833C89D product_id product_id 1522112694 zhenghong 1522112722 zhenghong bigint 6248D431-92E7-4999-9E2E-A8492D60909B Key_1 Key_1 1522112618 zhenghong 1522112681 zhenghong 7124790D-D56B-43AC-9EF3-1CFC5BF12114 pms_product_category_attribute_relation pms_product_category_attribute_relation 1522115893 zhenghong 1522215883 zhenghong 产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类) 9185CBA8-9501-4F1D-869D-7CFE0D62A0E5 id id 1522115894 zhenghong 1522115954 zhenghong bigint 1 1 2A249FE2-167D-4966-B80C-A1F2029335D5 product_category_id product_category_id 1522115961 zhenghong 1522115975 zhenghong bigint CA02967F-18F1-4803-AE3A-A4C6F3085047 product_attribute_id product_attribute_id 1522115983 zhenghong 1522115997 zhenghong bigint 7664FAB4-1504-4257-846E-556F70D39E63 Key_1 Key_1 1522115894 zhenghong 1522115950 zhenghong 56CDA36B-EA58-4AE1-B858-A5F9A2F29A8E pms_comment pms_comment 1522118136 zhenghong 1522119143 zhenghong 商品评价表 0B63A5AB-69A1-49D3-B274-537BE5F79603 id id 1522118175 zhenghong 1522118191 zhenghong bigint 1 1 AAEF7DDC-9B2F-46B6-A8B1-C6F87BF129B3 product_id product_id 1522118676 zhenghong 1522118692 zhenghong bigint E861609A-6A46-4405-ABD0-EE63DF7C18AB member_nick_name member_nick_name 1522118254 zhenghong 1522118291 zhenghong varchar(255) 255 93F98F3F-AE44-425D-8437-15EFCA931DEE product_name product_name 1522118254 zhenghong 1522118291 zhenghong varchar(255) 255 3B937D50-F65E-4FCC-91E6-987280555E0F star star 1522118296 zhenghong 1522118388 zhenghong 评价星数:0->5 int(3) 3 FF2F85AD-9EEF-4482-8425-012B16214ACC member_ip member_ip 1522118356 zhenghong 1522118421 zhenghong 评价的ip varchar(64) 64 928C78C9-46A9-4372-89AE-240801429406 create_time create_time 1522118413 zhenghong 1522118537 zhenghong datetime 60548BBB-24E8-420F-A512-5446E5A2E760 show_status show_status 1522118413 zhenghong 1522118537 zhenghong int(1) 1 9F48621B-2FCF-45E5-9143-1BE198FF29B5 product_attribute product_attribute 1522118413 zhenghong 1522118546 zhenghong 购买时的商品属性 varchar(255) 255 DCCC00DA-5050-4C5E-B95B-2FCC03D9FD16 collect_couont collect_couont 1522118537 zhenghong 1522118636 zhenghong int 0C6D9887-AA40-4B94-93DC-624FB5BDE0BA read_count read_count 1522118537 zhenghong 1522118636 zhenghong int 7B205E86-CD8C-4B49-8E5C-34A3FB5FB46B content content 1522118537 zhenghong 1522118636 zhenghong text BE5DD03F-680E-4FF4-BC30-A3249F0F3240 pics pics 1522118537 zhenghong 1522118653 zhenghong 上传图片地址,以逗号隔开 varchar(1000) 1000 27BD4283-26AA-4F27-9E13-963F0588E6E2 member_icon member_icon 1522118919 zhenghong 1522118952 zhenghong 评论用户头像 varchar(255) 255 1C85F6E9-ECED-473D-95C8-3509F812EBAE replay_count replay_count 1522119113 zhenghong 1522119127 zhenghong int FB3F2C83-222B-4B40-9A1A-B8E7586FC5D1 Key_1 Key_1 1522118175 zhenghong 1522118187 zhenghong 9E632F70-2FF6-43F1-8035-39044AC4B722 pms_comment_replay pms_comment_replay 1522118840 zhenghong 1522119205 zhenghong 产品评价回复表 C0FE35AD-E3D8-46AA-BD43-0A4FE9348CF6 id id 1522118870 zhenghong 1522118887 zhenghong bigint 1 1 6A4043C2-5C50-430C-BD5B-AA0D11362AC2 comment_id comment_id 1522119056 zhenghong 1522119072 zhenghong bigint C6A4F7EC-CA0E-4E95-80BB-BB5BD4C7CF03 member_nick_name member_nick_name 1522118977 zhenghong 1522119041 zhenghong varchar(255) 255 D39F911F-9FF3-401E-89A2-A0CF1AEB11F5 member_icon member_icon 1522118977 zhenghong 1522119041 zhenghong varchar(255) 255 37F379DF-80F8-4A2D-A1FD-F1B8DFFF3E8C content content 1522118977 zhenghong 1522119041 zhenghong varchar(1000) 1000 4D97D374-C6C4-4835-8901-0A0AF230090C create_time create_time 1522118977 zhenghong 1522119041 zhenghong datetime 7323FC1E-0690-46C9-AE91-EBC17297BB57 type type 1522119192 zhenghong 1522119239 zhenghong 评论人员类型;0->会员;1->管理员 int(1) 1 AB67D302-57F5-41ED-BA76-1DA5FCEA3BD1 Key_1 Key_1 1522118880 zhenghong 1522118887 zhenghong 6D104B7B-620F-491A-ABC4-B60B21CF69BC pms_album pms_album 1522120039 zhenghong 1522120230 zhenghong 相册表 424E4971-5936-46F8-BAE1-7F4220EDC6B5 id id 1522120040 zhenghong 1522120064 zhenghong bigint 1 1 0C2DE146-32E0-438D-907D-FA27F53BE712 name name 1522120061 zhenghong 1522120230 zhenghong varchar(64) 64 2DAC711E-D5AE-4A25-8D7E-3A748D5B5988 cover_pic cover_pic 1522120061 zhenghong 1522120230 zhenghong varchar(1000) 1000 B2BBBBA4-937B-440C-9708-7D2094D5893B pic_count pic_count 1522120061 zhenghong 1522120230 zhenghong int F34D2B7C-8CB3-4078-99E6-ED7DA2FEC59B sort sort 1522120061 zhenghong 1522120230 zhenghong int 1EED58B2-81C2-4FA8-8242-3B9845D29645 description description 1522120061 zhenghong 1522120230 zhenghong varchar(1000) 1000 1535694E-35FA-45D2-9EC4-0AC46AAB6A81 Key_1 Key_1 1522120040 zhenghong 1522120061 zhenghong 111B6F68-21FF-450D-9F6E-40C4E4F09B6C pms_album_pic pms_album_pic 1522120250 zhenghong 1522120295 zhenghong 画册图片表 E25430EB-9E92-44D3-BD29-B357E9DCB2F6 id id 1522120251 zhenghong 1522120277 zhenghong bigint 1 1 572B79C1-82C5-405D-A13E-11183C8382C3 album_id album_id 1522120295 zhenghong 1522120304 zhenghong bigint EA74BD79-E880-467B-AEED-0E92E733AE95 pic pic 1522120273 zhenghong 1522120291 zhenghong varchar(1000) 1000 B677823F-37C2-47FB-A8EE-F10B80BF40BB Key_1 Key_1 1522120251 zhenghong 1522120273 zhenghong B57200C6-A503-406F-BC2F-5B144309EC10 cms_subject cms_subject 1522138190 zhenghong 1542086220 zhenghong 专题表 53BC0750-B403-49FD-A50A-F081E7D2409F id id 1522138235 zhenghong 1524711592 zhenghong bigint 1 1 42524411-D613-4537-A110-5746681D4178 category_id category_id 1522138705 zhenghong 1522139827 zhenghong bigint B88B2152-E11E-4B3E-8752-12B9A9B9D6E6 title title 1522138235 zhenghong 1522138313 zhenghong varchar(100) 100 82CD4D66-89A8-4563-A6E1-1DE23B4E0326 pic pic 1522138235 zhenghong 1522138320 zhenghong 专题主图 varchar(500) 500 7CE3D060-441E-426C-A4DE-E36FA20C37B3 product_count product_count 1522138235 zhenghong 1522138330 zhenghong 关联产品数量 int DC926B26-780C-422A-9F01-918ACE01616D recommend_status recommend_status 1522138235 zhenghong 1522138489 zhenghong int(1) 1 ADDFD504-1961-4B20-A5A7-2663BE5DC0E6 create_time create_time 1522138313 zhenghong 1522138489 zhenghong datetime 5D13D140-A74E-4586-880C-1BFE0A0E11D4 collect_count collect_count 1522138313 zhenghong 1522138489 zhenghong int EAEA9201-9947-490A-9AA6-36A980292101 read_count read_count 1522138313 zhenghong 1522138489 zhenghong int 2FEB2EE8-3445-412B-809E-86AA3ECF4529 comment_count comment_count 1522138313 zhenghong 1522138489 zhenghong int 3213DDDC-F105-4CF3-85B1-0AF4B28D18BD album_pics album_pics 1522138313 zhenghong 1522138499 zhenghong 画册图片用逗号分割 varchar(1000) 1000 3E65E187-85C6-4C2C-8508-6459E5634653 description description 1522138733 zhenghong 1522138806 zhenghong varchar(1000) 1000 2E84713F-CB2B-46A6-BA44-489D2F6458EE show_status show_status 1522138733 zhenghong 1522139016 zhenghong 显示状态:0->不显示;1->显示 int(1) 1 53DFEF92-6705-4834-A79D-DBE1EA44CC23 content content 1522138733 zhenghong 1522138806 zhenghong text 2BEA9B61-5B2A-495A-A1F3-CDC9992E6EC0 forward_count forward_count 1522139567 zhenghong 1522139597 zhenghong 转发数 int 38F4212D-8579-407B-BA77-92A54008F60B category_name category_name 1542086194 zhenghong 1542086464 zhenghong 专题分类名称 varchar(200) 200 EEB1DA22-1547-4B23-B534-2C0E6E700AC7 Key_1 Key_1 1522138603 zhenghong 1522138607 zhenghong 606E012F-14A2-4A00-AD6E-15A2EFBB9C5E cms_subject_product_relation cms_subject_product_relation 1522138561 zhenghong 1522215878 zhenghong 专题商品关系表 5DF4FFB5-2AF3-432F-B7B4-7F3BB6E24DBE id id 1522138589 zhenghong 1522139788 zhenghong bigint 1 1 CEA5917C-7E9D-4BBC-9C36-526EDCFEE760 subject_id subject_id 1522138613 zhenghong 1522138642 zhenghong bigint 5071E824-D357-4D1D-A766-5EEF7042D9DB product_id product_id 1522138618 zhenghong 1522138642 zhenghong bigint F54E063F-39C6-4A3F-B83A-85972E2FF817 Key_1 Key_1 1522138589 zhenghong 1522138597 zhenghong AB473418-20D2-4DA3-8888-C528B336912A cms_subject_category cms_subject_category 1522138655 zhenghong 1522139176 zhenghong 专题分类表 25CBB635-2A80-4F21-B7E8-E352F1B4F77F id id 1522138656 zhenghong 1522139809 zhenghong bigint 1 1 A1D41EA4-B0CA-4941-A909-27D9909E0E37 name name 1522138679 zhenghong 1522138696 zhenghong varchar(100) 100 D8AE7B27-35EB-4915-B668-4C51D80A4A48 icon icon 1522139032 zhenghong 1522139093 zhenghong 分类图标 varchar(500) 500 6FA5F7F2-CFF4-42F4-8F7D-21845B349CCB subject_count subject_count 1522139087 zhenghong 1522139135 zhenghong 专题数量 int B0C5DD2A-9B58-4590-8B05-06401B097A8C show_status show_status 1522139129 zhenghong 1522139176 zhenghong int(2) 2 E2526823-EFE1-4B05-B1D2-26F058A2982A sort sort 1522139129 zhenghong 1522139176 zhenghong int FB93F2E5-22E1-4B1A-A200-33E4152340C2 Key_1 Key_1 1522138656 zhenghong 1522138679 zhenghong 49773448-772B-485E-A3C7-B11481FECA81 cms_subject_comment cms_subject_comment 1522118840 zhenghong 1522141232 zhenghong 专题评论表 1147FDE1-65B1-4BFD-A1A2-B020098BE42C id id 1522118870 zhenghong 1522139643 zhenghong bigint 1 1 2ADF8874-CC3E-474C-B210-4025C4AC3F72 subject_id subject_id 1522141232 zhenghong 1522141245 zhenghong bigint B0459F20-23C7-466D-8A4F-8796D69A0C08 member_nick_name member_nick_name 1522118977 zhenghong 1522139643 zhenghong varchar(255) 255 C2AF427F-DE7F-4C75-ACE7-0ABFD02455DA member_icon member_icon 1522118977 zhenghong 1522139643 zhenghong varchar(255) 255 5D00E7C2-F197-490B-819E-120CEC889DC6 content content 1522118977 zhenghong 1522139643 zhenghong varchar(1000) 1000 DF4234D6-78A1-41C9-AD35-1888B1FEAB6F create_time create_time 1522118977 zhenghong 1522139643 zhenghong datetime 86082980-A127-4EDF-8EFC-E8148463178A show_status show_status 1522139856 zhenghong 1522139873 zhenghong int(1) 1 36EEDF00-52B8-437E-B236-EEA161669A1B Key_1 Key_1 1522118880 zhenghong 1522139643 zhenghong D0100727-1202-4283-BD62-F95371B06299 cms_topic_comment cms_topic_comment 1522118840 zhenghong 1522399064 zhenghong 专题评论表 58CD3CFC-497C-4971-AD22-9987D668CDE6 id id 1522118870 zhenghong 1522141104 zhenghong bigint 1 1 DE828932-9533-4CE1-86D2-A92BD6FED7AA member_nick_name member_nick_name 1522118977 zhenghong 1522141104 zhenghong varchar(255) 255 45FF2606-4361-412C-B9DC-397D23DEE33B topic_id topic_id 1522141157 zhenghong 1522141168 zhenghong bigint 449FC5FE-AE37-4C13-B286-63FD48F70DA9 member_icon member_icon 1522118977 zhenghong 1522141104 zhenghong varchar(255) 255 395DC11D-5668-46CE-AAA6-AFFD0AEC84A2 content content 1522118977 zhenghong 1522141104 zhenghong varchar(1000) 1000 31AE7B63-BC68-4E98-B907-92F1D8C6CD90 create_time create_time 1522118977 zhenghong 1522141104 zhenghong datetime 711458F7-23E9-480C-8749-66742D667C05 show_status show_status 1522139856 zhenghong 1522141104 zhenghong int(1) 1 AF9DA610-2D90-4723-8586-DE3F17CC93AC Key_1 Key_1 1522118880 zhenghong 1522141104 zhenghong DAA0A46E-FEF2-4004-97B6-4FF049BC1DF2 cms_topic_category cms_topic_category 1522138655 zhenghong 1522141297 zhenghong 话题分类表 D109BEFC-0C6F-4B8C-AA21-461DB4903D66 id id 1522138656 zhenghong 1522141269 zhenghong bigint 1 1 F26259A6-E8E7-4CBC-BBBF-9E99449079B4 name name 1522138679 zhenghong 1522141269 zhenghong varchar(100) 100 1DAD2A73-1384-45CD-84B3-C8A2021FAB46 icon icon 1522139032 zhenghong 1522141269 zhenghong 分类图标 varchar(500) 500 2413D731-87CA-45E0-AD41-AA64C90DA23F subject_count subject_count 1522139087 zhenghong 1522141269 zhenghong 专题数量 int B591EC57-36F5-4C03-A012-D0ADBF3E4C0F show_status show_status 1522139129 zhenghong 1522141269 zhenghong int(2) 2 DAFFB2FD-33EB-4BB3-9E0C-0297E575E351 sort sort 1522139129 zhenghong 1522141269 zhenghong int 99A75D70-8F78-4D6E-8953-00CADCEAB0E0 Key_1 Key_1 1522138656 zhenghong 1522141269 zhenghong 5312D8EC-AF1A-469E-BC98-AB6273AAAE0E cms_help cms_help 1522141745 zhenghong 1522142006 zhenghong 帮助表 A9D8065D-3D37-419F-9038-978F59CEBB8F id id 1522141746 zhenghong 1522141791 zhenghong bigint 1 1 99F1B8BB-6318-423F-8D30-A40703AF7A53 category_id category_id 1522142006 zhenghong 1522142017 zhenghong bigint C7F74EDD-B6CB-4D46-9617-F8C14AB2DF2F icon icon 1522141808 zhenghong 1522141921 zhenghong varchar(500) 500 FF621D0D-B8FA-4725-A175-D7B2BABA5B94 title title 1522141808 zhenghong 1522141921 zhenghong varchar(100) 100 E6895426-49FA-4AF4-BB77-757AA0BF864C show_status show_status 1522141808 zhenghong 1522141921 zhenghong int(1) 1 F08C0B0D-F6B3-4A69-AA15-9DE56C118112 create_time create_time 1522141808 zhenghong 1522141921 zhenghong datetime 4354AAE9-96D2-4D68-9074-4D6D43058031 read_count read_count 1522141808 zhenghong 1522141921 zhenghong int(1) 1 38267C50-CED4-4040-80C3-F2BB84F55DE1 content content 1522141808 zhenghong 1522141921 zhenghong text 23861D6B-7336-4999-B247-2795E01A36A6 Key_1 Key_1 1522141746 zhenghong 1522141776 zhenghong C69D6CF4-1D0A-4C73-BD5D-728063BA5CF5 cms_help_category cms_help_category 1522138655 zhenghong 1522141973 zhenghong 帮助分类表 67081E82-4B28-4B4B-950A-A6977DDC416C id id 1522138656 zhenghong 1522141950 zhenghong bigint 1 1 23A542BE-7271-45B8-9BA3-2994EC446525 name name 1522138679 zhenghong 1522141950 zhenghong varchar(100) 100 E5E3B51D-A536-42AF-A7B5-B0CB88FA1382 icon icon 1522139032 zhenghong 1522141950 zhenghong 分类图标 varchar(500) 500 433A0125-DC14-4DE3-AC67-4F50F73D9C10 help_count help_count 1522139087 zhenghong 1522141999 zhenghong 专题数量 int 66476CEF-9E6C-4DD2-8CF4-F17B95C150DF show_status show_status 1522139129 zhenghong 1522141950 zhenghong int(2) 2 08AA26A1-B9BA-42BA-B07E-A3F313619269 sort sort 1522139129 zhenghong 1522141950 zhenghong int 7062AB8C-E6E5-4256-9CAA-E35D576A4067 Key_1 Key_1 1522138656 zhenghong 1522141950 zhenghong EE13E81B-7389-4258-A293-350022D681E9 cms_member_report cms_member_report 1522142154 zhenghong 1522142502 zhenghong 用户举报表 26970FB1-6D6F-4F9B-B5AE-A006A5DA00B0 id id 1522142174 zhenghong 1522142240 zhenghong bigint 6447324C-45CB-4E42-9437-A15934CB1F0D report_type report_type 1522142174 zhenghong 1522142646 zhenghong 举报类型:0->商品评价;1->话题内容;2->用户评论 int(1) 1 020ECB31-0883-4162-80FA-2DFC32D3C7A5 report_member_name report_member_name 1522142240 zhenghong 1522142303 zhenghong 举报人 varchar(100) 100 C0692AD1-F67F-4EA1-8AA3-ACA47B0262AB create_time create_time 1522142298 zhenghong 1522142386 zhenghong datetime C57611C0-AF26-4C7A-8D51-A283494F883A report_object report_object 1522142298 zhenghong 1522142386 zhenghong varchar(100) 100 A426736C-C224-4935-88EF-580A9D84580B report_status report_status 1522142298 zhenghong 1522142414 zhenghong 举报状态:0->未处理;1->已处理 int(1) 1 2C32CB54-23F4-4619-8AB4-530388A5E455 handle_status handle_status 1522142386 zhenghong 1522142486 zhenghong 处理结果:0->无效;1->有效;2->恶意 int(1) 1 21DB5501-BCE1-40F6-9CEC-77A10758E766 note note 1522142456 zhenghong 1522142502 zhenghong varchar(200) 200 62AC3907-4D95-4CFC-BB5D-A066679C4474 sms_coupon sms_coupon 1522215010 zhenghong 1541664280 zhenghong 优惠卷表 D967F787-301C-4453-9F6B-54CD376E68F4 id id 1522215060 zhenghong 1522724388 zhenghong bigint 1 1 A42144EE-CFD6-4093-B8DF-AAEB4D87BCE3 type type 1522215069 zhenghong 1522215247 zhenghong 优惠卷类型;0->全场赠券;1->会员赠券;2->购物赠券;3->注册赠券 int(1) 1 4EEFF0DA-F8C0-4231-939F-9E67BFF4FA99 name name 1522215086 zhenghong 1522215247 zhenghong varchar(100) 100 C1161877-9671-43DB-8EA5-50B4ECBB89E4 platform platform 1522215086 zhenghong 1535445907 zhenghong 使用平台:0->全部;1->移动;2->PC int(1) 1 94DC173C-3B97-4520-9ADD-8F5F2ED04470 count count 1522215247 zhenghong 1522215314 zhenghong 数量 int A15DA5DE-2744-4053-86C7-8A1CE2CA14D4 amount amount 1522215309 zhenghong 1522747455 zhenghong 金额 decimal(10,2) 10 2 52D1095B-621A-413D-8161-72182E758527 per_limit per_limit 1522215394 zhenghong 1522215437 zhenghong 每人限领张数 int 5D8378FF-E9D3-487E-B268-ABEECE41A427 min_point min_point 1522215424 zhenghong 1522747549 zhenghong 使用门槛;0表示无门槛 decimal(10,2) 10 2 A7094DFB-0744-466F-8C88-3131A1FEDB45 start_time start_time 1522215598 zhenghong 1522215693 zhenghong datetime D9174D11-163F-4C6F-A36B-6EE33F1B7541 end_time end_time 1522215598 zhenghong 1522215693 zhenghong datetime DF9AE437-11C1-4711-8579-9BA970124238 use_type use_type 1522215598 zhenghong 1522215739 zhenghong 使用类型:0->全场通用;1->指定分类;2->指定商品 int(1) 1 6F6944A7-CA49-4C62-8D4E-42FAFBBECB22 note note 1522215693 zhenghong 1522215779 zhenghong 备注 varchar(200) 200 039EF37D-E0E4-4201-A3EF-539492AD9D53 publish_count publish_count 1522216740 zhenghong 1522216765 zhenghong 发行数量 int 6B22702A-9639-4B94-BDFF-D6203A623754 use_count use_count 1522216759 zhenghong 1522216817 zhenghong 已使用数量 int 62F7E121-0FF8-41A5-A2F3-3CD1EBCF0113 receive_count receive_count 1535438655 zhenghong 1535439531 zhenghong 领取数量 int C16B86B5-7FE8-4A40-B5BC-0890539301BB enable_time enable_time 1522216971 zhenghong 1522217000 zhenghong 可以领取的日期 datetime 57C38097-F524-4B80-9779-539E0F875778 code code 1522217015 zhenghong 1522217041 zhenghong 优惠码 varchar(64) 64 7F81033C-AF9F-48BD-9332-708B55931EE7 member_level member_level 1522288044 zhenghong 1522288094 zhenghong 可领取的会员类型:0->无限时 int(1) 1 F7B63883-C186-47A9-A442-EF3DC025999C Key_1 Key_1 1522215069 zhenghong 1522215086 zhenghong F77D8A78-124B-40EF-BCA9-DF1D0BE3BBAD sms_coupon_product_relation sms_coupon_product_relation 1522215792 zhenghong 1541748859 zhenghong 优惠券和产品的关系表 51FBBF44-892D-4904-AD72-C367AD27B4DE id id 1522215913 zhenghong 1522215933 zhenghong bigint 1 1 8D3316AD-1CAF-4B5E-8FA0-645C1C73FFD7 coupon_id coupon_id 1522215975 zhenghong 1535445127 zhenghong bigint 39E7492F-B104-48BA-9460-88C66C6B971E product_id product_id 1522216015 zhenghong 1522216048 zhenghong bigint 6CFC63DC-3FA7-4C08-B3D3-EC4AB73264E5 product_name product_name 1541748810 zhenghong 1541748864 zhenghong 商品名称 varchar(500) 500 30FFA3E1-D99B-4580-9685-A712EA6F1395 product_sn product_sn 1541748810 zhenghong 1541748881 zhenghong 商品编码 varchar(200) 200 0DDAC07B-7800-4763-A772-BEDE47E015F8 Key_1 Key_1 1522215913 zhenghong 1522215928 zhenghong 18D5F08F-2392-4C0C-8AD0-1264DD968732 sms_coupon_product_category_relation sms_coupon_product_category_relation 1522216155 zhenghong 1541749816 zhenghong 优惠券和产品分类关系表 B1EF094E-8F24-4E21-92C3-20D17815DD8E id id 1522216188 zhenghong 1522216239 zhenghong bigint 1 1 0F265619-5CCA-4327-A335-B36E28B77CE9 coupon_id coupon_id 1522216251 zhenghong 1522724416 zhenghong bigint BB220B24-5719-4254-9EAB-A73F809F1D91 product_category_id product_category_id 1522216380 zhenghong 1522216395 zhenghong bigint 8F514E26-8A5D-4746-9906-994728A01841 product_category_name product_category_name 1541749144 zhenghong 1541749816 zhenghong 产品分类名称 varchar(200) 200 E412773B-A578-4D21-B72F-679B380A40EC parent_category_name parent_category_name 1541749144 zhenghong 1541749816 zhenghong 父分类名称 varchar(200) 200 120C3D95-47A0-4ADC-86DD-F632EF5F5785 Key_1 Key_1 1522216188 zhenghong 1522216237 zhenghong 118563D1-BD6A-4137-B818-9A52AE43F4B3 sms_coupon_history sms_coupon_history 1522217089 zhenghong 1541490649 zhenghong 优惠券使用、领取历史表 8AF960D9-0931-474B-9087-67A9C769289A id id 1522217090 zhenghong 1535522371 zhenghong bigint 1 1 AEA45EC9-857C-4ADD-B505-8E6D0638F274 coupon_id coupon_id 1522220508 zhenghong 1522724407 zhenghong bigint C2493798-DD46-4B0A-8BA4-76DED0B49E03 member_id member_id 1522220546 zhenghong 1522724407 zhenghong bigint 254CB808-9D45-446D-9E7E-29A33FB74779 order_id order_id 1541490552 zhenghong 1541490628 zhenghong 订单id bigint 5D6DA42D-A033-45CC-8B4D-4A4577934E21 coupon_code coupon_code 1522217932 zhenghong 1522218055 zhenghong varchar(64) 64 D55C94A5-5416-4994-9794-10BAFCDF3A70 member_nickname member_nickname 1522217932 zhenghong 1522218107 zhenghong 领取人昵称 varchar(64) 64 1FBF338D-A9F0-435F-A465-6C0D461C08EE get_type get_type 1522218055 zhenghong 1522218134 zhenghong 获取类型:0->后台赠送;1->主动获取 int(1) 1 2900D394-F7F9-411D-A014-19DB3D1ED702 create_time create_time 1522218107 zhenghong 1522220296 zhenghong datetime 3447D394-9F55-41F0-B4AB-B52685CFD9B9 use_status use_status 1522218107 zhenghong 1522220481 zhenghong 使用状态:0->未使用;1->已使用;2->已过期 int(1) 1 74C76E33-9483-4D78-88C2-77812D6BE4E4 use_time use_time 1522220361 zhenghong 1522220487 zhenghong 使用时间 datetime 59A8EC2E-C3C8-479C-8D25-D43AAE161E1C order_sn order_sn 1541490633 zhenghong 1541490681 zhenghong 订单号码 varchar(100) 100 539446A0-347B-4B13-9A1B-C1F91302A908 Key_1 Key_1 1522217090 zhenghong 1522217131 zhenghong 39073F58-E0FD-4E97-91A0-AFA7D8C5F626 ums_member ums_member 1522217487 zhenghong 1533115911 zhenghong 会员表 D9B1967D-3B90-493E-BF71-D0C0AA8AF792 id id 1522217488 zhenghong 1533115911 zhenghong bigint 1 1 BA9FA416-B0B0-49A8-99B2-EE1F2F689613 member_level_id member_level_id 1522386868 zhenghong 1522391485 zhenghong bigint 2B15CF6E-9928-4C28-A7F0-2D249CF28D2E username username 1522217626 zhenghong 1522217755 zhenghong 用户名 varchar(64) 64 8B3B0D82-2CA0-4466-AEA1-F24F2791C164 password password 1522217626 zhenghong 1522217766 zhenghong 密码 varchar(64) 64 A3756B41-7B58-47EE-9C90-4410B7014C14 nickname nickname 1522217712 zhenghong 1522217794 zhenghong 昵称 varchar(64) 64 771E62BD-6B4C-4AD5-8243-80EF105C5C12 phone phone 1522303316 zhenghong 1522747629 zhenghong 手机号码 varchar(64) 64 2AC98331-159E-4556-B2BE-2A511AF1012B status status 1522386896 zhenghong 1522386937 zhenghong 帐号启用状态:0->禁用;1->启用 int(1) 1 290E9B19-DC94-49BE-8B20-4CC5BE6B4A2E create_time create_time 1522386911 zhenghong 1522386982 zhenghong 注册时间 datetime 687462C1-C969-4A1F-8FF4-CFBDDF78FD97 icon icon 1522387000 zhenghong 1522387018 zhenghong 头像 varchar(500) 500 3DBECFB8-A73F-4B4E-8770-394020C94B46 gender gender 1522387014 zhenghong 1522387079 zhenghong 性别:0->未知;1->男;2->女 int(1) 1 037D5C09-930F-4CB2-9488-A0D04C98B3DF birthday birthday 1522387055 zhenghong 1522387102 zhenghong 生日 date 5799AC70-2F20-49AD-ACB3-3ACE21BDFA24 city city 1522387097 zhenghong 1522387133 zhenghong 所做城市 varchar(64) 64 5E11EA43-DC5E-48B6-9C7D-4B3283DFEA04 job job 1522387127 zhenghong 1522387170 zhenghong 职业 varchar(100) 100 E4E5B724-CA9B-4DBF-9338-F35A6CEB07C6 personalized_signature personalized_signature 1522387164 zhenghong 1522387227 zhenghong 个性签名 varchar(200) 200 B9C8A488-CE4C-4162-95B8-95AAF2F50D79 source_type source_type 1522387221 zhenghong 1522387354 zhenghong 用户来源 int(1) 1 B2615BC0-8624-420C-9ADD-74B7CC0E1A34 integration integration 1522388283 zhenghong 1522388297 zhenghong 积分 int 68060654-B3F9-460C-B0AD-F69C3D79E7E4 growth growth 1522388293 zhenghong 1522388314 zhenghong 成长值 int F451866B-0691-4BD0-885F-8F8AC6BB07B6 luckey_count luckey_count 1522389179 zhenghong 1522389203 zhenghong 剩余抽奖次数 int DF6E2A37-1087-482C-B3AB-6E24F7CF5824 history_integration history_integration 1522396288 zhenghong 1522396312 zhenghong 历史积分数量 int D643CABA-BFF8-4444-BC9C-459F23DD209B Key_1 Key_1 1522217488 zhenghong 1533115911 zhenghong A0B70C04-02B7-4362-8DE8-EEC09E11CFDE sms_home_brand sms_home_brand 1522223818 zhenghong 1522224364 zhenghong 首页推荐品牌表 55989B16-E9BA-4806-BE60-FBB53C20AFFB id id 1522224202 zhenghong 1522224219 zhenghong bigint 1 1 6EB211BF-005A-45C4-9AD2-3B624549C78B brand_id brand_id 1522224364 zhenghong 1522224376 zhenghong bigint 961D5B66-0DD8-42E5-BFB4-93E536FEC18A brand_name brand_name 1522224216 zhenghong 1522224265 zhenghong varchar(64) 64 F2CF792A-6DB6-445B-9BA9-18C8DC17D441 recommend_status recommend_status 1522224216 zhenghong 1522224356 zhenghong int(1) 1 1AB9EBEC-5310-4ADE-9CAD-39F414C49A73 sort sort 1522224339 zhenghong 1522224356 zhenghong int D81DA96A-E9F0-4D79-971E-1D88C5B3C093 Key_1 Key_1 1522224202 zhenghong 1522224216 zhenghong A25B1802-83AF-4D73-B715-B3CD83BF30B8 sms_home_new_product sms_home_new_product 1522224403 zhenghong 1522225874 zhenghong 新鲜好物表 D44BCE8A-007A-475D-A1A8-A84615449866 id id 1522225739 zhenghong 1522225765 zhenghong bigint 1 1 41AB6B8F-5955-4D0F-82C9-3ECE03DE627F product_id product_id 1522225874 zhenghong 1522225891 zhenghong bigint 0199CB4D-CCB5-45A9-987A-C688680BAD6C product_name product_name 1522225762 zhenghong 1522225835 zhenghong varchar(64) 64 30DFEEA7-AEB5-420B-BB6F-99F4E2A2D4FC recommend_status recommend_status 1522225762 zhenghong 1522225835 zhenghong int(1) 1 D1A8F553-7744-46C7-B8BC-D27C3AD0717E sort sort 1522225762 zhenghong 1522225844 zhenghong int(1) 1 73A2D055-78DF-477F-83FF-E76CEE5860BB Key_1 Key_1 1522225739 zhenghong 1522225762 zhenghong 37399CAC-C0E1-4103-867A-C162B935BFDF sms_home_recommend_product sms_home_recommend_product 1522224403 zhenghong 1541490586 zhenghong 人气推荐商品表 2C05FE30-5B42-49AB-B442-DA48DFBF56ED id id 1522225739 zhenghong 1541490586 zhenghong bigint 1 1 81AA6507-AEAF-445F-8BCA-FE792FD6167D product_id product_id 1522226077 zhenghong 1522398713 zhenghong bigint 5C55D312-2E41-4F12-80A1-D6220C9E71E0 product_name product_name 1522225762 zhenghong 1522226008 zhenghong varchar(64) 64 D1CF9580-8D7D-44B9-82A5-1227DC667978 recommend_status recommend_status 1522225762 zhenghong 1522226008 zhenghong int(1) 1 6B5CC5E0-6B02-4C2B-A8DB-EDAC443C4924 sort sort 1522225762 zhenghong 1522226008 zhenghong int(1) 1 7256867D-3478-4506-AA49-3528838619BD Key_1 Key_1 1522225739 zhenghong 1541490586 zhenghong 6B4E377F-EF19-4F4C-8FA6-0179636E1DD0 sms_home_recommend_subject sms_home_recommend_subject 1522223818 zhenghong 1542179474 zhenghong 首页推荐专题表 BB3B377B-FD15-4644-9382-23DEE1D35C62 id id 1522224202 zhenghong 1542179474 zhenghong bigint 1 1 76387001-86B6-464D-9C61-25F2D7290848 subject_id subject_id 1522226272 zhenghong 1522226311 zhenghong bigint FBF57C52-1D78-415A-A0F1-8C22ECDD209F subject_name subject_name 1522224216 zhenghong 1522226180 zhenghong varchar(64) 64 95A506FC-F1AE-4FDC-A8B6-14DDC2C7686D recommend_status recommend_status 1522224216 zhenghong 1522226140 zhenghong int(1) 1 B7738C94-3636-4CDF-9361-426285F61C01 sort sort 1522224339 zhenghong 1522226140 zhenghong int 4024BDA0-F53B-48E3-AD69-82EDDF413307 Key_1 Key_1 1522224202 zhenghong 1542179474 zhenghong 02B689AF-49BE-4746-9132-46B2A938FDCB sms_home_advertise sms_home_advertise 1522227700 zhenghong 1541578000 zhenghong 首页轮播广告表 2794FB1E-CC31-453F-BE91-089DEA2F10D0 id id 1522228220 zhenghong 1522228237 zhenghong bigint 1 1 170EB06D-58AC-4810-AA05-2E800F4402A7 name name 1522228234 zhenghong 1522228288 zhenghong varchar(100) 100 2D08193E-455A-44D9-8568-65DFC657C51C type type 1522228234 zhenghong 1522228317 zhenghong 轮播位置:0->PC首页轮播;1->app首页轮播 int(1) 1 5BBDEC82-0B2C-4005-AE60-30C24AB2C60B pic pic 1522228288 zhenghong 1522228387 zhenghong varchar(500) 500 9544B543-B26F-4A94-8533-D1CD347E092A start_time start_time 1522228288 zhenghong 1522228387 zhenghong datetime EBE6682D-2345-42DD-B161-78D72008FC58 end_time end_time 1522228288 zhenghong 1522228387 zhenghong datetime 1E82BBF3-64A8-4937-B8E8-2EF1E5396463 status status 1522228288 zhenghong 1522228415 zhenghong 上下线状态:0->下线;1->上线 int(1) 1 7FED5C77-61EC-4ED3-BC71-69B346DB69BD click_count click_count 1522228387 zhenghong 1522228455 zhenghong 点击数 int 28ED368B-9046-4647-8365-6C3CC1A73A00 order_count order_count 1522228387 zhenghong 1522228465 zhenghong 下单数 int 18C101B3-A72F-483F-9A9A-68C90EA4A002 url url 1522228518 zhenghong 1522228545 zhenghong 链接地址 varchar(500) 500 E271F2ED-7B8E-4D02-94F9-DCC3B014B01D note note 1522228518 zhenghong 1522228572 zhenghong 备注 varchar(500) 500 08E34019-824F-4A5D-8635-8CA439722F8E sort sort 1541577989 zhenghong 1541578016 zhenghong 排序 0 int {F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0= {B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0= 8C05A0D5-5A40-4E5F-803C-21DE1581AB40 Key_1 Key_1 1522228220 zhenghong 1522228234 zhenghong 781E9BBD-7312-4347-A32B-F153B07BC2D6 sms_flash_promotion sms_flash_promotion 1522300652 zhenghong 1522301372 zhenghong 限时购表 A001C3CA-7F30-48B5-BBCA-4DE4FF3AC6D7 id id 1522300654 zhenghong 1542179315 zhenghong bigint 1 1 E7B4D1BF-2B28-4CB5-A266-BF73B2C545CD title title 1522300794 zhenghong 1522300838 zhenghong varchar(200) 200 9E90026D-CCB7-42C4-8305-6C9ED00FBEAD start_date start_date 1522300794 zhenghong 1542178643 zhenghong 开始日期 date 9C92406F-BE6E-4DD0-B9F6-B6DB731826D8 end_date end_date 1522300794 zhenghong 1542178653 zhenghong 结束日期 date 7CF4BD09-90C4-4A00-861D-E4BB0DEDE4F0 status status 1522300794 zhenghong 1522300845 zhenghong 上下线状态 int(1) 1 8D6B6BCE-483E-49D8-9BFE-66FF9BAF4E04 create_time create_time 1522301354 zhenghong 1542178658 zhenghong 秒杀时间段名称 datetime E91F0404-5C5E-465C-965B-AA29A2AC352C Key_1 Key_1 1522300654 zhenghong 1522300717 zhenghong FC0B4AB8-B381-4962-9E00-9012B9389DB2 sms_flash_promotion_log sms_flash_promotion_log 1522303116 zhenghong 1522303410 zhenghong 限时购通知记录 8D5CC3D3-9472-4F2E-85C5-141575078624 id id 1522303118 zhenghong 1522303155 zhenghong int 1 1 43575263-62FC-44CF-9134-A53E2549A413 member_id member_id 1522303390 zhenghong 1522303400 zhenghong int 0E5CDA77-D030-43C4-8F3F-62F1DDAF2321 product_id product_id 1522303410 zhenghong 1522303424 zhenghong bigint 58059F15-8E1E-441A-B852-B83A2DC6AF61 member_phone member_phone 1522303170 zhenghong 1522303291 zhenghong varchar(64) 64 E37B4C93-8839-4792-A41C-174666319BC6 product_name product_name 1522303170 zhenghong 1522303291 zhenghong varchar(100) 100 26E55C30-24F2-46E9-8FB8-937189C88290 subscribe_time subscribe_time 1522303170 zhenghong 1522303306 zhenghong 会员订阅时间 datetime 63E8BD65-5DC6-4E86-90D0-81644C960C3A send_time send_time 1522303170 zhenghong 1522303291 zhenghong datetime F5CEFAF5-C8E0-41B0-8893-07DF42A1591B Key_1 Key_1 1522303118 zhenghong 1522303152 zhenghong 284E46B4-B9CC-41C1-B331-6F43782ADCC3 ums_admin ums_admin 1522303730 zhenghong 1538200957 zhenghong 后台用户表 6D584959-4514-4CEC-A0D4-785E46D1A943 id id 1522303731 zhenghong 1522303915 zhenghong bigint 1 1 C69E81B8-3A8A-4F1C-AD79-05187FCF35D3 username username 1522303731 zhenghong 1538199970 zhenghong 用户名 varchar(64) 64 7EB23336-7D63-4C02-AD85-17DA3DC93E6A password password 1522303731 zhenghong 1538199975 zhenghong 密码 varchar(64) 64 FD9B4CBF-DDF3-4CC8-BD69-15221A3E52A8 icon icon 1522303731 zhenghong 1522303910 zhenghong 头像 varchar(500) 500 68129CD9-A241-453D-9223-FB146806D646 email email 1522303731 zhenghong 1538199986 zhenghong 邮箱 varchar(100) 100 5722E92D-6F67-43AA-B480-756C0DC91BDE nick_name nick_name 1538199900 zhenghong 1538199929 zhenghong 昵称 varchar(200) 200 FF0D16AA-77D3-4829-B8E2-9831244DE3B9 note note 1538199923 zhenghong 1538200014 zhenghong 备注信息 varchar(500) 500 AFA0423A-C6BD-424F-B7DB-85D9635EB5A6 create_time create_time 1538200009 zhenghong 1538200107 zhenghong 创建时间 datetime 8CBC1229-E6C7-4EB9-B50D-E765E651E3F4 login_time login_time 1538200009 zhenghong 1538200119 zhenghong 最后登录时间 datetime 63B04D92-8CF8-40F0-855D-272C2976729F status status 1538200789 zhenghong 1538200890 zhenghong 帐号启用状态:0->禁用;1->启用 1 int(1) 1 DC1A590C-BB4F-430C-A34E-014AEC5844D1 Key_1 Key_1 1522303731 zhenghong 1522303905 zhenghong DC20F109-83F4-4E8A-B2CF-299453506A86 ums_admin_login_log ums_admin_login_log 1522303928 zhenghong 1522304178 zhenghong 后台用户登录日志表 8F7618DF-D0CA-48C3-9E4F-CBAA9A41A69B id id 1522303929 zhenghong 1522303971 zhenghong bigint 1 1 C8AEFA16-C796-4CED-902C-21EA9F55C75C admin_id admin_id 1522304178 zhenghong 1522304187 zhenghong bigint B535BE06-4C99-4645-9B42-D984356CF2FF create_time create_time 1522303968 zhenghong 1522304151 zhenghong datetime 6236706F-C5E9-44A6-8BC2-FE0D2F8C8476 ip ip 1522303968 zhenghong 1522304151 zhenghong varchar(64) 64 9E05D212-E28A-463B-9F1D-87FD83F90421 address address 1522303968 zhenghong 1522304151 zhenghong varchar(100) 100 D481AC77-5DC7-490F-856C-C3676F9407AA user_agent user_agent 1522303968 zhenghong 1522304158 zhenghong 浏览器登录类型 varchar(100) 100 127CDB1B-576E-4CE4-B977-681E887F8EEE Key_1 Key_1 1522303929 zhenghong 1522303968 zhenghong A6C67972-0C12-4876-8087-2E48F9028CA7 ums_member_level ums_member_level 1522379808 zhenghong 1542179474 zhenghong 会员等级表 129583EA-DC62-4E57-AEF8-FCA2A4DD3BD4 id id 1522379810 zhenghong 1542179474 zhenghong bigint 1 1 4D12F464-1BC3-4D75-9BF6-AB23F4899E9B name name 1522379831 zhenghong 1522379896 zhenghong varchar(100) 100 38041EA5-676A-4D2B-931F-8158FDA8CB48 growth_point growth_point 1522379831 zhenghong 1522379896 zhenghong int 63E410FA-E2CC-41F9-9FE9-9272F61F19A1 default_status default_status 1522379896 zhenghong 1522379987 zhenghong 是否为默认等级:0->不是;1->是 int(1) 1 4B60128E-FF93-4486-B758-081868324568 free_freight_point free_freight_point 1522379964 zhenghong 1522380124 zhenghong 免运费标准 decimal(10,2) 10 2 9A810F9D-3942-417E-9057-39A71284BEB1 comment_growth_point comment_growth_point 1522380184 zhenghong 1522380212 zhenghong 每次评价获取的成长值 int 437D93E8-BC05-48F4-9103-AAADEC2F18B3 priviledge_free_freight priviledge_free_freight 1522380199 zhenghong 1522380558 zhenghong 是否有免邮特权 int(1) 1 4ACB8B0D-322B-4240-994A-BF76A866C4C1 priviledge_sign_in priviledge_sign_in 1522380199 zhenghong 1522380566 zhenghong 是否有签到特权 int(1) 1 76160658-2A87-4D99-8A9E-9F2CA2752530 priviledge_comment priviledge_comment 1522380199 zhenghong 1522380592 zhenghong 是否有评论获奖励特权 int(1) 1 4BFAE1D1-5395-4502-BA29-FD53E5C998FF priviledge_promotion priviledge_promotion 1522380199 zhenghong 1522380617 zhenghong 是否有专享活动特权 int(1) 1 4D408989-5456-40D8-AEEE-9E1E14564E6A priviledge_member_price priviledge_member_price 1522380199 zhenghong 1522747697 zhenghong 是否有会员价格特权 int(1) 1 3C4297F8-BFE4-42AC-8967-1627A0EB62AE priviledge_birthday priviledge_birthday 1522380199 zhenghong 1522380640 zhenghong 是否有生日特权 int(1) 1 CD9D3466-6A59-4BD3-B7BC-8B3478EDA73B note note 1522386815 zhenghong 1522386830 zhenghong varchar(200) 200 E6F6D42A-97D4-4207-B966-0BBD47776D79 Key_1 Key_1 1522379810 zhenghong 1542179474 zhenghong 31084C7B-4E3D-4630-A484-B457DFC84069 ums_member_product_category_relation ums_member_product_category_relation 1522387387 zhenghong 1522387526 zhenghong 会员与产品分类关系表(用户喜欢的分类) 9F3E472B-AE33-4C2A-BC75-F7EF6CD3F295 id id 1522387388 zhenghong 1522387447 zhenghong bigint 1 1 CF33591F-94A0-4ECB-A19E-1FCDECAEFB2B member_id member_id 1522387461 zhenghong 1522391508 zhenghong bigint 26A81B95-6339-4F97-9FD9-7A9343D8FC3C product_category_id product_category_id 1522387526 zhenghong 1522387541 zhenghong bigint 319FB1F7-17E2-404B-8A53-1D83019DBED4 Key_1 Key_1 1522387388 zhenghong 1522387444 zhenghong 94C05B4D-0F20-4449-8EC4-52604C753834 ums_member_statistics_info ums_member_statistics_info 1522387906 zhenghong 1522390765 zhenghong 会员统计信息 6B92C176-B80A-42DF-913D-4B9F276C8DEE id id 1522387936 zhenghong 1522391425 zhenghong bigint 1 1 D357658D-303B-4EF3-AC8E-E97A22EB9F28 member_id member_id 1522389232 zhenghong 1522391425 zhenghong bigint 854439C2-AEFC-4DBE-B9F0-26F768FACD07 consume_amount consume_amount 1522387970 zhenghong 1522388137 zhenghong 累计消费金额 decimal(10,2) 10 2 6F0A7AA7-4899-4BD7-B041-449A73F83B50 order_count order_count 1522388177 zhenghong 1522388194 zhenghong 订单数量 int 03C07BA1-E675-412B-AE21-FC427A919156 coupon_count coupon_count 1522388366 zhenghong 1522388384 zhenghong 优惠券数量 int 40B971A2-E3E9-4987-9B21-2455EF702FA4 comment_count comment_count 1522388395 zhenghong 1522388414 zhenghong 评价数 int 285C0BDD-D3D2-4715-969F-3F04972A9216 return_order_count return_order_count 1522388791 zhenghong 1522388810 zhenghong 退货数量 int D44D9C8E-834B-49C2-A487-19243A6B75C7 login_count login_count 1522388804 zhenghong 1522388842 zhenghong 登录次数 int A6954A96-3E39-412D-8648-6420D1DE69A8 attend_count attend_count 1522388885 zhenghong 1522388911 zhenghong 关注数量 int 801A9777-A84E-455D-87DB-CB5F223BEC40 fans_count fans_count 1522388904 zhenghong 1522388949 zhenghong 粉丝数量 int E7A5B7B0-3561-4149-A49A-F8130558ABBD collect_product_count collect_product_count 1522388944 zhenghong 1522389176 zhenghong int 5E257B18-EF0C-4C89-941D-78783C0D17DF collect_subject_count collect_subject_count 1522388944 zhenghong 1522389176 zhenghong int 37323B30-236A-4CAE-B7E5-AE3A5F527ABA collect_topic_count collect_topic_count 1522388944 zhenghong 1522389176 zhenghong int 186B8DCF-6580-4D89-AA2B-89333527FCD6 collect_comment_count collect_comment_count 1522388944 zhenghong 1522389176 zhenghong int 29465239-85D6-4029-B631-809C1AC7F1FB invite_friend_count invite_friend_count 1522388944 zhenghong 1522389309 zhenghong int C133A420-C28D-4442-B747-9CFEA1E2FA2A recent_order_time recent_order_time 1522390747 zhenghong 1522390773 zhenghong 最后一次下订单时间 datetime 920005AF-C54B-4D67-9D61-7A15D96EC34D Key_1 Key_1 1522387936 zhenghong 1522387970 zhenghong C1C1114F-DE94-4DF6-80DD-7A8210AC0D1B ums_member_receive_address ums_member_receive_address 1522390106 zhenghong 1535437101 zhenghong 会员收货地址表 98B61DFE-761A-4910-A45C-89DE44A801BD id id 1522390108 zhenghong 1522390428 zhenghong bigint 1 1 817400C5-8063-4373-9F89-F52F0AA9E815 member_id member_id 1522390434 zhenghong 1522391455 zhenghong bigint AFF04439-EC58-4338-8228-623D8193B384 name name 1522390108 zhenghong 1522390245 zhenghong 收货人名称 varchar(100) 100 0CDFE5D1-E06C-466F-B066-F6FFC0FC0873 phone_number phone_number 1522390108 zhenghong 1522390221 zhenghong varchar(64) 64 2D383AAE-D002-480B-B081-4ABB9A0FE45F default_status default_status 1522390286 zhenghong 1522390346 zhenghong 是否为默认 int(1) 1 013038D3-3265-4B47-AA73-C893A6006BD8 post_code post_code 1522390221 zhenghong 1522390293 zhenghong 邮政编码 varchar(100) 100 214E7869-4680-4DDC-A4AF-611BDB9DB594 province province 1535436971 zhenghong 1535437029 zhenghong 省份/直辖市 varchar(100) 100 B014298F-01AD-4171-9D9F-916D27574AB6 city city 1535436971 zhenghong 1535437115 zhenghong 城市 varchar(100) 100 106C677E-A9B6-40ED-A992-CD0CADF4BFFF region region 1535437026 zhenghong 1535437123 zhenghong varchar(100) 100 4EDEC710-4328-4BF8-BCCC-EA8EAAA48FF1 detail_address detail_address 1522390108 zhenghong 1535436990 zhenghong 详细地址(街道) varchar(128) 128 DF83812C-9AB1-43B1-9C66-06DDD339917E Key_1 Key_1 1522390409 zhenghong 1522390420 zhenghong 202E7837-16F9-471E-8D27-BADDF8ABC40F ums_member_login_log ums_member_login_log 1522390511 zhenghong 1522747822 zhenghong 会员登录记录 4B9B3F0B-970F-4BD2-ADA9-9B5AF12CB5AB id id 1522390513 zhenghong 1522390660 zhenghong bigint 1 1 96996021-E445-4698-B1A6-42E723CA01EF member_id member_id 1522390644 zhenghong 1522391446 zhenghong bigint D5AD4C5C-E858-4BA3-8DB3-741A4D6D780C create_time create_time 1522390531 zhenghong 1522747822 zhenghong datetime EA660841-B4C3-4D58-BA70-765F688BBFB9 ip ip 1522390531 zhenghong 1522390603 zhenghong varchar(64) 64 4129F50F-3EB2-402A-8239-25FB68B06BE1 city city 1522390531 zhenghong 1522390603 zhenghong varchar(64) 64 9C080457-2FBF-4EEA-B7DF-B465681C679C login_type login_type 1522390531 zhenghong 1522390637 zhenghong 登录类型:0->PC;1->android;2->ios;3->小程序 int(1) 1 026D0B9F-44F5-4302-8766-551E0CBA48E2 province province 1522747786 zhenghong 1522747822 zhenghong varchar(64) 64 EC511DBF-DA00-49B0-9DD3-AE6E4E18496A Key_1 Key_1 1522390513 zhenghong 1522390531 zhenghong 2A13105F-B4ED-4672-A401-CDDE4B9CE410 ums_member_tag ums_member_tag 1522390830 zhenghong 1522391227 zhenghong 用户标签表 438F1497-2B84-4368-AE85-9E1806F36FC9 id id 1522390831 zhenghong 1522390857 zhenghong bigint 1 1 96FB084C-E214-4481-95FD-52FF9AF5C1FA name name 1522390831 zhenghong 1522391227 zhenghong varchar(100) 100 C727F26A-5CFA-4C30-9EE3-A5F87998DE9E finish_order_count finish_order_count 1522390854 zhenghong 1522391257 zhenghong 自动打标签完成订单数量 int 148613FB-7BCE-4145-B955-B0077E630B6E finish_order_amount finish_order_amount 1522390854 zhenghong 1522391246 zhenghong 自动打标签完成订单金额 decimal(10,2) 10 2 02E5405B-3466-42C6-B07B-090E17D190BA Key_1 Key_1 1522390831 zhenghong 1522390854 zhenghong 2D7B72D8-D25F-4A09-B4FA-16D2CEC9752A ums_member_member_tag_relation ums_member_member_tag_relation 1522391304 zhenghong 1522391380 zhenghong 用户和标签关系表 BB1BD091-E5C8-4C12-8A9A-C2ADC962E7E5 id id 1522391305 zhenghong 1522391363 zhenghong bigint 1 1 854EDA6D-D3FB-4AFF-92AD-1FDF1DC32E1E member_id member_id 1522391366 zhenghong 1522391394 zhenghong bigint 89D08954-C6F1-4B1F-8BAE-E19BDF39DE08 tag_id tag_id 1522391379 zhenghong 1522391394 zhenghong bigint AEBACA14-2E96-4718-ACE9-C6F76721B8E8 Key_1 Key_1 1522391305 zhenghong 1522391349 zhenghong 58F43871-0D7C-4478-9A1B-43102436A177 ums_integration_change_history ums_integration_change_history 1522396385 zhenghong 1522396758 zhenghong 积分变化历史记录表 457FA52E-BCCD-40B6-9595-2597CD6C75E2 id id 1522396386 zhenghong 1522396494 zhenghong bigint 1 1 9964C6D5-F7BD-40FB-957B-7A66DFF172A4 member_id member_id 1522396648 zhenghong 1522396659 zhenghong bigint BCF4B5AF-DEA0-4D46-8A23-E5348BF281C8 create_time create_time 1522396491 zhenghong 1522396534 zhenghong datetime 52CE81B5-6BDF-40F0-97BA-2DC303583FF4 change_type change_type 1522396491 zhenghong 1522396606 zhenghong 改变类型:0->增加;1->减少 int(1) 1 6D9BAE2A-F62A-4DA0-B9B4-AD3695E3ADEC change_count change_count 1522396491 zhenghong 1522396606 zhenghong 积分改变数量 int E63C6C7E-249C-4653-AF54-3DF677FF8B65 operate_man operate_man 1522396534 zhenghong 1522396612 zhenghong 操作人员 varchar(100) 100 079B7A28-0F20-4439-934B-AC8ABA31B76A operate_note operate_note 1522396606 zhenghong 1522396638 zhenghong 操作备注 varchar(200) 200 A51DAFDF-D7E9-403D-A31F-7341E809448F source_type source_type 1522396738 zhenghong 1522396780 zhenghong 积分来源:0->购物;1->管理员修改 int(1) 1 A0C0BBC3-CBCB-4FD0-A047-91D827AFA920 Key_1 Key_1 1522396386 zhenghong 1522396491 zhenghong DDBBBFBE-DCB3-4F92-A291-19A1F5767709 ums_growth_change_history ums_growth_change_history 1522396385 zhenghong 1522396864 zhenghong 成长值变化历史记录表 0161A828-441F-4CAB-90F0-2FC4EF6A6B3F id id 1522396386 zhenghong 1522396809 zhenghong bigint 1 1 B546E2F7-48AB-4A7C-A4A0-28A667D75391 member_id member_id 1522396864 zhenghong 1522396878 zhenghong bigint D33F598C-18B5-4DF4-8326-FF7328B10F00 create_time create_time 1522396491 zhenghong 1522396809 zhenghong datetime A0377031-7298-442C-B4DF-94C554828629 change_type change_type 1522396491 zhenghong 1522396809 zhenghong 改变类型:0->增加;1->减少 int(1) 1 0EF45C85-5160-4E92-A3A6-C4B546D93214 change_count change_count 1522396491 zhenghong 1522396809 zhenghong 积分改变数量 int 4893755C-D937-4D36-9611-B9AD46A57BAA operate_man operate_man 1522396534 zhenghong 1522396809 zhenghong 操作人员 varchar(100) 100 6CA349B8-491B-4E27-880E-D83491AB7849 operate_note operate_note 1522396606 zhenghong 1522396809 zhenghong 操作备注 varchar(200) 200 52268506-CE01-481B-ABD3-F84E4E9758C9 source_type source_type 1522396738 zhenghong 1522396809 zhenghong 积分来源:0->购物;1->管理员修改 int(1) 1 2BAA5513-B2CF-4B60-A990-6319EB2671C4 Key_1 Key_1 1522396386 zhenghong 1522396809 zhenghong D2D961A9-BB8B-41D8-A501-1AF511F65DF9 ums_member_task ums_member_task 1522397182 zhenghong 1522397290 zhenghong 会员任务表 56B17C0E-8FBA-4594-8C45-1FF6469A7159 id id 1522397183 zhenghong 1522397211 zhenghong bigint 1 1 65D902D3-95D4-4540-BC18-F384B3710D83 name name 1522397207 zhenghong 1522397290 zhenghong varchar(100) 100 20EF2EF9-E621-4652-B334-862949676CA3 growth growth 1522397207 zhenghong 1522397322 zhenghong 赠送成长值 int 55E587FF-CF0D-45D0-B63D-171E313D0FEB intergration intergration 1522397207 zhenghong 1522397329 zhenghong 赠送积分 int 6878B9A3-18D2-4405-97D4-B3BE49EBA993 type type 1522397207 zhenghong 1522397312 zhenghong 任务类型:0->新手任务;1->日常任务 int(1) 1 EA426689-78F7-40C2-B520-83BA9FCC54D1 Key_1 Key_1 1522397183 zhenghong 1522397207 zhenghong 9E564377-D9BE-4655-AC2E-13B0FD5CAF22 ums_member_rule_setting ums_member_rule_setting 1522397511 zhenghong 1522397900 zhenghong 会员积分成长规则表 125CFE60-6A33-4680-B726-FC5E68082C98 id id 1522397511 zhenghong 1522397554 zhenghong bigint 1 1 38E3DC37-0559-41F6-84C0-3F5C43C48FF0 continue_sign_day continue_sign_day 1522397551 zhenghong 1522397634 zhenghong 连续签到天数 int 9508FDB7-6018-4E59-A007-49274C4627DC continue_sign_point continue_sign_point 1522397620 zhenghong 1522397799 zhenghong 连续签到赠送数量 int 2D67D7C4-242F-4287-AE03-819499C5EEE9 consume_per_point consume_per_point 1522397671 zhenghong 1522397900 zhenghong 每消费多少元获取1个点 decimal(10,2) 10 2 3099A480-47E9-45F0-9183-7884D0C8B799 low_order_amount low_order_amount 1522397671 zhenghong 1522397933 zhenghong 最低获取点数的订单金额 decimal(10,2) 10 2 10ECB92A-03AE-4EC0-9F92-D4693B754400 max_point_per_order max_point_per_order 1522397799 zhenghong 1522397949 zhenghong 每笔订单最高获取点数 int BBA261DE-035F-41ED-96F8-64CF61B19EB8 type type 1522397799 zhenghong 1522397970 zhenghong 类型:0->积分规则;1->成长值规则 int(1) 1 B72372E9-CEF8-4759-A874-B60E418F73DE Key_1 Key_1 1522397511 zhenghong 1522397551 zhenghong C1DCA2EA-AC28-420C-BFEF-FFE7F5644910 ums_integration_consume_setting ums_integration_consume_setting 1522398032 zhenghong 1535615091 zhenghong 积分消费设置 5A65A4E0-C798-494B-89AA-899A5FE7ECC3 id id 1522398033 zhenghong 1522398074 zhenghong bigint 1 1 E5B7DEEB-C659-43D6-A649-4A7AA6BA968A deduction_per_amount deduction_per_amount 1522398071 zhenghong 1522398169 zhenghong 每一元需要抵扣的积分数量 int 3F3EBC7E-C661-4BF6-9748-A63740946E37 max_percent_per_order max_percent_per_order 1522398150 zhenghong 1522398207 zhenghong 每笔订单最高抵用百分比 int A51ACE1C-D2CC-4935-AEEE-392472F47BA1 use_unit use_unit 1522398194 zhenghong 1522398281 zhenghong 每次使用积分最小单位100 int 381B38BC-D7D6-44F6-8E9A-7EC3ED2D96C3 coupon_status coupon_status 1522398253 zhenghong 1522398330 zhenghong 是否可以和优惠券同用;0->不可以;1->可以 int(1) 1 E57C57B8-9833-47BB-905A-F54F0A5010DA Key_1 Key_1 1522398033 zhenghong 1522398071 zhenghong 9FDE9178-BEB4-4D80-8DFE-245B7FA5954D oms_order oms_order 1522658325 zhenghong 1541490586 zhenghong 订单表 3563269E-6EED-49DE-AC40-20CDE76A70F7 id id 1522658326 zhenghong 1541490586 zhenghong 订单id bigint 1 1 1BFDD362-9A3F-4A39-A46A-988EFE0700F4 member_id member_id 1522659209 zhenghong 1535612363 zhenghong bigint 1 7A1BB5A1-6ACE-4259-9D2F-A11D74465729 coupon_id coupon_id 1522724329 zhenghong 1522724373 zhenghong bigint 190337D5-DBCF-44C7-8E8F-60BA716C7D73 order_sn order_sn 1522658365 zhenghong 1522658432 zhenghong 订单编号 varchar(64) 64 42DE6A32-DB28-4441-9D31-43954E2B32F8 create_time create_time 1522658421 zhenghong 1522658633 zhenghong 提交时间 datetime B66D00FB-2706-4456-9C8D-5BE63900E843 member_username member_username 1522658628 zhenghong 1522658689 zhenghong 用户帐号 varchar(64) 64 93AF6B00-CE9F-4E65-852A-21DF3E8E38D3 total_amount total_amount 1522658628 zhenghong 1522723559 zhenghong 订单总金额 decimal(10,2) 10 2 AA07B22F-DFD0-4443-B124-4E7A948B8F1A pay_amount pay_amount 1535611784 zhenghong 1535611836 zhenghong 应付金额(实际支付金额) decimal(10,2) 10 2 93484605-04CB-4451-BA1C-1D43843E1FE8 freight_amount freight_amount 1522723575 zhenghong 1522723610 zhenghong 运费金额 decimal(10,2) 10 2 31D4C71F-D7FF-4C00-88F3-D1A8B195D948 promotion_amount promotion_amount 1522723762 zhenghong 1522723859 zhenghong 促销优化金额(促销价、满减、阶梯价) decimal(10,2) 10 2 2AC97908-B95C-4C45-AD78-5AEBD42D415E integration_amount integration_amount 1522723873 zhenghong 1522723942 zhenghong 积分抵扣金额 decimal(10,2) 10 2 BDECF3D8-B85D-459A-9336-D298B11A129C coupon_amount coupon_amount 1522724126 zhenghong 1522724255 zhenghong 优惠券抵扣金额 decimal(10,2) 10 2 570A30CB-E74E-4D54-A2F5-354511EEAD73 discount_amount discount_amount 1522724794 zhenghong 1522724828 zhenghong 管理员后台调整订单使用的折扣金额 decimal(10,2) 10 2 2506F5AD-C896-45DA-B1A9-47A3F09F32A7 pay_type pay_type 1522658684 zhenghong 1522747151 zhenghong 支付方式:0->未支付;1->支付宝;2->微信 int(1) 1 1E796BD6-898E-4EDA-8ADE-A86D6305ED56 source_type source_type 1522658832 zhenghong 1522658869 zhenghong 订单来源:0->PC订单;1->app订单 int(1) 1 EBDE3354-1D7D-43AF-ADC1-D73233AF9967 status status 1522658850 zhenghong 1522659024 zhenghong 订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 int(1) 1 17C117FA-5488-480A-98AD-35E18E6B084D order_type order_type 1522658951 zhenghong 1522659122 zhenghong 订单类型:0->正常订单;1->秒杀订单 int(1) 1 61822C95-27AC-4143-8C5F-CDE6DFE15B2C delivery_company delivery_company 1522659709 zhenghong 1522725481 zhenghong 物流公司(配送方式) varchar(64) 64 91DA7F9F-8F28-4D16-8A89-1379C5141304 delivery_sn delivery_sn 1522659876 zhenghong 1522659902 zhenghong 物流单号 varchar(64) 64 ACB792D2-4ED5-47EE-BAFD-C389DAAA07E3 auto_confirm_day auto_confirm_day 1522659893 zhenghong 1522659955 zhenghong 自动确认时间(天) int C142CF56-1ED7-4D71-95DF-9F114248A7BC integration integration 1522660001 zhenghong 1522660021 zhenghong 可以获得的积分 int EA968274-2B27-4C3C-9565-619251E927BA growth growth 1522660001 zhenghong 1522660081 zhenghong 可以活动的成长值 int B8CC6F72-DB4E-4A81-9D94-16B7AE9470A1 promotion_info promotion_info 1522660053 zhenghong 1522660086 zhenghong 活动信息 varchar(100) 100 BBE7BE20-0F91-48B2-96EA-7852ACCE40D1 bill_type bill_type 1522660081 zhenghong 1522660200 zhenghong 发票类型:0->不开发票;1->电子发票;2->纸质发票 int(1) 1 5A0811A5-51AF-47C2-A7F8-A2909F856961 bill_header bill_header 1522660171 zhenghong 1522660226 zhenghong 发票抬头 varchar(200) 200 B0E18290-D990-4622-B718-71A7113E9480 bill_content bill_content 1522660220 zhenghong 1522660256 zhenghong 发票内容 varchar(200) 200 CE69C28B-C4BC-44AA-B3F2-30B6AD8390F8 bill_receiver_phone bill_receiver_phone 1522660252 zhenghong 1522660326 zhenghong 收票人电话 varchar(32) 32 DB7AE7E6-2321-4C2C-8580-7AEB802EBE2C bill_receiver_email bill_receiver_email 1522660252 zhenghong 1522660344 zhenghong 收票人邮箱 varchar(64) 64 98B312FD-4E06-4D2B-AC6F-970B84E6C73F receiver_name receiver_name 1522660318 zhenghong 1535612363 zhenghong 收货人姓名 varchar(100) 100 1 1174D5FE-B8AE-49E7-A4D2-F947BFE08091 receiver_phone receiver_phone 1522660394 zhenghong 1535612363 zhenghong 收货人电话 varchar(32) 32 1 AA0D5272-63FA-45D9-8816-9D547B177F10 receiver_post_code receiver_post_code 1522660418 zhenghong 1522660472 zhenghong 收货人邮编 varchar(32) 32 7E47519A-F397-40EF-A70D-4B26E116BD67 receiver_province receiver_province 1522660464 zhenghong 1522660527 zhenghong 省份/直辖市 varchar(32) 32 3218F635-7F7D-4A36-9BF2-E1C822053456 receiver_city receiver_city 1522660515 zhenghong 1522660549 zhenghong 城市 varchar(32) 32 8C3E74BC-0BCA-4E3F-A1F8-4C06D7192D4E receiver_region receiver_region 1522660544 zhenghong 1522660590 zhenghong varchar(32) 32 661DB749-D0D5-43E2-B96E-2444DA4DBA06 receiver_detail_address receiver_detail_address 1522660585 zhenghong 1522660613 zhenghong 详细地址 varchar(200) 200 F0169A36-508E-4CDA-8BD0-6077437C30DA note note 1522724892 zhenghong 1522724915 zhenghong 订单备注 varchar(500) 500 735D23D8-B7B2-4474-A113-1ED7AAA6C9B8 confirm_status confirm_status 1522725950 zhenghong 1522725999 zhenghong 确认收货状态:0->未确认;1->已确认 int(1) 1 1D7E85F6-2738-40D2-A69D-1B55994F607A delete_status delete_status 1535611815 zhenghong 1535612418 zhenghong 删除状态:0->未删除;1->已删除 0 int(1) 1 1 {F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0= {B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0= F556C92B-2EE8-48AB-B431-CABDBE189320 use_integration use_integration 1536136197 zhenghong 1536136230 zhenghong 下单时使用的积分 int 1D5BDFFC-6D63-44EA-8B7D-751C599A2A3A payment_time payment_time 1539236189 zhenghong 1539236349 zhenghong 支付时间 datetime D2094CD3-0C14-476E-9267-60186CD40813 delivery_time delivery_time 1539236207 zhenghong 1539236252 zhenghong 发货时间 datetime 70755468-D317-4803-9B06-3975443F82C3 receive_time receive_time 1539236247 zhenghong 1539236359 zhenghong 确认收货时间 datetime C9857D65-CC11-42E6-BE7C-03A1B181DCB4 comment_time comment_time 1539236349 zhenghong 1539236415 zhenghong 评价时间 datetime E2934ED3-7C35-4E4C-85C8-4554D6FED072 modify_time modify_time 1539236409 zhenghong 1539236440 zhenghong 修改时间 datetime F98BE405-9DED-4054-ABBF-40BD4672B58B Key_1 Key_1 1522658326 zhenghong 1541490586 zhenghong FDAAF085-F146-4ADE-919D-85D1DB4E61EE oms_order_item oms_order_item 1522660695 zhenghong 1582621151 zhenghong 订单中所包含的商品 C2ABF8A4-2DE7-4C17-8053-440A60BD8EE7 id id 1522660696 zhenghong 1522660748 zhenghong bigint 1 1 B1934126-97B4-461B-B2A8-D53CCF81245C order_id order_id 1522660753 zhenghong 1522660776 zhenghong 订单id bigint EA411763-23EA-4E27-97CD-1C0D5925157C order_sn order_sn 1522660755 zhenghong 1522660781 zhenghong 订单编号 varchar(64) 64 DCF7D58B-AD64-48B0-9A65-4FDAE9A32DFB product_id product_id 1522660820 zhenghong 1522660829 zhenghong bigint 7BDD65C2-224E-413D-AD83-437754569B1C product_pic product_pic 1522719518 zhenghong 1535696089 zhenghong varchar(500) 500 DFFC50EA-1E9A-4867-9EE8-B1A1B84E51E7 product_name product_name 1522719518 zhenghong 1522719560 zhenghong varchar(200) 200 68478EE9-703A-4DFD-A085-7B109BBF650D product_brand product_brand 1522719571 zhenghong 1522719666 zhenghong varchar(200) 200 27623FBE-2491-4310-AA4E-D93F4AD59154 product_sn product_sn 1522719571 zhenghong 1522719666 zhenghong varchar(64) 64 A9EF8281-439D-4D05-BB45-E933E648D979 product_price product_price 1522719571 zhenghong 1535694206 zhenghong 销售价格 decimal(10,2) 10 2 015E8942-52BF-4342-9C4C-1230A266C1C9 product_quantity product_quantity 1522723168 zhenghong 1535694166 zhenghong 购买数量 int EE8FDF66-7853-4BCE-98D9-40ADC13CC78F product_sku_id product_sku_id 1535693972 zhenghong 1535694126 zhenghong 商品sku编号 bigint B13B6661-62F2-461A-B375-7556D6DBE56D product_sku_code product_sku_code 1535693972 zhenghong 1535694135 zhenghong 商品sku条码 varchar(50) 50 6B11B4F4-2F88-4DA2-A6C6-B5563F8AB67F product_category_id product_category_id 1535938231 zhenghong 1535938276 zhenghong 商品分类id bigint 00A626D1-90DA-4262-8FFB-874691D67C3E promotion_name promotion_name 1535694274 zhenghong 1535694390 zhenghong 商品促销名称 varchar(200) 200 FCD8E9C9-7C56-47F0-8FBB-5534EB9B8FDE promotion_amount promotion_amount 1535694166 zhenghong 1535694826 zhenghong 商品促销分解金额 decimal(10,2) 10 2 073E4D15-F6EB-405D-9429-3A2FD362E949 coupon_amount coupon_amount 1535694274 zhenghong 1535694877 zhenghong 优惠券优惠分解金额 decimal(10,2) 10 2 B4781397-191A-42B9-AAF7-D96E7BC3449D integration_amount integration_amount 1535694826 zhenghong 1535694927 zhenghong 积分优惠分解金额 decimal(10,2) 10 2 AD7CAE73-04BF-4BB8-BEFA-E0A7B94BF373 real_amount real_amount 1522724652 zhenghong 1535694701 zhenghong 该商品经过优惠后的分解金额 decimal(10,2) 10 2 3FBC2AE3-3000-41C7-B78C-DB7AC7ABDC16 gift_integration gift_integration 1535964164 zhenghong 1535964238 zhenghong 商品赠送积分 0 int 1 C7705A4E-64E8-44A3-B3BE-7A8762E73CFD gift_growth gift_growth 1535964164 zhenghong 1535964251 zhenghong 商品赠送成长值 0 int 1 07F49796-6B7C-4A44-BF17-6EF191BE819A product_attr product_attr 1540542610 zhenghong 1540542637 zhenghong 商品销售属性:[{"key":"颜色","value":"颜色"},{"key":"容量","value":"4G"}] varchar(500) 500 8B728C73-2ED3-4C44-8C64-95692A16EA10 Key_1 Key_1 1522660696 zhenghong 1522660745 zhenghong E184F9AC-F126-46D6-A8FF-5F95FBA2F74D oms_order_operate_history oms_order_operate_history 1522724973 zhenghong 1522725331 zhenghong 订单操作历史记录 46247D13-9B17-44EB-9300-7BA49AC214FB id id 1522724975 zhenghong 1522725013 zhenghong bigint 1 1 CBAA2797-F782-492E-89D8-B87830B4FD86 order_id order_id 1522725331 zhenghong 1522725342 zhenghong 订单id bigint B26D3031-3438-4CAB-BC93-2277F41D2F64 operate_man operate_man 1522725011 zhenghong 1522725056 zhenghong 操作人:用户;系统;后台管理员 varchar(100) 100 14B87125-FC24-4D09-982E-F43F618B6C3A create_time create_time 1522725037 zhenghong 1522725076 zhenghong 操作时间 datetime 296A8CF6-1BC8-46E1-846F-25114FF35EEB order_status order_status 1522725072 zhenghong 1522725298 zhenghong 订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 int(1) 1 9F651D4E-088F-4735-ACAD-12ED16C49FDE note note 1522725292 zhenghong 1522725326 zhenghong 备注 varchar(500) 500 50772925-29B2-4E77-A02B-5AB8C229953C Key_1 Key_1 1522724975 zhenghong 1522725011 zhenghong A3448BD2-42B4-44EC-9BD2-9837B4DF8523 oms_order_setting oms_order_setting 1522726076 zhenghong 1522731991 zhenghong 订单设置表 03B16432-ECCE-4698-B24A-05554E64C35C id id 1522726077 zhenghong 1522726104 zhenghong bigint 1 1 AC98E6B7-ADDF-43AD-B2F0-6CFE7715E9F1 flash_order_overtime flash_order_overtime 1522726101 zhenghong 1522726218 zhenghong 秒杀订单超时关闭时间(分) int C4E474C5-194A-4B54-8DF1-F37B681DE42B normal_order_overtime normal_order_overtime 1522726150 zhenghong 1522726226 zhenghong 正常订单超时时间(分) int 773FEFCD-F4A3-4D9E-B061-10C12CA1B397 confirm_overtime confirm_overtime 1522726177 zhenghong 1522726257 zhenghong 发货后自动确认收货时间(天) int DD5B89B8-5DC6-4EB1-B916-D76BD75CB0F5 finish_overtime finish_overtime 1522731908 zhenghong 1522732014 zhenghong 自动完成交易时间,不能申请售后(天) int D090D0ED-6A45-445C-ADE3-F1E18734F159 comment_overtime comment_overtime 1522731929 zhenghong 1522732004 zhenghong 订单完成后自动好评时间(天) int 7C2ADDA9-1584-4310-A3FE-7F1E18447823 Key_1 Key_1 1522726077 zhenghong 1522726101 zhenghong 5006E5DC-16F9-4C44-ABAA-2812B50757BB oms_order_return_apply oms_order_return_apply 1522732897 zhenghong 1539746524 zhenghong 订单退货申请 CF99B61C-D0E5-4EB4-BFC6-111A9F3D44E8 id id 1522732898 zhenghong 1522732943 zhenghong bigint 1 1 A6E68B83-006A-468C-A461-C647705E038C order_id order_id 1522733188 zhenghong 1522733198 zhenghong 订单id bigint 8D1F23F9-09FD-416B-8E38-CFDE67721417 company_address_id company_address_id 1522745521 zhenghong 1539745624 zhenghong 收货地址表id bigint A6898418-67C2-4E9F-9093-6FF8782BD12F product_id product_id 1539746524 zhenghong 1539746553 zhenghong 退货商品id bigint 56ACAE3C-5533-44A1-BA57-602058B6CEF2 order_sn order_sn 1522733452 zhenghong 1522733474 zhenghong 订单编号 varchar(64) 64 F2C78E24-CDB0-4AA7-B6CD-21E55B380E95 create_time create_time 1522732939 zhenghong 1539746482 zhenghong 申请时间 datetime 70FBE2CF-BE0D-44DD-8679-39DAA782E1A3 member_username member_username 1522732939 zhenghong 1539745698 zhenghong 会员用户名 varchar(64) 64 7B8A70B3-9FC9-4136-BEC9-D2DF393DB988 return_amount return_amount 1522732939 zhenghong 1522733013 zhenghong 退款金额 decimal(10,2) 10 2 4FB9898E-63E4-4B21-B577-504320D3D4F9 return_name return_name 1522733003 zhenghong 1539745642 zhenghong 退货人姓名 varchar(100) 100 8ADCC57B-6CA5-4A89-8B5A-6283FE7B3DDF return_phone return_phone 1522733468 zhenghong 1522733653 zhenghong 退货人电话 varchar(100) 100 F01CC8D2-508C-424D-BF17-AE42ABE28223 status status 1522733003 zhenghong 1522733137 zhenghong 申请状态:0->待处理;1->退货中;2->已完成;3->已拒绝 int(1) 1 65402A2F-A01C-4B4D-9F19-9ACD48637159 handle_time handle_time 1522733003 zhenghong 1522733179 zhenghong 处理时间 datetime AADBD0C8-E8CD-45D6-BDF4-13840EEFA26C product_pic product_pic 1522733217 zhenghong 1539745750 zhenghong 商品图片 varchar(500) 500 B4BB6015-3948-411C-9558-6CAF55CEF04C product_name product_name 1522733217 zhenghong 1539745756 zhenghong 商品名称 varchar(200) 200 D30E609F-3F5C-401C-8690-EEA47B0E6694 product_brand product_brand 1522733217 zhenghong 1539745719 zhenghong 商品品牌 varchar(200) 200 86B4B2F7-9A36-47AC-A3DA-7F45FFF21639 product_attr product_attr 1522733217 zhenghong 1522733369 zhenghong 商品销售属性:颜色:红色;尺码:xl; varchar(500) 500 DE661909-8CDC-4C09-A0C1-5587F969523A product_count product_count 1522733332 zhenghong 1522733395 zhenghong 退货数量 int B16F9E1E-749A-477B-B8E1-70B635CC8F00 product_price product_price 1539746095 zhenghong 1539746212 zhenghong 商品单价 decimal(10,2) 10 2 442BB5FC-951A-43B5-94AD-B3C2E1C8F28F product_real_price product_real_price 1539746095 zhenghong 1539746225 zhenghong 商品实际支付单价 decimal(10,2) 10 2 B4DB3A15-7B0F-4C6D-B961-AF2C4CF14D50 reason reason 1522733512 zhenghong 1522733657 zhenghong 原因 varchar(200) 200 ECE8A578-4D6B-47EB-BB72-207D9BC93324 description description 1522733512 zhenghong 1522733663 zhenghong 描述 varchar(500) 500 E3C2C9CF-D72D-44AA-B1A3-5B5AC1950B63 proof_pics proof_pics 1522733653 zhenghong 1522733740 zhenghong 凭证图片,以逗号隔开 varchar(1000) 1000 B16F27C1-DFFA-40F1-83B5-F9DA3BB86FE6 handle_note handle_note 1522745027 zhenghong 1522745078 zhenghong 处理备注 varchar(500) 500 B8982C29-EB0D-4F63-A047-DDEDC91A78C3 handle_man handle_man 1522745592 zhenghong 1522745618 zhenghong 处理人员 varchar(100) 100 49E217E2-31BF-4F23-8125-62D5920E0B60 receive_man receive_man 1522745613 zhenghong 1522745658 zhenghong 收货人 varchar(100) 100 8111E4F5-B8EA-4DCB-B899-A2E4921E6BC2 receive_time receive_time 1522745652 zhenghong 1539745779 zhenghong 收货时间 datetime 4C802C73-FB19-4C09-84C3-37E152CA8299 receive_note receive_note 1522745652 zhenghong 1539745787 zhenghong 收货备注 varchar(500) 500 D06B934B-B63D-4DCC-B1C1-62F79744A8AC Key_1 Key_1 1522732898 zhenghong 1522732939 zhenghong 594B7799-023B-4DAF-840D-B224931CBA6C oms_company_address oms_company_address 1522745162 zhenghong 1539745228 zhenghong 公司收发货地址表 F5A62BE4-F0B9-46C3-8591-5864BB83220D id id 1522745164 zhenghong 1522745194 zhenghong bigint 1 1 359C7F83-8810-4F75-935C-8099B75676C6 address_name address_name 1522745192 zhenghong 1522745253 zhenghong 地址名称 varchar(200) 200 5AA8AC8B-9617-4A6F-B898-4206F7CE8169 send_status send_status 1522745248 zhenghong 1522745302 zhenghong 默认发货地址:0->否;1->是 int(1) 1 CDF1655B-32CC-4E54-BBE7-5F00549B7722 receive_status receive_status 1522745248 zhenghong 1522745328 zhenghong 是否默认收货地址:0->否;1->是 int(1) 1 F5195500-8663-482B-B587-27789546188C name name 1522745285 zhenghong 1539745228 zhenghong 收发货人姓名 varchar(64) 64 D51012F2-BECB-4E6B-A7E9-5B6AC06D9087 phone phone 1522745285 zhenghong 1522745508 zhenghong 收货人电话 varchar(64) 64 3D2DC8D4-9D56-4E95-8266-052132761CDE province province 1522745363 zhenghong 1539745209 zhenghong 省/直辖市 varchar(64) 64 57267BF2-434D-4AEC-8E6B-DDCAA85233F7 city city 1522745363 zhenghong 1539745217 zhenghong varchar(64) 64 F1F15023-139B-4048-8D0C-C9C46884C6E9 region region 1522745363 zhenghong 1539745223 zhenghong varchar(64) 64 D3EA532D-AD33-45AF-BA17-1FE7D821EE64 detail_address detail_address 1539745108 zhenghong 1539745239 zhenghong 详细地址 varchar(200) 200 9B8E57D5-D022-48D7-BA87-3214D2DAB1BD Key_1 Key_1 1522745164 zhenghong 1522745192 zhenghong 3FB6BF2A-C836-4B1F-AA9B-4219F4ECBC6D oms_order_return_reason oms_order_return_reason 1522745726 zhenghong 1539238788 zhenghong 退货原因表 8398CF1C-2327-4762-B370-7F7BB681FBE8 id id 1522745728 zhenghong 1533115911 zhenghong bigint 1 1 7C7CCC5E-FBE6-49A6-A428-95A8A078B4EA name name 1522745760 zhenghong 1522745845 zhenghong 退货类型 varchar(100) 100 0C284FC4-E892-4BFF-B0AC-AD9BCB8E39D2 sort sort 1522745760 zhenghong 1522745809 zhenghong int D0151FA2-84E3-4252-9565-766B748B7AD3 status status 1522745760 zhenghong 1522745824 zhenghong 状态:0->不启用;1->启用 int(1) 1 A3F8C1D7-A495-4E99-885D-FC8FB1E5747C create_time create_time 1539238773 zhenghong 1539238794 zhenghong 添加时间 datetime F0009D1F-CC14-45AA-BDB7-F25CFBBFE380 Key_1 Key_1 1522745728 zhenghong 1533115911 zhenghong 679BF191-40EF-4FC4-8140-D9DA8F283689 oms_cart_item oms_cart_item 1533108597 zhenghong 1582621132 zhenghong 购物车表 0496CCD8-F7CC-4DD4-AEE7-919D8EFCD676 id id 1533108649 zhenghong 1533108729 zhenghong bigint 1 1 BC6AB2CA-354D-447A-A466-54980B87F57F product_id product_id 1533109970 zhenghong 1533110009 zhenghong bigint 48241AB2-A6B4-48E5-A792-FAB72D97FD42 product_sku_id product_sku_id 1533115829 zhenghong 1533115861 zhenghong bigint 70CEB9F6-7F7D-4AB1-BB9D-3667BA109C72 member_id member_id 1533115896 zhenghong 1533115923 zhenghong bigint 8B8B68C0-7987-4E2B-9BAD-FF4F3428E03A quantity quantity 1533108721 zhenghong 1533108755 zhenghong 购买数量 int E2A71768-48C5-46B2-82B8-635169BFE66D price price 1533108747 zhenghong 1533108790 zhenghong 添加到购物车的价格 decimal(10,2) 10 2 B5A53CF7-C87D-411B-89DF-41888E2722C7 product_pic product_pic 1533110160 zhenghong 1533171242 zhenghong 商品主图 varchar(1000) 1000 E1A4F06D-34AE-4B0C-BCC6-F82BA9D1A76F product_name product_name 1533110160 zhenghong 1533171249 zhenghong 商品名称 varchar(500) 500 7BBD4FA7-9C75-4ECA-9E08-BBEAC572BCB1 product_brand product_brand 1535696251 zhenghong 1535696298 zhenghong varchar(200) 200 11170A56-1C61-4372-9E46-A3C9C587340E product_sn product_sn 1535696251 zhenghong 1535696298 zhenghong varchar(200) 200 2D4BFCEF-83F1-4697-8EF7-DCC5D2A9491D product_sub_title product_sub_title 1533110160 zhenghong 1533171264 zhenghong 商品副标题(卖点) varchar(500) 500 8A7E5878-BB5E-49F3-BE20-E6986E172BB3 product_sku_code product_sku_code 1533115799 zhenghong 1533171279 zhenghong 商品sku条码 varchar(200) 200 23C68713-D38A-4915-96E3-A9762199D386 member_nickname member_nickname 1533115939 zhenghong 1533171328 zhenghong 会员昵称 varchar(500) 500 5675315C-7265-4AC3-88D4-BC1525AC73B7 create_date create_date 1533116034 zhenghong 1533171335 zhenghong 创建时间 datetime 1D877A06-39CD-4A3C-B4A8-059588D13838 modify_date modify_date 1533116034 zhenghong 1533171341 zhenghong 修改时间 datetime 20EF4C13-435F-4C03-B8A9-7E31F1432E21 delete_status delete_status 1533172423 zhenghong 1533172643 zhenghong 是否删除 0 int(1) 1 9C9C2AC9-F58B-4D31-BEF4-1D1892931E51 product_category_id product_category_id 1535530934 zhenghong 1535530961 zhenghong 商品的分类 bigint B7274386-A224-491A-88E0-8FAADCA00C90 product_attr product_attr 1540542323 zhenghong 1540542603 zhenghong 商品销售属性:[{"key":"颜色","value":"银色"},{"key":"容量","value":"4G"}] varchar(500) 500 29D735B7-E618-4C13-AF03-3858C68E6BA4 Key_1 Key_1 1533108649 zhenghong 1533108680 zhenghong 76086A3D-70A2-4A7E-A4DA-9B79808A0A53 ums_role ums_role 1538200619 zhenghong 1538201383 zhenghong 后台用户角色表 2E853DB4-DEFD-42D5-A6BE-6226A3194CE4 id id 1538201005 zhenghong 1538201117 zhenghong bigint 1 1 A7C5F5AC-3D79-4BAB-A058-E801649746EB name name 1538201019 zhenghong 1538201122 zhenghong 名称 varchar(100) 100 013099EA-F84F-4262-9125-15DA3687C8CE description description 1538201019 zhenghong 1538201128 zhenghong 描述 varchar(500) 500 F376357B-61CA-46D5-BED7-51C5322735A9 admin_count admin_count 1538201117 zhenghong 1538201162 zhenghong 后台用户数量 int EAC9E6A6-7E67-44F0-B085-B7A2380828E9 create_time create_time 1538201155 zhenghong 1538201198 zhenghong 创建时间 datetime 8B4E2D43-F39C-46CD-B498-1CD02CDE1F81 status status 1538201193 zhenghong 1538201235 zhenghong 启用状态:0->禁用;1->启用 1 int(1) 1 CDB0B35E-6C3A-4FE5-9D47-E7682E71302E sort sort 1538201211 zhenghong 1538201486 zhenghong 0 int 14F5A838-542A-4B80-8627-B17FF80D3D0C Key_1 Key_1 1538201019 zhenghong 1538201117 zhenghong 4E46B794-7D2F-434B-9096-2F7DB97537BA ums_permission ums_permission 1538201545 zhenghong 1538202362 zhenghong 后台用户权限表 E945AB0D-430D-4564-A942-AFAF3D3C6106 id id 1538201548 zhenghong 1538201942 zhenghong bigint 1 1 {F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,102={9480E6AA-83DD-4AA7-9C91-E48F709C29D9},CharSet,0= {B314652C-DD43-4F81-8524-6F97A1BAACBA},Collate,0= B073CBDF-527E-4961-BF55-9C5A1F643303 pid pid 1538202362 zhenghong 1538202389 zhenghong 父级权限id bigint E06DA657-9A51-42D9-A915-3D76B6D12AC7 name name 1538201932 zhenghong 1538202068 zhenghong 名称 varchar(100) 100 C2345EAD-45D6-41E7-8EAA-9DB2FD0F6C48 value value 1538201932 zhenghong 1538202074 zhenghong 权限值 varchar(200) 200 471034FB-C5B6-49C2-A117-AE9FEE311F8C icon icon 1538201932 zhenghong 1538202080 zhenghong 图标 varchar(500) 500 64C52B4C-E7C5-4A7E-AE70-CF628EFC67A7 type type 1538202064 zhenghong 1538202174 zhenghong 权限类型:0->目录;1->菜单;2->按钮(接口绑定权限) int(1) 1 8E492BD0-8033-4FE5-8B5B-C13F6977D9A9 uri uri 1538202208 zhenghong 1538202264 zhenghong 前端资源路径 varchar(200) 200 88B074E5-990C-4217-91F5-A88E56CC8142 status status 1538202092 zhenghong 1538202228 zhenghong 启用状态;0->禁用;1->启用 int(1) 1 6A46B30B-44EC-4D13-BEBF-77C4D26113CA create_time create_time 1538202257 zhenghong 1538202303 zhenghong 创建时间 datetime FE8DC496-D926-4C4C-94C0-59F19B98D411 sort sort 1538202257 zhenghong 1538202334 zhenghong 排序 int 1A1D360B-3856-4FE0-ABC3-9C9DD7180247 Key_1 Key_1 1538201548 zhenghong 1538201932 zhenghong 0ACD514B-6AD8-4092-9503-BB7418271C5D ums_admin_role_relation ums_admin_role_relation 1538202419 zhenghong 1538202492 zhenghong 后台用户和角色关系表 FD4417BB-10DA-489F-95B7-2538DA63FEB7 id id 1538202420 zhenghong 1538202461 zhenghong bigint 1 1 7E2D454E-E44B-490F-9E86-11CB1D02A55F admin_id admin_id 1538202471 zhenghong 1538202487 zhenghong bigint 6408BE19-A7C6-4F9D-B9C0-921BD494570B role_id role_id 1538202492 zhenghong 1538202502 zhenghong bigint 6D817E44-8C99-4CFE-A645-0E536256B9D2 Key_1 Key_1 1538202420 zhenghong 1538202458 zhenghong DF1649B4-5B0F-43F0-8E49-DFB2050E1F76 ums_role_permission_relation ums_role_permission_relation 1538202537 zhenghong 1538202588 zhenghong 后台用户角色和权限关系表 1144AF4C-1426-47B7-8212-DA3B3E6C2A36 id id 1538202538 zhenghong 1538202580 zhenghong bigint 1 1 FE5CF0B5-65AA-4B6D-AE3C-04E4A57077D0 role_id role_id 1538202586 zhenghong 1538202605 zhenghong bigint 3E519CF4-C6F8-4D40-828A-F3AFFDA09699 permission_id permission_id 1538202588 zhenghong 1538202605 zhenghong bigint 7169397A-EC6D-422E-9575-7D580D618896 Key_1 Key_1 1538202538 zhenghong 1538202576 zhenghong 13CA705F-65DC-48AC-9563-A5650E15DCC0 ums_admin_permission_relation ums_admin_permission_relation 1538202617 zhenghong 1538203086 zhenghong 后台用户和权限关系表(除角色中定义的权限以外的加减权限) BE753374-E9C7-4C53-AC9C-D71DCF50662D id id 1538202860 zhenghong 1538202918 zhenghong bigint 1 1 12FF5B6B-8647-49E1-927C-D43F14BBB174 admin_id admin_id 1538202927 zhenghong 1538202948 zhenghong bigint 8BDB3D8B-FFEF-4031-8D7A-EF81BE9BE670 permission_id permission_id 1538202929 zhenghong 1538202948 zhenghong bigint D5D4EBC8-9FCD-4A79-8171-4BC6027FA23E type type 1538203070 zhenghong 1538203086 zhenghong int(1) 1 DF246E9E-48BE-43A9-A0A8-282F0AC6E482 Key_1 Key_1 1538202860 zhenghong 1538202916 zhenghong 0DE260F1-B640-49EA-8FD8-73901DA3FC6A sms_flash_promotion_session sms_flash_promotion_session 1542177985 zhenghong 1542178475 zhenghong 限时购场次表 10DEE53F-C0A5-4C47-B567-5B9318C189F5 id id 1542178330 zhenghong 1542178351 zhenghong 编号 bigint 1 1 70BA3EA1-6434-4AFF-A8B7-BCFD893EE7BF name name 1542178344 zhenghong 1542178375 zhenghong 场次名称 varchar(200) 200 E0270862-71AD-474C-96FE-3EEA4134152D start_time start_time 1542178368 zhenghong 1542178404 zhenghong 每日开始时间 time A180A2E0-0FA8-475C-8D71-729FD0617D20 end_time end_time 1542178396 zhenghong 1542178421 zhenghong 每日结束时间 time 49630CAC-6129-4521-AD71-0A3AFD07583A status status 1542178416 zhenghong 1542178456 zhenghong 启用状态:0->不启用;1->启用 int(1) 1 3E293EDE-0D9A-4933-8B3D-4293903D92D0 create_time create_time 1542178436 zhenghong 1542178481 zhenghong 创建时间 datetime 6F8C4687-C113-41B9-B674-6D8DE3D1E8D5 Key_1 Key_1 1542178330 zhenghong 1542178344 zhenghong 99F64742-38F7-4DA9-B8A0-1FC4476C94D3 sms_flash_promotion_product_relation sms_flash_promotion_product_relation 1542179013 zhenghong 1542179474 zhenghong 商品限时购与商品关系表 CAE82E75-D12D-4AD6-9A17-68423BF7E4E0 id id 1542179066 zhenghong 1542349350 zhenghong 编号 bigint 1 1 CEAF14F7-5D5C-4FF9-B86B-CF943BE9EAC9 flash_promotion_id flash_promotion_id 1542179374 zhenghong 1542179387 zhenghong bigint 23D89E50-A620-478D-A305-369556A666D9 flash_promotion_session_id flash_promotion_session_id 1542179394 zhenghong 1542179410 zhenghong 编号 bigint 016A43A1-CCDE-4553-A432-5F9195B3E630 product_id product_id 1542179440 zhenghong 1542179497 zhenghong bigint A82B7A85-9A20-438A-B428-5252675D21E5 flash_promotion_price flash_promotion_price 1542179066 zhenghong 1542179497 zhenghong 限时购价格 decimal(10,2) 10 2 608C7EEE-3CD9-452E-873C-AD3AFDF563A0 flash_promotion_count flash_promotion_count 1542179137 zhenghong 1542179197 zhenghong 限时购数量 int 8211380C-691E-47D2-B1D7-F37E83667A4C flash_promotion_limit flash_promotion_limit 1542179190 zhenghong 1542179235 zhenghong 每人限购数量 int 7DB32E90-BA97-46B7-B90B-655587BBE50E sort sort 1542179226 zhenghong 1542179257 zhenghong 排序 int A2983D35-1038-45A0-954A-5BC756B9FBF6 Key_1 Key_1 1542179066 zhenghong 1542179137 zhenghong FA962271-FBB8-4D55-88C3-B0565D4B7E6B ums_menu ums_menu 1580624574 zhenghong 1580625146 zhenghong 后台菜单表 6E8CAA92-2096-418D-A93D-E79F719BB927 id id 1580624717 zhenghong 1580624742 zhenghong bigint 1 1 ED194F66-7660-463A-A991-C2A652AB7BDD parent_id parent_id 1580624809 zhenghong 1580625129 zhenghong 父级ID bigint 751DDAFB-E47E-4C1F-8861-98417ABE4003 create_time create_time 1580624809 zhenghong 1580625091 zhenghong 创建时间 datetime C19B0D2B-9E4E-4D92-B934-23A5A434367E title title 1580624809 zhenghong 1580625091 zhenghong 菜单名称 varchar(100) 100 3991C198-C8BC-442F-B9C3-8C3E822BDF58 level level 1580624809 zhenghong 1580625091 zhenghong 菜单级数 int(4) 4 F021AF73-1074-429E-A756-7795EAC8D046 sort sort 1580624809 zhenghong 1580625091 zhenghong 菜单排序 int(4) 4 4B420CCD-31CE-4F99-864B-2130DB065195 name name 1580624809 zhenghong 1580625091 zhenghong 前端名称 varchar(100) 100 F77FA949-AD6E-4812-8523-B4B89D603A5E icon icon 1580624809 zhenghong 1580625091 zhenghong 前端图标 varchar(200) 200 BA0254CB-2942-4FA6-86A0-E90E43311099 hidden hidden 1580624809 zhenghong 1580625091 zhenghong 前端隐藏 int(1) 1 5B17DE1C-3EF2-41FE-8598-919EF33A2D85 Key_1 Key_1 1580624717 zhenghong 1580624739 zhenghong 21CA6441-50AA-434C-B1B2-51C4DB93E292 ums_resource ums_resource 1580624625 zhenghong 1580869150 zhenghong 后台资源表 F6CBDD55-60A9-4F16-8426-166F661106CF id id 1580625178 zhenghong 1580625202 zhenghong bigint 1 1 83039C2E-46A3-43E5-9F44-0C2793617519 category_id category_id 1580869150 zhenghong 1580869174 zhenghong 资源分类ID bigint A9E82014-27A7-49AF-9BF1-2F10A4ABC85D create_time create_time 1580625197 zhenghong 1580625272 zhenghong 创建时间 datetime 623196A3-33D6-4F77-909E-66A8F05CDD19 name name 1580625197 zhenghong 1580625272 zhenghong 资源名称 varchar(200) 200 01AB5B01-DA3F-4F28-A338-A916E623F2A0 url url 1580625197 zhenghong 1580625272 zhenghong 资源URL varchar(200) 200 B3CFE91C-D059-421F-8D9C-17321C7F38E7 description description 1580805910 zhenghong 1580805939 zhenghong 描述 varchar(500) 500 10E24F7A-0390-476B-BAAE-1882C0BBD062 Key_1 Key_1 1580625178 zhenghong 1580625197 zhenghong B66F7908-B143-4176-80A9-B2CF44529D08 ums_role_menu_relation ums_role_menu_relation 1580624663 zhenghong 1580625352 zhenghong 后台角色菜单关系表 0A34DDDB-B366-496A-AED8-416DE19149F5 id id 1580625308 zhenghong 1580625325 zhenghong bigint 1 1 2AE22924-4904-41FA-AFB7-B0CF7FCBFC56 role_id role_id 1580625333 zhenghong 1580625372 zhenghong 角色ID bigint 748FA33E-A269-4189-A357-21F5885427C4 menu_id menu_id 1580625352 zhenghong 1580625372 zhenghong 菜单ID bigint 882EFB9B-0F11-4AE1-995B-C15CEDF564FA Key_1 Key_1 1580625308 zhenghong 1580625322 zhenghong C19BEA79-6E19-4CAD-9E31-9415E802B9DE ums_role_resource_relation ums_role_resource_relation 1580624686 zhenghong 1580625435 zhenghong 后台角色资源关系表 6DF052C6-67CA-4BAA-A125-9F03DEDA9012 id id 1580625392 zhenghong 1580625411 zhenghong bigint 1 1 83982BFF-3E3D-4E6F-A458-FF3075464342 role_id role_id 1580625421 zhenghong 1580625454 zhenghong 角色ID bigint 09F02FAF-844E-44FE-93C8-7B4623939F50 resource_id resource_id 1580625435 zhenghong 1580625454 zhenghong 资源ID bigint AB798EFF-998F-4E0E-B0A4-A20719A6AF79 Key_1 Key_1 1580625392 zhenghong 1580625408 zhenghong B0508AE4-FED1-47A1-A771-889573F7520B ums_resource_category ums_resource_category 1580869056 zhenghong 1581324455 zhenghong 资源分类表 F885A10E-E590-447C-8D5D-BC2BCD3DB671 id id 1580869083 zhenghong 1580869099 zhenghong bigint 1 1 D01B83FC-5268-4206-B92F-8F9BFE927112 create_time create_time 1580869095 zhenghong 1580869135 zhenghong 创建时间 datetime B986AFDF-AFBB-4E49-93AA-5CAD7907153A name name 1580869095 zhenghong 1580869135 zhenghong 分类名称 varchar(200) 200 094290D5-34B8-4EE4-B629-670A4BAA7382 sort sort 1581324427 zhenghong 1581324455 zhenghong 排序 int(4) 4 70C39D60-14D7-4260-94E9-1F6025702EC5 Key_1 Key_1 1580869083 zhenghong 1580869095 zhenghong F8B50533-7F4C-4BE7-984B-4FC6A1156DC9 Reference_1 Reference_1 1521706257 zhenghong 1521706257 zhenghong 0..* 1 1 5236F74C-2761-4AC4-834A-BECC5D040393 1521706257 zhenghong 1521706257 zhenghong 6B097280-D411-432F-9CA0-7FC52C306D0F Reference_2 Reference_2 1521710488 zhenghong 1521710488 zhenghong 0..* 1 1 6EE78803-E5F6-4090-B810-7BBF7814F60C 1521710488 zhenghong 1521710488 zhenghong 3447013F-AE0F-4B19-9E82-DEC9658CF62C Reference_3 Reference_3 1521770349 zhenghong 1521770349 zhenghong 0..* 1 1 84F722B4-DF57-4BC3-88FD-B249B70D21A7 1521770349 zhenghong 1521770349 zhenghong 869F562E-B664-4E18-BB85-9F518C39050E Reference_4 Reference_4 1521771362 zhenghong 1521771362 zhenghong 0..* 1 1 0309D83E-51C3-4973-A636-9FEB27F4A6B6 1521771362 zhenghong 1521771362 zhenghong 43D29FF3-315F-4770-9486-03345B3B66AA Reference_5 Reference_5 1521773101 zhenghong 1521773101 zhenghong 0..* 1 1 7B820697-9FFD-4446-B6DF-F03F4F02FFE3 1521773101 zhenghong 1521773101 zhenghong 2FA754C9-59E9-4BC2-9FBD-D1F329A2D40D Reference_6 Reference_6 1521783613 zhenghong 1521783613 zhenghong 0..* 1 1 13DDC5F6-372D-47FF-AAFA-8AEF349E7FA8 1521783613 zhenghong 1521783613 zhenghong FFC57989-A7DF-43DC-8E90-0875CEC112DD Reference_9 Reference_9 1521791466 zhenghong 1521791466 zhenghong 0..* 1 1 31ADEBC6-F176-41A7-8EAA-9AC3B8A253AB 1521791466 zhenghong 1521791466 zhenghong 77C4D61A-9FF5-4B2C-8C48-A2F7DB88ACA3 Reference_10 Reference_10 1521792428 zhenghong 1521792428 zhenghong 0..* 1 1 F2B169B3-7AC8-4FB1-822D-E1C91DFF6FFD 1521792428 zhenghong 1521792428 zhenghong 617A3E38-261B-48D9-B387-A4C69D4A702C Reference_11 Reference_11 1521792909 zhenghong 1521792909 zhenghong 0..* 1 1 00AD7B43-F4CA-45D7-86BB-5756B4ED55BD 1521792909 zhenghong 1521792909 zhenghong 085DA277-2667-4A8D-8E4D-2C4E6787357E Reference_12 Reference_12 1522045168 zhenghong 1522045168 zhenghong 0..* 1 1 286E06C6-6FAD-4323-82D9-6FB781153C46 1522045168 zhenghong 1522045168 zhenghong DC5FEA31-5D2A-491B-A87A-BC45A53A0130 Reference_13 Reference_13 1522046100 zhenghong 1522046100 zhenghong 0..* 1 1 A2161167-D453-4661-9BF0-71D8908A6C42 1522046100 zhenghong 1522046100 zhenghong 09737ED1-34A7-4624-9B3D-F971732EC3C5 Reference_14 Reference_14 1522046451 zhenghong 1522046451 zhenghong 0..* 1 1 E25FF0B6-41E2-4801-8FE9-337EF9B991F7 1522046451 zhenghong 1522046451 zhenghong 1299128F-FAC5-44E2-86E2-29EF4E7A1638 Reference_15 Reference_15 1522046456 zhenghong 1522046456 zhenghong 0..* 1 1 1E64FE44-48BA-49B0-BDE1-66DA22B89EFF 1522046456 zhenghong 1522046456 zhenghong 8C8A4C2F-CB98-46EE-A602-698B99A13C3C Reference_18 Reference_18 1522112691 zhenghong 1522112691 zhenghong 0..* 1 1 DEE74089-6A6D-4D7E-BADD-76E4D08EFA2D 1522112691 zhenghong 1522112691 zhenghong 0326D95A-002E-4506-89DF-DC650D6B10F6 Reference_19 Reference_19 1522112694 zhenghong 1522112694 zhenghong 0..* 1 1 5D44A212-AD69-4958-BAAF-9E16ED63FC67 1522112694 zhenghong 1522112694 zhenghong 62935DB0-A2C4-4D4E-B949-5DE296753EC6 Reference_20 Reference_20 1522114406 zhenghong 1522114406 zhenghong 0..* 1 1 ECA8F78C-7015-44EB-9CD2-F72634D7F4BD 1522114406 zhenghong 1522114406 zhenghong 0054659D-2257-491E-BEFD-4E934EF1326A Reference_21 Reference_21 1522115961 zhenghong 1522115961 zhenghong 0..* 1 1 32BD37D4-4436-4069-9BD1-90CF0B1867E0 1522115961 zhenghong 1522115961 zhenghong 7FB8F1DE-EB1D-4B05-BC25-7F9A9C34DAC1 Reference_22 Reference_22 1522115983 zhenghong 1522115983 zhenghong 0..* 1 1 1A23B754-71EE-4496-B70F-0A3268C6F651 1522115983 zhenghong 1522115983 zhenghong C8AEC8AC-5477-406C-9A47-85CAC6E9156F Reference_23 Reference_23 1522118676 zhenghong 1522118676 zhenghong 0..* 1 1 1C883E67-84F9-4CD0-A4F5-D7CA2BE15DC5 1522118676 zhenghong 1522118676 zhenghong 6877F189-A5DC-4EC1-A805-D6DF43A175A8 Reference_24 Reference_24 1522119056 zhenghong 1522119056 zhenghong 0..* 1 1 1CE2FCCB-DF37-4C88-99DD-FA8C3EE7A09C 1522119056 zhenghong 1522119056 zhenghong 9F3EABD4-B8AD-4807-800A-EBB309C50C27 Reference_25 Reference_25 1522120295 zhenghong 1522120295 zhenghong 0..* 1 1 7D8DC4F2-D0A4-4CE9-B03E-44AE166786C0 1522120295 zhenghong 1522120295 zhenghong 4D22CD29-D84A-4780-A3CD-E8951913B139 Reference_26 Reference_26 1522138613 zhenghong 1522138613 zhenghong 0..* 1 1 7CB99F50-753B-4347-B896-1F18D8FE6691 1522138613 zhenghong 1522138613 zhenghong FDD92660-6932-4BCE-8F83-2E7A223145EB Reference_27 Reference_27 1522138618 zhenghong 1522138618 zhenghong 0..* 1 1 EC89DA87-A575-4940-973B-665854268261 1522138618 zhenghong 1522138618 zhenghong BF5F391A-A0AC-4940-B493-B42F4DEBFE59 Reference_28 Reference_28 1522138705 zhenghong 1522138705 zhenghong 0..* 1 1 8E1A22EC-2246-48C4-A499-3D8A4D264C09 1522138705 zhenghong 1522138705 zhenghong E84C4311-62F4-47BD-A024-62877B7D0ED5 Reference_30 Reference_30 1522141157 zhenghong 1522141157 zhenghong 0..* 1 1 2EA7348D-C8E8-4FCC-8215-01FE3AD58DFB 1522141157 zhenghong 1522141157 zhenghong C0A04A49-9B21-4470-8507-D61981F41EF2 Reference_29 Reference_29 1522141232 zhenghong 1522141232 zhenghong 0..* 1 1 8B858AAC-D00A-42FE-BEDC-73536876C045 1522141232 zhenghong 1522141232 zhenghong E8C1A0E5-7AB4-48DD-96D0-BFC0F9081B35 Reference_31 Reference_31 1522141316 zhenghong 1522141317 zhenghong 0..* 1 1 FC3A22FE-FD24-4DF0-BAC8-22659D3C8987 1522141317 zhenghong 1522141317 zhenghong 99192031-40EE-41ED-A43C-B27CC1039A2B Reference_32 Reference_32 1522142006 zhenghong 1522142006 zhenghong 0..* 1 1 14DB9C0C-F9F0-4D4A-B44E-592028F6E75A 1522142006 zhenghong 1522142006 zhenghong C562CD4F-BAD5-44CE-B507-727743B42808 Reference_33 Reference_33 1522215975 zhenghong 1522215975 zhenghong 0..* 1 1 15304E84-71AA-40B1-84CB-904384B34B25 1522215975 zhenghong 1522215975 zhenghong 049BB766-61EB-47C0-B95D-D25AFDB59734 Reference_34 Reference_34 1522216015 zhenghong 1522216015 zhenghong 0..* 1 1 457237AD-87EB-4A09-BA9F-36198B10D2FF 1522216015 zhenghong 1522216015 zhenghong 5D590043-1882-4A9B-8FC1-D9DC8580E02C Reference_35 Reference_35 1522216251 zhenghong 1522216251 zhenghong 0..* 1 1 3C2E5F27-A07C-4D88-9357-089D36122A25 1522216251 zhenghong 1522216251 zhenghong B5428618-7278-427D-A8BC-5CCB75A2547F Reference_36 Reference_36 1522216380 zhenghong 1522216380 zhenghong 0..* 1 1 A8FA4798-0F1E-4D96-A254-77F5D71F6BBD 1522216380 zhenghong 1522216380 zhenghong 849E47A7-94DA-40C1-879A-F1C6E0C5CD19 Reference_37 Reference_37 1522220508 zhenghong 1522220508 zhenghong 0..* 1 1 5026171A-4B51-4B83-A113-4051F1E4F415 1522220508 zhenghong 1522220508 zhenghong C3B9AA1D-7C7C-4CAD-885D-1542021D30E7 Reference_38 Reference_38 1522220546 zhenghong 1522220546 zhenghong 0..* 1 1 462222B9-A203-4D60-A353-A168356E3140 1522220546 zhenghong 1522220546 zhenghong AF0E4AD5-A4B3-4095-8D2E-FF466A7FFBDC Reference_39 Reference_39 1522224364 zhenghong 1522224364 zhenghong 0..* 1 1 BD28F911-4F98-4C9D-9171-E99F60476E2A 1522224364 zhenghong 1522224364 zhenghong 2E5F5354-7D3D-4CBE-9D6E-F7BF6EE3BB1E Reference_40 Reference_40 1522225874 zhenghong 1522225874 zhenghong 0..* 1 1 8D1675C9-7749-4831-A5E6-ACD971AACF57 1522225874 zhenghong 1522225874 zhenghong C7DCAECF-68BD-47D9-8C52-36A6B50C90C6 Reference_41 Reference_41 1522226077 zhenghong 1522226077 zhenghong 0..* 1 1 B30347B3-4138-4EA8-A0F5-EF0D9A34E01F 1522226077 zhenghong 1522226077 zhenghong C11B5AAF-045B-4A2E-930C-71B38674EDCB Reference_42 Reference_42 1522226272 zhenghong 1522226272 zhenghong 0..* 1 1 7D29D8DF-7EF1-4F43-928F-DDAC96A23858 1522226272 zhenghong 1522226272 zhenghong B7417B7A-09B8-43CE-A17E-01ACFEC78BF6 Reference_44 Reference_44 1522303390 zhenghong 1522303390 zhenghong 0..* 1 1 942BBD31-85B8-46EA-893C-CB327C86F5BA 1522303390 zhenghong 1522303390 zhenghong EF622572-2304-4875-8869-C1821D4BAA12 Reference_45 Reference_45 1522303410 zhenghong 1522303410 zhenghong 0..* 1 1 1E5174EE-C0B0-4144-98D5-679634DCCAEE 1522303410 zhenghong 1522303410 zhenghong F7E27FB8-7156-4A4D-BC61-18CCE2DD98AA Reference_46 Reference_46 1522304178 zhenghong 1522304178 zhenghong 0..* 1 1 BD55704C-3F36-44CC-90E1-143F097FA894 1522304178 zhenghong 1522304178 zhenghong 4D49B5C2-72FC-4407-9705-D42C0F203767 Reference_47 Reference_47 1522386868 zhenghong 1522386868 zhenghong 0..* 1 1 17EC5CAA-580C-493D-9C2D-2EA3E9732A78 1522386868 zhenghong 1522386868 zhenghong C55C7A99-C315-4D03-AEDF-B5F8BCBCD8A4 Reference_48 Reference_48 1522387461 zhenghong 1522387461 zhenghong 0..* 1 1 F469B162-D88C-42A3-B64C-7B2751A4FCE1 1522387461 zhenghong 1522387461 zhenghong CC1956B2-80D6-420D-9596-2ADE9F622A89 Reference_49 Reference_49 1522387526 zhenghong 1522387526 zhenghong 0..* 1 1 1D18BF30-4375-4618-A1C9-6DC998F248E4 1522387526 zhenghong 1522387526 zhenghong 74DB905B-E0F5-48AE-81CF-EF09159E2FF7 Reference_50 Reference_50 1522389232 zhenghong 1522389232 zhenghong 0..* 1 1 183F9969-663E-4842-ABC2-C938F02C05E4 1522389232 zhenghong 1522389232 zhenghong 7E2E910E-DFB4-4EB6-901A-B90812F54A87 Reference_51 Reference_51 1522390434 zhenghong 1522390434 zhenghong 0..* 1 1 AC355266-228D-4333-8E95-D13F2D176DB4 1522390434 zhenghong 1522390434 zhenghong 1BDEC7E5-B286-4BE4-8433-B6BD7A1C975A Reference_52 Reference_52 1522390644 zhenghong 1522390644 zhenghong 0..* 1 1 3A358827-AE90-4AC6-80E6-CA340D69F7F2 1522390644 zhenghong 1522390644 zhenghong AD855909-C83E-4375-8C80-7C2D7AC7075C Reference_53 Reference_53 1522391366 zhenghong 1522391366 zhenghong 0..* 1 1 B0F12E0B-F2E6-40A6-AD2B-9FE858AAA8BE 1522391366 zhenghong 1522391366 zhenghong E0AA6F91-B6EB-44AB-A3FB-B63A84A5DF06 Reference_54 Reference_54 1522391379 zhenghong 1522391380 zhenghong 0..* 1 1 F46C48A9-78A1-4C9A-BD75-DE0ED230A76D 1522391379 zhenghong 1522391380 zhenghong BDACC991-AA2F-4A86-A7A7-BE7FD95D68F2 Reference_55 Reference_55 1522396648 zhenghong 1522396648 zhenghong 0..* 1 1 711AD4D5-212E-4E3B-BB26-DB79C4BE4E52 1522396648 zhenghong 1522396648 zhenghong 953F316F-943C-409D-87E2-A580F91F41DF Reference_56 Reference_56 1522396864 zhenghong 1522396864 zhenghong 0..* 1 1 094B7BE5-D0AB-4987-8D74-508A27D3117F 1522396864 zhenghong 1522396864 zhenghong EBD78B02-B47D-4132-A641-E9C384074F6F Reference_57 Reference_57 1522659209 zhenghong 1522659209 zhenghong 0..* 1 1 8C15D427-62A0-40E7-9B02-84063CC6EB94 1522659209 zhenghong 1522659209 zhenghong 8A0714E1-3D0A-4983-AFD9-0AF0F17B0D22 Reference_58 Reference_58 1522660753 zhenghong 1522660753 zhenghong 0..* 1 1 043B7E7F-6688-42FD-BECE-3A4CE5A560F2 1522660753 zhenghong 1522660753 zhenghong 3BFC406B-AABB-48D0-BA77-69DB4EE17B0D Reference_59 Reference_59 1522660820 zhenghong 1522660820 zhenghong 0..* 1 1 3592DAA0-2C95-48CF-9359-C157A0E27DC3 1522660820 zhenghong 1522660820 zhenghong E36F0963-FA3D-49E2-99B0-1818EF60077C Reference_60 Reference_60 1522721755 zhenghong 1522721755 zhenghong 0..* 1 1 BEE8D279-8DBF-40B3-899D-5B07570D0AD9 1522721755 zhenghong 1522721755 zhenghong 31949834-0CD4-4F67-A0A6-FA63B62C6B04 Reference_61 Reference_61 1522724329 zhenghong 1522724329 zhenghong 0..* 1 1 F5D0566A-35C3-4451-9C7D-782BC776C53E 1522724329 zhenghong 1522724329 zhenghong AD47F573-29CC-4DB6-AFE1-BA511E55D40F Reference_62 Reference_62 1522725331 zhenghong 1522725331 zhenghong 0..* 1 1 3AA8813B-9363-406A-91DF-4AD16E9C3CCA 1522725331 zhenghong 1522725331 zhenghong 16852476-7A1F-4AF5-81A5-D4C089766A13 Reference_63 Reference_63 1522733188 zhenghong 1522733188 zhenghong 0..* 1 1 DD05624A-7E08-4273-9758-C5EDA1A03134 1522733188 zhenghong 1522733188 zhenghong 5BC95764-C216-4A1C-8602-16F14615F674 Reference_64 Reference_64 1522745521 zhenghong 1522745521 zhenghong 0..* 1 1 EBF8A4B9-24B3-4D18-82FD-D12F847328C6 1522745521 zhenghong 1522745521 zhenghong 98A2D313-20A0-4AD2-B2BE-F85A6867D79D Reference_65 Reference_65 1533109967 zhenghong 1533109995 zhenghong 0..* 1 1 BA7665F0-D173-45C6-AFE8-3C93CF330D79 1533109970 zhenghong 1533109995 zhenghong 814C49F7-4720-47CE-A38D-88721D01BA84 Reference_66 Reference_66 1533115827 zhenghong 1533115846 zhenghong 0..* 1 1 521484A5-B9C4-477D-8D45-97F7B15D7854 1533115829 zhenghong 1533115846 zhenghong 3B60C0B9-CC92-447D-838C-B9BA857608AE Reference_67 Reference_67 1533115888 zhenghong 1533115911 zhenghong 0..* 1 1 FCADB7B3-0636-44C7-8AB4-067148971867 1533115896 zhenghong 1533115911 zhenghong 46FBCD47-38FC-487C-B390-7FE833196F94 Reference_68 Reference_68 1538202362 zhenghong 1538202362 zhenghong 0..* 1 1 D2F8A3AD-54BE-4AE4-A988-128511B938A4 1538202362 zhenghong 1538202362 zhenghong C76888E3-16C6-4761-8136-511A526B6512 Reference_69 Reference_69 1538202471 zhenghong 1538202471 zhenghong 0..* 1 1 993B6DB6-8CE7-4A56-9273-AA66FB16F4A0 1538202471 zhenghong 1538202471 zhenghong 7D3662ED-D661-4086-BA3C-C9927BAEA31B Reference_70 Reference_70 1538202492 zhenghong 1538202492 zhenghong 0..* 1 1 E47EA734-EA83-4289-8295-068CBD82C878 1538202492 zhenghong 1538202492 zhenghong C27AC470-B6D5-4DEB-8985-4436775FF6EC Reference_71 Reference_71 1538202586 zhenghong 1538202586 zhenghong 0..* 1 1 C3D164FC-7971-4ECF-B2F0-6B384C75DB8A 1538202586 zhenghong 1538202586 zhenghong 6C1E998D-3BE1-473B-A219-C12E87F599FC Reference_72 Reference_72 1538202588 zhenghong 1538202588 zhenghong 0..* 1 1 5D69B943-755C-4D8A-90CC-525B02C3D50C 1538202588 zhenghong 1538202588 zhenghong 3A33B8D1-62CE-4DF3-9EAE-8F419CAA8AA8 Reference_73 Reference_73 1538202927 zhenghong 1538202927 zhenghong 0..* 1 1 C4F1E261-E196-4270-8809-851FB823B079 1538202927 zhenghong 1538202927 zhenghong 409CA456-66FD-4551-9709-9B58BAD20CBC Reference_74 Reference_74 1538202929 zhenghong 1538202929 zhenghong 0..* 1 1 9040B9D2-76A5-43F5-8889-3E21C379E806 1538202929 zhenghong 1538202929 zhenghong D8C09BAD-5666-4751-B992-C48035FB286A Reference_75 Reference_75 1539746524 zhenghong 1539746524 zhenghong 0..* 1 1 6D41CF48-9B5F-47F1-8391-F0BC65998A26 1539746524 zhenghong 1539746524 zhenghong E104E0D2-AE63-4FC2-8695-C31D32B33047 Reference_76 Reference_76 1541490540 zhenghong 1541490586 zhenghong 0..* 1 1 933A26A1-5D64-4E1E-A05E-F70A9A4571A1 1541490552 zhenghong 1541490586 zhenghong 490FFEDD-0E16-49CD-83FA-07FE29AB81E1 Reference_77 Reference_77 1542179374 zhenghong 1542179374 zhenghong 0..* 1 1 CF2A4EB2-4046-4B11-A333-E288CA091AFF 1542179374 zhenghong 1542179374 zhenghong C932213B-EF31-4E19-9C72-6C17A0AFDB6D Reference_78 Reference_78 1542179394 zhenghong 1542179394 zhenghong 0..* 1 1 F03E2D7F-4760-4BDE-AB11-2394F26DB466 1542179394 zhenghong 1542179394 zhenghong 17B2ADB4-4810-47D6-B703-99E62E4AFA4D Reference_79 Reference_79 1542179438 zhenghong 1542179474 zhenghong 0..* 1 1 389ADFA5-E125-4583-ADBE-95053D3F0C72 1542179440 zhenghong 1542179474 zhenghong 4E8DE47E-16C3-4F6B-B284-06B30C3CB07D Reference_80 Reference_80 1580625109 zhenghong 1580625129 zhenghong 0..* 1 1 9085DD5C-8F83-493E-9CFE-628DA54C8B96 1580625109 zhenghong 1580625129 zhenghong 46BCEBF1-E21B-4EB3-A8DE-A5A2BAFFFBB6 Reference_81 Reference_81 1580625333 zhenghong 1580625333 zhenghong 0..* 1 1 A48E310F-1E8C-4B06-AF1B-4D070613C9E4 1580625333 zhenghong 1580625333 zhenghong D4BF3C8D-A91A-4E49-82E9-CB738227C8C8 Reference_82 Reference_82 1580625352 zhenghong 1580625352 zhenghong 0..* 1 1 BF0FFD9A-62E7-47E9-84FB-9F2E08021926 1580625352 zhenghong 1580625352 zhenghong 2E6DA228-0727-43B1-8814-D25233A0BCC6 Reference_83 Reference_83 1580625421 zhenghong 1580625421 zhenghong 0..* 1 1 6F492BCB-5604-4D5C-9DFE-B622A7D5FC91 1580625421 zhenghong 1580625421 zhenghong CB1FAF78-7706-4745-8F2F-A9B2BDCFA7D2 Reference_84 Reference_84 1580625435 zhenghong 1580625435 zhenghong 0..* 1 1 B77FA1D0-9DDC-4FD9-B5FA-24CF8FE39B40 1580625435 zhenghong 1580625435 zhenghong F00FBAAE-944C-4129-B221-009502135923 Reference_85 Reference_85 1580869150 zhenghong 1580869150 zhenghong 0..* 1 1 6D8367E1-F1BA-4FAF-A735-B63D8A8D5D7A 1580869150 zhenghong 1580869150 zhenghong 48492A0F-63AD-4453-B46B-89915CC87545 PUBLIC PUBLIC 1521705583 zhenghong 1521705583 zhenghong 232AA7B8-E743-48F3-9530-102684B229BE MySQL 5.0 MYSQL50 1521705583 zhenghong 1521705583 zhenghong file:///%_DBMS%/mysql50.xdb F4F16ECD-F2F1-4006-AF6F-638D5C65F35E 4BA9F647-DAB1-11D1-9944-006097355D9B 1276524678 ================================================ FILE: document/pos/业务架构图.pos ================================================ {"diagram":{"image":{"height":623,"pngdata":"iVBORw0KGgoAAAANSUhEUgAAAlkAAAJvCAYAAABI28T3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4nOzdd3RU1d7G8Wdm0guhd/AKKhCNIAEEBSkC0qSDooioCL56QbwK0hRREbCCKBoEpUkJGKRc4QIXRFCkKh2VKr0mpGcymXn/SHJuhiSQQA5JyPezFmvNnNnnzJ78SOaZvfc5IwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJvNkt8duFFNmz38W0x0ZJ387gcAAMhaYLESv6//8b/35Xc/bjaP/O7AjYqJjqwzddn2/O4GAADIRv9HQ4vkYIg1vzsAAABwKyJkAQAAmICQBQAAYAJCFgAAgAkIWQAAACYgZAEAAJiAkAUAAGACQhYAAIAJCFkAAAAmIGQBAACYgJAFAABgAkIWAACACQhZAAAAJiBkAQAAmICQBQAAYAJCFgAAgAk88rsDBcHEEf20b/dv+d0NAAAKpOCQ+zT4vWn53Y1Ch5Alad/u37R9+dT87gYAAAVSaIf++d2FQonpQgAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQtAoXDo2Ek5Xa787gYA5BghC8BN8/O2Pfroq3C3bXOXrNH8ZWuvut/+g8f0zJAJ2vvHETO7BwB5ipAF4KYJqVlNP23ZqWVrfpEkXYqK1rffr1G9kBrZ7vP3qXMa/PZnGvFib4XUrCZJOnvhkrbv/uOm9BkArpdHfncAwK3th3W/avKMCON+XEKiPp/1vabM/l6SFBuXoIGjJ7nts2Lm+5KkYyfP6sVRn+ilPp3VplkD4/Goy7Ea8cE0vTnoaT1Y756b8CoAIPcIWQBM1a55Q7Vr3jDX++3Y85dGfvCVXn3+MbVsHGpsd7lcqlqpnEb+s7deHx+m94e/oAdC787LLgNAniBkATBdjxdHy57scNtms9kU8eXbevXdKfpo1IuSpF4D39a8yW9q49bdeuXtz+Tn56PPZi7WR18tUKI9WY5kh6w2q3y9veXn662qlcpp2IQwTX5rkGoH35EfLw0AskXIAmC6E6fPa9PiKW7bGnVJDVabf99vbDt47JQk6Z4at2vUoD666/bKCvT3k5+vj/z9fOTt5Znp2F/MWaI5368hZAEocAhZAG6KTs+PdLuf4nRm27Z4sQB1avVgjo7b7/H2stsd124IADcZIQvATbHkq7Fu99NHsrJjtyerUdeXFODvm22b2LgEbYr4XP5+PnnSRwDIS4QsAAXa2rmfyGbLfLWZlBSnGnR6IR96BAA5Q8gCcFN0feFNt/tXmy4EgFsBIQvATRHx5dtu99OnCzcumpwf3QEA0xGyANw0TqdT9mSHnE6nLBaLJOnQ36dktVh04dLlLM8ebPP00JvdTQDIE4QsADdNsiNFT7z8ruRyqUe7ZpKkjVt3a8nqn+Xt6aFBfbsabS1Wi2oH36Fp41+T1Zp5TZbT6VS/YR/KYrXcrO4DQK4U+r9OdevWdU1dtv2GjtH/0VBtXz41j3oEAMCtJbRDf93Ie23/R0O1Y8eOQp85cosviAYAADABIQsAAMAEhCwAAAATELIAAABMQMgCAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELIAAABM4JHfHShs+o6cqN079+V3N5AmpHawZowdfM121K1gyWndJGpX0FC7wis3tUPeIGTl0u6d+zRg+/b87gbShIWG5qgddStYclo3idoVNNSu8MpN7ZA3mC4EAAAwASELAADABIQsAAAAExCyAAAATEDIAgAAMAEhCwAAwASELAAAABMQsgAAAExAyAIAADABIQsAAMAEhCwAAAATELKAIibFbs/RNhRcl48fl1yu/O4GgGsgZBVgp7Zt04b33nP/Y+pyad2bb+rcnj03fPzII0e0euhQ2WNjr/sYjsRE/fvFFxVz6tQN9+dW40hM1Nldu0w59l8rVrjdP7V9u5zJyTn6fzGjRYtM275p2jTP+nYrMLN2O6ZNM267nE7FX7woSdo8eXKOjzG/c2elJCfned9uBWbWDsgtj/zuALJX9p57tHHCBB1avVrV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","width":601,"y":9,"x":137},"elements":{"page":{"gridSize":15,"showGrid":true,"orientation":"portrait","height":1000,"backgroundColor":"transparent","width":1050,"padding":20},"elements":{"1674f431014e94":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"统计报表"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f43155502a","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f4315554b9","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f4315557c3","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f431555482","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f4315550ea","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f431014e94","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":420.59999084472656,"h":40,"angle":0,"x":425.93332417805993,"zindex":17}},"1674f3f0ed328f":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"客户服务"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3f161b70d","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3f161b2d9","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3f161b7d9","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3f161bde7","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3f161b59c","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3f0ed328f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":174.59999084472656,"h":40,"angle":0,"x":536.5999908447266,"zindex":8}},"1674f3ff8e6a54":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"\n前台"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{"vAlign":"top"},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3ff8e6e57","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3ff8e6b2e","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3ff8e619e","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3ff8e65d","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3ff8e6018","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3ff8e6a54","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"255,230,204","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":458,"y":67.5999984741211,"h":228,"angle":0,"x":193.59999084472656,"zindex":0}},"1674f3f0ed33d2":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"订单流程"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3f161bd7b","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3f161b357","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3f161b35d","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3f161b4a4","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3f161bb92","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3f0ed33d2","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":174.59999084472656,"h":40,"angle":0,"x":315.26665751139325,"zindex":6}},"1674f4310140eb":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"订单管理"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f43155588e","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f43155591c","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f431555569","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f431555cad","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f4315558b5","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f4310140eb","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":361.59999084472656,"h":40,"angle":0,"x":315.26665751139325,"zindex":12}},"1674f431014378":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"\n后台"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{"vAlign":"top"},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f43155403","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f431554ac3","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f4315548c8","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f431554cc6","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f431554dc7","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f431014378","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"255,230,204","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":458,"y":313.5999984741211,"h":228,"angle":0,"x":193.59999084472656,"zindex":10}},"1674f431014835":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"权限管理"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f431555d1e","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f431555314","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f43155567e","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f43155571b","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f4315555b2","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f431014835","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":475.5999984741211,"h":40,"angle":0,"x":204.59999084472656,"zindex":19}},"1674f3fbc93b34":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"帮助中心"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3fc393be6","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3fc393f43","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3fc39305c","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3fc39364","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3fc393b9a","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3fbc93b34","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":229.5999984741211,"h":40,"angle":0,"x":204.59999084472656,"zindex":9}},"1674f39ff86cda":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"首页门户"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f39ff86497","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f39ff86e3f","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f39ff86a8e","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f39ff864f2","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f39ff8611f","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f39ff86cda","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":115.59999084472656,"h":40,"angle":0,"x":204.59999084472656,"zindex":1}},"1674f45617cab6":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f45617cb51","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f45617c65f","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f45617cd0c","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f45617c629","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f45617cb7a","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f45617cab6","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"204,229,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":491,"y":49.599998474121094,"h":513,"angle":0,"x":177.09999084472656,"zindex":-1}},"1674f431014f52":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"运营管理"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f431555c16","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f43155541","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f4315555e5","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f431555566","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f431555d6c","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f431014f52","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":420.59999084472656,"h":40,"angle":0,"x":204.59999084472656,"zindex":15}},"1674f3f0ed338d":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"购物车"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3f161bac8","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3f161bc75","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3f161b512","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3f161ba9","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3f161b70a","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3f0ed338d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":174.59999084472656,"h":40,"angle":0,"x":204.59999084472656,"zindex":5}},"1674f447dfc405":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"设置"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f4483ab04d","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f4483abd29","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f4483ababc","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f4483abdc3","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f4483ab252","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f447dfc405","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":475.5999984741211,"h":40,"angle":0,"x":315.26665751139325,"zindex":20}},"1674f431014028":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"促销管理"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f4315551f5","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f431555114","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f43155544a","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f431555922","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f431555394","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f431014028","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":361.59999084472656,"h":40,"angle":0,"x":536.5999908447266,"zindex":14}},"1674f431014abc":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"内容管理"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f431555053","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f431555def","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f43155526f","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f4315554fc","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f431555dc4","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f431014abc","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":420.59999084472656,"h":40,"angle":0,"x":315.26665751139325,"zindex":16}},"1674f3e36f333":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"商品推荐"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3e3d65f8e","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3e3d65b6a","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3e3d65853","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3e3d65736","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3e3d656e","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3e36f333","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":115.59999084472656,"h":40,"angle":0,"x":315.26665751139325,"zindex":2}},"1674f3f0ed3f8d":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"商品搜索"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3f161bb2a","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3f161bf07","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3f161bad8","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3f161bc1a","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3f161bdd6","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3f0ed3f8d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":174.59999084472656,"h":40,"angle":0,"x":425.93332417805993,"zindex":7}},"1674f43101447f":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"商品管理"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f431554c1f","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f431554e36","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f4315541ed","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f431554412","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f4315547e1","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f43101447f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":361.59999084472656,"h":40,"angle":0,"x":204.59999084472656,"zindex":11}},"1674f3e3d6a73b":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"商品搜索"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3e432ba0f","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3e432b048","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3e432beb7","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3e432b7e6","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3e432be21","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3e3d6a73b","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":115.59999084472656,"h":40,"angle":0,"x":425.93332417805993,"zindex":3}},"1674f4310149e9":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"财务管理"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f431555ba7","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f431555786","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f431555407","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f431555dec","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f431555735","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f4310149e9","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":420.59999084472656,"h":40,"angle":0,"x":536.5999908447266,"zindex":18}},"1674f3e4330bd9":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"商品展示"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f3e4a230c1","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f3e4a23e97","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f3e4a23992","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f3e4a23f4d","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f3e4a231d4","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f3e4330bd9","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f42f0c4c5e","props":{"w":100,"y":115.59999084472656,"h":40,"angle":0,"x":536.5999908447266,"zindex":4}},"1674f431014f18":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"会员管理"}],"lineStyle":{"lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f431555f07","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f431555677","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f4315554f5","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f431555665","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f4315553cd","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f431014f18","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"153,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f4537a3211","props":{"w":100,"y":361.59999084472656,"h":40,"angle":0,"x":425.93332417805993,"zindex":13}}}}},"meta":{"id":"5bfbb4a8e4b0f012f2324fbe","member":"5a210b2ee4b04f355d337104","exportTime":"2019-08-03 09:49:07","diagramInfo":{"category":"flow","title":"业务架构图","created":"2018-11-26 16:54:00","creator":"5a210b2ee4b04f355d337104","modified":"2018-11-26 17:07:39"},"type":"ProcessOn Schema File","version":"1.0"}} ================================================ FILE: document/pos/微服务系统架构图.pos ================================================ {"diagram":{"image":{"height":1225,"pngdata":"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t2tgzGMvi9hV5SHpBADzicVkjDnDaTxeq0nvWe+XJN17sG/S9+sbLGBqFICCpdPpJzffeUjt764tdijAvBdxmkXSCcBCN7kKqwAAQNLQqM3tbclih7EomA3p25eWaeU8WNJoXdimb10SVQH17DEJL1xXI3OmpLzYcQA4PV281KktdR5ZCuzcy10luvn80CxHBQAAACxe/KwCAMAUBL++OyOJUZszKCNp/4kBtfaduvTdXChzmVXttfDhaJYYhsFLi9MCy0kBhWM5qdMHn52ByeGzM4CFjqX2AADAvGBIWu6zaHme4sgAMN+xnBRQOJaTAoBTNd6xX8Hbdh/r2FpXVuxYAGCqWGoPAAAAAAAAAOaBtnhKMhQtdhwAMB0kngAAADCrsqM2ix0HAAAAAACYfSSeAAAAMKsYtQkAGAsDEwAAABYnEk8AAAAAAGDOMTABAABgcSLxBAAAAAAAAAAAgBlB4gkAAAAAAACzadu6sK3YMQAAgDlSUuwAAAAAAAAAsHh13FC34f5MJlPsOAAAwNxgxhMAAFPDqE0AAAAAAABgFBJPAABMQccNdRvu37K02GFghh05cqTYIQBY+BiYAAAAAOC0RuIJAADMur179+qss8465e+5sH//fm3cuHHCdkeOHNGWLVvmICIAixkDEwDgVKHb927Y3pYsdhjAgvDCdTUyZ0rKix0HAEwHiScAALCo1dTU6OGHH56wXSKRUH9//xxEBAAAcHpJp9NPbr7zULHDABaEiNOstq01x4odBwBMB4knAACm4HQYtbl3715deeWVuu2227Rp0yZdcskluvfee/XVr351ZPu+++4baX/48GF94AMf0KZNm3Teeedpy5Yt+sMf/jDle1966aX66Ec/qle84hW6//771d3drY997GO64IILdOmll+qOO+4Yad/T06O/+7u/04UXXqhXv/rVuv3223X22WePXCt3htUPf/hDXXbZZfr/7N15eJTlvf/xzyxJZhKSQEgIAVkiaxXLkqAQwk7AALbHiriC7REFERGUinJE/YmKxwVbQKWttHAwtnU7R0WLIEERpBZB6s4SIptJCJnsezLP7w9MTCDLJCQzk8z7dV1cV2bmee77Oxkykzyfe4mPj9e8efOUlpYmSZo1a5YkKT4+XseOHau3v3NrmzdvnlasWFHdvtPpVEJCgr7++utmPff2iFGbAAAAAAD4DoInAACawVdGbaalpcnpdGr79u369a9/rWXLlslut2v79u269dZb9dxzz1Uf++CDDyo6Olpbt27Vrl27lJiYqMcff7zZfWdlZenyyy/Xjh07FB8fr0ceeUROp1Nbt27Vpk2b9NZbb2nbtm2SVN3Pli1btHHjxnoDr6ysLL3xxht67bXXtGPHDoWHh1cHSps2bZIk7dq1S7169Wqwv5q1zZ49Wzt27FBlZaUk6dNPP1VQUJAuvfTSZj/39oZRm/AlvjAwAWgpDEwA2jf2TwUA30XwBAAAGnTzzTfLbDZr+PDhcjqdmj17tsxms2JiYpSZmVl93MqVKzVv3jyZTCalp6crODhYDofjgvqePHmy/P39VVpaqp07d2rBggWy2WyKjIzUddddp3fffVdFRUVKTk7WokWLZLfbFR4erttvv73O9vz8/JSTk6PNmzcrLS1Njz76qB544IHzjsvPz6+3v3NrGzFihAICAvTpp59KOht+JSYmXtDzBtB2+crABKAlMDABaD5P7qFan5p7q7J/avMN3JCqsOcP894IoE2zeroAAADg3Tp27ChJslgsMpvN8vf3lySZzWYZhlF9XEpKipYsWaK0tDT16NFDUVFRtR6vT9Ufp1Vq7scUEhIiSXI4HDIMo3o5POnsknbR0dHKzMxUZWWlIiMjqx/r2rVrnX2FhIToscce08aNG7V69Wp169ZNixcv1ujRo2sd11B/59ZmNps1ZcoUbd26VbGxsdqxY4defvnlRp83AAAA0J7U3FuV/VObL7O4UjIpsvEjAcB7ETwBAIAGmUymRo/Jy8vTkiVL9Nxzz2nkyJGSpP3792v79u2NnlszaKpPVfi1efNmBQcHS5Jyc3NVUVEhf39/mc1mZWRkKCrq7Go9NWdi1ZSfn6+goCC9+OKLKioqUlJSkh5++GElJye73F9OTs557SYmJmru3LmKj49X79691bNnz0afky+pGrXpuLNf3YkgADRRSkqKZs6cqX379tX62p3Ky8u1ePFi7d+/X7Gxsdq/f79Ln2kAfFdKSoruvvtuJSYm6vXXX5fVatV9992n7777Tm+++aasVquWLl2qSZMmSTq7h+qzzz6rAwcOqKSkRN27d9fdd9993qCp1ug7JydHK1eu1J49e+Tn56dp06Zp4cKFOnbsmBYsWKCpU6fqjTfekN1u17JlyzR69Oha78c1909NSkpSaGhove3dcccdGjJkiHbv3q0VK1ZowoQJLfdNBwB4BEvtAQCAC1ZWVqaKigpZrWfHtBw/flxr166V0+mU0+m84PZDQ0M1YsQIrV27VmVlZcrNzdXixYuVlJSk4OBgjR07VmvXrlVJSYmys7O1fv36Ots5ffq05s+fr4MHDyowMFDBwcHVM5eqai8qKmqwv7oMGDBAXbp00R//+EeW2asDozYBtEcnT57Unj17tGXLFq1evZrQqRlYTgq+yJN7qDal7+XLl8tsNuv999/Xa6+9pgMHDmjdunWSzv5ObbfblZycrBkzZujpp58+r69z909tqL1z93YFALR9GZB5RgAAIABJREFUBE8AAOCChYeH695779WyZcsUHx+v5cuXa86cObLZbDp27FiL9LFixQo5HA5NmjRJV111lXr16qV58+ZJkh566CGVlJQoISFBs2bNUv/+/WWxWM5ro0+fPrrjjju0cOFCxcXF6Z133qn+47179+4aOnSoEhIS9OWXXzbYX12mTp2q1NRUTZkypUWeLwC0NykpKZo+fbqef/55jR8/XgkJCdq2bZvWrFlTffuDDz6oPv7kyZNavHixxo8fr5EjR2rGjBn6+OOPm91/dna27r//fo0bN07jx4/XmjVrqpeEzcnJ0dKlSzVmzBhNnDhRq1atUkVFhVJSUpSYmKg1a9Zo3LhxSkxM1Mcff6zU1FTddNNNks6+/7/66qu19lfJz8/X0qVLNXbsWE2bNk3r1q3T8OHDm117e8XABPgqT+6h6krfeXl52rNnjxYuXCi73a6wsDDddttteu+996rbueGGG2Q2mxUfH6+MjIwG+3Slvar9U6uW9QYAtG0stQcAAOrUp0+fWssW9enTR3v37q339g033KAbbrihVhu7d++u/rqqrXPbdaVvSQoLC6tzNGVRUZEOHTqkp59+Wmbz2TE1W7du1UcffVRnWzfeeKNuvPHG89qxWq166aWXat1XV3/11R8ZGanLL79cYWFhDT43APBlNUfb//Wvf9WyZcs0d+5cbd++Xa+++qqee+656mWeHnzwQQ0bNkxPPfWUzGazNmzYoMcff1xbtmxpVt+PPPKIQkJCtGXLFuXm5mrOnDm6+OKLNW3aNC1fvlwdOnTQ+++/r+LiYi1atEjr1q1TYmJirZH9f/nLX/T000/r7bff1qZNmzRz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dDqNM2fOGLNnzzYef/xxt/Sfn59vHDlyxLjppptq/eHeFJ7+mQXcpb6BCS2h6sKXw+EwDMMwDh48aAwbNqx6QMGhQ4eM4cOHVx//ww8/GKWlpUZ5eblx8uRJ4+9//3v14029sJefn2/ExsYa6enp1fd9//33xpkzZ4zc3FwjJibG+OGHH6of27lzp5GYmFjddkFBgWEYhvHdd98Zl19+eYM1FBYWGsOHD6/V3ocfftgmgidPXnw1DMNwOBzG0qVLjbFjxxrjxo0zVq9ebTidTsMwmn6x9ejRo7UusP7973+vVUNeXp5x3333GWPGjDGmTp1qvPjii01+jRiY4DsuJHjyVODe1L5bOoBvrL3XXnvNKC0trf4M8CRep5Z/nTz9MwsAF4ql9gAA8FGLFi3Su+++K8MwlJWVpaSkJI0ZM8YtfRcUFCglJUVJSUm6+uqr3dJnWxYYGKinnnpKSUlJGjVqlK6//noNGjRI99xzj1v6//7773XzzTerV69emjhxolv6BNoqdywnVbWnnsVikdlslr+/vyTJbDar5rWqlJQU/eY3v9HkyZO1bNky7d+/X65cy4qPj6/1T5KysrLkdDoVERFRfVyvXr3UuXNnZWdnyzAMRUZGVj/WpUsXZWdnV98OCgqSdHaJ1saWk83MzFRlZWWt9rp2bTvZRFpampxOp7Zv365f//rXWrZsmex2u7Zv365bb7211t6HDz74oKKjo7V161bt2rVLiYmJ1cujNscjjzwiPz8/bdmyRX/729+0detWvffee5Kk5cuXy2w26/3339drr72mAwcOaN26dZLOLqtrt9uVnJysGTNm6Omnn1Z0dLQ2bdok6ezekucu9VdV55YtW7Rx48ZmLePIclJw1c033yyz2azhw4fL6XRq9uzZMpvNiomJqbVP6cqVKzVv3jyZTCalp6crODhYDoej1fvOy8vTnj17tHDhQtntdoWFhem2226r/vmTpBtuuEFms1nx8fG19lmtiyvtTZ48Wf7+/tWfAd6A16llXqeBG1IV9vxh3hsBtGlWTxcAAADcryrIWL16tVauXKmgoCBNnjxZd911l1v6//7773XbbbdpwoQJBBkuiouLU1xcnEf6HjRokPbs2eORvgGcz2QyNXpMXl6elixZoueee04jR46UJO3fv1/bt29v9NyqfSxqqgq7MjMzqwOhnTt3qry8vHrvpYyMDEVFnd0LPT09XWFhYa49oXOEhYXJbDbXaq/mBcu2oKELoKtWrao+buXKlercuXOLXHwtKCjQJ598os2bN8tms8lms2nt2rXq0KFD9cXRd955R3a7XXa7XbfddptWrlxZvc9izYutf/zjHxvsq6ioSMnJyXrrrbeq27v99tu1ZMmSZtUONKYpgfuSJUuUlpamHj16KCoqyuXAvaaa74Ou9N3SAbwr7VXtuepNeJ1a5nXKLK6UTIps/EgA8F4ETwAA+CiCDLhL1ahNx5392s6UBaCNKysrU0VFhazWs3/yHT9+XGvXrpXT6Wz0QlpdQkNDdcUVV2jdunV64IEHlJ2drVWrVmnOnDkKCQnRiBEjtHbtWi1fvlxFRUVav369pk6d2qzag4ODNXbs2Or2iouLtX79+ma15SmeuPha36w0STp27Biz0tCmeSJwb0rfnTp1ktRyAXxLt+cuvE5t43UCAHdgqT0AAAC0KkZtAu4XHh6ue++9V8uWLVN8fLyWL1+uOXPmyGaz6dixY81q87HHHlNeXp4mTZqkG2+8UVOnTtX06dMlSStWrFBpaakSEhJ03XXXKSYmRnPnzm12/Q899JBKSkqUkJCgWbNmqX///rJYLM1uz92acvF1wYIFSk5O1saNGzVz5kyX2t+1a1etf1LtWWlVdu7cqe3bt9e6OFqlpWalVWnOrDSWk0JLaunAvSlqBvAlJSVyOBxNDuCr6i4qKmqR9rwVrxMA+AaCJwAAAABoA/r06aN9+/bVur137956b99www3atm2bdu3apY0bNyouLk67d+9WdHR0rbbObbc+YWFhevbZZ6vDjNtvv73WY88884w+/vhjbdu2TXfffbesVmuDNddXQ1FRkQ4dOqSnn35aH3/8sTZv3qyYmJjqYKW9aM1ZaWVlZcrIyNCqVatUXFzc4hdHa85KKykpUXZ2drNmpTEwAS2pNQL3prjQAL579+4aOnSoEhIS9OWXX7Z4oO8teJ0AAAAAoB5hLxw2wl44bABoXNXPi6d/bgF34PPhwhUWFhqjRo0y3n77bcPpdBpnzpwxZs+ebTz++OOeLq1RR44cMYYNG1brdmxsbL23X3nlFWPSpEnGqFGjjNmzZxu7d+824uLijKNHj9Zq69x265OVlWXcc889xujRo40JEyYYf/jDH2o9du+99xrx8fHGpEmTjN/97ndGeXl5gzU3VENubq5xzz33GPHx8ca0adOMJ554wrjiiiua9P3i88F38N4IuI73RgDtQePz/wEAwHmq/hDIuqOvp0sBvF7nF49Ikhzz+/G7J9o9Ph9axieffKLVq1fr+PHjCgoK0uTJk3XXXXfJZrN5ujTo7Ky0b775RsOGDZPZfHYhla1bt2rVqlXasmWLy+3w+eA7wl44/NngiICY5Bk9PF0K4PV4bwTQHlg9XQAAAAAAADXFxcUpLi7O02WgAYsWLdLSpUs1ffp0ORwOJSUlacyYMZ4uC17KMb9fbLJhMIMDAAAfwR5PAAA0z77BEQGergEAAMDtAgMD9dRTTykpKUmjRo3S9ddfr0GDBumee+7xdGkAAADwAsx4AgCgGRi1CQCox77BEQExni4CaG3MSgMAAEB9mPEEAAAAAC3EMb9fLHuYAEBt4etSYpNPFIlRW0Djvr0lWhbDGuXpOgDgQhA8AQAAAAAAoNU4nc5t127+QdkllZ4uBfB6XQIt2Zl3Rqd7ug4AuBAETwAANAOjNgHXMWoTAAAfZ+iIJL3/faGnKwHagu88XQAAXCiCJwAAmoFRm4DrGLUJX8LABMB1DEzwHYZJr0vSgh2n9cp3ecoqqeR9EviRISmrpFKvfJenm/6Rppyyyqc8XRMAXCiTpwsAAKAtCnv+8F6ZFLt2fBfdMDDE0+XgR06nU5JkNjO2xsvsMZlM7EAPnxD2wuFsSR0P/yZaYTaLp8sBvF22yWQK83QRcIPVhwPCrNotKaauh1+cGKmZ/YOrb8/7IEOvHc5vtFnO47z2eJ4hbcqe3292owcCgBfjqgwAAM3AqE3vdODAAf373//2dBk+j1Gb8GksJwU0BctJ+YqF/UodFRplSPdLxl5JOTUfnrc9Y5aphtcP5Se50izncV47Oi9HMvYa0v3ZFbrNlfYBwJsx4wkAgOZg1KZXntd5zwYZMuQY+RuvrtPXzmPUJnxJpxcOLzVJT0rSmvFdNKV3kMJsFv7w8gIVFRWyWq2eLsOnGZIcJZV6//tCvZtaqOcndrm6U4D1/zxdF+Crhg0b9oGkiYZhJHz++ecfeLoeAED7wd8/AAA01+rDAZ2sWmSScY1k6iepY9VDhjQre36/l6tud37+8MuGSTc11iTnXcB5hlM9/nanJJNOXL9WMpm9s07fOS9HMg4bMr2RXaHfaWG/0sbaB9oFBiZ45Xl+eRnyzzyiwj6jvLpOXzuPgQmAZxE8AQBaC8ETAABoF4YNGzZC0h5JMplMI/bt2/eph0sC4KsYmOB154V+8bYCTh/W6Un3enWdPnIeAxMAL0HwBABoLQRPAACgXRg2bNjTkpb8ePPp/fv33+fJegAA3mPo0KGfmkymyyoqKiK++OILNuACABE8AQBaj9nTBQAAALQAk8lkuqbG7WvEABsAgKSYmJieJpPpckl2i8Uyy9P1AAAAAO0dwRMAAGjzYmNjhxiGEV3jrouHDBky2GMFAQC8hmEYv6r62mw2X+nJWgAAAABfQPAEAADaPKfTec2591kslvPuAwD4pOrPA6fTOalv374BniwGAAAAaO8IngAAQHtwXshkGAbBEwD4uJiYmChJo6pum0ymoJCQkAQPlgQAAAC0ewRPAACgTRs6dOglkgbW8dDPhg0b9jN31wMA8CpX6/w9/xiYAAAAALQigicAANCmmc3mei8gMusJAHxbPZ8Dv4yJifFzezEAAACAjyB4AgAAbVpD4VJDoRQAoH0bOnRohKRxdTzUyWQy1XU/AAAAgBZA8AQAANqsmJiYPpIG1/e4YRhDhg8ffrEbSwIAeAmz2fxL1fM3r9PpZGACAAAA0EoIngAAQJvlylJ6lZWVXFwEAB/UyGfE1ddee63FbcUAAAAAPoTgCQAAtFmuBE+GYcxwRy0AAO9x2WWXdZI0qYFDuhw5cmSUu+oBAAAAfAnBEwAAaJOGDh3ay2QyXd7YcSaT6fKhQ4f2ckdNAADvYLVar5JkbeQwZsQCAAAAraCxX8QBAAC80ueff35MkqnmfcOGDTMkaf/+/aY6TwIA+ASTydRoqGQ2m38labEkZ+tXBAAAAPgOZjwBAAAAANqNSy+9tIOkKY0dZxjGRTExMcPdUBIAAADgU5jxBAAAAABoN77++usCSbaa9w0bNuykpO4VFRU9vvjii5OeqQwAAADwDcx4AgAAAAAAAAAAQIsgeAIAAAAAAAAAAECLIHgCAAAAAAAAAABAiyB4AgAAAAAAAAAAQIsgeAIAAAAAAAAAAECLIHgCAAAAAAAAAABAiyB4AgAAAAAAAAAAQIsgeAIAAAAAtLYgSRZPFwEAAACg9RE8AQAAAEAriYqK+i+73X6RJEVGRj5gs9l6u3hqWGBg4PAmdhcpyb+O++01bwQEBPRpqJH6+u3WrduTNput1483O0RERNwlydRITXZJCg8Pv7lTp07X1rg/opHzAAAAALRRVk8XAAAAAADtVWho6C/T0tJW/vh1YkZGxn9LUlhY2G8cDscrkkrtdnv3Hj16/NVmsw0sLS39RpICAgIuy8/P35aamnqjJOe57Xbo0GFc9+7dH6l5n7+//wCHw5FksViC7Xb7AEkyDMMkyf/QoUMjq47r27fvPyoqKn6QJJvNNrSkpORzm802pKSk5IAk2e32mIMHD15SXFx8okbz9qCgoCt++OGH+3+8XWC1WruEhYVd63A4XpUU+mOd+TVrGjhw4G7DMPIsFkuXysrK0126dJlX1e/hw4cnFBUV7WvmtxYAAACAlyJ4AgAAAIAWEhoamhAVFfWkYRj5khQQEDBwwIAByZJks9l+XvW1yWTqYDKZjKysrA3FxcWnDh06NGbAgAEfHjx4cJwkDRgw4MOysrKUquMlyWKxhKelpT2ZnZ39ckFBwc6DBw/+QlLegAEDPpSkL7/8soekCkmBkkolVVa1VbPG0tLSE0eOHJkoSf3799916NChcTX7Hjhw4GfnhE7q1KnTfzgcjg29e/d+JSAgoJskWa3WrhUVFZMjIiLmW63WXgUFBcnHjh279ZxvSVlVuzUNHDjws6Kiov1N/gYDAAAA8HoETwAAAADQQnJzc7fl5uZuq7rdvXv3Z06dOrVEkrp167byhx9+eKC+c20225CaIdGpU6ceDAkJmZKXl7dFknr16rWpvLz8wI8PO/v06fOK1WrtYLPZBksyXXbZZalHjx6dWlhY+GXNdn+c9VTNz8+vS41+KgYNGnSsvLw8teo+i8USqrNL6BlV53Tq1Onao0eP3piVlfW6pGKdPwsrUlLGuc/JbDZ3ODf4+vG5DqjZPgAAAID2g+AJAAAAAFpQQEBAP7vdfonJZHJardaOOru3rjMwMHBQUFDQzzt06DA1IyPjaf04I6lKSUnJgZozniQZVqs1pEa70QUFBV9V3bZYLIEHDx688uKLL37Vz88vRJIKCwu/tNlsvUtKSr6v0bSl6ouOHTv+wul0ZtXs12Qynft3odNms0WXlJQclaSgoKAhHTt2vDogIKB7aWnpyf79+39gMpnMNc63STJ/9913EyQV1GyooqIi59ChQ+PO/R4NHDjws/q+fwAAAADaNoInAAAAAGhBpaWlh8PCwmbb7fafHT16dEbV/WazOaSwsPCLTp06zQoPD59z5syZv0gqa6itioqKPLvd3l2SpbS09FDNxwzDqAwKCupXVFT0WWho6ISq+3v27LnJZDJVh1o1g6WcnJx3cnJy3uvXr98Ws9lsNQzD6nQ6C2s06//1119fVrOuzp07/2dRUdHe0tLSFEk6dOjQBNVmDggI6KtzQidJslqtHRuY8VRrVhUAAACA9oHgCQAAAABaTmTHjh3j0tLSfn/xxRevCw0NnREVFbXEMIwSm802uH///h+bTCZzWFjYrwMCAnqdOnVqWdWJ5y61J0l5eXl7wsPDrzWZTPbs7Ow3aj5mGIYzKChoSnp6+vNhYWEz/fz8Lvrx/opDhw6Nr3Fozb/7DEkVFoulw3fffTfi3OIHDBiwWzVCp+Dg4PisrKyXAgICLvnxrrCBAwe+73Q6i0wmk/FjfxbDMCoOHz58jSRHzfbqmE1Vk58aCd4AAAAAtD0ETwAAAADQcrJzcnL+V1Kwv79/b4vFYvnuu+9GSyrv379/cnp6+jN5eXnv1XViHUvtSVKuzWYbEBAQ0D8lJeWac04xTp8+vVFS1jfffDOo6pyqQKiGinP7slqtXeuaiWQYhrnm7fz8/AOqPZPJkZqaekNpaemRmscFBgYO1TmhkySdOXPmxYyMjN9L6tK5c+crs7KyNkkywsLCZuqcpQYB+LwgSSXivQEAgDbP3PghAAAAAAAXlUmKvOiii1akp6c/4e/vP1BSuSSz0+kss1gsHSX513WiYRhmf3//Szt37jzbarVGdezY8WpJYeXl5VklJSWHdX6AZBowYMBrAwYM+HDAgAEf2my2IZJMTqezVvDUqVOn6y/g+Zy3fF7v3r2Tqvqs+te3b98tkgJrHhcQENA3IyPj93379v3/7N15fCR1nT/+V/VVVV3dnT7SnUzSSWdm+ghzMRNQQVFHxS/gd5VDWBdF8UJ3GXX9IrqLiqB+1/tkgZ9fr/XEE3dXBUEQR0BZLxiGCeSaZNLTudPpu6u6k+76/ZGusWiSzKCBGZjX8/HIY6o+9fnU59MFOare9fm8fwkgJ8vy9mAw+E4AWFhY+KGiKC8B70npBLZhw4YPyLIcBoC2trZrJEnqOcamfqfT+Zwn25/H43mFLMtnrlXH6XSettbxlpaWl+OJP2PcABCJRL7m8XjOAQCfz3dpe3v7e1c7j6IoL8Pjv6cVHMP3a0dHxyckSYo0dl2N73nhKM1kAGhtbb3M5/NdYioPHq0/IiIiOjFxxhMREREREdE6kSSpx+FwbE2lUleJohhTFOUFAOByuV5YKBT2qqr622AweMXc3NxNRhtZlru6urq+W6/Xc4qi7Eqn07e1tra+uTFzSnQ6nTutVmuLoig7S6XSPlN3gjFDCjgyS+oJD4aDweCeTCbzQwB1o2xpaWna3NYQj8fvP9pnrNVq2ZGRkXPMZY2+y+ZL0dra+o8TExNXW63WFgCVVCr1SUmSPADg9XovWFxcLG7atOmH5jxYRCeSlpaW86empj7e2D5vZmbmkwDg9/vftLCwcAuAiizLnV1dXd+TJKm3Uqk8CgCiKG4vFAp3jY2NvRam77sVBACkjZ18Pn9vIpG4c3Bw8AWNoqDb7Y4XCoXfGnW6urpuwHIwGwAgSdIOTdP2m/Z3DQ8P7y6Xyw8ZZaeccsq9jz32WJ/D4Yjk8/k7geWfSfl8/j8bVQRJkno0TRsz2nR2dl4/MTHxjlKp9LBR1tPT853Z2dnPl8vlP67yeWRFUZ43OTn5r439os1mC/n9/ksWFhZ+CKClcT0K5ka9vb2/1XU9b7VaQ7VabTYUCkm6ErYAACAASURBVP2j6bO8tFwu/3mNa0hEREQnIAaeiIiIiIiI1ommaYc0TTsEAJIkdS8tLc0BsASDwSvGxsbeCSATCoW2ezyec4wHwKqqHh4fH39LpVIZbpzGYix519HRcc3k5OQHrFarGolE7lhYWPjazMzM17A8E8lqXi6vMePJAqAqimK8UqlMArCJorjJ6XSean4QvcZSe1ZjDFjlgbnVanWt0PZxMywikciXNU17DAAsFotxbF7TtHkArS0tLX83Pj7+VgBvX/1qEj29WlpaXr5hw4ZP6LpeAABRFHsTicQ9wHKAx9gWBMElCIKeTqe/oarqxNDQ0IsSicRe81KZ1Wr1oFEfAKxWa+vU1NQnMpnMd4yy7du391er1QHzGARBEI3vL5vN1gFA6O/vfy6ADADoul4bGhrabdSPRqN3jIyMnGvsx+Px+83f6wCwuLg4t9xUP/I97XK5zpJleWt7e/sHBEHwWK1Wd39//w4AamMcNZvN1iZJUsTn813m8XheLoriKX6//9JSqfSber2+ODU19X+LxeJvjHP6fL4LFhYWvtHT03OLKIodjc/QvrS09L+CweCVNpstUiwW7xkfH39L06WvrhQI7+3t/VO5XH5wlf9cREREdAJj4ImIiIiIiGgdSZK0qbW19V2Kopw5NjZ2eXt7+wcnJiY+hsaD42Qy+d54PP4Ll8v1gsnJyQ8BgCnoBCzfp9l9Pt+l6XT6lkqlchAADh06dF4oFPqow+GIVKvVfovFYh8cHHyR0Sgajd4OwDI7O/uFzs7OTwqCYAeAUqn0B6vV6vJ6va9qa2v7AABVEARppbGLotgTj8fvtdvt7cPDw68yHopbLJYj947VanVsbGzsMnO77u7ub5j3x8fH3wdgBgAKhcJd0Wj0duOhtyAI1mKx+GsAGB0dNS+rRXRc5XK5u3K53F3Gfmdn52cmJiauBoCOjo6PT05OXrNaW0mSdpoDshMTEx9sBJjvAIBIJPLtxcVF84xFVKvV8ZUCLkfRnMPtyag3xhoplUp/npub+6CqqtMw5VTasGHDRz0ezwslSdrZ1tb2IU3THgGw2DzOjo6O6xcXF1PmMp/Pd8no6Ohr0+n0j7EcwGoOXreh8XPBzGKxrBTMhiRJCfxtn5eIiIiOEwaeiIiIiIiI1pGmaaMLCwufSqVSdVmWN05PT38Cy7mfDIWhoaGXYPX7sXoqldpTLpeHYMqxpKrqxPj4+JuN/aGhoVeZG42MjFwAoJrP5+80ZlM1sWaz2TuaxnJMDh069DZjuznoBADJZPKNTUXTxkYqlXrfk+2P6HgRRTEmy/IWQRDqNpvNi8bsP6fTuU1RlB0ul+sVMzMzn4YpWAMAmqbtM894AqDbbDaP6bwbi8XiAXObRjC2HcACgKrP53tlJpP5mXG8vb392mKxeK95VpEgCHrTTMcdTfvbmz+T1Wo1Zh1aAFhaWlounJ2d/aimaflIJPKV8fHxf0Zj+bupqalrp6amkEgk9g4NDV2ARuCns7Pzs/l8/ie1Wk0DYEmn098xguIAoCjKTq/Xe6Eoip2VSiUVj8fvFgThyNKfjWC3ZWBg4KVoyh23tLSUNc/iMvT29v6puYyIiIieGRh4IiIiIiIiWmflcnkSABqzCVayCFOeliZLx7i8VLZp/2gBpRqaHpYfq0qlMvTXtCN6pqlUKsN+v/8NsiyfYs4/ZrFYPKVSab/P53t9a2vrW+fn5/8DR/meW1paysuy3AnAutL3kCAIOoB0KBR61+zs7GdrtVqtpaXl4lwu92MA8Hq9r87lcl83t9F1vT40NPRSY3+lpfZW6Edq/GtpjCWpadooABSLxV+Hw+H/m0ql/rm5nSzLpwiCoMmyvENV1X4j11RbW9v7nU7nFnMQOhAIvLlcLv/RCEaZx2hcQlEUo2gKOgGAzWbzrjHjSQBnPRERET3jMPBERERERERERAS0eb3e509NTX1x06ZNX2ppabl4w4YNV+u6rkmSdGo8Hr9PEASL3+9/oyiKkYmJifcbDZuX2gOAfD7/QGtr6yWCIMiZTObWpr5sWA6oLNrt9oAsy2fk8/k7t2zZ8nAul/u5KIrdxWLxLlVVJ/7WDzUwMHAhAGiaNgAA2Wz2J8axdDr9A4/Hs2DsOxyOLYFA4CKHwxGzWCwKgFKhUPhDtVp9zPS5fuV0OncAsANYdLvdZ6XT6a+KorilUcXf29t7Z71eLzeCa9B13arr+tLw8PCrsTzD6whBENZ6NmXHXzFLk4iIiI4vBp6IiIiI6Klix/LsiuYcD0RERCeiTDab/U8AbofD0WO1Wq0DAwMvBLAYj8fvmZ6e/kw+n799pYYrLLUHADlJkhKiKMYPHjz4anN9WZY3LC4uTgPAwsLCTzs7O68bGRk5r1KpjLtcrjMURTkjlUp9trkfu93e/WSX2ovH4z8SBGGpMba7zMd0XRdEUYw+8sgjCQDFcDj80Xw+f0e1Wh0ulUp/ApCNRCJfkyRpsyRJuzRNewgA0un0d9CYtVkoFPbh8TOZFsbGxi6tVCoj5r6cTucuNAWdAGB+fv7/m5mZ+SKAUCAQODedTn8bgO73+/8ef+UsTSIiIjq+GHgiIiIiolXJstytqmoSACRJ6tE07ZC5TBTFaPODJYPf779IUZQXHj58+B2mYjcaeSRM2mHKBwMAjYTsewFU1hieAqBkdIflh1k+ABnTPhER0bGqAmgLh8PXTE9Pf6wRxFkEYKnX61Wr1eoF4MAKM3B0Xbc4HI6tbrf7NJvNtsHr9V6YzWZ/s7i4mNZ1fRjAkrm+1WrdWCqV/gwAqqr+2WKxuABgbm7upmKxuE9RlDPQ9LsRgFStVg8NDw+fbRREo9E7R0ZGzjH2V1pqT9d1dWho6OXAclBscHBwt/Fvo+x3aASORkdH3wCgFAgEXme0Hx8ff4tx7pVyMWGF5fN6enq+C0A1l4mieMr+/fs3AiibyqIzMzNfjEajvxwZGXmlLMvbg8HgO+fm5m5YWFj4oaIoZ5dKpXvAl1iIiIieURh4IiIiIqJVxWKxP1cqlX5d1wVJkrbu37+/OxaLPVSpVB4BAEmSTk0mk1dmMpnvNbdtbW3dY7FYXMab2IIgSLqu1wcHB8+C6QGSoihtbW1tXx4dHb0EjUDT0tLSXG9v7+8HBgaeg1Xy4ESj0f80EqbbbLZwf39/dNu2bQ8vLi6OiqK4dXh4+FWqqj6w3teEiIienSRJ6nE4HFtTqdRVoijGFEV5AQC4XK4XFgqFvaqq/jYYDF4xNzd3k9FGluWurq6u79br9ZyiKLvS6fRtra2tb27MnBKdTudOq9XaoijKzlKptM9opyjK8wuFwi8au4tDQ0PnAUA+n7/d4/G8Ip/PfxeAw+12P69QKNwHAG63u69YLO41j7mRt2lNuq4fLWhjDqSVVq31JNRqtaw5IAYcmQlWNhVJra2t/zgxMXG11WptAVBJpVKflCTJAwBer/eCxcXF4qZNm35ozrdFREREJz4GnoiIiIhoVeVyef/IyMjLgL88MNI07YDxxnMsFvt1JpP5cXM7r9f7qlqtlj906NDbqtXqAACEw+FPFgqFP6DpreVSqfTw0tLSlCRJ7ZqmlQDMl8vlB7PZ7C1ovCHeeGA3CNPb0xaLxda8rJGmaY+OjIycm0gk9qqq+j/rfDmIiOhZTNO0Q5qmHQIASZK6l5aW5gBYgsHgFWNjY+8EkAmFQtsbs3LvBABVVQ+Pj4+/pVKpDDdOY9F13QIAHR0d10xOTn7AarWqkUjkjoWFha/NzMx8DUDRarV67XZ7a3NeKACwWq1ttVptxmaztdvt9u6RkZHnFovFA263+5xMJvNlc11BEBxN+/a/5rPLsvw8VVWHsDxrGLquC2vVd7vdZy0tLY2tloPKarW6VvhsjxtrJBL5sqZpjwGAxWIxjs1rmjYPoLWlpeXvxsfH3wrg7U/+ExEREdHxxMATEREREa1KEISV3pKuAZAALFosFieeOCPJ5/F4Ljx48OBFwWDwilwuZ3E6nb26rtdyuVxzcnUAQDKZfLuiKC8LhUKn+ny+VxnlLS0trwAASZL60un0l1Kp1PuMY8fwBrd+LJ+RiIjIIEnSptbW1ncpinLm2NjY5e3t7R+cmJj4GBoBmWQy+d54PP4Ll8v1gsnJyQ8BgCnoBCw/Z7H7fL5L0+n0LZVK5SAAHDp06LxQKPRRh8MRsdlsjoWFhS9rmpbM5XK/B5A/hqG5qtVqqjnQs7S0tAAALpfrpW1tbe+x2Wxe45iiKNu7u7u/W6/Xi6YgkKOx7TCXdXd3fy6bzf5I07TDLS0t58qyvAOAtnHjxu/b7fZOQRBqAJbMwaR8Pn+Xqqr/ZuxbLJYjz5iq1erY2NjYZeaxdnd3f8O8Pz4+/j4AMwBQKBTuikajtxu/2wVBsBaLxV8DQGNGNBERERERERHR06+vr0/v6+tjsGEdbd++/XAikdhrfAFANBr9FQBPJBL5akdHx4ebmlgCgcAbsByYAgAhGo3evnnz5v9a6fw+n++1DodjCwD4/f5LADgBiADQ29u75oylWCx2t7FtGtsdxr4sy90ArE/qAxPRs1JfX1+qr69P37FjR/h4j4VOfE6nswNAuyzLZ6Jplk6DHYC8SnOb0+nsA+B6Csa05iwkLI+582/ty+VyvTQYDL7rybYTRTH+t/ZNT6++vr67+/r69F27dp199NpERETHjjOeiIiIiGhVqqo+auRoMII7sixvSSQSP21s7wCAycnJ6xpN6ul0+lvA8vJ4gUDg7ZlM5vv1er2+cePGHxQKhbuLxeKvNE0bA6BnMplfbNu2bd+BAwdO1XXdjsfnfliRy+V6UWdn50ckSTrVGJMkSTsTicReSZJ2NP7dGYvFHpqfn7/RNDYiIqKjKpfLkwCgqur0KlUWsUr+QQBL5XL5wadqTEcxrarq0WsdRbFYvKdYLN7zZNtVKpWhv7lzIiIielY4ahJKIiIiIjp5SZJ0inm2EwBomtY/PT39scHBwd2lUul+VVUHTU1Er9d7fkdHx8clSdqZTCY/EggE3prJZL4zNjb2egAIh8M3btmy5VGXy/UiAJnx8fFLfT7fuaqq/naVYfi8Xu9Fxk6xWPzt4ODgOeVyed/g4ODuwcHB3Zqm7WuM5/fG/v79+wMMOhERERERERE9vTjjiYiIiIhWpWla/8jIyHnAX2Y86bouNGYnuWRZPv3w4cPvN+oHg8G3aZr2kNPp3OV2u88MBoN77HZ7u9HW4XBsPnTo0GsKhcLvjDaFQuF3XV1dF2cyme8Hg8F3+Hy+1wmCUBFFcYvRrlarqdls9h4AWSznmKqtkOPJput65am7GkRERERERER0NAw8EREREdFqPEbS8mb5fH5vd3f35/P5/G0ANKN8bm7u3wGgUChcCiAbDAavrFQqY/l8/nYA6OnpuaVQKOw3ncrtdDoTuq5bGu1vnJubuxFYzvE0ODi4e5WxOQA8LsgkimJE07SDf91HJSIiIiIiIqL1wKX2iIiIiGhFLpdrV7FYvK+5XBAEC4Cyw+HYXC6X963SPANAdLvd5+Tz+TuNQpvN5gNQNPYdDkdnd3f3/ysUCk/oZy1ut/u5hULhTnOZKIq9T0VeDSIiIiIiIiI6dgw8EREREdGKXC7Xi+fn57+vKMoOl8u1zVjaThAEayAQuCyVSr21paXllT09Pbd4vd7zAVhNzZVwOPzJ2dnZ9wOwN75cAARzH9VqdaBSqYwsLi6OrjUWp9P5HKfTebppbOfOzMx8VZKkHlmWz6jX67rL5XpeJpO5HVheDnB9rgIRERERERERPRlcao+IiIiInkCW5c5isbgXQLZUKi329PTcnE6nvwUAgiDY0un0LwDMHz58+B1er/cCTdMexnLuJavH43m5w+HoTqVS1wLIA5BCodC72tra3p1Kpd7b3JckSfGlpSWtvb39Oo/Hc64gCBUA0HVdM3I8AYCqqoPJZPJPiqLszOVyPwFQ0jRN3bBhw2XZbPY/6/V6BsBSR0fH9Xa7vfOpvkZERERERERERERERPQs1tfXp/f19enHexwngbVeXgoCcK5yrHWlQlmWOwFIT6L/llXOYbDJshx+Eucjome5vr6+VF9fn75jxw7+bCAiaujr67u7r69P37Vr19nHeyxERPTswhlPRERERPRkLa1xbG6NY/MrFaqqOvEk+88d5RxLqqqmnuQ5iYiIiIiIiGgdMMcTERERERERERERERERrQsGnoiIiIiIiIiIiIiIiGhdMPBERERERERERERERERE64KBJyIiIiIiIiIiIiIiIloXDDwRERERERERERERERHRumDgiYiIiIiIiIiIiIiIiNYFA09ERERERERERERERES0Lhh4IiIiIiIiIiIiIiIionXBwBMRERERERERERERERGtCwaeiIiIiIiIiIiIiIiIaF0w8ERERERERERERERERETrwna8B0BERES03nbv3i0d7zEQEdGJYW5urn68x0BEREREdDJh4ImIiIiedfL5vHq8x0BERCcGURSPbNtstkN9fX3HcTRERCcU6/EeABERPTsx8ERERETPJr8E8OLjPQgiIjphiE37fMhKRPR407qujxzvQRAR0bOLcLwHQERERERERPRU6OvruwzAtwFA1/Uhp9N5ut1u56xYIqKGvXv31gFwSVIiIlpXnPFEREREREREz3oPPfRQLwD9eI+DiIiIiOjZznK8B0BERERERET0NGDQiYiIiIjoacDAExEREREREREREREREa0LBp6IiIiIiIiIiIiIiIhoXTDwREREREREREREREREROuCgSciIiIiIiIiIiIiIiJaFww8ERERERERERERERER0bpg4ImIiIiIiIiIiIiIiIjWBQNPREREREREREREREREtC4YeCIiIiIiIiIiIiIiIqJ1wcATERERERERERERERERrQsGnoiIiIiIiIiIiIiIiGhdMPBERERERERERERERERE64KBJyIiIiIiIiIiIiIiIloXDDwRERERERERERERERHRumDgiYiIiIiIiIiIiIiIiNYFA09ERERERERERERERES0Lhh4IiIiIiIiIiIiIiIionXBwBMRERERnejs4N+tRERERERERM8IvIEnIiIiImzYsOEDsiyHAaCtre0aSZJ6jrGp3+l0PudolWRZ7ja2jXOby0RRjK7agd9/UVdX1w1Nxe5jHF8QgMe079i8efPPAThWqW8Nh8OfXuM4ERERERHR08a4T1vJsdy3tbW1vdvpdHYcrV44HP60JEmbACAQCLy+ra3tn4/WRpKkTeFw+FMAEAqFrgIQOFqbFdicTudzOjo6rlcUZftKFTo6Oj4B0z2gLMvP8/l8r/wr+qKnie14D4CIiIiIjr+Wlpbzp6amPt7YPm9mZuaTAOD3+9+0sLBwC4CKLMudXV1d35MkqbdSqTwKAKIobi8UCneNjY29FkB9tfPHYrE/VyqVfl3XBUmStu7fv787Fos9VKlUHgEASZJOTSaTV2Yyme81t21tbd1jsVhciURiLwAIgiDpul4fHBw8y9xnd3f3l2RZ7jW3tdvtm/L5/K+SyeSbGkWLdru9FUB1laHWXC7Xi83HfT7f6zKZzH8DKK55EYmIiIiIiNZZLBZ72LhvMmvcW23Zv39/BEB5tfYej+f8mZmZG4/Wj6Ioz0mlUu9tbL8sk8l8+WhtgsHgVZlM5lYA0DTt0WAweOnc3NyNjXPsLJVK+0zVvS6Xa5fNZnMLguCRJClitVpD9Xo9s7i4mC6VSgcAWFcY105JkiIACkaZqqq/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+/LLL+H3+w97bP369cOchhRis1gsUyVJqne5XKtbWlr+6PF43kHPjBYAiHm93g+dTueZPp8vXqqRMUmS1gJAIBDYpdfrcx0Ox/ri4uJNBoPh5P57EuXl5f1Dp9OVKB04DngOfF3QEDGZTNPRs1QhACQnJSVdqWQeGjotLS0H/fL5fLBarTj99NOxcuVKhEIhuN1uPPfcc7jwwgthsVgwc+bMvmMej+egZe5aW1txww03wOl0wmg0wmKxwGrtKdJpND0LqAWDQUQiEXR3d/e11dXVYeXKlYjFYojFYkc9z2hTsroaSasqmlKerE4fuPfYwMITERGNGO4bipLLf5Gn2PUrKyvxox/9CE8++STOOecczJ49Gx999BH+8pe/9D1ft25dX/+GhgbceuutOOecc3DGGWdg3rx5B23Ieax8Ph/uuusuzJw5ExdddBGefvppTJs2bVDXW7hwIQBgxowZqK2thdfrxa9+9SucffbZOP/88/s28Lz88svxwQcfAAAkScIPfvADvPHGGwB67kA+66yz0NjYeNRr3X///XjwwQf7csViMcyePRt79uz5zq/9+4pEZciAqFgAIiIiGpSjFZc+//xzBAKBYUxDx8POtjDu2dI+OXll+eQjdPH4fL5PATQNcCoZgG9o0x03YkFBwZa0tLT7MzMzH1er1QVOp3N6e3v7H6LRaN9r6O7u7iwtLT0jEomUKhk2DglKB4hDSf0Lng6HY5Moiif2e/6GzWb7bwBJSgel7+/CCy886NdTTz0FAHjwwQcRDocxe/ZsXH755ZgyZQquv/56AMBvfvMbhEIhzJ49GwsXLkRxcTHU6p4bgQsKCrB48WLcdNNNmD59Ot555x08/PDDAIDMzExMmjQJs2fPRlNTE26//XbcfffdmDFjBu69915cc8010Ov1qK2tPep5aPTjHk9ERET9NDU1IRaLYf369Xj11Vdx99134/rrr8f69euxZs0aPPHEE/jhD38IAPj1r3+NyZMnY8WKFVCpVFi9ejUefvjhvsLOser9AeyDDz5AIBDAzTfffNDxo13vpZdewmWXXYbNmzcDAG677TZoNBqsXbsWnZ2dWLRoETIzMzFjxgx8/vnnmDNnDr766iuo1Wps374d8+bNw9dff42MjAxkZmbiqquuOuK15s6di1/96le4++67oVar8fnnn8NkMmHChAnf40+e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f/0g3/gn7qZXX31Vr776ql555RW9+OKLmjFjhm655ZY9fp2RpO43kboPRVJy4/pUI21c39DQoPPOO0+lpaV64okn9Prrr+u+++5TW1ubvvrVryoUCk3uCwEmwSmnnKK//vWvqqur09q1a0f8Tf8FCxZoxYoVevnll1VeXq7S0lJJ0qJFi3TxxRcPnWez2XTYYYfpyiuvVF1dnSQpEAjIYrFo69atQ+eNViTZn5188sk66qijdPvtt6u/v18+n09HHHGE7r33XiUSCXV2durKK6/UkiVL5Ha7ddJJJ+knP/mJIpGI2trahjp4hmtubtbll1+uuro6uVwuZWVlDXVV7UvG+5zm5ORIkpqamobGtm/fLr9/7P9f9vv9slgsO8W1tLR8pHnffPNNzZkzZ8xrLly4UM8///yYue1JL7300i7/jNT5u3btWn3ta1/TZz7zGV1//fX6xz/+MbQkXbJ77pVXXtFZZ521yzJ8I0kWnvPy8obGysrKlJubO+Z8qR1/8+bN07x587R48eKh4tJYeSYlP+dj5ZDk8XgkDRQle3t7J/y+Ath9FJ6ANOFmPPYbhm5e9BafdQAAppr2y6uuWHRM3vgnfgQ2m02f/exntWbNmqGx8faVkKT7779fxx9/vE444QTdeeed6unpmdDxtWvXDi3NmboPRfJGeHLj+lTJjetTLVq0SOecc44uvPDCod9mLykp0W233abp06frl7/85Ud9a4C9Lj8/X3PmzNGNN96ok08+WVardZdzgsGg8vPz9cADD+y0vNiJJ56ot99+W/fdd586OzslDdygf/jhh/XpT39a0kCXyYIFC3TPPfeou7tbHR0dfFdGce2112r9+vV64oknJEm33Xab2tradOKJJ+r0009XWVmZLr30UknSDTfcII/Ho1NPPVULFy7U0UcfPeKcM2fO1GWXXaZvfetbOvLII/XUU08N7Wm0Lxnvc+r1eocKdbFYTG1tbXrwwQd32QdquKysLM2bN28orr29faeOl92Zt7+/Xy+//LKeeOIJffWrozc4RiIR/f73v9fs2bN3812YXKFQSFdddZWuuOIKLVu2TL/61a901llnDR1P7Z5btmyZFixYoJtvHnsBhmTnXmox7+WXX9aLL7445nypHX/JQtnTTz+te+65Z9w8dycHAHsfhScgXbgZDwAAgI+5cDis3/72tzr00EOHxm688UZVVFRo6dKlevXVV7VgwYJdbo6uWbNGTz31lH7729/qvffe2+Xm9XjHJemRRx6RNNCBNW3aNEkT27g+FArpH//4h04//fQRX9OZZ56p5cuXf4h3A/uD3MX15//v6qnbEXf66adr3bp1+uxnPzvqOaeccorWr1+vk046aWjs0EMP1X333af33ntPZ5xxho455hhddNFFqqio0A033DB03vXXXy+/36/TTjtNZ511loLB4KS+nqlu5syZIy4Nmp+fr5dffnnoJrrf79edd96pl19+WS+//LJuvvlm2Ww2SZLT6dRNN92k5cuXa+nSpbrooouGlgUdPv8555yj5557Tq+//rqWLFmi2travfAq97zxPqe33Xab4vG45s+fry996Us67LDDdMkll4w77/e//33FYjHNnz9fX/nKV1RdXb1TYWu8eY8++mgdffTRmjdvnh566CHdcccdQ3sHDT/nmGOO0emnn66urq691vU7UYlEQr29vcrIGNiBZdOmTbr33nvV39+v/v7+MbvnkjGRSGSnOX0+nz75yU/q/vvvVyKRUFNTk+6++25Fo9Ex5xur42+8PIcbK4fJsnJHXLf9pfUQ309XV0zaRYB9FHs8AQAATGHJDlmW2wOwr5g3b55M01QikZDT6dT8+fOHNv2Wxt5XIuk73/mO3G633G63LrzwQi1atEiXXXbZhI+PZiIb1yeX/QkEAiPOUVhYOOnLhwVcVj33heKW+U9uOnVSL4Q9zjSMh65Y3qyza6bGEmfDCxMLFizYqZNp5syZO+1tJkkFBQU6/PDDd1li7LDDDhvqKByNw+HQDTfcMFSMWrt2rX73u9+NmAuQtLufU7/fr7vuumvceVLjIpGI6uvrdeeddw7tL7R06dKd9mSa6LwTeQ3pMlJH3FFHHbXTUpmBQEDf/e53df311ysajWrmzJm65JJLdPXVV2vjxo07dc+Fw2FVVFQM/YLI9OnTNWfOHM2fP1833njjTte5/fbb9YMf/EAnnniiMjMz9aUvfUmnnXaaJI06nzRQ8PvhD3+oE088UZJ0wgkn6NJLL5XNZhszz5GMlsPatWs/2hs7ioffD+nhVZ2XWqyWdyTdPykXAfZRFJ4AAMCIgjk2FbkzPtge6WtOdy77tcEOWQpPAPa03Psarvjle526cA/v85S8iffPf/5T3/3udzV79uyd9hlZ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","width":1694,"y":-30,"x":-30},"elements":{"page":{"showGrid":true,"gridSize":15,"orientation":"portrait","height":1154,"backgroundColor":"transparent","width":1656,"padding":20},"theme":{"linker":{"lineStyle":{"lineColor":"50,50,50","lineWidth":2},"fontStyle":{"bold":false,"color":"50,50,50","fontFamily":"Arial","italic":false,"size":13}},"name":"normal","shape":{"lineStyle":{"lineColor":"50,50,50","lineWidth":2},"fillStyle":{"color":"255,255,255","type":"solid"},"fontStyle":{"bold":false,"color":"50,50,50","fontFamily":"Arial","italic":false,"size":13}}},"elements":{"16e63c77c26192":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"OSS"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c7840cb7a","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c7840c92b","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c7840c05f","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c7840cea4","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c7840cbff","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c77c26192","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":1006.0228639941449,"zindex":99,"x":591.4492437713772}},"16e63ca7d8c222":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"电脑"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63ca824d1db","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63ca824d7e2","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63ca824df8d","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63ca824de58","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63ca824d1eb","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63ca7d8c222","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":493.8465358804207,"zindex":106,"x":115.75164153271604}},"16e63bb3924bfa":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"Logstash"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63bb3924367","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63bb3924d9f","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63bb3924c1f","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63bb3924293","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63bb3924f31","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63bb3924bfa","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":675.6431801044045,"h":40,"angle":0,"x":1434.5748253395864,"zindex":74}},"16e63dbd07c005":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"异步通信"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63dbd6bd199","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63dbd6bd7e9","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63dbd6bd13b","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63dbd6bd9d6","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63dbd6bd3f1","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63dbd07c005","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":22.500000000000227,"angle":0,"h":108.59949803886639,"y":839.2857121058872,"zindex":126,"x":767.8398361206052}},"16e63b48a2ffba":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b48a2ffba","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":616.7112562158545,"zindex":66,"x":1005.5065427449383}},"16e638c4c2a301":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e638c4c2a301","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcba878e4b04c4c38241b9c?e=1573631625&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:TBR7yli2kgdtq1e-3XD-AbigAm4=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":45.025001525878906,"angle":0,"h":50.12499809265137,"y":214.23341117239673,"zindex":27,"x":565.8857794592561}},"16e63c3b438aec":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c3b438094","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c3b438628","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c3b4380b5","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c3b438d9","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c3b43893f","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c3b438aec","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"圆角矩形","category":"basic","name":"roundRectangle","path":[{"actions":[{"action":"move","y":"4","x":"0"},{"y1":"0","action":"quadraticCurve","y":"0","x":"4","x1":"0"},{"action":"line","y":"0","x":"w-4"},{"y1":"0","action":"quadraticCurve","y":"4","x":"w","x1":"w"},{"action":"line","y":"h-4","x":"w"},{"y1":"h","action":"quadraticCurve","y":"h","x":"w-4","x1":"w"},{"action":"line","y":"h","x":"4"},{"y1":"h","action":"quadraticCurve","y":"h-4","x":"0","x1":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":103.88922113155456,"angle":0,"h":114.5,"y":942.2159837534418,"zindex":92,"x":861.949769628325}},"16e63b98cae49a":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b98cae49a","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb4a0e4b0e3a6348d4fea?e=1573634736&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:OUliLefPbC_V-yZXLym1OSOu0vA=","display":"stretch","type":"image","imageW":0,"imageH":0},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":0,"y":546.0999984741211,"h":0,"angle":0,"x":852.1000001430511,"zindex":69}},"16e63bc6ad2eed":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63bc6ad2eed","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbab0ee4b0a602173633d9?e=1573632286&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:xCZUfiNj_5c_wBHBIFENS5dvBkY=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":461.1957767200808,"zindex":77,"x":1488.399423532755}},"16e63c7e19b17c":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"对象存储"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c7e7cc657","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c7e7cc508","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c7e7ccfa9","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c7e7cc6e6","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c7e7cc7ce","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c7e19b17c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":1080.6690947289574,"zindex":100,"x":587.4739368426617}},"16e63942c5b4f":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63942c5b4f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbab0ee4b0a602173633d9?e=1573632286&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:xCZUfiNj_5c_wBHBIFENS5dvBkY=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":246.74999361736292,"zindex":40,"x":842.0944881670624}},"16e63782196ee1":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"网关服务集群
(Spring Cloud Gateway)
"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e6378219680b","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637821968ef","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637821963b","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637821964b2","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63782196302","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63782196ee1","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":259,"angle":0,"h":27,"y":413.60446194240023,"zindex":2,"x":325.19761086544054}},"16e637d71b9141":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e637d7a91b3","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637d7a91ac","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637d7a916fc","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637d7a919a7","category":"default","name":"连接","value":"","type":"link"},{"id":"16e637d7a91258","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e637d71b9141","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":204,"y":118.27460031930084,"h":188,"angle":0,"x":1146.340569232288,"zindex":9}},"16e63ebad5c415":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"全局事务控制"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63ebad5c684","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63ebad5c435","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63ebad5cf7b","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63ebad5c96d","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63ebad5c3ff","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63ebad5c415","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":774.8259004865374,"h":40,"angle":0,"x":444.3679212264856,"zindex":148}},"16e63b349f2345":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b349f2345","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":614.2315294896939,"h":40,"angle":0,"x":781.3398361206055,"zindex":61}},"16e63f29c835c7":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63f2a8e09c8","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63f2a8e0996","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63f2a8e0568","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63f2a8e0a37","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63f2a8e0bfb","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63f29c835c7","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"圆角矩形","category":"basic","name":"roundRectangle","path":[{"actions":[{"action":"move","y":"4","x":"0"},{"y1":"0","action":"quadraticCurve","y":"0","x":"4","x1":"0"},{"action":"line","y":"0","x":"w-4"},{"y1":"0","action":"quadraticCurve","y":"4","x":"w","x1":"w"},{"action":"line","y":"h-4","x":"w"},{"y1":"h","action":"quadraticCurve","y":"h","x":"w-4","x1":"w"},{"action":"line","y":"h","x":"4"},{"y1":"h","action":"quadraticCurve","y":"h-4","x":"0","x1":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":111.35000991821289,"angle":0,"h":114.5,"y":938.230242145132,"zindex":151,"x":186.34575710210373}},"16e63943f5e03e":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63943f5e03e","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbab0ee4b0a602173633d9?e=1573632286&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:xCZUfiNj_5c_wBHBIFENS5dvBkY=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":137.95407445510926,"h":40,"angle":0,"x":1227.4902290105822,"zindex":42}},"16e63c309bba7d":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c309bba7d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb70de4b0fc314a101c70?e=1573635357&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:UT9KmMN3Pg7M81GVVOLSCHN_U1c=","display":"stretch","type":"image","imageW":0,"imageH":0},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":0,"y":758.2500076293945,"h":0,"angle":0,"x":899.1250038146973,"zindex":89}},"16e63989e7c31":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"mall-gateway"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e6398b20c5bc","category":"default","name":"序号","value":"","type":"number"},{"id":"16e6398b20c1ed","category":"default","name":"名称","value":"","type":"string"},{"id":"16e6398b20c6b1","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e6398b20c161","category":"default","name":"连接","value":"","type":"link"},{"id":"16e6398b20cd42","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63989e7c31","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":122.2017849513461,"angle":0,"h":28.98580350057074,"y":687.5300179626362,"zindex":54,"x":394.779010908944}},"16e638a341b371":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e638a341b371","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcba878e4b04c4c38241b9c?e=1573631625&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:TBR7yli2kgdtq1e-3XD-AbigAm4=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":45.025001525878906,"angle":0,"h":50.12499809265137,"y":134.24949407230767,"zindex":25,"x":504.9804215534596}},"16e63e05fb2fcb":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"Elasticsearch"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63e06522bd1","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63e065226df","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63e06522291","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63e06522e7","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63e065227d3","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63e05fb2fcb","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":116.73125553131104,"angle":0,"h":36.89479150985812,"y":1007.6449292639215,"zindex":135,"x":1344.4369382569566}},"16e63c0f2d39ad":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c0f2d39ad","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb680e4b0bd68d814ff68?e=1573635216&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:EFWWu7IypG1ll1y47eQEoUrwD_Y=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":952.8788029623947,"zindex":87,"x":1290.8027794045722}},"16e63c9db3a99b":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c9db3a99b","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb8cce4b0754822a3fcd6?e=1573635804&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:vsBdSB9aQgAxFYAyUX7nG_XwxYA=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":658.2499980926514,"zindex":103,"x":899.1250038146973}},"16e63c98116389":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c98b4693f","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c98b46b69","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c98b462cb","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c98b460fc","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c98b464d8","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c98116389","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":111.35000991821289,"y":420.6871920973484,"h":114.5,"angle":0,"x":108.9022633264041,"zindex":101}},"16e63c074e96d":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"Redis"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c07d92cbf","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c07d922f5","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c07d92b4c","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c07d92d1d","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c07d92c6a","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c074e96d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":98.8309870978187,"y":1009.7754472343049,"h":28.749990463256836,"angle":0,"x":1174.8841348735218,"zindex":85}},"16e63b48a2fa2d":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b48a2fa2d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":503.97452433953447,"zindex":64,"x":1006.5416989949383}},"16e637d71ba11b":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"监控中心集群
(Spring Boot Admin)
"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e637d7a91a3c","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637d7a91a24","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637d7a911f5","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637d7a9105f","category":"default","name":"连接","value":"","type":"link"},{"id":"16e637d7a91424","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e637d71ba11b","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":160,"angle":0,"h":40,"y":66.14959525784614,"zindex":10,"x":1159.8999938964846}},"16e63b29e3e54d":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b29e3e54d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb2d9e4b0bd68d814f129?e=1573634281&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:yBh26Ng-mS_OoZQZr16wAfkB-j8=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":658.2499980926514,"zindex":56,"x":751.1249923706055}},"16e637cabf9879":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e637cb18b5ce","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637cb18bcad","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637cb18bafd","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637cb18b897","category":"default","name":"连接","value":"","type":"link"},{"id":"16e637cb18b8ec","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e637cabf9879","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":204,"y":120.8500035355758,"h":188,"angle":0,"x":819.3194866411835,"zindex":7}},"16e6379fb84547":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"应用服务集群"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e6379fb85d33","category":"default","name":"序号","value":"","type":"number"},{"id":"16e6379fb85e01","category":"default","name":"名称","value":"","type":"string"},{"id":"16e6379fb85b27","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e6379fb85823","category":"default","name":"连接","value":"","type":"link"},{"id":"16e6379fb854ca","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e6379fb84547","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":160,"angle":0,"h":40,"y":392.8214263916015,"zindex":149,"x":887.0345649317272}},"16e63d416c1dca":{"id":"16e63d416c1dca","to":{"id":"16e637e5388816","angle":0,"y":582.2571683015591,"x":1440.2508342644282},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":582.07508336786,"x":1291.2683014137351},{"y":582.2571683015591,"x":1291.2683014137351}],"locked":false,"dataAttributes":[],"from":{"id":"16e63793ab0ab6","y":582.07508336786,"angle":3.141592653589793,"x":1142.285768563042},"group":"","props":{"zindex":117}},"16e63eafe1fadc":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63eafe1fadc","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbc148e4b0fc314a1046b0?e=1573637976&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:JDKEOFL96LaH7kjKNqoirTK5eJY=","display":"stretch","type":"image","imageW":0,"imageH":0},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":0,"y":752.2857121058872,"h":0,"angle":0,"x":965.8571297781807,"zindex":145}},"16e63915889b2e":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"mall-config"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63915dbf2fc","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63915dbf79f","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63915dbf83b","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63915dbfd18","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63915dbfa2c","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63915889b2e","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":122.2017849513461,"y":276.3458427706839,"h":28.98580350057074,"angle":0,"x":813.4288038446078,"zindex":35}},"16e63e307a1c":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"搜索数据存储"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63e327ef783","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63e327ef9fb","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63e327ef3df","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63e327ef615","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63e327ef64b","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63e307a1c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":22.500000000000227,"angle":0,"h":108.59949803886639,"y":673.8813757430269,"zindex":139,"x":1361.1665290509754}},"16e63be2bc3d7d":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63be2bc3d7d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb5cee4b0e3a6348d549e?e=1573635038&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:MgQCvcHhtI2mWv4MWo3uMoUNAXY=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":758.2500076293945,"zindex":79,"x":899.1250038146973}},"16e63e05fb2cd8":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63e05fb2cd8","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb4d5e4b022abb632cc27?e=1573634789&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:H9HIw4e0cEmInoy1jR72UnAd7x0=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":953.3903874175296,"h":40,"angle":0,"x":1373.681482882239,"zindex":134}},"16e63cc207746a":{"to":{"id":"16e6371f9451f4","angle":0,"y":592.0999984741211,"x":384.34999084472656},"id":"16e63cc207746a","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"16e63c9a17c3fd","angle":3.141592653589793,"y":689.0762400152388,"x":222.26512542208204},"dataAttributes":[],"locked":false,"points":[{"y":689.0762400152388,"x":303.3075581334043},{"y":592.0999984741211,"x":303.3075581334043}],"group":"","props":{"zindex":110}},"16e6382ad78b31":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e6382ad78988","category":"default","name":"序号","value":"","type":"number"},{"id":"16e6382ad78ac3","category":"default","name":"名称","value":"","type":"string"},{"id":"16e6382ad78ba9","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e6382ad78f3d","category":"default","name":"连接","value":"","type":"link"},{"id":"16e6382ad7866a","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e6382ad78b31","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"圆角矩形","category":"basic","name":"roundRectangle","path":[{"actions":[{"action":"move","y":"4","x":"0"},{"y1":"0","action":"quadraticCurve","y":"0","x":"4","x1":"0"},{"action":"line","y":"0","x":"w-4"},{"y1":"0","action":"quadraticCurve","y":"4","x":"w","x1":"w"},{"action":"line","y":"h-4","x":"w"},{"y1":"h","action":"quadraticCurve","y":"h","x":"w-4","x1":"w"},{"action":"line","y":"h","x":"4"},{"y1":"h","action":"quadraticCurve","y":"h-4","x":"0","x1":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":111.35000991821289,"angle":0,"h":114.5,"y":940.143913292002,"zindex":17,"x":581.8259173206883}},"16e63e43b2f4a7":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"日志收集"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63e43b2f2fd","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63e43b2f089","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63e43b2fec5","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63e43b2f94c","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63e43b2ff44","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63e43b2f4a7","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":532.4187408261266,"h":40,"angle":0,"x":1190.1260225025699,"zindex":140}},"16e6391df6f7ee":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"mall-config"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e6391e520831","category":"default","name":"序号","value":"","type":"number"},{"id":"16e6391e520012","category":"default","name":"名称","value":"","type":"string"},{"id":"16e6391e5209ae","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e6391e520fcf","category":"default","name":"连接","value":"","type":"link"},{"id":"16e6391e52011c","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e6391df6f7ee","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":122.2017849513461,"y":185.58068315945832,"h":28.98580350057074,"angle":0,"x":860.6713349130092,"zindex":37}},"16e63c033fa0a3":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c033fa0a3","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb64fe4b04c4c382452b4?e=1573635167&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:kxtQaIXkGpk5f1GLsaDgri2qz1E=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":952.7340268937669,"zindex":84,"x":1202.4156400335974}},"16e638a145f24b":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e638a145f24b","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcba878e4b04c4c38241b9c?e=1573631625&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:TBR7yli2kgdtq1e-3XD-AbigAm4=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":246.74999361736292,"zindex":23,"x":842.0944881670624}},"16e63dc34d3b43":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"异步通信"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63dc39728ba","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63dc39724a5","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63dc3972444","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63dc3972b29","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63dc3972fde","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63dc34d3b43","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":22.500000000000227,"angle":0,"h":108.59949803886639,"y":839.2857121058872,"zindex":127,"x":1033.144523501396}},"16e63eecd727b2":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63eecd727b2","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbc241e4b059bcd1936504?e=1573638226&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:UZYAGJUNZeSx_-SWyKkZIWud5yE=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":523.7142835344587,"zindex":150,"x":965.8571297781807}},"16e63b502ee605":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"A2服务集群"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63b50a96b7a","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63b50a96751","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63b50a96328","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63b50a96a1e","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63b50a9671b","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63b502ee605","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":22.500000000000227,"y":512.9232493483835,"h":108.59949803886639,"angle":0,"x":1096.2581808153582,"zindex":67}},"16e6380cad2cb6":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"数据存储"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e6380cad215e","category":"default","name":"序号","value":"","type":"number"},{"id":"16e6380cad224e","category":"default","name":"名称","value":"","type":"string"},{"id":"16e6380cad2a0e","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e6380cad2758","category":"default","name":"连接","value":"","type":"link"},{"id":"16e6380cad2536","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e6380cad2cb6","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":1085.219925872516,"h":40,"angle":0,"x":1209.319705613661,"zindex":14}},"16e63c31d68973":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c31d68973","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb70de4b0fc314a101c70?e=1573635357&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:UT9KmMN3Pg7M81GVVOLSCHN_U1c=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":960.9515466581788,"h":40,"angle":0,"x":892.4024915422168,"zindex":93}},"16e63b2efc8804":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b2efc8804","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":501.49479761337375,"h":40,"angle":0,"x":782.3749923706055,"zindex":59}},"16e63bf00e2efa":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63bf00e2efa","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb5cee4b0e3a6348d549e?e=1573635038&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:MgQCvcHhtI2mWv4MWo3uMoUNAXY=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":953.1445726679719,"zindex":81,"x":1109.9673844407112}},"16e63c0e13be6c":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c0e13be6c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb680e4b0bd68d814ff68?e=1573635216&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:EFWWu7IypG1ll1y47eQEoUrwD_Y=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":758.2500076293945,"zindex":86,"x":899.1250038146973}},"16e63cdb9cb86f":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"复载均衡
(Ribbon)
"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63cdb9cbd37","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63cdb9cbac3","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63cdb9cba3b","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63cdb9cb6d3","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63cdb9cbe3c","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63cdb9cb86f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":616.7112562158545,"h":40,"angle":0,"x":536.8571472167969,"zindex":113}},"16e63b48a2f7c3":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b48a2f7c3","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":562.0734948321715,"zindex":65,"x":1006.4635739949383}},"16e63977ced56":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63977ced56","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbabe3e4b0fc314a0ff0b1?e=1573632499&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:pH1P4uL2LvyJXYqI6KA_4p7Ov2M=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":477.00000286102295,"h":40,"angle":0,"x":434.29686818804066,"zindex":49}},"16e637c53dd75e":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"注册中心集群
(Eureka/Consul/Nacos)
"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e637c53ddf13","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637c53ddf99","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637c53dd261","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637c53ddb27","category":"default","name":"连接","value":"","type":"link"},{"id":"16e637c53dd9c8","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e637c53dd75e","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":62.34949445377741,"h":40,"angle":0,"x":451.5928762613632,"zindex":6}},"16e63d2ff939da":{"id":"16e63d2ff939da","to":{"id":"16e638d1a8cc63","y":305.1428549630301,"angle":4.71238898038469,"x":529.4285583496094},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":375.7189945445898,"x":920.0750875108096},{"y":375.7189945445898,"x":529.4285583496094}],"locked":false,"dataAttributes":[],"from":{"id":"16e63793ab0ab6","y":446.2951341261495,"angle":1.5707963267948968,"x":920.0750875108096},"group":"","props":{"zindex":114}},"16e63c022ff8dd":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c022ff8dd","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb64fe4b04c4c382452b4?e=1573635167&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:kxtQaIXkGpk5f1GLsaDgri2qz1E=","display":"stretch","type":"image","imageW":0,"imageH":0},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":0,"y":758.2500076293945,"h":0,"angle":0,"x":899.1250038146973,"zindex":83}},"16e63dc9400859":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"文件存储"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63dc94009aa","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63dc94008d9","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63dc94002d6","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63dc94004c7","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63dc9400d67","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63dc9400859","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":782.8259004865374,"h":40,"angle":0,"x":611.5928762613632,"zindex":128}},"16e63ea499d96d":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"Seata"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63ea4f15678","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63ea4f15b75","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63ea4f153f4","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63ea4f15b8f","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63ea4f15d1d","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63ea499d96d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":98.8309870978187,"y":1003.1453520060161,"h":28.749990463256836,"angle":0,"x":382.3294274731615,"zindex":143}},"16e637cabf9acd":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"配置中心集群
(Config/Consul/Nacos)
"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e637cb18b3d3","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637cb18bf8","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637cb18ba8c","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637cb18b41d","category":"default","name":"连接","value":"","type":"link"},{"id":"16e637cb18b15e","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e637cabf9acd","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":65.84942028167629,"h":40,"angle":0,"x":831.3923563604002,"zindex":8}},"16e63c7351f3b8":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c7351f3b8","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb804e4b059bcd1933b55?e=1573635604&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:wFb2po3OWQ-mHCT5mSrB_-AtUYw=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":957.6019665699239,"zindex":98,"x":617.5509272389012}},"16e63e11c781c9":{"to":{"id":"16e63e05fb2cd8","angle":1.5707963267948968,"y":953.3903874175296,"x":1393.681482882239},"id":"16e63e11c781c9","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"16e63793ab0ab6","angle":3.141592653589793,"y":582.07508336786,"x":1142.285768563042},"dataAttributes":[],"locked":false,"points":[{"y":582.07508336786,"x":1393.681482882239}],"group":"","props":{"zindex":136}},"16e63b91c7dde4":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b91c7dde4","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb483e4b0e3a6348d4f76?e=1573634707&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:svCZWOnfCwgLSxWg7yjQxTacWIo=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":526.5999984741211,"zindex":68,"x":852.1000001430511}},"16e63793ab0ab6":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63793ab141","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63793ab14d3","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63793ab1319","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63793ab11d8","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63793ab1fcc","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63793ab0ab6","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":445.4929144893374,"y":446.3216097209571,"h":271.53342288861336,"angle":0,"x":696.2570778812681,"zindex":3}},"16e63d817dbf2b":{"id":"16e63d817dbf2b","to":{"id":"16e63c0f2d39ad","y":952.8788029623947,"angle":1.5707963267948968,"x":1310.8027794045722},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":582.07508336786,"x":1310.8027794045722}],"locked":false,"dataAttributes":[],"from":{"id":"16e63793ab0ab6","y":582.07508336786,"angle":3.141592653589793,"x":1142.2857685630418},"group":"","props":{"zindex":124}},"16e63dd2c73f05":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"获取服务列表"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63dd2f7a4f9","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63dd2f7ab41","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63dd2f7ad05","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63dd2f7aefd","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63dd2f7a575","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63dd2c73f05","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":383.7661617482107,"h":40,"angle":0,"x":561.9754368918282,"zindex":130}},"16e63976bc5eab":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63976bc5eab","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbabe3e4b0fc314a0ff0b1?e=1573632499&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:pH1P4uL2LvyJXYqI6KA_4p7Ov2M=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":558.250002861023,"zindex":48,"x":751.1249923706055}},"16e63c6cc83b6c":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c6cc83b6c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb804e4b059bcd1933b55?e=1573635604&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:wFb2po3OWQ-mHCT5mSrB_-AtUYw=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":782.6250076293945,"zindex":96,"x":899.1250038146973}},"16e63c13d783b1":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"MongoDB"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c14211f5b","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c14211935","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c14211de8","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c1421116f","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c14211a1a","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c13d783b1","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":1010.5774525774441,"zindex":88,"x":1260.9581979506286}},"16e63d4a3dfa83":{"id":"16e63d4a3dfa83","to":{"id":"16e63c3b438aec","y":999.4659837534418,"angle":0,"x":861.949769628325},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":999.4659837534418,"x":798.8863911547678}],"locked":false,"dataAttributes":[],"from":{"id":"16e63b151109e4","y":687.2580126134578,"angle":4.71238898038469,"x":798.8863911547678},"group":"","props":{"zindex":119}},"16e63dfa5d9f81":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"主要业务数据存储"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63dfaed496e","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63dfaed4296","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63dfaed4ee","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63dfaed4136","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63dfaed4ab9","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63dfa5d9f81","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":22.500000000000227,"angle":0,"h":108.59949803886639,"y":678.4751221541695,"zindex":133,"x":1144.2379666393751}},"16e63e298570c6":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"缓存数据存储"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63e29d0dba6","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63e29d0da49","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63e29d0dc6e","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63e29d0d0b3","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63e29d0d9c7","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63e298570c6","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":22.500000000000227,"angle":0,"h":108.59949803886639,"y":685.0771015958338,"zindex":137,"x":1196.9272199712298}},"16e6390e6892e2":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e6390e6892e2","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbaa37e4b0ffd2144848a1?e=1573632072&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3meU1Zv00FOWqGqZicDFwFnKidg=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":437.2857121058872,"zindex":32,"x":858.4285627092634}},"16e63eb1124311":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63eb1124311","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbc148e4b0fc314a1046b0?e=1573637976&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:JDKEOFL96LaH7kjKNqoirTK5eJY=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":954.2311218336647,"h":40,"angle":0,"x":413.14588159907,"zindex":146}},"16e63b3462877d":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b3462877d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":559.593768106011,"zindex":60,"x":782.2968673706055}},"16e6391df6ffbc":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e6391df6ffbc","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbaa37e4b0ffd2144848a1?e=1573632072&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3meU1Zv00FOWqGqZicDFwFnKidg=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":231.69560051336305,"zindex":36,"x":845.2989254447758}},"16e63f2e60d98d":{"to":{"id":"16e63f29c835c7","angle":1.5707963267948968,"y":938.230242145132,"x":242.02076206121018},"id":"16e63f2e60d98d","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"16e63793ab0ab6","angle":4.71238898038469,"y":717.8550326095705,"x":919.0035351259368},"dataAttributes":[],"locked":false,"points":[{"y":828.0426373773512,"x":919.0035351259368},{"y":828.0426373773512,"x":242.02076206121018}],"group":"","props":{"zindex":155}},"16e639520520e5":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"mall-monitor"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63953215207","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63953215941","category":"default","name":"名称","value":"","type":"string"},{"id":"16e639532151ad","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e639532151e5","category":"default","name":"连接","value":"","type":"link"},{"id":"16e639532156a","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e639520520e5","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":122.2017849513461,"angle":0,"h":28.98580350057074,"y":277.4637958064391,"zindex":47,"x":1240.9518391165518}},"16e63c4463769a":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"RabbitMQ"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c44a90794","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c44a90d","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c44a90c92","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c44a90144","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c44a908b6","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c4463769a","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":1015.7500076293945,"zindex":94,"x":862.9531722764273}},"16e638d1a8cc63":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"mall-registery"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e638d22e9daf","category":"default","name":"序号","value":"","type":"number"},{"id":"16e638d22e903","category":"default","name":"名称","value":"","type":"string"},{"id":"16e638d22e952","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e638d22e9b3a","category":"default","name":"连接","value":"","type":"link"},{"id":"16e638d22e9d71","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e638d1a8cc63","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":265.6709088563303,"h":40,"angle":0,"x":392.5411373650527,"zindex":30}},"16e63f29c83197":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"容器"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63f2a8e0425","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63f2a8e0e6a","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63f2a8e0787","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63f2a8e0002","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63f2a8e0f35","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63f29c83197","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":1070.1302141658443,"zindex":153,"x":193.4345846477692}},"16e63d34b00ba7":{"id":"16e63d34b00ba7","to":{"id":"16e63928f272e3","y":307.0515400501765,"angle":5.061454830783555,"x":921.1796003277826},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":376.673337088163,"x":920.0750875108096},{"y":376.673337088163,"x":921.1796003277826}],"locked":false,"dataAttributes":[],"from":{"id":"16e63793ab0ab6","y":446.2951341261495,"angle":1.5707963267948968,"x":920.0750875108096},"group":"","props":{"zindex":115}},"16e63ea499d6d":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63ea4f1472a","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63ea4f14993","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63ea4f14b4d","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63ea4f14c6b","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63ea4f1405","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63ea499d6d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"圆角矩形","category":"basic","name":"roundRectangle","path":[{"actions":[{"action":"move","y":"4","x":"0"},{"y1":"0","action":"quadraticCurve","y":"0","x":"4","x1":"0"},{"action":"line","y":"0","x":"w-4"},{"y1":"0","action":"quadraticCurve","y":"4","x":"w","x1":"w"},{"action":"line","y":"h-4","x":"w"},{"y1":"h","action":"quadraticCurve","y":"h","x":"w-4","x1":"w"},{"action":"line","y":"h","x":"4"},{"y1":"h","action":"quadraticCurve","y":"h-4","x":"0","x1":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":111.35000991821289,"angle":0,"h":114.5,"y":937.2664013038732,"zindex":141,"x":372.70610102247264}},"16e63d6b1bf41":{"id":"16e63d6b1bf41","to":{"id":"16e63c033fa0a3","y":952.7340268937669,"angle":1.5707963267948968,"x":1222.4156400335974},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":582.0618455704562,"x":1222.4156400335974}],"locked":false,"dataAttributes":[],"from":{"id":"16e63793ab0ab6","y":582.0618455704562,"angle":3.141592653589793,"x":1142.8215447554783},"group":"","props":{"zindex":123}},"16e63c9f8c29c":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63c9f8c29c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb8d4e4b0e3a6348d604a?e=1573635812&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3wKgKDsu7aXDSn6CegC2xH1iCng=","display":"stretch","type":"image","imageW":0,"imageH":0},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":0,"y":658.2499980926514,"h":0,"angle":0,"x":899.1250038146973,"zindex":104}},"16e63928f272e3":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"mall-config"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e6392959fc5b","category":"default","name":"序号","value":"","type":"number"},{"id":"16e6392959fc2e","category":"default","name":"名称","value":"","type":"string"},{"id":"16e6392959f975","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e6392959fda","category":"default","name":"连接","value":"","type":"link"},{"id":"16e6392959f598","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63928f272e3","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":122.2017849513461,"angle":0,"h":28.98580350057074,"y":278.7703555249837,"zindex":39,"x":917.6366377093412}},"16e638e9409871":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e638e9409871","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcba99fe4b0fc314a0fe7eb?e=1573631919&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:oexWWBpjMW5L-w3-MByfl4SgDns=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":409.4285692487444,"zindex":31,"x":858.4285627092634}},"16e63d4664f819":{"id":"16e63d4664f819","to":{"id":"16e63b48a2fb08","y":578.9708711578523,"angle":0,"x":968.6298541020515},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":578.6567438545937,"x":910.9697444669341},{"y":578.9708711578523,"x":910.9697444669341}],"locked":false,"dataAttributes":[],"from":{"id":"16e63b151109e4","y":578.6567438545937,"angle":3.141592653589793,"x":853.3096348318169},"group":"","props":{"zindex":118}},"16e63f2fd9f5ca":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"容器化部署"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63f2fda078b","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63f2fda05af","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63f2fda0bda","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63f2fda06a9","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63f2fda022f","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63f2fd9f5ca","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":160,"angle":0,"h":40,"y":779.8259004865374,"zindex":156,"x":253.14588159906998}},"16e63d95738b68":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"远程调用
(Feign)
"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63d95738171","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63d9573882f","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63d95738c95","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63d95738add","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63d95738b86","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63d95738b68","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":525.0148455925009,"h":40,"angle":0,"x":829.7142900739397,"zindex":125}},"16e63989e7cdb6":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63989e7cdb6","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbabe3e4b0fc314a0ff0b1?e=1573632499&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:pH1P4uL2LvyJXYqI6KA_4p7Ov2M=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":641.6841831144299,"zindex":53,"x":435.77342233864556}},"16e63b48a2fb08":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63b48ed0289","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63b48ed0d0b","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63b48ed05b8","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63b48ed0fc8","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63b48ed064b","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63b48a2fb08","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":108.84648735409826,"y":470.3696023989884,"h":217.20253751772816,"angle":0,"x":968.6298541020515,"zindex":63}},"16e63cb4f33b0b":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"手机"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63cb59e4e9f","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63cb59e4845","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63cb59e4c03","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63cb59e4431","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63cb59e4742","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63cb4f33b0b","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":704.3354499491251,"zindex":108,"x":115.19314495964748}},"16e63cae33f1bd":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63cae33f1bd","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb8d4e4b0e3a6348d604a?e=1573635812&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3wKgKDsu7aXDSn6CegC2xH1iCng=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":650.1601366709156,"zindex":107,"x":151.76789318400233}},"16e63c48976367":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"消息代理"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c48dbd1b9","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c48dbda22","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c48dbdea7","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c48dbdce1","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c48dbd0be","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c48976367","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":1081.6499054332962,"zindex":95,"x":867.0250089917182}},"16e637e5388d9d":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"ELK日志收集系统"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e637e5a10153","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637e5a10be","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637e5a10243","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637e5a1008d","category":"default","name":"连接","value":"","type":"link"},{"id":"16e637e5a10337","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e637e5388d9d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":383.7661617482107,"h":40,"angle":0,"x":1428.399423532755,"zindex":12}},"16e638c70ec8ea":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"mall-registery"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e638c70ec272","category":"default","name":"序号","value":"","type":"number"},{"id":"16e638c70ec3b6","category":"default","name":"名称","value":"","type":"string"},{"id":"16e638c70ec53a","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e638c70ec4e8","category":"default","name":"连接","value":"","type":"link"},{"id":"16e638c70ec7fb","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e638c70ec8ea","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":160,"angle":0,"h":40,"y":174.23341117239673,"zindex":28,"x":444.3679212264856}},"16e63bb77bd24b":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63bb77bd24b","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb4d5e4b022abb632cc27?e=1573634789&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:H9HIw4e0cEmInoy1jR72UnAd7x0=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":547.5379716142626,"h":40,"angle":0,"x":1492.5279450943776,"zindex":75}},"16e63decb48cd9":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"获取应用监控信息"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63decb48ea7","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63decb4820d","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63decb481e4","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63decb481ea","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63decb48e32","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63decb48cd9","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":160,"angle":0,"h":40,"y":328.24999809265137,"zindex":132,"x":1030.1260225025699}},"16e63eb7f7a0c":{"to":{"id":"16e63ea499d6d","angle":1.5707963267948968,"y":937.2664013038732,"x":428.3811059815791},"id":"16e63eb7f7a0c","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"16e63793ab0ab6","angle":4.71238898038469,"y":717.8550326095705,"x":919.0035351259368},"dataAttributes":[],"locked":false,"points":[{"y":827.5607169567218,"x":919.0035351259368},{"y":827.5607169567218,"x":428.3811059815791}],"group":"","props":{"zindex":147}},"16e63f29c83e32":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"Docker"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63f2a8e0163","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63f2a8e089b","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63f2a8e0724","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63f2a8e06c8","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63f2a8e0e98","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63f29c83e32","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":1002.6773612810784,"zindex":152,"x":199.10529253664816}},"16e638c305d814":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e638c305d814","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcba878e4b04c4c38241b9c?e=1573631625&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:TBR7yli2kgdtq1e-3XD-AbigAm4=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":45.025001525878906,"angle":0,"h":50.12499809265137,"y":214.66198260096812,"zindex":26,"x":444.3679212264856}},"16e63bc1a2b3c4":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"Elasticsearch"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63bc1ed4771","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63bc1ed481f","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63bc1ed414e","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63bc1ed4fa6","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63bc1ed4cb8","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63bc1a2b3c4","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":116.73125553131104,"y":587.5379716142626,"h":36.89479150985812,"angle":0,"x":1456.2091975739309,"zindex":76}},"16e63ea8c7471f":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"分布式事务管理"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63ea900646f","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63ea9006f2b","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63ea9006122","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63ea9006b52","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63ea9006607","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63ea8c7471f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":98.8309870978187,"y":1072.0976661575287,"h":28.749990463256836,"angle":0,"x":375.0341579348407,"zindex":144}},"16e63bab64448f":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63bab64448f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb4e1e4b0e3a6348d50d0?e=1573634801&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:ZC8oSHzHDnpdNDXoh36WrEQFq-k=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":635.6431801044045,"h":40,"angle":0,"x":1494.5748253395864,"zindex":73}},"16e63d5973b018":{"id":"16e63d5973b018","to":{"id":"16e6382ad78b31","y":940.143913292002,"angle":1.5707963267948968,"x":637.5009222797947},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":828.9862351533825,"x":920.0750875108096},{"y":828.9862351533825,"x":637.5009222797947}],"locked":false,"dataAttributes":[],"from":{"id":"16e63793ab0ab6","y":717.8285570147629,"angle":4.71238898038469,"x":920.0750875108096},"group":"","props":{"zindex":121}},"16e63e29d17031":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"用户行为分析数据存储"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63e3078a5b6","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63e3078abef","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63e3078a50b","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63e3078a417","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63e3078a00c","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63e29d17031","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":22.500000000000227,"angle":0,"h":108.59949803886639,"y":682.8812181319947,"zindex":138,"x":1281.6363929720926}},"16e63986fc427a":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63986fc427a","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbabe3e4b0fc314a0ff0b1?e=1573632499&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:pH1P4uL2LvyJXYqI6KA_4p7Ov2M=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":558.250002861023,"zindex":51,"x":438.70458766145384}},"16e6395062d8c1":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"mall-monitor"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63950bbdd3a","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63950bbd9df","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63950bbdef1","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63950bbd032","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63950bbdb27","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e6395062d8c1","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":122.2017849513461,"angle":0,"h":28.98580350057074,"y":183.88027488172867,"zindex":45,"x":1187.2531192788285}},"16e6394c0dfb0a":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e6394c0dfb0a","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbab0ee4b0a602173633d9?e=1573632286&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:xCZUfiNj_5c_wBHBIFENS5dvBkY=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":233.75924876168023,"zindex":43,"x":1285.7890534400942}},"16e63de54e2373":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"获取配置信息"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63de59232d1","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63de5923bad","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63de59232e5","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63de592381e","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63de5923474","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63de54e2373","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":320.0161617482107,"h":40,"angle":0,"x":777.0796911956677,"zindex":131}},"16e638065237f3":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63806524756","category":"default","name":"序号","value":"","type":"number"},{"id":"16e6380652480b","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63806524d57","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e638065244bd","category":"default","name":"连接","value":"","type":"link"},{"id":"16e638065247d3","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e638065237f3","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":381.4120867817028,"y":920.7500076293945,"h":147.5,"angle":0,"x":1075.9569357031826,"zindex":13}},"16e63b3bab9cea":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"A1服务集群"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63b3bab985b","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63b3bab9373","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63b3bab9391","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63b3bab9613","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63b3bab902","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63b3bab9cea","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":22.500000000000227,"angle":0,"h":108.59949803886639,"y":513.3656747242817,"zindex":62,"x":709.9999904632566}},"16e637e5388816":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e637e5a10abf","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637e5a10311","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637e5a10674","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637e5a104b8","category":"default","name":"连接","value":"","type":"link"},{"id":"16e637e5a105f1","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e637e5388816","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":148.09295442700386,"y":441.40896099585154,"h":281.6964146114152,"angle":0,"x":1440.2508342644282,"zindex":11}},"16e63986fc4b0c":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"mall-gateway"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e639873e4667","category":"default","name":"序号","value":"","type":"number"},{"id":"16e639873e4b96","category":"default","name":"名称","value":"","type":"string"},{"id":"16e639873e459","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e639873e4eba","category":"default","name":"连接","value":"","type":"link"},{"id":"16e639873e48e8","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63986fc4b0c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":122.2017849513461,"angle":0,"h":28.98580350057074,"y":604.0958377092293,"zindex":52,"x":397.17777100189505}},"16e6390fd3f558":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e6390fd3f558","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbaa37e4b0ffd2144848a1?e=1573632072&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3meU1Zv00FOWqGqZicDFwFnKidg=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":137.50709729198246,"zindex":34,"x":893.3761836743791}},"16e6371f9451f4":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e6371f946327","category":"default","name":"序号","value":"","type":"number"},{"id":"16e6371f94644f","category":"default","name":"名称","value":"","type":"string"},{"id":"16e6371f946cc","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e6371f946a59","category":"default","name":"连接","value":"","type":"link"},{"id":"16e6371f94607d","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e6371f9451f4","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":143.05982507978092,"y":464.3499984741211,"h":255.5,"angle":0,"x":384.34999084472656,"zindex":1}},"16e63bf7ef2ade":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"MySql"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63bf7ef300e","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63bf7ef3da2","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63bf7ef31ed","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63bf7ef3b61","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63bf7ef3e9d","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63bf7ef2ade","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":98.8309870978187,"angle":0,"h":28.749990463256836,"y":1010.8531728628375,"zindex":82,"x":1080.5585389128255}},"16e638d11898ad":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"mall-registery"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e638d1a82525","category":"default","name":"序号","value":"","type":"number"},{"id":"16e638d1a82707","category":"default","name":"名称","value":"","type":"string"},{"id":"16e638d1a8277c","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e638d1a82bb6","category":"default","name":"连接","value":"","type":"link"},{"id":"16e638d1a82dbf","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e638d11898ad","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":160,"angle":0,"h":40,"y":264.8852087394916,"zindex":29,"x":501.3402431455177}},"16e6392513fc44":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e6392513fc44","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbaa37e4b0ffd2144848a1?e=1573632072&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:3meU1Zv00FOWqGqZicDFwFnKidg=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":233.23413479964267,"h":40,"angle":0,"x":954.7280105130654,"zindex":38}},"16e63d4c197371":{"to":{"id":"16e63b48a2fb08","angle":4.71238898038469,"y":687.5721399167165,"x":1023.0530977791007},"id":"16e63d4c197371","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"16e63c3b438aec","angle":3.141592653589793,"y":999.4659837534418,"x":965.8389907598796},"dataAttributes":[],"locked":false,"points":[{"y":999.4659837534418,"x":1023.0530977791007}],"group":"","props":{"zindex":120}},"16e63b151109e4":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63b15110fab","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63b151103d6","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63b151109fe","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63b1511048f","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63b1511067d","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63b151109e4","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":108.84648735409826,"y":470.05547509572966,"h":217.20253751772816,"angle":0,"x":744.4631474777186,"zindex":55}},"16e63982a6d111":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"mall-gateway"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63982edd855","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63982edd1e1","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63982edddbf","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63982eddf67","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63982edd31f","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63982a6d111","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":122.2017849513461,"y":522.8458377092293,"h":28.98580350057074,"angle":0,"x":392.7700515284819,"zindex":50}},"16e63ccc5f7f9e":{"id":"16e63ccc5f7f9e","to":{"id":"16e63793ab0ab6","y":592.2857121058872,"angle":0,"x":696.8571472167968},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":592.0999984741211,"x":612.1334815706521},{"y":592.2857121058872,"x":612.1334815706521}],"locked":false,"dataAttributes":[],"from":{"id":"16e6371f9451f4","y":592.0999984741211,"angle":3.141592653589793,"x":527.4098159245075},"group":"","props":{"zindex":111}},"16e63ba8bcbcc9":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63ba8bcbcc9","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb4e1e4b0e3a6348d50d0?e=1573634801&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:ZC8oSHzHDnpdNDXoh36WrEQFq-k=","display":"stretch","type":"image","imageW":0,"imageH":0},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":0,"y":526.5999984741211,"h":0,"angle":0,"x":852.1000001430511,"zindex":71}},"16e63f29c83be8":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63f29c83be8","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbc241e4b059bcd1936504?e=1573638226&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:UZYAGJUNZeSx_-SWyKkZIWud5yE=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":955.991883911282,"zindex":154,"x":224.62975199215413}},"16e63d69e6bf31":{"id":"16e63d69e6bf31","to":{"id":"16e63bf00e2efa","y":953.1445726679719,"angle":1.5707963267948968,"x":1129.9673844407112},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":582.0618455704562,"x":1172.8215447554783},{"y":923.1445726679719,"x":1172.8215447554783},{"y":923.1445726679719,"x":1129.9673844407112}],"locked":false,"dataAttributes":[],"from":{"id":"16e63793ab0ab6","y":582.0618455704562,"angle":3.141592653589793,"x":1142.8215447554783},"group":"","props":{"zindex":122}},"16e63dcf265101":{"textBlock":[{"position":{"w":"w","h":"h","y":0,"x":0},"text":"服务注册"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63dcf265eb4","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63dcf265eda","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63dcf265674","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63dcf265195","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63dcf265011","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63dcf265101","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"文本","category":"basic","name":"text","path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":160,"angle":0,"h":40,"y":335.9729063830627,"zindex":129,"x":556.734898924517}},"16e63cc13aaed4":{"to":{"id":"16e6371f9451f4","angle":0,"y":592.0999984741211,"x":384.34999084472656},"id":"16e63cc13aaed4","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"16e63c98116389","angle":3.141592653589793,"y":477.9371920973484,"x":220.252273244617},"dataAttributes":[],"locked":false,"points":[{"y":477.9371920973484,"x":302.30113204467176},{"y":592.0999984741211,"x":302.30113204467176}],"group":"","props":{"zindex":109}},"16e637b97b9b69":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e637b97b9d88","category":"default","name":"序号","value":"","type":"number"},{"id":"16e637b97b9aec","category":"default","name":"名称","value":"","type":"string"},{"id":"16e637b97b9651","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e637b97b998b","category":"default","name":"连接","value":"","type":"link"},{"id":"16e637b97b91d1","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e637b97b9b69","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"圆角矩形","category":"basic","name":"roundRectangle","path":[{"actions":[{"action":"move","y":"4","x":"0"},{"y1":"0","action":"quadraticCurve","y":"0","x":"4","x1":"0"},{"action":"line","y":"0","x":"w-4"},{"y1":"0","action":"quadraticCurve","y":"4","x":"w","x1":"w"},{"action":"line","y":"h-4","x":"w"},{"y1":"h","action":"quadraticCurve","y":"h","x":"w-4","x1":"w"},{"action":"line","y":"h","x":"4"},{"y1":"h","action":"quadraticCurve","y":"h-4","x":"0","x1":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":204,"angle":0,"h":188,"y":120.34949445377738,"zindex":5,"x":427.0054230793385}},"16e63ccf853573":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"服务熔断限流
(Hystrix/Setinel)
"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63ccf853d57","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63ccf8535e9","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63ccf8535d8","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63ccf8531f1","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63ccf85379f","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63ccf853573","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":160,"y":530.4542979296368,"h":40,"angle":0,"x":532.5714329310825,"zindex":112}},"16e63d3ddbe6d":{"to":{"id":"16e63793ab0ab6","angle":1.5707963267948968,"y":446.2951341261495,"x":920.0750875108096},"id":"16e63d3ddbe6d","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"16e637d71b9141","angle":4.71238898038469,"y":306.27460031930076,"x":1248.340569232288},"dataAttributes":[],"locked":false,"points":[{"y":376.2848672227251,"x":1248.340569232288},{"y":376.2848672227251,"x":920.0750875108096}],"group":"","props":{"zindex":116}},"16e63950bc437f":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"mall-monitor"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63952045d59","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63952045e5b","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63952045a13","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e6395204510b","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63952045b4c","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63950bc437f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":122.2017849513461,"y":277.63027488172867,"h":28.98580350057074,"angle":0,"x":1134.7018391165523,"zindex":46}},"16e63ba5d3e895":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63ba5d3e895","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb4d5e4b022abb632cc27?e=1573634789&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:H9HIw4e0cEmInoy1jR72UnAd7x0=","display":"stretch","type":"image","imageH":0,"imageW":0},"locked":false,"group":"","props":{"w":0,"angle":0,"h":0,"y":526.5999984741211,"zindex":70,"x":852.1000001430511}},"16e63c9a17c3fd":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"18,150,219","lineStyle":"dashed"},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63c9a5f4cb1","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63c9a5f4e9e","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63c9a5f402d","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63c9a5f449b","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63c9a5f43bf","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63c9a17c3fd","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"圆角矩形","name":"roundRectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"4","x":"0"},{"action":"quadraticCurve","y1":"0","y":"0","x1":"0","x":"4"},{"action":"line","y":"0","x":"w-4"},{"action":"quadraticCurve","y1":"0","y":"4","x1":"w","x":"w"},{"action":"line","y":"h-4","x":"w"},{"action":"quadraticCurve","y1":"h","y":"h","x1":"w","x":"w-4"},{"action":"line","y":"h","x":"4"},{"action":"quadraticCurve","y1":"h","y":"h-4","x1":"0","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":111.35000991821289,"y":631.8262400152388,"h":114.5,"angle":0,"x":110.91511550386916,"zindex":102}},"16e6394c568f69":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e6394c568f69","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbab0ee4b0a602173633d9?e=1573632286&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:xCZUfiNj_5c_wBHBIFENS5dvBkY=","display":"stretch","type":"image","imageW":200,"imageH":100},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":40,"y":231.74709162149702,"h":40,"angle":0,"x":1172.5937557220461,"zindex":44}},"16e63bc90cb10a":{"textBlock":[{"position":{"w":"w","y":0,"h":"h","x":0},"text":"Kibana"}],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"16e63bc9a62e35","category":"default","name":"序号","value":"","type":"number"},{"id":"16e63bc9a623de","category":"default","name":"名称","value":"","type":"string"},{"id":"16e63bc9a620ec","category":"default","name":"所有者","value":"","type":"string"},{"id":"16e63bc9a625ec","category":"default","name":"连接","value":"","type":"link"},{"id":"16e63bc9a62e07","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"16e63bc90cb10a","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"文本","name":"text","fillStyle":{},"path":[{"lineStyle":{"lineWidth":0},"fillStyle":{"type":"none"},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":116.73125553131104,"y":501.74838096515174,"h":36.89479150985812,"angle":0,"x":1450.0337957670995,"zindex":78}},"16e63ca1a3d1b7":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63ca1a3d1b7","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"","category":"standard","name":"standardImage","path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"fileId":"http://cdn.processon.com/5dcbb8cce4b0754822a3fcd6?e=1573635804&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:vsBdSB9aQgAxFYAyUX7nG_XwxYA=","display":"stretch","type":"image","imageH":100,"imageW":200},"locked":false,"group":"","props":{"w":40,"angle":0,"h":40,"y":449.3047106093509,"zindex":105,"x":146.26612302596345}},"16e63b2deb1896":{"textBlock":[],"lineStyle":{},"link":"","children":[],"parent":"","attribute":{"linkable":false,"visible":false,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[],"shapeStyle":{"alpha":1},"id":"16e63b2deb1896","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"standard","title":"","name":"standardImage","fillStyle":{"fileId":"http://cdn.processon.com/5dcbb2eae4b04c4c38244552?e=1573634298&token=trhI0BY8QfVrIGn9nENop6JAc6l5nZuxhjQ62UfM:n-877LxCxm9RfuI3GScQEHcDtWs=","display":"stretch","type":"image","imageW":0,"imageH":0},"path":[{"lineStyle":{"lineWidth":0},"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":0,"y":658.2499980926514,"h":0,"angle":0,"x":751.1249923706055,"zindex":57}}}}},"meta":{"id":"5dcba1f0e4b022abb6328340","member":"5a210b2ee4b04f355d337104","exportTime":"2019-11-13 17:10:01","diagramInfo":{"category":"flow","title":"微服务系统架构图","created":"2019-11-13 14:25:52","creator":"5a210b2ee4b04f355d337104","modified":"2019-11-13 17:07:47"},"type":"ProcessOn Schema File","version":"1.0"}} ================================================ FILE: document/pos/系统架构图.pos ================================================ {"diagram":{"image":{"height":983,"pngdata":"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SfKOd7yjdop0AAC2yZrpAABAXZo0aVJe//rXP6vnfOADH8jFF1+8WQF++OGHZ+7cuXnVq171rM534oknPqvjAQDYdSnTAQCAuvXe9753uyfDzznnnLz73e/e6v7m5uZ85StfyZvf/ObtOt9RRx2VSZMmbdex8JxMn726mLXoqmrHAIB6p0wHAKB2tS6cXe0I7Nr233//TJkyZZvHFEWR8847L+985zv7PF9jY2M++clP5j3veU+fxzY3N2f16tXbnRUAgF2bMh0AAKhL11xzTaZPn5677757q8c0NDRk9uzZeetb37rd5y2KIu9///vz4Q9/eJvH/fSnP80xxxyTc889t3cNdegXC9rGlHNaZlY7BgDUO2U6AAC1q31aW7UjsGspyzLt7e058sgj8+Uvfzlr1qxJURTZfffdNzu2sbExF198cd7whjfs0GudcMIJueiii9LU1LTZvhe+8IVpaGhId3d3brzxxvzt3/5t3vve9+Z//ud/dui1AACoPmU6AABQ87q7u3P55ZfniCOOyJw5c7J27doURZFXv/rVueGGG3LFFVc84/ghQ4bkC1/4Qo455pjn9LrHHXdcvvzlL2f48OG92yZOnJhvf/vbuf766/PmN785Q4YMSZL893//d97znvfkLW95S2688cZUKpXn9NoAAAwsZToAAFCzNm7cmC984Qs54ogj8q//+q/p7OxMQ0NDpk+fnptuuilXXHFFxo0blxe96EV51ate1fu8Sy+9NK997Wt3SobDDjssc+bM6X38rne9Kw0NDdlzzz1z/vnnZ/78+Xnf+96XUaNGJUmWLVuWc889NzNmzMg111yTzs7OnZIDAID+pUwHAABqTldXVz796U/niCOOyHe+8510dXWlsbExf/M3f5P58+fnS1/6UsaOHfuM55x++ukZPnx42tvbc/jhh+/UPIccckiuu+66TJ48OX/7t3/7jH3Dhw/PzJkzM3/+/Fx44YXZZ599kiSrV6/Ol7/85Rx11FH5zGc+k1WrVu3UTAAA7FxFtQMAAMCOKue0lGldWO0YDKC1a9fm4osvzs9+9rNs3LgxSdLU1JTjjjsuH/vYx9Lc3LzN599///3Zb7/9+i3fxo0bt7iG+l/6zW9+k0svvTR33nln77aiKPKa17wmZ511Vg488MB+y0hd6iiKYkK1QwBAvVOmAwBQs8qyvCCJm5AOAqtXr85FF12U+fPnp7u7O0kydOjQvOlNb8o555zTuy55rVm2bFkuv/zy/PznP++9riSZPHlyzj777GcsTQPboEwHgAGgTAcAoGYp0+vfqlWr8qlPfSq/+MUvem/YOXTo0Lz97W/P2WefncbGxion3Dkef/zxXH311fn+97//jDXUx48fn1mzZuVNb3pT3Vwr/WBB27rc+5MPFrMWXVXtKABQz5TpAADULMu81K8VK1bkggsuyK9//eveEr25uTnvete7csYZZ6Qo6vNXma6urlx33XW5+uqrn7GG+siRI/POd74zp5xySkaOHFnFhOySlOkAMCDq8ydQAAAGBWV6/XnwwQcze/bs3H777b3bRo4cmVNOOSWnnnpqFZMNrLIsc/PNN+eKK67IH/7wh97tTU1NOfbYY3PmmWdmwgSrevAkZToADIi+74wDAADQz5YuXZpPfepT+d3vfpeyLJMkY8aMycyZM3PiiSdWOd3AK4oir33ta/Pa174299xzTy677LIsXLgwGzduzPXXX5+f/vSnmTp1as4+++y8+MUvrnZcAIBBQZkOAABUzT333JMLL7wwixcv7i3Rx44dmzPOOCNve9vbqpxu1zBlypRceeWVWbFiRf75n/85N9xwQzZs2JBFixblpJNOyn777ZcPfOADmT59et0ufwMAsCvwkxYAADXLMi+167//+79z0UUXZcmSJb3bxo0blw9+8IN5wxveUMVku761a9fm2muvzbe+9a38+c9/7t0+duzYvPe978073vGODB06tIoJqYKOoiis+wMA/UyZDgBAzSrL8oIkbdXOwfa77bbbcvHFF+eBBx7o3TZhwoT84z/+Y2bMmFHFZLWnUqnkJz/5Sa688so88sgjvdubm5vzlre8JaeddlrGjh1bxYQMIGU6AAwAZToAADVLmV47brnllnz+85/PQw891Ltt4sSJOeecc3LkkUdWMVl9WLRoUS677LLcfffdvcvlNDY25ogjjshZZ52V/fbbr8oJ6VduQAoAA0KZDgBAzbLMy67vpptuyiWXXJKOjo7ebfvtt18+9rGP5ZWvfGUVk9Wn+++/P5dffnluvvnmVCqVJD03M50yZUo+9KEPpaWlpcoJ6RfKdAAYEG5ACgAA7HQ//vGPc/nll2flypVJegrdgw46KOedd14OPfTQKqerX/vtt1++9KUv5bHHHsvXvva1/OAHP8j69etz9913p7W1NRMmTMj73ve+HH/88WloaKh2XACAmmIyHQCAmmUyfdfzH//xH7nyyivz2GOP9W6bMmVKzj///EyePLmKyQanrq6ufO9738u//Mu/5NFHH+3dPmrUqJx44on5h3/4h4wYMaKKCdkpTKYDwIBQpgMAULOU6buOb37zm7n66quzZs2aJD2T6C95yUtywQUXZP/9969uOFKWZX7+85/niiuuyH333de7fciQITnuuONyxhlnZPz48dULyHOjTAeAAaFMBwCgZinTq+9rX/tarrnmmqxduzZJT4k+derUtLW1ZeLEiVVOx5bcfffdufTSS3P77bf33qy0oaEh06ZNy1lnnZUpU6ZUOSE7oKMoignVDgEA9U6ZDgBAzSrL8oIkbdXOMdiUZZmvfOUr+c53vpPOzs4kPSX6YYcdlvPPP9+Ec43o6OjIV77ylfzsZz/Lxo0be7cfeOCB+cAHPpAjjzwyReFXxhqhTAeAAeAnIwAAapYyfWB1d3fn0ksvzXXXXZf169cn6SnRjzzyyJx//vnZfffdq5yQHfHEE0/kmmuuyb/927/liSee6N2+xx575LTTTstb3vKWDB06tIoJ6ZNlXgBgQCjTAQCoWZZ5GRhdXV354he/mB/96EfZsGFDkqSxsTFHH310zjvvvIwePbrKCdkZuru78+Mf/zhz5sxJR0dH7/bm5ua8/e1vz6mnnpoxY8ZUMSFbpUwHgAHRUO0AAADAwFuzZk3mzZu3zWPWrl2b888/P0ceeWS+//3vZ8OGDWlqasrxxx+fBQsW5LOf/awivY40NjbmzW9+c66//vpceeWVmTJlSoqiSGdnZ6699tocc8wxOeecc/Lggw/2ea5Vq1b1rscOAFAvmqodAAAAGFiPP/54zjzzzCxfvjyHHXZYRowY8Yz9a9asyac//enMnz8/3d3dSZIhQ4bkjW98Yz7ykY9Y8mMQeOUrX5lvfetbue+++/LlL385t956a7q7uzNv3rzMnz8/hxxySM4+++y84hWv2OLzL7rooowbNy4f/ehH09BghgsAqA/KdAAAGERWrVqV008/PUuWLEmSfP/7389JJ52UJHn00UfzqU99KrfeemsqlUqSZNiwYfm7v/u7fOhDH0pTk18fBpv9998/l156aVatWpWvfe1r+eEPf5j169fnd7/7XWbOnJl99tknZ5xxRl73utf1lub3339/FixYkKTn83bRRRf5BxgAoC5YMx0AgJplzfRnZ8WKFTn99NNz//33927bY4898o1vfCOf+cxn8qtf/ap3aY7hw4fn7//+73PmmWemsbGxWpHZxaxfvz7//u//nm984xt5/PHHe7ePHj06J598ck444YRcdtll+d73vte7r6WlJZdccklGjRpVjciDRUdRFBOqHQIA6p0yHQCAmlWW5QVJ2qqdoxY8/PDDmTVrVpYvX77N40aMGJGTTjopp512WorCrwtsWVmWmTt3br761a/mgQce6N3e1NSU7u7uzdZLP/jgg3PFFVdk3LhxAx11sFCmA8AA8NMxAAA1S5m+fZYtW5ZZs2alo6Njq8eMGjUqp556ak4++eQBTEY9+N3vfpfLLrssv/3tb7d509GJEyfmq1/9aiZNmjSA6QaJBW3rcu9PPljMWnRVtaMAQD1zJxgAAGpX+zRFeh+WLl2amTNnbrNIT5Kzzz5bkc4OeclLXpKrrroq3//+9zNkyJCtHrd8+fK85z3vyd133z2A6QAAdh5lOgAA1Kl77703p512Wv70pz/1eezXv/71bNy4cQBSUa8WLlyYDRs2bPOYRx99NK2trfnVr341QKkAAHYeZToAANShO++8M6eeemoee+yx7Tp++fLlueGGG/o5FfWqUqlkzpw523Xs2rVrc+aZZ+ZHP/pRP6cCANi5lOkAAFBnrrnmmpx88slZu3bts3reTTfd1E+JqHe33HJLVq5cud3Hl2WZ2bNn5x3veEceeuihfkwGALDzuAEpAAA1q5zTUqZ1YbVj7DIeeuihXHjhhbntttu2uH/o0KGZNGlSJk2alH333bf3+0mTJmXChAlpaDBrw465++67c8cdd+SPf/xjOjo60tHRkRUrVqSjoyPr16/f5nOLosgxxxyTU045JS960YsGKHHd6SiKYkK1QwBAvWuqdgAAANhhrQtnJ3ET0ictWrQot912W4qiyLBhw3LUUUdl2rRpvYX5uHHjFOb0ixe96EVbLMLLssyaNWueUa53dHRk2bJl+c///M+MGDEia9euzY033pgDDjhAmQ4A7NJMpgMAULPKsrwg2yrT169Jho0esDzVtmbNmtxyyy1paWnJXnvtVe04/W8w/P0OgmtcuXJlrr322pxwwgkZP358teMMrJ3197ugbV3u/ckH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","width":1491,"y":-30,"x":-30},"elements":{"page":{"gridSize":15,"showGrid":true,"orientation":"portrait","height":2100,"backgroundColor":"transparent","width":1500,"padding":20},"theme":{"linker":{"lineStyle":{"lineColor":"50,50,50","lineWidth":2},"fontStyle":{"bold":false,"color":"50,50,50","fontFamily":"Arial","italic":false,"size":13}},"name":"colorful_green","shape":{"lineStyle":{"lineColor":"50,50,50","lineWidth":2},"fillStyle":{"color":"110,212,100","type":"solid"},"fontStyle":{"bold":false,"color":"50,50,50","fontFamily":"Arial","italic":false,"size":13}}},"elements":{"1674f16afdf82c":{"to":{"id":"1674f114e4defb","angle":4.71238898038469,"y":244.5999984741211,"x":791.600004196167},"id":"1674f16afdf82c","linkerType":"normal","text":"","lineStyle":{},"name":"linker","from":{"id":"1674efd65474c","y":386.6628255394741,"angle":1.5707963267948966,"x":795.7555018423593},"dataAttributes":[],"locked":false,"points":[],"group":"","props":{"zindex":-3}},"1674ecde48f6cf":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-zuul-a"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ecde48ff9b","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ecde48feed","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ecde48f732","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ecde48f506","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ecde48ffc6","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ecde48f6cf","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,179,102","type":"solid"},"locked":false,"group":"1674f23f09c32d","props":{"w":120,"angle":0,"h":40,"y":469.1249990463257,"zindex":2,"x":483.5}},"1674ece74e4cba":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-eureka-a"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ece74e4709","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ece74e44c8","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ece74e487b","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ece74e4f75","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ece74e48f4","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ece74e4cba","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,153,51","type":"solid"},"locked":false,"group":"1674f1e148c302","props":{"w":120,"angle":0,"h":40,"y":75,"zindex":4,"x":746.0000057220459}},"1674f0d671ce9d":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"服务间异步通信"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f0d6dec033","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f0d6dec5a9","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f0d6dec9c2","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f0d6dec965","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f0d6dec87e","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f0d671ce9d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,255,255","type":"solid"},"locked":false,"group":"","props":{"w":34.5,"angle":0,"h":56.19999885559082,"y":722.4999990463257,"zindex":25,"x":808}},"1674eccd695798":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"nginx"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674eccd695bac","category":"default","name":"序号","value":"","type":"number"},{"id":"1674eccd695b5e","category":"default","name":"名称","value":"","type":"string"},{"id":"1674eccd695cd2","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674eccd69579d","category":"default","name":"连接","value":"","type":"link"},{"id":"1674eccd6957b9","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674eccd695798","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":120,"angle":0,"h":40,"y":501.9499988555908,"zindex":1,"x":287}},"1674f0d236ab76":{"to":{"id":"1674efd65474c","angle":4.71238898038469,"y":656.6000061035156,"x":852.2000007629395},"id":"1674f0d236ab76","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"1674f061c6694b","y":843.5999984741211,"angle":1.5707963267948966,"x":851.6090164982775},"dataAttributes":[],"locked":false,"points":[{"y":750.1000022888184,"x":851.6090164982775},{"y":750.1000022888184,"x":852.2000007629395}],"group":"","props":{"zindex":24}},"1674f147706488":{"id":"1674f147706488","to":{"id":"1674f111ef4a69","y":156.30000019073486,"angle":1.5707963267948966,"x":721.1499996185303},"text":"","linkerType":"normal","name":"linker","lineStyle":{},"points":[],"locked":false,"dataAttributes":[],"from":{"id":"1674ece74e4cba","y":115,"angle":4.71238898038469,"x":806.0000057220459},"props":{"zindex":29}},"1674ed19c6a0e5":{"id":"1674ed19c6a0e5","to":{"id":"1674eccd695798","y":521.9499988555908,"angle":0,"x":287},"text":"","linkerType":"broken","name":"linker","lineStyle":{"lineWidth":1},"points":[{"y":463.6499996185303,"x":234.5},{"y":521.9499988555908,"x":234.5}],"locked":false,"dataAttributes":[],"from":{"id":"1674ece2d36772","y":463.6499996185303,"angle":3.141592653589793,"x":182},"group":"","props":{"zindex":12}},"1674f22e040d98":{"id":"1674f22e040d98","to":{"id":"1674f219f713c7","y":521.9499988555908,"angle":0,"x":475.35000228881836},"text":"","linkerType":"normal","name":"linker","lineStyle":{},"points":[],"locked":false,"dataAttributes":[],"from":{"id":"1674eccd695798","y":521.9499988555908,"angle":3.141592653589793,"x":407},"group":"","props":{"zindex":42}},"1674f0c56568c9":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"获取服务列表"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f0c5d8d2cf","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f0c5d8da64","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f0c5d8d709","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f0c5d8de1d","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f0c5d8d2df","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f0c56568c9","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,255,255","type":"solid"},"locked":false,"group":"","props":{"w":34.5,"angle":0,"h":56.19999885559082,"y":278.30000019073486,"zindex":22,"x":842.5}},"1674f1a3744be":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-search-b"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f1a409ca28","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f1a409ce34","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f1a409cfe5","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f1a409ca95","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f1a409cbe","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f1a3744be","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"102,255,255","type":"solid"},"locked":false,"group":"1674f1d192dda3","props":{"w":120,"angle":0,"h":40,"y":596.6000022888184,"zindex":40,"x":760.0909613764784}},"1674f0bc1e7ef6":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"注册"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f0bc1e734d","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f0bc1e7d04","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f0bc1e742b","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f0bc1e7a5b","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f0bc1e7f11","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f0bc1e7ef6","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"255,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":51,"y":304.4000072479248,"h":24.39999771118164,"angle":0,"x":760.0909613764784,"zindex":21}},"1674f061c6694b":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"RabbitMq"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f0624ae4df","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f0624ae9e5","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f0624aedce","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f0624ae73a","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f0624aeade","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f061c6694b","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":120,"angle":0,"h":40,"y":843.5999984741211,"zindex":18,"x":773.2090226017931}},"1674f114e4defb":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"255,153,51","lineStyle":"dashed","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f114e4db1a","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f114e4d99a","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f114e4d078","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f114e4dfd6","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f114e4d5c2","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f114e4defb","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"255,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f1e148c302","props":{"w":323.3999938964844,"y":58.59999084472656,"h":186.60000705718994,"angle":0,"x":653.0000057220459,"zindex":-2}},"1674ece2d36772":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"APP"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ece2d36e86","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ece2d36fa2","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ece2d365a8","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ece2d36224","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ece2d36ea2","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ece2d36772","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"","props":{"w":120,"y":443.6499996185303,"h":40,"angle":0,"x":62,"zindex":3}},"1674f0049cfbdf":{"to":{"id":"1674efef5a71ff","angle":0,"y":521.9499988555908,"x":1205.1999969482422},"id":"1674f0049cfbdf","linkerType":"broken","text":"","lineStyle":{},"name":"linker","from":{"id":"1674efd65474c","angle":3.141592653589793,"y":521.9499988555908,"x":991.5499877929688},"dataAttributes":[],"locked":false,"points":[{"y":521.9499988555908,"x":1098.3749923706055},{"y":521.9499988555908,"x":1098.3749923706055}],"group":"","props":{"zindex":17}},"1674f1a208426c":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-admin-b"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f1a28950f","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f1a2895a16","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f1a2896d2b","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f1a2896dc4","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f1a2896a0f","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f1a208426c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"102,255,255","type":"solid"},"locked":false,"group":"1674f1d192dda3","props":{"w":120,"angle":0,"h":40,"y":476.60000228881836,"zindex":39,"x":856.3999996185303}},"1674ecec8e0d5d":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-portal-a"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ecec8e0125","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ecec8e09f1","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ecec8e0573","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ecec8e090b","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ecec8e02ee","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ecec8e0d5d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"102,255,255","type":"solid"},"locked":false,"group":"1674f1d192dda3","props":{"w":120,"angle":0,"h":40,"y":417.51666704813636,"zindex":5,"x":674.1000003814697}},"1674ecfb6f2482":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"Mysql"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ecfb6f2bcc","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ecfb6f2d6e","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ecfb6f28e2","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ecfb6f24d6","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ecfb6f2c51","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ecfb6f2482","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"0,255,128","type":"solid"},"locked":false,"group":"1674f213f1452f","props":{"w":120,"angle":0,"h":40,"y":375.8500003814697,"zindex":8,"x":1238.1999969482422}},"1674f154057b6":{"id":"1674f154057b6","to":{"id":"1674ece74e4cba","y":115,"angle":4.71238898038469,"x":806.0000057220459},"text":"","linkerType":"normal","name":"linker","lineStyle":{},"points":[],"locked":false,"dataAttributes":[],"from":{"id":"1674f111ef4a69","y":156.30000019073486,"angle":1.5707963267948966,"x":721.1499996185303},"props":{"zindex":30}},"1674f225096968":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-zuul-b"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f22577d76f","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f22577ddbd","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f22577d5c3","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f22577d705","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f22577d9cd","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f225096968","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,179,102","type":"solid"},"locked":false,"group":"1674f23f09c32d","props":{"w":120,"angle":0,"h":40,"y":534.774998664856,"zindex":41,"x":483.5}},"1674f194a22f19":{"to":{"id":"1674f061c6694b","angle":1.5707963267948966,"y":843.6000061035156,"x":803.2000007629395},"id":"1674f194a22f19","linkerType":"normal","text":"","lineStyle":{},"name":"linker","from":{"id":"1674efd65474c","y":656.6000061035156,"angle":4.71238898038469,"x":804.2000007629395},"dataAttributes":[],"locked":false,"points":[],"group":"","props":{"zindex":37}},"1674ecfecebf6f":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"Redis"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ecfeceb442","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ecfecebbe8","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ecfeceb55b","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ecfecebd04","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ecfeceb065","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ecfecebf6f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"0,255,128","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f213f1452f","props":{"w":120,"y":457.51666704813636,"h":40,"angle":0,"x":1238.1999969482422,"zindex":9}},"1674f19ed44a9f":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-portal-b"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f19f5d46e3","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f19f5d45e9","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f19f5d46ee","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f19f5d4fa7","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f19f5d4b05","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f19ed44a9f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"102,255,255","type":"solid"},"locked":false,"group":"1674f1d192dda3","props":{"w":120,"angle":0,"h":40,"y":476.60000228881836,"zindex":38,"x":678.1000003814697}},"1674f0e0cb450c":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"数据存储"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f0e12fc169","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f0e12fcfc8","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f0e12fc21f","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f0e12fcec7","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f0e12fc828","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f0e0cb450c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,255,255","type":"solid"},"locked":false,"group":"","props":{"w":73.5,"angle":0,"h":22.19999885559082,"y":490.5999984741211,"zindex":26,"x":1054.8999938964844}},"1674efd65474c":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":""}],"lineStyle":{"lineColor":"0,255,255","lineStyle":"dashed","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674efd654755c","category":"default","name":"序号","value":"","type":"number"},{"id":"1674efd6547adc","category":"default","name":"名称","value":"","type":"string"},{"id":"1674efd6547bb6","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674efd6547249","category":"default","name":"连接","value":"","type":"link"},{"id":"1674efd6547023","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674efd65474c","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,255,255","type":"solid"},"locked":false,"group":"1674f1d192dda3","props":{"w":329.799991607666,"angle":0,"h":271,"y":386.4499988555908,"zindex":0,"x":661.7499961853027}},"1674ed1d77f1cc":{"id":"1674ed1d77f1cc","to":{"id":"1674eccd695798","y":521.9499988555908,"angle":0,"x":287},"text":"","linkerType":"broken","name":"linker","lineStyle":{"lineWidth":1},"points":[{"y":576.6000022888184,"x":234.5},{"y":521.9499988555908,"x":234.5}],"locked":false,"dataAttributes":[],"from":{"id":"1674ed1c0498f","y":576.6000022888184,"angle":3.141592653589793,"x":182},"group":"","props":{"zindex":14}},"1674f154d44457":{"id":"1674f154d44457","to":{"id":"1674ece74e4cba","y":115,"angle":4.71238898038469,"x":806.0000057220459},"text":"","linkerType":"normal","name":"linker","lineStyle":{},"points":[],"locked":false,"dataAttributes":[],"from":{"id":"1674f11267bec5","y":156.30000019073486,"angle":1.5707963267948966,"x":897.6499996185303},"props":{"zindex":31}},"1674ecf0675037":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-search-a"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ecf0675d4","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ecf0675f59","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ecf06754c2","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ecf0675c83","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ecf0675aba","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ecf0675037","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"102,255,255","type":"solid"},"locked":false,"group":"1674f1d192dda3","props":{"w":120,"angle":0,"h":40,"y":539.8203326087139,"zindex":6,"x":761.9909609950087}},"1674f16bf3dcba":{"to":{"id":"1674efd65474c","angle":1.5707963267948966,"y":386.6628255394741,"x":852.330677863118},"id":"1674f16bf3dcba","linkerType":"normal","text":"","lineStyle":{},"name":"linker","from":{"id":"1674f114e4defb","y":244.5999984741211,"angle":4.71238898038469,"x":847.600004196167},"dataAttributes":[],"locked":false,"points":[],"group":"","props":{"zindex":36}},"1674f219f713c7":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":""}],"lineStyle":{"lineColor":"255,179,102","lineStyle":"dashed","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f219f716d7","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f219f71a24","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f219f713ac","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f219f71ae","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f219f71bcb","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f219f713c7","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"basic","title":"矩形","name":"rectangle","fillStyle":{"color":"255,255,255","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f23f09c32d","props":{"w":136.29999542236328,"y":445.8124985694885,"h":152.2750005722046,"angle":0,"x":475.35000228881836,"zindex":-4}},"1674f156e5bdf7":{"id":"1674f156e5bdf7","to":{"id":"1674f11267bec5","y":176.30000019073486,"angle":0,"x":837.6499996185303},"text":"","linkerType":"normal","name":"linker","lineStyle":{},"points":[],"locked":false,"dataAttributes":[],"from":{"id":"1674f111ef4a69","y":176.30000019073486,"angle":3.141592653589793,"x":781.1499996185303},"props":{"zindex":34}},"1674efecac0351":{"id":"1674efecac0351","to":{"id":"1674efd65474c","y":521.9499988555908,"angle":0,"x":661.7499961853027},"text":"","linkerType":"broken","name":"linker","lineStyle":{},"points":[{"y":521.9499988555908,"x":636.6999969482422},{"y":521.9499988555908,"x":636.6999969482422}],"locked":false,"dataAttributes":[],"from":{"id":"1674f219f713c7","y":521.9499988555908,"angle":3.141592653589793,"x":611.6499977111816},"group":"","props":{"zindex":16}},"1674ed048d7a2f":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"ElasticSearch"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ed048d704c","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ed048d72c","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ed048d7ace","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ed048d7737","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ed048d7f8f","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ed048d7a2f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"0,255,128","type":"solid"},"locked":false,"group":"1674f213f1452f","props":{"w":120,"angle":0,"h":40,"y":542.183333714803,"zindex":10,"x":1238.1999969482422}},"1674ed1c0498f":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"PC"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ed1c0499ca","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ed1c0498d","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ed1c04958f","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ed1c04907d","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ed1c0493e6","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ed1c0498f","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{},"locked":false,"group":"","props":{"w":120,"angle":0,"h":40,"y":556.6000022888184,"zindex":13,"x":62}},"1674efef5a71ff":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":""}],"lineStyle":{"lineColor":"0,255,128","lineStyle":"dashed","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674efef5a7dc3","category":"default","name":"序号","value":"","type":"number"},{"id":"1674efef5a7f4f","category":"default","name":"名称","value":"","type":"string"},{"id":"1674efef5a7852","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674efef5a7dc9","category":"default","name":"连接","value":"","type":"link"},{"id":"1674efef5a7ff7","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674efef5a71ff","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,255,255","type":"solid"},"locked":false,"group":"1674f213f1452f","props":{"w":186,"angle":0,"h":325,"y":359.4499988555908,"zindex":-1,"x":1205.1999969482422}},"1674f156793ae6":{"id":"1674f156793ae6","to":{"id":"1674f111ef4a69","y":176.30000019073486,"angle":3.141592653589793,"x":781.1499996185303},"text":"","linkerType":"normal","name":"linker","lineStyle":{},"points":[],"locked":false,"dataAttributes":[],"from":{"id":"1674f11267bec5","y":176.30000019073486,"angle":0,"x":837.6499996185303},"props":{"zindex":33}},"1674ed110a4f7d":{"textBlock":[{"position":{"w":"w-20","y":0,"h":"h","x":10},"text":"Mongo"}],"lineStyle":{"lineWidth":0},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ed110a4d8d","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ed110a4268","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ed110a41e6","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ed110a40e1","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ed110a44f9","category":"default","name":"便笺","value":"","type":"string"},{"id":"1674ed110a42a","category":"default","name":"成本","value":"","type":"number"},{"id":"1674ed110a4003","category":"default","name":"时间","value":"","type":"number"},{"id":"1674ed110a4f41","category":"default","name":"部门","value":"","type":"string"},{"id":"1674ed110a4446","category":"default","name":"输入","value":"","type":"string"},{"id":"1674ed110a4e63","category":"default","name":"输出","value":"","type":"string"},{"id":"1674ed110a44b5","category":"default","name":"风险","value":"","type":"string"},{"id":"1674ed110a452f","category":"default","name":"备注","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ed110a4f7d","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"category":"flow","title":"流程","name":"process","fillStyle":{"color":"0,255,128","type":"solid"},"path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"locked":false,"group":"1674f213f1452f","props":{"w":120,"y":624.8500003814697,"h":40,"angle":0,"x":1238.1999969482422,"zindex":11}},"1674f111ef4a69":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-eureka-b"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f112675f2a","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f112675f48","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f1126751e9","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f112675c28","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f112675b19","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f111ef4a69","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,153,51","type":"solid"},"locked":false,"group":"1674f1e148c302","props":{"w":120,"angle":0,"h":40,"y":156.30000019073486,"zindex":27,"x":661.1499996185303}},"1674f11267bec5":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-eureka-c"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674f112eed2f7","category":"default","name":"序号","value":"","type":"number"},{"id":"1674f112eed489","category":"default","name":"名称","value":"","type":"string"},{"id":"1674f112eed2c6","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674f112eed7d3","category":"default","name":"连接","value":"","type":"link"},{"id":"1674f112eed788","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674f11267bec5","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"255,153,51","type":"solid"},"locked":false,"group":"1674f1e148c302","props":{"w":120,"angle":0,"h":40,"y":156.30000019073486,"zindex":28,"x":837.6499996185303}},"1674ecf413e047":{"textBlock":[{"position":{"w":"w-20","h":"h","y":0,"x":10},"text":"mall-admin-a"}],"lineStyle":{"lineColor":"255,255,255","lineWidth":1},"link":"","children":[],"parent":"","attribute":{"linkable":true,"visible":true,"container":false,"rotatable":true,"markerOffset":5,"collapsable":false,"collapsed":false},"fontStyle":{},"resizeDir":["tl","tr","br","bl"],"dataAttributes":[{"id":"1674ecf4140c6","category":"default","name":"序号","value":"","type":"number"},{"id":"1674ecf4140058","category":"default","name":"名称","value":"","type":"string"},{"id":"1674ecf414046b","category":"default","name":"所有者","value":"","type":"string"},{"id":"1674ecf414023c","category":"default","name":"连接","value":"","type":"link"},{"id":"1674ecf414098d","category":"default","name":"便笺","value":"","type":"string"}],"shapeStyle":{"alpha":1},"id":"1674ecf413e047","anchors":[{"y":"0","x":"w/2"},{"y":"h","x":"w/2"},{"y":"h/2","x":"0"},{"y":"h/2","x":"w"}],"title":"矩形","category":"basic","name":"rectangle","path":[{"actions":[{"action":"move","y":"0","x":"0"},{"action":"line","y":"0","x":"w"},{"action":"line","y":"h","x":"w"},{"action":"line","y":"h","x":"0"},{"action":"close"}]}],"fillStyle":{"color":"102,255,255","type":"solid"},"locked":false,"group":"1674f1d192dda3","props":{"w":120,"angle":0,"h":40,"y":415.8500003814697,"zindex":7,"x":856.3999996185303}},"1674f155d475d2":{"id":"1674f155d475d2","to":{"id":"1674f11267bec5","y":156.30000019073486,"angle":1.5707963267948966,"x":897.6499996185303},"text":"","linkerType":"normal","name":"linker","lineStyle":{},"points":[],"locked":false,"dataAttributes":[],"from":{"id":"1674ece74e4cba","y":115,"angle":4.71238898038469,"x":806.0000057220459},"props":{"zindex":32}}}}},"meta":{"id":"5bfb97fce4b0ef094cbcfd34","member":"5a210b2ee4b04f355d337104","exportTime":"2019-08-03 09:49:14","diagramInfo":{"category":"flow","title":"系统架构图","created":"2018-11-26 14:51:40","creator":"5a210b2ee4b04f355d337104","modified":"2018-11-26 16:33:24"},"type":"ProcessOn Schema File","version":"1.0"}} ================================================ FILE: document/pos/项目开发进度图.pos ================================================ {"diagram":{"image":{"height":200,"pngdata":"iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAsUlEQVR4nO3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8GXHmAAFMgHIEAAAAAElFTkSuQmCC","width":200,"y":0,"x":0},"elements":{"id":"root","structure":"mind_free","leftChildren":[{"id":"9f28d62a5672","title":"前台","parent":"root","children":[{"id":"c68327c7119f","title":"首页门户","task":{"completion":"10"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"17","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"03d7217100d9","title":"商品推荐","task":{"completion":"35"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"19","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"f1fe1fc552ab","title":"商品搜索","task":{"completion":"50"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"20","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"f6df7fb9d389","title":"商品展示","task":{"completion":"50"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"20","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"ef9a76e89256","title":"购物车","task":{"completion":"50"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"20","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"b172bea6db59","title":"订单流程","task":{"completion":"50"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"20","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"5099daff583b","title":"会员中心","task":{"completion":"10"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"17","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"d8485d715f62","title":"客户服务","task":{"completion":"10"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"17","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"1766943525e6","title":"帮助中心","task":{"completion":"10"},"children":[],"parent":"9f28d62a5672","icons":[{"index":"17","color":"rgb(0, 166, 80)","name":"completion"}]}]}],"title":"mall","root":true,"theme":"default","children":[{"id":"90e923d09398","title":"后台","parent":"root","children":[{"id":"dff7f75a0ed4","title":"商品管理","task":{"completion":"100"},"parent":"90e923d09398","children":[],"icons":[{"text":"","index":"24","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"6e33db4f10c9","title":"订单管理","task":{"completion":"100"},"parent":"90e923d09398","children":[],"icons":[{"text":"","index":"24","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"27cc62ad6c28","title":"会员管理","task":{"completion":"10"},"children":[],"parent":"90e923d09398","icons":[{"text":"","index":"17","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"6e37938e8956","title":"促销管理","task":{"completion":"100"},"children":[],"parent":"90e923d09398","icons":[{"text":"","index":"24","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"efe9e584bd7f","title":"运营管理","task":{"completion":"100"},"children":[],"parent":"90e923d09398","icons":[{"text":"","index":"24","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"30b686fb8384","title":"内容管理","task":{"completion":"10"},"children":[],"parent":"90e923d09398","icons":[{"text":"","index":"17","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"885c0538496d","title":"统计报表","task":{"completion":"10"},"children":[],"parent":"90e923d09398","icons":[{"text":"","index":"17","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"e20400573fac","title":"财务管理","task":{"completion":"10"},"children":[],"parent":"90e923d09398","icons":[{"text":"","index":"17","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"1c2047f6a380","title":"权限管理","task":{"completion":"50"},"children":[],"parent":"90e923d09398","icons":[{"text":"","index":"20","color":"rgb(0, 166, 80)","name":"completion"}]},{"id":"75c14d3c2f50","title":"设置","task":{"completion":"10"},"children":[],"parent":"90e923d09398","icons":[{"text":"","index":"17","color":"rgb(0, 166, 80)","name":"completion"}]}]}]}},"meta":{"id":"5bfcade2e4b0ef094cbe3658","member":"5a210b2ee4b04f355d337104","exportTime":"2019-08-03 09:48:53","diagramInfo":{"category":"mind_free","title":"项目开发进度图","created":"2018-11-27 10:37:22","creator":"5a210b2ee4b04f355d337104","modified":"2018-11-27 10:54:56"},"type":"ProcessOn Schema File","version":"1.0"}} ================================================ FILE: document/reference/deploy_windows.md ================================================ # mall-swarm 在Windows环境下的部署 ## 开发环境搭建 > `mall-swarm`中使用到的环境和`mall`项目中大致相同,具体可以查看[mall在Windows环境下的部署](https://github.com/macrozheng/mall-learning/blob/master/docs/deploy/mall_deploy_windows.md)。 简易环境搭建流程: - 安装IDEA并导入项目源码; - 安装MySql,创建一个`mall`数据库,并导入`/document/sql/mall.sql`文件; - 安装Redis、Elasticsearch、MongoDB、RabbitMQ等环境。 ## 项目部署 > `mall-swarm`项目启动有先后顺序,大家要按照以下顺序启动。 ### 启动注册中心`mall-registory` - 直接运行com.macro.mall.MallRegistryApplication的main函数即可; - 运行完成后可以通过注册中心控制台查看:http://localhost:8001 ### 启动配置中心`mall-config` - 直接运行com.macro.mall.MallConfigApplication的main函数即可; - 访问以下接口获取mall-admin在dev环境下的配置信息:http://localhost:8301/master/admin-dev.yml ### 启动监控中心`mall-monitor` - 直接运行com.macro.mall.MallMonitorApplication的main函数即可; - 运行完成后可以通过监控中心控制台查看:http://localhost:8101 - 输入账号密码`macro:123456`可以登录查看。 ### 启动网关服务`mall-gateway` - 直接运行com.macro.mall.MallGatewayApplication的main函数即可; - 访问以下接口获取动态路由规则:http://localhost:8201/actuator/gateway/routes ### 启动后台管理服务`mall-admin` - 直接运行com.macro.mall.MallAdminApplication的main函数即可; - 通过`mall-gateway`网关服务访问接口文档:http://localhost:8201/mall-admin/swagger-ui.html ![](../resource/mall_swarm_windows_06.png) - 登录接口地址:http://localhost:8201/mall-admin/admin/login - 访问登录接口获取到token后放入认证的头信息即可正常访问其他需要登录的接口: ![](../resource/mall_swarm_windows_09.png) ### 启动前台服务`mall-portal` - 直接运行com.macro.mall.portal.MallPortalApplication的main函数即可; - 通过`mall-gateway`网关服务访问接口文档:http://localhost:8201/mall-portal/swagger-ui.html ![](../resource/mall_swarm_windows_07.png) - 登录接口地址:http://localhost:8201/mall-portal/sso/login - 调用需要登录的接口方式同`mall-admin`。 ### 启动搜索服务`mall-search` - 直接运行com.macro.mall.search.MallSearchApplication的main函数即可; - 通过`mall-gateway`网关服务访问接口文档:http://localhost:8201/mall-search/swagger-ui.html ![](../resource/mall_swarm_windows_10.png) ### 启动测试服务`mall-demo` - 直接运行com.macro.mall.MallAdminApplication的main函数即可; - 通过`mall-gateway`网关服务访问接口文档:http://localhost:8201/mall-demo/swagger-ui.html ![](../resource/mall_swarm_windows_08.png) - 可以通过调用FeignAdminController、FeignPortalController、FeignSearchController来测试使用Feign的远程调用功能。 ## 效果展示 - 注册中心服务信息: ![](../resource/mall_swarm_windows_01.png) - 监控中心服务概览信息: ![](../resource/mall_swarm_windows_02.png) ![](../resource/mall_swarm_windows_03.png) - 监控中心单应用详情信息: ![](../resource/mall_swarm_windows_04.png) ![](../resource/mall_swarm_windows_05.png) ================================================ FILE: document/reference/dev_flow.md ================================================ # mall ## 技术选型 ### 后端技术 技术 | 名称 ----|---- Spring Boot | 容器+MVC框架 Spring Security | 认证和授权框架 MyBatis | ORM框架 MyBatisGenerator | 数据层代码生成 PageHelper | MyBatis物理分页插件 Swagger-UI | 文档生产工具 Hibernator-Validator | 验证框架 Elasticsearch | 搜索引擎 RabbitMq | 消息队列 Redis | 分布式缓存 MongoDb | NoSql数据库 Docker | 应用容器引擎 Druid | 数据库连接池 ### 前端技术 技术 | 名称 ----|---- Vue | 前端框架 Vue-router | 路由框架 Vuex | 全局状态管理框架 Element | 前端UI框架 Axios | 前端HTTP框架 Js-cookie | cookie管理工具 ### 框架搭建 功能 | 完成 ----|---- 集成MyBatis | ✔ 集成MyBatisGenerator | ✔ 集成SpringSecurity | ✔ 集成Swagger-UI | ✔ 集成Hibernator-Validator | ✔ 集成日志功能 | ✔ 集成监控功能 | ✔ crud操作demo | ✔ 合理规划包结构 | ✔ SpringAOP通用日志处理 | ✔ SpringAOP通用验证失败结果返回 | ✔ CommonResult对通用返回结果进行封装 | ✔ SpringSecurity登录改为Restful形式 | ✔ JWT登录、注册、获取token | ✔ JTA事务处理 | ✔ 集成单元测试 | ✔ OSS上传功能 | ✔ Elasticsearch搜索功能 | ✔ HTTPS支持 | ✔ Redis数字型ID生成 | ✔ SpringTask定时任务支持 | ✔ docker容器化部署 | ✔ 配置区分生产和测试环境 | ✔ ELK日志收集功能 | ✔ RabbitMq异步通信 | ✔ RestTemplate服务间调用 | ✔ SpringSecurity权限管理功能 | ✔ 集成SpringCloud | ### 使用工具 工具 | 下载地址 ----|---- 开发工具idea | https://www.jetbrains.com/idea/download redis客户端连接工具 | https://redisdesktop.com/download mongo客户端连接工具 | https://robomongo.org/download 本地host管理 | https://oldj.github.io/SwitchHosts/ Linux远程连接工具 | http://www.netsarang.com/download/software.html 数据库连接工具 | http://www.formysql.com/xiazai.html 数据库设计工具 | http://powerdesigner.de/ 原型设计工具 | https://www.axure.com/ 思维导图设计工具 | http://www.edrawsoft.cn/mindmaster gif录制工具 | https://www.screentogif.com/ ### 后台功能 #### 后台登录功能 ✔ - 后台用户注册功能 - 后台用户登录后获取token - 刷新token功能 #### 商品管理 ✔ > **商品分类管理** - 按父分类编号分页查看分类列表 - 添加、编辑、删除分类 - 转移分类商品 > **商品品牌管理** - 按品牌名称搜索分页查看品牌列表 - 添加、编辑、删除品牌 - 查看当前品牌的所有产品 > **商品属性分类管理** - 添加商品属性分类(名称) - 分页查询全部商品属性分类 - 删除单个商品属性分类 - 修改单个属性分类名称 - 查询单个属性分类信息 > **商品属性管理** - 根据分类查询属性列表或参数列表(分页,支持类型) - 添加商品属性 - 查询单个商品属性 - 编辑商品属性 - 批量删除商品属性 - 分页查询全部商品属性 > **添加商品** - 选择商品分类:根据商品分类id查找分类 - 选择品牌:查询全部品牌 - 选择运费模版:查询全部运费模版 - 设置会员价格:查询所有会员等级,传入List - 添加阶梯价格: 参数传入List - 设置满减价格: 参数传入List - 选择商品属性类别:获取所有商品属性分类,根据商品属性分类的id获取规格和参数(type=0->规格;type=1->参数) - 选择规格并生成库存信息:前端实现 - 添加sku库存信息:参数传入List - 设置属性图片:设置到pic和album_pics字段中去 - 添加商品参数:参数传入List - 添加自定义商品规格:参数传入List - 关联专题:参数传入List关系 - 关联优选:参数传入List关系 > **修改商品** - 根据商品id查询商品信息 - 查询商品基本信息:商品分类名称、品牌名称、运费模版名称 - 查询商品促销信息:商品的会员价格、阶梯价格、满减价格 - 查询商品属性信息:商品属性类别名称、sku库存信息、属性分类对应规格和参数值 - 查询商品关联信息:商品关联专题和关联优选 - 修改商品信息:商品属性分类及规格不可修改,只支持单个sku的修改、删除、新增;商品属性分类及规格可以修改:修改后同时显示原sku库存及属性分类 > **商品分页查询** - 商品的状态:全部商品、已上架、未上架、待审核、未通过 (publishStatus verifyStatus) - 商品名称(%name%) - 商品货号(productSn) - 商品分类id(productCategoryId) - 商品品牌id(brandId) - 批量操作:上下架、推荐、新品、转移分类、放入回收站、审核 - 查看记录:审核记录,操作日志 - sku:根据产品及sku编号获取sku信息,批量修改sku信息 > **商品回收管理** - 分页展示回收商品列表 - 回收商品还原功能 #### 促销管理 > **秒杀活动管理** - 活动列表展示 - 活动上下线 - 设置活动商品 - 添加、编辑、删除活动 > **优惠券管理** - 优惠券列表展示 - 添加、编辑、删除优惠券 - 查看优惠券领取记录 > **活动管理** - 活动列表展示 - 添加、编辑、删除活动 - 活动上下线 - 发布到广告 > **首页推荐** - 品牌推荐:列表展示、是否推荐、排序、删除、多选加入品牌 - 新鲜好物:商品列表展示、是否推荐、排序、删除、多选加入商品 - 人气推荐:商品列表展示、是否推荐、排序、删除、多选加入商品 - 专题精选:专题列表展示、是否推荐、排序、删除、多选加入专题 - 广告管理:广告列表展示、是否上线、排序、删除、添加编辑广告 #### 内容管理 > **专题管理** - 专题列表:查看、删除、推荐专题 - 添加、编辑专题:选择专题分类、添加、删除关联商品 - 专题分类管理:控制显示、排序、编辑删除分类 > **优选主题** - 优选列表:控制显示、排序、删除 - 添加、编辑优选:关联和删除商品 > **话题管理** - 专题列表:查看、删除、热门话题 - 话题分类管理:控制显示、排序、编辑删除分类 > **帮助管理** - 帮助列表:查看、删除、控制显示 - 添加、编辑帮助:选择帮助分类 - 帮助分类管理:控制显示、排序、编辑删除分类 #### 用户管理 > **用户管理** - 用户列表:帐号启用、删除、群发短信 - 批量操作:群发短信、站内信、推送、设置标签、赠送优惠券 - 查看、编辑用户信息:用户详情(统计信息、收货地址、订单记录)、编辑资料、登录日志 - 购买力筛选:最近消费、消费次数、消费金额、订单均价、商品分类、会员等级、用户标签 - 用户标签管理:标签列表、添加、编辑、删除 - 会员等级设置:列表、添加、编辑、设置默认会员等级 > **成才值及积分** - 成长值及积分查询:列表展示、积分明细、成长值明细、修改数值 - 任务奖励设置:新手任务、日常任务 - 更多规则设置:成长值规则、积分规则、积分消费设置 #### 订单管理 > **订单列表** - 订单搜索:订单编号、收货人姓名/号码、订单状态、订单分类、订单来源、提交时间 - 订单操作:查看订单、关闭订单、订单发货、订单跟踪、删除订单 - 批量操作:批量发货、关闭订单、删除订单 > **查看订单** - 订单状态:提交订单、支付订单、平台发货、确认收货、完成评价 - 订单详情操作:修改发票信息、修改收货人信息、修改商品信息、修改费用信息、发送站内信、关闭订单、备注订单、取消订单、订单跟踪、删除订单 - 订单基本信息:订单信息、优惠信息、用户信息 - 发票信息:类型、抬头、内容、收票人信息 - 收货人信息:收货人、手机号、邮政编码、收货地址 - 商品信息:包含商品基本信息 - 费用信息:合计及优惠信息 - 操作信息:订单状态改变记录 > **订单设置** - 秒杀订单超时时间 - 正常订单超时时间 - 订单自动完成时间 - 自动结束交易时间 - 自动好评时间 > **退货申请处理** - 退货申请搜索:服务单号、收货人姓名/号码、处理状态、申请时间、操作人员、处理时间 - 批量操作:删除 - 查看详情:退货商品、服务单信息、确认退货、拒绝退货、确认收货 > **退货原因设置** - 原因列表:类型、排序、是否启用、添加时间 - 添加、编辑原因:同上 - 批量操作:删除 #### 权限管理 ✔ > **权限管理** - 权限管理:添加权限、删除权限、修改权限、以树形结构返回权限 - 角色管理:添加角色、删除角色、更新角色、角色列表、获取相应角色权限、修改相应角色权限 - 成员管理:添加、编辑、删除成员、成员列表、为成员分配角色、获取成员角色、分配+-权限、获取权限列表 角色 | 菜单 ----|---- 管理员 | 所有菜单权限 运营 | 首页、用户、促销、运营、内容 财务 | 首页、统计、财务 美工 | 首页、商品 客服 | 首页、商品、订单 ### 前台功能 #### 商品搜索 ✔ > **综合搜索功能** - 搜索:根据商品标题、副标题、关键字进行搜索; - 筛选:未选择分类时聚合搜索结果,选择出现次数最多的分类,选择分类以后可以根据选择分类的筛选字段进行筛选; - 排序:按新品、销量、价格进行排序 - 搜索返回结果:商品ID、商品图片、名称、副标题、价格、商品销量、新品、商品的参数、品牌名称、分类名称 - 接口:从数据库中查询相关数据并导入es,插入(修改)数据接口,删除数据接口 - 品牌分类筛选:根据搜索结果聚合返回品牌、分类及属性 > **商品推荐功能** - 推荐某商品的相关商品、根据该商品的品牌(10)、分类(6)、名称(8)、关键字(2)、副标题(2) - 根据用户一周浏览记录推荐商品,根据用户搜索记录推荐商品 > **商品热搜功能** - 根据用户搜索记录聚合生成热搜词 > **商品搜索联想功能** - 根据用户搜索记录聚合生成热搜词 #### 购物流程 ✔ > **购物车** - 添加商品到购物车 - 购物车商品列表(商品主图、商品名称、商品数量、商品规格) - 修改购物车中商品数量 - 购物车中商品重选规格 - 购物车中商品删除功能 > **生成确认单** - 生成确认单信息:收货信息、商品信息、价格信息、发票信息、支付方式 - 选择收货地址:默认收货地址 - 选择优惠券及积分抵扣:展示可用优惠券和不可以优惠券 - 计算商品价格:商品合计、运费、优惠券抵扣、积分抵扣、活动优惠 - 选择支付方式:在线支付及货到付款 - 计算应付金额:合计+运费-优惠券抵扣-积分抵扣-活动优惠 > **提交订单** - 将确认单信息转化为订单 - 删除购物车中相关商品 - 添加订单到数据库并锁定库存 - 在线支付选择支付方式:支付宝、微信、银联、ApplePay > **支付订单** - 支付完成后修改订单状态为已支付、扣除库存 > **取消订单(未支付情况下)** - 订单超时后自动取消订单,解除商品库存锁定,返还优惠券,积分 #### 会员模块(我的)✔ > **我的关注** - 关注品牌列表:品牌logo、名称、地址、关注数量 - 取消关注功能 - 关注列表展示 > **我的收藏** - 收藏的商品:商品主图、名称、卖点、价格、找相似 - 收藏的专题:专题主图、标题、副标题、收藏数、浏览数、评论数 - 收藏的话题:话题主图、标题、副标题、收藏数、浏览数、评论数 > **我的足迹** - 浏览过的商品:商品主图、名称、卖点、价格、找相似 - 删除记录功能 - 浏览列表展示 > **会员登录注册** - 登录功能:https登录 - 注册功能:用户名、密码、手机号、手机验证码 - 获取验证码:后台生成验证码,验证码绑定手机号 - 忘记密码:手机号、短信验证码、新密码 - 登出功能 ================================================ FILE: document/reference/function.md ================================================ # mall功能结构说明 ## 后台管理系统 ### 商品管理 ![功能结构图-商品.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_product.jpg) ### 订单管理 ![功能结构图-订单.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_order.jpg) ### 促销管理 ![功能结构图-促销.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_sale.jpg) ### 内容管理 ![功能结构图-内容.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_content.jpg) ### 用户管理 ![功能结构图-用户.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_member.jpg) ## 前台商城系统 ![功能结构图-前台.jpg](https://github.com/macrozheng/mall/blob/master/document/resource/mind_portal.jpg) ================================================ FILE: document/sh/mall-admin.sh ================================================ #!/usr/bin/env bash app_name='mall-admin' docker stop ${app_name} echo '----stop container----' docker rm ${app_name} echo '----rm container----' docker rmi `docker images | grep none | awk '{print $3}'` echo '----rm none images----' docker run -p 8080:8080 --name ${app_name} \ --link mysql:db \ --link nacos-registry:nacos-registry \ -e TZ="Asia/Shanghai" \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/${app_name}/logs:/var/logs \ -d mall/${app_name}:1.0-SNAPSHOT echo '----start container----' ================================================ FILE: document/sh/mall-auth.sh ================================================ #!/usr/bin/env bash app_name='mall-auth' docker stop ${app_name} echo '----stop container----' docker rm ${app_name} echo '----rm container----' docker rmi `docker images | grep none | awk '{print $3}'` echo '----rm none images----' docker run -p 8401:8401 --name ${app_name} \ --link nacos-registry:nacos-registry \ -e TZ="Asia/Shanghai" \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/${app_name}/logs:/var/logs \ -d mall/${app_name}:1.0-SNAPSHOT echo '----start container----' ================================================ FILE: document/sh/mall-gateway.sh ================================================ #!/usr/bin/env bash app_name='mall-gateway' docker stop ${app_name} echo '----stop container----' docker rm ${app_name} echo '----rm container----' docker rmi `docker images | grep none | awk '{print $3}'` echo '----rm none images----' docker run -p 8201:8201 --name ${app_name} \ --link redis:redis \ --link nacos-registry:nacos-registry \ -e TZ="Asia/Shanghai" \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/${app_name}/logs:/var/logs \ -d mall/${app_name}:1.0-SNAPSHOT echo '----start container----' ================================================ FILE: document/sh/mall-monitor.sh ================================================ #!/usr/bin/env bash app_name='mall-monitor' docker stop ${app_name} echo '----stop container----' docker rm ${app_name} echo '----rm container----' docker rmi `docker images | grep none | awk '{print $3}'` echo '----rm none images----' docker run -p 8101:8101 --name ${app_name} \ --link nacos-registry:nacos-registry \ -e TZ="Asia/Shanghai" \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/${app_name}/logs:/var/logs \ -d mall/${app_name}:1.0-SNAPSHOT echo '----start container----' ================================================ FILE: document/sh/mall-portal.sh ================================================ #!/usr/bin/env bash app_name='mall-portal' docker stop ${app_name} echo '----stop container----' docker rm ${app_name} echo '----rm container----' docker rmi `docker images | grep none | awk '{print $3}'` echo '----rm none images----' docker run -p 8085:8085 --name ${app_name} \ --link mysql:db \ --link redis:redis \ --link mongo:mongo \ --link rabbitmq:rabbit \ --link nacos-registry:nacos-registry \ -e TZ="Asia/Shanghai" \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/${app_name}/logs:/var/logs \ -d mall/${app_name}:1.0-SNAPSHOT echo '----start container----' ================================================ FILE: document/sh/mall-search.sh ================================================ #!/usr/bin/env bash app_name='mall-search' docker stop ${app_name} echo '----stop container----' docker rm ${app_name} echo '----rm container----' docker rmi `docker images | grep none | awk '{print $3}'` echo '----rm none images----' docker run -p 8081:8081 --name ${app_name} \ --link mysql:db \ --link elasticsearch:es \ --link nacos-registry:nacos-registry \ -e TZ="Asia/Shanghai" \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/${app_name}/logs:/var/logs \ -d mall/${app_name}:1.0-SNAPSHOT echo '----start container----' ================================================ FILE: document/sql/mall.sql ================================================ /* Navicat Premium Data Transfer Source Server : localhost Source Server Type : MySQL Source Server Version : 50719 Source Host : localhost:3306 Source Schema : mall Target Server Type : MySQL Target Server Version : 50719 File Encoding : 65001 Date: 11/05/2023 15:48:15 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for cms_help -- ---------------------------- DROP TABLE IF EXISTS `cms_help`; CREATE TABLE `cms_help` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `category_id` bigint(20) NULL DEFAULT NULL, `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `show_status` int(1) NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `read_count` int(1) NULL DEFAULT NULL, `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '帮助表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_help -- ---------------------------- -- ---------------------------- -- Table structure for cms_help_category -- ---------------------------- DROP TABLE IF EXISTS `cms_help_category`; CREATE TABLE `cms_help_category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类图标', `help_count` int(11) NULL DEFAULT NULL COMMENT '专题数量', `show_status` int(2) NULL DEFAULT NULL, `sort` int(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '帮助分类表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_help_category -- ---------------------------- -- ---------------------------- -- Table structure for cms_member_report -- ---------------------------- DROP TABLE IF EXISTS `cms_member_report`; CREATE TABLE `cms_member_report` ( `id` bigint(20) NULL DEFAULT NULL, `report_type` int(1) NULL DEFAULT NULL COMMENT '举报类型:0->商品评价;1->话题内容;2->用户评论', `report_member_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '举报人', `create_time` datetime NULL DEFAULT NULL, `report_object` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `report_status` int(1) NULL DEFAULT NULL COMMENT '举报状态:0->未处理;1->已处理', `handle_status` int(1) NULL DEFAULT NULL COMMENT '处理结果:0->无效;1->有效;2->恶意', `note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户举报表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_member_report -- ---------------------------- -- ---------------------------- -- Table structure for cms_prefrence_area -- ---------------------------- DROP TABLE IF EXISTS `cms_prefrence_area`; CREATE TABLE `cms_prefrence_area` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `sub_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `pic` varbinary(500) NULL DEFAULT NULL COMMENT '展示图片', `sort` int(11) NULL DEFAULT NULL, `show_status` int(1) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优选专区' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_prefrence_area -- ---------------------------- INSERT INTO `cms_prefrence_area` VALUES (1, '让音质更出众', '音质不打折 完美现场感', NULL, NULL, 1); INSERT INTO `cms_prefrence_area` VALUES (2, '让音质更出众22', '让音质更出众22', NULL, NULL, NULL); INSERT INTO `cms_prefrence_area` VALUES (3, '让音质更出众33', NULL, NULL, NULL, NULL); INSERT INTO `cms_prefrence_area` VALUES (4, '让音质更出众44', NULL, NULL, NULL, NULL); -- ---------------------------- -- Table structure for cms_prefrence_area_product_relation -- ---------------------------- DROP TABLE IF EXISTS `cms_prefrence_area_product_relation`; CREATE TABLE `cms_prefrence_area_product_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `prefrence_area_id` bigint(20) NULL DEFAULT NULL, `product_id` bigint(20) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 25 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优选专区和产品关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_prefrence_area_product_relation -- ---------------------------- INSERT INTO `cms_prefrence_area_product_relation` VALUES (1, 1, 12); INSERT INTO `cms_prefrence_area_product_relation` VALUES (2, 1, 13); INSERT INTO `cms_prefrence_area_product_relation` VALUES (3, 1, 14); INSERT INTO `cms_prefrence_area_product_relation` VALUES (4, 1, 18); INSERT INTO `cms_prefrence_area_product_relation` VALUES (5, 1, 7); INSERT INTO `cms_prefrence_area_product_relation` VALUES (6, 2, 7); INSERT INTO `cms_prefrence_area_product_relation` VALUES (7, 1, 22); INSERT INTO `cms_prefrence_area_product_relation` VALUES (24, 1, 23); -- ---------------------------- -- Table structure for cms_subject -- ---------------------------- DROP TABLE IF EXISTS `cms_subject`; CREATE TABLE `cms_subject` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `category_id` bigint(20) NULL DEFAULT NULL, `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专题主图', `product_count` int(11) NULL DEFAULT NULL COMMENT '关联产品数量', `recommend_status` int(1) NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `collect_count` int(11) NULL DEFAULT NULL, `read_count` int(11) NULL DEFAULT NULL, `comment_count` int(11) NULL DEFAULT NULL, `album_pics` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '画册图片用逗号分割', `description` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `show_status` int(1) NULL DEFAULT NULL COMMENT '显示状态:0->不显示;1->显示', `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, `forward_count` int(11) NULL DEFAULT NULL COMMENT '转发数', `category_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专题分类名称', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_subject -- ---------------------------- INSERT INTO `cms_subject` VALUES (1, 1, 'polo衬衫的也时尚', NULL, NULL, NULL, '2018-11-11 13:26:55', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '服装专题'); INSERT INTO `cms_subject` VALUES (2, 2, '大牌手机低价秒', NULL, NULL, NULL, '2018-11-12 13:27:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '手机专题'); INSERT INTO `cms_subject` VALUES (3, 2, '晓龙845新品上市', NULL, NULL, NULL, '2018-11-13 13:27:05', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '手机专题'); INSERT INTO `cms_subject` VALUES (4, 1, '夏天应该穿什么', NULL, NULL, NULL, '2018-11-01 13:27:09', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '服装专题'); INSERT INTO `cms_subject` VALUES (5, 1, '夏季精选', NULL, NULL, NULL, '2018-11-06 13:27:18', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '服装专题'); INSERT INTO `cms_subject` VALUES (6, 2, '品牌手机降价', NULL, NULL, NULL, '2018-11-07 13:27:21', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '手机专题'); -- ---------------------------- -- Table structure for cms_subject_category -- ---------------------------- DROP TABLE IF EXISTS `cms_subject_category`; CREATE TABLE `cms_subject_category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类图标', `subject_count` int(11) NULL DEFAULT NULL COMMENT '专题数量', `show_status` int(2) NULL DEFAULT NULL, `sort` int(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题分类表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_subject_category -- ---------------------------- INSERT INTO `cms_subject_category` VALUES (1, '服装专题', NULL, NULL, NULL, NULL); INSERT INTO `cms_subject_category` VALUES (2, '手机专题', NULL, NULL, NULL, NULL); -- ---------------------------- -- Table structure for cms_subject_comment -- ---------------------------- DROP TABLE IF EXISTS `cms_subject_comment`; CREATE TABLE `cms_subject_comment` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `subject_id` bigint(20) NULL DEFAULT NULL, `member_nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `member_icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `show_status` int(1) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题评论表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_subject_comment -- ---------------------------- -- ---------------------------- -- Table structure for cms_subject_product_relation -- ---------------------------- DROP TABLE IF EXISTS `cms_subject_product_relation`; CREATE TABLE `cms_subject_product_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `subject_id` bigint(20) NULL DEFAULT NULL, `product_id` bigint(20) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 71 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题商品关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_subject_product_relation -- ---------------------------- INSERT INTO `cms_subject_product_relation` VALUES (1, 1, 12); INSERT INTO `cms_subject_product_relation` VALUES (2, 1, 13); INSERT INTO `cms_subject_product_relation` VALUES (3, 1, 14); INSERT INTO `cms_subject_product_relation` VALUES (4, 1, 18); INSERT INTO `cms_subject_product_relation` VALUES (5, 1, 7); INSERT INTO `cms_subject_product_relation` VALUES (6, 2, 7); INSERT INTO `cms_subject_product_relation` VALUES (7, 1, 22); INSERT INTO `cms_subject_product_relation` VALUES (29, 1, 23); INSERT INTO `cms_subject_product_relation` VALUES (30, 4, 23); INSERT INTO `cms_subject_product_relation` VALUES (31, 5, 23); INSERT INTO `cms_subject_product_relation` VALUES (68, 2, 26); INSERT INTO `cms_subject_product_relation` VALUES (69, 3, 26); INSERT INTO `cms_subject_product_relation` VALUES (70, 6, 26); -- ---------------------------- -- Table structure for cms_topic -- ---------------------------- DROP TABLE IF EXISTS `cms_topic`; CREATE TABLE `cms_topic` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `category_id` bigint(20) NULL DEFAULT NULL, `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `start_time` datetime NULL DEFAULT NULL, `end_time` datetime NULL DEFAULT NULL, `attend_count` int(11) NULL DEFAULT NULL COMMENT '参与人数', `attention_count` int(11) NULL DEFAULT NULL COMMENT '关注人数', `read_count` int(11) NULL DEFAULT NULL, `award_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '奖品名称', `attend_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参与方式', `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '话题内容', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '话题表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_topic -- ---------------------------- -- ---------------------------- -- Table structure for cms_topic_category -- ---------------------------- DROP TABLE IF EXISTS `cms_topic_category`; CREATE TABLE `cms_topic_category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类图标', `subject_count` int(11) NULL DEFAULT NULL COMMENT '专题数量', `show_status` int(2) NULL DEFAULT NULL, `sort` int(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '话题分类表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_topic_category -- ---------------------------- -- ---------------------------- -- Table structure for cms_topic_comment -- ---------------------------- DROP TABLE IF EXISTS `cms_topic_comment`; CREATE TABLE `cms_topic_comment` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `topic_id` bigint(20) NULL DEFAULT NULL, `member_icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `show_status` int(1) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '专题评论表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of cms_topic_comment -- ---------------------------- -- ---------------------------- -- Table structure for oms_cart_item -- ---------------------------- DROP TABLE IF EXISTS `oms_cart_item`; CREATE TABLE `oms_cart_item` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `product_sku_id` bigint(20) NULL DEFAULT NULL, `member_id` bigint(20) NULL DEFAULT NULL, `quantity` int(11) NULL DEFAULT NULL COMMENT '购买数量', `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '添加到购物车的价格', `product_pic` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品主图', `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品名称', `product_sub_title` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品副标题(卖点)', `product_sku_code` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品sku条码', `member_nickname` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会员昵称', `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间', `modify_date` datetime NULL DEFAULT NULL COMMENT '修改时间', `delete_status` int(1) NULL DEFAULT 0 COMMENT '是否删除', `product_category_id` bigint(20) NULL DEFAULT NULL COMMENT '商品分类', `product_brand` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_sn` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_attr` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品销售属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}]', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 115 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '购物车表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oms_cart_item -- ---------------------------- INSERT INTO `oms_cart_item` VALUES (12, 26, 90, 1, 1, 3788.00, NULL, '华为 HUAWEI P20', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2018-08-27 16:53:44', NULL, 1, 19, NULL, NULL, NULL); INSERT INTO `oms_cart_item` VALUES (13, 27, 98, 1, 3, 2699.00, NULL, '小米8', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2018-08-27 17:11:53', NULL, 1, 19, NULL, NULL, NULL); INSERT INTO `oms_cart_item` VALUES (14, 28, 102, 1, 1, 649.00, NULL, '红米5A', '8天超长待机,137g轻巧机身,高通骁龙处理器小米6X低至1299,点击抢购', '201808270028001', 'windir', '2018-08-27 17:18:02', NULL, 1, 19, NULL, NULL, NULL); INSERT INTO `oms_cart_item` VALUES (15, 28, 103, 1, 1, 699.00, NULL, '红米5A', '8天超长待机,137g轻巧机身,高通骁龙处理器小米6X低至1299,点击抢购', '201808270028001', 'windir', '2018-08-28 10:22:45', NULL, 1, 19, NULL, NULL, NULL); INSERT INTO `oms_cart_item` VALUES (16, 29, 106, 1, 1, 5499.00, NULL, 'Apple iPhone 8 Plus', '【限时限量抢购】Apple产品年中狂欢节,好物尽享,美在智慧!速来 >> 勾选[保障服务][原厂保2年],获得AppleCare+全方位服务计划,原厂延保售后无忧。', '201808270029001', 'windir', '2018-08-28 10:50:50', NULL, 1, 19, NULL, NULL, NULL); INSERT INTO `oms_cart_item` VALUES (19, 36, 163, 1, 3, 100.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '202002210036001', 'windir', '2020-02-25 15:51:59', NULL, 1, 29, 'NIKE', '6799345', '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `oms_cart_item` VALUES (20, 36, 164, 1, 2, 120.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '202002210036001', 'windir', '2020-02-25 15:54:23', NULL, 1, 29, 'NIKE', '6799345', '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `oms_cart_item` VALUES (21, 36, 164, 1, 2, 120.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '202002210036001', 'windir', '2020-02-25 16:49:53', NULL, 1, 29, 'NIKE', '6799345', '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `oms_cart_item` VALUES (22, 26, 110, 1, 3, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-04 15:34:24', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (23, 27, 98, 1, 7, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-04 15:35:43', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (24, 26, 110, 1, 4, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-04 16:58:17', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (25, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-04 16:58:23', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (26, 28, 102, 1, 4, 649.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '8天超长待机,137g轻巧机身,高通骁龙处理器小米6X低至1299,点击抢购', '201808270028001', 'windir', '2020-05-04 16:58:26', NULL, 1, 19, '小米', '7437789', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (27, 29, 106, 1, 1, 4999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus 64GB 红色特别版 移动联通电信4G手机', '【限时限量抢购】Apple产品年中狂欢节,好物尽享,美在智慧!速来 >> 勾选[保障服务][原厂保2年],获得AppleCare+全方位服务计划,原厂延保售后无忧。', '201808270029001', 'windir', '2020-05-04 16:58:29', NULL, 1, 19, '苹果', '7437799', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (28, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-04 17:07:20', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (29, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-04 17:07:23', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (30, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-04 17:08:14', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (31, 29, 106, 1, 1, 4999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus 64GB 红色特别版 移动联通电信4G手机', '【限时限量抢购】Apple产品年中狂欢节,好物尽享,美在智慧!速来 >> 勾选[保障服务][原厂保2年],获得AppleCare+全方位服务计划,原厂延保售后无忧。', '201808270029001', 'windir', '2020-05-04 17:09:56', NULL, 1, 19, '苹果', '7437799', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (32, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-04 17:13:50', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (33, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-04 17:16:15', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (34, 36, 164, 1, 1, 120.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '202002210036002', 'windir', '2020-05-04 17:19:20', NULL, 1, 29, 'NIKE', '6799345', '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `oms_cart_item` VALUES (35, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-05 10:41:39', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (36, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-05 10:41:55', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (37, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-05 10:42:57', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (38, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-05 14:29:28', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (39, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-05 14:32:52', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (40, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-05 14:33:20', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (41, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-05 14:49:13', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (42, 26, 111, 1, 1, 3999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026002', 'windir', '2020-05-05 15:26:05', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (43, 28, 102, 1, 1, 649.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '8天超长待机,137g轻巧机身,高通骁龙处理器小米6X低至1299,点击抢购', '201808270028001', 'windir', '2020-05-16 15:16:04', NULL, 1, 19, '小米', '7437789', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (44, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-16 15:18:00', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (45, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 15:00:16', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (46, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-17 15:00:22', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (47, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 15:14:14', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (48, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 15:20:03', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (49, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 15:21:54', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (50, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 16:07:22', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (51, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-17 16:07:26', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (52, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 19:33:36', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (53, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-17 19:33:39', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (54, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 19:39:07', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (55, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-17 19:41:26', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (56, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-18 16:50:00', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (57, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-18 20:22:04', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (58, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-18 20:22:08', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (59, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-23 16:21:13', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (60, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-05-23 17:01:28', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (61, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-24 09:36:50', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (62, 26, 110, 1, 2, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-05-24 09:44:39', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (63, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-06-07 17:01:48', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (64, 27, 98, 1, 2, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-06-14 15:24:40', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (65, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-06-21 14:27:13', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (66, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-06-21 15:12:14', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (67, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-06-21 15:12:53', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (68, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'windir', '2020-06-21 15:15:10', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (69, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2020-06-27 10:27:48', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (70, 27, 98, 1, 1, 2699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '201808270027001', 'windir', '2022-10-28 14:50:46', NULL, 1, 19, '小米', '7437788', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (71, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 紫色 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元!!!部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券!!!猛戳 ', '202210280037001', 'windir', '2022-10-28 15:27:32', NULL, 1, 19, '苹果', '100038005189', '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (72, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'windir', '2022-11-09 15:14:46', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (73, 38, 213, 1, 1, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款(64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A )', '【11.11大爱超大爱】iPad9代限量抢购,价格优惠,更享以旧换新至高补贴325元!!快来抢购吧!! ', '202210280038001', 'windir', '2022-11-09 15:25:28', NULL, 1, 53, '苹果', '100044025833', '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `oms_cart_item` VALUES (74, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元!!!部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券!!!猛戳 ', '202210280037001', 'windir', '2022-11-09 15:26:04', NULL, 1, 19, '苹果', '100038005189', '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (75, 45, 239, 1, 1, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄 3200万前置索尼镜头 5G手机', '【11.11提前购机享价保,好货不用等,系统申请一键价保补差!】【Reno8Pro爆款优惠】 ', '202211080045001', 'windir', '2022-11-09 16:16:23', NULL, 1, 19, 'OPPO', '10052147850350', '[{\"key\":\"颜色\",\"value\":\"鸢尾紫\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (76, 45, 239, 1, 1, 2299.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄 3200万前置索尼镜头 5G手机', '【11.11提前购机享价保,好货不用等,系统申请一键价保补差!】【Reno8Pro爆款优惠】 ', '202211080045001', 'windir', '2022-11-09 16:18:36', NULL, 1, 19, 'OPPO', '10052147850350', '[{\"key\":\"颜色\",\"value\":\"鸢尾紫\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (77, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量 墨羽 12GB+256GB 5G智能手机 小米 红米', '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'windir', '2022-11-10 15:19:36', NULL, 1, 19, '小米', '100035246702', '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (78, 37, 201, 1, 2, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元!!!部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券!!!猛戳 ', '202210280037001', 'windir', '2022-11-10 15:19:44', NULL, 1, 19, '苹果', '100038005189', '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (79, 38, 213, 1, 1, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款(64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A )', '【11.11大爱超大爱】iPad9代限量抢购,价格优惠,更享以旧换新至高补贴325元!!快来抢购吧!! ', '202210280038001', 'windir', '2022-11-11 15:37:40', NULL, 1, 53, '苹果', '100044025833', '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `oms_cart_item` VALUES (80, 38, 213, 1, 1, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款(64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A )', '【11.11大爱超大爱】iPad9代限量抢购,价格优惠,更享以旧换新至高补贴325元!!快来抢购吧!! ', '202210280038001', 'windir', '2022-11-11 15:38:12', NULL, 1, 53, '苹果', '100044025833', '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `oms_cart_item` VALUES (81, 38, 213, 1, 3, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款(64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A )', '【11.11大爱超大爱】iPad9代限量抢购,价格优惠,更享以旧换新至高补贴325元!!快来抢购吧!! ', '202210280038001', 'windir', '2022-11-11 15:38:22', NULL, 1, 53, '苹果', '100044025833', '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `oms_cart_item` VALUES (82, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'windir', '2022-11-11 16:07:23', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (83, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'windir', '2022-11-11 16:13:11', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (84, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元!!!部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券!!!猛戳 ', '202210280037001', 'windir', '2022-11-11 16:15:05', NULL, 1, 19, '苹果', '100038005189', '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (85, 28, 102, 1, 1, 649.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '8天超长待机,137g轻巧机身,高通骁龙处理器小米6X低至1299,点击抢购', '201808270028001', 'windir', '2022-11-11 16:21:05', NULL, 1, 19, '小米', '7437789', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (86, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'windir', '2022-11-16 10:22:47', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (87, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'windir', '2022-11-16 10:22:51', NULL, 1, 19, '小米', '100035246702', '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (88, 39, 217, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '【双十一大促来袭】指定型号至高优惠1000,以旧换新至高补贴1000元,晒单赢好礼', '202210280039001', 'windir', '2022-11-16 10:22:54', NULL, 1, 54, '小米', '100023207945', '[{\"key\":\"颜色\",\"value\":\"新小米Pro 14英寸 2.8K屏\"},{\"key\":\"版本\",\"value\":\"R7 16G 512\"}]'); INSERT INTO `oms_cart_item` VALUES (89, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元!!!部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券!!!猛戳 ', '202210280037001', 'windir', '2022-11-16 10:23:16', NULL, 1, 19, '苹果', '100038005189', '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (90, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'test', '2022-12-21 15:49:00', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (91, 37, 201, 1, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元!!!部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券!!!猛戳 ', '202210280037001', 'test', '2022-12-21 15:49:42', NULL, 1, 19, '苹果', '100038005189', '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (92, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'test', '2022-12-21 15:49:53', NULL, 1, 19, '小米', '100035246702', '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (93, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'test', '2022-12-21 15:51:03', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (94, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'test', '2022-12-21 15:51:28', NULL, 1, 19, '小米', '100035246702', '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (95, 41, 225, 1, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'test', '2022-12-21 16:45:16', NULL, 1, 19, '小米', '100035246702', '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (96, 40, 221, 1, 2, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'test', '2022-12-21 16:46:41', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (97, 40, 221, 1, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'test', '2022-12-21 16:50:10', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (98, 40, 221, 1, 2, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'test', '2022-12-23 09:55:11', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (99, 26, 110, 1, 1, 3788.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'test', '2023-01-10 15:39:03', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (100, 26, 111, 1, 1, 3899.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026002', 'test', '2023-01-10 16:58:08', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_cart_item` VALUES (101, 26, 110, 1, 1, 3699.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '201806070026001', 'test', '2023-01-10 17:10:26', NULL, 1, 19, '华为', '6946605', '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_cart_item` VALUES (102, 40, 221, 11, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'member', '2023-05-11 15:24:33', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (103, 41, 225, 11, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'member', '2023-05-11 15:24:37', NULL, 1, 19, '小米', '100035246702', '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (104, 38, 213, 11, 1, 3599.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款', '【11.11大爱超大爱】iPad9代限量抢购,价格优惠,更享以旧换新至高补贴325元!!快来抢购吧!! ', '202210280038001', 'member', '2023-05-11 15:30:32', NULL, 1, 53, '苹果', '100044025833', '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `oms_cart_item` VALUES (105, 39, 217, 11, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '【双十一大促来袭】指定型号至高优惠1000,以旧换新至高补贴1000元,晒单赢好礼', '202210280039001', 'member', '2023-05-11 15:31:38', NULL, 1, 54, '小米', '100023207945', '[{\"key\":\"颜色\",\"value\":\"新小米Pro 14英寸 2.8K屏\"},{\"key\":\"版本\",\"value\":\"R7 16G 512\"}]'); INSERT INTO `oms_cart_item` VALUES (106, 44, 235, 11, 1, 369.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', '三星(SAMSUNG)500GB SSD固态硬盘 M.2接口(NVMe协议)', '【满血无缓存!进店抽百元E卡,部分型号白条三期免息】兼具速度与可靠性!读速高达3500MB/s,全功率模式!点击 ', '202211080044001', 'member', '2023-05-11 15:32:16', NULL, 1, 55, '三星', '100018768480', '[{\"key\":\"颜色\",\"value\":\"新品980|NVMe PCIe3.0*4\"},{\"key\":\"版本\",\"value\":\"512GB\"}]'); INSERT INTO `oms_cart_item` VALUES (107, 42, 229, 11, 1, 4999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', 'HUAWEI Mate 50 直屏旗舰 超光变XMAGE影像 北斗卫星消息', '【华为Mate50新品上市】内置66W华为充电套装,超光变XMAGE影像,北斗卫星消息,鸿蒙操作系统3.0!立即抢购!华为新品可持续计划,猛戳》 ', '202211040042001', 'member', '2023-05-11 15:32:44', NULL, 1, 19, '华为', '100035295081', '[{\"key\":\"颜色\",\"value\":\"曜金黑\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (108, 37, 201, 11, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元!!!部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券!!!猛戳 ', '202210280037001', 'member', '2023-05-11 15:34:32', NULL, 1, 19, '苹果', '100038005189', '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (109, 40, 221, 11, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'member', '2023-05-11 15:35:02', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (110, 41, 225, 11, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'member', '2023-05-11 15:35:21', NULL, 1, 19, '小米', '100035246702', '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (111, 40, 221, 11, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'member', '2023-05-11 15:36:57', NULL, 1, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (112, 39, 217, 11, 1, 5999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '【双十一大促来袭】指定型号至高优惠1000,以旧换新至高补贴1000元,晒单赢好礼', '202210280039001', 'member', '2023-05-11 15:37:04', NULL, 1, 54, '小米', '100023207945', '[{\"key\":\"颜色\",\"value\":\"新小米Pro 14英寸 2.8K屏\"},{\"key\":\"版本\",\"value\":\"R7 16G 512\"}]'); INSERT INTO `oms_cart_item` VALUES (113, 40, 221, 11, 1, 2999.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '202211040040001', 'member', '2023-05-11 15:37:57', NULL, 0, 19, '小米', '100027789721', '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_cart_item` VALUES (114, 41, 225, 11, 1, 2099.00, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '202211040041001', 'member', '2023-05-11 15:38:03', NULL, 0, 19, '小米', '100035246702', '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); -- ---------------------------- -- Table structure for oms_company_address -- ---------------------------- DROP TABLE IF EXISTS `oms_company_address`; CREATE TABLE `oms_company_address` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `address_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '地址名称', `send_status` int(1) NULL DEFAULT NULL COMMENT '默认发货地址:0->否;1->是', `receive_status` int(1) NULL DEFAULT NULL COMMENT '是否默认收货地址:0->否;1->是', `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收发货人姓名', `phone` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货人电话', `province` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '省/直辖市', `city` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '市', `region` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '区', `detail_address` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详细地址', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '公司收发货地址表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oms_company_address -- ---------------------------- INSERT INTO `oms_company_address` VALUES (1, '深圳发货点', 1, 1, '大梨', '18000000000', '广东省', '深圳市', '南山区', '科兴科学园'); INSERT INTO `oms_company_address` VALUES (2, '北京发货点', 0, 0, '大梨', '18000000000', '北京市', NULL, '南山区', '科兴科学园'); INSERT INTO `oms_company_address` VALUES (3, '南京发货点', 0, 0, '大梨', '18000000000', '江苏省', '南京市', '南山区', '科兴科学园'); -- ---------------------------- -- Table structure for oms_order -- ---------------------------- DROP TABLE IF EXISTS `oms_order`; CREATE TABLE `oms_order` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '订单id', `member_id` bigint(20) NOT NULL, `coupon_id` bigint(20) NULL DEFAULT NULL, `order_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编号', `create_time` datetime NULL DEFAULT NULL COMMENT '提交时间', `member_username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户帐号', `total_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '订单总金额', `pay_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '应付金额(实际支付金额)', `freight_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '运费金额', `promotion_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '促销优化金额(促销价、满减、阶梯价)', `integration_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '积分抵扣金额', `coupon_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠券抵扣金额', `discount_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '管理员后台调整订单使用的折扣金额', `pay_type` int(1) NULL DEFAULT NULL COMMENT '支付方式:0->未支付;1->支付宝;2->微信', `source_type` int(1) NULL DEFAULT NULL COMMENT '订单来源:0->PC订单;1->app订单', `status` int(1) NULL DEFAULT NULL COMMENT '订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单', `order_type` int(1) NULL DEFAULT NULL COMMENT '订单类型:0->正常订单;1->秒杀订单', `delivery_company` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物流公司(配送方式)', `delivery_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '物流单号', `auto_confirm_day` int(11) NULL DEFAULT NULL COMMENT '自动确认时间(天)', `integration` int(11) NULL DEFAULT NULL COMMENT '可以获得的积分', `growth` int(11) NULL DEFAULT NULL COMMENT '可以活动的成长值', `promotion_info` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '活动信息', `bill_type` int(1) NULL DEFAULT NULL COMMENT '发票类型:0->不开发票;1->电子发票;2->纸质发票', `bill_header` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发票抬头', `bill_content` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '发票内容', `bill_receiver_phone` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收票人电话', `bill_receiver_email` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收票人邮箱', `receiver_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '收货人姓名', `receiver_phone` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '收货人电话', `receiver_post_code` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货人邮编', `receiver_province` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '省份/直辖市', `receiver_city` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '城市', `receiver_region` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '区', `receiver_detail_address` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详细地址', `note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单备注', `confirm_status` int(1) NULL DEFAULT NULL COMMENT '确认收货状态:0->未确认;1->已确认', `delete_status` int(1) NOT NULL DEFAULT 0 COMMENT '删除状态:0->未删除;1->已删除', `use_integration` int(11) NULL DEFAULT NULL COMMENT '下单时使用的积分', `payment_time` datetime NULL DEFAULT NULL COMMENT '支付时间', `delivery_time` datetime NULL DEFAULT NULL COMMENT '发货时间', `receive_time` datetime NULL DEFAULT NULL COMMENT '确认收货时间', `comment_time` datetime NULL DEFAULT NULL COMMENT '评价时间', `modify_time` datetime NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 77 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oms_order -- ---------------------------- INSERT INTO `oms_order` VALUES (12, 1, 2, '201809150101000001', '2018-09-15 12:24:27', 'test', 18732.00, 16377.75, 20.00, 2344.25, 0.00, 10.00, 10.00, 0, 1, 4, 0, '', '', 15, 13284, 13284, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '江苏省', '常州市', '天宁区', '东晓街道', '111', 0, 0, NULL, NULL, NULL, NULL, NULL, '2019-11-09 16:50:28'); INSERT INTO `oms_order` VALUES (13, 1, 2, '201809150102000002', '2018-09-15 14:24:29', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 1, 0, '', '', 15, 13284, 13284, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, 1000, '2018-10-11 14:04:19', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (14, 1, 2, '201809130101000001', '2018-09-13 16:57:40', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 3, 0, '顺丰快递', '201707196398345', 15, 13284, 13284, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2018-10-13 13:44:04', '2018-10-16 13:43:41', '2022-11-11 16:19:34', NULL, NULL); INSERT INTO `oms_order` VALUES (15, 1, 2, '201809130102000002', '2018-09-13 17:03:00', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 3, 0, '顺丰快递', '201707196398346', 15, 13284, 13284, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 1, NULL, '2018-10-13 13:44:54', '2018-10-16 13:45:01', '2018-10-18 14:05:31', NULL, NULL); INSERT INTO `oms_order` VALUES (16, 1, 2, '201809140101000001', '2018-09-14 16:16:16', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 4, 0, NULL, NULL, 15, 13284, 13284, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (17, 1, 2, '201809150101000003', '2018-09-15 12:24:27', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 0, 1, 4, 0, '顺丰快递', '201707196398345', 15, NULL, NULL, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, '2018-10-12 14:01:28', NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (18, 1, 2, '201809150102000004', '2018-09-15 14:24:29', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 1, 0, '圆通快递', 'xx', 15, NULL, NULL, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, 1000, NULL, '2018-10-16 14:42:17', NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (19, 1, 2, '201809130101000003', '2018-09-13 16:57:40', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 2, 0, NULL, NULL, 15, NULL, NULL, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (20, 1, 2, '201809130102000004', '2018-09-13 17:03:00', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 3, 0, NULL, NULL, 15, NULL, NULL, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (21, 1, 2, '201809140101000002', '2018-09-14 16:16:16', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 4, 0, NULL, NULL, 15, 18682, 18682, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (22, 1, 2, '201809150101000005', '2018-09-15 12:24:27', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 0, 1, 4, 0, '顺丰快递', '201707196398345', 15, 0, 0, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, '2018-10-12 14:01:28', NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (23, 1, 2, '201809150102000006', '2018-09-15 14:24:29', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 1, 1, 1, 0, '顺丰快递', 'xxx', 15, 0, 0, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, 1000, NULL, '2018-10-16 14:41:28', NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (24, 1, 2, '201809130101000005', '2018-09-13 16:57:40', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 2, 0, NULL, NULL, 15, 18682, 18682, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (25, 1, 2, '201809130102000006', '2018-09-13 17:03:00', 'test', 18732.00, 16377.75, 10.00, 2344.25, 0.00, 10.00, 5.00, 1, 1, 4, 0, NULL, NULL, 15, 18682, 18682, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨22', '18033441849', '518000', '北京市', '北京城区', '东城区', '东城街道', 'xxx', 0, 1, NULL, NULL, NULL, NULL, NULL, '2018-10-30 15:08:31'); INSERT INTO `oms_order` VALUES (26, 1, 2, '201809140101000003', '2018-09-14 16:16:16', 'test', 18732.00, 16377.75, 0.00, 2344.25, 0.00, 10.00, 0.00, 2, 1, 4, 0, NULL, NULL, 15, 18682, 18682, '单品促销,打折优惠:满3件,打7.50折,满减优惠:满1000.00元,减120.00元,满减优惠:满1000.00元,减120.00元,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (27, 1, NULL, '202002250100000001', '2020-02-25 15:59:20', 'test', 540.00, 540.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, NULL, 0, 0, '无优惠,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '南山区', '科兴科学园', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (28, 1, NULL, '202002250100000002', '2020-02-25 16:05:47', 'test', 540.00, 540.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, NULL, 0, 0, '无优惠,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '南山区', '科兴科学园', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (29, 1, NULL, '202002250100000003', '2020-02-25 16:07:58', 'test', 540.00, 540.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, NULL, 0, 0, '无优惠,无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '南山区', '科兴科学园', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (30, 1, NULL, '202002250100000004', '2020-02-25 16:50:13', 'test', 240.00, 240.00, 20.00, 0.00, 0.00, 0.00, 10.00, 0, 1, 3, 0, '顺丰快递', '12333333', NULL, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '南山区', '科兴科学园', NULL, 1, 0, NULL, '2020-02-25 16:53:29', '2020-02-25 16:54:03', '2020-05-17 19:38:15', NULL, '2020-02-25 16:52:51'); INSERT INTO `oms_order` VALUES (31, 1, 26, '202005160100000001', '2020-05-16 15:16:54', 'test', 13623.00, 11842.40, 0.00, 1629.60, 1.00, 150.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 13623, 13623, '满减优惠:满5000.00元,减500.00元;打折优惠:满2件,打8.00折;满减优惠:满500.00元,减50.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (32, 1, NULL, '202005170100000001', '2020-05-17 15:00:38', 'test', 6487.00, 6187.00, 0.00, 300.00, 0.00, 0.00, 0.00, 1, 1, 1, 0, NULL, NULL, 15, 6487, 6487, '满减优惠:满3000.00元,减300.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2020-05-17 15:33:28', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (33, 1, NULL, '202005170100000002', '2020-05-17 15:14:18', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 3788, 3788, '满减优惠:满3000.00元,减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (34, 1, NULL, '202005170100000003', '2020-05-17 15:20:10', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 3788, 3788, '满减优惠:满3000.00元,减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 1, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (35, 1, NULL, '202005170100000004', '2020-05-17 15:22:03', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', '123', 15, 3788, 3788, '满减优惠:满3000.00元,减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2020-05-17 15:29:07', '2020-05-17 15:30:24', '2020-05-17 15:41:45', NULL, NULL); INSERT INTO `oms_order` VALUES (36, 1, NULL, '202005170100000005', '2020-05-17 16:59:26', 'test', 10275.00, 9775.00, 0.00, 500.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 10275, 10275, '满减优惠:满5000.00元,减500.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (37, 1, NULL, '202005170100000006', '2020-05-17 19:33:48', 'test', 6487.00, 6187.00, 0.00, 300.00, 0.00, 0.00, 0.00, 1, 1, 3, 0, '顺丰快递', 'aadd', 15, 6487, 6487, '满减优惠:满3000.00元,减300.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2020-05-17 19:33:59', '2020-05-17 19:34:59', '2020-05-17 19:35:50', NULL, NULL); INSERT INTO `oms_order` VALUES (38, 1, NULL, '202005170100000007', '2020-05-17 19:39:10', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 3788, 3788, '满减优惠:满3000.00元,减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (39, 1, NULL, '202005170100000008', '2020-05-17 19:41:30', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 1, 1, 3, 0, '顺丰快递', 'sdf', 15, 3788, 3788, '满减优惠:满3000.00元,减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 1, NULL, '2020-05-17 19:41:41', '2020-05-17 19:42:07', '2020-05-17 19:42:36', NULL, NULL); INSERT INTO `oms_order` VALUES (40, 1, NULL, '202005180100000001', '2020-05-18 16:50:03', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 3788, 3788, '满减优惠:满3000.00元,减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2020-05-18 16:50:29', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (41, 1, 26, '202005180100000002', '2020-05-18 20:22:24', 'test', 6487.00, 6037.00, 0.00, 300.00, 0.00, 150.00, 0.00, 1, 1, 3, 0, '顺丰快递', '12313', 15, 6487, 6487, '满减优惠:满3000.00元,减300.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 1, 0, NULL, '2020-05-18 20:22:29', '2020-05-18 20:23:03', '2020-05-18 20:23:20', NULL, NULL); INSERT INTO `oms_order` VALUES (42, 1, NULL, '202005230100000001', '2020-05-23 16:21:27', 'test', 5398.00, 4318.40, 0.00, 1079.60, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 5398, 5398, '打折优惠:满2件,打8.00折', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 0, 0, NULL, '2020-05-23 16:21:30', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (43, 1, NULL, '202005230100000002', '2020-05-23 17:01:33', 'test', 5398.00, 4318.40, 0.00, 1079.60, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 5398, 5398, '打折优惠:满2件,打8.00折', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (44, 1, NULL, '202005240100000001', '2020-05-24 09:37:07', 'test', 7576.00, 7076.00, 0.00, 500.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 7576, 7576, '满减优惠:满5000.00元,减500.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (45, 1, 25, '202006070100000001', '2020-06-07 17:02:04', 'test', 10275.00, 9674.90, 0.00, 500.00, 0.00, 100.10, 0.00, 1, 1, 1, 0, NULL, NULL, 15, 10275, 10275, '满减优惠:满5000.00元,减500.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 0, 0, NULL, '2020-06-07 17:02:17', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (46, 1, 24, '202006210100000001', '2020-06-21 14:27:34', 'test', 9186.00, 7796.40, 0.00, 1379.60, 0.00, 10.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 9186, 9186, '满减优惠:满3000.00元,减300.00元;打折优惠:满2件,打8.00折', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2020-06-21 14:27:38', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (47, 1, NULL, '202006210100000002', '2020-06-21 15:13:06', 'test', 6487.00, 6187.00, 0.00, 300.00, 0.00, 0.00, 0.00, 1, 1, 3, 0, '顺丰快递', '123131', 15, 6487, 6487, '满减优惠:满3000.00元,减300.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 1, 0, NULL, '2020-06-21 15:13:12', '2020-06-21 15:13:44', '2020-06-21 15:13:58', NULL, NULL); INSERT INTO `oms_order` VALUES (48, 1, 26, '202006210100000003', '2020-06-21 15:15:18', 'test', 3788.00, 3338.00, 0.00, 300.00, 0.00, 150.00, 0.00, 2, 1, 3, 0, '圆通快递', '12313', 15, 3788, 3788, '满减优惠:满3000.00元,减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2020-06-21 15:15:20', '2020-06-21 15:15:48', '2020-06-21 15:15:58', NULL, NULL); INSERT INTO `oms_order` VALUES (49, 1, NULL, '202006270100000001', '2020-06-27 10:27:56', 'test', 2699.00, 2699.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 2699, 2699, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 0, 0, NULL, '2020-06-27 10:27:58', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (50, 1, NULL, '202210280100000001', '2022-10-28 14:50:58', 'test', 2699.00, 2699.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 2699, 2699, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '清水河街道', NULL, 0, 0, NULL, '2022-10-28 14:51:02', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (51, 1, NULL, '202210280100000002', '2022-10-28 15:27:41', 'test', 5999.00, 5999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-10-28 15:27:44', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (52, 1, 30, '202211090100000001', '2022-11-09 15:14:58', 'test', 2999.00, 2799.00, 0.00, 0.00, 0.00, 200.00, 0.00, 2, 1, 3, 0, '顺丰快递', '1233', 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2022-11-09 15:15:00', '2022-11-09 15:16:12', '2022-11-09 15:16:31', NULL, NULL); INSERT INTO `oms_order` VALUES (53, 1, 27, '202211090100000002', '2022-11-09 15:25:38', 'test', 3599.00, 3589.00, 0.00, 0.00, 0.00, 10.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-09 15:25:41', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (54, 1, 29, '202211090100000003', '2022-11-09 15:26:11', 'test', 5999.00, 5399.00, 0.00, 0.00, 0.00, 600.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-09 15:26:13', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (55, 1, NULL, '202211100100000001', '2022-11-10 16:57:59', 'test', 11998.00, 11998.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (56, 1, 28, '202211110100000001', '2022-11-11 16:12:42', 'test', 2999.00, 2899.00, 0.00, 0.00, 0.00, 100.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-11 16:12:48', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (57, 1, NULL, '202211110100000002', '2022-11-11 16:13:14', 'test', 2999.00, 2999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-11 16:13:21', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (58, 1, NULL, '202211110100000003', '2022-11-11 16:15:08', 'test', 5999.00, 5999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-11-11 16:17:46', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (59, 1, NULL, '202211110100000004', '2022-11-11 16:21:12', 'test', 649.00, 599.00, 0.00, 50.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 649, 649, '满减优惠:满500.00元,减50.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (60, 1, NULL, '202211160100000001', '2022-11-16 10:36:08', 'test', 11097.00, 11097.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', '1234555', 15, 0, 0, '无优惠;无优惠;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2022-11-16 10:37:25', '2022-11-16 10:42:50', '2022-11-16 10:44:40', NULL, NULL); INSERT INTO `oms_order` VALUES (61, 1, NULL, '202212210100000001', '2022-12-21 15:49:08', 'test', 2999.00, 2999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (62, 1, NULL, '202212210100000002', '2022-12-21 15:49:57', 'test', 8098.00, 8098.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', 'SDFERR7845', 15, 0, 0, '无优惠;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2022-12-21 15:50:00', '2022-12-21 15:50:23', '2022-12-21 15:50:33', NULL, NULL); INSERT INTO `oms_order` VALUES (63, 1, NULL, '202212210100000003', '2022-12-21 15:51:09', 'test', 2999.00, 2999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 2, 0, '顺丰快递', '112', 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-12-21 15:51:11', '2023-01-10 10:14:12', NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (64, 1, NULL, '202212210100000004', '2022-12-21 15:51:35', 'test', 2099.00, 2099.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (65, 1, 28, '202212210100000005', '2022-12-21 16:53:07', 'test', 5098.00, 4788.00, 0.00, 200.00, 10.00, 100.00, 0.00, 2, 1, 2, 0, '圆通快递', '115', 15, 0, 0, '满减优惠:满2000.00元,减200.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2022-12-21 16:53:58', '2023-01-10 10:14:12', NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (66, 1, NULL, '202301100100000001', '2023-01-10 15:34:59', 'test', 5998.00, 5798.00, 0.00, 200.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '满减优惠:满2000.00元,减200.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (67, 1, NULL, '202301100100000002', '2023-01-10 15:39:07', 'test', 3788.00, 3488.00, 0.00, 300.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 3788, 3788, '满减优惠:满3000.00元,减300.00元', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2023-01-10 15:39:16', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (68, 1, NULL, '202301100100000003', '2023-01-10 16:58:19', 'test', 3999.00, 3899.00, 0.00, 100.00, 0.00, 0.00, 0.00, 2, 1, 1, 0, NULL, NULL, 15, 3788, 3788, '单品促销', NULL, NULL, NULL, NULL, NULL, '大梨', '18033441849', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2023-01-10 16:58:21', NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (69, 11, 30, '202305110100000001', '2023-05-11 15:28:56', 'member', 5098.00, 4698.00, 0.00, 200.00, 0.00, 200.00, 0.00, 2, 1, 3, 0, '顺丰快递', '1231313', 15, 0, 0, '满减优惠:满2000.00元,减200.00元;无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2023-05-11 15:28:59', '2023-05-11 15:30:08', '2023-05-11 15:30:16', NULL, NULL); INSERT INTO `oms_order` VALUES (70, 11, NULL, '202305110100000002', '2023-05-11 15:30:36', 'member', 3599.00, 3599.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', '232342', 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2023-05-11 15:30:40', '2023-05-11 15:31:22', '2023-05-11 15:31:30', NULL, NULL); INSERT INTO `oms_order` VALUES (71, 11, NULL, '202305110100000003', '2023-05-11 15:31:55', 'member', 5999.00, 5999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 4, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (72, 11, NULL, '202305110100000004', '2023-05-11 15:33:13', 'member', 5368.00, 5368.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 2, 0, '圆通快递', '1231434', 15, 0, 0, '无优惠;无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2023-05-11 15:33:21', '2023-05-11 15:33:43', NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (73, 11, NULL, '202305110100000005', '2023-05-11 15:34:39', 'member', 5999.00, 5999.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0, 1, 0, 0, NULL, NULL, 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (74, 11, NULL, '202305110100000006', '2023-05-11 15:35:05', 'member', 2999.00, 2799.00, 0.00, 200.00, 0.00, 0.00, 0.00, 2, 1, 2, 0, '顺丰快递', '123131', 15, 0, 0, '满减优惠:满2000.00元,减200.00元', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 0, 0, NULL, '2023-05-11 15:35:08', '2023-05-11 15:36:00', NULL, NULL, NULL); INSERT INTO `oms_order` VALUES (75, 11, NULL, '202305110100000007', '2023-05-11 15:35:24', 'member', 2099.00, 2099.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2, 1, 3, 0, '顺丰快递', '123131311', 15, 0, 0, '无优惠', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2023-05-11 15:35:26', '2023-05-11 15:36:11', '2023-05-11 15:36:34', NULL, NULL); INSERT INTO `oms_order` VALUES (76, 11, 28, '202305110100000008', '2023-05-11 15:37:16', 'member', 8998.00, 8698.00, 0.00, 200.00, 0.00, 100.00, 0.00, 2, 1, 3, 0, '顺丰快递', '1231313', 15, 0, 0, '无优惠;满减优惠:满2000.00元,减200.00元', NULL, NULL, NULL, NULL, NULL, '小李', '18961511111', '518000', '广东省', '深圳市', '福田区', '东晓街道', NULL, 1, 0, NULL, '2023-05-11 15:37:18', '2023-05-11 15:37:33', '2023-05-11 15:37:48', NULL, NULL); -- ---------------------------- -- Table structure for oms_order_item -- ---------------------------- DROP TABLE IF EXISTS `oms_order_item`; CREATE TABLE `oms_order_item` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `order_id` bigint(20) NULL DEFAULT NULL COMMENT '订单id', `order_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编号', `product_id` bigint(20) NULL DEFAULT NULL, `product_pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_brand` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '销售价格', `product_quantity` int(11) NULL DEFAULT NULL COMMENT '购买数量', `product_sku_id` bigint(20) NULL DEFAULT NULL COMMENT '商品sku编号', `product_sku_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品sku条码', `product_category_id` bigint(20) NULL DEFAULT NULL COMMENT '商品分类id', `promotion_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品促销名称', `promotion_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品促销分解金额', `coupon_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '优惠券优惠分解金额', `integration_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '积分优惠分解金额', `real_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '该商品经过优惠后的分解金额', `gift_integration` int(11) NULL DEFAULT 0, `gift_growth` int(11) NULL DEFAULT 0, `product_attr` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品销售属性:[{\"key\":\"颜色\",\"value\":\"颜色\"},{\"key\":\"容量\",\"value\":\"4G\"}]', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 115 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单中所包含的商品' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oms_order_item -- ---------------------------- INSERT INTO `oms_order_item` VALUES (21, 12, '201809150101000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (22, 12, '201809150101000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠:满3件,打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (23, 12, '201809150101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (24, 12, '201809150101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (25, 12, '201809150101000001', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (26, 13, '201809150102000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (27, 13, '201809150102000002', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠:满3件,打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (28, 13, '201809150102000002', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (29, 13, '201809150102000002', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (30, 13, '201809150102000002', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (31, 14, '201809130101000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (32, 14, '201809130101000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠:满3件,打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (33, 14, '201809130101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (34, 14, '201809130101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (35, 14, '201809130101000001', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (36, 15, '201809130101000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (37, 15, '201809130101000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠:满3件,打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (38, 15, '201809130101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (39, 15, '201809130101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (40, 15, '201809130101000001', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (41, 16, '201809140101000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '6946605', 3788.00, 1, 90, '201806070026001', 19, '单品促销', 200.00, 2.02, 0.00, 3585.98, 3788, 3788, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (42, 16, '201809140101000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '7437788', 2699.00, 3, 98, '201808270027001', 19, '打折优惠:满3件,打7.50折', 674.75, 1.44, 0.00, 2022.81, 2699, 2699, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (43, 16, '201809140101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 57.60, 0.35, 0.00, 591.05, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (44, 16, '201809140101000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '7437789', 699.00, 1, 103, '201808270028001', 19, '满减优惠:满1000.00元,减120.00元', 62.40, 0.37, 0.00, 636.23, 649, 649, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (45, 16, '201809140101000001', 29, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', 'Apple iPhone 8 Plus', '苹果', '7437799', 5499.00, 1, 106, '201808270029001', 19, '无优惠', 0.00, 2.94, 0.00, 5496.06, 5499, 5499, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (46, 27, '202002250100000001', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 100.00, 3, 163, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 100.00, 0, 0, NULL); INSERT INTO `oms_order_item` VALUES (47, 27, '202002250100000001', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 120.00, 2, 164, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 120.00, 0, 0, NULL); INSERT INTO `oms_order_item` VALUES (48, 28, '202002250100000002', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 100.00, 3, 163, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 100.00, 0, 0, NULL); INSERT INTO `oms_order_item` VALUES (49, 28, '202002250100000002', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 120.00, 2, 164, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 120.00, 0, 0, NULL); INSERT INTO `oms_order_item` VALUES (50, 29, '202002250100000003', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 100.00, 3, 163, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 100.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `oms_order_item` VALUES (51, 29, '202002250100000003', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 120.00, 2, 164, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 120.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `oms_order_item` VALUES (52, 30, '202002250100000004', 36, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'NIKE', '6799345', 120.00, 2, 164, '202002210036001', 29, '无优惠', 0.00, 0.00, 0.00, 120.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `oms_order_item` VALUES (53, 31, '202005160100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 2, 110, '201806070026001', 19, '满减优惠:满5000.00元,减500.00元', 250.00, 75.00, 0.28, 3462.72, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (54, 31, '202005160100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 2, 98, '201808270027001', 19, '打折优惠:满2件,打8.00折', 539.80, 0.00, 0.20, 2159.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (55, 31, '202005160100000001', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠:满500.00元,减50.00元', 50.00, 0.00, 0.05, 598.95, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (56, 32, '202005170100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (57, 32, '202005170100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (58, 33, '202005170100000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (59, 34, '202005170100000003', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (60, 35, '202005170100000004', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (61, 36, '202005170100000005', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 2, 110, '201806070026001', 19, '满减优惠:满5000.00元,减500.00元', 250.00, 0.00, 0.00, 3538.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (62, 36, '202005170100000005', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (63, 37, '202005170100000006', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (64, 37, '202005170100000006', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (65, 38, '202005170100000007', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (66, 39, '202005170100000008', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (67, 40, '202005180100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (68, 41, '202005180100000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 150.00, 0.00, 3338.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (69, 41, '202005180100000002', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (70, 42, '202005230100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 2, 98, '201808270027001', 19, '打折优惠:满2件,打8.00折', 539.80, 0.00, 0.00, 2159.20, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (71, 43, '202005230100000002', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 2, 98, '201808270027001', 19, '打折优惠:满2件,打8.00折', 539.80, 0.00, 0.00, 2159.20, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (72, 44, '202005240100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 2, 110, '201806070026001', 19, '满减优惠:满5000.00元,减500.00元', 250.00, 0.00, 0.00, 3538.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (73, 45, '202006070100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 2, 110, '201806070026001', 19, '满减优惠:满5000.00元,减500.00元', 250.00, 36.90, 0.00, 3501.10, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (74, 45, '202006070100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 26.30, 0.00, 2672.70, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (75, 46, '202006210100000001', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 4.12, 0.00, 3483.88, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (76, 46, '202006210100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 2, 98, '201808270027001', 19, '打折优惠:满2件,打8.00折', 539.80, 2.94, 0.00, 2156.26, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (77, 47, '202006210100000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (78, 47, '202006210100000002', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (79, 48, '202006210100000003', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 150.00, 0.00, 3338.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (80, 49, '202006270100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (81, 50, '202210280100000001', 27, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', '小米', '7437788', 2699.00, 1, 98, '201808270027001', 19, '无优惠', 0.00, 0.00, 0.00, 2699.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (82, 51, '202210280100000002', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 紫色 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (83, 52, '202211090100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 200.00, 0.00, 2799.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (84, 53, '202211090100000002', 38, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款(64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A )', '苹果', '100044025833', 3599.00, 1, 213, '202210280038001', 53, '无优惠', 0.00, 10.00, 0.00, 3589.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `oms_order_item` VALUES (85, 54, '202211090100000003', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 600.00, 0.00, 5399.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (86, 55, '202211100100000001', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 2, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (87, 56, '202211110100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 100.00, 0.00, 2899.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (88, 57, '202211110100000002', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 0.00, 0.00, 2999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (89, 58, '202211110100000003', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (90, 59, '202211110100000004', 28, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', '小米', '7437789', 649.00, 1, 102, '201808270028001', 19, '满减优惠:满500.00元,减50.00元', 50.00, 0.00, 0.00, 599.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (91, 60, '202211160100000001', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (92, 60, '202211160100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 0.00, 0.00, 2999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (93, 60, '202211160100000001', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 0.00, 0.00, 2099.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (94, 61, '202212210100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 0.00, 0.00, 2999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (95, 62, '202212210100000002', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (96, 62, '202212210100000002', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 0.00, 0.00, 2099.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (97, 63, '202212210100000003', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '无优惠', 0.00, 0.00, 0.00, 2999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (98, 64, '202212210100000004', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 0.00, 0.00, 2099.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (99, 65, '202212210100000005', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '满减优惠:满2000.00元,减200.00元', 200.00, 58.80, 5.88, 2734.32, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (100, 65, '202212210100000005', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 41.20, 4.12, 2053.68, 0, 0, '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (101, 66, '202301100100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 2, 221, '202211040040001', 19, '满减优惠:满2000.00元,减200.00元', 100.00, 0.00, 0.00, 2899.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (102, 67, '202301100100000002', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3788.00, 1, 110, '201806070026001', 19, '满减优惠:满3000.00元,减300.00元', 300.00, 0.00, 0.00, 3488.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `oms_order_item` VALUES (103, 68, '202301100100000003', 26, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20 ', '华为', '6946605', 3999.00, 1, 111, '201806070026002', 19, '单品促销', 100.00, 0.00, 0.00, 3899.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `oms_order_item` VALUES (104, 69, '202305110100000001', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '满减优惠:满2000.00元,减200.00元', 200.00, 117.60, 0.00, 2681.40, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (105, 69, '202305110100000001', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 82.40, 0.00, 2016.60, 0, 0, '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (106, 70, '202305110100000002', 38, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', 'Apple iPad 10.9英寸平板电脑 2022年款', '苹果', '100044025833', 3599.00, 1, 213, '202210280038001', 53, '无优惠', 0.00, 0.00, 0.00, 3599.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `oms_order_item` VALUES (107, 71, '202305110100000003', 39, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '小米', '100023207945', 5999.00, 1, 217, '202210280039001', 54, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"新小米Pro 14英寸 2.8K屏\"},{\"key\":\"版本\",\"value\":\"R7 16G 512\"}]'); INSERT INTO `oms_order_item` VALUES (108, 72, '202305110100000004', 42, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', 'HUAWEI Mate 50 直屏旗舰 超光变XMAGE影像 北斗卫星消息', '华为', '100035295081', 4999.00, 1, 229, '202211040042001', 19, '无优惠', 0.00, 0.00, 0.00, 4999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"曜金黑\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (109, 72, '202305110100000004', 44, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', '三星(SAMSUNG)500GB SSD固态硬盘 M.2接口(NVMe协议)', '三星', '100018768480', 369.00, 1, 235, '202211080044001', 55, '无优惠', 0.00, 0.00, 0.00, 369.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"新品980|NVMe PCIe3.0*4\"},{\"key\":\"版本\",\"value\":\"512GB\"}]'); INSERT INTO `oms_order_item` VALUES (110, 73, '202305110100000005', 37, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '苹果', '100038005189', 5999.00, 1, 201, '202210280037001', 19, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (111, 74, '202305110100000006', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '满减优惠:满2000.00元,减200.00元', 200.00, 0.00, 0.00, 2799.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (112, 75, '202305110100000007', 41, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', '小米', '100035246702', 2099.00, 1, 225, '202211040041001', 19, '无优惠', 0.00, 0.00, 0.00, 2099.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `oms_order_item` VALUES (113, 76, '202305110100000008', 39, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', '小米', '100023207945', 5999.00, 1, 217, '202210280039001', 54, '无优惠', 0.00, 0.00, 0.00, 5999.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"新小米Pro 14英寸 2.8K屏\"},{\"key\":\"版本\",\"value\":\"R7 16G 512\"}]'); INSERT INTO `oms_order_item` VALUES (114, 76, '202305110100000008', 40, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', '小米', '100027789721', 2999.00, 1, 221, '202211040040001', 19, '满减优惠:满2000.00元,减200.00元', 200.00, 100.00, 0.00, 2699.00, 0, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); -- ---------------------------- -- Table structure for oms_order_operate_history -- ---------------------------- DROP TABLE IF EXISTS `oms_order_operate_history`; CREATE TABLE `oms_order_operate_history` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `order_id` bigint(20) NULL DEFAULT NULL COMMENT '订单id', `operate_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人:用户;系统;后台管理员', `create_time` datetime NULL DEFAULT NULL COMMENT '操作时间', `order_status` int(1) NULL DEFAULT NULL COMMENT '订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单', `note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 44 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单操作历史记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oms_order_operate_history -- ---------------------------- INSERT INTO `oms_order_operate_history` VALUES (5, 12, '后台管理员', '2018-10-12 14:01:29', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (6, 13, '后台管理员', '2018-10-12 14:01:29', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (7, 12, '后台管理员', '2018-10-12 14:13:10', 4, '订单关闭:买家退货'); INSERT INTO `oms_order_operate_history` VALUES (8, 13, '后台管理员', '2018-10-12 14:13:10', 4, '订单关闭:买家退货'); INSERT INTO `oms_order_operate_history` VALUES (9, 22, '后台管理员', '2018-10-15 16:31:48', 4, '订单关闭:xxx'); INSERT INTO `oms_order_operate_history` VALUES (10, 22, '后台管理员', '2018-10-15 16:35:08', 4, '订单关闭:xxx'); INSERT INTO `oms_order_operate_history` VALUES (11, 22, '后台管理员', '2018-10-15 16:35:59', 4, '订单关闭:xxx'); INSERT INTO `oms_order_operate_history` VALUES (12, 17, '后台管理员', '2018-10-15 16:43:40', 4, '订单关闭:xxx'); INSERT INTO `oms_order_operate_history` VALUES (13, 25, '后台管理员', '2018-10-15 16:52:14', 4, '订单关闭:xxx'); INSERT INTO `oms_order_operate_history` VALUES (14, 26, '后台管理员', '2018-10-15 16:52:14', 4, '订单关闭:xxx'); INSERT INTO `oms_order_operate_history` VALUES (15, 23, '后台管理员', '2018-10-16 14:41:28', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (16, 13, '后台管理员', '2018-10-16 14:42:17', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (17, 18, '后台管理员', '2018-10-16 14:42:17', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (18, 26, '后台管理员', '2018-10-30 14:37:44', 4, '订单关闭:关闭订单'); INSERT INTO `oms_order_operate_history` VALUES (19, 25, '后台管理员', '2018-10-30 15:07:01', 0, '修改收货人信息'); INSERT INTO `oms_order_operate_history` VALUES (20, 25, '后台管理员', '2018-10-30 15:08:13', 0, '修改费用信息'); INSERT INTO `oms_order_operate_history` VALUES (21, 25, '后台管理员', '2018-10-30 15:08:31', 0, '修改备注信息:xxx'); INSERT INTO `oms_order_operate_history` VALUES (22, 25, '后台管理员', '2018-10-30 15:08:39', 4, '订单关闭:2222'); INSERT INTO `oms_order_operate_history` VALUES (23, 12, '后台管理员', '2019-11-09 16:50:28', 4, '修改备注信息:111'); INSERT INTO `oms_order_operate_history` VALUES (24, 30, '后台管理员', '2020-02-25 16:52:37', 0, '修改费用信息'); INSERT INTO `oms_order_operate_history` VALUES (25, 30, '后台管理员', '2020-02-25 16:52:51', 0, '修改费用信息'); INSERT INTO `oms_order_operate_history` VALUES (26, 30, '后台管理员', '2020-02-25 16:54:03', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (27, 35, '后台管理员', '2020-05-17 15:30:24', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (28, 37, '后台管理员', '2020-05-17 19:35:00', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (29, 39, '后台管理员', '2020-05-17 19:42:08', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (30, 41, '后台管理员', '2020-05-18 20:23:04', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (31, 47, '后台管理员', '2020-06-21 15:13:44', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (32, 48, '后台管理员', '2020-06-21 15:15:49', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (33, 52, '后台管理员', '2022-11-09 15:16:13', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (34, 60, '后台管理员', '2022-11-16 10:42:50', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (35, 62, '后台管理员', '2022-12-21 15:50:24', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (36, 63, '后台管理员', '2023-01-10 10:08:34', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (37, 65, '后台管理员', '2023-01-10 10:08:34', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (38, 69, '后台管理员', '2023-05-11 15:30:08', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (39, 70, '后台管理员', '2023-05-11 15:31:22', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (40, 72, '后台管理员', '2023-05-11 15:33:43', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (41, 74, '后台管理员', '2023-05-11 15:36:00', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (42, 75, '后台管理员', '2023-05-11 15:36:11', 2, '完成发货'); INSERT INTO `oms_order_operate_history` VALUES (43, 76, '后台管理员', '2023-05-11 15:37:34', 2, '完成发货'); -- ---------------------------- -- Table structure for oms_order_return_apply -- ---------------------------- DROP TABLE IF EXISTS `oms_order_return_apply`; CREATE TABLE `oms_order_return_apply` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `order_id` bigint(20) NULL DEFAULT NULL COMMENT '订单id', `company_address_id` bigint(20) NULL DEFAULT NULL COMMENT '收货地址表id', `product_id` bigint(20) NULL DEFAULT NULL COMMENT '退货商品id', `order_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单编号', `create_time` datetime NULL DEFAULT NULL COMMENT '申请时间', `member_username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '会员用户名', `return_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '退款金额', `return_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '退货人姓名', `return_phone` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '退货人电话', `status` int(1) NULL DEFAULT NULL COMMENT '申请状态:0->待处理;1->退货中;2->已完成;3->已拒绝', `handle_time` datetime NULL DEFAULT NULL COMMENT '处理时间', `product_pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品图片', `product_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品名称', `product_brand` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品品牌', `product_attr` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品销售属性:颜色:红色;尺码:xl;', `product_count` int(11) NULL DEFAULT NULL COMMENT '退货数量', `product_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品单价', `product_real_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品实际支付单价', `reason` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '原因', `description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', `proof_pics` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '凭证图片,以逗号隔开', `handle_note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '处理备注', `handle_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '处理人员', `receive_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货人', `receive_time` datetime NULL DEFAULT NULL COMMENT '收货时间', `receive_note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货备注', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 27 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单退货申请' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oms_order_return_apply -- ---------------------------- INSERT INTO `oms_order_return_apply` VALUES (3, 12, 1, 26, '201809150101000001', '2018-10-17 14:34:57', 'test', 0.00, '大梨', '18000000000', 2, '2022-11-11 10:16:18', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色:金色;内存:16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '111', 'admin', 'admin', '2022-11-11 10:16:26', NULL); INSERT INTO `oms_order_return_apply` VALUES (4, 12, 2, 27, '201809150101000001', '2018-10-17 14:40:21', 'test', 3585.98, '大梨', '18000000000', 1, '2018-10-18 13:54:10', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色:黑色;内存:32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', '已经处理了', 'admin', NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (5, 12, 3, 28, '201809150101000001', '2018-10-17 14:44:18', 'test', 3585.98, '大梨', '18000000000', 2, '2018-10-18 13:55:28', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色:金色;内存:16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', '已经处理了', 'admin', 'admin', '2018-10-18 13:55:58', '已经处理了'); INSERT INTO `oms_order_return_apply` VALUES (8, 13, NULL, 28, '201809150102000002', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 3, '2018-10-18 13:57:12', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色:金色;内存:16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', '理由不够充分', 'admin', NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (9, 14, 2, 26, '201809130101000001', '2018-10-17 14:34:57', 'test', 3500.00, '大梨', '18000000000', 2, '2018-10-24 15:44:56', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色:金色;内存:16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', '呵呵', 'admin', 'admin', '2018-10-24 15:46:35', '收货了'); INSERT INTO `oms_order_return_apply` VALUES (10, 14, NULL, 27, '201809130101000001', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 3, '2018-10-24 15:46:57', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色:黑色;内存:32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', '就是不退', 'admin', NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (11, 14, 2, 28, '201809130101000001', '2018-10-17 14:44:18', 'test', 591.05, '大梨', '18000000000', 1, '2018-10-24 17:09:04', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色:金色;内存:16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', '可以退款', 'admin', NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (12, 15, 3, 26, '201809130102000002', '2018-10-17 14:34:57', 'test', 3500.00, '大梨', '18000000000', 2, '2018-10-24 17:22:54', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色:金色;内存:16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', '退货了', 'admin', 'admin', '2018-10-24 17:23:06', '收货了'); INSERT INTO `oms_order_return_apply` VALUES (13, 15, NULL, 27, '201809130102000002', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 3, '2018-10-24 17:23:30', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色:黑色;内存:32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', '无法退货', 'admin', NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (15, 16, NULL, 26, '201809140101000001', '2018-10-17 14:34:57', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色:金色;内存:16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (16, 16, NULL, 27, '201809140101000001', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色:黑色;内存:32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (17, 16, NULL, 28, '201809140101000001', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色:金色;内存:16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (18, 17, NULL, 26, '201809150101000003', '2018-10-17 14:34:57', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色:金色;内存:16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (19, 17, NULL, 27, '201809150101000003', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色:黑色;内存:32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (20, 17, NULL, 28, '201809150101000003', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色:金色;内存:16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (21, 18, NULL, 26, '201809150102000004', '2018-10-17 14:34:57', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色:金色;内存:16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (22, 18, NULL, 27, '201809150102000004', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色:黑色;内存:32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (23, 18, NULL, 28, '201809150102000004', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色:金色;内存:16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (24, 19, NULL, 26, '201809130101000003', '2018-10-17 14:34:57', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '华为 HUAWEI P20', '华为', '颜色:金色;内存:16G', 1, 3788.00, 3585.98, '质量问题', '老是卡', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (25, 19, NULL, 27, '201809130101000003', '2018-10-17 14:40:21', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '小米8', '小米', '颜色:黑色;内存:32G', 1, 2699.00, 2022.81, '质量问题', '不够高端', '', NULL, NULL, NULL, NULL, NULL); INSERT INTO `oms_order_return_apply` VALUES (26, 19, NULL, 28, '201809130101000003', '2018-10-17 14:44:18', 'test', NULL, '大梨', '18000000000', 0, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '红米5A', '小米', '颜色:金色;内存:16G', 1, 649.00, 591.05, '质量问题', '颜色太土', '', NULL, NULL, NULL, NULL, NULL); -- ---------------------------- -- Table structure for oms_order_return_reason -- ---------------------------- DROP TABLE IF EXISTS `oms_order_return_reason`; CREATE TABLE `oms_order_return_reason` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '退货类型', `sort` int(11) NULL DEFAULT NULL, `status` int(1) NULL DEFAULT NULL COMMENT '状态:0->不启用;1->启用', `create_time` datetime NULL DEFAULT NULL COMMENT '添加时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '退货原因表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oms_order_return_reason -- ---------------------------- INSERT INTO `oms_order_return_reason` VALUES (1, '质量问题', 1, 1, '2018-10-17 10:00:45'); INSERT INTO `oms_order_return_reason` VALUES (2, '尺码太大', 1, 1, '2018-10-17 10:01:03'); INSERT INTO `oms_order_return_reason` VALUES (3, '颜色不喜欢', 1, 1, '2018-10-17 10:01:13'); INSERT INTO `oms_order_return_reason` VALUES (4, '7天无理由退货', 1, 1, '2018-10-17 10:01:47'); INSERT INTO `oms_order_return_reason` VALUES (5, '价格问题', 1, 0, '2018-10-17 10:01:57'); INSERT INTO `oms_order_return_reason` VALUES (12, '发票问题', 0, 1, '2018-10-19 16:28:36'); INSERT INTO `oms_order_return_reason` VALUES (13, '其他问题', 0, 1, '2018-10-19 16:28:51'); INSERT INTO `oms_order_return_reason` VALUES (14, '物流问题', 0, 1, '2018-10-19 16:29:01'); INSERT INTO `oms_order_return_reason` VALUES (15, '售后问题', 0, 1, '2018-10-19 16:29:11'); -- ---------------------------- -- Table structure for oms_order_setting -- ---------------------------- DROP TABLE IF EXISTS `oms_order_setting`; CREATE TABLE `oms_order_setting` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `flash_order_overtime` int(11) NULL DEFAULT NULL COMMENT '秒杀订单超时关闭时间(分)', `normal_order_overtime` int(11) NULL DEFAULT NULL COMMENT '正常订单超时时间(分)', `confirm_overtime` int(11) NULL DEFAULT NULL COMMENT '发货后自动确认收货时间(天)', `finish_overtime` int(11) NULL DEFAULT NULL COMMENT '自动完成交易时间,不能申请售后(天)', `comment_overtime` int(11) NULL DEFAULT NULL COMMENT '订单完成后自动好评时间(天)', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '订单设置表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of oms_order_setting -- ---------------------------- INSERT INTO `oms_order_setting` VALUES (1, 60, 120, 15, 7, 7); -- ---------------------------- -- Table structure for pms_album -- ---------------------------- DROP TABLE IF EXISTS `pms_album`; CREATE TABLE `pms_album` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `cover_pic` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `pic_count` int(11) NULL DEFAULT NULL, `sort` int(11) NULL DEFAULT NULL, `description` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '相册表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_album -- ---------------------------- -- ---------------------------- -- Table structure for pms_album_pic -- ---------------------------- DROP TABLE IF EXISTS `pms_album_pic`; CREATE TABLE `pms_album_pic` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `album_id` bigint(20) NULL DEFAULT NULL, `pic` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '画册图片表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_album_pic -- ---------------------------- -- ---------------------------- -- Table structure for pms_brand -- ---------------------------- DROP TABLE IF EXISTS `pms_brand`; CREATE TABLE `pms_brand` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `first_letter` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '首字母', `sort` int(11) NULL DEFAULT NULL, `factory_status` int(1) NULL DEFAULT NULL COMMENT '是否为品牌制造商:0->不是;1->是', `show_status` int(1) NULL DEFAULT NULL, `product_count` int(11) NULL DEFAULT NULL COMMENT '产品数量', `product_comment_count` int(11) NULL DEFAULT NULL COMMENT '产品评论数量', `logo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '品牌logo', `big_pic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专区大图', `brand_story` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '品牌故事', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 60 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '品牌表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_brand -- ---------------------------- INSERT INTO `pms_brand` VALUES (1, '万和', 'W', 0, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5b07ca8aN4e127d2f.jpg', 'http://img13.360buyimg.com/cms/jfs/t1/121860/35/2430/187800/5ec4e294E22f3ffcc/1e233b65b94ba192.jpg', '万和成立于1993年8月,总部位于广东顺德国家级高新技术开发区内,是国内生产规模最大的燃气具专业制造企业,也是中国燃气具发展战略的首倡者和推动者、中国五金制品协会燃气用具分会第三届理事长单位。'); INSERT INTO `pms_brand` VALUES (2, '三星', 'S', 100, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/57201b47N7bf15715.jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_banner_01.png', '三星集团(英文:SAMSUNG、韩文:삼성)是韩国最大的跨国企业集团,三星集团包括众多的国际下属企业,旗下子公司有:三星电子、三星物产、三星人寿保险等,业务涉及电子、金融、机械、化学等众多领域。'); INSERT INTO `pms_brand` VALUES (3, '华为', 'H', 100, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5abf6f26N31658aa2.jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/huawei_banner_01.png', '荣耀品牌成立于2013年,是华为旗下手机双品牌之一。荣耀以“创新、品质、服务”为核心战略,为全球年轻人提供潮酷的全场景智能化体验,打造年轻人向往的先锋文化和潮流生活方式'); INSERT INTO `pms_brand` VALUES (4, '格力', 'G', 30, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/timg (3).jpg', NULL, 'Victoria\'s Secret的故事'); INSERT INTO `pms_brand` VALUES (5, '方太', 'F', 20, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/timg (4).jpg', NULL, 'Victoria\'s Secret的故事'); INSERT INTO `pms_brand` VALUES (6, '小米', 'M', 500, 1, 1, 100, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5565f5a2N0b8169ae.jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/xiaomi_banner_01.png', '小米公司正式成立于2010年4月,是一家专注于高端智能手机、互联网电视自主研发的创新型科技企业。主要由前谷歌、微软、摩托、金山等知名公司的顶尖人才组建。'); INSERT INTO `pms_brand` VALUES (21, 'OPPO', 'O', 0, 1, 1, 88, 500, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/timg(6).jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_banner_01.png', 'OPPO于2008年推出第一款“笑脸手机”,由此开启探索和引领至美科技之旅。今天,OPPO凭借以Find和R系列手机为核心的智能终端产品,以及OPPO+等互联网服务,让全球消费者尽享至美科技。'); INSERT INTO `pms_brand` VALUES (49, '七匹狼', 'S', 200, 1, 1, 77, 400, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190525/qipilang.png', NULL, 'BOOB的故事'); INSERT INTO `pms_brand` VALUES (50, '海澜之家', 'H', 200, 1, 1, 66, 300, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a5c69b9N5d6c5696.jpg', 'http://img10.360buyimg.com/cms/jfs/t1/133148/4/1605/470028/5edaf5ccEd7a687a9/e0a007631361ff75.jpg', '“海澜之家”(英文缩写:HLA)是海澜之家股份有限公司旗下的服装品牌,总部位于中国江苏省无锡市江阴市,主要采用连锁零售的模式,销售男性服装、配饰与相关产品。'); INSERT INTO `pms_brand` VALUES (51, '苹果', 'A', 200, 1, 1, 55, 200, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/49b30bb0377030d1.jpg', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/apple_banner_01.png', '苹果公司(Apple Inc. )是美国的一家高科技公司。 由史蒂夫·乔布斯、斯蒂夫·沃兹尼亚克和罗·韦恩(Ron Wayne)等人于1976年4月1日创立,并命名为美国苹果电脑公司(Apple Computer Inc. ),2007年1月9日更名为苹果公司,总部位于加利福尼亚州的...'); INSERT INTO `pms_brand` VALUES (58, 'NIKE', 'N', 0, 1, 0, 33, 100, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/timg (51).jpg', '', 'NIKE的故事'); INSERT INTO `pms_brand` VALUES (59, '测试品牌', 'C', 0, 0, 0, NULL, NULL, 'http://localhost:9000/mall/20220609/Snipaste_2022-06-08_14-35-53.png', 'http://localhost:9000/mall/20220609/biji_05.jpg', '12345'); -- ---------------------------- -- Table structure for pms_comment -- ---------------------------- DROP TABLE IF EXISTS `pms_comment`; CREATE TABLE `pms_comment` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `member_nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `star` int(3) NULL DEFAULT NULL COMMENT '评价星数:0->5', `member_ip` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评价的ip', `create_time` datetime NULL DEFAULT NULL, `show_status` int(1) NULL DEFAULT NULL, `product_attribute` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '购买时的商品属性', `collect_couont` int(11) NULL DEFAULT NULL, `read_count` int(11) NULL DEFAULT NULL, `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, `pics` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上传图片地址,以逗号隔开', `member_icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '评论用户头像', `replay_count` int(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品评价表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_comment -- ---------------------------- -- ---------------------------- -- Table structure for pms_comment_replay -- ---------------------------- DROP TABLE IF EXISTS `pms_comment_replay`; CREATE TABLE `pms_comment_replay` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `comment_id` bigint(20) NULL DEFAULT NULL, `member_nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `member_icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `content` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `type` int(1) NULL DEFAULT NULL COMMENT '评论人员类型;0->会员;1->管理员', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品评价回复表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_comment_replay -- ---------------------------- -- ---------------------------- -- Table structure for pms_feight_template -- ---------------------------- DROP TABLE IF EXISTS `pms_feight_template`; CREATE TABLE `pms_feight_template` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `charge_type` int(1) NULL DEFAULT NULL COMMENT '计费类型:0->按重量;1->按件数', `first_weight` decimal(10, 2) NULL DEFAULT NULL COMMENT '首重kg', `first_fee` decimal(10, 2) NULL DEFAULT NULL COMMENT '首费(元)', `continue_weight` decimal(10, 2) NULL DEFAULT NULL, `continme_fee` decimal(10, 2) NULL DEFAULT NULL, `dest` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '目的地(省、市)', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '运费模版' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_feight_template -- ---------------------------- -- ---------------------------- -- Table structure for pms_member_price -- ---------------------------- DROP TABLE IF EXISTS `pms_member_price`; CREATE TABLE `pms_member_price` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `member_level_id` bigint(20) NULL DEFAULT NULL, `member_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '会员价格', `member_level_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 426 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品会员价格表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_member_price -- ---------------------------- INSERT INTO `pms_member_price` VALUES (26, 7, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (27, 8, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (28, 9, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (29, 10, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (30, 11, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (31, 12, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (32, 13, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (33, 14, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (37, 18, 1, 500.00, NULL); INSERT INTO `pms_member_price` VALUES (44, 7, 2, 480.00, NULL); INSERT INTO `pms_member_price` VALUES (45, 7, 3, 450.00, NULL); INSERT INTO `pms_member_price` VALUES (52, 22, 1, NULL, NULL); INSERT INTO `pms_member_price` VALUES (53, 22, 2, NULL, NULL); INSERT INTO `pms_member_price` VALUES (54, 22, 3, NULL, NULL); INSERT INTO `pms_member_price` VALUES (58, 24, 1, NULL, NULL); INSERT INTO `pms_member_price` VALUES (59, 24, 2, NULL, NULL); INSERT INTO `pms_member_price` VALUES (60, 24, 3, NULL, NULL); INSERT INTO `pms_member_price` VALUES (112, 23, 1, 88.00, '黄金会员'); INSERT INTO `pms_member_price` VALUES (113, 23, 2, 88.00, '白金会员'); INSERT INTO `pms_member_price` VALUES (114, 23, 3, 66.00, '钻石会员'); INSERT INTO `pms_member_price` VALUES (246, 36, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (247, 36, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (248, 36, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (249, 35, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (250, 35, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (251, 35, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (258, 30, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (259, 30, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (260, 30, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (261, 31, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (262, 31, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (263, 31, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (264, 32, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (265, 32, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (266, 32, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (270, 33, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (271, 33, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (272, 33, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (273, 34, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (274, 34, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (275, 34, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (285, 27, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (286, 27, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (287, 27, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (294, 28, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (295, 28, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (296, 28, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (297, 29, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (298, 29, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (299, 29, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (315, 37, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (316, 37, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (317, 37, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (381, 38, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (382, 38, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (383, 38, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (384, 39, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (385, 39, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (386, 39, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (387, 41, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (388, 41, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (389, 41, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (390, 42, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (391, 42, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (392, 42, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (393, 43, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (394, 43, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (395, 43, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (396, 44, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (397, 44, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (398, 44, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (399, 45, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (400, 45, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (401, 45, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (402, 40, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (403, 40, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (404, 40, 3, NULL, '钻石会员'); INSERT INTO `pms_member_price` VALUES (423, 26, 1, NULL, '黄金会员'); INSERT INTO `pms_member_price` VALUES (424, 26, 2, NULL, '白金会员'); INSERT INTO `pms_member_price` VALUES (425, 26, 3, NULL, '钻石会员'); -- ---------------------------- -- Table structure for pms_product -- ---------------------------- DROP TABLE IF EXISTS `pms_product`; CREATE TABLE `pms_product` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `brand_id` bigint(20) NULL DEFAULT NULL, `product_category_id` bigint(20) NULL DEFAULT NULL, `feight_template_id` bigint(20) NULL DEFAULT NULL, `product_attribute_category_id` bigint(20) NULL DEFAULT NULL, `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `pic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_sn` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '货号', `delete_status` int(1) NULL DEFAULT NULL COMMENT '删除状态:0->未删除;1->已删除', `publish_status` int(1) NULL DEFAULT NULL COMMENT '上架状态:0->下架;1->上架', `new_status` int(1) NULL DEFAULT NULL COMMENT '新品状态:0->不是新品;1->新品', `recommand_status` int(1) NULL DEFAULT NULL COMMENT '推荐状态;0->不推荐;1->推荐', `verify_status` int(1) NULL DEFAULT NULL COMMENT '审核状态:0->未审核;1->审核通过', `sort` int(11) NULL DEFAULT NULL COMMENT '排序', `sale` int(11) NULL DEFAULT NULL COMMENT '销量', `price` decimal(10, 2) NULL DEFAULT NULL, `promotion_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '促销价格', `gift_growth` int(11) NULL DEFAULT 0 COMMENT '赠送的成长值', `gift_point` int(11) NULL DEFAULT 0 COMMENT '赠送的积分', `use_point_limit` int(11) NULL DEFAULT NULL COMMENT '限制使用的积分数', `sub_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '副标题', `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '商品描述', `original_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '市场价', `stock` int(11) NULL DEFAULT NULL COMMENT '库存', `low_stock` int(11) NULL DEFAULT NULL COMMENT '库存预警值', `unit` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '单位', `weight` decimal(10, 2) NULL DEFAULT NULL COMMENT '商品重量,默认为克', `preview_status` int(1) NULL DEFAULT NULL COMMENT '是否为预告商品:0->不是;1->是', `service_ids` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '以逗号分割的产品服务:1->无忧退货;2->快速退款;3->免费包邮', `keywords` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `note` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `album_pics` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '画册图片,连产品图片限制为5张,以逗号分割', `detail_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `detail_desc` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL, `detail_html` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '产品详情网页内容', `detail_mobile_html` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '移动端网页详情', `promotion_start_time` datetime NULL DEFAULT NULL COMMENT '促销开始时间', `promotion_end_time` datetime NULL DEFAULT NULL COMMENT '促销结束时间', `promotion_per_limit` int(11) NULL DEFAULT NULL COMMENT '活动限购数量', `promotion_type` int(1) NULL DEFAULT NULL COMMENT '促销类型:0->没有促销使用原价;1->使用促销价;2->使用会员价;3->使用阶梯价格;4->使用满减价格;5->限时购', `brand_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '品牌名称', `product_category_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品分类名称', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product -- ---------------------------- INSERT INTO `pms_product` VALUES (1, 49, 7, 0, 0, '银色星芒刺绣网纱底裤', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 1, 1, 1, 1, 100, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '七匹狼', '外套'); INSERT INTO `pms_product` VALUES (2, 49, 7, 0, 0, '银色星芒刺绣网纱底裤2', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86578', 1, 1, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤2', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '

银色星芒刺绣网纱底裤

', '

银色星芒刺绣网纱底裤

', NULL, NULL, NULL, 0, '七匹狼', '外套'); INSERT INTO `pms_product` VALUES (3, 1, 7, 0, 0, '银色星芒刺绣网纱底裤3', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86579', 1, 1, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤3', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (4, 1, 7, 0, 0, '银色星芒刺绣网纱底裤4', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86580', 1, 1, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤4', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (5, 1, 7, 0, 0, '银色星芒刺绣网纱底裤5', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86581', 1, 0, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤5', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (6, 1, 7, 0, 0, '银色星芒刺绣网纱底裤6', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86582', 1, 1, 1, 1, 1, 1, 0, 100.00, NULL, 0, 100, NULL, '111', '111', 120.00, 100, 20, '件', 1000.00, 0, NULL, '银色星芒刺绣网纱底裤6', '银色星芒刺绣网纱底裤', NULL, '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', '银色星芒刺绣网纱底裤', NULL, NULL, NULL, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (7, 1, 7, 0, 1, '女式超柔软拉毛运动开衫', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 0, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (8, 1, 7, 0, 1, '女式超柔软拉毛运动开衫1', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 0, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (9, 1, 7, 0, 1, '女式超柔软拉毛运动开衫1', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 0, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (10, 1, 7, 0, 1, '女式超柔软拉毛运动开衫1', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 0, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (11, 1, 7, 0, 1, '女式超柔软拉毛运动开衫1', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 1, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (12, 1, 7, 0, 1, '女式超柔软拉毛运动开衫2', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 1, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (13, 1, 7, 0, 1, '女式超柔软拉毛运动开衫3', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 1, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (14, 1, 7, 0, 1, '女式超柔软拉毛运动开衫3', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (18, 1, 7, 0, 1, '女式超柔软拉毛运动开衫3', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180522/web.png', 'No86577', 1, 0, 0, 1, 0, 0, 0, 249.00, 0.00, 0, 100, 0, '匠心剪裁,垂感质地', '匠心剪裁,垂感质地', 299.00, 100, 0, '件', 0.00, 0, 'string', '女式超柔软拉毛运动开衫', 'string', 'string', 'string', 'string', 'string', 'string', '2018-04-26 10:41:03', '2018-04-26 10:41:03', 0, 0, '万和', '外套'); INSERT INTO `pms_product` VALUES (22, 6, 7, 0, 1, 'test', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/1522738681.jpg', '', 1, 1, 0, 0, 0, 0, 0, 0.00, NULL, 0, 0, 0, 'test', '', 0.00, 100, 0, '', 0.00, 1, '1,2', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '小米', '外套'); INSERT INTO `pms_product` VALUES (23, 6, 19, 0, 1, '毛衫测试', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/1522738681.jpg', 'NO.1098', 1, 1, 1, 1, 0, 0, 0, 99.00, NULL, 99, 99, 1000, '毛衫测试11', 'xxx', 109.00, 100, 0, '件', 1000.00, 1, '1,2,3', '毛衫测试', '毛衫测试', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/1522738681.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180604/1522738681.jpg', '毛衫测试', '毛衫测试', '

', '', NULL, NULL, 0, 2, '小米', '手机数码'); INSERT INTO `pms_product` VALUES (24, 6, 7, 0, NULL, 'xxx', '', '', 1, 0, 0, 0, 0, 0, 0, 0.00, NULL, 0, 0, 0, 'xxx', '', 0.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '小米', '外套'); INSERT INTO `pms_product` VALUES (26, 3, 19, 0, 3, '华为 HUAWEI P20 ', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf58Ndefaac16.jpg', '6946605', 0, 1, 1, 1, 0, 100, 100, 3788.00, 3659.00, 3788, 3788, 0, 'AI智慧全面屏 6GB +64GB 亮黑色 全网通版 移动联通电信4G手机 双卡双待手机 双卡双待', '', 4288.00, 1000, 0, '件', 0.00, 1, '2,3,1', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ab46a3cN616bdc41.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180607/5ac1bf5fN2522b9dc.jpg', '', '', '

', '

\"\"

\n

\"\"

', '2023-01-10 15:49:38', '2023-01-31 00:00:00', 0, 1, '华为', '手机通讯'); INSERT INTO `pms_product` VALUES (27, 6, 19, 0, 3, '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/xiaomi.jpg', '7437788', 0, 1, 1, 1, 0, 0, 99, 2699.00, NULL, 2699, 2699, 0, '骁龙845处理器,红外人脸解锁,AI变焦双摄,AI语音助手小米6X低至1299,点击抢购', '小米8 全面屏游戏智能手机 6GB+64GB 黑色 全网通4G 双卡双待', 2699.00, 100, 0, '', 0.00, 0, '1', '', '', '', '', '', '

', '

', NULL, NULL, 0, 3, '小米', '手机通讯'); INSERT INTO `pms_product` VALUES (28, 6, 19, 0, 3, '小米 红米5A 全网通版 3GB+32GB 香槟金 移动联通电信4G手机 双卡双待', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a9d248cN071f4959.jpg', '7437789', 0, 1, 1, 1, 0, 0, 98, 649.00, NULL, 649, 649, 0, '8天超长待机,137g轻巧机身,高通骁龙处理器小米6X低至1299,点击抢购', '', 649.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '
\n

 

\n
', NULL, NULL, 0, 4, '小米', '手机通讯'); INSERT INTO `pms_product` VALUES (29, 51, 19, 0, 3, 'Apple iPhone 8 Plus 64GB 红色特别版 移动联通电信4G手机', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5acc5248N6a5f81cd.jpg', '7437799', 0, 1, 1, 1, 0, 0, 97, 5499.00, 4799.00, 5499, 5499, 0, '【限时限量抢购】Apple产品年中狂欢节,好物尽享,美在智慧!速来 >> 勾选[保障服务][原厂保2年],获得AppleCare+全方位服务计划,原厂延保售后无忧。', '', 5499.00, 100, 0, '', 0.00, 0, '1,2,3', '', '', '', '', '', '', '
', '2020-05-04 15:12:54', '2020-05-30 00:00:00', 0, 1, '苹果', '手机通讯'); INSERT INTO `pms_product` VALUES (30, 50, 8, 0, 1, 'HLA海澜之家简约动物印花短袖T恤', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5ad83a4fN6ff67ecd.jpg!cc_350x449.jpg', 'HNTBJ2E042A', 0, 1, 1, 1, 0, 0, 0, 98.00, NULL, 0, 0, 0, '2018夏季新品微弹舒适新款短T男生 6月6日-6月20日,满300减30,参与互动赢百元礼券,立即分享赢大奖', '', 98.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '海澜之家', 'T恤'); INSERT INTO `pms_product` VALUES (31, 50, 8, 0, 1, 'HLA海澜之家蓝灰花纹圆领针织布短袖T恤', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5ac98b64N70acd82f.jpg!cc_350x449.jpg', 'HNTBJ2E080A', 0, 1, 0, 0, 0, 0, 0, 98.00, NULL, 0, 0, 0, '2018夏季新品短袖T恤男HNTBJ2E080A 蓝灰花纹80 175/92A/L80A 蓝灰花纹80 175/92A/L', '', 98.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '海澜之家', 'T恤'); INSERT INTO `pms_product` VALUES (32, 50, 8, 0, 1, 'HLA海澜之家短袖T恤男基础款', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5a51eb88Na4797877.jpg', 'HNTBJ2E153A', 0, 1, 0, 0, 0, 0, 0, 68.00, NULL, 0, 0, 0, 'HLA海澜之家短袖T恤男基础款简约圆领HNTBJ2E153A藏青(F3)175/92A(50)', '', 68.00, 100, 0, '', 0.00, 0, '1,2', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '海澜之家', 'T恤'); INSERT INTO `pms_product` VALUES (33, 6, 35, 0, 12, '小米(MI)小米电视4A ', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b02804dN66004d73.jpg', '4609652', 0, 1, 0, 0, 0, 0, 0, 2499.00, NULL, 0, 0, 0, '小米(MI)小米电视4A 55英寸 L55M5-AZ/L55M5-AD 2GB+8GB HDR 4K超高清 人工智能网络液晶平板电视', '', 2499.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '小米', '电视'); INSERT INTO `pms_product` VALUES (34, 6, 35, 0, 12, '小米(MI)小米电视4A 65英寸', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b028530N51eee7d4.jpg', '4609660', 0, 1, 0, 0, 0, 0, 0, 3999.00, NULL, 0, 0, 0, ' L65M5-AZ/L65M5-AD 2GB+8GB HDR 4K超高清 人工智能网络液晶平板电视', '', 3999.00, 100, 0, '', 0.00, 0, '1,2', '', '', '', '', '', '', '', NULL, NULL, 0, 0, '小米', '电视'); INSERT INTO `pms_product` VALUES (35, 58, 29, 0, 11, '耐克NIKE 男子 休闲鞋 ROSHE RUN 运动鞋 511881-010黑色41码', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b235bb9Nf606460b.jpg', '6799342', 0, 1, 0, 0, 0, 0, 0, 369.00, NULL, 0, 0, 0, '耐克NIKE 男子 休闲鞋 ROSHE RUN 运动鞋 511881-010黑色41码', '', 369.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, 'NIKE', '男鞋'); INSERT INTO `pms_product` VALUES (36, 58, 29, 0, 11, '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20180615/5b19403eN9f0b3cb8.jpg', '6799345', 0, 1, 1, 1, 0, 0, 0, 499.00, NULL, 0, 0, 0, '耐克NIKE 男子 气垫 休闲鞋 AIR MAX 90 ESSENTIAL 运动鞋 AJ1285-101白色41码', '', 499.00, 100, 0, '', 0.00, 0, '', '', '', '', '', '', '', '', NULL, NULL, 0, 0, 'NIKE', '男鞋'); INSERT INTO `pms_product` VALUES (37, 51, 19, 0, 3, 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', '100038005189', 0, 1, 0, 0, 0, 200, 0, 5999.00, NULL, 0, 0, 0, '【11.11大爱超大爱】指定iPhone14产品限时限量领券立减601元!!!部分iPhone产品现货抢购确认收货即送原厂手机壳10元优惠券!!!猛戳 ', '', 5999.00, 1000, 0, '', 208.00, 0, '1,2,3', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_002.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_003.jpg,http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_004.jpg', '', '', '', '
', NULL, NULL, 0, 0, '苹果', '手机通讯'); INSERT INTO `pms_product` VALUES (38, 51, 53, 0, 3, 'Apple iPad 10.9英寸平板电脑 2022年款', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', '100044025833', 0, 1, 0, 0, 0, 0, 0, 3599.00, NULL, 0, 0, 0, '【11.11大爱超大爱】iPad9代限量抢购,价格优惠,更享以旧换新至高补贴325元!!快来抢购吧!! ', '', 3599.00, 1000, 0, '', 0.00, 0, '1,2,3', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_002.jpg', '', '', '', '
', NULL, NULL, 0, 0, '苹果', '平板电脑'); INSERT INTO `pms_product` VALUES (39, 6, 54, 0, 13, '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', '100023207945', 0, 1, 0, 1, 0, 0, 0, 5599.00, NULL, 0, 0, 0, '【双十一大促来袭】指定型号至高优惠1000,以旧换新至高补贴1000元,晒单赢好礼', '', 5599.00, 500, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_002.jpg', '', '', '', '
\n
\n
 
\n
 
\n
\n
 
\n
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
', NULL, NULL, 0, 0, '小米', '笔记本'); INSERT INTO `pms_product` VALUES (40, 6, 19, 0, 3, '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', '100027789721', 0, 1, 0, 1, 0, 0, 0, 2999.00, NULL, 0, 0, 0, '天玑9000+处理器、5160mAh大电量、2KAmoled超视感屏【点击购买小米11Ultra,戳】 ', '', 2999.00, 500, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_02.jpg', '', '', '', '

', NULL, NULL, 0, 4, '小米', '手机通讯'); INSERT INTO `pms_product` VALUES (41, 6, 19, 0, 3, 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', '100035246702', 0, 1, 0, 0, 0, 0, 0, 2099.00, NULL, 0, 0, 0, '【品质好物】天玑8100,2K直屏,5500mAh大电量【Note12Pro火热抢购中】 ', '', 2099.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_02.jpg', '', '', '', '

', NULL, NULL, 0, 0, '小米', '手机通讯'); INSERT INTO `pms_product` VALUES (42, 3, 19, 0, 3, 'HUAWEI Mate 50 直屏旗舰 超光变XMAGE影像 北斗卫星消息', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', '100035295081', 0, 1, 0, 0, 0, 0, 0, 4999.00, NULL, 0, 0, 0, '【华为Mate50新品上市】内置66W华为充电套装,超光变XMAGE影像,北斗卫星消息,鸿蒙操作系统3.0!立即抢购!华为新品可持续计划,猛戳》 ', '', 4999.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_02.jpg', '', '', '', '

', NULL, NULL, 0, 0, '华为', '手机通讯'); INSERT INTO `pms_product` VALUES (43, 1, 39, 0, 14, '万和(Vanward)燃气热水器天然气家用四重防冻直流变频节能全新升级增压水伺服恒温高抗风', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_13L_01.png', '10044060351752', 0, 1, 0, 0, 0, 0, 0, 1799.00, NULL, 0, 0, 0, '【家电11.11享低价,抢到手价不高于1199】【发布种草秀享好礼!同价11.11买贵补差】爆款超一级能效零冷水】 ', '', 1799.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_16L_01.jpg', '', '', '', '

', NULL, NULL, 0, 0, '万和', '厨卫大电'); INSERT INTO `pms_product` VALUES (44, 2, 55, 0, 15, '三星(SAMSUNG)500GB SSD固态硬盘 M.2接口(NVMe协议)', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', '100018768480', 0, 1, 0, 0, 0, 0, 0, 369.00, NULL, 0, 0, 0, '【满血无缓存!进店抽百元E卡,部分型号白条三期免息】兼具速度与可靠性!读速高达3500MB/s,全功率模式!点击 ', '', 369.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_01.jpg', '', '', '', '

', NULL, NULL, 0, 0, '三星', '硬盘'); INSERT INTO `pms_product` VALUES (45, 21, 19, 0, 3, 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', '10052147850350', 0, 1, 0, 0, 0, 0, 0, 2299.00, 999.00, 0, 0, 0, '【11.11提前购机享价保,好货不用等,系统申请一键价保补差!】【Reno8Pro爆款优惠】 ', '', 2299.00, 1000, 0, '', 0.00, 0, '', '', '', 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_02.jpg', '', '', '', '

', '2022-11-09 16:15:50', '2022-11-25 00:00:00', 0, 4, 'OPPO', '手机通讯'); -- ---------------------------- -- Table structure for pms_product_attribute -- ---------------------------- DROP TABLE IF EXISTS `pms_product_attribute`; CREATE TABLE `pms_product_attribute` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_attribute_category_id` bigint(20) NULL DEFAULT NULL, `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `select_type` int(1) NULL DEFAULT NULL COMMENT '属性选择类型:0->唯一;1->单选;2->多选', `input_type` int(1) NULL DEFAULT NULL COMMENT '属性录入方式:0->手工录入;1->从列表中选取', `input_list` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '可选值列表,以逗号隔开', `sort` int(11) NULL DEFAULT NULL COMMENT '排序字段:最高的可以单独上传图片', `filter_type` int(1) NULL DEFAULT NULL COMMENT '分类筛选样式:1->普通;1->颜色', `search_type` int(1) NULL DEFAULT NULL COMMENT '检索类型;0->不需要进行检索;1->关键字检索;2->范围检索', `related_status` int(1) NULL DEFAULT NULL COMMENT '相同属性产品是否关联;0->不关联;1->关联', `hand_add_status` int(1) NULL DEFAULT NULL COMMENT '是否支持手动新增;0->不支持;1->支持', `type` int(1) NULL DEFAULT NULL COMMENT '属性的类型;0->规格;1->参数', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 74 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品属性参数表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_attribute -- ---------------------------- INSERT INTO `pms_product_attribute` VALUES (1, 1, '尺寸', 2, 1, 'M,X,XL,2XL,3XL,4XL', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (7, 1, '颜色', 2, 1, '黑色,红色,白色,粉色', 100, 0, 0, 0, 1, 0); INSERT INTO `pms_product_attribute` VALUES (13, 0, '上市年份', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (14, 0, '上市年份1', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (15, 0, '上市年份2', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (16, 0, '上市年份3', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (17, 0, '上市年份4', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (18, 0, '上市年份5', 1, 1, '2013年,2014年,2015年,2016年,2017年', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (19, 0, '适用对象', 1, 1, '青年女性,中年女性', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (20, 0, '适用对象1', 2, 1, '青年女性,中年女性', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (21, 0, '适用对象3', 2, 1, '青年女性,中年女性', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (24, 1, '商品编号', 1, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (25, 1, '适用季节', 1, 1, '春季,夏季,秋季,冬季', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (32, 2, '适用人群', 0, 1, '老年,青年,中年', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (33, 2, '风格', 0, 1, '嘻哈风格,基础大众,商务正装', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (35, 2, '颜色', 0, 0, '', 100, 0, 0, 0, 1, 0); INSERT INTO `pms_product_attribute` VALUES (37, 1, '适用人群', 1, 1, '儿童,青年,中年,老年', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (38, 1, '上市时间', 1, 1, '2017年秋,2017年冬,2018年春,2018年夏', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (39, 1, '袖长', 1, 1, '短袖,长袖,中袖', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (40, 2, '尺码', 0, 1, '29,30,31,32,33,34', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (41, 2, '适用场景', 0, 1, '居家,运动,正装', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (42, 2, '上市时间', 0, 1, '2018年春,2018年夏', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (43, 3, '颜色', 0, 0, '', 100, 0, 0, 0, 1, 0); INSERT INTO `pms_product_attribute` VALUES (44, 3, '容量', 0, 1, '16G,32G,64G,128G,256G,512G', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (45, 3, '屏幕尺寸', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (46, 3, '网络', 0, 1, '3G,4G,5G,WLAN', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (47, 3, '系统', 0, 1, 'Android,IOS', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (48, 3, '电池容量', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (49, 11, '颜色', 0, 1, '红色,蓝色,绿色', 0, 1, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (50, 11, '尺寸', 0, 1, '38,39,40', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (51, 11, '风格', 0, 1, '夏季,秋季', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (52, 12, '尺寸', 0, 1, '50英寸,65英寸,70英寸', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (53, 12, '内存', 0, 1, '8G,16G,32G', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (54, 12, '商品编号', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (55, 12, '商品毛重', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (56, 12, '商品产地', 0, 1, '中国大陆,其他', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (57, 12, '电视类型', 0, 1, '大屏,教育电视,4K超清', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (58, 13, '颜色', 0, 0, '', 0, 0, 0, 0, 1, 0); INSERT INTO `pms_product_attribute` VALUES (59, 13, '版本', 0, 1, 'R7 16G 512,R5 16G 512,I5 16G 512,I7 16G 512', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (60, 13, '屏幕尺寸', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (61, 13, '屏幕分辨率', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (62, 13, 'CPU型号', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (63, 14, '系列', 0, 0, '', 0, 0, 0, 0, 1, 0); INSERT INTO `pms_product_attribute` VALUES (64, 14, '上市时间', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (65, 14, '毛重', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (66, 14, '额定功率', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (67, 15, '颜色', 0, 0, '', 0, 0, 0, 0, 1, 0); INSERT INTO `pms_product_attribute` VALUES (68, 15, '版本', 0, 1, '512GB,1TB', 0, 0, 0, 0, 0, 0); INSERT INTO `pms_product_attribute` VALUES (69, 15, '系列', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (70, 15, '型号', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (71, 15, '闪存类型', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (72, 15, '顺序读速', 0, 0, '', 0, 0, 0, 0, 0, 1); INSERT INTO `pms_product_attribute` VALUES (73, 15, '顺序写入', 0, 0, '', 0, 0, 0, 0, 0, 1); -- ---------------------------- -- Table structure for pms_product_attribute_category -- ---------------------------- DROP TABLE IF EXISTS `pms_product_attribute_category`; CREATE TABLE `pms_product_attribute_category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `attribute_count` int(11) NULL DEFAULT 0 COMMENT '属性数量', `param_count` int(11) NULL DEFAULT 0 COMMENT '参数数量', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品属性分类表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_attribute_category -- ---------------------------- INSERT INTO `pms_product_attribute_category` VALUES (1, '服装-T恤', 2, 5); INSERT INTO `pms_product_attribute_category` VALUES (2, '服装-裤装', 2, 4); INSERT INTO `pms_product_attribute_category` VALUES (3, '手机数码-手机通讯', 2, 4); INSERT INTO `pms_product_attribute_category` VALUES (4, '配件', 0, 0); INSERT INTO `pms_product_attribute_category` VALUES (5, '居家', 0, 0); INSERT INTO `pms_product_attribute_category` VALUES (6, '洗护', 0, 0); INSERT INTO `pms_product_attribute_category` VALUES (10, '测试分类', 0, 0); INSERT INTO `pms_product_attribute_category` VALUES (11, '服装-鞋帽', 3, 0); INSERT INTO `pms_product_attribute_category` VALUES (12, '家用电器-电视', 2, 4); INSERT INTO `pms_product_attribute_category` VALUES (13, '电脑办公-笔记本', 2, 3); INSERT INTO `pms_product_attribute_category` VALUES (14, '家用电器-厨卫大电', 1, 3); INSERT INTO `pms_product_attribute_category` VALUES (15, '电脑办公-硬盘', 2, 5); -- ---------------------------- -- Table structure for pms_product_attribute_value -- ---------------------------- DROP TABLE IF EXISTS `pms_product_attribute_value`; CREATE TABLE `pms_product_attribute_value` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `product_attribute_id` bigint(20) NULL DEFAULT NULL, `value` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手动添加规格或参数的值,参数单值,规格有多个时以逗号隔开', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 517 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '存储产品参数信息的表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_attribute_value -- ---------------------------- INSERT INTO `pms_product_attribute_value` VALUES (1, 9, 1, 'X'); INSERT INTO `pms_product_attribute_value` VALUES (2, 10, 1, 'X'); INSERT INTO `pms_product_attribute_value` VALUES (3, 11, 1, 'X'); INSERT INTO `pms_product_attribute_value` VALUES (4, 12, 1, 'X'); INSERT INTO `pms_product_attribute_value` VALUES (5, 13, 1, 'X'); INSERT INTO `pms_product_attribute_value` VALUES (6, 14, 1, 'X'); INSERT INTO `pms_product_attribute_value` VALUES (7, 18, 1, 'X'); INSERT INTO `pms_product_attribute_value` VALUES (8, 7, 1, 'X'); INSERT INTO `pms_product_attribute_value` VALUES (9, 7, 1, 'XL'); INSERT INTO `pms_product_attribute_value` VALUES (10, 7, 1, 'XXL'); INSERT INTO `pms_product_attribute_value` VALUES (11, 22, 7, 'x,xx'); INSERT INTO `pms_product_attribute_value` VALUES (12, 22, 24, 'no110'); INSERT INTO `pms_product_attribute_value` VALUES (13, 22, 25, '春季'); INSERT INTO `pms_product_attribute_value` VALUES (14, 22, 37, '青年'); INSERT INTO `pms_product_attribute_value` VALUES (15, 22, 38, '2018年春'); INSERT INTO `pms_product_attribute_value` VALUES (16, 22, 39, '长袖'); INSERT INTO `pms_product_attribute_value` VALUES (124, 23, 7, '米白色,浅黄色'); INSERT INTO `pms_product_attribute_value` VALUES (125, 23, 24, 'no1098'); INSERT INTO `pms_product_attribute_value` VALUES (126, 23, 25, '春季'); INSERT INTO `pms_product_attribute_value` VALUES (127, 23, 37, '青年'); INSERT INTO `pms_product_attribute_value` VALUES (128, 23, 38, '2018年春'); INSERT INTO `pms_product_attribute_value` VALUES (129, 23, 39, '长袖'); INSERT INTO `pms_product_attribute_value` VALUES (130, 1, 13, NULL); INSERT INTO `pms_product_attribute_value` VALUES (131, 1, 14, NULL); INSERT INTO `pms_product_attribute_value` VALUES (132, 1, 15, NULL); INSERT INTO `pms_product_attribute_value` VALUES (133, 1, 16, NULL); INSERT INTO `pms_product_attribute_value` VALUES (134, 1, 17, NULL); INSERT INTO `pms_product_attribute_value` VALUES (135, 1, 18, NULL); INSERT INTO `pms_product_attribute_value` VALUES (136, 1, 19, NULL); INSERT INTO `pms_product_attribute_value` VALUES (137, 1, 20, NULL); INSERT INTO `pms_product_attribute_value` VALUES (138, 1, 21, NULL); INSERT INTO `pms_product_attribute_value` VALUES (139, 2, 13, NULL); INSERT INTO `pms_product_attribute_value` VALUES (140, 2, 14, NULL); INSERT INTO `pms_product_attribute_value` VALUES (141, 2, 15, NULL); INSERT INTO `pms_product_attribute_value` VALUES (142, 2, 16, NULL); INSERT INTO `pms_product_attribute_value` VALUES (143, 2, 17, NULL); INSERT INTO `pms_product_attribute_value` VALUES (144, 2, 18, NULL); INSERT INTO `pms_product_attribute_value` VALUES (145, 2, 19, NULL); INSERT INTO `pms_product_attribute_value` VALUES (146, 2, 20, NULL); INSERT INTO `pms_product_attribute_value` VALUES (147, 2, 21, NULL); INSERT INTO `pms_product_attribute_value` VALUES (243, 30, 7, '蓝色,白色'); INSERT INTO `pms_product_attribute_value` VALUES (244, 30, 24, 'HNTBJ2E042A'); INSERT INTO `pms_product_attribute_value` VALUES (245, 30, 25, '夏季'); INSERT INTO `pms_product_attribute_value` VALUES (246, 30, 37, '青年'); INSERT INTO `pms_product_attribute_value` VALUES (247, 30, 38, '2018年夏'); INSERT INTO `pms_product_attribute_value` VALUES (248, 30, 39, '短袖'); INSERT INTO `pms_product_attribute_value` VALUES (249, 31, 7, '浅灰色,深灰色'); INSERT INTO `pms_product_attribute_value` VALUES (250, 31, 24, 'HNTBJ2E080A'); INSERT INTO `pms_product_attribute_value` VALUES (251, 31, 25, '夏季'); INSERT INTO `pms_product_attribute_value` VALUES (252, 31, 37, '青年'); INSERT INTO `pms_product_attribute_value` VALUES (253, 31, 38, '2018年夏'); INSERT INTO `pms_product_attribute_value` VALUES (254, 31, 39, '短袖'); INSERT INTO `pms_product_attribute_value` VALUES (255, 32, 7, '黑色,白色'); INSERT INTO `pms_product_attribute_value` VALUES (256, 32, 24, 'HNTBJ2E153A'); INSERT INTO `pms_product_attribute_value` VALUES (257, 32, 25, '夏季'); INSERT INTO `pms_product_attribute_value` VALUES (258, 32, 37, '青年'); INSERT INTO `pms_product_attribute_value` VALUES (259, 32, 38, '2018年夏'); INSERT INTO `pms_product_attribute_value` VALUES (260, 32, 39, '短袖'); INSERT INTO `pms_product_attribute_value` VALUES (265, 33, 54, '4609652'); INSERT INTO `pms_product_attribute_value` VALUES (266, 33, 55, '28.6kg'); INSERT INTO `pms_product_attribute_value` VALUES (267, 33, 56, '中国大陆'); INSERT INTO `pms_product_attribute_value` VALUES (268, 33, 57, '大屏'); INSERT INTO `pms_product_attribute_value` VALUES (269, 34, 54, '4609660'); INSERT INTO `pms_product_attribute_value` VALUES (270, 34, 55, '30.8kg'); INSERT INTO `pms_product_attribute_value` VALUES (271, 34, 56, '中国大陆'); INSERT INTO `pms_product_attribute_value` VALUES (272, 34, 57, '4K超清'); INSERT INTO `pms_product_attribute_value` VALUES (288, 27, 43, '黑色,蓝色'); INSERT INTO `pms_product_attribute_value` VALUES (289, 27, 45, '5.8'); INSERT INTO `pms_product_attribute_value` VALUES (290, 27, 46, '4G'); INSERT INTO `pms_product_attribute_value` VALUES (291, 27, 47, 'Android'); INSERT INTO `pms_product_attribute_value` VALUES (292, 27, 48, '3000ml'); INSERT INTO `pms_product_attribute_value` VALUES (303, 28, 43, '金色,银色'); INSERT INTO `pms_product_attribute_value` VALUES (304, 28, 45, '5.0'); INSERT INTO `pms_product_attribute_value` VALUES (305, 28, 46, '4G'); INSERT INTO `pms_product_attribute_value` VALUES (306, 28, 47, 'Android'); INSERT INTO `pms_product_attribute_value` VALUES (307, 28, 48, '2800ml'); INSERT INTO `pms_product_attribute_value` VALUES (308, 29, 43, '金色,银色'); INSERT INTO `pms_product_attribute_value` VALUES (309, 29, 45, '4.7'); INSERT INTO `pms_product_attribute_value` VALUES (310, 29, 46, '4G'); INSERT INTO `pms_product_attribute_value` VALUES (311, 29, 47, 'IOS'); INSERT INTO `pms_product_attribute_value` VALUES (312, 29, 48, '1960ml'); INSERT INTO `pms_product_attribute_value` VALUES (338, 37, 43, '午夜色,星光色,紫色,蓝色'); INSERT INTO `pms_product_attribute_value` VALUES (339, 37, 45, '6.1英寸'); INSERT INTO `pms_product_attribute_value` VALUES (340, 37, 46, '5G'); INSERT INTO `pms_product_attribute_value` VALUES (341, 37, 47, 'IOS'); INSERT INTO `pms_product_attribute_value` VALUES (342, 37, 48, '3000毫安'); INSERT INTO `pms_product_attribute_value` VALUES (443, 38, 43, '银色,蓝色'); INSERT INTO `pms_product_attribute_value` VALUES (444, 38, 45, '10.9英寸'); INSERT INTO `pms_product_attribute_value` VALUES (445, 38, 46, 'WLAN'); INSERT INTO `pms_product_attribute_value` VALUES (446, 38, 47, 'IOS'); INSERT INTO `pms_product_attribute_value` VALUES (447, 38, 48, '6000毫安'); INSERT INTO `pms_product_attribute_value` VALUES (448, 39, 58, '新小米Pro 14英寸 2.8K屏,新Redmi Pro 15英寸 3.2K屏'); INSERT INTO `pms_product_attribute_value` VALUES (449, 39, 60, '15.6英寸'); INSERT INTO `pms_product_attribute_value` VALUES (450, 39, 61, '3200*2000'); INSERT INTO `pms_product_attribute_value` VALUES (451, 39, 62, 'R5 6600H'); INSERT INTO `pms_product_attribute_value` VALUES (452, 41, 43, '墨羽,银迹'); INSERT INTO `pms_product_attribute_value` VALUES (453, 41, 45, '6.67英寸'); INSERT INTO `pms_product_attribute_value` VALUES (454, 41, 46, '5G'); INSERT INTO `pms_product_attribute_value` VALUES (455, 41, 47, 'Android'); INSERT INTO `pms_product_attribute_value` VALUES (456, 41, 48, '5500mAh'); INSERT INTO `pms_product_attribute_value` VALUES (457, 42, 43, '曜金黑,冰霜银'); INSERT INTO `pms_product_attribute_value` VALUES (458, 42, 45, '6.7英寸'); INSERT INTO `pms_product_attribute_value` VALUES (459, 42, 46, '5G'); INSERT INTO `pms_product_attribute_value` VALUES (460, 42, 47, 'Android'); INSERT INTO `pms_product_attribute_value` VALUES (461, 42, 48, '4460mAh'); INSERT INTO `pms_product_attribute_value` VALUES (462, 43, 63, 'JSQ25-565W13【13升】【恒温旗舰款】,JSQ30-565W16【16升】【恒温旗舰款】'); INSERT INTO `pms_product_attribute_value` VALUES (463, 43, 64, '2021-05'); INSERT INTO `pms_product_attribute_value` VALUES (464, 43, 65, '15.5kg'); INSERT INTO `pms_product_attribute_value` VALUES (465, 43, 66, '30w'); INSERT INTO `pms_product_attribute_value` VALUES (466, 44, 67, '新品980|NVMe PCIe3.0*4,980 PRO|NVMe PCIe 4.0'); INSERT INTO `pms_product_attribute_value` VALUES (467, 44, 69, '980'); INSERT INTO `pms_product_attribute_value` VALUES (468, 44, 70, 'MZ-V8V500BW'); INSERT INTO `pms_product_attribute_value` VALUES (469, 44, 71, 'TLC'); INSERT INTO `pms_product_attribute_value` VALUES (470, 44, 72, '3100MB/s'); INSERT INTO `pms_product_attribute_value` VALUES (471, 44, 73, '2600MB/s'); INSERT INTO `pms_product_attribute_value` VALUES (472, 45, 43, '鸢尾紫,晴空蓝'); INSERT INTO `pms_product_attribute_value` VALUES (473, 45, 45, '6.43英寸'); INSERT INTO `pms_product_attribute_value` VALUES (474, 45, 46, '5G'); INSERT INTO `pms_product_attribute_value` VALUES (475, 45, 47, 'Android'); INSERT INTO `pms_product_attribute_value` VALUES (476, 45, 48, '4500mAh'); INSERT INTO `pms_product_attribute_value` VALUES (477, 40, 43, '黑色,蓝色'); INSERT INTO `pms_product_attribute_value` VALUES (478, 40, 45, '6.73英寸'); INSERT INTO `pms_product_attribute_value` VALUES (479, 40, 46, '5G'); INSERT INTO `pms_product_attribute_value` VALUES (480, 40, 47, 'Android'); INSERT INTO `pms_product_attribute_value` VALUES (481, 40, 48, '5160mAh'); INSERT INTO `pms_product_attribute_value` VALUES (512, 26, 43, '金色,银色'); INSERT INTO `pms_product_attribute_value` VALUES (513, 26, 45, '5.0'); INSERT INTO `pms_product_attribute_value` VALUES (514, 26, 46, '4G'); INSERT INTO `pms_product_attribute_value` VALUES (515, 26, 47, 'Android'); INSERT INTO `pms_product_attribute_value` VALUES (516, 26, 48, '3000'); -- ---------------------------- -- Table structure for pms_product_category -- ---------------------------- DROP TABLE IF EXISTS `pms_product_category`; CREATE TABLE `pms_product_category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '上机分类的编号:0表示一级分类', `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `level` int(1) NULL DEFAULT NULL COMMENT '分类级别:0->1级;1->2级', `product_count` int(11) NULL DEFAULT NULL, `product_unit` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `nav_status` int(1) NULL DEFAULT NULL COMMENT '是否显示在导航栏:0->不显示;1->显示', `show_status` int(1) NULL DEFAULT NULL COMMENT '显示状态:0->不显示;1->显示', `sort` int(11) NULL DEFAULT NULL, `icon` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图标', `keywords` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '描述', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 56 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品分类' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_category -- ---------------------------- INSERT INTO `pms_product_category` VALUES (1, 0, '服装', 0, 100, '件', 1, 1, 1, NULL, '服装', '服装分类'); INSERT INTO `pms_product_category` VALUES (2, 0, '手机数码', 0, 100, '件', 1, 1, 1, NULL, '手机数码', '手机数码'); INSERT INTO `pms_product_category` VALUES (3, 0, '家用电器', 0, 100, '件', 1, 1, 1, NULL, '家用电器', '家用电器'); INSERT INTO `pms_product_category` VALUES (4, 0, '家具家装', 0, 100, '件', 1, 1, 1, NULL, '家具家装', '家具家装'); INSERT INTO `pms_product_category` VALUES (5, 0, '汽车用品', 0, 100, '件', 1, 1, 1, NULL, '汽车用品', '汽车用品'); INSERT INTO `pms_product_category` VALUES (7, 1, '外套', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac4780cN6087feb5.jpg', '外套', '外套'); INSERT INTO `pms_product_category` VALUES (8, 1, 'T恤', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac47ffaN8a7b2e14.png', 'T恤', 'T恤'); INSERT INTO `pms_product_category` VALUES (9, 1, '休闲裤', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac47845N7374a31d.jpg', '休闲裤', '休闲裤'); INSERT INTO `pms_product_category` VALUES (10, 1, '牛仔裤', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac47841Nff658599.jpg', '牛仔裤', '牛仔裤'); INSERT INTO `pms_product_category` VALUES (11, 1, '衬衫', 1, 100, '件', 1, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac48007Nb30b2118.jpg', '衬衫', '衬衫分类'); INSERT INTO `pms_product_category` VALUES (13, 12, '家电子分类1', 1, 1, 'string', 0, 1, 0, 'string', 'string', 'string'); INSERT INTO `pms_product_category` VALUES (14, 12, '家电子分类2', 1, 1, 'string', 0, 1, 0, 'string', 'string', 'string'); INSERT INTO `pms_product_category` VALUES (19, 2, '手机通讯', 1, 0, '件', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac48d27N3f5bb821.jpg', '手机通讯', '手机通讯'); INSERT INTO `pms_product_category` VALUES (29, 1, '男鞋', 1, 0, '', 0, 0, 0, '', '', ''); INSERT INTO `pms_product_category` VALUES (30, 2, '手机配件', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5ac48672N11cf61fe.jpg', '手机配件', '手机配件'); INSERT INTO `pms_product_category` VALUES (31, 2, '摄影摄像', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5a1679f2Nc2f659b6.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (32, 2, '影音娱乐', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5a167859N01d8198b.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (33, 2, '数码配件', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190519/5a1676e9N1ba70a81.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (34, 2, '智能设备', 1, 0, '', 0, 0, 0, '', '', ''); INSERT INTO `pms_product_category` VALUES (35, 3, '电视', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f71eN25360979.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (36, 3, '空调', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f6f6Ndfe746aa.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (37, 3, '洗衣机', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f6eaN9ec936de.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (38, 3, '冰箱', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f6c5Ne56d7e26.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (39, 3, '厨卫大电', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a17f369N6a55ff3f.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (40, 3, '厨房小电', 1, 0, '', 0, 0, 0, '', '', ''); INSERT INTO `pms_product_category` VALUES (41, 3, '生活电器', 1, 0, '', 0, 0, 0, '', '', ''); INSERT INTO `pms_product_category` VALUES (42, 3, '个护健康', 1, 0, '', 0, 0, 0, '', '', ''); INSERT INTO `pms_product_category` VALUES (43, 4, '厨房卫浴', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1eb12cN5ab932bb.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (44, 4, '灯饰照明', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1eb115Na5705672.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (45, 4, '五金工具', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a28e743Nf6d99998.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (46, 4, '卧室家具', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1eb096N6326e0bd.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (47, 4, '客厅家具', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1eb080N38c2e7b7.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (48, 5, '全新整车', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/ebe31b9cc535e122.png', '', ''); INSERT INTO `pms_product_category` VALUES (49, 5, '车载电器', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1fb8d2N53bbd2ba.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (50, 5, '维修保养', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a1fb8baNbe801af8.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (51, 5, '汽车装饰', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20200607/5a28ae20N34461e66.jpg', '', ''); INSERT INTO `pms_product_category` VALUES (52, 0, '电脑办公', 0, 0, '件', 1, 1, 1, '', '电脑办公', '电脑办公'); INSERT INTO `pms_product_category` VALUES (53, 52, '平板电脑', 1, 0, '件', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/pad_category_01.jpg', '平板电脑', '平板电脑'); INSERT INTO `pms_product_category` VALUES (54, 52, '笔记本', 1, 0, '件', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/computer_category_01.jpg', '笔记本', '笔记本'); INSERT INTO `pms_product_category` VALUES (55, 52, '硬盘', 1, 0, '', 0, 1, 0, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/ssd_category_01.jpg', '硬盘', ''); -- ---------------------------- -- Table structure for pms_product_category_attribute_relation -- ---------------------------- DROP TABLE IF EXISTS `pms_product_category_attribute_relation`; CREATE TABLE `pms_product_category_attribute_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_category_id` bigint(20) NULL DEFAULT NULL, `product_attribute_id` bigint(20) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品的分类和属性的关系表,用于设置分类筛选条件(只支持一级分类)' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_category_attribute_relation -- ---------------------------- INSERT INTO `pms_product_category_attribute_relation` VALUES (1, 24, 24); INSERT INTO `pms_product_category_attribute_relation` VALUES (5, 26, 24); INSERT INTO `pms_product_category_attribute_relation` VALUES (7, 28, 24); INSERT INTO `pms_product_category_attribute_relation` VALUES (9, 25, 24); INSERT INTO `pms_product_category_attribute_relation` VALUES (10, 25, 25); -- ---------------------------- -- Table structure for pms_product_full_reduction -- ---------------------------- DROP TABLE IF EXISTS `pms_product_full_reduction`; CREATE TABLE `pms_product_full_reduction` ( `id` bigint(11) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `full_price` decimal(10, 2) NULL DEFAULT NULL, `reduce_price` decimal(10, 2) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 148 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品满减表(只针对同商品)' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_full_reduction -- ---------------------------- INSERT INTO `pms_product_full_reduction` VALUES (1, 7, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (2, 8, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (3, 9, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (4, 10, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (5, 11, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (6, 12, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (7, 13, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (8, 14, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (9, 18, 100.00, 20.00); INSERT INTO `pms_product_full_reduction` VALUES (10, 7, 200.00, 50.00); INSERT INTO `pms_product_full_reduction` VALUES (11, 7, 300.00, 100.00); INSERT INTO `pms_product_full_reduction` VALUES (14, 22, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (16, 24, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (34, 23, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (78, 36, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (79, 35, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (83, 30, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (84, 31, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (85, 32, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (87, 33, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (88, 34, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (93, 27, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (96, 28, 500.00, 50.00); INSERT INTO `pms_product_full_reduction` VALUES (97, 28, 1000.00, 120.00); INSERT INTO `pms_product_full_reduction` VALUES (98, 29, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (104, 37, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (126, 38, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (127, 39, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (128, 41, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (129, 42, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (130, 43, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (131, 44, 0.00, 0.00); INSERT INTO `pms_product_full_reduction` VALUES (132, 45, 2000.00, 100.00); INSERT INTO `pms_product_full_reduction` VALUES (133, 40, 2000.00, 200.00); INSERT INTO `pms_product_full_reduction` VALUES (146, 26, 3000.00, 300.00); INSERT INTO `pms_product_full_reduction` VALUES (147, 26, 5000.00, 500.00); -- ---------------------------- -- Table structure for pms_product_ladder -- ---------------------------- DROP TABLE IF EXISTS `pms_product_ladder`; CREATE TABLE `pms_product_ladder` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `count` int(11) NULL DEFAULT NULL COMMENT '满足的商品数量', `discount` decimal(10, 2) NULL DEFAULT NULL COMMENT '折扣', `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '折后价格', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 148 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '产品阶梯价格表(只针对同商品)' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_ladder -- ---------------------------- INSERT INTO `pms_product_ladder` VALUES (1, 7, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (2, 8, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (3, 9, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (4, 10, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (5, 11, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (6, 12, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (7, 13, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (8, 14, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (12, 18, 3, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (14, 7, 4, 0.60, 0.00); INSERT INTO `pms_product_ladder` VALUES (15, 7, 5, 0.50, 0.00); INSERT INTO `pms_product_ladder` VALUES (18, 22, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (20, 24, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (38, 23, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (83, 36, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (84, 35, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (88, 30, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (89, 31, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (90, 32, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (92, 33, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (93, 34, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (99, 27, 2, 0.80, 0.00); INSERT INTO `pms_product_ladder` VALUES (100, 27, 3, 0.75, 0.00); INSERT INTO `pms_product_ladder` VALUES (103, 28, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (104, 29, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (110, 37, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (133, 38, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (134, 39, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (135, 41, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (136, 42, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (137, 43, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (138, 44, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (139, 45, 1, 0.70, 0.00); INSERT INTO `pms_product_ladder` VALUES (140, 40, 0, 0.00, 0.00); INSERT INTO `pms_product_ladder` VALUES (147, 26, 0, 0.00, 0.00); -- ---------------------------- -- Table structure for pms_product_operate_log -- ---------------------------- DROP TABLE IF EXISTS `pms_product_operate_log`; CREATE TABLE `pms_product_operate_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `price_old` decimal(10, 2) NULL DEFAULT NULL, `price_new` decimal(10, 2) NULL DEFAULT NULL, `sale_price_old` decimal(10, 2) NULL DEFAULT NULL, `sale_price_new` decimal(10, 2) NULL DEFAULT NULL, `gift_point_old` int(11) NULL DEFAULT NULL COMMENT '赠送的积分', `gift_point_new` int(11) NULL DEFAULT NULL, `use_point_limit_old` int(11) NULL DEFAULT NULL, `use_point_limit_new` int(11) NULL DEFAULT NULL, `operate_man` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人', `create_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_operate_log -- ---------------------------- -- ---------------------------- -- Table structure for pms_product_vertify_record -- ---------------------------- DROP TABLE IF EXISTS `pms_product_vertify_record`; CREATE TABLE `pms_product_vertify_record` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `vertify_man` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '审核人', `status` int(1) NULL DEFAULT NULL, `detail` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '反馈详情', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品审核记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_product_vertify_record -- ---------------------------- INSERT INTO `pms_product_vertify_record` VALUES (1, 1, '2018-04-27 16:36:41', 'test', 1, '验证通过'); INSERT INTO `pms_product_vertify_record` VALUES (2, 2, '2018-04-27 16:36:41', 'test', 1, '验证通过'); -- ---------------------------- -- Table structure for pms_sku_stock -- ---------------------------- DROP TABLE IF EXISTS `pms_sku_stock`; CREATE TABLE `pms_sku_stock` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `sku_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'sku编码', `price` decimal(10, 2) NULL DEFAULT NULL, `stock` int(11) NULL DEFAULT 0 COMMENT '库存', `low_stock` int(11) NULL DEFAULT NULL COMMENT '预警库存', `pic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '展示图片', `sale` int(11) NULL DEFAULT NULL COMMENT '销量', `promotion_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '单品促销价格', `lock_stock` int(11) NULL DEFAULT 0 COMMENT '锁定库存', `sp_data` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品销售属性,json格式', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 243 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'sku的库存' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of pms_sku_stock -- ---------------------------- INSERT INTO `pms_sku_stock` VALUES (98, 27, '201808270027001', 2699.00, 86, NULL, NULL, NULL, NULL, -24, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (99, 27, '201808270027002', 2999.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `pms_sku_stock` VALUES (100, 27, '201808270027003', 2699.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (101, 27, '201808270027004', 2999.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `pms_sku_stock` VALUES (102, 28, '201808270028001', 649.00, 99, NULL, NULL, NULL, NULL, -8, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `pms_sku_stock` VALUES (103, 28, '201808270028002', 699.00, 99, NULL, NULL, NULL, NULL, -8, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (104, 28, '201808270028003', 649.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `pms_sku_stock` VALUES (105, 28, '201808270028004', 699.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (106, 29, '201808270029001', 5499.00, 99, NULL, NULL, NULL, 4999.00, -8, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (107, 29, '201808270029002', 6299.00, 100, NULL, NULL, NULL, 5799.00, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `pms_sku_stock` VALUES (108, 29, '201808270029003', 5499.00, 100, NULL, NULL, NULL, 4999.00, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (109, 29, '201808270029004', 6299.00, 100, NULL, NULL, NULL, 5799.00, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `pms_sku_stock` VALUES (110, 26, '201806070026001', 3788.00, 487, NULL, NULL, NULL, 3699.00, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `pms_sku_stock` VALUES (111, 26, '201806070026002', 3999.00, 499, NULL, NULL, NULL, 3899.00, 0, '[{\"key\":\"颜色\",\"value\":\"金色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (112, 26, '201806070026003', 3788.00, 500, NULL, NULL, NULL, 3699.00, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"16G\"}]'); INSERT INTO `pms_sku_stock` VALUES (113, 26, '201806070026004', 3999.00, 500, NULL, NULL, NULL, 3899.00, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (163, 36, '202002210036001', 100.00, 100, 25, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `pms_sku_stock` VALUES (164, 36, '202002210036002', 120.00, 98, 20, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `pms_sku_stock` VALUES (165, 36, '202002210036003', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"39\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `pms_sku_stock` VALUES (166, 36, '202002210036004', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"39\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `pms_sku_stock` VALUES (167, 36, '202002210036005', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `pms_sku_stock` VALUES (168, 36, '202002210036006', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `pms_sku_stock` VALUES (169, 36, '202002210036007', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"39\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `pms_sku_stock` VALUES (170, 36, '202002210036008', 100.00, 100, 20, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"39\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `pms_sku_stock` VALUES (171, 35, '202002250035001', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `pms_sku_stock` VALUES (172, 35, '202002250035002', 240.00, 100, 50, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `pms_sku_stock` VALUES (173, 35, '202002250035003', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"39\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `pms_sku_stock` VALUES (174, 35, '202002250035004', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"红色\"},{\"key\":\"尺寸\",\"value\":\"39\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `pms_sku_stock` VALUES (175, 35, '202002250035005', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `pms_sku_stock` VALUES (176, 35, '202002250035006', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"38\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `pms_sku_stock` VALUES (177, 35, '202002250035007', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"39\"},{\"key\":\"风格\",\"value\":\"夏季\"}]'); INSERT INTO `pms_sku_stock` VALUES (178, 35, '202002250035008', 200.00, 100, 50, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"39\"},{\"key\":\"风格\",\"value\":\"秋季\"}]'); INSERT INTO `pms_sku_stock` VALUES (179, 30, '202004190030001', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"X\"}]'); INSERT INTO `pms_sku_stock` VALUES (180, 30, '202004190030002', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"XL\"}]'); INSERT INTO `pms_sku_stock` VALUES (181, 30, '202004190030003', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"尺寸\",\"value\":\"M\"}]'); INSERT INTO `pms_sku_stock` VALUES (182, 30, '202004190030004', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"白色\"},{\"key\":\"尺寸\",\"value\":\"X\"}]'); INSERT INTO `pms_sku_stock` VALUES (183, 30, '202004190030005', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"白色\"},{\"key\":\"尺寸\",\"value\":\"XL\"}]'); INSERT INTO `pms_sku_stock` VALUES (184, 30, '202004190030006', 88.00, 100, NULL, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"白色\"},{\"key\":\"尺寸\",\"value\":\"M\"}]'); INSERT INTO `pms_sku_stock` VALUES (185, 31, '202004190031001', 88.00, 80, 10, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"浅灰色\"},{\"key\":\"尺寸\",\"value\":\"X\"}]'); INSERT INTO `pms_sku_stock` VALUES (186, 31, '202004190031002', 88.00, 80, 10, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"浅灰色\"},{\"key\":\"尺寸\",\"value\":\"XL\"}]'); INSERT INTO `pms_sku_stock` VALUES (187, 31, '202004190031003', 88.00, 80, 10, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"深灰色\"},{\"key\":\"尺寸\",\"value\":\"X\"}]'); INSERT INTO `pms_sku_stock` VALUES (188, 31, '202004190031004', 88.00, 80, 10, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"深灰色\"},{\"key\":\"尺寸\",\"value\":\"XL\"}]'); INSERT INTO `pms_sku_stock` VALUES (189, 32, '202004190032001', 99.00, 100, 10, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"尺寸\",\"value\":\"X\"}]'); INSERT INTO `pms_sku_stock` VALUES (190, 32, '202004190032002', 99.00, 100, 10, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"尺寸\",\"value\":\"M\"}]'); INSERT INTO `pms_sku_stock` VALUES (191, 32, '202004190032003', 99.00, 100, 10, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"白色\"},{\"key\":\"尺寸\",\"value\":\"X\"}]'); INSERT INTO `pms_sku_stock` VALUES (192, 32, '202004190032004', 99.00, 100, 10, NULL, NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"白色\"},{\"key\":\"尺寸\",\"value\":\"M\"}]'); INSERT INTO `pms_sku_stock` VALUES (193, 33, '202004190033001', 2499.00, 500, 10, NULL, NULL, NULL, 0, '[{\"key\":\"尺寸\",\"value\":\"50英寸\"},{\"key\":\"内存\",\"value\":\"8G\"}]'); INSERT INTO `pms_sku_stock` VALUES (194, 33, '202004190033002', 2499.00, 500, 10, NULL, NULL, NULL, 0, '[{\"key\":\"尺寸\",\"value\":\"50英寸\"},{\"key\":\"内存\",\"value\":\"16G\"}]'); INSERT INTO `pms_sku_stock` VALUES (195, 33, '202004190033003', 2499.00, 500, 10, NULL, NULL, NULL, 0, '[{\"key\":\"尺寸\",\"value\":\"65英寸\"},{\"key\":\"内存\",\"value\":\"8G\"}]'); INSERT INTO `pms_sku_stock` VALUES (196, 33, '202004190033004', 2499.00, 500, 10, NULL, NULL, NULL, 0, '[{\"key\":\"尺寸\",\"value\":\"65英寸\"},{\"key\":\"内存\",\"value\":\"16G\"}]'); INSERT INTO `pms_sku_stock` VALUES (197, 34, '202004190034001', 3999.00, 500, 10, NULL, NULL, NULL, 0, '[{\"key\":\"尺寸\",\"value\":\"65英寸\"},{\"key\":\"内存\",\"value\":\"16G\"}]'); INSERT INTO `pms_sku_stock` VALUES (198, 34, '202004190034002', 3999.00, 500, 10, NULL, NULL, NULL, 0, '[{\"key\":\"尺寸\",\"value\":\"65英寸\"},{\"key\":\"内存\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (199, 34, '202004190034003', 3999.00, 500, 10, NULL, NULL, NULL, 0, '[{\"key\":\"尺寸\",\"value\":\"70英寸\"},{\"key\":\"内存\",\"value\":\"16G\"}]'); INSERT INTO `pms_sku_stock` VALUES (200, 34, '202004190034004', 3999.00, 500, 10, NULL, NULL, NULL, 0, '[{\"key\":\"尺寸\",\"value\":\"70英寸\"},{\"key\":\"内存\",\"value\":\"32G\"}]'); INSERT INTO `pms_sku_stock` VALUES (201, 37, '202210280037001', 5999.00, 195, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', NULL, NULL, 1, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (202, 37, '202210280037002', 6899.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (203, 37, '202210280037003', 8699.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_001.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"午夜色\"},{\"key\":\"容量\",\"value\":\"512G\"}]'); INSERT INTO `pms_sku_stock` VALUES (204, 37, '202210280037004', 5999.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_002.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"星光色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (205, 37, '202210280037005', 6899.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_002.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"星光色\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (206, 37, '202210280037006', 8699.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_002.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"星光色\"},{\"key\":\"容量\",\"value\":\"512G\"}]'); INSERT INTO `pms_sku_stock` VALUES (207, 37, '202210280037007', 5999.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_003.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"紫色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (208, 37, '202210280037008', 6899.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_003.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"紫色\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (209, 37, '202210280037009', 8699.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_003.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"紫色\"},{\"key\":\"容量\",\"value\":\"512G\"}]'); INSERT INTO `pms_sku_stock` VALUES (210, 37, '202210280037010', 5999.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_004.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (211, 37, '202210280037011', 6899.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_004.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (212, 37, '202210280037012', 8699.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/iphone14_004.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"512G\"}]'); INSERT INTO `pms_sku_stock` VALUES (213, 38, '202210280038001', 3599.00, 198, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `pms_sku_stock` VALUES (214, 38, '202210280038002', 4799.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_001.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"银色\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (215, 38, '202210280038003', 3599.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_002.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"64G\"}]'); INSERT INTO `pms_sku_stock` VALUES (216, 38, '202210280038004', 4799.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/ipad_002.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (217, 39, '202210280039001', 5999.00, 499, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"新小米Pro 14英寸 2.8K屏\"},{\"key\":\"版本\",\"value\":\"R7 16G 512\"}]'); INSERT INTO `pms_sku_stock` VALUES (218, 39, '202210280039002', 5599.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_001.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"新小米Pro 14英寸 2.8K屏\"},{\"key\":\"版本\",\"value\":\"R5 16G 512\"}]'); INSERT INTO `pms_sku_stock` VALUES (219, 39, '202210280039003', 5499.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_002.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"新Redmi Pro 15英寸 3.2K屏\"},{\"key\":\"版本\",\"value\":\"R7 16G 512\"}]'); INSERT INTO `pms_sku_stock` VALUES (220, 39, '202210280039004', 4999.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221028/xiaomi_computer_002.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"新Redmi Pro 15英寸 3.2K屏\"},{\"key\":\"版本\",\"value\":\"R5 16G 512\"}]'); INSERT INTO `pms_sku_stock` VALUES (221, 40, '202211040040001', 2999.00, 91, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (222, 40, '202211040040002', 3499.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"黑色\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (223, 40, '202211040040003', 2999.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (224, 40, '202211040040004', 3499.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/xiaomi_12_pro_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"蓝色\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (225, 41, '202211040041001', 2099.00, 195, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (226, 41, '202211040041002', 2299.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"墨羽\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (227, 41, '202211040041003', 2099.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"银迹\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (228, 41, '202211040041004', 2299.00, 200, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/redmi_k50_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"银迹\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (229, 42, '202211040042001', 4999.00, 99, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"曜金黑\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (230, 42, '202211040042002', 5499.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"曜金黑\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (231, 42, '202211040042003', 4999.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"冰霜银\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (232, 42, '202211040042004', 5499.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/huawei_mate50_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"冰霜银\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (233, 43, '202211040043001', 1649.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_13L_01.png', NULL, NULL, 0, '[{\"key\":\"系列\",\"value\":\"JSQ25-565W13【13升】【恒温旗舰款】\"}]'); INSERT INTO `pms_sku_stock` VALUES (234, 43, '202211040043002', 1799.00, 500, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221104/wanhe_13L_01.png', NULL, NULL, 0, '[{\"key\":\"系列\",\"value\":\"JSQ30-565W16【16升】【恒温旗舰款】\"}]'); INSERT INTO `pms_sku_stock` VALUES (235, 44, '202211080044001', 369.00, 99, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"新品980|NVMe PCIe3.0*4\"},{\"key\":\"版本\",\"value\":\"512GB\"}]'); INSERT INTO `pms_sku_stock` VALUES (236, 44, '202211080044002', 649.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"新品980|NVMe PCIe3.0*4\"},{\"key\":\"版本\",\"value\":\"1TB\"}]'); INSERT INTO `pms_sku_stock` VALUES (237, 44, '202211080044003', 549.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"980 PRO|NVMe PCIe 4.0\"},{\"key\":\"版本\",\"value\":\"512GB\"}]'); INSERT INTO `pms_sku_stock` VALUES (238, 44, '202211080044004', 899.00, 100, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_ssd_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"980 PRO|NVMe PCIe 4.0\"},{\"key\":\"版本\",\"value\":\"1TB\"}]'); INSERT INTO `pms_sku_stock` VALUES (239, 45, '202211080045001', 2299.00, 250, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"鸢尾紫\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (240, 45, '202211080045002', 2499.00, 250, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_01.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"鸢尾紫\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); INSERT INTO `pms_sku_stock` VALUES (241, 45, '202211080045003', 2299.00, 250, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"晴空蓝\"},{\"key\":\"容量\",\"value\":\"128G\"}]'); INSERT INTO `pms_sku_stock` VALUES (242, 45, '202211080045004', 2499.00, 250, NULL, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_r8_02.jpg', NULL, NULL, 0, '[{\"key\":\"颜色\",\"value\":\"晴空蓝\"},{\"key\":\"容量\",\"value\":\"256G\"}]'); -- ---------------------------- -- Table structure for sms_coupon -- ---------------------------- DROP TABLE IF EXISTS `sms_coupon`; CREATE TABLE `sms_coupon` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `type` int(1) NULL DEFAULT NULL COMMENT '优惠券类型;0->全场赠券;1->会员赠券;2->购物赠券;3->注册赠券', `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `platform` int(1) NULL DEFAULT NULL COMMENT '使用平台:0->全部;1->移动;2->PC', `count` int(11) NULL DEFAULT NULL COMMENT '数量', `amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '金额', `per_limit` int(11) NULL DEFAULT NULL COMMENT '每人限领张数', `min_point` decimal(10, 2) NULL DEFAULT NULL COMMENT '使用门槛;0表示无门槛', `start_time` datetime NULL DEFAULT NULL, `end_time` datetime NULL DEFAULT NULL, `use_type` int(1) NULL DEFAULT NULL COMMENT '使用类型:0->全场通用;1->指定分类;2->指定商品', `note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', `publish_count` int(11) NULL DEFAULT NULL COMMENT '发行数量', `use_count` int(11) NULL DEFAULT NULL COMMENT '已使用数量', `receive_count` int(11) NULL DEFAULT NULL COMMENT '领取数量', `enable_time` datetime NULL DEFAULT NULL COMMENT '可以领取的日期', `code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '优惠码', `member_level` int(1) NULL DEFAULT NULL COMMENT '可领取的会员类型:0->无限时', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠券表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_coupon -- ---------------------------- INSERT INTO `sms_coupon` VALUES (27, 0, '全品类通用券', 0, 94, 10.00, 10, 100.00, '2022-11-08 00:00:00', '2023-11-30 00:00:00', 0, NULL, 100, 0, 6, '2022-11-08 00:00:00', NULL, NULL); INSERT INTO `sms_coupon` VALUES (28, 0, '手机分类专用券', 0, 995, 100.00, 5, 1000.00, '2022-11-08 00:00:00', '2023-11-30 00:00:00', 1, NULL, 1000, 0, 5, '2022-11-08 00:00:00', NULL, NULL); INSERT INTO `sms_coupon` VALUES (29, 0, '苹果手机专用券', 0, 998, 600.00, 1, 4000.00, '2022-11-08 00:00:00', '2023-11-30 00:00:00', 2, NULL, 1000, 0, 2, '2022-11-08 00:00:00', NULL, NULL); INSERT INTO `sms_coupon` VALUES (30, 0, '小米手机专用券', 0, 998, 200.00, 1, 2000.00, '2022-11-08 00:00:00', '2023-11-30 00:00:00', 2, NULL, 1000, 0, 2, '2022-11-08 00:00:00', NULL, NULL); INSERT INTO `sms_coupon` VALUES (31, 0, '限时优惠券', 0, 999, 20.00, 5, 500.00, '2022-12-01 00:00:00', '2022-12-22 00:00:00', 0, NULL, 1000, 0, 1, '2022-12-23 00:00:00', NULL, NULL); -- ---------------------------- -- Table structure for sms_coupon_history -- ---------------------------- DROP TABLE IF EXISTS `sms_coupon_history`; CREATE TABLE `sms_coupon_history` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `coupon_id` bigint(20) NULL DEFAULT NULL, `member_id` bigint(20) NULL DEFAULT NULL, `coupon_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `member_nickname` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '领取人昵称', `get_type` int(1) NULL DEFAULT NULL COMMENT '获取类型:0->后台赠送;1->主动获取', `create_time` datetime NULL DEFAULT NULL, `use_status` int(1) NULL DEFAULT NULL COMMENT '使用状态:0->未使用;1->已使用;2->已过期', `use_time` datetime NULL DEFAULT NULL COMMENT '使用时间', `order_id` bigint(20) NULL DEFAULT NULL COMMENT '订单编号', `order_sn` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单号码', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_member_id`(`member_id`) USING BTREE, INDEX `idx_coupon_id`(`coupon_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 53 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠券使用、领取历史表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_coupon_history -- ---------------------------- INSERT INTO `sms_coupon_history` VALUES (37, 30, 1, '7806895974110001', 'windir', 1, '2022-11-09 15:14:29', 1, '2022-11-09 15:14:58', NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (38, 27, 1, '7872472849240001', 'windir', 1, '2022-11-09 15:25:25', 1, '2022-11-09 15:25:38', NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (39, 29, 1, '7876204111480001', 'windir', 1, '2022-11-09 15:26:02', 1, '2022-11-09 15:26:11', NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (40, 27, 1, '7911945030190001', 'windir', 1, '2022-11-09 15:31:59', 0, NULL, NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (41, 28, 1, '8194868687790001', 'windir', 1, '2022-11-09 16:19:09', 1, '2022-11-11 16:12:42', NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (42, 28, 1, '1239565720390001', 'test', 1, '2022-12-21 16:46:36', 1, '2022-12-21 16:53:07', NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (43, 31, 1, '6030247208280001', 'test', 1, '2022-12-23 09:51:42', 0, NULL, NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (44, 28, 1, '6050939443480001', 'test', 1, '2022-12-23 09:55:09', 0, NULL, NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (45, 27, 1, '4182437014580001', 'test', 1, '2023-01-10 17:10:24', 0, NULL, NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (46, 27, 11, '9011281751500011', 'member', 1, '2023-05-11 15:28:33', 0, NULL, NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (47, 28, 11, '9011495851370011', 'member', 1, '2023-05-11 15:28:35', 1, '2023-05-11 15:37:16', NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (48, 30, 11, '9011677197430011', 'member', 1, '2023-05-11 15:28:37', 1, '2023-05-11 15:28:56', NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (49, 27, 11, '9046676666610011', 'member', 1, '2023-05-11 15:34:27', 0, NULL, NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (50, 28, 11, '9046909751910011', 'member', 1, '2023-05-11 15:34:29', 0, NULL, NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (51, 29, 11, '9047077722990011', 'member', 1, '2023-05-11 15:34:31', 0, NULL, NULL, NULL); INSERT INTO `sms_coupon_history` VALUES (52, 27, 11, '9075818288630011', 'member', 1, '2023-05-11 15:39:18', 0, NULL, NULL, NULL); -- ---------------------------- -- Table structure for sms_coupon_product_category_relation -- ---------------------------- DROP TABLE IF EXISTS `sms_coupon_product_category_relation`; CREATE TABLE `sms_coupon_product_category_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `coupon_id` bigint(20) NULL DEFAULT NULL, `product_category_id` bigint(20) NULL DEFAULT NULL, `product_category_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产品分类名称', `parent_category_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父分类名称', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠券和产品分类关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_coupon_product_category_relation -- ---------------------------- INSERT INTO `sms_coupon_product_category_relation` VALUES (11, 28, 19, '手机通讯', '手机数码'); -- ---------------------------- -- Table structure for sms_coupon_product_relation -- ---------------------------- DROP TABLE IF EXISTS `sms_coupon_product_relation`; CREATE TABLE `sms_coupon_product_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `coupon_id` bigint(20) NULL DEFAULT NULL, `product_id` bigint(20) NULL DEFAULT NULL, `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品名称', `product_sn` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品编码', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '优惠券和产品的关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_coupon_product_relation -- ---------------------------- INSERT INTO `sms_coupon_product_relation` VALUES (18, 29, 37, 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', '100038005189'); INSERT INTO `sms_coupon_product_relation` VALUES (19, 29, 29, 'Apple iPhone 8 Plus 64GB 红色特别版 移动联通电信4G手机', '7437799'); INSERT INTO `sms_coupon_product_relation` VALUES (21, 30, 41, 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量 墨羽 12GB+256GB 5G智能手机 小米 红米', '100035246702'); INSERT INTO `sms_coupon_product_relation` VALUES (22, 30, 40, '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', '100027789721'); -- ---------------------------- -- Table structure for sms_flash_promotion -- ---------------------------- DROP TABLE IF EXISTS `sms_flash_promotion`; CREATE TABLE `sms_flash_promotion` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '秒杀时间段名称', `start_date` date NULL DEFAULT NULL COMMENT '开始日期', `end_date` date NULL DEFAULT NULL COMMENT '结束日期', `status` int(1) NULL DEFAULT NULL COMMENT '上下线状态', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '限时购表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_flash_promotion -- ---------------------------- INSERT INTO `sms_flash_promotion` VALUES (14, '双11特卖活动', '2022-11-09', '2023-12-31', 1, '2022-11-09 14:56:48'); -- ---------------------------- -- Table structure for sms_flash_promotion_log -- ---------------------------- DROP TABLE IF EXISTS `sms_flash_promotion_log`; CREATE TABLE `sms_flash_promotion_log` ( `id` int(11) NOT NULL AUTO_INCREMENT, `member_id` int(11) NULL DEFAULT NULL, `product_id` bigint(20) NULL DEFAULT NULL, `member_phone` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `product_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `subscribe_time` datetime NULL DEFAULT NULL COMMENT '会员订阅时间', `send_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '限时购通知记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_flash_promotion_log -- ---------------------------- -- ---------------------------- -- Table structure for sms_flash_promotion_product_relation -- ---------------------------- DROP TABLE IF EXISTS `sms_flash_promotion_product_relation`; CREATE TABLE `sms_flash_promotion_product_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `flash_promotion_id` bigint(20) NULL DEFAULT NULL, `flash_promotion_session_id` bigint(20) NULL DEFAULT NULL COMMENT '编号', `product_id` bigint(20) NULL DEFAULT NULL, `flash_promotion_price` decimal(10, 2) NULL DEFAULT NULL COMMENT '限时购价格', `flash_promotion_count` int(11) NULL DEFAULT NULL COMMENT '限时购数量', `flash_promotion_limit` int(11) NULL DEFAULT NULL COMMENT '每人限购数量', `sort` int(11) NULL DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 52 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品限时购与商品关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_flash_promotion_product_relation -- ---------------------------- INSERT INTO `sms_flash_promotion_product_relation` VALUES (1, 2, 1, 26, 3000.00, 10, 1, 0); INSERT INTO `sms_flash_promotion_product_relation` VALUES (2, 2, 1, 27, 2000.00, 10, 1, 20); INSERT INTO `sms_flash_promotion_product_relation` VALUES (3, 2, 1, 28, 599.00, 19, 1, 0); INSERT INTO `sms_flash_promotion_product_relation` VALUES (4, 2, 1, 29, 4999.00, 10, 1, 100); INSERT INTO `sms_flash_promotion_product_relation` VALUES (9, 2, 2, 26, 2999.00, 100, 1, 0); INSERT INTO `sms_flash_promotion_product_relation` VALUES (10, 2, 2, 27, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (11, 2, 2, 28, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (12, 2, 2, 29, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (13, 2, 2, 30, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (14, 2, 3, 31, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (15, 2, 3, 32, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (16, 2, 4, 33, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (17, 2, 4, 34, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (18, 2, 5, 36, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (19, 2, 6, 33, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (20, 2, 6, 34, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (21, 14, 1, 26, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (22, 14, 1, 27, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (23, 14, 1, 28, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (24, 14, 1, 29, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (25, 14, 2, 30, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (26, 14, 2, 31, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (27, 14, 2, 32, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (28, 14, 2, 35, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (29, 14, 3, 33, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (30, 14, 3, 34, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (31, 14, 3, 36, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (32, 14, 3, 37, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (33, 14, 4, 37, 5699.00, 10, 1, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (34, 14, 4, 38, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (35, 14, 4, 39, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (36, 14, 4, 40, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (37, 14, 5, 41, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (38, 14, 5, 42, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (39, 14, 5, 43, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (40, 14, 5, 44, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (41, 14, 5, 45, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (42, 14, 6, 26, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (43, 14, 6, 27, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (44, 14, 6, 28, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (45, 14, 6, 29, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (46, 14, 6, 30, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (47, 14, 7, 31, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (48, 14, 7, 32, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (49, 14, 7, 33, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (50, 14, 7, 34, NULL, NULL, NULL, NULL); INSERT INTO `sms_flash_promotion_product_relation` VALUES (51, 14, 7, 35, NULL, NULL, NULL, NULL); -- ---------------------------- -- Table structure for sms_flash_promotion_session -- ---------------------------- DROP TABLE IF EXISTS `sms_flash_promotion_session`; CREATE TABLE `sms_flash_promotion_session` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '场次名称', `start_time` time NULL DEFAULT NULL COMMENT '每日开始时间', `end_time` time NULL DEFAULT NULL COMMENT '每日结束时间', `status` int(1) NULL DEFAULT NULL COMMENT '启用状态:0->不启用;1->启用', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '限时购场次表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_flash_promotion_session -- ---------------------------- INSERT INTO `sms_flash_promotion_session` VALUES (1, '8:00', '08:00:00', '10:00:00', 1, '2018-11-16 13:22:17'); INSERT INTO `sms_flash_promotion_session` VALUES (2, '10:00', '10:00:00', '12:00:00', 1, '2018-11-16 13:22:34'); INSERT INTO `sms_flash_promotion_session` VALUES (3, '12:00', '12:00:00', '14:00:00', 1, '2018-11-16 13:22:37'); INSERT INTO `sms_flash_promotion_session` VALUES (4, '14:00', '14:00:00', '16:00:00', 1, '2018-11-16 13:22:41'); INSERT INTO `sms_flash_promotion_session` VALUES (5, '16:00', '16:00:00', '18:00:00', 1, '2018-11-16 13:22:45'); INSERT INTO `sms_flash_promotion_session` VALUES (6, '18:00', '18:00:00', '20:00:00', 1, '2018-11-16 13:21:34'); INSERT INTO `sms_flash_promotion_session` VALUES (7, '20:00', '20:00:00', '22:00:00', 1, '2018-11-16 13:22:55'); -- ---------------------------- -- Table structure for sms_home_advertise -- ---------------------------- DROP TABLE IF EXISTS `sms_home_advertise`; CREATE TABLE `sms_home_advertise` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `type` int(1) NULL DEFAULT NULL COMMENT '轮播位置:0->PC首页轮播;1->app首页轮播', `pic` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `start_time` datetime NULL DEFAULT NULL, `end_time` datetime NULL DEFAULT NULL, `status` int(1) NULL DEFAULT NULL COMMENT '上下线状态:0->下线;1->上线', `click_count` int(11) NULL DEFAULT NULL COMMENT '点击数', `order_count` int(11) NULL DEFAULT NULL COMMENT '下单数', `url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '链接地址', `note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注', `sort` int(11) NULL DEFAULT 0 COMMENT '排序', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '首页轮播广告表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_home_advertise -- ---------------------------- INSERT INTO `sms_home_advertise` VALUES (2, '夏季大热促销', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190525/ad1.jpg', '2018-11-01 14:01:37', '2018-11-15 14:01:37', 0, 0, 0, NULL, '夏季大热促销', 0); INSERT INTO `sms_home_advertise` VALUES (3, '夏季大热促销1', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190525/ad1.jpg', '2018-11-13 14:01:37', '2018-11-13 14:01:37', 0, 0, 0, NULL, '夏季大热促销1', 0); INSERT INTO `sms_home_advertise` VALUES (4, '夏季大热促销2', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20190525/ad2.jpg', '2018-11-13 14:01:37', '2018-11-13 14:01:37', 0, 0, 0, NULL, '夏季大热促销2', 0); INSERT INTO `sms_home_advertise` VALUES (9, '电影推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20181113/movie_ad.jpg', '2018-11-01 00:00:00', '2018-11-24 00:00:00', 0, 0, 0, 'www.baidu.com', '电影推荐广告', 100); INSERT INTO `sms_home_advertise` VALUES (10, '汽车促销广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20181113/car_ad.jpg', '2018-11-13 00:00:00', '2018-11-24 00:00:00', 0, 0, 0, 'xxx', NULL, 99); INSERT INTO `sms_home_advertise` VALUES (11, '汽车推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20181113/car_ad2.jpg', '2018-11-13 00:00:00', '2018-11-30 00:00:00', 0, 0, 0, 'xxx', NULL, 98); INSERT INTO `sms_home_advertise` VALUES (12, '小米推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/xiaomi_banner_01.png', '2022-11-08 17:04:03', '2023-11-08 17:04:05', 1, 0, 0, '/pages/brand/brandDetail?id=6', NULL, 0); INSERT INTO `sms_home_advertise` VALUES (13, '华为推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/huawei_banner_01.png', '2022-11-08 17:10:27', '2023-11-08 17:10:28', 1, 0, 0, '/pages/brand/brandDetail?id=3', NULL, 0); INSERT INTO `sms_home_advertise` VALUES (14, '苹果推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/apple_banner_01.png', '2022-11-08 17:12:54', '2023-11-08 17:12:55', 1, 0, 0, '/pages/brand/brandDetail?id=51', NULL, 0); INSERT INTO `sms_home_advertise` VALUES (15, '三星推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/sanxing_banner_01.png', '2022-11-08 17:15:38', '2023-11-08 17:15:39', 1, 0, 0, '/pages/brand/brandDetail?id=2', NULL, 0); INSERT INTO `sms_home_advertise` VALUES (16, 'OPPO推荐广告', 1, 'http://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/images/20221108/oppo_banner_01.png', '2022-11-08 17:20:10', '2023-11-08 17:20:11', 1, 0, 0, '/pages/brand/brandDetail?id=21', NULL, 0); -- ---------------------------- -- Table structure for sms_home_brand -- ---------------------------- DROP TABLE IF EXISTS `sms_home_brand`; CREATE TABLE `sms_home_brand` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `brand_id` bigint(20) NULL DEFAULT NULL, `brand_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `recommend_status` int(1) NULL DEFAULT NULL, `sort` int(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 48 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '首页推荐品牌表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_home_brand -- ---------------------------- INSERT INTO `sms_home_brand` VALUES (6, 6, '小米', 1, 300); INSERT INTO `sms_home_brand` VALUES (32, 50, '海澜之家', 1, 198); INSERT INTO `sms_home_brand` VALUES (33, 51, '苹果', 1, 199); INSERT INTO `sms_home_brand` VALUES (34, 2, '三星', 1, 195); INSERT INTO `sms_home_brand` VALUES (35, 3, '华为', 1, 200); INSERT INTO `sms_home_brand` VALUES (39, 21, 'OPPO', 1, 197); INSERT INTO `sms_home_brand` VALUES (45, 1, '万和', 1, 0); INSERT INTO `sms_home_brand` VALUES (46, 5, '方太', 1, 0); INSERT INTO `sms_home_brand` VALUES (47, 4, '格力', 1, 0); -- ---------------------------- -- Table structure for sms_home_new_product -- ---------------------------- DROP TABLE IF EXISTS `sms_home_new_product`; CREATE TABLE `sms_home_new_product` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `recommend_status` int(1) NULL DEFAULT NULL, `sort` int(1) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '新鲜好物表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_home_new_product -- ---------------------------- INSERT INTO `sms_home_new_product` VALUES (19, 37, 'Apple iPhone 14 (A2884) 128GB 支持移动联通电信5G 双卡双待手机', 1, 197); INSERT INTO `sms_home_new_product` VALUES (20, 38, 'Apple iPad 10.9英寸平板电脑 2022年款(64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A )', 1, 0); INSERT INTO `sms_home_new_product` VALUES (21, 39, '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑(新R5-6600H标压 16G 512G win11)', 1, 198); INSERT INTO `sms_home_new_product` VALUES (22, 40, '小米12 Pro 天玑版 天玑9000+处理器 5000万疾速影像 2K超视感屏 120Hz高刷 67W快充 12GB+256GB 黑色 5G手机', 1, 200); INSERT INTO `sms_home_new_product` VALUES (23, 41, 'Redmi K50 天玑8100 2K柔性直屏 OIS光学防抖 67W快充 5500mAh大电量 墨羽 12GB+256GB 5G智能手机 小米 红米', 1, 199); INSERT INTO `sms_home_new_product` VALUES (24, 42, 'HUAWEI Mate 50 直屏旗舰 超光变XMAGE影像 北斗卫星消息 低电量应急模式 128GB曜金黑华为鸿蒙手机', 1, 0); INSERT INTO `sms_home_new_product` VALUES (25, 44, '三星(SAMSUNG)500GB SSD固态硬盘 M.2接口(NVMe协议) 980(MZ-V8V500BW)', 1, 0); INSERT INTO `sms_home_new_product` VALUES (26, 45, 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄 3200万前置索尼镜头 5G手机', 1, 0); INSERT INTO `sms_home_new_product` VALUES (27, 43, '万和(Vanward)燃气热水器天然气家用四重防冻直流变频节能全新升级增压水伺服恒温高抗风 JSQ30-565W16【16升】【恒温旗舰款】', 1, 0); -- ---------------------------- -- Table structure for sms_home_recommend_product -- ---------------------------- DROP TABLE IF EXISTS `sms_home_recommend_product`; CREATE TABLE `sms_home_recommend_product` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `product_id` bigint(20) NULL DEFAULT NULL, `product_name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `recommend_status` int(1) NULL DEFAULT NULL, `sort` int(1) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '人气推荐商品表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_home_recommend_product -- ---------------------------- INSERT INTO `sms_home_recommend_product` VALUES (10, 38, 'Apple iPad 10.9英寸平板电脑 2022年款(64GB WLAN版/A14芯片/1200万像素/iPadOS MPQ03CH/A )', 1, 0); INSERT INTO `sms_home_recommend_product` VALUES (11, 39, '小米 Xiaomi Book Pro 14 2022 锐龙版 2.8K超清大师屏 高端轻薄笔记本电脑(新R5-6600H标压 16G 512G win11)', 1, 0); INSERT INTO `sms_home_recommend_product` VALUES (12, 44, '三星(SAMSUNG)500GB SSD固态硬盘 M.2接口(NVMe协议) 980(MZ-V8V500BW)', 1, 0); INSERT INTO `sms_home_recommend_product` VALUES (13, 43, '万和(Vanward)燃气热水器天然气家用四重防冻直流变频节能全新升级增压水伺服恒温高抗风 JSQ30-565W16【16升】【恒温旗舰款】', 1, 0); INSERT INTO `sms_home_recommend_product` VALUES (14, 45, 'OPPO Reno8 8GB+128GB 鸢尾紫 新配色上市 80W超级闪充 5000万水光人像三摄 3200万前置索尼镜头 5G手机', 1, 0); -- ---------------------------- -- Table structure for sms_home_recommend_subject -- ---------------------------- DROP TABLE IF EXISTS `sms_home_recommend_subject`; CREATE TABLE `sms_home_recommend_subject` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `subject_id` bigint(20) NULL DEFAULT NULL, `subject_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `recommend_status` int(1) NULL DEFAULT NULL, `sort` int(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '首页推荐专题表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sms_home_recommend_subject -- ---------------------------- INSERT INTO `sms_home_recommend_subject` VALUES (14, 1, 'polo衬衫的也时尚', 1, 0); INSERT INTO `sms_home_recommend_subject` VALUES (15, 2, '大牌手机低价秒', 1, 0); INSERT INTO `sms_home_recommend_subject` VALUES (16, 3, '晓龙845新品上市', 1, 0); INSERT INTO `sms_home_recommend_subject` VALUES (17, 4, '夏天应该穿什么', 1, 0); INSERT INTO `sms_home_recommend_subject` VALUES (18, 5, '夏季精选', 1, 100); INSERT INTO `sms_home_recommend_subject` VALUES (19, 6, '品牌手机降价', 1, 0); -- ---------------------------- -- Table structure for ums_admin -- ---------------------------- DROP TABLE IF EXISTS `ums_admin`; CREATE TABLE `ums_admin` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像', `email` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱', `nick_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '昵称', `note` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注信息', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间', `status` int(1) NULL DEFAULT 1 COMMENT '帐号启用状态:0->禁用;1->启用', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_admin -- ---------------------------- INSERT INTO `ums_admin` VALUES (1, 'test', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_02.png', 'test@qq.com', '测试账号', NULL, '2018-09-29 13:55:30', '2018-09-29 13:55:39', 1); INSERT INTO `ums_admin` VALUES (3, 'admin', '$2a$10$.E1FokumK5GIXWgKlg.Hc.i/0/2.qdAwYFL1zc5QHdyzpXOr38RZO', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_01.png', 'admin@163.com', '系统管理员', '系统管理员', '2018-10-08 13:32:47', '2019-04-20 12:45:16', 1); INSERT INTO `ums_admin` VALUES (4, 'macro', '$2a$10$Bx4jZPR7GhEpIQfefDQtVeS58GfT5n6mxs/b4nLLK65eMFa16topa', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_01.png', 'macro@qq.com', 'macro', 'macro专用', '2019-10-06 15:53:51', '2020-02-03 14:55:55', 1); INSERT INTO `ums_admin` VALUES (6, 'productAdmin', '$2a$10$6/.J.p.6Bhn7ic4GfoB5D.pGd7xSiD1a9M6ht6yO0fxzlKJPjRAGm', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_03.png', 'product@qq.com', '商品管理员', '只有商品权限', '2020-02-07 16:15:08', NULL, 1); INSERT INTO `ums_admin` VALUES (7, 'orderAdmin', '$2a$10$UqEhA9UZXjHHA3B.L9wNG.6aerrBjC6WHTtbv1FdvYPUI.7lkL6E.', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_04.png', 'order@qq.com', '订单管理员', '只有订单管理权限', '2020-02-07 16:15:50', NULL, 1); INSERT INTO `ums_admin` VALUES (8, 'test123', '$2a$10$M1qJguEzwoAN0la7PB8UO.HOGe1xZGku7xw1iTaUUpY0ZVRCxrxoO', 'string', 'abc@qq.com', 'string', 'string', '2022-08-07 14:45:42', NULL, 1); INSERT INTO `ums_admin` VALUES (9, 'test256', '$2a$10$kTMBrt8mkXcO8T4eHThFWOf3KuNK6tqevkiAf4YbtXtaCJ6ocYkJa', 'string', 'abc@qq.com', 'string', 'string', '2022-08-07 14:52:57', NULL, 1); INSERT INTO `ums_admin` VALUES (10, 'test1267', '$2a$10$VUywDhXVPY13YZxMD/uPWeDqkzSozN7o8u/3MX6sBig2NK2VaTJZ2', NULL, 'test1267@qq.com', 'test1267', 'test1267', '2023-01-04 16:13:34', NULL, 1); -- ---------------------------- -- Table structure for ums_admin_login_log -- ---------------------------- DROP TABLE IF EXISTS `ums_admin_login_log`; CREATE TABLE `ums_admin_login_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `admin_id` bigint(20) NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `ip` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `user_agent` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '浏览器登录类型', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 413 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户登录日志表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_admin_login_log -- ---------------------------- INSERT INTO `ums_admin_login_log` VALUES (1, 3, '2018-12-23 14:27:00', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (2, 3, '2019-04-07 16:04:39', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (3, 3, '2019-04-08 21:47:52', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (4, 3, '2019-04-08 21:48:18', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (5, 3, '2019-04-18 22:18:40', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (6, 3, '2019-04-20 12:45:16', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (7, 3, '2019-05-19 14:52:12', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (8, 3, '2019-05-25 15:00:17', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (9, 3, '2019-06-19 20:11:42', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (10, 3, '2019-06-30 10:33:48', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (11, 3, '2019-06-30 10:34:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (12, 3, '2019-06-30 10:35:34', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (13, 3, '2019-07-27 17:11:01', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (14, 3, '2019-07-27 17:13:18', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (15, 3, '2019-07-27 17:15:35', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (16, 3, '2019-07-27 17:17:11', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (17, 3, '2019-07-27 17:18:34', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (18, 3, '2019-07-27 21:21:52', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (19, 3, '2019-07-27 21:34:29', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (20, 3, '2019-07-27 21:35:17', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (21, 3, '2019-07-27 21:35:48', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (22, 3, '2019-07-27 21:40:33', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (23, 3, '2019-08-18 16:00:38', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (24, 3, '2019-08-18 16:01:06', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (25, 3, '2019-08-18 16:47:01', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (26, 3, '2019-10-06 15:54:23', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (27, 3, '2019-10-06 16:03:28', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (28, 3, '2019-10-06 16:04:51', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (29, 3, '2019-10-06 16:06:44', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (30, 3, '2019-10-06 16:14:51', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (31, 1, '2019-10-06 16:15:09', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (32, 1, '2019-10-06 16:16:14', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (33, 3, '2019-10-06 16:16:35', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (34, 3, '2019-10-06 16:16:42', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (35, 3, '2019-10-07 15:20:48', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (36, 3, '2019-10-07 15:40:07', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (37, 3, '2019-10-07 16:34:15', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (38, 3, '2019-10-09 21:19:08', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (39, 4, '2019-10-09 21:30:35', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (40, 4, '2019-10-09 21:31:30', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (41, 4, '2019-10-09 21:32:39', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (42, 4, '2019-10-09 21:33:27', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (43, 4, '2019-10-09 21:33:50', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (44, 3, '2019-10-20 16:02:53', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (45, 3, '2019-10-23 21:20:55', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (46, 3, '2019-10-27 21:41:45', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (47, 3, '2019-11-09 16:44:57', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (48, 3, '2019-11-09 16:46:56', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (49, 3, '2019-11-09 16:49:55', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (50, 3, '2019-11-23 14:17:16', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (51, 6, '2019-11-23 14:52:30', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (52, 3, '2019-11-23 15:07:24', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (53, 3, '2019-11-30 21:25:30', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (54, 3, '2019-11-30 21:27:54', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (55, 3, '2019-12-28 15:23:01', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (56, 3, '2020-01-01 15:21:46', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (57, 3, '2020-01-04 16:00:54', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (58, 3, '2020-02-01 15:05:19', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (59, 3, '2020-02-01 15:36:05', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (60, 3, '2020-02-01 15:36:36', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (61, 3, '2020-02-01 15:37:30', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (62, 3, '2020-02-01 15:37:46', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (63, 3, '2020-02-01 15:38:20', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (64, 3, '2020-02-01 15:38:33', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (65, 3, '2020-02-01 15:39:06', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (66, 3, '2020-02-01 15:41:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (67, 3, '2020-02-01 15:43:17', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (68, 3, '2020-02-01 15:44:34', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (69, 3, '2020-02-01 15:45:10', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (70, 3, '2020-02-01 15:46:04', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (71, 3, '2020-02-01 15:48:33', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (72, 3, '2020-02-01 16:00:07', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (73, 3, '2020-02-01 16:07:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (74, 3, '2020-02-01 16:08:22', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (75, 3, '2020-02-02 15:28:13', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (76, 3, '2020-02-02 15:44:37', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (77, 3, '2020-02-02 15:45:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (78, 3, '2020-02-02 15:52:32', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (79, 3, '2020-02-02 15:53:44', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (80, 3, '2020-02-02 15:54:36', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (81, 3, '2020-02-02 16:01:00', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (82, 3, '2020-02-02 16:05:19', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (83, 3, '2020-02-02 16:06:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (84, 3, '2020-02-02 16:17:26', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (85, 3, '2020-02-02 16:18:45', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (86, 3, '2020-02-02 16:19:05', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (87, 3, '2020-02-02 16:19:23', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (88, 3, '2020-02-02 16:22:27', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (89, 3, '2020-02-02 16:23:30', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (90, 3, '2020-02-02 16:23:48', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (91, 3, '2020-02-02 16:24:38', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (92, 3, '2020-02-02 16:25:22', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (93, 3, '2020-02-02 16:26:19', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (94, 3, '2020-02-02 16:26:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (95, 3, '2020-02-02 16:27:08', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (96, 3, '2020-02-02 16:31:02', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (97, 3, '2020-02-02 16:31:08', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (98, 3, '2020-02-02 16:31:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (99, 3, '2020-02-02 16:31:50', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (100, 3, '2020-02-02 16:33:22', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (101, 3, '2020-02-02 16:33:41', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (102, 3, '2020-02-02 16:34:58', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (103, 3, '2020-02-02 16:38:42', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (104, 3, '2020-02-02 16:39:41', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (105, 3, '2020-02-02 16:42:22', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (106, 3, '2020-02-02 16:46:21', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (107, 3, '2020-02-02 16:50:23', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (108, 3, '2020-02-02 16:51:11', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (109, 3, '2020-02-02 16:51:22', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (110, 3, '2020-02-02 16:52:00', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (111, 3, '2020-02-02 17:01:05', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (112, 3, '2020-02-03 10:43:22', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (113, 3, '2020-02-03 10:45:29', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (114, 3, '2020-02-03 10:46:33', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (115, 3, '2020-02-03 10:54:33', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (116, 3, '2020-02-03 14:24:47', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (117, 3, '2020-02-03 14:25:38', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (118, 5, '2020-02-03 15:22:28', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (119, 5, '2020-02-03 15:23:00', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (120, 5, '2020-02-03 15:24:29', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (121, 3, '2020-02-03 15:24:50', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (122, 5, '2020-02-03 15:27:18', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (123, 3, '2020-02-03 15:27:33', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (124, 3, '2020-02-03 15:29:06', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (125, 5, '2020-02-03 15:33:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (126, 3, '2020-02-03 15:33:51', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (127, 1, '2020-02-03 15:34:35', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (128, 3, '2020-02-03 15:34:47', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (129, 3, '2020-02-04 14:14:46', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (130, 3, '2020-02-05 10:33:35', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (131, 3, '2020-02-05 10:36:21', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (132, 3, '2020-02-05 16:34:37', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (133, 4, '2020-02-05 16:58:37', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (134, 3, '2020-02-05 16:59:03', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (135, 3, '2020-02-06 10:25:02', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (136, 3, '2020-02-07 14:34:34', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (137, 3, '2020-02-07 14:36:20', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (138, 1, '2020-02-07 14:43:34', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (139, 3, '2020-02-07 15:18:06', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (140, 3, '2020-02-07 15:20:07', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (141, 3, '2020-02-07 15:22:20', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (142, 3, '2020-02-07 15:22:28', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (143, 3, '2020-02-07 15:55:11', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (144, 3, '2020-02-07 15:56:04', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (145, 3, '2020-02-07 15:58:49', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (146, 6, '2020-02-07 16:16:21', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (147, 7, '2020-02-07 16:16:37', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (148, 3, '2020-02-07 16:18:39', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (149, 7, '2020-02-07 16:20:06', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (150, 3, '2020-02-07 16:20:44', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (151, 3, '2020-02-07 16:32:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (152, 3, '2020-02-07 19:32:34', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (153, 3, '2020-02-07 19:32:48', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (154, 3, '2020-02-07 19:33:01', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (155, 3, '2020-02-07 19:33:06', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (156, 3, '2020-02-07 19:33:21', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (157, 3, '2020-02-07 19:35:33', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (158, 3, '2020-02-07 19:37:10', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (159, 3, '2020-02-07 19:37:14', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (160, 3, '2020-02-07 19:37:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (161, 3, '2020-02-07 19:45:41', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (162, 3, '2020-02-07 19:47:45', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (163, 3, '2020-02-07 20:02:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (164, 6, '2020-02-07 20:10:55', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (165, 6, '2020-02-07 20:11:02', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (166, 6, '2020-02-07 20:13:44', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (167, 6, '2020-02-07 20:17:14', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (168, 3, '2020-02-07 20:17:44', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (169, 6, '2020-02-07 20:18:13', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (170, 3, '2020-02-10 10:28:14', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (171, 3, '2020-02-10 10:45:15', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (172, 3, '2020-02-10 10:57:46', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (173, 3, '2020-02-10 10:59:06', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (174, 3, '2020-02-10 11:04:19', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (175, 3, '2020-02-10 11:05:55', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (176, 3, '2020-02-10 11:06:45', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (177, 3, '2020-02-10 11:07:41', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (178, 3, '2020-02-10 11:08:13', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (179, 3, '2020-02-10 11:10:02', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (180, 6, '2020-02-10 14:25:17', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (181, 6, '2020-02-10 14:29:14', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (182, 3, '2020-02-10 16:09:16', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (183, 3, '2020-02-20 14:39:19', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (184, 8, '2020-02-20 17:14:58', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (185, 8, '2020-02-20 17:17:04', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (186, 8, '2020-02-20 17:17:42', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (187, 8, '2020-02-21 10:26:56', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (188, 8, '2020-02-21 10:28:54', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (189, 8, '2020-02-21 10:32:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (190, 8, '2020-02-21 10:33:41', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (191, 8, '2020-02-21 10:35:58', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (192, 8, '2020-02-21 10:36:49', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (193, 3, '2020-02-21 11:10:11', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (194, 3, '2020-02-25 16:11:13', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (195, 3, '2020-02-25 16:46:29', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (196, 3, '2020-03-07 16:33:59', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (197, 6, '2020-03-07 16:35:38', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (198, 3, '2020-03-07 17:00:09', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (199, 3, '2020-03-14 14:32:08', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (200, 8, '2020-03-14 14:32:59', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (201, 3, '2020-03-14 14:33:26', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (202, 8, '2020-03-14 14:34:57', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (203, 3, '2020-03-14 14:35:23', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (204, 8, '2020-03-14 14:36:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (205, 3, '2020-03-14 14:36:51', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (206, 8, '2020-03-14 14:37:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (207, 3, '2020-03-14 14:37:44', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (208, 8, '2020-03-14 14:38:30', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (209, 3, '2020-03-14 14:38:50', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (210, 8, '2020-03-14 14:39:26', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (211, 3, '2020-03-14 14:39:41', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (212, 3, '2020-03-15 14:23:54', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (213, 3, '2020-03-22 14:33:17', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (214, 3, '2020-03-22 14:59:51', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (215, 3, '2020-03-22 15:04:32', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (216, 3, '2020-03-29 16:14:37', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (217, 3, '2020-03-29 17:17:00', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (218, 3, '2020-04-06 16:54:49', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (219, 3, '2020-04-12 15:01:40', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (220, 3, '2020-04-19 09:50:59', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (221, 3, '2020-05-04 10:45:45', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (222, 3, '2020-05-05 11:02:44', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (223, 3, '2020-05-16 15:17:21', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (224, 3, '2020-05-17 14:58:35', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (225, 3, '2020-05-18 15:47:46', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (226, 3, '2020-05-23 16:51:15', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (227, 3, '2020-05-23 16:54:53', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (228, 3, '2020-05-23 17:00:33', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (229, 3, '2020-05-24 10:38:00', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (230, 3, '2020-06-07 09:39:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (231, 3, '2020-06-14 14:23:30', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (232, 3, '2020-06-14 17:11:59', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (233, 3, '2020-06-20 14:53:51', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (234, 3, '2020-06-21 14:57:36', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (235, 3, '2020-06-27 10:41:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (236, 3, '2020-07-05 15:54:21', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (237, 3, '2020-07-11 10:40:28', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (238, 3, '2020-07-11 10:45:01', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (239, 3, '2020-07-19 11:00:16', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (240, 3, '2020-07-19 11:46:27', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (241, 3, '2020-07-19 11:53:47', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (242, 3, '2020-07-19 14:17:37', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (243, 3, '2020-07-19 14:44:24', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (244, 3, '2020-07-19 14:44:58', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (245, 3, '2020-07-19 14:48:27', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (246, 3, '2020-07-19 14:48:57', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (247, 3, '2020-07-19 14:49:30', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (248, 3, '2020-07-19 14:50:18', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (249, 3, '2020-07-19 14:51:51', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (250, 3, '2020-07-19 14:55:27', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (251, 3, '2020-07-19 14:58:14', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (252, 6, '2020-07-19 15:04:21', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (253, 3, '2020-07-19 15:38:49', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (254, 6, '2020-07-19 16:26:24', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (255, 3, '2020-08-08 10:39:12', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (256, 3, '2020-08-09 11:06:31', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (257, 3, '2020-08-10 20:41:30', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (258, 3, '2020-08-15 10:12:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (259, 1, '2020-08-19 21:23:59', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (260, 1, '2020-08-19 21:25:06', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (261, 3, '2020-09-05 16:14:50', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (262, 3, '2020-09-05 16:15:37', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (263, 3, '2020-09-12 16:07:35', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (264, 6, '2020-09-12 16:08:14', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (265, 1, '2020-09-12 16:08:26', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (266, 6, '2020-09-12 16:09:08', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (267, 1, '2020-09-12 16:09:17', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (268, 3, '2020-09-13 14:22:25', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (269, 3, '2020-09-13 14:23:07', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (270, 3, '2020-09-13 14:24:21', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (271, 3, '2020-09-13 14:32:32', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (272, 1, '2020-09-19 15:43:31', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (273, 3, '2020-09-19 15:43:58', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (274, 3, '2020-09-19 15:49:44', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (275, 6, '2020-09-19 15:50:12', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (276, 6, '2020-09-19 15:50:18', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (277, 1, '2020-09-19 15:50:41', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (278, 6, '2020-09-19 15:52:28', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (279, 1, '2020-09-19 15:53:01', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (280, 1, '2020-09-19 15:53:48', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (281, 6, '2020-09-19 15:54:37', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (282, 3, '2020-09-20 11:13:50', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (283, 1, '2020-10-08 14:26:58', '0:0:0:0:0:0:0:1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (284, 1, '2020-10-08 14:30:49', '192.168.3.185', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (285, 3, '2021-04-11 10:27:43', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (286, 1, '2021-04-11 10:29:19', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (287, 3, '2021-04-11 10:30:40', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (288, 3, '2021-04-11 10:37:50', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (289, 3, '2021-12-08 10:44:09', '192.168.3.4', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (290, 3, '2022-04-15 15:04:51', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (291, 1, '2022-05-10 15:25:58', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (292, 1, '2022-05-10 15:31:08', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (293, 1, '2022-05-10 15:32:18', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (294, 1, '2022-05-10 15:34:17', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (295, 1, '2022-05-10 15:34:38', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (296, 1, '2022-05-10 15:54:50', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (297, 1, '2022-05-10 16:31:20', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (298, 1, '2022-05-10 16:33:45', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (299, 1, '2022-05-10 16:39:07', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (300, 1, '2022-05-18 14:53:41', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (301, 3, '2022-06-07 17:28:29', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (302, 3, '2022-06-08 09:48:32', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (303, 3, '2022-06-08 10:34:20', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (304, 3, '2022-06-08 17:09:29', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (305, 3, '2022-06-08 17:10:11', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (306, 6, '2022-06-08 17:10:55', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (307, 3, '2022-06-08 17:23:05', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (308, 3, '2022-06-08 17:30:51', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (309, 3, '2022-06-08 17:31:42', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (310, 3, '2022-06-08 17:31:48', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (311, 3, '2022-06-08 21:03:56', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (312, 3, '2022-06-09 10:41:31', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (313, 3, '2022-06-09 15:18:46', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (314, 3, '2022-06-10 15:43:15', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (315, 3, '2022-06-10 15:52:27', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (316, 3, '2022-06-15 14:41:59', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (317, 3, '2022-06-23 16:24:09', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (318, 3, '2022-06-23 16:41:33', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (319, 3, '2022-06-23 16:42:50', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (320, 3, '2022-06-23 16:42:51', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (321, 3, '2022-06-23 16:42:52', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (322, 3, '2022-06-23 16:42:53', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (323, 3, '2022-06-23 16:43:07', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (324, 3, '2022-06-23 16:44:56', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (325, 3, '2022-06-23 16:45:42', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (326, 3, '2022-06-23 16:50:08', '192.168.3.6', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (327, 3, '2022-06-24 15:19:04', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (328, 3, '2022-06-24 15:25:52', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (329, 3, '2022-06-24 15:40:29', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (330, 3, '2022-06-25 15:13:52', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (331, 3, '2022-06-25 15:25:12', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (332, 3, '2022-06-27 16:38:37', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (333, 3, '2022-07-24 10:10:06', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (334, 1, '2022-07-25 17:15:55', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (335, 3, '2022-07-27 09:41:32', '192.168.3.227', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (336, 1, '2022-07-28 16:56:10', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (337, 1, '2022-07-28 16:56:25', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (338, 8, '2022-08-07 14:46:00', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (339, 9, '2022-08-07 14:53:32', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (340, 9, '2022-08-07 14:53:46', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (341, 9, '2022-08-07 14:56:19', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (342, 1, '2022-08-09 10:53:55', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (343, 1, '2022-08-09 10:54:36', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (344, 1, '2022-08-09 11:00:06', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (345, 1, '2022-08-09 11:02:04', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (346, 1, '2022-08-09 15:48:14', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (347, 1, '2022-08-16 16:35:24', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (348, 1, '2022-08-17 15:03:52', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (349, 1, '2022-08-20 16:49:19', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (350, 1, '2022-08-23 14:54:06', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (351, 1, '2022-08-31 17:16:35', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (352, 3, '2022-10-14 15:31:42', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (353, 3, '2022-10-14 15:42:39', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (354, 3, '2022-10-14 15:44:08', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (355, 3, '2022-10-14 15:46:23', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (356, 3, '2022-10-14 15:46:35', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (357, 3, '2022-10-14 16:06:11', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (358, 3, '2022-10-14 16:24:08', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (359, 3, '2022-10-17 16:44:52', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (360, 3, '2022-10-17 16:49:42', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (361, 3, '2022-10-17 16:49:53', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (362, 3, '2022-10-17 17:03:10', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (363, 3, '2022-10-17 17:03:22', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (364, 3, '2022-10-17 21:00:48', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (365, 3, '2022-10-24 16:32:31', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (366, 3, '2022-10-26 16:31:17', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (367, 3, '2022-10-26 16:50:48', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (368, 3, '2022-10-26 16:52:28', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (369, 3, '2022-10-27 17:21:28', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (370, 3, '2022-10-28 10:52:22', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (371, 3, '2022-11-04 16:09:08', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (372, 3, '2022-11-08 10:27:27', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (373, 3, '2022-11-09 10:42:30', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (374, 3, '2022-11-10 15:03:08', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (375, 3, '2022-11-11 10:11:11', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (376, 3, '2022-11-14 16:33:30', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (377, 3, '2022-11-15 10:54:02', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (378, 3, '2022-11-15 15:16:35', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (379, 3, '2022-11-15 15:17:41', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (380, 3, '2022-11-15 15:17:47', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (381, 1, '2022-11-15 15:19:56', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (382, 3, '2022-11-15 15:20:12', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (383, 3, '2022-11-15 15:22:22', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (384, 3, '2022-11-16 10:39:08', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (385, 1, '2022-11-24 20:02:12', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (386, 3, '2022-11-28 15:24:02', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (387, 3, '2022-11-30 09:34:28', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (388, 3, '2022-12-05 09:43:58', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (389, 3, '2022-12-09 17:18:09', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (390, 3, '2022-12-15 14:53:39', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (391, 3, '2022-12-15 16:11:54', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (392, 3, '2022-12-20 15:55:18', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (393, 3, '2022-12-21 14:49:30', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (394, 3, '2022-12-23 09:49:50', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (395, 3, '2023-01-04 10:17:44', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (396, 3, '2023-01-04 15:28:47', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (397, 3, '2023-01-05 10:13:43', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (398, 3, '2023-01-06 09:49:23', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (399, 3, '2023-01-06 10:04:19', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (400, 3, '2023-01-06 10:07:06', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (401, 3, '2023-01-06 16:21:31', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (402, 3, '2023-01-09 16:50:30', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (403, 3, '2023-01-10 10:05:52', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (404, 3, '2023-01-10 17:09:44', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (405, 3, '2023-01-11 10:17:17', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (406, 3, '2023-01-13 09:35:37', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (407, 3, '2023-01-13 09:40:51', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (408, 3, '2023-01-31 10:46:52', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (409, 3, '2023-02-08 17:11:11', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (410, 3, '2023-02-09 15:46:41', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (411, 3, '2023-02-10 17:23:52', '192.168.56.1', NULL, NULL); INSERT INTO `ums_admin_login_log` VALUES (412, 3, '2023-05-11 15:29:54', '192.168.56.1', NULL, NULL); -- ---------------------------- -- Table structure for ums_admin_permission_relation -- ---------------------------- DROP TABLE IF EXISTS `ums_admin_permission_relation`; CREATE TABLE `ums_admin_permission_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `admin_id` bigint(20) NULL DEFAULT NULL, `permission_id` bigint(20) NULL DEFAULT NULL, `type` int(1) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户和权限关系表(除角色中定义的权限以外的加减权限)' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_admin_permission_relation -- ---------------------------- -- ---------------------------- -- Table structure for ums_admin_role_relation -- ---------------------------- DROP TABLE IF EXISTS `ums_admin_role_relation`; CREATE TABLE `ums_admin_role_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `admin_id` bigint(20) NULL DEFAULT NULL, `role_id` bigint(20) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户和角色关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_admin_role_relation -- ---------------------------- INSERT INTO `ums_admin_role_relation` VALUES (26, 3, 5); INSERT INTO `ums_admin_role_relation` VALUES (27, 6, 1); INSERT INTO `ums_admin_role_relation` VALUES (28, 7, 2); INSERT INTO `ums_admin_role_relation` VALUES (29, 1, 5); INSERT INTO `ums_admin_role_relation` VALUES (30, 4, 5); INSERT INTO `ums_admin_role_relation` VALUES (31, 8, 1); -- ---------------------------- -- Table structure for ums_growth_change_history -- ---------------------------- DROP TABLE IF EXISTS `ums_growth_change_history`; CREATE TABLE `ums_growth_change_history` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_id` bigint(20) NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `change_type` int(1) NULL DEFAULT NULL COMMENT '改变类型:0->增加;1->减少', `change_count` int(11) NULL DEFAULT NULL COMMENT '积分改变数量', `operate_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人员', `operate_note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作备注', `source_type` int(1) NULL DEFAULT NULL COMMENT '积分来源:0->购物;1->管理员修改', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '成长值变化历史记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_growth_change_history -- ---------------------------- INSERT INTO `ums_growth_change_history` VALUES (1, 1, '2018-08-29 17:16:35', 0, 1000, 'test', '测试使用', 1); -- ---------------------------- -- Table structure for ums_integration_change_history -- ---------------------------- DROP TABLE IF EXISTS `ums_integration_change_history`; CREATE TABLE `ums_integration_change_history` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_id` bigint(20) NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `change_type` int(1) NULL DEFAULT NULL COMMENT '改变类型:0->增加;1->减少', `change_count` int(11) NULL DEFAULT NULL COMMENT '积分改变数量', `operate_man` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人员', `operate_note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作备注', `source_type` int(1) NULL DEFAULT NULL COMMENT '积分来源:0->购物;1->管理员修改', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '积分变化历史记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_integration_change_history -- ---------------------------- -- ---------------------------- -- Table structure for ums_integration_consume_setting -- ---------------------------- DROP TABLE IF EXISTS `ums_integration_consume_setting`; CREATE TABLE `ums_integration_consume_setting` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `deduction_per_amount` int(11) NULL DEFAULT NULL COMMENT '每一元需要抵扣的积分数量', `max_percent_per_order` int(11) NULL DEFAULT NULL COMMENT '每笔订单最高抵用百分比', `use_unit` int(11) NULL DEFAULT NULL COMMENT '每次使用积分最小单位100', `coupon_status` int(1) NULL DEFAULT NULL COMMENT '是否可以和优惠券同用;0->不可以;1->可以', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '积分消费设置' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_integration_consume_setting -- ---------------------------- INSERT INTO `ums_integration_consume_setting` VALUES (1, 100, 50, 100, 1); -- ---------------------------- -- Table structure for ums_member -- ---------------------------- DROP TABLE IF EXISTS `ums_member`; CREATE TABLE `ums_member` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_level_id` bigint(20) NULL DEFAULT NULL, `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名', `password` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码', `nickname` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '昵称', `phone` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号码', `status` int(1) NULL DEFAULT NULL COMMENT '帐号启用状态:0->禁用;1->启用', `create_time` datetime NULL DEFAULT NULL COMMENT '注册时间', `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像', `gender` int(1) NULL DEFAULT NULL COMMENT '性别:0->未知;1->男;2->女', `birthday` date NULL DEFAULT NULL COMMENT '生日', `city` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所做城市', `job` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职业', `personalized_signature` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '个性签名', `source_type` int(1) NULL DEFAULT NULL COMMENT '用户来源', `integration` int(11) NULL DEFAULT NULL COMMENT '积分', `growth` int(11) NULL DEFAULT NULL COMMENT '成长值', `luckey_count` int(11) NULL DEFAULT NULL COMMENT '剩余抽奖次数', `history_integration` int(11) NULL DEFAULT NULL COMMENT '历史积分数量', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `idx_username`(`username`) USING BTREE, UNIQUE INDEX `idx_phone`(`phone`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member -- ---------------------------- INSERT INTO `ums_member` VALUES (1, 4, 'test', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'test', '18061581849', 1, '2018-08-02 10:35:44', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_03.png', 1, '2009-06-01', '上海', '学生', 'test', NULL, 3900, 1000, NULL, NULL); INSERT INTO `ums_member` VALUES (3, 4, 'windy', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'windy', '18061581848', 1, '2018-08-03 16:46:38', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `ums_member` VALUES (4, 4, 'zhengsan', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'zhengsan', '18061581847', 1, '2018-11-12 14:12:04', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `ums_member` VALUES (5, 4, 'lisi', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'lisi', '18061581841', 1, '2018-11-12 14:12:38', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `ums_member` VALUES (6, 4, 'wangwu', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'wangwu', '18061581842', 1, '2018-11-12 14:13:09', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `ums_member` VALUES (7, 4, 'lion', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'lion', '18061581845', 1, '2018-11-12 14:21:39', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `ums_member` VALUES (8, 4, 'shari', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'shari', '18061581844', 1, '2018-11-12 14:22:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `ums_member` VALUES (9, 4, 'aewen', '$2a$10$NZ5o7r2E.ayT2ZoxgjlI.eJ6OEYqjH7INR/F.mXDbjZJi9HF0YCVG', 'aewen', '18061581843', 1, '2018-11-12 14:22:55', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `ums_member` VALUES (10, 4, 'guest', '$2a$10$WQiD4RzEs1iJVWU.2HVu8OdSlExJHWKmwndaw3SUfMyqfKZmXe1vq', NULL, '18911111111', 1, '2020-03-14 14:52:18', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); INSERT INTO `ums_member` VALUES (11, 4, 'member', '$2a$10$Q08uzqvtPj61NnpYQZsVvOnyilJ3AU4VdngAcJFGvPhEeqhhC.hhS', 'member', '18961511111', 1, '2023-05-11 15:22:38', 'https://macro-oss.oss-cn-shenzhen.aliyuncs.com/mall/icon/github_icon_02.png', 1, '2009-06-01', '上海', '学生', 'member', NULL, 5000, 1000, NULL, NULL); -- ---------------------------- -- Table structure for ums_member_level -- ---------------------------- DROP TABLE IF EXISTS `ums_member_level`; CREATE TABLE `ums_member_level` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `growth_point` int(11) NULL DEFAULT NULL, `default_status` int(1) NULL DEFAULT NULL COMMENT '是否为默认等级:0->不是;1->是', `free_freight_point` decimal(10, 2) NULL DEFAULT NULL COMMENT '免运费标准', `comment_growth_point` int(11) NULL DEFAULT NULL COMMENT '每次评价获取的成长值', `priviledge_free_freight` int(1) NULL DEFAULT NULL COMMENT '是否有免邮特权', `priviledge_sign_in` int(1) NULL DEFAULT NULL COMMENT '是否有签到特权', `priviledge_comment` int(1) NULL DEFAULT NULL COMMENT '是否有评论获奖励特权', `priviledge_promotion` int(1) NULL DEFAULT NULL COMMENT '是否有专享活动特权', `priviledge_member_price` int(1) NULL DEFAULT NULL COMMENT '是否有会员价格特权', `priviledge_birthday` int(1) NULL DEFAULT NULL COMMENT '是否有生日特权', `note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员等级表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_level -- ---------------------------- INSERT INTO `ums_member_level` VALUES (1, '黄金会员', 1000, 0, 199.00, 5, 1, 1, 1, 1, 1, 1, NULL); INSERT INTO `ums_member_level` VALUES (2, '白金会员', 5000, 0, 99.00, 10, 1, 1, 1, 1, 1, 1, NULL); INSERT INTO `ums_member_level` VALUES (3, '钻石会员', 15000, 0, 69.00, 15, 1, 1, 1, 1, 1, 1, NULL); INSERT INTO `ums_member_level` VALUES (4, '普通会员', 1, 1, 199.00, 20, 1, 1, 1, 1, 0, 0, NULL); -- ---------------------------- -- Table structure for ums_member_login_log -- ---------------------------- DROP TABLE IF EXISTS `ums_member_login_log`; CREATE TABLE `ums_member_login_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_id` bigint(20) NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL, `ip` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `city` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `login_type` int(1) NULL DEFAULT NULL COMMENT '登录类型:0->PC;1->android;2->ios;3->小程序', `province` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员登录记录' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_login_log -- ---------------------------- -- ---------------------------- -- Table structure for ums_member_member_tag_relation -- ---------------------------- DROP TABLE IF EXISTS `ums_member_member_tag_relation`; CREATE TABLE `ums_member_member_tag_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_id` bigint(20) NULL DEFAULT NULL, `tag_id` bigint(20) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和标签关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_member_tag_relation -- ---------------------------- -- ---------------------------- -- Table structure for ums_member_product_category_relation -- ---------------------------- DROP TABLE IF EXISTS `ums_member_product_category_relation`; CREATE TABLE `ums_member_product_category_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_id` bigint(20) NULL DEFAULT NULL, `product_category_id` bigint(20) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员与产品分类关系表(用户喜欢的分类)' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_product_category_relation -- ---------------------------- -- ---------------------------- -- Table structure for ums_member_receive_address -- ---------------------------- DROP TABLE IF EXISTS `ums_member_receive_address`; CREATE TABLE `ums_member_receive_address` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_id` bigint(20) NULL DEFAULT NULL, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收货人名称', `phone_number` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `default_status` int(1) NULL DEFAULT NULL COMMENT '是否为默认', `post_code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮政编码', `province` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '省份/直辖市', `city` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '城市', `region` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '区', `detail_address` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详细地址(街道)', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员收货地址表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_receive_address -- ---------------------------- INSERT INTO `ums_member_receive_address` VALUES (1, 1, '大梨', '18033441849', 0, '518000', '广东省', '深圳市', '南山区', '科兴科学园'); INSERT INTO `ums_member_receive_address` VALUES (3, 1, '大梨', '18033441849', 0, '518000', '广东省', '深圳市', '福田区', '清水河街道'); INSERT INTO `ums_member_receive_address` VALUES (4, 1, '大梨', '18033441849', 1, '518000', '广东省', '深圳市', '福田区', '东晓街道'); INSERT INTO `ums_member_receive_address` VALUES (5, 11, '小李', '18961511111', 1, '518000', '广东省', '深圳市', '福田区', '东晓街道'); INSERT INTO `ums_member_receive_address` VALUES (6, 11, '小李', '18961511111', NULL, '518000', '广东省', '深圳市', '福田区', '清水河街道'); -- ---------------------------- -- Table structure for ums_member_rule_setting -- ---------------------------- DROP TABLE IF EXISTS `ums_member_rule_setting`; CREATE TABLE `ums_member_rule_setting` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `continue_sign_day` int(11) NULL DEFAULT NULL COMMENT '连续签到天数', `continue_sign_point` int(11) NULL DEFAULT NULL COMMENT '连续签到赠送数量', `consume_per_point` decimal(10, 2) NULL DEFAULT NULL COMMENT '每消费多少元获取1个点', `low_order_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '最低获取点数的订单金额', `max_point_per_order` int(11) NULL DEFAULT NULL COMMENT '每笔订单最高获取点数', `type` int(1) NULL DEFAULT NULL COMMENT '类型:0->积分规则;1->成长值规则', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员积分成长规则表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_rule_setting -- ---------------------------- -- ---------------------------- -- Table structure for ums_member_statistics_info -- ---------------------------- DROP TABLE IF EXISTS `ums_member_statistics_info`; CREATE TABLE `ums_member_statistics_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `member_id` bigint(20) NULL DEFAULT NULL, `consume_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '累计消费金额', `order_count` int(11) NULL DEFAULT NULL COMMENT '订单数量', `coupon_count` int(11) NULL DEFAULT NULL COMMENT '优惠券数量', `comment_count` int(11) NULL DEFAULT NULL COMMENT '评价数', `return_order_count` int(11) NULL DEFAULT NULL COMMENT '退货数量', `login_count` int(11) NULL DEFAULT NULL COMMENT '登录次数', `attend_count` int(11) NULL DEFAULT NULL COMMENT '关注数量', `fans_count` int(11) NULL DEFAULT NULL COMMENT '粉丝数量', `collect_product_count` int(11) NULL DEFAULT NULL, `collect_subject_count` int(11) NULL DEFAULT NULL, `collect_topic_count` int(11) NULL DEFAULT NULL, `collect_comment_count` int(11) NULL DEFAULT NULL, `invite_friend_count` int(11) NULL DEFAULT NULL, `recent_order_time` datetime NULL DEFAULT NULL COMMENT '最后一次下订单时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员统计信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_statistics_info -- ---------------------------- -- ---------------------------- -- Table structure for ums_member_tag -- ---------------------------- DROP TABLE IF EXISTS `ums_member_tag`; CREATE TABLE `ums_member_tag` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `finish_order_count` int(11) NULL DEFAULT NULL COMMENT '自动打标签完成订单数量', `finish_order_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '自动打标签完成订单金额', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户标签表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_tag -- ---------------------------- -- ---------------------------- -- Table structure for ums_member_task -- ---------------------------- DROP TABLE IF EXISTS `ums_member_task`; CREATE TABLE `ums_member_task` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `growth` int(11) NULL DEFAULT NULL COMMENT '赠送成长值', `intergration` int(11) NULL DEFAULT NULL COMMENT '赠送积分', `type` int(1) NULL DEFAULT NULL COMMENT '任务类型:0->新手任务;1->日常任务', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会员任务表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_member_task -- ---------------------------- -- ---------------------------- -- Table structure for ums_menu -- ---------------------------- DROP TABLE IF EXISTS `ums_menu`; CREATE TABLE `ums_menu` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父级ID', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '菜单名称', `level` int(4) NULL DEFAULT NULL COMMENT '菜单级数', `sort` int(4) NULL DEFAULT NULL COMMENT '菜单排序', `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前端名称', `icon` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前端图标', `hidden` int(1) NULL DEFAULT NULL COMMENT '前端隐藏', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台菜单表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_menu -- ---------------------------- INSERT INTO `ums_menu` VALUES (1, 0, '2020-02-02 14:50:36', '商品', 0, 0, 'pms', 'product', 0); INSERT INTO `ums_menu` VALUES (2, 1, '2020-02-02 14:51:50', '商品列表', 1, 0, 'product', 'product-list', 0); INSERT INTO `ums_menu` VALUES (3, 1, '2020-02-02 14:52:44', '添加商品', 1, 0, 'addProduct', 'product-add', 0); INSERT INTO `ums_menu` VALUES (4, 1, '2020-02-02 14:53:51', '商品分类', 1, 0, 'productCate', 'product-cate', 0); INSERT INTO `ums_menu` VALUES (5, 1, '2020-02-02 14:54:51', '商品类型', 1, 0, 'productAttr', 'product-attr', 0); INSERT INTO `ums_menu` VALUES (6, 1, '2020-02-02 14:56:29', '品牌管理', 1, 0, 'brand', 'product-brand', 0); INSERT INTO `ums_menu` VALUES (7, 0, '2020-02-02 16:54:07', '订单', 0, 0, 'oms', 'order', 0); INSERT INTO `ums_menu` VALUES (8, 7, '2020-02-02 16:55:18', '订单列表', 1, 0, 'order', 'product-list', 0); INSERT INTO `ums_menu` VALUES (9, 7, '2020-02-02 16:56:46', '订单设置', 1, 0, 'orderSetting', 'order-setting', 0); INSERT INTO `ums_menu` VALUES (10, 7, '2020-02-02 16:57:39', '退货申请处理', 1, 0, 'returnApply', 'order-return', 0); INSERT INTO `ums_menu` VALUES (11, 7, '2020-02-02 16:59:40', '退货原因设置', 1, 0, 'returnReason', 'order-return-reason', 0); INSERT INTO `ums_menu` VALUES (12, 0, '2020-02-04 16:18:00', '营销', 0, 0, 'sms', 'sms', 0); INSERT INTO `ums_menu` VALUES (13, 12, '2020-02-04 16:19:22', '秒杀活动列表', 1, 0, 'flash', 'sms-flash', 0); INSERT INTO `ums_menu` VALUES (14, 12, '2020-02-04 16:20:16', '优惠券列表', 1, 0, 'coupon', 'sms-coupon', 0); INSERT INTO `ums_menu` VALUES (16, 12, '2020-02-07 16:22:38', '品牌推荐', 1, 0, 'homeBrand', 'product-brand', 0); INSERT INTO `ums_menu` VALUES (17, 12, '2020-02-07 16:23:14', '新品推荐', 1, 0, 'homeNew', 'sms-new', 0); INSERT INTO `ums_menu` VALUES (18, 12, '2020-02-07 16:26:38', '人气推荐', 1, 0, 'homeHot', 'sms-hot', 0); INSERT INTO `ums_menu` VALUES (19, 12, '2020-02-07 16:28:16', '专题推荐', 1, 0, 'homeSubject', 'sms-subject', 0); INSERT INTO `ums_menu` VALUES (20, 12, '2020-02-07 16:28:42', '广告列表', 1, 0, 'homeAdvertise', 'sms-ad', 0); INSERT INTO `ums_menu` VALUES (21, 0, '2020-02-07 16:29:13', '权限', 0, 0, 'ums', 'ums', 0); INSERT INTO `ums_menu` VALUES (22, 21, '2020-02-07 16:29:51', '用户列表', 1, 0, 'admin', 'ums-admin', 0); INSERT INTO `ums_menu` VALUES (23, 21, '2020-02-07 16:30:13', '角色列表', 1, 0, 'role', 'ums-role', 0); INSERT INTO `ums_menu` VALUES (24, 21, '2020-02-07 16:30:53', '菜单列表', 1, 0, 'menu', 'ums-menu', 0); INSERT INTO `ums_menu` VALUES (25, 21, '2020-02-07 16:31:13', '资源列表', 1, 0, 'resource', 'ums-resource', 0); -- ---------------------------- -- Table structure for ums_permission -- ---------------------------- DROP TABLE IF EXISTS `ums_permission`; CREATE TABLE `ums_permission` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `pid` bigint(20) NULL DEFAULT NULL COMMENT '父级权限id', `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称', `value` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '权限值', `icon` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '图标', `type` int(1) NULL DEFAULT NULL COMMENT '权限类型:0->目录;1->菜单;2->按钮(接口绑定权限)', `uri` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前端资源路径', `status` int(1) NULL DEFAULT NULL COMMENT '启用状态;0->禁用;1->启用', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `sort` int(11) NULL DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户权限表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_permission -- ---------------------------- INSERT INTO `ums_permission` VALUES (1, 0, '商品', NULL, NULL, 0, NULL, 1, '2018-09-29 16:15:14', 0); INSERT INTO `ums_permission` VALUES (2, 1, '商品列表', 'pms:product:read', NULL, 1, '/pms/product/index', 1, '2018-09-29 16:17:01', 0); INSERT INTO `ums_permission` VALUES (3, 1, '添加商品', 'pms:product:create', NULL, 1, '/pms/product/add', 1, '2018-09-29 16:18:51', 0); INSERT INTO `ums_permission` VALUES (4, 1, '商品分类', 'pms:productCategory:read', NULL, 1, '/pms/productCate/index', 1, '2018-09-29 16:23:07', 0); INSERT INTO `ums_permission` VALUES (5, 1, '商品类型', 'pms:productAttribute:read', NULL, 1, '/pms/productAttr/index', 1, '2018-09-29 16:24:43', 0); INSERT INTO `ums_permission` VALUES (6, 1, '品牌管理', 'pms:brand:read', NULL, 1, '/pms/brand/index', 1, '2018-09-29 16:25:45', 0); INSERT INTO `ums_permission` VALUES (7, 2, '编辑商品', 'pms:product:update', NULL, 2, '/pms/product/updateProduct', 1, '2018-09-29 16:34:23', 0); INSERT INTO `ums_permission` VALUES (8, 2, '删除商品', 'pms:product:delete', NULL, 2, '/pms/product/delete', 1, '2018-09-29 16:38:33', 0); INSERT INTO `ums_permission` VALUES (9, 4, '添加商品分类', 'pms:productCategory:create', NULL, 2, '/pms/productCate/create', 1, '2018-09-29 16:43:23', 0); INSERT INTO `ums_permission` VALUES (10, 4, '修改商品分类', 'pms:productCategory:update', NULL, 2, '/pms/productCate/update', 1, '2018-09-29 16:43:55', 0); INSERT INTO `ums_permission` VALUES (11, 4, '删除商品分类', 'pms:productCategory:delete', NULL, 2, '/pms/productAttr/delete', 1, '2018-09-29 16:44:38', 0); INSERT INTO `ums_permission` VALUES (12, 5, '添加商品类型', 'pms:productAttribute:create', NULL, 2, '/pms/productAttr/create', 1, '2018-09-29 16:45:25', 0); INSERT INTO `ums_permission` VALUES (13, 5, '修改商品类型', 'pms:productAttribute:update', NULL, 2, '/pms/productAttr/update', 1, '2018-09-29 16:48:08', 0); INSERT INTO `ums_permission` VALUES (14, 5, '删除商品类型', 'pms:productAttribute:delete', NULL, 2, '/pms/productAttr/delete', 1, '2018-09-29 16:48:44', 0); INSERT INTO `ums_permission` VALUES (15, 6, '添加品牌', 'pms:brand:create', NULL, 2, '/pms/brand/add', 1, '2018-09-29 16:49:34', 0); INSERT INTO `ums_permission` VALUES (16, 6, '修改品牌', 'pms:brand:update', NULL, 2, '/pms/brand/update', 1, '2018-09-29 16:50:55', 0); INSERT INTO `ums_permission` VALUES (17, 6, '删除品牌', 'pms:brand:delete', NULL, 2, '/pms/brand/delete', 1, '2018-09-29 16:50:59', 0); INSERT INTO `ums_permission` VALUES (18, 0, '首页', NULL, NULL, 0, NULL, 1, '2018-09-29 16:51:57', 0); -- ---------------------------- -- Table structure for ums_resource -- ---------------------------- DROP TABLE IF EXISTS `ums_resource`; CREATE TABLE `ums_resource` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '资源名称', `url` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '资源URL', `description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', `category_id` bigint(20) NULL DEFAULT NULL COMMENT '资源分类ID', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 33 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台资源表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_resource -- ---------------------------- INSERT INTO `ums_resource` VALUES (1, '2020-02-04 17:04:55', '商品品牌管理', '/brand/**', NULL, 1); INSERT INTO `ums_resource` VALUES (2, '2020-02-04 17:05:35', '商品属性分类管理', '/productAttribute/category/**', NULL, 1); INSERT INTO `ums_resource` VALUES (3, '2020-02-04 17:06:13', '商品属性管理', '/productAttribute/**', NULL, 1); INSERT INTO `ums_resource` VALUES (4, '2020-02-04 17:07:15', '商品分类管理', '/productCategory/**', NULL, 1); INSERT INTO `ums_resource` VALUES (5, '2020-02-04 17:09:16', '商品管理', '/product/**', NULL, 1); INSERT INTO `ums_resource` VALUES (6, '2020-02-04 17:09:53', '商品库存管理', '/sku/**', NULL, 1); INSERT INTO `ums_resource` VALUES (8, '2020-02-05 14:43:37', '订单管理', '/order/**', '', 2); INSERT INTO `ums_resource` VALUES (9, '2020-02-05 14:44:22', ' 订单退货申请管理', '/returnApply/**', '', 2); INSERT INTO `ums_resource` VALUES (10, '2020-02-05 14:45:08', '退货原因管理', '/returnReason/**', '', 2); INSERT INTO `ums_resource` VALUES (11, '2020-02-05 14:45:43', '订单设置管理', '/orderSetting/**', '', 2); INSERT INTO `ums_resource` VALUES (12, '2020-02-05 14:46:23', '收货地址管理', '/companyAddress/**', '', 2); INSERT INTO `ums_resource` VALUES (13, '2020-02-07 16:37:22', '优惠券管理', '/coupon/**', '', 3); INSERT INTO `ums_resource` VALUES (14, '2020-02-07 16:37:59', '优惠券领取记录管理', '/couponHistory/**', '', 3); INSERT INTO `ums_resource` VALUES (15, '2020-02-07 16:38:28', '限时购活动管理', '/flash/**', '', 3); INSERT INTO `ums_resource` VALUES (16, '2020-02-07 16:38:59', '限时购商品关系管理', '/flashProductRelation/**', '', 3); INSERT INTO `ums_resource` VALUES (17, '2020-02-07 16:39:22', '限时购场次管理', '/flashSession/**', '', 3); INSERT INTO `ums_resource` VALUES (18, '2020-02-07 16:40:07', '首页轮播广告管理', '/home/advertise/**', '', 3); INSERT INTO `ums_resource` VALUES (19, '2020-02-07 16:40:34', '首页品牌管理', '/home/brand/**', '', 3); INSERT INTO `ums_resource` VALUES (20, '2020-02-07 16:41:06', '首页新品管理', '/home/newProduct/**', '', 3); INSERT INTO `ums_resource` VALUES (21, '2020-02-07 16:42:16', '首页人气推荐管理', '/home/recommendProduct/**', '', 3); INSERT INTO `ums_resource` VALUES (22, '2020-02-07 16:42:48', '首页专题推荐管理', '/home/recommendSubject/**', '', 3); INSERT INTO `ums_resource` VALUES (23, '2020-02-07 16:44:56', ' 商品优选管理', '/prefrenceArea/**', '', 5); INSERT INTO `ums_resource` VALUES (24, '2020-02-07 16:45:39', '商品专题管理', '/subject/**', '', 5); INSERT INTO `ums_resource` VALUES (25, '2020-02-07 16:47:34', '后台用户管理', '/admin/**', '', 4); INSERT INTO `ums_resource` VALUES (26, '2020-02-07 16:48:24', '后台用户角色管理', '/role/**', '', 4); INSERT INTO `ums_resource` VALUES (27, '2020-02-07 16:48:48', '后台菜单管理', '/menu/**', '', 4); INSERT INTO `ums_resource` VALUES (28, '2020-02-07 16:49:18', '后台资源分类管理', '/resourceCategory/**', '', 4); INSERT INTO `ums_resource` VALUES (29, '2020-02-07 16:49:45', '后台资源管理', '/resource/**', '', 4); INSERT INTO `ums_resource` VALUES (30, '2020-09-19 15:47:57', '会员等级管理', '/memberLevel/**', '', 7); INSERT INTO `ums_resource` VALUES (31, '2020-09-19 15:51:29', '获取登录用户信息', '/admin/info', '用户登录必配', 4); INSERT INTO `ums_resource` VALUES (32, '2020-09-19 15:53:34', '用户登出', '/admin/logout', '用户登出必配', 4); -- ---------------------------- -- Table structure for ums_resource_category -- ---------------------------- DROP TABLE IF EXISTS `ums_resource_category`; CREATE TABLE `ums_resource_category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类名称', `sort` int(4) NULL DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '资源分类表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_resource_category -- ---------------------------- INSERT INTO `ums_resource_category` VALUES (1, '2020-02-05 10:21:44', '商品模块', 0); INSERT INTO `ums_resource_category` VALUES (2, '2020-02-05 10:22:34', '订单模块', 0); INSERT INTO `ums_resource_category` VALUES (3, '2020-02-05 10:22:48', '营销模块', 0); INSERT INTO `ums_resource_category` VALUES (4, '2020-02-05 10:23:04', '权限模块', 0); INSERT INTO `ums_resource_category` VALUES (5, '2020-02-07 16:34:27', '内容模块', 0); INSERT INTO `ums_resource_category` VALUES (7, '2020-09-19 15:49:08', '其他模块', 0); -- ---------------------------- -- Table structure for ums_role -- ---------------------------- DROP TABLE IF EXISTS `ums_role`; CREATE TABLE `ums_role` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称', `description` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '描述', `admin_count` int(11) NULL DEFAULT NULL COMMENT '后台用户数量', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `status` int(1) NULL DEFAULT 1 COMMENT '启用状态:0->禁用;1->启用', `sort` int(11) NULL DEFAULT 0, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户角色表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_role -- ---------------------------- INSERT INTO `ums_role` VALUES (1, '商品管理员', '只能查看及操作商品', 0, '2020-02-03 16:50:37', 1, 0); INSERT INTO `ums_role` VALUES (2, '订单管理员', '只能查看及操作订单', 0, '2018-09-30 15:53:45', 1, 0); INSERT INTO `ums_role` VALUES (5, '超级管理员', '拥有所有查看和操作功能', 0, '2020-02-02 15:11:05', 1, 0); -- ---------------------------- -- Table structure for ums_role_menu_relation -- ---------------------------- DROP TABLE IF EXISTS `ums_role_menu_relation`; CREATE TABLE `ums_role_menu_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `role_id` bigint(20) NULL DEFAULT NULL COMMENT '角色ID', `menu_id` bigint(20) NULL DEFAULT NULL COMMENT '菜单ID', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 127 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台角色菜单关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_role_menu_relation -- ---------------------------- INSERT INTO `ums_role_menu_relation` VALUES (53, 2, 7); INSERT INTO `ums_role_menu_relation` VALUES (54, 2, 8); INSERT INTO `ums_role_menu_relation` VALUES (55, 2, 9); INSERT INTO `ums_role_menu_relation` VALUES (56, 2, 10); INSERT INTO `ums_role_menu_relation` VALUES (57, 2, 11); INSERT INTO `ums_role_menu_relation` VALUES (72, 5, 1); INSERT INTO `ums_role_menu_relation` VALUES (73, 5, 2); INSERT INTO `ums_role_menu_relation` VALUES (74, 5, 3); INSERT INTO `ums_role_menu_relation` VALUES (75, 5, 4); INSERT INTO `ums_role_menu_relation` VALUES (76, 5, 5); INSERT INTO `ums_role_menu_relation` VALUES (77, 5, 6); INSERT INTO `ums_role_menu_relation` VALUES (78, 5, 7); INSERT INTO `ums_role_menu_relation` VALUES (79, 5, 8); INSERT INTO `ums_role_menu_relation` VALUES (80, 5, 9); INSERT INTO `ums_role_menu_relation` VALUES (81, 5, 10); INSERT INTO `ums_role_menu_relation` VALUES (82, 5, 11); INSERT INTO `ums_role_menu_relation` VALUES (83, 5, 12); INSERT INTO `ums_role_menu_relation` VALUES (84, 5, 13); INSERT INTO `ums_role_menu_relation` VALUES (85, 5, 14); INSERT INTO `ums_role_menu_relation` VALUES (86, 5, 16); INSERT INTO `ums_role_menu_relation` VALUES (87, 5, 17); INSERT INTO `ums_role_menu_relation` VALUES (88, 5, 18); INSERT INTO `ums_role_menu_relation` VALUES (89, 5, 19); INSERT INTO `ums_role_menu_relation` VALUES (90, 5, 20); INSERT INTO `ums_role_menu_relation` VALUES (91, 5, 21); INSERT INTO `ums_role_menu_relation` VALUES (92, 5, 22); INSERT INTO `ums_role_menu_relation` VALUES (93, 5, 23); INSERT INTO `ums_role_menu_relation` VALUES (94, 5, 24); INSERT INTO `ums_role_menu_relation` VALUES (95, 5, 25); INSERT INTO `ums_role_menu_relation` VALUES (121, 1, 1); INSERT INTO `ums_role_menu_relation` VALUES (122, 1, 2); INSERT INTO `ums_role_menu_relation` VALUES (123, 1, 3); INSERT INTO `ums_role_menu_relation` VALUES (124, 1, 4); INSERT INTO `ums_role_menu_relation` VALUES (125, 1, 5); INSERT INTO `ums_role_menu_relation` VALUES (126, 1, 6); -- ---------------------------- -- Table structure for ums_role_permission_relation -- ---------------------------- DROP TABLE IF EXISTS `ums_role_permission_relation`; CREATE TABLE `ums_role_permission_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `role_id` bigint(20) NULL DEFAULT NULL, `permission_id` bigint(20) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台用户角色和权限关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_role_permission_relation -- ---------------------------- INSERT INTO `ums_role_permission_relation` VALUES (1, 1, 1); INSERT INTO `ums_role_permission_relation` VALUES (2, 1, 2); INSERT INTO `ums_role_permission_relation` VALUES (3, 1, 3); INSERT INTO `ums_role_permission_relation` VALUES (4, 1, 7); INSERT INTO `ums_role_permission_relation` VALUES (5, 1, 8); INSERT INTO `ums_role_permission_relation` VALUES (6, 2, 4); INSERT INTO `ums_role_permission_relation` VALUES (7, 2, 9); INSERT INTO `ums_role_permission_relation` VALUES (8, 2, 10); INSERT INTO `ums_role_permission_relation` VALUES (9, 2, 11); INSERT INTO `ums_role_permission_relation` VALUES (10, 3, 5); INSERT INTO `ums_role_permission_relation` VALUES (11, 3, 12); INSERT INTO `ums_role_permission_relation` VALUES (12, 3, 13); INSERT INTO `ums_role_permission_relation` VALUES (13, 3, 14); INSERT INTO `ums_role_permission_relation` VALUES (14, 4, 6); INSERT INTO `ums_role_permission_relation` VALUES (15, 4, 15); INSERT INTO `ums_role_permission_relation` VALUES (16, 4, 16); INSERT INTO `ums_role_permission_relation` VALUES (17, 4, 17); -- ---------------------------- -- Table structure for ums_role_resource_relation -- ---------------------------- DROP TABLE IF EXISTS `ums_role_resource_relation`; CREATE TABLE `ums_role_resource_relation` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `role_id` bigint(20) NULL DEFAULT NULL COMMENT '角色ID', `resource_id` bigint(20) NULL DEFAULT NULL COMMENT '资源ID', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 249 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '后台角色资源关系表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of ums_role_resource_relation -- ---------------------------- INSERT INTO `ums_role_resource_relation` VALUES (194, 5, 1); INSERT INTO `ums_role_resource_relation` VALUES (195, 5, 2); INSERT INTO `ums_role_resource_relation` VALUES (196, 5, 3); INSERT INTO `ums_role_resource_relation` VALUES (197, 5, 4); INSERT INTO `ums_role_resource_relation` VALUES (198, 5, 5); INSERT INTO `ums_role_resource_relation` VALUES (199, 5, 6); INSERT INTO `ums_role_resource_relation` VALUES (200, 5, 8); INSERT INTO `ums_role_resource_relation` VALUES (201, 5, 9); INSERT INTO `ums_role_resource_relation` VALUES (202, 5, 10); INSERT INTO `ums_role_resource_relation` VALUES (203, 5, 11); INSERT INTO `ums_role_resource_relation` VALUES (204, 5, 12); INSERT INTO `ums_role_resource_relation` VALUES (205, 5, 13); INSERT INTO `ums_role_resource_relation` VALUES (206, 5, 14); INSERT INTO `ums_role_resource_relation` VALUES (207, 5, 15); INSERT INTO `ums_role_resource_relation` VALUES (208, 5, 16); INSERT INTO `ums_role_resource_relation` VALUES (209, 5, 17); INSERT INTO `ums_role_resource_relation` VALUES (210, 5, 18); INSERT INTO `ums_role_resource_relation` VALUES (211, 5, 19); INSERT INTO `ums_role_resource_relation` VALUES (212, 5, 20); INSERT INTO `ums_role_resource_relation` VALUES (213, 5, 21); INSERT INTO `ums_role_resource_relation` VALUES (214, 5, 22); INSERT INTO `ums_role_resource_relation` VALUES (215, 5, 23); INSERT INTO `ums_role_resource_relation` VALUES (216, 5, 24); INSERT INTO `ums_role_resource_relation` VALUES (217, 5, 25); INSERT INTO `ums_role_resource_relation` VALUES (218, 5, 26); INSERT INTO `ums_role_resource_relation` VALUES (219, 5, 27); INSERT INTO `ums_role_resource_relation` VALUES (220, 5, 28); INSERT INTO `ums_role_resource_relation` VALUES (221, 5, 29); INSERT INTO `ums_role_resource_relation` VALUES (222, 5, 30); INSERT INTO `ums_role_resource_relation` VALUES (232, 2, 8); INSERT INTO `ums_role_resource_relation` VALUES (233, 2, 9); INSERT INTO `ums_role_resource_relation` VALUES (234, 2, 10); INSERT INTO `ums_role_resource_relation` VALUES (235, 2, 11); INSERT INTO `ums_role_resource_relation` VALUES (236, 2, 12); INSERT INTO `ums_role_resource_relation` VALUES (237, 2, 31); INSERT INTO `ums_role_resource_relation` VALUES (238, 2, 32); INSERT INTO `ums_role_resource_relation` VALUES (239, 1, 1); INSERT INTO `ums_role_resource_relation` VALUES (240, 1, 2); INSERT INTO `ums_role_resource_relation` VALUES (241, 1, 3); INSERT INTO `ums_role_resource_relation` VALUES (242, 1, 4); INSERT INTO `ums_role_resource_relation` VALUES (243, 1, 5); INSERT INTO `ums_role_resource_relation` VALUES (244, 1, 6); INSERT INTO `ums_role_resource_relation` VALUES (245, 1, 23); INSERT INTO `ums_role_resource_relation` VALUES (246, 1, 24); INSERT INTO `ums_role_resource_relation` VALUES (247, 1, 31); INSERT INTO `ums_role_resource_relation` VALUES (248, 1, 32); SET FOREIGN_KEY_CHECKS = 1; ================================================ FILE: mall-admin/pom.xml ================================================ 4.0.0 com.macro.mall mall-admin 1.0-SNAPSHOT jar mall-admin mall-admin project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT com.macro.mall mall-mbg com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.boot spring-boot-starter-data-redis com.aliyun.oss aliyun-sdk-oss io.minio minio org.springframework.cloud spring-cloud-starter-openfeign cn.dev33 sa-token-spring-boot3-starter cn.dev33 sa-token-redis-jackson org.apache.commons commons-pool2 cn.dev33 sa-token-jwt de.codecentric spring-boot-admin-starter-client org.springframework.boot spring-boot-maven-plugin io.fabric8 docker-maven-plugin ================================================ FILE: mall-admin/src/main/java/com/macro/mall/MallAdminApplication.java ================================================ package com.macro.mall; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; /** * 应用启动入口 * Created by macro on 2018/4/26. */ @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication public class MallAdminApplication { public static void main(String[] args) { SpringApplication.run(MallAdminApplication.class, args); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/component/PathResourceRulesHolder.java ================================================ package com.macro.mall.component; import com.macro.mall.service.UmsResourceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import jakarta.annotation.PostConstruct; /** * 路径与资源访问对应关系操作组件 * Created by macro on 2020/7/17. */ @Component public class PathResourceRulesHolder { @Autowired private UmsResourceService resourceService; @PostConstruct public void initPathResourceMap(){ resourceService.initPathResourceMap(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/config/MyBatisConfig.java ================================================ package com.macro.mall.config; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * MyBatis相关配置 * Created by macro on 2019/4/8. */ @Configuration @EnableTransactionManagement @MapperScan({"com.macro.mall.mapper","com.macro.mall.dao"}) public class MyBatisConfig { } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/config/OssConfig.java ================================================ package com.macro.mall.config; import com.aliyun.oss.OSSClient; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * OSS对象存储相关配置 * Created by macro on 2018/5/17. */ @Configuration public class OssConfig { @Value("${aliyun.oss.endpoint}") private String ALIYUN_OSS_ENDPOINT; @Value("${aliyun.oss.accessKeyId}") private String ALIYUN_OSS_ACCESSKEYID; @Value("${aliyun.oss.accessKeySecret}") private String ALIYUN_OSS_ACCESSKEYSECRET; @Bean public OSSClient ossClient(){ return new OSSClient(ALIYUN_OSS_ENDPOINT,ALIYUN_OSS_ACCESSKEYID,ALIYUN_OSS_ACCESSKEYSECRET); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/config/RedisConfig.java ================================================ package com.macro.mall.config; import com.macro.mall.common.config.BaseRedisConfig; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.repository.configuration.EnableRedisRepositories; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; /** * Redis相关配置 * Created by macro on 2020/6/19. */ @Configuration public class RedisConfig extends BaseRedisConfig { } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/config/SaTokenConfigure.java ================================================ package com.macro.mall.config; import cn.dev33.satoken.jwt.StpLogicJwtForSimple; import cn.dev33.satoken.stp.StpLogic; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * @auther macrozheng * @description Sa-Token相关配置 * @date 2023/11/28 * @github https://github.com/macrozheng */ @Configuration public class SaTokenConfigure { // Sa-Token 整合 jwt (Simple 简单模式) @Bean public StpLogic getStpLogicJwt() { return new StpLogicJwtForSimple(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/config/SpringDocConfig.java ================================================ package com.macro.mall.config; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; import org.springdoc.core.customizers.GlobalOpenApiCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * SpringDoc相关配置 * Created by macro on 2024/3/5. */ @Configuration public class SpringDocConfig implements WebMvcConfigurer { private static final String SECURITY_SCHEME_NAME = "Authorization"; @Bean public OpenAPI mallAdminOpenAPI() { return new OpenAPI() .info(new Info().title("mall后台系统") .description("mall后台相关接口文档") .version("v1.0.0") .license(new License().name("Apache 2.0") .url("https://github.com/macrozheng/mall-learning"))) .externalDocs(new ExternalDocumentation() .description("SpringBoot实战电商项目mall(60K+Star)全套文档") .url("http://www.macrozheng.com")) .addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)) .components(new Components() .addSecuritySchemes(SECURITY_SCHEME_NAME, new SecurityScheme() .name(SECURITY_SCHEME_NAME) .type(SecurityScheme.Type.HTTP) .scheme("bearer") .bearerFormat("JWT"))); } @Override public void addViewControllers(ViewControllerRegistry registry) { //配置访问`/swagger-ui/`路径时可以直接跳转到`/swagger-ui/index.html` registry.addViewController("/swagger-ui/").setViewName("redirect:/swagger-ui/index.html"); } @Bean public GlobalOpenApiCustomizer orderGlobalOpenApiCustomizer() { //解决Knife4j配置认证后无法自动添加认证头的问题 return openApi -> { //全局添加鉴权参数 if (openApi.getPaths() != null) { openApi.getPaths().forEach((s, pathItem) -> { pathItem.readOperations().forEach(operation -> { operation.addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)); }); }); } }; } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/CmsPrefrenceAreaController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.CmsPrefrenceArea; import com.macro.mall.service.CmsPrefrenceAreaService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; /** * 商品优选管理Controller * Created by macro on 2018/6/1. */ @Controller @Tag(name = "CmsPrefrenceAreaController", description = "商品优选管理") @RequestMapping("/prefrenceArea") public class CmsPrefrenceAreaController { @Autowired private CmsPrefrenceAreaService prefrenceAreaService; @Operation(summary = "获取所有商品优选") @RequestMapping(value = "/listAll", method = RequestMethod.GET) @ResponseBody public CommonResult> listAll() { List prefrenceAreaList = prefrenceAreaService.listAll(); return CommonResult.success(prefrenceAreaList); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/CmsSubjectController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.CmsSubject; import com.macro.mall.service.CmsSubjectService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; /** * 商品专题管理Controller * Created by macro on 2018/6/1. */ @Controller @Tag(name = "CmsSubjectController", description = "商品专题管理") @RequestMapping("/subject") public class CmsSubjectController { @Autowired private CmsSubjectService subjectService; @Operation(summary = "获取全部商品专题") @RequestMapping(value = "/listAll", method = RequestMethod.GET) @ResponseBody public CommonResult> listAll() { List subjectList = subjectService.listAll(); return CommonResult.success(subjectList); } @Operation(summary = "根据专题名称分页获取专题") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> getList(@RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) { List subjectList = subjectService.list(keyword, pageNum, pageSize); return CommonResult.success(CommonPage.restPage(subjectList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/MinioController.java ================================================ package com.macro.mall.controller; import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONUtil; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.BucketPolicyConfigDto; import com.macro.mall.dto.MinioUploadDto; import io.minio.*; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.text.SimpleDateFormat; import java.util.Date; /** * MinIO对象存储管理 * Created by macro on 2019/12/25. */ @Tag(name = "MinioController", description = "MinIO对象存储管理") @Controller @RequestMapping("/minio") public class MinioController { private static final Logger LOGGER = LoggerFactory.getLogger(MinioController.class); @Value("${minio.endpoint}") private String ENDPOINT; @Value("${minio.bucketName}") private String BUCKET_NAME; @Value("${minio.accessKey}") private String ACCESS_KEY; @Value("${minio.secretKey}") private String SECRET_KEY; @Operation(summary = "文件上传") @RequestMapping(value = "/upload", method = RequestMethod.POST) @ResponseBody public CommonResult upload(@RequestPart("file") MultipartFile file) { try { //创建一个MinIO的Java客户端 MinioClient minioClient =MinioClient.builder() .endpoint(ENDPOINT) .credentials(ACCESS_KEY,SECRET_KEY) .build(); boolean isExist = minioClient.bucketExists(BucketExistsArgs.builder().bucket(BUCKET_NAME).build()); if (isExist) { LOGGER.info("存储桶已经存在!"); } else { //创建存储桶并设置只读权限 minioClient.makeBucket(MakeBucketArgs.builder().bucket(BUCKET_NAME).build()); BucketPolicyConfigDto bucketPolicyConfigDto = createBucketPolicyConfigDto(BUCKET_NAME); SetBucketPolicyArgs setBucketPolicyArgs = SetBucketPolicyArgs.builder() .bucket(BUCKET_NAME) .config(JSONUtil.toJsonStr(bucketPolicyConfigDto)) .build(); minioClient.setBucketPolicy(setBucketPolicyArgs); } String filename = file.getOriginalFilename(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); // 设置存储对象名称 String objectName = sdf.format(new Date()) + "/" + filename; // 使用putObject上传一个文件到存储桶中 PutObjectArgs putObjectArgs = PutObjectArgs.builder() .bucket(BUCKET_NAME) .object(objectName) .contentType(file.getContentType()) .stream(file.getInputStream(), file.getSize(), ObjectWriteArgs.MIN_MULTIPART_SIZE).build(); minioClient.putObject(putObjectArgs); LOGGER.info("文件上传成功!"); MinioUploadDto minioUploadDto = new MinioUploadDto(); minioUploadDto.setName(filename); minioUploadDto.setUrl(ENDPOINT + "/" + BUCKET_NAME + "/" + objectName); return CommonResult.success(minioUploadDto); } catch (Exception e) { e.printStackTrace(); LOGGER.info("上传发生错误: {}!", e.getMessage()); } return CommonResult.failed(); } private BucketPolicyConfigDto createBucketPolicyConfigDto(String bucketName) { BucketPolicyConfigDto.Statement statement = BucketPolicyConfigDto.Statement.builder() .Effect("Allow") .Principal("*") .Action("s3:GetObject") .Resource("arn:aws:s3:::"+bucketName+"/*.**").build(); return BucketPolicyConfigDto.builder() .Version("2012-10-17") .Statement(CollUtil.toList(statement)) .build(); } @Operation(summary = "文件删除") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("objectName") String objectName) { try { MinioClient minioClient = MinioClient.builder() .endpoint(ENDPOINT) .credentials(ACCESS_KEY,SECRET_KEY) .build(); minioClient.removeObject(RemoveObjectArgs.builder().bucket(BUCKET_NAME).object(objectName).build()); return CommonResult.success(null); } catch (Exception e) { e.printStackTrace(); } return CommonResult.failed(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/OmsCompanyAddressController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.OmsCompanyAddress; import com.macro.mall.service.OmsCompanyAddressService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; /** * 收货地址管理Controller * Created by macro on 2018/10/18. */ @Controller @Tag(name = "OmsCompanyAddressController", description = "收货地址管理") @RequestMapping("/companyAddress") public class OmsCompanyAddressController { @Autowired private OmsCompanyAddressService companyAddressService; @Operation(summary = "获取所有收货地址") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list() { List companyAddressList = companyAddressService.list(); return CommonResult.success(companyAddressList); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/OmsOrderController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.*; import com.macro.mall.model.OmsOrder; import com.macro.mall.service.OmsOrderService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 订单管理Controller * Created by macro on 2018/10/11. */ @Controller @Tag(name = "OmsOrderController", description = "订单管理") @RequestMapping("/order") public class OmsOrderController { @Autowired private OmsOrderService orderService; @Operation(summary = "查询订单") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(OmsOrderQueryParam queryParam, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List orderList = orderService.list(queryParam, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(orderList)); } @Operation(summary = "批量发货") @RequestMapping(value = "/update/delivery", method = RequestMethod.POST) @ResponseBody public CommonResult delivery(@RequestBody List deliveryParamList) { int count = orderService.delivery(deliveryParamList); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量关闭订单") @RequestMapping(value = "/update/close", method = RequestMethod.POST) @ResponseBody public CommonResult close(@RequestParam("ids") List ids, @RequestParam String note) { int count = orderService.close(ids, note); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量删除订单") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = orderService.delete(ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取订单详情:订单信息、商品信息、操作记录") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult detail(@PathVariable Long id) { OmsOrderDetail orderDetailResult = orderService.detail(id); return CommonResult.success(orderDetailResult); } @Operation(summary = "修改收货人信息") @RequestMapping(value = "/update/receiverInfo", method = RequestMethod.POST) @ResponseBody public CommonResult updateReceiverInfo(@RequestBody OmsReceiverInfoParam receiverInfoParam) { int count = orderService.updateReceiverInfo(receiverInfoParam); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改订单费用信息") @RequestMapping(value = "/update/moneyInfo", method = RequestMethod.POST) @ResponseBody public CommonResult updateReceiverInfo(@RequestBody OmsMoneyInfoParam moneyInfoParam) { int count = orderService.updateMoneyInfo(moneyInfoParam); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "备注订单") @RequestMapping(value = "/update/note", method = RequestMethod.POST) @ResponseBody public CommonResult updateNote(@RequestParam("id") Long id, @RequestParam("note") String note, @RequestParam("status") Integer status) { int count = orderService.updateNote(id, note, status); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/OmsOrderReturnApplyController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.OmsOrderReturnApplyResult; import com.macro.mall.dto.OmsReturnApplyQueryParam; import com.macro.mall.dto.OmsUpdateStatusParam; import com.macro.mall.model.OmsOrderReturnApply; import com.macro.mall.service.OmsOrderReturnApplyService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 订单退货申请管理 * Created by macro on 2018/10/18. */ @Controller @Tag(name = "OmsOrderReturnApplyController", description = "订单退货申请管理") @RequestMapping("/returnApply") public class OmsOrderReturnApplyController { @Autowired private OmsOrderReturnApplyService returnApplyService; @Operation(summary = "分页查询退货申请") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(OmsReturnApplyQueryParam queryParam, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List returnApplyList = returnApplyService.list(queryParam, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(returnApplyList)); } @Operation(summary = "批量删除申请") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = returnApplyService.delete(ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取退货申请详情") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { OmsOrderReturnApplyResult result = returnApplyService.getItem(id); return CommonResult.success(result); } @Operation(summary = "修改申请状态") @RequestMapping(value = "/update/status/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateStatus(@PathVariable Long id, @RequestBody OmsUpdateStatusParam statusParam) { int count = returnApplyService.updateStatus(id, statusParam); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/OmsOrderReturnReasonController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.OmsOrderReturnReason; import com.macro.mall.service.OmsOrderReturnReasonService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 退货原因管理Controller * Created by macro on 2018/10/17. */ @Controller @Tag(name = "OmsOrderReturnReasonController", description = "退货原因管理") @RequestMapping("/returnReason") public class OmsOrderReturnReasonController { @Autowired private OmsOrderReturnReasonService orderReturnReasonService; @Operation(summary = "添加退货原因") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody OmsOrderReturnReason returnReason) { int count = orderReturnReasonService.create(returnReason); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改退货原因") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody OmsOrderReturnReason returnReason) { int count = orderReturnReasonService.update(id, returnReason); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量删除退货原因") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = orderReturnReasonService.delete(ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "分页查询全部退货原因") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List reasonList = orderReturnReasonService.list(pageSize, pageNum); return CommonResult.success(CommonPage.restPage(reasonList)); } @Operation(summary = "获取单个退货原因详情信息") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { OmsOrderReturnReason reason = orderReturnReasonService.getItem(id); return CommonResult.success(reason); } @Operation(summary = "修改退货原因启用状态") @RequestMapping(value = "/update/status", method = RequestMethod.POST) @ResponseBody public CommonResult updateStatus(@RequestParam(value = "status") Integer status, @RequestParam("ids") List ids) { int count = orderReturnReasonService.updateStatus(ids, status); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/OmsOrderSettingController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.OmsOrderSetting; import com.macro.mall.service.OmsOrderSettingService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; /** * 订单设置Controller * Created by macro on 2018/10/16. */ @Controller @Tag(name = "OmsOrderSettingController", description = "订单设置管理") @RequestMapping("/orderSetting") public class OmsOrderSettingController { @Autowired private OmsOrderSettingService orderSettingService; @Operation(summary = "获取指定订单设置") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { OmsOrderSetting orderSetting = orderSettingService.getItem(id); return CommonResult.success(orderSetting); } @Operation(summary = "修改指定订单设置") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody OmsOrderSetting orderSetting) { int count = orderSettingService.update(id,orderSetting); if(count>0){ return CommonResult.success(count); } return CommonResult.failed(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/OssController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.OssCallbackResult; import com.macro.mall.dto.OssPolicyResult; import com.macro.mall.service.impl.OssServiceImpl; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import jakarta.servlet.http.HttpServletRequest; /** * Oss相关操作接口 * Created by macro on 2018/4/26. */ @Controller @Tag(name = "OssController", description = "Oss管理") @RequestMapping("/aliyun/oss") public class OssController { @Autowired private OssServiceImpl ossService; @Operation(summary = "oss上传签名生成") @RequestMapping(value = "/policy", method = RequestMethod.GET) @ResponseBody public CommonResult policy() { OssPolicyResult result = ossService.policy(); return CommonResult.success(result); } @Operation(summary = "oss上传成功回调") @RequestMapping(value = "callback", method = RequestMethod.POST) @ResponseBody public CommonResult callback(HttpServletRequest request) { OssCallbackResult ossCallbackResult = ossService.callback(request); return CommonResult.success(ossCallbackResult); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/PmsBrandController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.PmsBrandParam; import com.macro.mall.model.PmsBrand; import com.macro.mall.service.PmsBrandService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 品牌功能Controller * Created by macro on 2018/4/26. */ @Controller @Tag(name = "PmsBrandController", description = "商品品牌管理") @RequestMapping("/brand") public class PmsBrandController { @Autowired private PmsBrandService brandService; @Operation(summary = "获取全部品牌列表") @RequestMapping(value = "/listAll", method = RequestMethod.GET) @ResponseBody public CommonResult> getList() { return CommonResult.success(brandService.listAllBrand()); } @Operation(summary = "添加品牌") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@Validated @RequestBody PmsBrandParam pmsBrand) { CommonResult commonResult; int count = brandService.createBrand(pmsBrand); if (count == 1) { commonResult = CommonResult.success(count); } else { commonResult = CommonResult.failed(); } return commonResult; } @Operation(summary = "更新品牌") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable("id") Long id, @Validated @RequestBody PmsBrandParam pmsBrandParam) { CommonResult commonResult; int count = brandService.updateBrand(id, pmsBrandParam); if (count == 1) { commonResult = CommonResult.success(count); } else { commonResult = CommonResult.failed(); } return commonResult; } @Operation(summary = "删除品牌") @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult delete(@PathVariable("id") Long id) { int count = brandService.deleteBrand(id); if (count == 1) { return CommonResult.success(null); } else { return CommonResult.failed(); } } @Operation(summary = "根据品牌名称分页获取品牌列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> getList(@RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) { List brandList = brandService.listBrand(keyword, pageNum, pageSize); return CommonResult.success(CommonPage.restPage(brandList)); } @Operation(summary = "根据编号查询品牌信息") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable("id") Long id) { return CommonResult.success(brandService.getBrand(id)); } @Operation(summary = "批量删除品牌") @RequestMapping(value = "/delete/batch", method = RequestMethod.POST) @ResponseBody public CommonResult deleteBatch(@RequestParam("ids") List ids) { int count = brandService.deleteBrand(ids); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "批量更新显示状态") @RequestMapping(value = "/update/showStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateShowStatus(@RequestParam("ids") List ids, @RequestParam("showStatus") Integer showStatus) { int count = brandService.updateShowStatus(ids, showStatus); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "批量更新厂家制造商状态") @RequestMapping(value = "/update/factoryStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateFactoryStatus(@RequestParam("ids") List ids, @RequestParam("factoryStatus") Integer factoryStatus) { int count = brandService.updateFactoryStatus(ids, factoryStatus); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/PmsProductAttributeCategoryController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.PmsProductAttributeCategoryItem; import com.macro.mall.model.PmsProductAttributeCategory; import com.macro.mall.service.PmsProductAttributeCategoryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 商品属性分类Controller * Created by macro on 2018/4/26. */ @Controller @Tag(name = "PmsProductAttributeCategoryController", description = "商品属性分类管理") @RequestMapping("/productAttribute/category") public class PmsProductAttributeCategoryController { @Autowired private PmsProductAttributeCategoryService productAttributeCategoryService; @Operation(summary = "添加商品属性分类") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestParam String name) { int count = productAttributeCategoryService.create(name); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "修改商品属性分类") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestParam String name) { int count = productAttributeCategoryService.update(id, name); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "删除单个商品属性分类") @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = productAttributeCategoryService.delete(id); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "获取单个商品属性分类信息") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { PmsProductAttributeCategory productAttributeCategory = productAttributeCategoryService.getItem(id); return CommonResult.success(productAttributeCategory); } @Operation(summary = "分页获取所有商品属性分类") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> getList(@RequestParam(defaultValue = "5") Integer pageSize, @RequestParam(defaultValue = "1") Integer pageNum) { List productAttributeCategoryList = productAttributeCategoryService.getList(pageSize, pageNum); return CommonResult.success(CommonPage.restPage(productAttributeCategoryList)); } @Operation(summary = "获取所有商品属性分类及其下属性") @RequestMapping(value = "/list/withAttr", method = RequestMethod.GET) @ResponseBody public CommonResult> getListWithAttr() { List productAttributeCategoryResultList = productAttributeCategoryService.getListWithAttr(); return CommonResult.success(productAttributeCategoryResultList); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/PmsProductAttributeController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.PmsProductAttributeParam; import com.macro.mall.dto.ProductAttrInfo; import com.macro.mall.model.PmsProductAttribute; import com.macro.mall.service.PmsProductAttributeService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 商品属性管理Controller * Created by macro on 2018/4/26. */ @Controller @Tag(name = "PmsProductAttributeController", description = "商品属性管理") @RequestMapping("/productAttribute") public class PmsProductAttributeController { @Autowired private PmsProductAttributeService productAttributeService; @Operation(summary = "根据分类查询属性列表或参数列表") @Parameters({@Parameter(name = "type", description = "0表示属性,1表示参数", required = true,in = ParameterIn.QUERY, schema = @Schema(type = "integer"))}) @RequestMapping(value = "/list/{cid}", method = RequestMethod.GET) @ResponseBody public CommonResult> getList(@PathVariable Long cid, @RequestParam(value = "type") Integer type, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List productAttributeList = productAttributeService.getList(cid, type, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(productAttributeList)); } @Operation(summary = "添加商品属性信息") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody PmsProductAttributeParam productAttributeParam) { int count = productAttributeService.create(productAttributeParam); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "修改商品属性信息") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody PmsProductAttributeParam productAttributeParam) { int count = productAttributeService.update(id, productAttributeParam); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "查询单个商品属性") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { PmsProductAttribute productAttribute = productAttributeService.getItem(id); return CommonResult.success(productAttribute); } @Operation(summary = "批量删除商品属性") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = productAttributeService.delete(ids); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "根据商品分类的id获取商品属性及属性分类") @RequestMapping(value = "/attrInfo/{productCategoryId}", method = RequestMethod.GET) @ResponseBody public CommonResult> getAttrInfo(@PathVariable Long productCategoryId) { List productAttrInfoList = productAttributeService.getProductAttrInfo(productCategoryId); return CommonResult.success(productAttrInfoList); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.PmsProductCategoryParam; import com.macro.mall.dto.PmsProductCategoryWithChildrenItem; import com.macro.mall.model.PmsProductCategory; import com.macro.mall.service.PmsProductCategoryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 商品分类模块Controller * Created by macro on 2018/4/26. */ @Controller @Tag(name = "PmsProductCategoryController", description = "商品分类管理") @RequestMapping("/productCategory") public class PmsProductCategoryController { @Autowired private PmsProductCategoryService productCategoryService; @Operation(summary = "添加产品分类") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@Validated @RequestBody PmsProductCategoryParam productCategoryParam) { int count = productCategoryService.create(productCategoryParam); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "修改商品分类") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @Validated @RequestBody PmsProductCategoryParam productCategoryParam) { int count = productCategoryService.update(id, productCategoryParam); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "分页查询商品分类") @RequestMapping(value = "/list/{parentId}", method = RequestMethod.GET) @ResponseBody public CommonResult> getList(@PathVariable Long parentId, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List productCategoryList = productCategoryService.getList(parentId, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(productCategoryList)); } @Operation(summary = "根据id获取商品分类") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { PmsProductCategory productCategory = productCategoryService.getItem(id); return CommonResult.success(productCategory); } @Operation(summary = "删除商品分类") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = productCategoryService.delete(id); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "修改导航栏显示状态") @RequestMapping(value = "/update/navStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateNavStatus(@RequestParam("ids") List ids, @RequestParam("navStatus") Integer navStatus) { int count = productCategoryService.updateNavStatus(ids, navStatus); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "修改显示状态") @RequestMapping(value = "/update/showStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateShowStatus(@RequestParam("ids") List ids, @RequestParam("showStatus") Integer showStatus) { int count = productCategoryService.updateShowStatus(ids, showStatus); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "查询所有一级分类及子分类") @RequestMapping(value = "/list/withChildren", method = RequestMethod.GET) @ResponseBody public CommonResult> listWithChildren() { List list = productCategoryService.listWithChildren(); return CommonResult.success(list); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/PmsProductController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.PmsProductParam; import com.macro.mall.dto.PmsProductQueryParam; import com.macro.mall.dto.PmsProductResult; import com.macro.mall.model.PmsProduct; import com.macro.mall.service.PmsProductService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 商品管理Controller * Created by macro on 2018/4/26. */ @Controller @Tag(name = "PmsProductController", description = "商品管理") @RequestMapping("/product") public class PmsProductController { @Autowired private PmsProductService productService; @Operation(summary = "创建商品") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody PmsProductParam productParam) { int count = productService.create(productParam); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "根据商品id获取商品编辑信息") @RequestMapping(value = "/updateInfo/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getUpdateInfo(@PathVariable Long id) { PmsProductResult productResult = productService.getUpdateInfo(id); return CommonResult.success(productResult); } @Operation(summary = "更新商品") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody PmsProductParam productParam) { int count = productService.update(id, productParam); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "查询商品") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> getList(PmsProductQueryParam productQueryParam, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List productList = productService.list(productQueryParam, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(productList)); } @Operation(summary = "根据商品名称或货号模糊查询") @RequestMapping(value = "/simpleList", method = RequestMethod.GET) @ResponseBody public CommonResult> getList(String keyword) { List productList = productService.list(keyword); return CommonResult.success(productList); } @Operation(summary = "批量修改审核状态") @RequestMapping(value = "/update/verifyStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateVerifyStatus(@RequestParam("ids") List ids, @RequestParam("verifyStatus") Integer verifyStatus, @RequestParam("detail") String detail) { int count = productService.updateVerifyStatus(ids, verifyStatus, detail); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "批量上下架") @RequestMapping(value = "/update/publishStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updatePublishStatus(@RequestParam("ids") List ids, @RequestParam("publishStatus") Integer publishStatus) { int count = productService.updatePublishStatus(ids, publishStatus); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "批量推荐商品") @RequestMapping(value = "/update/recommendStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateRecommendStatus(@RequestParam("ids") List ids, @RequestParam("recommendStatus") Integer recommendStatus) { int count = productService.updateRecommendStatus(ids, recommendStatus); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "批量设为新品") @RequestMapping(value = "/update/newStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateNewStatus(@RequestParam("ids") List ids, @RequestParam("newStatus") Integer newStatus) { int count = productService.updateNewStatus(ids, newStatus); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "批量修改删除状态") @RequestMapping(value = "/update/deleteStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateDeleteStatus(@RequestParam("ids") List ids, @RequestParam("deleteStatus") Integer deleteStatus) { int count = productService.updateDeleteStatus(ids, deleteStatus); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/PmsSkuStockController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.PmsSkuStock; import com.macro.mall.service.PmsSkuStockService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * sku库存Controller * Created by macro on 2018/4/27. */ @Controller @Tag(name = "PmsSkuStockController", description = "sku商品库存管理") @RequestMapping("/sku") public class PmsSkuStockController { @Autowired private PmsSkuStockService skuStockService; @Operation(summary = "根据商品编号及编号模糊搜索sku库存") @RequestMapping(value = "/{pid}", method = RequestMethod.GET) @ResponseBody public CommonResult> getList(@PathVariable Long pid, @RequestParam(value = "keyword",required = false) String keyword) { List skuStockList = skuStockService.getList(pid, keyword); return CommonResult.success(skuStockList); } @Operation(summary = "批量更新库存信息") @RequestMapping(value ="/update/{pid}",method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long pid,@RequestBody List skuStockList){ int count = skuStockService.update(pid,skuStockList); if(count>0){ return CommonResult.success(count); }else{ return CommonResult.failed(); } } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsCouponController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.SmsCouponParam; import com.macro.mall.model.SmsCoupon; import com.macro.mall.service.SmsCouponService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 优惠券管理Controller * Created by macro on 2018/8/28. */ @Controller @Tag(name = "SmsCouponController", description = "优惠券管理") @RequestMapping("/coupon") public class SmsCouponController { @Autowired private SmsCouponService couponService; @Operation(summary = "添加优惠券") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult add(@RequestBody SmsCouponParam couponParam) { int count = couponService.create(couponParam); if(count>0){ return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "删除优惠券") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = couponService.delete(id); if(count>0){ return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改优惠券") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id,@RequestBody SmsCouponParam couponParam) { int count = couponService.update(id,couponParam); if(count>0){ return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "根据优惠券名称和类型分页获取优惠券列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list( @RequestParam(value = "name",required = false) String name, @RequestParam(value = "type",required = false) Integer type, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List couponList = couponService.list(name,type,pageSize,pageNum); return CommonResult.success(CommonPage.restPage(couponList)); } @Operation(summary = "获取单个优惠券的详细信息") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { SmsCouponParam couponParam = couponService.getItem(id); return CommonResult.success(couponParam); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsCouponHistoryController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.SmsCouponHistory; import com.macro.mall.service.SmsCouponHistoryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; /** * 优惠券领取记录管理Controller * Created by macro on 2018/11/6. */ @Controller @Tag(name = "SmsCouponHistoryController", description = "优惠券领取记录管理") @RequestMapping("/couponHistory") public class SmsCouponHistoryController { @Autowired private SmsCouponHistoryService historyService; @Operation(summary = "根据优惠券id,使用状态,订单编号分页获取领取记录") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "couponId", required = false) Long couponId, @RequestParam(value = "useStatus", required = false) Integer useStatus, @RequestParam(value = "orderSn", required = false) String orderSn, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List historyList = historyService.list(couponId, useStatus, orderSn, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(historyList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsFlashPromotionController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.SmsFlashPromotion; import com.macro.mall.service.SmsFlashPromotionService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 限时购活动管理Controller * Created by macro on 2018/11/16. */ @Controller @Tag(name = "SmsFlashPromotionController", description = "限时购活动管理") @RequestMapping("/flash") public class SmsFlashPromotionController { @Autowired private SmsFlashPromotionService flashPromotionService; @Operation(summary = "添加活动") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody SmsFlashPromotion flashPromotion) { int count = flashPromotionService.create(flashPromotion); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "编辑活动信息") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public Object update(@PathVariable Long id, @RequestBody SmsFlashPromotion flashPromotion) { int count = flashPromotionService.update(id, flashPromotion); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "删除活动信息") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public Object delete(@PathVariable Long id) { int count = flashPromotionService.delete(id); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改上下线状态") @RequestMapping(value = "/update/status/{id}", method = RequestMethod.POST) @ResponseBody public Object update(@PathVariable Long id, Integer status) { int count = flashPromotionService.updateStatus(id, status); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取活动详情") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public Object getItem(@PathVariable Long id) { SmsFlashPromotion flashPromotion = flashPromotionService.getItem(id); return CommonResult.success(flashPromotion); } @Operation(summary = "根据活动名称分页查询") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public Object getItem(@RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List flashPromotionList = flashPromotionService.list(keyword, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(flashPromotionList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsFlashPromotionProductRelationController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.SmsFlashPromotionProduct; import com.macro.mall.model.SmsFlashPromotionProductRelation; import com.macro.mall.service.SmsFlashPromotionProductRelationService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 限时购和商品关系管理Controller * Created by macro on 2018/11/16. */ @Controller @Tag(name = "SmsFlashPromotionProductRelationController", description = "限时购和商品关系管理") @RequestMapping("/flashProductRelation") public class SmsFlashPromotionProductRelationController { @Autowired private SmsFlashPromotionProductRelationService relationService; @Operation(summary = "批量选择商品添加关联") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody List relationList) { int count = relationService.create(relationList); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改关联相关信息") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody SmsFlashPromotionProductRelation relation) { int count = relationService.update(id, relation); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "删除关联") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = relationService.delete(id); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取管理商品促销信息") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { SmsFlashPromotionProductRelation relation = relationService.getItem(id); return CommonResult.success(relation); } @Operation(summary = "分页查询不同场次关联及商品信息") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "flashPromotionId") Long flashPromotionId, @RequestParam(value = "flashPromotionSessionId") Long flashPromotionSessionId, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List flashPromotionProductList = relationService.list(flashPromotionId, flashPromotionSessionId, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(flashPromotionProductList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsFlashPromotionSessionController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.SmsFlashPromotionSessionDetail; import com.macro.mall.model.SmsFlashPromotionSession; import com.macro.mall.service.SmsFlashPromotionSessionService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 限时购场次管理Controller * Created by macro on 2018/11/16. */ @Controller @Tag(name = "SmsFlashPromotionSessionController", description = "限时购场次管理") @RequestMapping("/flashSession") public class SmsFlashPromotionSessionController { @Autowired private SmsFlashPromotionSessionService flashPromotionSessionService; @Operation(summary = "添加场次") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody SmsFlashPromotionSession promotionSession) { int count = flashPromotionSessionService.create(promotionSession); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改场次") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody SmsFlashPromotionSession promotionSession) { int count = flashPromotionSessionService.update(id, promotionSession); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改启用状态") @RequestMapping(value = "/update/status/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateStatus(@PathVariable Long id, Integer status) { int count = flashPromotionSessionService.updateStatus(id, status); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "删除场次") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = flashPromotionSessionService.delete(id); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取场次详情") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { SmsFlashPromotionSession promotionSession = flashPromotionSessionService.getItem(id); return CommonResult.success(promotionSession); } @Operation(summary = "获取全部场次") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list() { List promotionSessionList = flashPromotionSessionService.list(); return CommonResult.success(promotionSessionList); } @Operation(summary = "获取全部可选场次及其数量") @RequestMapping(value = "/selectList", method = RequestMethod.GET) @ResponseBody public CommonResult> selectList(Long flashPromotionId) { List promotionSessionList = flashPromotionSessionService.selectList(flashPromotionId); return CommonResult.success(promotionSessionList); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsHomeAdvertiseController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.SmsHomeAdvertise; import com.macro.mall.service.SmsHomeAdvertiseService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 首页轮播广告管理Controller * Created by macro on 2018/11/7. */ @Controller @Tag(name = "SmsHomeAdvertiseController", description = "首页轮播广告管理") @RequestMapping("/home/advertise") public class SmsHomeAdvertiseController { @Autowired private SmsHomeAdvertiseService advertiseService; @Operation(summary = "添加广告") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody SmsHomeAdvertise advertise) { int count = advertiseService.create(advertise); if (count > 0) return CommonResult.success(count); return CommonResult.failed(); } @Operation(summary = "删除广告") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = advertiseService.delete(ids); if (count > 0) return CommonResult.success(count); return CommonResult.failed(); } @Operation(summary = "修改上下线状态") @RequestMapping(value = "/update/status/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateStatus(@PathVariable Long id, Integer status) { int count = advertiseService.updateStatus(id, status); if (count > 0) return CommonResult.success(count); return CommonResult.failed(); } @Operation(summary = "获取广告详情") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { SmsHomeAdvertise advertise = advertiseService.getItem(id); return CommonResult.success(advertise); } @Operation(summary = "修改广告") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody SmsHomeAdvertise advertise) { int count = advertiseService.update(id, advertise); if (count > 0) return CommonResult.success(count); return CommonResult.failed(); } @Operation(summary = "分页查询广告") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "name", required = false) String name, @RequestParam(value = "type", required = false) Integer type, @RequestParam(value = "endTime", required = false) String endTime, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List advertiseList = advertiseService.list(name, type, endTime, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(advertiseList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsHomeBrandController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.SmsHomeBrand; import com.macro.mall.service.SmsHomeBrandService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 首页品牌管理Controller * Created by macro on 2018/11/6. */ @Controller @Tag(name = "SmsHomeBrandController", description = "首页品牌管理") @RequestMapping("/home/brand") public class SmsHomeBrandController { @Autowired private SmsHomeBrandService homeBrandService; @Operation(summary = "添加首页推荐品牌") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody List homeBrandList) { int count = homeBrandService.create(homeBrandList); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改品牌排序") @RequestMapping(value = "/update/sort/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateSort(@PathVariable Long id, Integer sort) { int count = homeBrandService.updateSort(id, sort); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量删除推荐品牌") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = homeBrandService.delete(ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量修改推荐状态") @RequestMapping(value = "/update/recommendStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateRecommendStatus(@RequestParam("ids") List ids, @RequestParam Integer recommendStatus) { int count = homeBrandService.updateRecommendStatus(ids, recommendStatus); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "分页查询推荐品牌") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "brandName", required = false) String brandName, @RequestParam(value = "recommendStatus", required = false) Integer recommendStatus, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List homeBrandList = homeBrandService.list(brandName, recommendStatus, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(homeBrandList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsHomeNewProductController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.SmsHomeNewProduct; import com.macro.mall.service.SmsHomeNewProductService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 首页新品管理Controller * Created by macro on 2018/11/6. */ @Controller @Tag(name = "SmsHomeNewProductController", description = "首页新品管理") @RequestMapping("/home/newProduct") public class SmsHomeNewProductController { @Autowired private SmsHomeNewProductService homeNewProductService; @Operation(summary = "添加首页推荐品牌") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody List homeBrandList) { int count = homeNewProductService.create(homeBrandList); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改推荐排序") @RequestMapping(value = "/update/sort/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateSort(@PathVariable Long id, Integer sort) { int count = homeNewProductService.updateSort(id, sort); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量删除推荐") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = homeNewProductService.delete(ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量修改推荐状态") @RequestMapping(value = "/update/recommendStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateRecommendStatus(@RequestParam("ids") List ids, @RequestParam Integer recommendStatus) { int count = homeNewProductService.updateRecommendStatus(ids, recommendStatus); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "分页查询推荐") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "productName", required = false) String productName, @RequestParam(value = "recommendStatus", required = false) Integer recommendStatus, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List homeBrandList = homeNewProductService.list(productName, recommendStatus, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(homeBrandList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsHomeRecommendProductController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.SmsHomeRecommendProduct; import com.macro.mall.service.SmsHomeRecommendProductService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 首页人气推荐管理Controller * Created by macro on 2018/11/6. */ @Controller @Tag(name = "SmsHomeRecommendProductController", description = "首页人气推荐管理") @RequestMapping("/home/recommendProduct") public class SmsHomeRecommendProductController { @Autowired private SmsHomeRecommendProductService recommendProductService; @Operation(summary = "添加首页推荐") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody List homeBrandList) { int count = recommendProductService.create(homeBrandList); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改推荐排序") @RequestMapping(value = "/update/sort/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateSort(@PathVariable Long id, Integer sort) { int count = recommendProductService.updateSort(id, sort); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量删除推荐") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = recommendProductService.delete(ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量修改推荐状态") @RequestMapping(value = "/update/recommendStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateRecommendStatus(@RequestParam("ids") List ids, @RequestParam Integer recommendStatus) { int count = recommendProductService.updateRecommendStatus(ids, recommendStatus); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "分页查询推荐") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "productName", required = false) String productName, @RequestParam(value = "recommendStatus", required = false) Integer recommendStatus, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List homeBrandList = recommendProductService.list(productName, recommendStatus, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(homeBrandList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/SmsHomeRecommendSubjectController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.SmsHomeRecommendSubject; import com.macro.mall.service.SmsHomeRecommendSubjectService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 首页专题推荐管理Controller * Created by macro on 2018/11/6. */ @Controller @Tag(name = "SmsHomeRecommendSubjectController", description = "首页专题推荐管理") @RequestMapping("/home/recommendSubject") public class SmsHomeRecommendSubjectController { @Autowired private SmsHomeRecommendSubjectService recommendSubjectService; @Operation(summary = "添加首页推荐专题") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody List homeBrandList) { int count = recommendSubjectService.create(homeBrandList); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改推荐排序") @RequestMapping(value = "/update/sort/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateSort(@PathVariable Long id, Integer sort) { int count = recommendSubjectService.updateSort(id, sort); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量删除推荐") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = recommendSubjectService.delete(ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量修改推荐状态") @RequestMapping(value = "/update/recommendStatus", method = RequestMethod.POST) @ResponseBody public CommonResult updateRecommendStatus(@RequestParam("ids") List ids, @RequestParam Integer recommendStatus) { int count = recommendSubjectService.updateRecommendStatus(ids, recommendStatus); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "分页查询推荐") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "subjectName", required = false) String subjectName, @RequestParam(value = "recommendStatus", required = false) Integer recommendStatus, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List homeBrandList = recommendSubjectService.list(subjectName, recommendStatus, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(homeBrandList)); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/UmsAdminController.java ================================================ package com.macro.mall.controller; import cn.dev33.satoken.stp.SaTokenInfo; import cn.hutool.core.collection.CollUtil; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.UmsAdminLoginParam; import com.macro.mall.dto.UmsAdminParam; import com.macro.mall.dto.UpdateAdminPasswordParam; import com.macro.mall.model.UmsAdmin; import com.macro.mall.model.UmsRole; import com.macro.mall.service.UmsAdminService; import com.macro.mall.service.UmsRoleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * 后台用户管理 * Created by macro on 2018/4/26. */ @Controller @Tag(name = "UmsAdminController", description = "后台用户管理") @RequestMapping("/admin") public class UmsAdminController { @Autowired private UmsAdminService adminService; @Autowired private UmsRoleService roleService; @Value("${sa-token.token-prefix}") private String tokenHead; @Operation(summary = "用户注册") @RequestMapping(value = "/register", method = RequestMethod.POST) @ResponseBody public CommonResult register(@Validated @RequestBody UmsAdminParam umsAdminParam) { UmsAdmin umsAdmin = adminService.register(umsAdminParam); if (umsAdmin == null) { return CommonResult.failed(); } return CommonResult.success(umsAdmin); } @Operation(summary = "登录以后返回token") @RequestMapping(value = "/login", method = RequestMethod.POST) @ResponseBody public CommonResult login(@Validated @RequestBody UmsAdminLoginParam umsAdminLoginParam) { SaTokenInfo saTokenInfo = adminService.login(umsAdminLoginParam.getUsername(), umsAdminLoginParam.getPassword()); if (saTokenInfo == null) { return CommonResult.validateFailed("用户名或密码错误"); } Map tokenMap = new HashMap<>(); tokenMap.put("token", saTokenInfo.getTokenValue() ); tokenMap.put("tokenHead", tokenHead+" "); return CommonResult.success(tokenMap); } @Operation(summary = "获取当前登录用户信息") @RequestMapping(value = "/info", method = RequestMethod.GET) @ResponseBody public CommonResult getAdminInfo() { UmsAdmin umsAdmin = adminService.getCurrentAdmin(); Map data = new HashMap<>(); data.put("username", umsAdmin.getUsername()); data.put("menus", roleService.getMenuList(umsAdmin.getId())); data.put("icon", umsAdmin.getIcon()); List roleList = adminService.getRoleList(umsAdmin.getId()); if(CollUtil.isNotEmpty(roleList)){ List roles = roleList.stream().map(UmsRole::getName).collect(Collectors.toList()); data.put("roles",roles); } return CommonResult.success(data); } @Operation(summary = "登出功能") @RequestMapping(value = "/logout", method = RequestMethod.POST) @ResponseBody public CommonResult logout() { adminService.logout(); return CommonResult.success(null); } @Operation(summary = "根据用户名或姓名分页获取用户列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List adminList = adminService.list(keyword, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(adminList)); } @Operation(summary = "获取指定用户信息") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { UmsAdmin admin = adminService.getItem(id); return CommonResult.success(admin); } @Operation(summary = "修改指定用户信息") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody UmsAdmin admin) { int count = adminService.update(id, admin); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改指定用户密码") @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) @ResponseBody public CommonResult updatePassword(@RequestBody UpdateAdminPasswordParam updatePasswordParam) { int status = adminService.updatePassword(updatePasswordParam); if (status > 0) { return CommonResult.success(status); } else if (status == -1) { return CommonResult.failed("提交参数不合法"); } else if (status == -2) { return CommonResult.failed("找不到该用户"); } else if (status == -3) { return CommonResult.failed("旧密码错误"); } else { return CommonResult.failed(); } } @Operation(summary = "删除指定用户信息") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = adminService.delete(id); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改帐号状态") @RequestMapping(value = "/updateStatus/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateStatus(@PathVariable Long id,@RequestParam(value = "status") Integer status) { UmsAdmin umsAdmin = new UmsAdmin(); umsAdmin.setStatus(status); int count = adminService.update(id,umsAdmin); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "给用户分配角色") @RequestMapping(value = "/role/update", method = RequestMethod.POST) @ResponseBody public CommonResult updateRole(@RequestParam("adminId") Long adminId, @RequestParam("roleIds") List roleIds) { int count = adminService.updateRole(adminId, roleIds); if (count >= 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取指定用户的角色") @RequestMapping(value = "/role/{adminId}", method = RequestMethod.GET) @ResponseBody public CommonResult> getRoleList(@PathVariable Long adminId) { List roleList = adminService.getRoleList(adminId); return CommonResult.success(roleList); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/UmsMemberLevelController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.UmsMemberLevel; import com.macro.mall.service.UmsMemberLevelService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; /** * 会员等级管理Controller * Created by macro on 2018/4/26. */ @Controller @Tag(name = "UmsMemberLevelController", description = "会员等级管理") @RequestMapping("/memberLevel") public class UmsMemberLevelController { @Autowired private UmsMemberLevelService memberLevelService; @RequestMapping(value = "/list", method = RequestMethod.GET) @Operation(summary = "查询所有会员等级") @ResponseBody public CommonResult> list(@RequestParam("defaultStatus") Integer defaultStatus) { List memberLevelList = memberLevelService.list(defaultStatus); return CommonResult.success(memberLevelList); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/UmsMenuController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.dto.UmsMenuNode; import com.macro.mall.model.UmsMenu; import com.macro.mall.service.UmsMenuService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 后台菜单管理Controller * Created by macro on 2020/2/4. */ @Controller @Tag(name = "UmsMenuController", description = "后台菜单管理") @RequestMapping("/menu") public class UmsMenuController { @Autowired private UmsMenuService menuService; @Operation(summary = "添加后台菜单") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody UmsMenu umsMenu) { int count = menuService.create(umsMenu); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "修改后台菜单") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody UmsMenu umsMenu) { int count = menuService.update(id, umsMenu); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "根据ID获取菜单详情") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { UmsMenu umsMenu = menuService.getItem(id); return CommonResult.success(umsMenu); } @Operation(summary = "根据ID删除后台菜单") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = menuService.delete(id); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "分页查询后台菜单") @RequestMapping(value = "/list/{parentId}", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@PathVariable Long parentId, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List menuList = menuService.list(parentId, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(menuList)); } @Operation(summary = "树形结构返回所有菜单列表") @RequestMapping(value = "/treeList", method = RequestMethod.GET) @ResponseBody public CommonResult> treeList() { List list = menuService.treeList(); return CommonResult.success(list); } @Operation(summary = "修改菜单显示状态") @RequestMapping(value = "/updateHidden/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateHidden(@PathVariable Long id, @RequestParam("hidden") Integer hidden) { int count = menuService.updateHidden(id, hidden); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/UmsResourceCategoryController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.UmsResourceCategory; import com.macro.mall.service.UmsResourceCategoryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 后台资源分类管理Controller * Created by macro on 2020/2/5. */ @Controller @Tag(name = "UmsResourceCategoryController", description = "后台资源分类管理") @RequestMapping("/resourceCategory") public class UmsResourceCategoryController { @Autowired private UmsResourceCategoryService resourceCategoryService; @Operation(summary = "查询所有后台资源分类") @RequestMapping(value = "/listAll", method = RequestMethod.GET) @ResponseBody public CommonResult> listAll() { List resourceList = resourceCategoryService.listAll(); return CommonResult.success(resourceList); } @Operation(summary = "添加后台资源分类") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody UmsResourceCategory umsResourceCategory) { int count = resourceCategoryService.create(umsResourceCategory); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "修改后台资源分类") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody UmsResourceCategory umsResourceCategory) { int count = resourceCategoryService.update(id, umsResourceCategory); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "根据ID删除后台资源") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = resourceCategoryService.delete(id); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/UmsResourceController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.UmsResource; import com.macro.mall.service.UmsResourceService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 后台资源管理Controller * Created by macro on 2020/2/4. */ @Controller @Tag(name = "UmsResourceController", description = "后台资源管理") @RequestMapping("/resource") public class UmsResourceController { @Autowired private UmsResourceService resourceService; @Operation(summary = "添加后台资源") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody UmsResource umsResource) { int count = resourceService.create(umsResource); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "修改后台资源") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody UmsResource umsResource) { int count = resourceService.update(id, umsResource); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "根据ID获取资源详情") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { UmsResource umsResource = resourceService.getItem(id); return CommonResult.success(umsResource); } @Operation(summary = "根据ID删除后台资源") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = resourceService.delete(id); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "分页模糊查询后台资源") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(required = false) Long categoryId, @RequestParam(required = false) String nameKeyword, @RequestParam(required = false) String urlKeyword, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List resourceList = resourceService.list(categoryId,nameKeyword, urlKeyword, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(resourceList)); } @Operation(summary = "查询所有后台资源") @RequestMapping(value = "/listAll", method = RequestMethod.GET) @ResponseBody public CommonResult> listAll() { List resourceList = resourceService.listAll(); return CommonResult.success(resourceList); } @Operation(summary = "初始化路径和资源的关联数据") @RequestMapping(value = "/initPathResourceMap", method = RequestMethod.GET) @ResponseBody public CommonResult initPathResourceMap() { Map pathResourceMap = resourceService.initPathResourceMap(); return CommonResult.success(pathResourceMap); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/controller/UmsRoleController.java ================================================ package com.macro.mall.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.*; import com.macro.mall.service.UmsRoleService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 后台用户角色管理 * Created by macro on 2018/9/30. */ @Controller @Tag(name = "UmsRoleController", description = "后台用户角色管理") @RequestMapping("/role") public class UmsRoleController { @Autowired private UmsRoleService roleService; @Operation(summary = "添加角色") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody UmsRole role) { int count = roleService.create(role); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改角色") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody UmsRole role) { int count = roleService.update(id, role); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "批量删除角色") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = roleService.delete(ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取所有角色") @RequestMapping(value = "/listAll", method = RequestMethod.GET) @ResponseBody public CommonResult> listAll() { List roleList = roleService.list(); return CommonResult.success(roleList); } @Operation(summary = "根据角色名称分页获取角色列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List roleList = roleService.list(keyword, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(roleList)); } @Operation(summary = "修改角色状态") @RequestMapping(value = "/updateStatus/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateStatus(@PathVariable Long id, @RequestParam(value = "status") Integer status) { UmsRole umsRole = new UmsRole(); umsRole.setStatus(status); int count = roleService.update(id, umsRole); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取角色相关菜单") @RequestMapping(value = "/listMenu/{roleId}", method = RequestMethod.GET) @ResponseBody public CommonResult> listMenu(@PathVariable Long roleId) { List roleList = roleService.listMenu(roleId); return CommonResult.success(roleList); } @Operation(summary = "获取角色相关资源") @RequestMapping(value = "/listResource/{roleId}", method = RequestMethod.GET) @ResponseBody public CommonResult> listResource(@PathVariable Long roleId) { List roleList = roleService.listResource(roleId); return CommonResult.success(roleList); } @Operation(summary = "给角色分配菜单") @RequestMapping(value = "/allocMenu", method = RequestMethod.POST) @ResponseBody public CommonResult allocMenu(@RequestParam Long roleId, @RequestParam List menuIds) { int count = roleService.allocMenu(roleId, menuIds); return CommonResult.success(count); } @Operation(summary = "给角色分配资源") @RequestMapping(value = "/allocResource", method = RequestMethod.POST) @ResponseBody public CommonResult allocResource(@RequestParam Long roleId, @RequestParam List resourceIds) { int count = roleService.allocResource(roleId, resourceIds); return CommonResult.success(count); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/CmsPrefrenceAreaProductRelationDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.CmsPrefrenceAreaProductRelation; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义优选和商品关系操作Dao * Created by macro on 2018/4/26. */ public interface CmsPrefrenceAreaProductRelationDao { /** * 批量创建 */ int insertList(@Param("list") List prefrenceAreaProductRelationList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/CmsSubjectProductRelationDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.CmsSubjectProductRelation; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义商品和专题关系操作Dao * Created by macro on 2018/4/26. */ public interface CmsSubjectProductRelationDao { /** * 批量创建 */ int insertList(@Param("list") List subjectProductRelationList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/OmsOrderDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.dto.OmsOrderDeliveryParam; import com.macro.mall.dto.OmsOrderDetail; import com.macro.mall.dto.OmsOrderQueryParam; import com.macro.mall.model.OmsOrder; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 订单自定义查询Dao * Created by macro on 2018/10/12. */ public interface OmsOrderDao { /** * 条件查询订单 */ List getList(@Param("queryParam") OmsOrderQueryParam queryParam); /** * 批量发货 */ int delivery(@Param("list") List deliveryParamList); /** * 获取订单详情 */ OmsOrderDetail getDetail(@Param("id") Long id); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/OmsOrderOperateHistoryDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.OmsOrderOperateHistory; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 订单操作记录自定义Dao * Created by macro on 2018/10/12. */ public interface OmsOrderOperateHistoryDao { /** * 批量创建 */ int insertList(@Param("list") List orderOperateHistoryList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/OmsOrderReturnApplyDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.dto.OmsOrderReturnApplyResult; import com.macro.mall.dto.OmsReturnApplyQueryParam; import com.macro.mall.model.OmsOrderReturnApply; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 订单退货申请自定义Dao * Created by macro on 2018/10/18. */ public interface OmsOrderReturnApplyDao { /** * 查询申请列表 */ List getList(@Param("queryParam") OmsReturnApplyQueryParam queryParam); /** * 获取申请详情 */ OmsOrderReturnApplyResult getDetail(@Param("id")Long id); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsMemberPriceDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.PmsMemberPrice; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义会员价格Dao * Created by macro on 2018/4/26. */ public interface PmsMemberPriceDao { /** * 批量创建 */ int insertList(@Param("list") List memberPriceList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductAttributeCategoryDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.dto.PmsProductAttributeCategoryItem; import java.util.List; /** * 自定义商品属性分类Dao * Created by macro on 2018/5/24. */ public interface PmsProductAttributeCategoryDao { /** * 获取包含属性的商品属性分类 */ List getListWithAttr(); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductAttributeDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.dto.ProductAttrInfo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义商品属性Dao * Created by macro on 2018/5/23. */ public interface PmsProductAttributeDao { /** * 获取商品属性信息 */ List getProductAttrInfo(@Param("id") Long productCategoryId); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductAttributeValueDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.PmsProductAttributeValue; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 商品参数,商品自定义规格属性Dao * Created by macro on 2018/4/26. */ public interface PmsProductAttributeValueDao { /** * 批量创建 */ int insertList(@Param("list")List productAttributeValueList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductCategoryAttributeRelationDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.PmsProductCategoryAttributeRelation; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义商品分类和属性关系Dao * Created by macro on 2018/5/23. */ public interface PmsProductCategoryAttributeRelationDao { /** * 批量创建 */ int insertList(@Param("list") List productCategoryAttributeRelationList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductCategoryDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.dto.PmsProductCategoryWithChildrenItem; import java.util.List; /** * 商品分类自定义Dao * Created by macro on 2018/5/25. */ public interface PmsProductCategoryDao { /** * 获取商品分类及其子分类 */ List listWithChildren(); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.dto.PmsProductResult; import org.apache.ibatis.annotations.Param; /** * 自定义商品管理Dao * Created by macro on 2018/4/26. */ public interface PmsProductDao { /** * 获取商品编辑信息 */ PmsProductResult getUpdateInfo(@Param("id") Long id); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductFullReductionDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.PmsProductFullReduction; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义商品满减Dao * Created by macro on 2018/4/26. */ public interface PmsProductFullReductionDao { /** * 批量创建 */ int insertList(@Param("list") List productFullReductionList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductLadderDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.PmsProductLadder; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义会员阶梯价格Dao * Created by macro on 2018/4/26. */ public interface PmsProductLadderDao { /** * 批量创建 */ int insertList(@Param("list") List productLadderList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsProductVertifyRecordDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.PmsProductVertifyRecord; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义商品审核日志管理Dao * Created by macro on 2018/4/27. */ public interface PmsProductVertifyRecordDao { /** * 批量创建 */ int insertList(@Param("list") List list); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/PmsSkuStockDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.PmsSkuStock; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义商品SKU管理Dao * Created by macro on 2018/4/26. */ public interface PmsSkuStockDao { /** * 批量插入操作 */ int insertList(@Param("list")List skuStockList); /** * 批量插入或替换操作 */ int replaceList(@Param("list")List skuStockList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/SmsCouponDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.dto.SmsCouponParam; import org.apache.ibatis.annotations.Param; /** * 自定义优惠券管理Dao * Created by macro on 2018/8/29. */ public interface SmsCouponDao { /** * 获取优惠券详情包括绑定关系 */ SmsCouponParam getItem(@Param("id") Long id); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/SmsCouponProductCategoryRelationDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.SmsCouponProductCategoryRelation; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义优惠券和商品分类关系管理Dao * Created by macro on 2018/8/28. */ public interface SmsCouponProductCategoryRelationDao { /** * 批量创建 */ int insertList(@Param("list")List productCategoryRelationList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/SmsCouponProductRelationDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.SmsCouponProductRelation; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义优惠券和商品关系关系Dao * Created by macro on 2018/8/28. */ public interface SmsCouponProductRelationDao { /** * 批量创建 */ int insertList(@Param("list")List productRelationList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/SmsFlashPromotionProductRelationDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.dto.SmsFlashPromotionProduct; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义限时购商品关系管理Dao * Created by macro on 2018/11/16. */ public interface SmsFlashPromotionProductRelationDao { /** * 获取限时购及相关商品信息 */ List getList(@Param("flashPromotionId") Long flashPromotionId, @Param("flashPromotionSessionId") Long flashPromotionSessionId); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/UmsAdminRoleRelationDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.UmsAdminRoleRelation; import com.macro.mall.model.UmsResource; import com.macro.mall.model.UmsRole; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义后台用户与角色管理Dao * Created by macro on 2018/10/8. */ public interface UmsAdminRoleRelationDao { /** * 批量插入用户角色关系 */ int insertList(@Param("list") List adminRoleRelationList); /** * 获取用于所有角色 */ List getRoleList(@Param("adminId") Long adminId); /** * 获取用户所有可访问资源 */ List getResourceList(@Param("adminId") Long adminId); /** * 获取资源相关用户ID列表 */ List getAdminIdList(@Param("resourceId") Long resourceId); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dao/UmsRoleDao.java ================================================ package com.macro.mall.dao; import com.macro.mall.model.UmsMenu; import com.macro.mall.model.UmsResource; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 自定义后台角色管理Dao * Created by macro on 2020/2/2. */ public interface UmsRoleDao { /** * 根据后台用户ID获取菜单 */ List getMenuList(@Param("adminId") Long adminId); /** * 根据角色ID获取菜单 */ List getMenuListByRoleId(@Param("roleId") Long roleId); /** * 根据角色ID获取资源 */ List getResourceListByRoleId(@Param("roleId") Long roleId); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/BucketPolicyConfigDto.java ================================================ package com.macro.mall.dto; import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.List; /** * Minio Bucket访问策略配置 * Created by macro on 2020/8/11. */ @Data @EqualsAndHashCode(callSuper = false) @Builder public class BucketPolicyConfigDto { private String Version; private List Statement; @Data @EqualsAndHashCode(callSuper = false) @Builder public static class Statement { private String Effect; private String Principal; private String Action; private String Resource; } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/MinioUploadDto.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; /** * 文件上传返回结果 * Created by macro on 2019/12/25. */ @Data @EqualsAndHashCode(callSuper = false) public class MinioUploadDto { @Schema(title = "文件访问URL") private String url; @Schema(title = "文件名称") private String name; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OmsMoneyInfoParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import java.math.BigDecimal; /** * 修改订单费用信息参数 * Created by macro on 2018/10/29. */ @Getter @Setter public class OmsMoneyInfoParam { @Schema(title = "订单ID") private Long orderId; @Schema(title = "运费金额") private BigDecimal freightAmount; @Schema(title = "管理员后台调整订单使用的折扣金额") private BigDecimal discountAmount; @Schema(title = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单") private Integer status; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OmsOrderDeliveryParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 订单发货参数 * Created by macro on 2018/10/12. */ @Getter @Setter public class OmsOrderDeliveryParam { @Schema(title = "订单id") private Long orderId; @Schema(title = "物流公司") private String deliveryCompany; @Schema(title = "物流单号") private String deliverySn; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OmsOrderDetail.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.OmsOrder; import com.macro.mall.model.OmsOrderItem; import com.macro.mall.model.OmsOrderOperateHistory; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import java.util.List; /** * 订单详情信息 * Created by macro on 2018/10/11. */ public class OmsOrderDetail extends OmsOrder { @Getter @Setter @Schema(title = "订单商品列表") private List orderItemList; @Getter @Setter @Schema(title = "订单操作记录列表") private List historyList; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OmsOrderQueryParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 订单查询参数 * Created by macro on 2018/10/11. */ @Getter @Setter public class OmsOrderQueryParam { @Schema(title = "订单编号") private String orderSn; @Schema(title = "收货人姓名/号码") private String receiverKeyword; @Schema(title = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单") private Integer status; @Schema(title = "订单类型:0->正常订单;1->秒杀订单") private Integer orderType; @Schema(title = "订单来源:0->PC订单;1->app订单") private Integer sourceType; @Schema(title = "订单提交时间") private String createTime; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OmsOrderReturnApplyResult.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.OmsCompanyAddress; import com.macro.mall.model.OmsOrderReturnApply; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 申请信息封装 * Created by macro on 2018/10/18. */ public class OmsOrderReturnApplyResult extends OmsOrderReturnApply { @Getter @Setter @Schema(title = "公司收货地址") private OmsCompanyAddress companyAddress; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OmsReceiverInfoParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 订单修改收货人信息参数 * Created by macro on 2018/10/29. */ @Getter @Setter public class OmsReceiverInfoParam { @Schema(title = "订单ID") private Long orderId; @Schema(title = "收货人姓名") private String receiverName; @Schema(title = "收货人电话") private String receiverPhone; @Schema(title = "收货人邮编") private String receiverPostCode; @Schema(title = "详细地址") private String receiverDetailAddress; @Schema(title = "省份/直辖市") private String receiverProvince; @Schema(title = "城市") private String receiverCity; @Schema(title = "区") private String receiverRegion; @Schema(title = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单") private Integer status; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OmsReturnApplyQueryParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 订单退货申请查询参数 * Created by macro on 2018/10/18. */ @Getter @Setter public class OmsReturnApplyQueryParam { @Schema(title = "服务单号") private Long id; @Schema(title = "收货人姓名/号码") private String receiverKeyword; @Schema(title = "申请状态:0->待处理;1->退货中;2->已完成;3->已拒绝") private Integer status; @Schema(title = "申请时间") private String createTime; @Schema(title = "处理人员") private String handleMan; @Schema(title = "处理时间") private String handleTime; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OmsUpdateStatusParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import java.math.BigDecimal; /** * 确认收货提交参数 * Created by macro on 2018/10/18. */ @Getter @Setter public class OmsUpdateStatusParam { @Schema(title = "服务单号") private Long id; @Schema(title = "收货地址关联id") private Long companyAddressId; @Schema(title = "确认退款金额") private BigDecimal returnAmount; @Schema(title = "处理备注") private String handleNote; @Schema(title = "处理人") private String handleMan; @Schema(title = "收货备注") private String receiveNote; @Schema(title = "收货人") private String receiveMan; @Schema(title = "申请状态:1->退货中;2->已完成;3->已拒绝") private Integer status; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OssCallbackParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; /** * oss上传成功后的回调参数 * Created by macro on 2018/5/17. */ @Data @EqualsAndHashCode(callSuper = false) public class OssCallbackParam { @Schema(title = "请求的回调地址") private String callbackUrl; @Schema(title = "回调是传入request中的参数") private String callbackBody; @Schema(title = "回调时传入参数的格式,比如表单提交形式") private String callbackBodyType; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OssCallbackResult.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; /** * oss上传文件的回调结果 * Created by macro on 2018/5/17. */ @Data @EqualsAndHashCode(callSuper = false) public class OssCallbackResult { @Schema(title = "文件名称") private String filename; @Schema(title = "文件大小") private String size; @Schema(title = "文件的mimeType") private String mimeType; @Schema(title = "图片文件的宽") private String width; @Schema(title = "图片文件的高") private String height; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/OssPolicyResult.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; /** * 获取OSS上传文件授权返回结果 * Created by macro on 2018/5/17. */ @Data @EqualsAndHashCode(callSuper = false) public class OssPolicyResult { @Schema(title = "访问身份验证中用到用户标识") private String accessKeyId; @Schema(title = "用户表单上传的策略,经过base64编码过的字符串") private String policy; @Schema(title = "对policy签名后的字符串") private String signature; @Schema(title = "上传文件夹路径前缀") private String dir; @Schema(title = "oss对外服务的访问域名") private String host; @Schema(title = "上传成功后的回调设置") private String callback; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/PmsBrandParam.java ================================================ package com.macro.mall.dto; import com.macro.mall.validator.FlagValidator; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotEmpty; /** * 品牌传递参数 * Created by macro on 2018/4/26. */ @Data @EqualsAndHashCode(callSuper = false) public class PmsBrandParam { @NotEmpty @Schema(title = "品牌名称",required = true) private String name; @Schema(title = "品牌首字母") private String firstLetter; @Min(value = 0) @Schema(title = "排序字段") private Integer sort; @FlagValidator(value = {"0","1"}, message = "厂家状态不正确") @Schema(title = "是否为厂家制造商") private Integer factoryStatus; @FlagValidator(value = {"0","1"}, message = "显示状态不正确") @Schema(title = "是否进行显示") private Integer showStatus; @NotEmpty @Schema(title = "品牌logo",required = true) private String logo; @Schema(title = "品牌大图") private String bigPic; @Schema(title = "品牌故事") private String brandStory; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/PmsProductAttributeCategoryItem.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.PmsProductAttribute; import com.macro.mall.model.PmsProductAttributeCategory; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.Getter; import lombok.Setter; import java.util.List; /** * 包含有分类下属性的dto * Created by macro on 2018/5/24. */ public class PmsProductAttributeCategoryItem extends PmsProductAttributeCategory { @Getter @Setter @Schema(title = "商品属性列表") private List productAttributeList; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/PmsProductAttributeParam.java ================================================ package com.macro.mall.dto; import com.macro.mall.validator.FlagValidator; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.NotEmpty; /** * 商品属性参数 * Created by macro on 2018/4/26. */ @Data @EqualsAndHashCode(callSuper = false) public class PmsProductAttributeParam { @NotEmpty @Schema(title = "属性分类ID") private Long productAttributeCategoryId; @NotEmpty @Schema(title = "属性名称") private String name; @FlagValidator({"0","1","2"}) @Schema(title = "属性选择类型:0->唯一;1->单选;2->多选") private Integer selectType; @FlagValidator({"0","1"}) @Schema(title = "属性录入方式:0->手工录入;1->从列表中选取") private Integer inputType; @Schema(title = "可选值列表,以逗号隔开") private String inputList; private Integer sort; @FlagValidator({"0","1"}) @Schema(title = "分类筛选样式:0->普通;1->颜色") private Integer filterType; @FlagValidator({"0","1","2"}) @Schema(title = "检索类型;0->不需要进行检索;1->关键字检索;2->范围检索") private Integer searchType; @FlagValidator({"0","1"}) @Schema(title = "相同属性产品是否关联;0->不关联;1->关联") private Integer relatedStatus; @FlagValidator({"0","1"}) @Schema(title = "是否支持手动新增;0->不支持;1->支持") private Integer handAddStatus; @FlagValidator({"0","1"}) @Schema(title = "属性的类型;0->规格;1->参数") private Integer type; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/PmsProductCategoryParam.java ================================================ package com.macro.mall.dto; import com.macro.mall.validator.FlagValidator; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotEmpty; import java.util.List; /** * 添加更新产品分类的参数 * Created by macro on 2018/4/26. */ @Data @EqualsAndHashCode(callSuper = false) public class PmsProductCategoryParam { @Schema(title = "父分类的编号") private Long parentId; @NotEmpty @Schema(title = "商品分类名称",required = true) private String name; @Schema(title = "分类单位") private String productUnit; @FlagValidator(value = {"0","1"},message = "状态只能为0或1") @Schema(title = "是否在导航栏显示") private Integer navStatus; @FlagValidator(value = {"0","1"},message = "状态只能为0或1") @Schema(title = "是否进行显示") private Integer showStatus; @Min(value = 0) @Schema(title = "排序") private Integer sort; @Schema(title = "图标") private String icon; @Schema(title = "关键字") private String keywords; @Schema(title = "描述") private String description; @Schema(title = "产品相关筛选属性集合") private List productAttributeIdList; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/PmsProductCategoryWithChildrenItem.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.PmsProductCategory; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import java.util.List; /** * Created by macro on 2018/5/25. */ public class PmsProductCategoryWithChildrenItem extends PmsProductCategory { @Getter @Setter @Schema(title = "子级分类") private List children; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/PmsProductParam.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.*; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.List; /** * 创建和修改商品时使用的参数 * Created by macro on 2018/4/26. */ @Data @EqualsAndHashCode(callSuper = false) public class PmsProductParam extends PmsProduct{ @Schema(title = "商品阶梯价格设置") private List productLadderList; @Schema(title = "商品满减价格设置") private List productFullReductionList; @Schema(title = "商品会员价格设置") private List memberPriceList; @Schema(title = "商品的sku库存信息") private List skuStockList; @Schema(title = "商品参数及自定义规格属性") private List productAttributeValueList; @Schema(title = "专题和商品关系") private List subjectProductRelationList; @Schema(title = "优选专区和商品的关系") private List prefrenceAreaProductRelationList; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/PmsProductQueryParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; /** * 产品查询参数 * Created by macro on 2018/4/27. */ @Data @EqualsAndHashCode(callSuper = false) public class PmsProductQueryParam { @Schema(title = "上架状态") private Integer publishStatus; @Schema(title = "审核状态") private Integer verifyStatus; @Schema(title = "商品名称模糊关键字") private String keyword; @Schema(title = "商品货号") private String productSn; @Schema(title = "商品分类编号") private Long productCategoryId; @Schema(title = "商品品牌编号") private Long brandId; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/PmsProductResult.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 查询单个产品进行修改时返回的结果 * Created by macro on 2018/4/26. */ public class PmsProductResult extends PmsProductParam { @Getter @Setter @Schema(title = "商品所选分类的父id") private Long cateParentId; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/ProductAttrInfo.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; /** * 商品分类对应属性信息 * Created by macro on 2018/5/23. */ @Data @EqualsAndHashCode(callSuper = false) public class ProductAttrInfo { @Schema(title = "商品属性ID") private Long attributeId; @Schema(title = "商品属性分类ID") private Long attributeCategoryId; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/SmsCouponParam.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.SmsCoupon; import com.macro.mall.model.SmsCouponProductCategoryRelation; import com.macro.mall.model.SmsCouponProductRelation; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import java.util.List; /** * 优惠券信息封装,包括绑定商品和绑定分类 * Created by macro on 2018/8/28. */ public class SmsCouponParam extends SmsCoupon { @Getter @Setter @Schema(title = "优惠券绑定的商品") private List productRelationList; @Getter @Setter @Schema(title = "优惠券绑定的商品分类") private List productCategoryRelationList; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/SmsFlashPromotionProduct.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.SmsFlashPromotionProductRelation; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 限时购及商品信息封装 * Created by macro on 2018/11/16. */ public class SmsFlashPromotionProduct extends SmsFlashPromotionProductRelation{ @Getter @Setter @Schema(title = "关联商品") private PmsProduct product; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/SmsFlashPromotionSessionDetail.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.SmsFlashPromotionSession; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 包含商品数量的场次信息 * Created by macro on 2018/11/19. */ public class SmsFlashPromotionSessionDetail extends SmsFlashPromotionSession { @Setter @Getter @Schema(title = "商品数量") private Long productCount; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/UmsAdminLoginParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.NotEmpty; /** * 用户登录参数 * Created by macro on 2018/4/26. */ @Data @EqualsAndHashCode(callSuper = false) public class UmsAdminLoginParam { @NotEmpty @Schema(title = "用户名", required = true) private String username; @NotEmpty @Schema(title = "密码", required = true) private String password; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/UmsAdminParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import jakarta.validation.constraints.Email; import jakarta.validation.constraints.NotEmpty; /** * 用户登录参数 * Created by macro on 2018/4/26. */ @Getter @Setter public class UmsAdminParam { @Schema(title = "用户名", required = true) @NotEmpty private String username; @Schema(title = "密码", required = true) @NotEmpty private String password; @Schema(title = "用户头像") private String icon; @Schema(title = "邮箱") @Email private String email; @Schema(title = "用户昵称") private String nickName; @Schema(title = "备注") private String note; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/UmsMenuNode.java ================================================ package com.macro.mall.dto; import com.macro.mall.model.UmsMenu; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import java.util.List; /** * 后台菜单节点封装 * Created by macro on 2020/2/4. */ @Getter @Setter public class UmsMenuNode extends UmsMenu { @Schema(title = "子级菜单") private List children; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/dto/UpdateAdminPasswordParam.java ================================================ package com.macro.mall.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import jakarta.validation.constraints.NotEmpty; /** * 修改用户名密码参数 * Created by macro on 2019/10/9. */ @Getter @Setter public class UpdateAdminPasswordParam { @NotEmpty @Schema(title = "用户名", required = true) private String username; @NotEmpty @Schema(title = "旧密码", required = true) private String oldPassword; @NotEmpty @Schema(title = "新密码", required = true) private String newPassword; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/CmsPrefrenceAreaService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.CmsPrefrenceArea; import java.util.List; /** * 商品优选管理Service * Created by macro on 2018/6/1. */ public interface CmsPrefrenceAreaService { /** * 获取所有优选专区 */ List listAll(); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/CmsSubjectService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.CmsSubject; import java.util.List; /** * 商品专题管理Service * Created by macro on 2018/6/1. */ public interface CmsSubjectService { /** * 查询所有专题 */ List listAll(); /** * 分页查询专题 */ List list(String keyword, Integer pageNum, Integer pageSize); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/OmsCompanyAddressService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.OmsCompanyAddress; import java.util.List; /** * 收货地址管Service * Created by macro on 2018/10/18. */ public interface OmsCompanyAddressService { /** * 获取全部收货地址 */ List list(); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/OmsOrderReturnApplyService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.OmsOrderReturnApplyResult; import com.macro.mall.dto.OmsReturnApplyQueryParam; import com.macro.mall.dto.OmsUpdateStatusParam; import com.macro.mall.model.OmsOrderReturnApply; import java.util.List; /** * 退货申请管理Service * Created by macro on 2018/10/18. */ public interface OmsOrderReturnApplyService { /** * 分页查询申请 */ List list(OmsReturnApplyQueryParam queryParam, Integer pageSize, Integer pageNum); /** * 批量删除申请 */ int delete(List ids); /** * 修改申请状态 */ int updateStatus(Long id, OmsUpdateStatusParam statusParam); /** * 获取指定申请详情 */ OmsOrderReturnApplyResult getItem(Long id); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/OmsOrderReturnReasonService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.OmsOrderReturnReason; import java.util.List; /** * 订单原因管理Service * Created by macro on 2018/10/17. */ public interface OmsOrderReturnReasonService { /** * 添加订单原因 */ int create(OmsOrderReturnReason returnReason); /** * 修改退货原因 */ int update(Long id, OmsOrderReturnReason returnReason); /** * 批量删除退货原因 */ int delete(List ids); /** * 分页获取退货原因 */ List list(Integer pageSize, Integer pageNum); /** * 批量修改退货原因状态 */ int updateStatus(List ids, Integer status); /** * 获取单个退货原因详情信息 */ OmsOrderReturnReason getItem(Long id); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/OmsOrderService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.*; import com.macro.mall.model.OmsOrder; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 订单管理Service * Created by macro on 2018/10/11. */ public interface OmsOrderService { /** * 订单查询 */ List list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum); /** * 批量发货 */ @Transactional int delivery(List deliveryParamList); /** * 批量关闭订单 */ @Transactional int close(List ids, String note); /** * 批量删除订单 */ int delete(List ids); /** * 获取指定订单详情 */ OmsOrderDetail detail(Long id); /** * 修改订单收货人信息 */ @Transactional int updateReceiverInfo(OmsReceiverInfoParam receiverInfoParam); /** * 修改订单费用信息 */ @Transactional int updateMoneyInfo(OmsMoneyInfoParam moneyInfoParam); /** * 修改订单备注 */ @Transactional int updateNote(Long id, String note, Integer status); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/OmsOrderSettingService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.OmsOrderSetting; /** * 订单设置Service * Created by macro on 2018/10/16. */ public interface OmsOrderSettingService { /** * 获取指定订单设置 */ OmsOrderSetting getItem(Long id); /** * 修改指定订单设置 */ int update(Long id, OmsOrderSetting orderSetting); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/OssService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.OssCallbackResult; import com.macro.mall.dto.OssPolicyResult; import jakarta.servlet.http.HttpServletRequest; /** * oss上传管理Service * Created by macro on 2018/5/17. */ public interface OssService { /** * oss上传策略生成 */ OssPolicyResult policy(); /** * oss上传成功回调 */ OssCallbackResult callback(HttpServletRequest request); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/PmsBrandService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.PmsBrandParam; import com.macro.mall.model.PmsBrand; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 商品品牌Service * Created by macro on 2018/4/26. */ public interface PmsBrandService { /** * 获取所有品牌 */ List listAllBrand(); /** * 创建品牌 */ int createBrand(PmsBrandParam pmsBrandParam); /** * 修改品牌 */ @Transactional int updateBrand(Long id, PmsBrandParam pmsBrandParam); /** * 删除品牌 */ int deleteBrand(Long id); /** * 批量删除品牌 */ int deleteBrand(List ids); /** * 分页查询品牌 */ List listBrand(String keyword, int pageNum, int pageSize); /** * 获取品牌 */ PmsBrand getBrand(Long id); /** * 修改显示状态 */ int updateShowStatus(List ids, Integer showStatus); /** * 修改厂家制造商状态 */ int updateFactoryStatus(List ids, Integer factoryStatus); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/PmsProductAttributeCategoryService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.PmsProductAttributeCategoryItem; import com.macro.mall.model.PmsProductAttributeCategory; import java.util.List; /** * 商品属性分类Service * Created by macro on 2018/4/26. */ public interface PmsProductAttributeCategoryService { /** * 创建属性分类 */ int create(String name); /** * 修改属性分类 */ int update(Long id, String name); /** * 删除属性分类 */ int delete(Long id); /** * 获取属性分类详情 */ PmsProductAttributeCategory getItem(Long id); /** * 分页查询属性分类 */ List getList(Integer pageSize, Integer pageNum); /** * 获取包含属性的属性分类 */ List getListWithAttr(); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/PmsProductAttributeService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.PmsProductAttributeParam; import com.macro.mall.dto.ProductAttrInfo; import com.macro.mall.model.PmsProductAttribute; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 商品属性Service * Created by macro on 2018/4/26. */ public interface PmsProductAttributeService { /** * 根据分类分页获取商品属性 * @param cid 分类id * @param type 0->属性;2->参数 */ List getList(Long cid, Integer type, Integer pageSize, Integer pageNum); /** * 添加商品属性 */ @Transactional int create(PmsProductAttributeParam pmsProductAttributeParam); /** * 修改商品属性 */ int update(Long id, PmsProductAttributeParam productAttributeParam); /** * 获取单个商品属性信息 */ PmsProductAttribute getItem(Long id); @Transactional int delete(List ids); List getProductAttrInfo(Long productCategoryId); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/PmsProductCategoryService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.PmsProductCategoryParam; import com.macro.mall.dto.PmsProductCategoryWithChildrenItem; import com.macro.mall.model.PmsProductCategory; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 商品分类Service * Created by macro on 2018/4/26. */ public interface PmsProductCategoryService { /** * 创建商品分类 */ @Transactional int create(PmsProductCategoryParam pmsProductCategoryParam); /** * 修改商品分类 */ @Transactional int update(Long id, PmsProductCategoryParam pmsProductCategoryParam); /** * 分页获取商品分类 */ List getList(Long parentId, Integer pageSize, Integer pageNum); /** * 删除商品分类 */ int delete(Long id); /** * 根据ID获取商品分类 */ PmsProductCategory getItem(Long id); /** * 批量修改导航状态 */ int updateNavStatus(List ids, Integer navStatus); /** * 批量修改显示状态 */ int updateShowStatus(List ids, Integer showStatus); /** * 以层级形式获取商品分类 */ List listWithChildren(); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/PmsProductService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.PmsProductParam; import com.macro.mall.dto.PmsProductQueryParam; import com.macro.mall.dto.PmsProductResult; import com.macro.mall.model.PmsProduct; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 商品管理Service * Created by macro on 2018/4/26. */ public interface PmsProductService { /** * 创建商品 */ @Transactional(isolation = Isolation.DEFAULT,propagation = Propagation.REQUIRED) int create(PmsProductParam productParam); /** * 根据商品编号获取更新信息 */ PmsProductResult getUpdateInfo(Long id); /** * 更新商品 */ @Transactional int update(Long id, PmsProductParam productParam); /** * 分页查询商品 */ List list(PmsProductQueryParam productQueryParam, Integer pageSize, Integer pageNum); /** * 批量修改审核状态 * @param ids 产品id * @param verifyStatus 审核状态 * @param detail 审核详情 */ @Transactional int updateVerifyStatus(List ids, Integer verifyStatus, String detail); /** * 批量修改商品上架状态 */ int updatePublishStatus(List ids, Integer publishStatus); /** * 批量修改商品推荐状态 */ int updateRecommendStatus(List ids, Integer recommendStatus); /** * 批量修改新品状态 */ int updateNewStatus(List ids, Integer newStatus); /** * 批量删除商品 */ int updateDeleteStatus(List ids, Integer deleteStatus); /** * 根据商品名称或者货号模糊查询 */ List list(String keyword); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/PmsSkuStockService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.PmsSkuStock; import java.util.List; /** * sku商品库存管理Service * Created by macro on 2018/4/27. */ public interface PmsSkuStockService { /** * 根据产品id和skuCode模糊搜索 */ List getList(Long pid, String keyword); /** * 批量更新商品库存信息 */ int update(Long pid, List skuStockList); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsCouponHistoryService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.SmsCouponHistory; import java.util.List; /** * 优惠券领取记录管理Service * Created by macro on 2018/11/6. */ public interface SmsCouponHistoryService { /** * 分页查询优惠券领取记录 * @param couponId 优惠券id * @param useStatus 使用状态 * @param orderSn 使用订单号码 */ List list(Long couponId, Integer useStatus, String orderSn, Integer pageSize, Integer pageNum); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsCouponService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.SmsCouponParam; import com.macro.mall.model.SmsCoupon; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 优惠券管理Service * Created by macro on 2018/8/28. */ public interface SmsCouponService { /** * 添加优惠券 */ @Transactional int create(SmsCouponParam couponParam); /** * 根据优惠券id删除优惠券 */ @Transactional int delete(Long id); /** * 根据优惠券id更新优惠券信息 */ @Transactional int update(Long id, SmsCouponParam couponParam); /** * 分页获取优惠券列表 */ List list(String name, Integer type, Integer pageSize, Integer pageNum); /** * 获取优惠券详情 * @param id 优惠券表id */ SmsCouponParam getItem(Long id); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsFlashPromotionProductRelationService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.SmsFlashPromotionProduct; import com.macro.mall.model.SmsFlashPromotionProductRelation; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 限时购商品关联管理Service * Created by macro on 2018/11/16. */ public interface SmsFlashPromotionProductRelationService { /** * 批量添加关联 */ @Transactional int create(List relationList); /** * 修改关联相关信息 */ int update(Long id, SmsFlashPromotionProductRelation relation); /** * 删除关联 */ int delete(Long id); /** * 获取关联详情 */ SmsFlashPromotionProductRelation getItem(Long id); /** * 分页查询相关商品及促销信息 * * @param flashPromotionId 限时购id * @param flashPromotionSessionId 限时购场次id */ List list(Long flashPromotionId, Long flashPromotionSessionId, Integer pageSize, Integer pageNum); /** * 根据活动和场次id获取商品关系数量 * @param flashPromotionId * @param flashPromotionSessionId * @return */ long getCount(Long flashPromotionId,Long flashPromotionSessionId); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsFlashPromotionService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.SmsFlashPromotion; import java.util.List; /** * 限时购活动管理Service * Created by macro on 2018/11/16. */ public interface SmsFlashPromotionService { /** * 添加活动 */ int create(SmsFlashPromotion flashPromotion); /** * 修改指定活动 */ int update(Long id, SmsFlashPromotion flashPromotion); /** * 删除单个活动 */ int delete(Long id); /** * 修改上下线状态 */ int updateStatus(Long id, Integer status); /** * 获取详细信息 */ SmsFlashPromotion getItem(Long id); /** * 分页查询活动 */ List list(String keyword, Integer pageSize, Integer pageNum); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsFlashPromotionSessionService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.SmsFlashPromotionSessionDetail; import com.macro.mall.model.SmsFlashPromotionSession; import java.util.List; /** * 限时购场次管理Service * Created by macro on 2018/11/16. */ public interface SmsFlashPromotionSessionService { /** * 添加场次 */ int create(SmsFlashPromotionSession promotionSession); /** * 修改场次 */ int update(Long id, SmsFlashPromotionSession promotionSession); /** * 修改场次启用状态 */ int updateStatus(Long id, Integer status); /** * 删除场次 */ int delete(Long id); /** * 获取详情 */ SmsFlashPromotionSession getItem(Long id); /** * 根据启用状态获取场次列表 */ List list(); /** * 获取全部可选场次及其数量 */ List selectList(Long flashPromotionId); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsHomeAdvertiseService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.SmsHomeAdvertise; import java.util.List; /** * 首页广告管理Service * Created by macro on 2018/11/7. */ public interface SmsHomeAdvertiseService { /** * 添加广告 */ int create(SmsHomeAdvertise advertise); /** * 批量删除广告 */ int delete(List ids); /** * 修改上、下线状态 */ int updateStatus(Long id, Integer status); /** * 获取广告详情 */ SmsHomeAdvertise getItem(Long id); /** * 更新广告 */ int update(Long id, SmsHomeAdvertise advertise); /** * 分页查询广告 */ List list(String name, Integer type, String endTime, Integer pageSize, Integer pageNum); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsHomeBrandService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.SmsHomeBrand; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 首页品牌管理Service * Created by macro on 2018/11/6. */ public interface SmsHomeBrandService { /** * 添加首页品牌推荐 */ @Transactional int create(List homeBrandList); /** * 修改品牌推荐排序 */ int updateSort(Long id, Integer sort); /** * 批量删除品牌推荐 */ int delete(List ids); /** * 更新推荐状态 */ int updateRecommendStatus(List ids, Integer recommendStatus); /** * 分页查询品牌推荐 */ List list(String brandName, Integer recommendStatus, Integer pageSize, Integer pageNum); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsHomeNewProductService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.SmsHomeNewProduct; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 首页新品管理Service * Created by macro on 2018/11/6. */ public interface SmsHomeNewProductService { /** * 添加首页推荐 */ @Transactional int create(List homeNewProductList); /** * 修改推荐排序 */ int updateSort(Long id, Integer sort); /** * 批量删除推荐 */ int delete(List ids); /** * 更新推荐状态 */ int updateRecommendStatus(List ids, Integer recommendStatus); /** * 分页查询推荐 */ List list(String productName, Integer recommendStatus, Integer pageSize, Integer pageNum); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsHomeRecommendProductService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.SmsHomeRecommendProduct; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 首页人气推荐管理Service * Created by macro on 2018/11/7. */ public interface SmsHomeRecommendProductService { /** * 添加首页推荐 */ @Transactional int create(List homeRecommendProductList); /** * 修改推荐排序 */ int updateSort(Long id, Integer sort); /** * 批量删除推荐 */ int delete(List ids); /** * 更新推荐状态 */ int updateRecommendStatus(List ids, Integer recommendStatus); /** * 分页查询推荐 */ List list(String productName, Integer recommendStatus, Integer pageSize, Integer pageNum); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/SmsHomeRecommendSubjectService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.SmsHomeRecommendSubject; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 首页专题推荐管理Service * Created by macro on 2018/11/7. */ public interface SmsHomeRecommendSubjectService { /** * 添加首页推荐 */ @Transactional int create(List recommendSubjectList); /** * 修改推荐排序 */ int updateSort(Long id, Integer sort); /** * 批量删除推荐 */ int delete(List ids); /** * 更新推荐状态 */ int updateRecommendStatus(List ids, Integer recommendStatus); /** * 分页查询推荐 */ List list(String subjectName, Integer recommendStatus, Integer pageSize, Integer pageNum); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/UmsAdminCacheService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.UmsAdmin; import com.macro.mall.model.UmsResource; import java.util.List; /** * 后台用户缓存操作类 * Created by macro on 2020/3/13. */ public interface UmsAdminCacheService { /** * 删除后台用户缓存 */ void delAdmin(Long adminId); /** * 获取缓存后台用户信息 */ UmsAdmin getAdmin(Long adminId); /** * 设置缓存后台用户信息 */ void setAdmin(UmsAdmin admin); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/UmsAdminService.java ================================================ package com.macro.mall.service; import cn.dev33.satoken.stp.SaTokenInfo; import com.macro.mall.dto.UmsAdminParam; import com.macro.mall.dto.UpdateAdminPasswordParam; import com.macro.mall.model.*; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 后台管理员Service * Created by macro on 2018/4/26. */ public interface UmsAdminService { /** * 根据用户名获取后台管理员 */ UmsAdmin getAdminByUsername(String username); /** * 注册功能 */ UmsAdmin register(UmsAdminParam umsAdminParam); /** * 登录功能 * @param username 用户名 * @param password 密码 */ SaTokenInfo login(String username, String password); /** * 根据用户id获取用户 */ UmsAdmin getItem(Long id); /** * 根据用户名或昵称分页查询用户 */ List list(String keyword, Integer pageSize, Integer pageNum); /** * 修改指定用户信息 */ int update(Long id, UmsAdmin admin); /** * 删除指定用户 */ int delete(Long id); /** * 修改用户角色关系 */ @Transactional int updateRole(Long adminId, List roleIds); /** * 获取用户对于角色 */ List getRoleList(Long adminId); /** * 获取指定用户的可访问资源 */ List getResourceList(Long adminId); /** * 修改密码 */ int updatePassword(UpdateAdminPasswordParam updatePasswordParam); /** * 获取当前登录后台用户 */ UmsAdmin getCurrentAdmin(); /** * 登出操作 */ void logout(); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/UmsMemberLevelService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.UmsMemberLevel; import java.util.List; /** * 会员等级管理Service * Created by macro on 2018/4/26. */ public interface UmsMemberLevelService { /** * 获取所有会员登录 * @param defaultStatus 是否为默认会员 */ List list(Integer defaultStatus); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/UmsMenuService.java ================================================ package com.macro.mall.service; import com.macro.mall.dto.UmsMenuNode; import com.macro.mall.model.UmsMenu; import java.util.List; /** * 后台菜单管理Service * Created by macro on 2020/2/2. */ public interface UmsMenuService { /** * 创建后台菜单 */ int create(UmsMenu umsMenu); /** * 修改后台菜单 */ int update(Long id, UmsMenu umsMenu); /** * 根据ID获取菜单详情 */ UmsMenu getItem(Long id); /** * 根据ID删除菜单 */ int delete(Long id); /** * 分页查询后台菜单 */ List list(Long parentId, Integer pageSize, Integer pageNum); /** * 树形结构返回所有菜单列表 */ List treeList(); /** * 修改菜单显示状态 */ int updateHidden(Long id, Integer hidden); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/UmsResourceCategoryService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.UmsResourceCategory; import java.util.List; /** * 后台资源分类管理Service * Created by macro on 2020/2/5. */ public interface UmsResourceCategoryService { /** * 获取所有资源分类 */ List listAll(); /** * 创建资源分类 */ int create(UmsResourceCategory umsResourceCategory); /** * 修改资源分类 */ int update(Long id, UmsResourceCategory umsResourceCategory); /** * 删除资源分类 */ int delete(Long id); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/UmsResourceService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.UmsResource; import java.util.List; import java.util.Map; /** * 后台资源管理Service * Created by macro on 2020/2/2. */ public interface UmsResourceService { /** * 添加资源 */ int create(UmsResource umsResource); /** * 修改资源 */ int update(Long id, UmsResource umsResource); /** * 获取资源详情 */ UmsResource getItem(Long id); /** * 删除资源 */ int delete(Long id); /** * 分页查询资源 */ List list(Long categoryId, String nameKeyword, String urlKeyword, Integer pageSize, Integer pageNum); /** * 查询全部资源 */ List listAll(); /** * 初始化路径与资源访问规则 */ Map initPathResourceMap(); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/UmsRoleService.java ================================================ package com.macro.mall.service; import com.macro.mall.model.UmsMenu; import com.macro.mall.model.UmsResource; import com.macro.mall.model.UmsRole; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 后台角色管理Service * Created by macro on 2018/9/30. */ public interface UmsRoleService { /** * 添加角色 */ int create(UmsRole role); /** * 修改角色信息 */ int update(Long id, UmsRole role); /** * 批量删除角色 */ int delete(List ids); /** * 获取所有角色列表 */ List list(); /** * 分页获取角色列表 */ List list(String keyword, Integer pageSize, Integer pageNum); /** * 根据管理员ID获取对应菜单 */ List getMenuList(Long adminId); /** * 获取角色相关菜单 */ List listMenu(Long roleId); /** * 获取角色相关资源 */ List listResource(Long roleId); /** * 给角色分配菜单 */ @Transactional int allocMenu(Long roleId, List menuIds); /** * 给角色分配资源 */ @Transactional int allocResource(Long roleId, List resourceIds); } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/CmsPrefrenceAreaServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.macro.mall.mapper.CmsPrefrenceAreaMapper; import com.macro.mall.model.CmsPrefrenceArea; import com.macro.mall.model.CmsPrefrenceAreaExample; import com.macro.mall.service.CmsPrefrenceAreaService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 商品优选管理Service实现类 * Created by macro on 2018/6/1. */ @Service public class CmsPrefrenceAreaServiceImpl implements CmsPrefrenceAreaService { @Autowired private CmsPrefrenceAreaMapper prefrenceAreaMapper; @Override public List listAll() { return prefrenceAreaMapper.selectByExample(new CmsPrefrenceAreaExample()); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/CmsSubjectServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.CmsSubjectMapper; import com.macro.mall.model.CmsSubject; import com.macro.mall.model.CmsSubjectExample; import com.macro.mall.service.CmsSubjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 商品专题管理Service实现类 * Created by macro on 2018/6/1. */ @Service public class CmsSubjectServiceImpl implements CmsSubjectService { @Autowired private CmsSubjectMapper subjectMapper; @Override public List listAll() { return subjectMapper.selectByExample(new CmsSubjectExample()); } @Override public List list(String keyword, Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum, pageSize); CmsSubjectExample example = new CmsSubjectExample(); CmsSubjectExample.Criteria criteria = example.createCriteria(); if (!StringUtils.isEmpty(keyword)) { criteria.andTitleLike("%" + keyword + "%"); } return subjectMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/OmsCompanyAddressServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.macro.mall.mapper.OmsCompanyAddressMapper; import com.macro.mall.model.OmsCompanyAddress; import com.macro.mall.model.OmsCompanyAddressExample; import com.macro.mall.service.OmsCompanyAddressService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 收货地址管理Service实现类 * Created by macro on 2018/10/18. */ @Service public class OmsCompanyAddressServiceImpl implements OmsCompanyAddressService { @Autowired private OmsCompanyAddressMapper companyAddressMapper; @Override public List list() { return companyAddressMapper.selectByExample(new OmsCompanyAddressExample()); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderReturnApplyServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.OmsOrderReturnApplyDao; import com.macro.mall.dto.OmsOrderReturnApplyResult; import com.macro.mall.dto.OmsReturnApplyQueryParam; import com.macro.mall.dto.OmsUpdateStatusParam; import com.macro.mall.mapper.OmsOrderReturnApplyMapper; import com.macro.mall.model.OmsOrderReturnApply; import com.macro.mall.model.OmsOrderReturnApplyExample; import com.macro.mall.service.OmsOrderReturnApplyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * 订单退货管理Service * Created by macro on 2018/10/18. */ @Service public class OmsOrderReturnApplyServiceImpl implements OmsOrderReturnApplyService { @Autowired private OmsOrderReturnApplyDao returnApplyDao; @Autowired private OmsOrderReturnApplyMapper returnApplyMapper; @Override public List list(OmsReturnApplyQueryParam queryParam, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); return returnApplyDao.getList(queryParam); } @Override public int delete(List ids) { OmsOrderReturnApplyExample example = new OmsOrderReturnApplyExample(); example.createCriteria().andIdIn(ids).andStatusEqualTo(3); return returnApplyMapper.deleteByExample(example); } @Override public int updateStatus(Long id, OmsUpdateStatusParam statusParam) { Integer status = statusParam.getStatus(); OmsOrderReturnApply returnApply = new OmsOrderReturnApply(); if(status.equals(1)){ //确认退货 returnApply.setId(id); returnApply.setStatus(1); returnApply.setReturnAmount(statusParam.getReturnAmount()); returnApply.setCompanyAddressId(statusParam.getCompanyAddressId()); returnApply.setHandleTime(new Date()); returnApply.setHandleMan(statusParam.getHandleMan()); returnApply.setHandleNote(statusParam.getHandleNote()); }else if(status.equals(2)){ //完成退货 returnApply.setId(id); returnApply.setStatus(2); returnApply.setReceiveTime(new Date()); returnApply.setReceiveMan(statusParam.getReceiveMan()); returnApply.setReceiveNote(statusParam.getReceiveNote()); }else if(status.equals(3)){ //拒绝退货 returnApply.setId(id); returnApply.setStatus(3); returnApply.setHandleTime(new Date()); returnApply.setHandleMan(statusParam.getHandleMan()); returnApply.setHandleNote(statusParam.getHandleNote()); }else{ return 0; } return returnApplyMapper.updateByPrimaryKeySelective(returnApply); } @Override public OmsOrderReturnApplyResult getItem(Long id) { return returnApplyDao.getDetail(id); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderReturnReasonServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.OmsOrderReturnReasonMapper; import com.macro.mall.model.OmsOrderReturnReason; import com.macro.mall.model.OmsOrderReturnReasonExample; import com.macro.mall.service.OmsOrderReturnReasonService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * 订单原因管理Service实现类 * Created by macro on 2018/10/17. */ @Service public class OmsOrderReturnReasonServiceImpl implements OmsOrderReturnReasonService { @Autowired private OmsOrderReturnReasonMapper returnReasonMapper; @Override public int create(OmsOrderReturnReason returnReason) { returnReason.setCreateTime(new Date()); return returnReasonMapper.insert(returnReason); } @Override public int update(Long id, OmsOrderReturnReason returnReason) { returnReason.setId(id); return returnReasonMapper.updateByPrimaryKey(returnReason); } @Override public int delete(List ids) { OmsOrderReturnReasonExample example = new OmsOrderReturnReasonExample(); example.createCriteria().andIdIn(ids); return returnReasonMapper.deleteByExample(example); } @Override public List list(Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); OmsOrderReturnReasonExample example = new OmsOrderReturnReasonExample(); example.setOrderByClause("sort desc"); return returnReasonMapper.selectByExample(example); } @Override public int updateStatus(List ids, Integer status) { if(!status.equals(0)&&!status.equals(1)){ return 0; } OmsOrderReturnReason record = new OmsOrderReturnReason(); record.setStatus(status); OmsOrderReturnReasonExample example = new OmsOrderReturnReasonExample(); example.createCriteria().andIdIn(ids); return returnReasonMapper.updateByExampleSelective(record,example); } @Override public OmsOrderReturnReason getItem(Long id) { return returnReasonMapper.selectByPrimaryKey(id); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.OmsOrderDao; import com.macro.mall.dao.OmsOrderOperateHistoryDao; import com.macro.mall.dto.*; import com.macro.mall.mapper.OmsOrderMapper; import com.macro.mall.mapper.OmsOrderOperateHistoryMapper; import com.macro.mall.model.OmsOrder; import com.macro.mall.model.OmsOrderExample; import com.macro.mall.model.OmsOrderOperateHistory; import com.macro.mall.service.OmsOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * 订单管理Service实现类 * Created by macro on 2018/10/11. */ @Service public class OmsOrderServiceImpl implements OmsOrderService { @Autowired private OmsOrderMapper orderMapper; @Autowired private OmsOrderDao orderDao; @Autowired private OmsOrderOperateHistoryDao orderOperateHistoryDao; @Autowired private OmsOrderOperateHistoryMapper orderOperateHistoryMapper; @Override public List list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); return orderDao.getList(queryParam); } @Override public int delivery(List deliveryParamList) { //批量发货 int count = orderDao.delivery(deliveryParamList); //添加操作记录 List operateHistoryList = deliveryParamList.stream() .map(omsOrderDeliveryParam -> { OmsOrderOperateHistory history = new OmsOrderOperateHistory(); history.setOrderId(omsOrderDeliveryParam.getOrderId()); history.setCreateTime(new Date()); history.setOperateMan("后台管理员"); history.setOrderStatus(2); history.setNote("完成发货"); return history; }).collect(Collectors.toList()); orderOperateHistoryDao.insertList(operateHistoryList); return count; } @Override public int close(List ids, String note) { OmsOrder record = new OmsOrder(); record.setStatus(4); OmsOrderExample example = new OmsOrderExample(); example.createCriteria().andDeleteStatusEqualTo(0).andIdIn(ids); int count = orderMapper.updateByExampleSelective(record, example); List historyList = ids.stream().map(orderId -> { OmsOrderOperateHistory history = new OmsOrderOperateHistory(); history.setOrderId(orderId); history.setCreateTime(new Date()); history.setOperateMan("后台管理员"); history.setOrderStatus(4); history.setNote("订单关闭:"+note); return history; }).collect(Collectors.toList()); orderOperateHistoryDao.insertList(historyList); return count; } @Override public int delete(List ids) { OmsOrder record = new OmsOrder(); record.setDeleteStatus(1); OmsOrderExample example = new OmsOrderExample(); example.createCriteria().andDeleteStatusEqualTo(0).andIdIn(ids); return orderMapper.updateByExampleSelective(record, example); } @Override public OmsOrderDetail detail(Long id) { return orderDao.getDetail(id); } @Override public int updateReceiverInfo(OmsReceiverInfoParam receiverInfoParam) { OmsOrder order = new OmsOrder(); order.setId(receiverInfoParam.getOrderId()); order.setReceiverName(receiverInfoParam.getReceiverName()); order.setReceiverPhone(receiverInfoParam.getReceiverPhone()); order.setReceiverPostCode(receiverInfoParam.getReceiverPostCode()); order.setReceiverDetailAddress(receiverInfoParam.getReceiverDetailAddress()); order.setReceiverProvince(receiverInfoParam.getReceiverProvince()); order.setReceiverCity(receiverInfoParam.getReceiverCity()); order.setReceiverRegion(receiverInfoParam.getReceiverRegion()); order.setModifyTime(new Date()); int count = orderMapper.updateByPrimaryKeySelective(order); //插入操作记录 OmsOrderOperateHistory history = new OmsOrderOperateHistory(); history.setOrderId(receiverInfoParam.getOrderId()); history.setCreateTime(new Date()); history.setOperateMan("后台管理员"); history.setOrderStatus(receiverInfoParam.getStatus()); history.setNote("修改收货人信息"); orderOperateHistoryMapper.insert(history); return count; } @Override public int updateMoneyInfo(OmsMoneyInfoParam moneyInfoParam) { OmsOrder order = new OmsOrder(); order.setId(moneyInfoParam.getOrderId()); order.setFreightAmount(moneyInfoParam.getFreightAmount()); order.setDiscountAmount(moneyInfoParam.getDiscountAmount()); order.setModifyTime(new Date()); int count = orderMapper.updateByPrimaryKeySelective(order); //插入操作记录 OmsOrderOperateHistory history = new OmsOrderOperateHistory(); history.setOrderId(moneyInfoParam.getOrderId()); history.setCreateTime(new Date()); history.setOperateMan("后台管理员"); history.setOrderStatus(moneyInfoParam.getStatus()); history.setNote("修改费用信息"); orderOperateHistoryMapper.insert(history); return count; } @Override public int updateNote(Long id, String note, Integer status) { OmsOrder order = new OmsOrder(); order.setId(id); order.setNote(note); order.setModifyTime(new Date()); int count = orderMapper.updateByPrimaryKeySelective(order); OmsOrderOperateHistory history = new OmsOrderOperateHistory(); history.setOrderId(id); history.setCreateTime(new Date()); history.setOperateMan("后台管理员"); history.setOrderStatus(status); history.setNote("修改备注信息:"+note); orderOperateHistoryMapper.insert(history); return count; } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/OmsOrderSettingServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.macro.mall.mapper.OmsOrderSettingMapper; import com.macro.mall.model.OmsOrderSetting; import com.macro.mall.service.OmsOrderSettingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * 订单设置管理Service实现类 * Created by macro on 2018/10/16. */ @Service public class OmsOrderSettingServiceImpl implements OmsOrderSettingService { @Autowired private OmsOrderSettingMapper orderSettingMapper; @Override public OmsOrderSetting getItem(Long id) { return orderSettingMapper.selectByPrimaryKey(id); } @Override public int update(Long id, OmsOrderSetting orderSetting) { orderSetting.setId(id); return orderSettingMapper.updateByPrimaryKey(orderSetting); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/OssServiceImpl.java ================================================ package com.macro.mall.service.impl; import cn.hutool.json.JSONUtil; import com.aliyun.oss.OSSClient; import com.aliyun.oss.common.utils.BinaryUtil; import com.aliyun.oss.model.MatchMode; import com.aliyun.oss.model.PolicyConditions; import com.macro.mall.dto.OssCallbackParam; import com.macro.mall.dto.OssCallbackResult; import com.macro.mall.dto.OssPolicyResult; import com.macro.mall.service.OssService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import jakarta.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; /** * oss上传管理Service实现类 * Created by macro on 2018/5/17. */ @Service public class OssServiceImpl implements OssService { private static final Logger LOGGER = LoggerFactory.getLogger(OssServiceImpl.class); @Value("${aliyun.oss.policy.expire}") private int ALIYUN_OSS_EXPIRE; @Value("${aliyun.oss.maxSize}") private int ALIYUN_OSS_MAX_SIZE; @Value("${aliyun.oss.callback}") private String ALIYUN_OSS_CALLBACK; @Value("${aliyun.oss.bucketName}") private String ALIYUN_OSS_BUCKET_NAME; @Value("${aliyun.oss.endpoint}") private String ALIYUN_OSS_ENDPOINT; @Value("${aliyun.oss.dir.prefix}") private String ALIYUN_OSS_DIR_PREFIX; @Autowired private OSSClient ossClient; /** * 签名生成 */ @Override public OssPolicyResult policy() { OssPolicyResult result = new OssPolicyResult(); // 存储目录 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String dir = ALIYUN_OSS_DIR_PREFIX+sdf.format(new Date()); // 签名有效期 long expireEndTime = System.currentTimeMillis() + ALIYUN_OSS_EXPIRE * 1000; Date expiration = new Date(expireEndTime); // 文件大小 long maxSize = ALIYUN_OSS_MAX_SIZE * 1024 * 1024; // 回调 OssCallbackParam callback = new OssCallbackParam(); callback.setCallbackUrl(ALIYUN_OSS_CALLBACK); callback.setCallbackBody("filename=${object}&size=${size}&mimeType=${mimeType}&height=${imageInfo.height}&width=${imageInfo.width}"); callback.setCallbackBodyType("application/x-www-form-urlencoded"); // 提交节点 String action = "http://" + ALIYUN_OSS_BUCKET_NAME + "." + ALIYUN_OSS_ENDPOINT; try { PolicyConditions policyConds = new PolicyConditions(); policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, maxSize); policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir); String postPolicy = ossClient.generatePostPolicy(expiration, policyConds); byte[] binaryData = postPolicy.getBytes("utf-8"); String policy = BinaryUtil.toBase64String(binaryData); String signature = ossClient.calculatePostSignature(postPolicy); String callbackData = BinaryUtil.toBase64String(JSONUtil.parse(callback).toString().getBytes("utf-8")); // 返回结果 result.setAccessKeyId(ossClient.getCredentialsProvider().getCredentials().getAccessKeyId()); result.setPolicy(policy); result.setSignature(signature); result.setDir(dir); result.setCallback(callbackData); result.setHost(action); } catch (Exception e) { LOGGER.error("签名生成失败", e); } return result; } @Override public OssCallbackResult callback(HttpServletRequest request) { OssCallbackResult result= new OssCallbackResult(); String filename = request.getParameter("filename"); filename = "http://".concat(ALIYUN_OSS_BUCKET_NAME).concat(".").concat(ALIYUN_OSS_ENDPOINT).concat("/").concat(filename); result.setFilename(filename); result.setSize(request.getParameter("size")); result.setMimeType(request.getParameter("mimeType")); result.setWidth(request.getParameter("width")); result.setHeight(request.getParameter("height")); return result; } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/PmsBrandServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dto.PmsBrandParam; import com.macro.mall.mapper.PmsBrandMapper; import com.macro.mall.mapper.PmsProductMapper; import com.macro.mall.model.PmsBrand; import com.macro.mall.model.PmsBrandExample; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.PmsProductExample; import com.macro.mall.service.PmsBrandService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 商品品牌Service实现类 * Created by macro on 2018/4/26. */ @Service public class PmsBrandServiceImpl implements PmsBrandService { @Autowired private PmsBrandMapper brandMapper; @Autowired private PmsProductMapper productMapper; @Override public List listAllBrand() { return brandMapper.selectByExample(new PmsBrandExample()); } @Override public int createBrand(PmsBrandParam pmsBrandParam) { PmsBrand pmsBrand = new PmsBrand(); BeanUtils.copyProperties(pmsBrandParam, pmsBrand); //如果创建时首字母为空,取名称的第一个为首字母 if (StringUtils.isEmpty(pmsBrand.getFirstLetter())) { pmsBrand.setFirstLetter(pmsBrand.getName().substring(0, 1)); } return brandMapper.insertSelective(pmsBrand); } @Override public int updateBrand(Long id, PmsBrandParam pmsBrandParam) { PmsBrand pmsBrand = new PmsBrand(); BeanUtils.copyProperties(pmsBrandParam, pmsBrand); pmsBrand.setId(id); //如果创建时首字母为空,取名称的第一个为首字母 if (StringUtils.isEmpty(pmsBrand.getFirstLetter())) { pmsBrand.setFirstLetter(pmsBrand.getName().substring(0, 1)); } //更新品牌时要更新商品中的品牌名称 PmsProduct product = new PmsProduct(); product.setBrandName(pmsBrand.getName()); PmsProductExample example = new PmsProductExample(); example.createCriteria().andBrandIdEqualTo(id); productMapper.updateByExampleSelective(product,example); return brandMapper.updateByPrimaryKeySelective(pmsBrand); } @Override public int deleteBrand(Long id) { return brandMapper.deleteByPrimaryKey(id); } @Override public int deleteBrand(List ids) { PmsBrandExample pmsBrandExample = new PmsBrandExample(); pmsBrandExample.createCriteria().andIdIn(ids); return brandMapper.deleteByExample(pmsBrandExample); } @Override public List listBrand(String keyword, int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); PmsBrandExample pmsBrandExample = new PmsBrandExample(); pmsBrandExample.setOrderByClause("sort desc"); PmsBrandExample.Criteria criteria = pmsBrandExample.createCriteria(); if (!StringUtils.isEmpty(keyword)) { criteria.andNameLike("%" + keyword + "%"); } return brandMapper.selectByExample(pmsBrandExample); } @Override public PmsBrand getBrand(Long id) { return brandMapper.selectByPrimaryKey(id); } @Override public int updateShowStatus(List ids, Integer showStatus) { PmsBrand pmsBrand = new PmsBrand(); pmsBrand.setShowStatus(showStatus); PmsBrandExample pmsBrandExample = new PmsBrandExample(); pmsBrandExample.createCriteria().andIdIn(ids); return brandMapper.updateByExampleSelective(pmsBrand, pmsBrandExample); } @Override public int updateFactoryStatus(List ids, Integer factoryStatus) { PmsBrand pmsBrand = new PmsBrand(); pmsBrand.setFactoryStatus(factoryStatus); PmsBrandExample pmsBrandExample = new PmsBrandExample(); pmsBrandExample.createCriteria().andIdIn(ids); return brandMapper.updateByExampleSelective(pmsBrand, pmsBrandExample); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductAttributeCategoryServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.PmsProductAttributeCategoryDao; import com.macro.mall.dto.PmsProductAttributeCategoryItem; import com.macro.mall.mapper.PmsProductAttributeCategoryMapper; import com.macro.mall.model.PmsProductAttributeCategory; import com.macro.mall.model.PmsProductAttributeCategoryExample; import com.macro.mall.service.PmsProductAttributeCategoryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * PmsProductAttributeCategoryService实现类 * Created by macro on 2018/4/26. */ @Service public class PmsProductAttributeCategoryServiceImpl implements PmsProductAttributeCategoryService { @Autowired private PmsProductAttributeCategoryMapper productAttributeCategoryMapper; @Autowired private PmsProductAttributeCategoryDao productAttributeCategoryDao; @Override public int create(String name) { PmsProductAttributeCategory productAttributeCategory = new PmsProductAttributeCategory(); productAttributeCategory.setName(name); return productAttributeCategoryMapper.insertSelective(productAttributeCategory); } @Override public int update(Long id, String name) { PmsProductAttributeCategory productAttributeCategory = new PmsProductAttributeCategory(); productAttributeCategory.setName(name); productAttributeCategory.setId(id); return productAttributeCategoryMapper.updateByPrimaryKeySelective(productAttributeCategory); } @Override public int delete(Long id) { return productAttributeCategoryMapper.deleteByPrimaryKey(id); } @Override public PmsProductAttributeCategory getItem(Long id) { return productAttributeCategoryMapper.selectByPrimaryKey(id); } @Override public List getList(Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); return productAttributeCategoryMapper.selectByExample(new PmsProductAttributeCategoryExample()); } @Override public List getListWithAttr() { return productAttributeCategoryDao.getListWithAttr(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductAttributeServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.PmsProductAttributeDao; import com.macro.mall.dto.PmsProductAttributeParam; import com.macro.mall.dto.ProductAttrInfo; import com.macro.mall.mapper.PmsProductAttributeCategoryMapper; import com.macro.mall.mapper.PmsProductAttributeMapper; import com.macro.mall.model.PmsProductAttribute; import com.macro.mall.model.PmsProductAttributeCategory; import com.macro.mall.model.PmsProductAttributeExample; import com.macro.mall.service.PmsProductAttributeService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 商品属性Service实现类 * Created by macro on 2018/4/26. */ @Service public class PmsProductAttributeServiceImpl implements PmsProductAttributeService { @Autowired private PmsProductAttributeMapper productAttributeMapper; @Autowired private PmsProductAttributeCategoryMapper productAttributeCategoryMapper; @Autowired private PmsProductAttributeDao productAttributeDao; @Override public List getList(Long cid, Integer type, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); PmsProductAttributeExample example = new PmsProductAttributeExample(); example.setOrderByClause("sort desc"); example.createCriteria().andProductAttributeCategoryIdEqualTo(cid).andTypeEqualTo(type); return productAttributeMapper.selectByExample(example); } @Override public int create(PmsProductAttributeParam pmsProductAttributeParam) { PmsProductAttribute pmsProductAttribute = new PmsProductAttribute(); BeanUtils.copyProperties(pmsProductAttributeParam, pmsProductAttribute); int count = productAttributeMapper.insertSelective(pmsProductAttribute); //新增商品属性以后需要更新商品属性分类数量 PmsProductAttributeCategory pmsProductAttributeCategory = productAttributeCategoryMapper.selectByPrimaryKey(pmsProductAttribute.getProductAttributeCategoryId()); if(pmsProductAttribute.getType()==0){ pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeCategory.getAttributeCount()+1); }else if(pmsProductAttribute.getType()==1){ pmsProductAttributeCategory.setParamCount(pmsProductAttributeCategory.getParamCount()+1); } productAttributeCategoryMapper.updateByPrimaryKey(pmsProductAttributeCategory); return count; } @Override public int update(Long id, PmsProductAttributeParam productAttributeParam) { PmsProductAttribute pmsProductAttribute = new PmsProductAttribute(); pmsProductAttribute.setId(id); BeanUtils.copyProperties(productAttributeParam, pmsProductAttribute); return productAttributeMapper.updateByPrimaryKeySelective(pmsProductAttribute); } @Override public PmsProductAttribute getItem(Long id) { return productAttributeMapper.selectByPrimaryKey(id); } @Override public int delete(List ids) { //获取分类 PmsProductAttribute pmsProductAttribute = productAttributeMapper.selectByPrimaryKey(ids.get(0)); Integer type = pmsProductAttribute.getType(); PmsProductAttributeCategory pmsProductAttributeCategory = productAttributeCategoryMapper.selectByPrimaryKey(pmsProductAttribute.getProductAttributeCategoryId()); PmsProductAttributeExample example = new PmsProductAttributeExample(); example.createCriteria().andIdIn(ids); int count = productAttributeMapper.deleteByExample(example); //删除完成后修改数量 if(type==0){ if(pmsProductAttributeCategory.getAttributeCount()>=count){ pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeCategory.getAttributeCount()-count); }else{ pmsProductAttributeCategory.setAttributeCount(0); } }else if(type==1){ if(pmsProductAttributeCategory.getParamCount()>=count){ pmsProductAttributeCategory.setParamCount(pmsProductAttributeCategory.getParamCount()-count); }else{ pmsProductAttributeCategory.setParamCount(0); } } productAttributeCategoryMapper.updateByPrimaryKey(pmsProductAttributeCategory); return count; } @Override public List getProductAttrInfo(Long productCategoryId) { return productAttributeDao.getProductAttrInfo(productCategoryId); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.PmsProductCategoryAttributeRelationDao; import com.macro.mall.dao.PmsProductCategoryDao; import com.macro.mall.dto.PmsProductCategoryParam; import com.macro.mall.dto.PmsProductCategoryWithChildrenItem; import com.macro.mall.mapper.PmsProductCategoryAttributeRelationMapper; import com.macro.mall.mapper.PmsProductCategoryMapper; import com.macro.mall.mapper.PmsProductMapper; import com.macro.mall.model.*; import com.macro.mall.service.PmsProductCategoryService; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * PmsProductCategoryService实现类 * Created by macro on 2018/4/26. */ @Service public class PmsProductCategoryServiceImpl implements PmsProductCategoryService { @Autowired private PmsProductCategoryMapper productCategoryMapper; @Autowired private PmsProductMapper productMapper; @Autowired private PmsProductCategoryAttributeRelationDao productCategoryAttributeRelationDao; @Autowired private PmsProductCategoryAttributeRelationMapper productCategoryAttributeRelationMapper; @Autowired private PmsProductCategoryDao productCategoryDao; @Override public int create(PmsProductCategoryParam pmsProductCategoryParam) { PmsProductCategory productCategory = new PmsProductCategory(); productCategory.setProductCount(0); BeanUtils.copyProperties(pmsProductCategoryParam, productCategory); //没有父分类时为一级分类 setCategoryLevel(productCategory); int count = productCategoryMapper.insertSelective(productCategory); //创建筛选属性关联 List productAttributeIdList = pmsProductCategoryParam.getProductAttributeIdList(); if(!CollectionUtils.isEmpty(productAttributeIdList)){ insertRelationList(productCategory.getId(), productAttributeIdList); } return count; } /** * 批量插入商品分类与筛选属性关系表 * @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); } productCategoryAttributeRelationDao.insertList(relationList); } @Override public int update(Long id, PmsProductCategoryParam pmsProductCategoryParam) { PmsProductCategory productCategory = new PmsProductCategory(); productCategory.setId(id); BeanUtils.copyProperties(pmsProductCategoryParam, productCategory); setCategoryLevel(productCategory); //更新商品分类时要更新商品中的名称 PmsProduct product = new PmsProduct(); product.setProductCategoryName(productCategory.getName()); PmsProductExample example = new PmsProductExample(); example.createCriteria().andProductCategoryIdEqualTo(id); productMapper.updateByExampleSelective(product,example); //同时更新筛选属性的信息 if(!CollectionUtils.isEmpty(pmsProductCategoryParam.getProductAttributeIdList())){ PmsProductCategoryAttributeRelationExample relationExample = new PmsProductCategoryAttributeRelationExample(); relationExample.createCriteria().andProductCategoryIdEqualTo(id); productCategoryAttributeRelationMapper.deleteByExample(relationExample); insertRelationList(id,pmsProductCategoryParam.getProductAttributeIdList()); }else{ PmsProductCategoryAttributeRelationExample relationExample = new PmsProductCategoryAttributeRelationExample(); relationExample.createCriteria().andProductCategoryIdEqualTo(id); productCategoryAttributeRelationMapper.deleteByExample(relationExample); } return productCategoryMapper.updateByPrimaryKeySelective(productCategory); } @Override public List getList(Long parentId, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); PmsProductCategoryExample example = new PmsProductCategoryExample(); example.setOrderByClause("sort desc"); example.createCriteria().andParentIdEqualTo(parentId); return productCategoryMapper.selectByExample(example); } @Override public int delete(Long id) { return productCategoryMapper.deleteByPrimaryKey(id); } @Override public PmsProductCategory getItem(Long id) { return productCategoryMapper.selectByPrimaryKey(id); } @Override public int updateNavStatus(List ids, Integer navStatus) { PmsProductCategory productCategory = new PmsProductCategory(); productCategory.setNavStatus(navStatus); PmsProductCategoryExample example = new PmsProductCategoryExample(); example.createCriteria().andIdIn(ids); return productCategoryMapper.updateByExampleSelective(productCategory, example); } @Override public int updateShowStatus(List ids, Integer showStatus) { PmsProductCategory productCategory = new PmsProductCategory(); productCategory.setShowStatus(showStatus); PmsProductCategoryExample example = new PmsProductCategoryExample(); example.createCriteria().andIdIn(ids); return productCategoryMapper.updateByExampleSelective(productCategory, example); } @Override public List listWithChildren() { return productCategoryDao.listWithChildren(); } /** * 根据分类的parentId设置分类的level */ private void setCategoryLevel(PmsProductCategory productCategory) { //没有父分类时为一级分类 if (productCategory.getParentId() == 0) { productCategory.setLevel(0); } else { //有父分类时选择根据父分类level设置 PmsProductCategory parentCategory = productCategoryMapper.selectByPrimaryKey(productCategory.getParentId()); if (parentCategory != null) { productCategory.setLevel(parentCategory.getLevel() + 1); } else { productCategory.setLevel(0); } } } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductServiceImpl.java ================================================ package com.macro.mall.service.impl; import cn.hutool.core.collection.CollUtil; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.*; import com.macro.mall.dto.PmsProductParam; import com.macro.mall.dto.PmsProductQueryParam; import com.macro.mall.dto.PmsProductResult; import com.macro.mall.mapper.*; import com.macro.mall.model.*; import com.macro.mall.service.PmsProductService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.lang.reflect.Method; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * 商品管理Service实现类 * Created by macro on 2018/4/26. */ @Service public class PmsProductServiceImpl implements PmsProductService { private static final Logger LOGGER = LoggerFactory.getLogger(PmsProductServiceImpl.class); @Autowired private PmsProductMapper productMapper; @Autowired private PmsMemberPriceDao memberPriceDao; @Autowired private PmsMemberPriceMapper memberPriceMapper; @Autowired private PmsProductLadderDao productLadderDao; @Autowired private PmsProductLadderMapper productLadderMapper; @Autowired private PmsProductFullReductionDao productFullReductionDao; @Autowired private PmsProductFullReductionMapper productFullReductionMapper; @Autowired private PmsSkuStockDao skuStockDao; @Autowired private PmsSkuStockMapper skuStockMapper; @Autowired private PmsProductAttributeValueDao productAttributeValueDao; @Autowired private PmsProductAttributeValueMapper productAttributeValueMapper; @Autowired private CmsSubjectProductRelationDao subjectProductRelationDao; @Autowired private CmsSubjectProductRelationMapper subjectProductRelationMapper; @Autowired private CmsPrefrenceAreaProductRelationDao prefrenceAreaProductRelationDao; @Autowired private CmsPrefrenceAreaProductRelationMapper prefrenceAreaProductRelationMapper; @Autowired private PmsProductDao productDao; @Autowired private PmsProductVertifyRecordDao productVertifyRecordDao; @Override public int create(PmsProductParam productParam) { int count; //创建商品 PmsProduct product = productParam; product.setId(null); productMapper.insertSelective(product); //根据促销类型设置价格:会员价格、阶梯价格、满减价格 Long productId = product.getId(); //会员价格 relateAndInsertList(memberPriceDao, productParam.getMemberPriceList(), productId); //阶梯价格 relateAndInsertList(productLadderDao, productParam.getProductLadderList(), productId); //满减价格 relateAndInsertList(productFullReductionDao, productParam.getProductFullReductionList(), productId); //处理sku的编码 handleSkuStockCode(productParam.getSkuStockList(),productId); //添加sku库存信息 relateAndInsertList(skuStockDao, productParam.getSkuStockList(), productId); //添加商品参数,添加自定义商品规格 relateAndInsertList(productAttributeValueDao, productParam.getProductAttributeValueList(), productId); //关联专题 relateAndInsertList(subjectProductRelationDao, productParam.getSubjectProductRelationList(), productId); //关联优选 relateAndInsertList(prefrenceAreaProductRelationDao, productParam.getPrefrenceAreaProductRelationList(), productId); count = 1; return count; } private void handleSkuStockCode(List skuStockList, Long productId) { if(CollectionUtils.isEmpty(skuStockList))return; for(int i=0;i currSkuList = productParam.getSkuStockList(); //当前没有sku直接删除 if(CollUtil.isEmpty(currSkuList)){ PmsSkuStockExample skuStockExample = new PmsSkuStockExample(); skuStockExample.createCriteria().andProductIdEqualTo(id); skuStockMapper.deleteByExample(skuStockExample); return; } //获取初始sku信息 PmsSkuStockExample skuStockExample = new PmsSkuStockExample(); skuStockExample.createCriteria().andProductIdEqualTo(id); List oriStuList = skuStockMapper.selectByExample(skuStockExample); //获取新增sku信息 List insertSkuList = currSkuList.stream().filter(item->item.getId()==null).collect(Collectors.toList()); //获取需要更新的sku信息 List updateSkuList = currSkuList.stream().filter(item->item.getId()!=null).collect(Collectors.toList()); List updateSkuIds = updateSkuList.stream().map(PmsSkuStock::getId).collect(Collectors.toList()); //获取需要删除的sku信息 List removeSkuList = oriStuList.stream().filter(item-> !updateSkuIds.contains(item.getId())).collect(Collectors.toList()); handleSkuStockCode(insertSkuList,id); handleSkuStockCode(updateSkuList,id); //新增sku if(CollUtil.isNotEmpty(insertSkuList)){ relateAndInsertList(skuStockDao, insertSkuList, id); } //删除sku if(CollUtil.isNotEmpty(removeSkuList)){ List removeSkuIds = removeSkuList.stream().map(PmsSkuStock::getId).collect(Collectors.toList()); PmsSkuStockExample removeExample = new PmsSkuStockExample(); removeExample.createCriteria().andIdIn(removeSkuIds); skuStockMapper.deleteByExample(removeExample); } //修改sku if(CollUtil.isNotEmpty(updateSkuList)){ for (PmsSkuStock pmsSkuStock : updateSkuList) { skuStockMapper.updateByPrimaryKeySelective(pmsSkuStock); } } } @Override public List list(PmsProductQueryParam productQueryParam, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); PmsProductExample productExample = new PmsProductExample(); PmsProductExample.Criteria criteria = productExample.createCriteria(); criteria.andDeleteStatusEqualTo(0); if (productQueryParam.getPublishStatus() != null) { criteria.andPublishStatusEqualTo(productQueryParam.getPublishStatus()); } if (productQueryParam.getVerifyStatus() != null) { criteria.andVerifyStatusEqualTo(productQueryParam.getVerifyStatus()); } if (!StringUtils.isEmpty(productQueryParam.getKeyword())) { criteria.andNameLike("%" + productQueryParam.getKeyword() + "%"); } if (!StringUtils.isEmpty(productQueryParam.getProductSn())) { criteria.andProductSnEqualTo(productQueryParam.getProductSn()); } if (productQueryParam.getBrandId() != null) { criteria.andBrandIdEqualTo(productQueryParam.getBrandId()); } if (productQueryParam.getProductCategoryId() != null) { criteria.andProductCategoryIdEqualTo(productQueryParam.getProductCategoryId()); } return productMapper.selectByExample(productExample); } @Override public int updateVerifyStatus(List ids, Integer verifyStatus, String detail) { PmsProduct product = new PmsProduct(); product.setVerifyStatus(verifyStatus); PmsProductExample example = new PmsProductExample(); example.createCriteria().andIdIn(ids); List list = new ArrayList<>(); int count = productMapper.updateByExampleSelective(product, example); //修改完审核状态后插入审核记录 for (Long id : ids) { PmsProductVertifyRecord record = new PmsProductVertifyRecord(); record.setProductId(id); record.setCreateTime(new Date()); record.setDetail(detail); record.setStatus(verifyStatus); record.setVertifyMan("test"); list.add(record); } productVertifyRecordDao.insertList(list); return count; } @Override public int updatePublishStatus(List ids, Integer publishStatus) { PmsProduct record = new PmsProduct(); record.setPublishStatus(publishStatus); PmsProductExample example = new PmsProductExample(); example.createCriteria().andIdIn(ids); return productMapper.updateByExampleSelective(record, example); } @Override public int updateRecommendStatus(List ids, Integer recommendStatus) { PmsProduct record = new PmsProduct(); record.setRecommandStatus(recommendStatus); PmsProductExample example = new PmsProductExample(); example.createCriteria().andIdIn(ids); return productMapper.updateByExampleSelective(record, example); } @Override public int updateNewStatus(List ids, Integer newStatus) { PmsProduct record = new PmsProduct(); record.setNewStatus(newStatus); PmsProductExample example = new PmsProductExample(); example.createCriteria().andIdIn(ids); return productMapper.updateByExampleSelective(record, example); } @Override public int updateDeleteStatus(List ids, Integer deleteStatus) { PmsProduct record = new PmsProduct(); record.setDeleteStatus(deleteStatus); PmsProductExample example = new PmsProductExample(); example.createCriteria().andIdIn(ids); return productMapper.updateByExampleSelective(record, example); } @Override public List list(String keyword) { PmsProductExample productExample = new PmsProductExample(); PmsProductExample.Criteria criteria = productExample.createCriteria(); criteria.andDeleteStatusEqualTo(0); if(!StringUtils.isEmpty(keyword)){ criteria.andNameLike("%" + keyword + "%"); productExample.or().andDeleteStatusEqualTo(0).andProductSnLike("%" + keyword + "%"); } return productMapper.selectByExample(productExample); } /** * 建立和插入关系表操作 * * @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("insertList", List.class); insertList.invoke(dao, dataList); } catch (Exception e) { LOGGER.warn("创建产品出错:{}", e.getMessage()); throw new RuntimeException(e.getMessage()); } } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/PmsSkuStockServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.macro.mall.dao.PmsSkuStockDao; import com.macro.mall.mapper.PmsSkuStockMapper; import com.macro.mall.model.PmsSkuStock; import com.macro.mall.model.PmsSkuStockExample; import com.macro.mall.service.PmsSkuStockService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 商品sku库存管理Service实现类 * Created by macro on 2018/4/27. */ @Service public class PmsSkuStockServiceImpl implements PmsSkuStockService { @Autowired private PmsSkuStockMapper skuStockMapper; @Autowired private PmsSkuStockDao skuStockDao; @Override public List getList(Long pid, String keyword) { PmsSkuStockExample example = new PmsSkuStockExample(); PmsSkuStockExample.Criteria criteria = example.createCriteria().andProductIdEqualTo(pid); if (!StringUtils.isEmpty(keyword)) { criteria.andSkuCodeLike("%" + keyword + "%"); } return skuStockMapper.selectByExample(example); } @Override public int update(Long pid, List skuStockList) { return skuStockDao.replaceList(skuStockList); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsCouponHistoryServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.SmsCouponHistoryMapper; import com.macro.mall.model.SmsCouponHistory; import com.macro.mall.model.SmsCouponHistoryExample; import com.macro.mall.service.SmsCouponHistoryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 优惠券领取记录管理Service实现类 * Created by macro on 2018/11/6. */ @Service public class SmsCouponHistoryServiceImpl implements SmsCouponHistoryService { @Autowired private SmsCouponHistoryMapper historyMapper; @Override public List list(Long couponId, Integer useStatus, String orderSn, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); SmsCouponHistoryExample example = new SmsCouponHistoryExample(); SmsCouponHistoryExample.Criteria criteria = example.createCriteria(); if(couponId!=null){ criteria.andCouponIdEqualTo(couponId); } if(useStatus!=null){ criteria.andUseStatusEqualTo(useStatus); } if(!StringUtils.isEmpty(orderSn)){ criteria.andOrderSnEqualTo(orderSn); } return historyMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsCouponServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.SmsCouponDao; import com.macro.mall.dao.SmsCouponProductCategoryRelationDao; import com.macro.mall.dao.SmsCouponProductRelationDao; import com.macro.mall.dto.SmsCouponParam; import com.macro.mall.mapper.SmsCouponMapper; import com.macro.mall.mapper.SmsCouponProductCategoryRelationMapper; import com.macro.mall.mapper.SmsCouponProductRelationMapper; import com.macro.mall.model.*; import com.macro.mall.service.SmsCouponService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 优惠券管理Service实现类 * Created by macro on 2018/8/28. */ @Service public class SmsCouponServiceImpl implements SmsCouponService { @Autowired private SmsCouponMapper couponMapper; @Autowired private SmsCouponProductRelationMapper productRelationMapper; @Autowired private SmsCouponProductCategoryRelationMapper productCategoryRelationMapper; @Autowired private SmsCouponProductRelationDao productRelationDao; @Autowired private SmsCouponProductCategoryRelationDao productCategoryRelationDao; @Autowired private SmsCouponDao couponDao; @Override public int create(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.insertList(couponParam.getProductRelationList()); } //插入优惠券和商品分类关系表 if(couponParam.getUseType().equals(1)){ for (SmsCouponProductCategoryRelation couponProductCategoryRelation : couponParam.getProductCategoryRelationList()) { couponProductCategoryRelation.setCouponId(couponParam.getId()); } productCategoryRelationDao.insertList(couponParam.getProductCategoryRelationList()); } return count; } @Override public int delete(Long id) { //删除优惠券 int count = couponMapper.deleteByPrimaryKey(id); //删除商品关联 deleteProductRelation(id); //删除商品分类关联 deleteProductCategoryRelation(id); return count; } private void deleteProductCategoryRelation(Long id) { SmsCouponProductCategoryRelationExample productCategoryRelationExample = new SmsCouponProductCategoryRelationExample(); productCategoryRelationExample.createCriteria().andCouponIdEqualTo(id); productCategoryRelationMapper.deleteByExample(productCategoryRelationExample); } private void deleteProductRelation(Long id) { SmsCouponProductRelationExample productRelationExample = new SmsCouponProductRelationExample(); productRelationExample.createCriteria().andCouponIdEqualTo(id); productRelationMapper.deleteByExample(productRelationExample); } @Override public int update(Long id, SmsCouponParam couponParam) { couponParam.setId(id); int count =couponMapper.updateByPrimaryKey(couponParam); //删除后插入优惠券和商品关系表 if(couponParam.getUseType().equals(2)){ for(SmsCouponProductRelation productRelation:couponParam.getProductRelationList()){ productRelation.setCouponId(couponParam.getId()); } deleteProductRelation(id); productRelationDao.insertList(couponParam.getProductRelationList()); } //删除后插入优惠券和商品分类关系表 if(couponParam.getUseType().equals(1)){ for (SmsCouponProductCategoryRelation couponProductCategoryRelation : couponParam.getProductCategoryRelationList()) { couponProductCategoryRelation.setCouponId(couponParam.getId()); } deleteProductCategoryRelation(id); productCategoryRelationDao.insertList(couponParam.getProductCategoryRelationList()); } return count; } @Override public List list(String name, Integer type, Integer pageSize, Integer pageNum) { SmsCouponExample example = new SmsCouponExample(); SmsCouponExample.Criteria criteria = example.createCriteria(); if(!StringUtils.isEmpty(name)){ criteria.andNameLike("%"+name+"%"); } if(type!=null){ criteria.andTypeEqualTo(type); } PageHelper.startPage(pageNum,pageSize); return couponMapper.selectByExample(example); } @Override public SmsCouponParam getItem(Long id) { return couponDao.getItem(id); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsFlashPromotionProductRelationServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.SmsFlashPromotionProductRelationDao; import com.macro.mall.dto.SmsFlashPromotionProduct; import com.macro.mall.mapper.SmsFlashPromotionProductRelationMapper; import com.macro.mall.model.SmsFlashPromotionProductRelation; import com.macro.mall.model.SmsFlashPromotionProductRelationExample; import com.macro.mall.service.SmsFlashPromotionProductRelationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 限时购商品关联管理Service实现类 * Created by macro on 2018/11/16. */ @Service public class SmsFlashPromotionProductRelationServiceImpl implements SmsFlashPromotionProductRelationService { @Autowired private SmsFlashPromotionProductRelationMapper relationMapper; @Autowired private SmsFlashPromotionProductRelationDao relationDao; @Override public int create(List relationList) { for (SmsFlashPromotionProductRelation relation : relationList) { relationMapper.insert(relation); } return relationList.size(); } @Override public int update(Long id, SmsFlashPromotionProductRelation relation) { relation.setId(id); return relationMapper.updateByPrimaryKey(relation); } @Override public int delete(Long id) { return relationMapper.deleteByPrimaryKey(id); } @Override public SmsFlashPromotionProductRelation getItem(Long id) { return relationMapper.selectByPrimaryKey(id); } @Override public List list(Long flashPromotionId, Long flashPromotionSessionId, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); return relationDao.getList(flashPromotionId,flashPromotionSessionId); } @Override public long getCount(Long flashPromotionId, Long flashPromotionSessionId) { SmsFlashPromotionProductRelationExample example = new SmsFlashPromotionProductRelationExample(); example.createCriteria() .andFlashPromotionIdEqualTo(flashPromotionId) .andFlashPromotionSessionIdEqualTo(flashPromotionSessionId); return relationMapper.countByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsFlashPromotionServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.SmsFlashPromotionMapper; import com.macro.mall.model.SmsFlashPromotion; import com.macro.mall.model.SmsFlashPromotionExample; import com.macro.mall.service.SmsFlashPromotionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.Date; import java.util.List; /** * 限时购活动管理Service实现类 * Created by macro on 2018/11/16. */ @Service public class SmsFlashPromotionServiceImpl implements SmsFlashPromotionService { @Autowired private SmsFlashPromotionMapper flashPromotionMapper; @Override public int create(SmsFlashPromotion flashPromotion) { flashPromotion.setCreateTime(new Date()); return flashPromotionMapper.insert(flashPromotion); } @Override public int update(Long id, SmsFlashPromotion flashPromotion) { flashPromotion.setId(id); return flashPromotionMapper.updateByPrimaryKey(flashPromotion); } @Override public int delete(Long id) { return flashPromotionMapper.deleteByPrimaryKey(id); } @Override public int updateStatus(Long id, Integer status) { SmsFlashPromotion flashPromotion = new SmsFlashPromotion(); flashPromotion.setId(id); flashPromotion.setStatus(status); return flashPromotionMapper.updateByPrimaryKeySelective(flashPromotion); } @Override public SmsFlashPromotion getItem(Long id) { return flashPromotionMapper.selectByPrimaryKey(id); } @Override public List list(String keyword, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); SmsFlashPromotionExample example = new SmsFlashPromotionExample(); if (!StringUtils.isEmpty(keyword)) { example.createCriteria().andTitleLike("%" + keyword + "%"); } return flashPromotionMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsFlashPromotionSessionServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.macro.mall.dto.SmsFlashPromotionSessionDetail; import com.macro.mall.mapper.SmsFlashPromotionSessionMapper; import com.macro.mall.model.SmsFlashPromotionSession; import com.macro.mall.model.SmsFlashPromotionSessionExample; import com.macro.mall.service.SmsFlashPromotionProductRelationService; import com.macro.mall.service.SmsFlashPromotionSessionService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 限时购场次管理Service实现类 * Created by macro on 2018/11/16. */ @Service public class SmsFlashPromotionSessionServiceImpl implements SmsFlashPromotionSessionService { @Autowired private SmsFlashPromotionSessionMapper promotionSessionMapper; @Autowired private SmsFlashPromotionProductRelationService relationService; @Override public int create(SmsFlashPromotionSession promotionSession) { promotionSession.setCreateTime(new Date()); return promotionSessionMapper.insert(promotionSession); } @Override public int update(Long id, SmsFlashPromotionSession promotionSession) { promotionSession.setId(id); return promotionSessionMapper.updateByPrimaryKey(promotionSession); } @Override public int updateStatus(Long id, Integer status) { SmsFlashPromotionSession promotionSession = new SmsFlashPromotionSession(); promotionSession.setId(id); promotionSession.setStatus(status); return promotionSessionMapper.updateByPrimaryKeySelective(promotionSession); } @Override public int delete(Long id) { return promotionSessionMapper.deleteByPrimaryKey(id); } @Override public SmsFlashPromotionSession getItem(Long id) { return promotionSessionMapper.selectByPrimaryKey(id); } @Override public List list() { SmsFlashPromotionSessionExample example = new SmsFlashPromotionSessionExample(); return promotionSessionMapper.selectByExample(example); } @Override public List selectList(Long flashPromotionId) { List result = new ArrayList<>(); SmsFlashPromotionSessionExample example = new SmsFlashPromotionSessionExample(); example.createCriteria().andStatusEqualTo(1); List list = promotionSessionMapper.selectByExample(example); for (SmsFlashPromotionSession promotionSession : list) { SmsFlashPromotionSessionDetail detail = new SmsFlashPromotionSessionDetail(); BeanUtils.copyProperties(promotionSession, detail); long count = relationService.getCount(flashPromotionId, promotionSession.getId()); detail.setProductCount(count); result.add(detail); } return result; } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeAdvertiseServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.SmsHomeAdvertiseMapper; import com.macro.mall.model.SmsHomeAdvertise; import com.macro.mall.model.SmsHomeAdvertiseExample; import com.macro.mall.service.SmsHomeAdvertiseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** * 首页广告管理Service实现类 * Created by macro on 2018/11/7. */ @Service public class SmsHomeAdvertiseServiceImpl implements SmsHomeAdvertiseService { @Autowired private SmsHomeAdvertiseMapper advertiseMapper; @Override public int create(SmsHomeAdvertise advertise) { advertise.setClickCount(0); advertise.setOrderCount(0); return advertiseMapper.insert(advertise); } @Override public int delete(List ids) { SmsHomeAdvertiseExample example = new SmsHomeAdvertiseExample(); example.createCriteria().andIdIn(ids); return advertiseMapper.deleteByExample(example); } @Override public int updateStatus(Long id, Integer status) { SmsHomeAdvertise record = new SmsHomeAdvertise(); record.setId(id); record.setStatus(status); return advertiseMapper.updateByPrimaryKeySelective(record); } @Override public SmsHomeAdvertise getItem(Long id) { return advertiseMapper.selectByPrimaryKey(id); } @Override public int update(Long id, SmsHomeAdvertise advertise) { advertise.setId(id); return advertiseMapper.updateByPrimaryKeySelective(advertise); } @Override public List list(String name, Integer type, String endTime, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); SmsHomeAdvertiseExample example = new SmsHomeAdvertiseExample(); SmsHomeAdvertiseExample.Criteria criteria = example.createCriteria(); if (!StringUtils.isEmpty(name)) { criteria.andNameLike("%" + name + "%"); } if (type != null) { criteria.andTypeEqualTo(type); } if (!StringUtils.isEmpty(endTime)) { String startStr = endTime + " 00:00:00"; String endStr = endTime + " 23:59:59"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date start = null; try { start = sdf.parse(startStr); } catch (ParseException e) { e.printStackTrace(); } Date end = null; try { end = sdf.parse(endStr); } catch (ParseException e) { e.printStackTrace(); } if (start != null && end != null) { criteria.andEndTimeBetween(start, end); } } example.setOrderByClause("sort desc"); return advertiseMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeBrandServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.SmsHomeBrandMapper; import com.macro.mall.model.SmsHomeBrand; import com.macro.mall.model.SmsHomeBrandExample; import com.macro.mall.service.SmsHomeBrandService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 首页品牌管理Service实现类 * Created by macro on 2018/11/6. */ @Service public class SmsHomeBrandServiceImpl implements SmsHomeBrandService { @Autowired private SmsHomeBrandMapper homeBrandMapper; @Override public int create(List homeBrandList) { for (SmsHomeBrand smsHomeBrand : homeBrandList) { smsHomeBrand.setRecommendStatus(1); smsHomeBrand.setSort(0); homeBrandMapper.insert(smsHomeBrand); } return homeBrandList.size(); } @Override public int updateSort(Long id, Integer sort) { SmsHomeBrand homeBrand = new SmsHomeBrand(); homeBrand.setId(id); homeBrand.setSort(sort); return homeBrandMapper.updateByPrimaryKeySelective(homeBrand); } @Override public int delete(List ids) { SmsHomeBrandExample example = new SmsHomeBrandExample(); example.createCriteria().andIdIn(ids); return homeBrandMapper.deleteByExample(example); } @Override public int updateRecommendStatus(List ids, Integer recommendStatus) { SmsHomeBrandExample example = new SmsHomeBrandExample(); example.createCriteria().andIdIn(ids); SmsHomeBrand record = new SmsHomeBrand(); record.setRecommendStatus(recommendStatus); return homeBrandMapper.updateByExampleSelective(record,example); } @Override public List list(String brandName, Integer recommendStatus, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); SmsHomeBrandExample example = new SmsHomeBrandExample(); SmsHomeBrandExample.Criteria criteria = example.createCriteria(); if(!StringUtils.isEmpty(brandName)){ criteria.andBrandNameLike("%"+brandName+"%"); } if(recommendStatus!=null){ criteria.andRecommendStatusEqualTo(recommendStatus); } example.setOrderByClause("sort desc"); return homeBrandMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeNewProductServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.SmsHomeNewProductMapper; import com.macro.mall.model.SmsHomeNewProduct; import com.macro.mall.model.SmsHomeNewProductExample; import com.macro.mall.service.SmsHomeNewProductService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 首页新品推荐管理Service实现类 * Created by macro on 2018/11/6. */ @Service public class SmsHomeNewProductServiceImpl implements SmsHomeNewProductService { @Autowired private SmsHomeNewProductMapper homeNewProductMapper; @Override public int create(List homeNewProductList) { for (SmsHomeNewProduct SmsHomeNewProduct : homeNewProductList) { SmsHomeNewProduct.setRecommendStatus(1); SmsHomeNewProduct.setSort(0); homeNewProductMapper.insert(SmsHomeNewProduct); } return homeNewProductList.size(); } @Override public int updateSort(Long id, Integer sort) { SmsHomeNewProduct homeNewProduct = new SmsHomeNewProduct(); homeNewProduct.setId(id); homeNewProduct.setSort(sort); return homeNewProductMapper.updateByPrimaryKeySelective(homeNewProduct); } @Override public int delete(List ids) { SmsHomeNewProductExample example = new SmsHomeNewProductExample(); example.createCriteria().andIdIn(ids); return homeNewProductMapper.deleteByExample(example); } @Override public int updateRecommendStatus(List ids, Integer recommendStatus) { SmsHomeNewProductExample example = new SmsHomeNewProductExample(); example.createCriteria().andIdIn(ids); SmsHomeNewProduct record = new SmsHomeNewProduct(); record.setRecommendStatus(recommendStatus); return homeNewProductMapper.updateByExampleSelective(record,example); } @Override public List list(String productName, Integer recommendStatus, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); SmsHomeNewProductExample example = new SmsHomeNewProductExample(); SmsHomeNewProductExample.Criteria criteria = example.createCriteria(); if(!StringUtils.isEmpty(productName)){ criteria.andProductNameLike("%"+productName+"%"); } if(recommendStatus!=null){ criteria.andRecommendStatusEqualTo(recommendStatus); } example.setOrderByClause("sort desc"); return homeNewProductMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeRecommendProductServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.SmsHomeRecommendProductMapper; import com.macro.mall.model.SmsHomeRecommendProduct; import com.macro.mall.model.SmsHomeRecommendProductExample; import com.macro.mall.service.SmsHomeRecommendProductService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 首页人气推荐管理Service实现类 * Created by macro on 2018/11/7. */ @Service public class SmsHomeRecommendProductServiceImpl implements SmsHomeRecommendProductService { @Autowired private SmsHomeRecommendProductMapper recommendProductMapper; @Override public int create(List homeRecommendProductList) { for (SmsHomeRecommendProduct recommendProduct : homeRecommendProductList) { recommendProduct.setRecommendStatus(1); recommendProduct.setSort(0); recommendProductMapper.insert(recommendProduct); } return homeRecommendProductList.size(); } @Override public int updateSort(Long id, Integer sort) { SmsHomeRecommendProduct recommendProduct = new SmsHomeRecommendProduct(); recommendProduct.setId(id); recommendProduct.setSort(sort); return recommendProductMapper.updateByPrimaryKeySelective(recommendProduct); } @Override public int delete(List ids) { SmsHomeRecommendProductExample example = new SmsHomeRecommendProductExample(); example.createCriteria().andIdIn(ids); return recommendProductMapper.deleteByExample(example); } @Override public int updateRecommendStatus(List ids, Integer recommendStatus) { SmsHomeRecommendProductExample example = new SmsHomeRecommendProductExample(); example.createCriteria().andIdIn(ids); SmsHomeRecommendProduct record = new SmsHomeRecommendProduct(); record.setRecommendStatus(recommendStatus); return recommendProductMapper.updateByExampleSelective(record,example); } @Override public List list(String productName, Integer recommendStatus, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); SmsHomeRecommendProductExample example = new SmsHomeRecommendProductExample(); SmsHomeRecommendProductExample.Criteria criteria = example.createCriteria(); if(!StringUtils.isEmpty(productName)){ criteria.andProductNameLike("%"+productName+"%"); } if(recommendStatus!=null){ criteria.andRecommendStatusEqualTo(recommendStatus); } example.setOrderByClause("sort desc"); return recommendProductMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/SmsHomeRecommendSubjectServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.SmsHomeRecommendSubjectMapper; import com.macro.mall.model.SmsHomeRecommendSubject; import com.macro.mall.model.SmsHomeRecommendSubjectExample; import com.macro.mall.service.SmsHomeRecommendSubjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; /** * 首页专题推荐管理Service实现类 * Created by macro on 2018/11/7. */ @Service public class SmsHomeRecommendSubjectServiceImpl implements SmsHomeRecommendSubjectService { @Autowired private SmsHomeRecommendSubjectMapper recommendProductMapper; @Override public int create(List recommendSubjectList) { for (SmsHomeRecommendSubject recommendProduct : recommendSubjectList) { recommendProduct.setRecommendStatus(1); recommendProduct.setSort(0); recommendProductMapper.insert(recommendProduct); } return recommendSubjectList.size(); } @Override public int updateSort(Long id, Integer sort) { SmsHomeRecommendSubject recommendProduct = new SmsHomeRecommendSubject(); recommendProduct.setId(id); recommendProduct.setSort(sort); return recommendProductMapper.updateByPrimaryKeySelective(recommendProduct); } @Override public int delete(List ids) { SmsHomeRecommendSubjectExample example = new SmsHomeRecommendSubjectExample(); example.createCriteria().andIdIn(ids); return recommendProductMapper.deleteByExample(example); } @Override public int updateRecommendStatus(List ids, Integer recommendStatus) { SmsHomeRecommendSubjectExample example = new SmsHomeRecommendSubjectExample(); example.createCriteria().andIdIn(ids); SmsHomeRecommendSubject record = new SmsHomeRecommendSubject(); record.setRecommendStatus(recommendStatus); return recommendProductMapper.updateByExampleSelective(record,example); } @Override public List list(String subjectName, Integer recommendStatus, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); SmsHomeRecommendSubjectExample example = new SmsHomeRecommendSubjectExample(); SmsHomeRecommendSubjectExample.Criteria criteria = example.createCriteria(); if(!StringUtils.isEmpty(subjectName)){ criteria.andSubjectNameLike("%"+subjectName+"%"); } if(recommendStatus!=null){ criteria.andRecommendStatusEqualTo(recommendStatus); } example.setOrderByClause("sort desc"); return recommendProductMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminCacheServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.macro.mall.common.service.RedisService; import com.macro.mall.model.UmsAdmin; import com.macro.mall.service.UmsAdminCacheService; import com.macro.mall.service.UmsAdminService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; /** * UmsAdminCacheService实现类 * Created by macro on 2020/3/13. */ @Service public class UmsAdminCacheServiceImpl implements UmsAdminCacheService { @Autowired private RedisService redisService; @Value("${redis.database}") private String REDIS_DATABASE; @Value("${redis.expire.common}") private Long REDIS_EXPIRE; @Value("${redis.key.admin}") private String REDIS_KEY_ADMIN; @Override public void delAdmin(Long adminId) { String key = REDIS_DATABASE + ":" + REDIS_KEY_ADMIN + ":" + adminId; redisService.del(key); } @Override public UmsAdmin getAdmin(Long adminId) { String key = REDIS_DATABASE + ":" + REDIS_KEY_ADMIN + ":" + adminId; return (UmsAdmin) redisService.get(key); } @Override public void setAdmin(UmsAdmin admin) { String key = REDIS_DATABASE + ":" + REDIS_KEY_ADMIN + ":" + admin.getId(); redisService.set(key, admin, REDIS_EXPIRE); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/UmsAdminServiceImpl.java ================================================ package com.macro.mall.service.impl; import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.BCrypt; import cn.hutool.extra.spring.SpringUtil; import cn.hutool.json.JSONUtil; import com.github.pagehelper.PageHelper; import com.macro.mall.common.api.CommonResult; import com.macro.mall.common.api.ResultCode; import com.macro.mall.common.constant.AuthConstant; import com.macro.mall.common.dto.UserDto; import com.macro.mall.common.exception.Asserts; import com.macro.mall.dao.UmsAdminRoleRelationDao; import com.macro.mall.dto.UmsAdminParam; import com.macro.mall.dto.UpdateAdminPasswordParam; import com.macro.mall.mapper.UmsAdminLoginLogMapper; import com.macro.mall.mapper.UmsAdminMapper; import com.macro.mall.mapper.UmsAdminRoleRelationMapper; import com.macro.mall.model.*; import com.macro.mall.service.UmsAdminCacheService; import com.macro.mall.service.UmsAdminService; import jakarta.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import java.util.*; import java.util.stream.Collectors; /** * UmsAdminService实现类 * Created by macro on 2018/4/26. */ @Service public class UmsAdminServiceImpl implements UmsAdminService { private static final Logger LOGGER = LoggerFactory.getLogger(UmsAdminServiceImpl.class); @Autowired private UmsAdminMapper adminMapper; @Autowired private UmsAdminRoleRelationMapper adminRoleRelationMapper; @Autowired private UmsAdminRoleRelationDao adminRoleRelationDao; @Autowired private UmsAdminLoginLogMapper loginLogMapper; @Autowired private UmsAdminCacheService adminCacheService; @Override public UmsAdmin getAdminByUsername(String username) { UmsAdminExample example = new UmsAdminExample(); example.createCriteria().andUsernameEqualTo(username); List adminList = adminMapper.selectByExample(example); if (adminList != null && adminList.size() > 0) { return adminList.get(0); } return null; } @Override public UmsAdmin register(UmsAdminParam umsAdminParam) { UmsAdmin umsAdmin = new UmsAdmin(); BeanUtils.copyProperties(umsAdminParam, umsAdmin); umsAdmin.setCreateTime(new Date()); umsAdmin.setStatus(1); //查询是否有相同用户名的用户 UmsAdminExample example = new UmsAdminExample(); example.createCriteria().andUsernameEqualTo(umsAdmin.getUsername()); List umsAdminList = adminMapper.selectByExample(example); if (umsAdminList.size() > 0) { return null; } //将密码进行加密操作 String encodePassword = BCrypt.hashpw(umsAdmin.getPassword()); umsAdmin.setPassword(encodePassword); adminMapper.insert(umsAdmin); return umsAdmin; } @Override public SaTokenInfo login(String username, String password) { if(StrUtil.isEmpty(username)||StrUtil.isEmpty(password)){ Asserts.fail("用户名或密码不能为空!"); } UmsAdmin admin = getAdminByUsername(username); if(admin==null){ Asserts.fail("找不到该用户!"); } if (!BCrypt.checkpw(password, admin.getPassword())) { Asserts.fail("密码不正确!"); } if(admin.getStatus()!=1){ Asserts.fail("该账号已被禁用!"); } // 登录校验成功后,一行代码实现登录 StpUtil.login(admin.getId()); UserDto userDto = new UserDto(); userDto.setId(admin.getId()); userDto.setUsername(admin.getUsername()); userDto.setClientId(AuthConstant.ADMIN_CLIENT_ID); List resourceList = getResourceList(admin.getId()); List permissionList = resourceList.stream().map(item -> item.getId() + ":" + item.getName()).toList(); userDto.setPermissionList(permissionList); // 将用户信息存储到Session中 StpUtil.getSession().set(AuthConstant.STP_ADMIN_INFO,userDto); // 获取当前登录用户Token信息 SaTokenInfo saTokenInfo = StpUtil.getTokenInfo(); // updateLoginTimeByUsername(username); insertLoginLog(admin); return saTokenInfo; } /** * 添加登录记录 */ private void insertLoginLog(UmsAdmin admin) { if(admin==null) return; UmsAdminLoginLog loginLog = new UmsAdminLoginLog(); loginLog.setAdminId(admin.getId()); loginLog.setCreateTime(new Date()); ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); loginLog.setIp(request.getRemoteAddr()); loginLogMapper.insert(loginLog); } /** * 根据用户名修改登录时间 */ private void updateLoginTimeByUsername(String username) { UmsAdmin record = new UmsAdmin(); record.setLoginTime(new Date()); UmsAdminExample example = new UmsAdminExample(); example.createCriteria().andUsernameEqualTo(username); adminMapper.updateByExampleSelective(record, example); } @Override public UmsAdmin getItem(Long id) { return adminMapper.selectByPrimaryKey(id); } @Override public List list(String keyword, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); UmsAdminExample example = new UmsAdminExample(); UmsAdminExample.Criteria criteria = example.createCriteria(); if (!StringUtils.isEmpty(keyword)) { criteria.andUsernameLike("%" + keyword + "%"); example.or(example.createCriteria().andNickNameLike("%" + keyword + "%")); } return adminMapper.selectByExample(example); } @Override public int update(Long id, UmsAdmin admin) { admin.setId(id); UmsAdmin rawAdmin = adminMapper.selectByPrimaryKey(id); if(rawAdmin.getPassword().equals(admin.getPassword())){ //与原加密密码相同的不需要修改 admin.setPassword(null); }else{ //与原加密密码不同的需要加密修改 if(StrUtil.isEmpty(admin.getPassword())){ admin.setPassword(null); }else{ admin.setPassword(BCrypt.hashpw(admin.getPassword())); } } int count = adminMapper.updateByPrimaryKeySelective(admin); adminCacheService.delAdmin(id); return count; } @Override public int delete(Long id) { int count = adminMapper.deleteByPrimaryKey(id); adminCacheService.delAdmin(id); return count; } @Override public int updateRole(Long adminId, List roleIds) { int count = roleIds == null ? 0 : roleIds.size(); //先删除原来的关系 UmsAdminRoleRelationExample adminRoleRelationExample = new UmsAdminRoleRelationExample(); adminRoleRelationExample.createCriteria().andAdminIdEqualTo(adminId); adminRoleRelationMapper.deleteByExample(adminRoleRelationExample); //建立新关系 if (!CollectionUtils.isEmpty(roleIds)) { List list = new ArrayList<>(); for (Long roleId : roleIds) { UmsAdminRoleRelation roleRelation = new UmsAdminRoleRelation(); roleRelation.setAdminId(adminId); roleRelation.setRoleId(roleId); list.add(roleRelation); } adminRoleRelationDao.insertList(list); } return count; } @Override public List getRoleList(Long adminId) { return adminRoleRelationDao.getRoleList(adminId); } @Override public List getResourceList(Long adminId) { return adminRoleRelationDao.getResourceList(adminId); } @Override public int updatePassword(UpdateAdminPasswordParam param) { if(StrUtil.isEmpty(param.getUsername()) ||StrUtil.isEmpty(param.getOldPassword()) ||StrUtil.isEmpty(param.getNewPassword())){ return -1; } UmsAdminExample example = new UmsAdminExample(); example.createCriteria().andUsernameEqualTo(param.getUsername()); List adminList = adminMapper.selectByExample(example); if(CollUtil.isEmpty(adminList)){ return -2; } UmsAdmin umsAdmin = adminList.get(0); if(!BCrypt.checkpw(param.getOldPassword(),umsAdmin.getPassword())){ return -3; } umsAdmin.setPassword(BCrypt.hashpw(param.getNewPassword())); adminMapper.updateByPrimaryKey(umsAdmin); adminCacheService.delAdmin(umsAdmin.getId()); return 1; } @Override public UmsAdmin getCurrentAdmin() { UserDto userDto = (UserDto) StpUtil.getSession().get(AuthConstant.STP_ADMIN_INFO); UmsAdmin admin = adminCacheService.getAdmin(userDto.getId()); if (admin == null) { admin = adminMapper.selectByPrimaryKey(userDto.getId()); adminCacheService.setAdmin(admin); } return admin; } @Override public void logout() { //先清空缓存 UserDto userDto = (UserDto) StpUtil.getSession().get(AuthConstant.STP_ADMIN_INFO); adminCacheService.delAdmin(userDto.getId()); //再调用sa-token的登出方法 StpUtil.logout(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/UmsMemberLevelServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.macro.mall.mapper.UmsMemberLevelMapper; import com.macro.mall.model.UmsMemberLevel; import com.macro.mall.model.UmsMemberLevelExample; import com.macro.mall.service.UmsMemberLevelService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 会员等级管理Service实现类 * Created by macro on 2018/4/26. */ @Service public class UmsMemberLevelServiceImpl implements UmsMemberLevelService{ @Autowired private UmsMemberLevelMapper memberLevelMapper; @Override public List list(Integer defaultStatus) { UmsMemberLevelExample example = new UmsMemberLevelExample(); example.createCriteria().andDefaultStatusEqualTo(defaultStatus); return memberLevelMapper.selectByExample(example); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/UmsMenuServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dto.UmsMenuNode; import com.macro.mall.mapper.UmsMenuMapper; import com.macro.mall.model.*; import com.macro.mall.service.UmsMenuService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * 后台菜单管理Service实现类 * Created by macro on 2020/2/2. */ @Service public class UmsMenuServiceImpl implements UmsMenuService { @Autowired private UmsMenuMapper menuMapper; @Override public int create(UmsMenu umsMenu) { umsMenu.setCreateTime(new Date()); updateLevel(umsMenu); return menuMapper.insert(umsMenu); } /** * 修改菜单层级 */ private void updateLevel(UmsMenu umsMenu) { if (umsMenu.getParentId() == 0) { //没有父菜单时为一级菜单 umsMenu.setLevel(0); } else { //有父菜单时选择根据父菜单level设置 UmsMenu parentMenu = menuMapper.selectByPrimaryKey(umsMenu.getParentId()); if (parentMenu != null) { umsMenu.setLevel(parentMenu.getLevel() + 1); } else { umsMenu.setLevel(0); } } } @Override public int update(Long id, UmsMenu umsMenu) { umsMenu.setId(id); updateLevel(umsMenu); return menuMapper.updateByPrimaryKeySelective(umsMenu); } @Override public UmsMenu getItem(Long id) { return menuMapper.selectByPrimaryKey(id); } @Override public int delete(Long id) { return menuMapper.deleteByPrimaryKey(id); } @Override public List list(Long parentId, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); UmsMenuExample example = new UmsMenuExample(); example.setOrderByClause("sort desc"); example.createCriteria().andParentIdEqualTo(parentId); return menuMapper.selectByExample(example); } @Override public List treeList() { List menuList = menuMapper.selectByExample(new UmsMenuExample()); List result = menuList.stream() .filter(menu -> menu.getParentId().equals(0L)) .map(menu -> covertMenuNode(menu, menuList)).collect(Collectors.toList()); return result; } @Override public int updateHidden(Long id, Integer hidden) { UmsMenu umsMenu = new UmsMenu(); umsMenu.setId(id); umsMenu.setHidden(hidden); return menuMapper.updateByPrimaryKeySelective(umsMenu); } /** * 将UmsMenu转化为UmsMenuNode并设置children属性 */ private UmsMenuNode covertMenuNode(UmsMenu menu, List menuList) { UmsMenuNode node = new UmsMenuNode(); BeanUtils.copyProperties(menu, node); List children = menuList.stream() .filter(subMenu -> subMenu.getParentId().equals(menu.getId())) .map(subMenu -> covertMenuNode(subMenu, menuList)).collect(Collectors.toList()); node.setChildren(children); return node; } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/UmsResourceCategoryServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.macro.mall.mapper.UmsResourceCategoryMapper; import com.macro.mall.model.UmsResourceCategory; import com.macro.mall.model.UmsResourceCategoryExample; import com.macro.mall.service.UmsResourceCategoryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * 后台资源分类管理Service实现类 * Created by macro on 2020/2/5. */ @Service public class UmsResourceCategoryServiceImpl implements UmsResourceCategoryService { @Autowired private UmsResourceCategoryMapper resourceCategoryMapper; @Override public List listAll() { UmsResourceCategoryExample example = new UmsResourceCategoryExample(); example.setOrderByClause("sort desc"); return resourceCategoryMapper.selectByExample(example); } @Override public int create(UmsResourceCategory umsResourceCategory) { umsResourceCategory.setCreateTime(new Date()); return resourceCategoryMapper.insert(umsResourceCategory); } @Override public int update(Long id, UmsResourceCategory umsResourceCategory) { umsResourceCategory.setId(id); return resourceCategoryMapper.updateByPrimaryKeySelective(umsResourceCategory); } @Override public int delete(Long id) { return resourceCategoryMapper.deleteByPrimaryKey(id); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/UmsResourceServiceImpl.java ================================================ package com.macro.mall.service.impl; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.macro.mall.common.constant.AuthConstant; import com.macro.mall.common.service.RedisService; import com.macro.mall.mapper.UmsResourceMapper; import com.macro.mall.model.*; import com.macro.mall.service.UmsResourceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.*; /** * 后台资源管理Service实现类 * Created by macro on 2020/2/2. */ @Service public class UmsResourceServiceImpl implements UmsResourceService { @Autowired private UmsResourceMapper resourceMapper; @Autowired private RedisService redisService; @Value("${spring.application.name}") private String applicationName; @Override public int create(UmsResource umsResource) { umsResource.setCreateTime(new Date()); int count = resourceMapper.insert(umsResource); initPathResourceMap(); return count; } @Override public int update(Long id, UmsResource umsResource) { umsResource.setId(id); int count = resourceMapper.updateByPrimaryKeySelective(umsResource); initPathResourceMap(); return count; } @Override public UmsResource getItem(Long id) { return resourceMapper.selectByPrimaryKey(id); } @Override public int delete(Long id) { int count = resourceMapper.deleteByPrimaryKey(id); initPathResourceMap(); return count; } @Override public List list(Long categoryId, String nameKeyword, String urlKeyword, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); UmsResourceExample example = new UmsResourceExample(); UmsResourceExample.Criteria criteria = example.createCriteria(); if(categoryId!=null){ criteria.andCategoryIdEqualTo(categoryId); } if(StrUtil.isNotEmpty(nameKeyword)){ criteria.andNameLike('%'+nameKeyword+'%'); } if(StrUtil.isNotEmpty(urlKeyword)){ criteria.andUrlLike('%'+urlKeyword+'%'); } return resourceMapper.selectByExample(example); } @Override public List listAll() { return resourceMapper.selectByExample(new UmsResourceExample()); } @Override public Map initPathResourceMap() { Map pathResourceMap = new TreeMap<>(); List resourceList = resourceMapper.selectByExample(new UmsResourceExample()); for (UmsResource resource : resourceList) { pathResourceMap.put("/"+applicationName+resource.getUrl(),resource.getId()+":"+resource.getName()); } redisService.del(AuthConstant.PATH_RESOURCE_MAP); redisService.hSetAll(AuthConstant.PATH_RESOURCE_MAP, pathResourceMap); return pathResourceMap; } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/service/impl/UmsRoleServiceImpl.java ================================================ package com.macro.mall.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.dao.UmsRoleDao; import com.macro.mall.mapper.UmsRoleMapper; import com.macro.mall.mapper.UmsRoleMenuRelationMapper; import com.macro.mall.mapper.UmsRoleResourceRelationMapper; import com.macro.mall.model.*; import com.macro.mall.service.UmsResourceService; import com.macro.mall.service.UmsRoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.Date; import java.util.List; /** * 后台角色管理Service实现类 * Created by macro on 2018/9/30. */ @Service public class UmsRoleServiceImpl implements UmsRoleService { @Autowired private UmsRoleMapper roleMapper; @Autowired private UmsRoleMenuRelationMapper roleMenuRelationMapper; @Autowired private UmsRoleResourceRelationMapper roleResourceRelationMapper; @Autowired private UmsRoleDao roleDao; @Autowired private UmsResourceService resourceService; @Override public int create(UmsRole role) { role.setCreateTime(new Date()); role.setAdminCount(0); role.setSort(0); return roleMapper.insert(role); } @Override public int update(Long id, UmsRole role) { role.setId(id); return roleMapper.updateByPrimaryKeySelective(role); } @Override public int delete(List ids) { UmsRoleExample example = new UmsRoleExample(); example.createCriteria().andIdIn(ids); int count = roleMapper.deleteByExample(example); resourceService.initPathResourceMap(); return count; } @Override public List list() { return roleMapper.selectByExample(new UmsRoleExample()); } @Override public List list(String keyword, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum, pageSize); UmsRoleExample example = new UmsRoleExample(); if (!StringUtils.isEmpty(keyword)) { example.createCriteria().andNameLike("%" + keyword + "%"); } return roleMapper.selectByExample(example); } @Override public List getMenuList(Long adminId) { return roleDao.getMenuList(adminId); } @Override public List listMenu(Long roleId) { return roleDao.getMenuListByRoleId(roleId); } @Override public List listResource(Long roleId) { return roleDao.getResourceListByRoleId(roleId); } @Override public int allocMenu(Long roleId, List menuIds) { //先删除原有关系 UmsRoleMenuRelationExample example=new UmsRoleMenuRelationExample(); example.createCriteria().andRoleIdEqualTo(roleId); roleMenuRelationMapper.deleteByExample(example); //批量插入新关系 for (Long menuId : menuIds) { UmsRoleMenuRelation relation = new UmsRoleMenuRelation(); relation.setRoleId(roleId); relation.setMenuId(menuId); roleMenuRelationMapper.insert(relation); } return menuIds.size(); } @Override public int allocResource(Long roleId, List resourceIds) { //先删除原有关系 UmsRoleResourceRelationExample example=new UmsRoleResourceRelationExample(); example.createCriteria().andRoleIdEqualTo(roleId); roleResourceRelationMapper.deleteByExample(example); //批量插入新关系 for (Long resourceId : resourceIds) { UmsRoleResourceRelation relation = new UmsRoleResourceRelation(); relation.setRoleId(roleId); relation.setResourceId(resourceId); roleResourceRelationMapper.insert(relation); } resourceService.initPathResourceMap(); return resourceIds.size(); } } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/validator/FlagValidator.java ================================================ package com.macro.mall.validator; import jakarta.validation.Constraint; import jakarta.validation.Payload; import java.lang.annotation.*; /** * 用户验证状态是否在指定范围内的注解 * Created by macro on 2018/4/26. */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD,ElementType.PARAMETER}) @Constraint(validatedBy = FlagValidatorClass.class) public @interface FlagValidator { String[] value() default {}; String message() default "flag is not found"; Class[] groups() default {}; Class[] payload() default {}; } ================================================ FILE: mall-admin/src/main/java/com/macro/mall/validator/FlagValidatorClass.java ================================================ package com.macro.mall.validator; import jakarta.validation.ConstraintValidator; import jakarta.validation.ConstraintValidatorContext; /** * 状态标记校验器 * Created by macro on 2018/4/26. */ public class FlagValidatorClass implements ConstraintValidator { private String[] values; @Override public void initialize(FlagValidator flagValidator) { this.values = flagValidator.value(); } @Override public boolean isValid(Integer value, ConstraintValidatorContext constraintValidatorContext) { boolean isValid = false; if(value==null){ //当状态为空时使用默认值 return true; } for(int i=0;i insert into cms_prefrence_area_product_relation (prefrence_area_id, product_id) values (#{item.prefrenceAreaId,jdbcType=BIGINT}, #{item.productId,jdbcType=BIGINT}) ================================================ FILE: mall-admin/src/main/resources/dao/CmsSubjectProductRelationDao.xml ================================================ insert into cms_subject_product_relation (subject_id, product_id) values (#{item.subjectId,jdbcType=BIGINT}, #{item.productId,jdbcType=BIGINT}) ================================================ FILE: mall-admin/src/main/resources/dao/OmsOrderDao.xml ================================================ UPDATE oms_order SET delivery_sn = CASE id WHEN #{item.orderId} THEN #{item.deliverySn} END, delivery_company = CASE id WHEN #{item.orderId} THEN #{item.deliveryCompany} END, delivery_time = CASE id WHEN #{item.orderId} THEN now() END, `status` = CASE id WHEN #{item.orderId} THEN 2 END WHERE id IN #{item.orderId} AND `status` = 1 ================================================ FILE: mall-admin/src/main/resources/dao/OmsOrderOperateHistoryDao.xml ================================================ INSERT INTO oms_order_operate_history (order_id, operate_man, create_time, order_status, note) VALUES (#{item.orderId}, #{item.operateMan}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.orderStatus}, #{item.note}) ================================================ FILE: mall-admin/src/main/resources/dao/OmsOrderReturnApplyDao.xml ================================================ ================================================ FILE: mall-admin/src/main/resources/dao/PmsMemberPriceDao.xml ================================================ INSERT INTO pms_member_price (product_id, member_level_id, member_price,member_level_name) VALUES (#{item.productId,jdbcType=BIGINT}, #{item.memberLevelId,jdbcType=BIGINT}, #{item.memberPrice,jdbcType=DECIMAL}, #{item.memberLevelName,jdbcType=VARCHAR}) ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductAttributeCategoryDao.xml ================================================ ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductAttributeDao.xml ================================================ ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductAttributeValueDao.xml ================================================ insert into pms_product_attribute_value (product_id,product_attribute_id,value) values (#{item.productId,jdbcType=BIGINT}, #{item.productAttributeId,jdbcType=BIGINT}, #{item.value,jdbcType=VARCHAR}) ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductCategoryAttributeRelationDao.xml ================================================ INSERT INTO pms_product_category_attribute_relation (product_category_id, product_attribute_id) VALUES (#{item.productCategoryId,jdbcType=BIGINT}, #{item.productAttributeId,jdbcType=BIGINT}) ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductCategoryDao.xml ================================================ ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductDao.xml ================================================ ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductFullReductionDao.xml ================================================ INSERT INTO pms_product_full_reduction (product_id, full_price, reduce_price) VALUES (#{item.productId,jdbcType=BIGINT}, #{item.fullPrice,jdbcType=DECIMAL}, #{item.reducePrice,jdbcType=DECIMAL}) ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductLadderDao.xml ================================================ INSERT INTO pms_product_ladder (product_id, count, discount, price) VALUES (#{item.productId,jdbcType=BIGINT}, #{item.count,jdbcType=INTEGER}, #{item.discount,jdbcType=DECIMAL}, #{item.price,jdbcType=DECIMAL}) ================================================ FILE: mall-admin/src/main/resources/dao/PmsProductVertifyRecordDao.xml ================================================ insert into pms_product_vertify_record (product_id, create_time, vertify_man,status, detail) values (#{item.productId,jdbcType=BIGINT}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.vertifyMan,jdbcType=VARCHAR}, #{item.status,jdbcType=INTEGER}, #{item.detail,jdbcType=VARCHAR}) ================================================ FILE: mall-admin/src/main/resources/dao/PmsSkuStockDao.xml ================================================ INSERT INTO pms_sku_stock (product_id, sku_code, price, stock, low_stock, pic, sale, sp_data) VALUES (#{item.productId,jdbcType=BIGINT}, #{item.skuCode,jdbcType=VARCHAR}, #{item.price,jdbcType=DECIMAL}, #{item.stock,jdbcType=INTEGER}, #{item.lowStock,jdbcType=INTEGER}, #{item.pic,jdbcType=VARCHAR}, #{item.sale,jdbcType=INTEGER}, #{item.spData,jdbcType=VARCHAR}) REPLACE INTO pms_sku_stock (id,product_id, sku_code, price, stock, low_stock,pic, sale, sp_data) 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.pic,jdbcType=VARCHAR}, #{item.sale,jdbcType=INTEGER}, #{item.spData,jdbcType=VARCHAR}) ================================================ FILE: mall-admin/src/main/resources/dao/SmsCouponDao.xml ================================================ ================================================ FILE: mall-admin/src/main/resources/dao/SmsCouponProductCategoryRelationDao.xml ================================================ INSERT INTO sms_coupon_product_category_relation (product_category_id,product_category_name,parent_category_name,coupon_id) VALUES (#{item.productCategoryId,jdbcType=BIGINT}, #{item.productCategoryName,jdbcType=VARCHAR}, #{item.parentCategoryName,jdbcType=VARCHAR}, #{item.couponId,jdbcType=BIGINT}) ================================================ FILE: mall-admin/src/main/resources/dao/SmsCouponProductRelationDao.xml ================================================ INSERT INTO sms_coupon_product_relation (product_id,product_name,product_sn,coupon_id) VALUES (#{item.productId,jdbcType=BIGINT}, #{item.productName,jdbcType=VARCHAR}, #{item.productSn,jdbcType=VARCHAR}, #{item.couponId,jdbcType=INTEGER}) ================================================ FILE: mall-admin/src/main/resources/dao/SmsFlashPromotionProductRelationDao.xml ================================================ ================================================ FILE: mall-admin/src/main/resources/dao/UmsAdminRoleRelationDao.xml ================================================ INSERT INTO ums_admin_role_relation (admin_id, role_id) VALUES (#{item.adminId,jdbcType=BIGINT}, #{item.roleId,jdbcType=BIGINT}) ================================================ FILE: mall-admin/src/main/resources/dao/UmsRoleDao.xml ================================================ ================================================ FILE: mall-admin/src/test/com/macro/mall/PmsDaoTests.java ================================================ package com.macro.mall; import cn.hutool.json.JSONUtil; import com.macro.mall.dao.PmsMemberPriceDao; import com.macro.mall.dao.PmsProductDao; import com.macro.mall.dto.PmsProductResult; import com.macro.mall.model.PmsMemberPrice; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; @SpringBootTest public class PmsDaoTests { @Autowired private PmsMemberPriceDao memberPriceDao; @Autowired private PmsProductDao productDao; private static final Logger LOGGER = LoggerFactory.getLogger(PmsDaoTests.class); @Test @Transactional @Rollback public void testInsertBatch(){ List list = new ArrayList<>(); for(int i=0;i<5;i++){ PmsMemberPrice memberPrice = new PmsMemberPrice(); memberPrice.setProductId(1L); memberPrice.setMemberLevelId((long) (i+1)); memberPrice.setMemberPrice(new BigDecimal("22")); list.add(memberPrice); } int count = memberPriceDao.insertList(list); assertEquals(5,count); } @Test public void testGetProductUpdateInfo(){ PmsProductResult productResult = productDao.getUpdateInfo(7L); String json = JSONUtil.parse(productResult).toString(); LOGGER.info(json); } } ================================================ FILE: mall-auth/pom.xml ================================================ 4.0.0 com.macro.mall mall-auth 1.0-SNAPSHOT jar mall-auth mall-auth project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT com.macro.mall mall-common org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-web com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.cloud spring-cloud-starter-openfeign de.codecentric spring-boot-admin-starter-client org.springframework.boot spring-boot-maven-plugin io.fabric8 docker-maven-plugin ================================================ FILE: mall-auth/src/main/java/com/macro/mall/auth/MallAuthApplication.java ================================================ package com.macro.mall.auth; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication(scanBasePackages = "com.macro.mall") public class MallAuthApplication { public static void main(String[] args) { SpringApplication.run(MallAuthApplication.class, args); } } ================================================ FILE: mall-auth/src/main/java/com/macro/mall/auth/config/SpringDocConfig.java ================================================ package com.macro.mall.auth.config; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * SpringDoc相关配置 * Created by macro on 2024/3/5. */ @Configuration public class SpringDocConfig implements WebMvcConfigurer { private static final String SECURITY_SCHEME_NAME = "Authorization"; @Bean public OpenAPI mallAuthOpenAPI() { return new OpenAPI() .info(new Info().title("mall认证中心") .description("mall认证中心相关接口文档") .version("v1.0.0") .license(new License().name("Apache 2.0") .url("https://github.com/macrozheng/mall-learning"))) .externalDocs(new ExternalDocumentation() .description("SpringBoot实战电商项目mall(60K+Star)全套文档") .url("http://www.macrozheng.com")) .addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)) .components(new Components() .addSecuritySchemes(SECURITY_SCHEME_NAME, new SecurityScheme() .name(SECURITY_SCHEME_NAME) .type(SecurityScheme.Type.HTTP) .scheme("bearer") .bearerFormat("JWT"))); } @Override public void addViewControllers(ViewControllerRegistry registry) { //配置访问`/swagger-ui/`路径时可以直接跳转到`/swagger-ui/index.html` registry.addViewController("/swagger-ui/").setViewName("redirect:/swagger-ui/index.html"); } } ================================================ FILE: mall-auth/src/main/java/com/macro/mall/auth/controller/AuthController.java ================================================ package com.macro.mall.auth.controller; import com.macro.mall.auth.domain.UmsAdminLoginParam; import com.macro.mall.auth.service.UmsAdminService; import com.macro.mall.auth.service.UmsMemberService; import com.macro.mall.common.api.CommonResult; import com.macro.mall.common.constant.AuthConstant; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; /** * @auther macrozheng * @description 统一认证授权接口 * @date 2024/1/30 * @github https://github.com/macrozheng */ @Controller @Tag(name = "AuthController", description = "统一认证授权接口") @RequestMapping("/auth") public class AuthController { @Autowired private UmsAdminService adminService; @Autowired private UmsMemberService memberService; @Operation(summary = "登录以后返回token") @RequestMapping(value = "/login", method = RequestMethod.POST) @ResponseBody public CommonResult login(@RequestParam String clientId, @RequestParam String username, @RequestParam String password) { if(AuthConstant.ADMIN_CLIENT_ID.equals(clientId)){ UmsAdminLoginParam loginParam = new UmsAdminLoginParam(); loginParam.setUsername(username); loginParam.setPassword(password); return adminService.login(loginParam); }else if(AuthConstant.PORTAL_CLIENT_ID.equals(clientId)){ return memberService.login(username,password); }else{ return CommonResult.failed("clientId不正确"); } } } ================================================ FILE: mall-auth/src/main/java/com/macro/mall/auth/domain/UmsAdminLoginParam.java ================================================ package com.macro.mall.auth.domain; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import lombok.Data; import lombok.EqualsAndHashCode; /** * 用户登录参数 * Created by macro on 2018/4/26. */ @Data @EqualsAndHashCode(callSuper = false) public class UmsAdminLoginParam { @NotEmpty @Schema(title = "用户名", required = true) private String username; @NotEmpty @Schema(title = "密码", required = true) private String password; } ================================================ FILE: mall-auth/src/main/java/com/macro/mall/auth/service/UmsAdminService.java ================================================ package com.macro.mall.auth.service; import com.macro.mall.auth.domain.UmsAdminLoginParam; import com.macro.mall.common.api.CommonResult; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; /** * @auther macrozheng * @description 后台用户服务远程调用Service * @date 2024/1/30 * @github https://github.com/macrozheng */ @FeignClient("mall-admin") public interface UmsAdminService { @PostMapping("/admin/login") CommonResult login(@RequestBody UmsAdminLoginParam umsAdminLoginParam); } ================================================ FILE: mall-auth/src/main/java/com/macro/mall/auth/service/UmsMemberService.java ================================================ package com.macro.mall.auth.service; import com.macro.mall.common.api.CommonResult; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; /** * @auther macrozheng * @description 前台会员服务远程调用Service * @date 2024/1/30 * @github https://github.com/macrozheng */ @FeignClient("mall-portal") public interface UmsMemberService { @PostMapping("/sso/login") CommonResult login(@RequestParam("username") String username, @RequestParam("password") String password); } ================================================ FILE: mall-auth/src/main/resources/application.yml ================================================ server: port: 8401 spring: mvc: pathmatch: matching-strategy: ant_path_matcher management: endpoints: web: exposure: include: '*' #暴露Actuator的监控端点 endpoint: health: show-details: always #显示健康的详细信息 env: show-values: always #默认Actuator的环境变量会以****显示,这里开启显示 configprops: show-values: always #默认Actuator的配置属性会以****显示,这里开启显示 info: enabled: true springdoc: swagger-ui: # 修改Swagger UI路径 path: /swagger-ui.html # 开启Swagger UI界面 enabled: true tags-sorter: alpha operations-sorter: alpha show-extensions: true api-docs: # 修改api-docs路径 path: /v3/api-docs # 开启api-docs enabled: true group-configs: - group: 'default' packages-to-scan: com.macro.mall.auth.controller default-flat-param-object: false ================================================ FILE: mall-auth/src/main/resources/bootstrap-dev.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://localhost:8848 config: server-addr: http://localhost:8848 file-extension: yaml logging: level: root: debug ================================================ FILE: mall-auth/src/main/resources/bootstrap-prod.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://nacos-registry:8848 config: server-addr: http://nacos-registry:8848 file-extension: yaml logging: level: root: info ================================================ FILE: mall-auth/src/main/resources/bootstrap.yml ================================================ spring: profiles: active: dev application: name: mall-auth ================================================ FILE: mall-common/pom.xml ================================================ 4.0.0 com.macro.mall mall-common 1.0-SNAPSHOT jar mall-common mall-common project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT com.github.pagehelper pagehelper org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-redis org.springframework.data spring-data-commons com.github.xiaoymin knife4j-openapi3-jakarta-spring-boot-starter net.logstash.logback logstash-logback-encoder org.springframework.boot spring-boot-starter-validation org.springframework.cloud spring-cloud-starter-bootstrap org.springframework.cloud spring-cloud-starter-loadbalancer ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/annotation/CacheException.java ================================================ package com.macro.mall.common.annotation; import java.lang.annotation.*; /** * 自定义注解,有该注解的缓存方法会抛出异常 */ @Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface CacheException { } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/api/CommonPage.java ================================================ package com.macro.mall.common.api; import com.github.pagehelper.PageInfo; import org.springframework.data.domain.Page; import java.util.List; /** * 分页数据封装类 * Created by macro on 2019/4/19. */ public class CommonPage { private Integer pageNum; private Integer pageSize; private Integer totalPage; private Long total; private List list; /** * 将PageHelper分页后的list转为分页信息 */ public static CommonPage restPage(List list) { CommonPage result = new CommonPage(); PageInfo pageInfo = new PageInfo(list); result.setTotalPage(pageInfo.getPages()); result.setPageNum(pageInfo.getPageNum()); result.setPageSize(pageInfo.getPageSize()); result.setTotal(pageInfo.getTotal()); result.setList(pageInfo.getList()); return result; } /** * 将SpringData分页后的list转为分页信息 */ public static CommonPage restPage(Page pageInfo) { CommonPage result = new CommonPage(); result.setTotalPage(pageInfo.getTotalPages()); result.setPageNum(pageInfo.getNumber()); result.setPageSize(pageInfo.getSize()); result.setTotal(pageInfo.getTotalElements()); result.setList(pageInfo.getContent()); return result; } public Integer getPageNum() { return pageNum; } public void setPageNum(Integer pageNum) { this.pageNum = pageNum; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getTotalPage() { return totalPage; } public void setTotalPage(Integer totalPage) { this.totalPage = totalPage; } public List getList() { return list; } public void setList(List list) { this.list = list; } public Long getTotal() { return total; } public void setTotal(Long total) { this.total = total; } } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/api/CommonResult.java ================================================ package com.macro.mall.common.api; import cn.hutool.json.JSONUtil; /** * 通用返回对象 * Created by macro on 2019/4/19. */ public class CommonResult { private long code; private String message; private T data; protected CommonResult() { } protected CommonResult(long code, String message, T data) { this.code = code; this.message = message; this.data = data; } /** * 成功返回结果 * * @param data 获取的数据 */ public static CommonResult success(T data) { return new CommonResult(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data); } /** * 成功返回结果 * * @param data 获取的数据 * @param message 提示信息 */ public static CommonResult success(T data, String message) { return new CommonResult(ResultCode.SUCCESS.getCode(), message, data); } /** * 失败返回结果 * @param errorCode 错误码 */ public static CommonResult failed(IErrorCode errorCode) { return new CommonResult(errorCode.getCode(), errorCode.getMessage(), null); } /** * 失败返回结果 * @param errorCode 错误码 * @param message 错误信息 */ public static CommonResult failed(IErrorCode errorCode,String message) { return new CommonResult(errorCode.getCode(), message, null); } /** * 失败返回结果 * @param message 提示信息 */ public static CommonResult failed(String message) { return new CommonResult(ResultCode.FAILED.getCode(), message, null); } /** * 失败返回结果 */ public static CommonResult failed() { return failed(ResultCode.FAILED); } /** * 参数验证失败返回结果 */ public static CommonResult validateFailed() { return failed(ResultCode.VALIDATE_FAILED); } /** * 参数验证失败返回结果 * @param message 提示信息 */ public static CommonResult validateFailed(String message) { return new CommonResult(ResultCode.VALIDATE_FAILED.getCode(), message, null); } /** * 未登录返回结果 */ public static CommonResult unauthorized(T data) { return new CommonResult(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data); } /** * 未授权返回结果 */ public static CommonResult forbidden(T data) { return new CommonResult(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data); } public long getCode() { return code; } public void setCode(long code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public T getData() { return data; } public void setData(T data) { this.data = data; } @Override public String toString() { return JSONUtil.toJsonStr(this); } } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/api/IErrorCode.java ================================================ package com.macro.mall.common.api; /** * 封装API的错误码 * Created by macro on 2019/4/19. */ public interface IErrorCode { long getCode(); String getMessage(); } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/api/ResultCode.java ================================================ package com.macro.mall.common.api; /** * 枚举了一些常用API操作码 * Created by macro on 2019/4/19. */ public enum ResultCode implements IErrorCode { SUCCESS(200, "操作成功"), FAILED(500, "操作失败"), VALIDATE_FAILED(404, "参数检验失败"), UNAUTHORIZED(401, "暂未登录或token已经过期"), FORBIDDEN(403, "没有相关权限"); private long code; private String message; private ResultCode(long code, String message) { this.code = code; this.message = message; } public long getCode() { return code; } public String getMessage() { return message; } } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/config/BaseRedisConfig.java ================================================ package com.macro.mall.common.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import com.macro.mall.common.service.RedisService; import com.macro.mall.common.service.impl.RedisServiceImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.cache.RedisCacheConfiguration; import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.cache.RedisCacheWriter; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializationContext; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; import java.time.Duration; /** * Redis基础配置 * Created by macro on 2020/6/19. */ public class BaseRedisConfig { @Bean public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisSerializer serializer = redisSerializer(); RedisTemplate redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(redisConnectionFactory); redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(serializer); redisTemplate.setHashKeySerializer(new StringRedisSerializer()); redisTemplate.setHashValueSerializer(serializer); redisTemplate.afterPropertiesSet(); return redisTemplate; } @Bean public RedisSerializer redisSerializer() { //创建JSON序列化器 Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer<>(Object.class); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); //必须设置,否则无法将JSON转化为对象,会转化成Map类型 objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,ObjectMapper.DefaultTyping.NON_FINAL); serializer.setObjectMapper(objectMapper); return serializer; } @Bean public RedisCacheManager redisCacheManager(RedisConnectionFactory redisConnectionFactory) { RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory); //设置Redis缓存有效期为1天 RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig() .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(redisSerializer())).entryTtl(Duration.ofDays(1)); return new RedisCacheManager(redisCacheWriter, redisCacheConfiguration); } @Bean public RedisService redisService(){ return new RedisServiceImpl(); } } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/constant/AuthConstant.java ================================================ package com.macro.mall.common.constant; /** * 权限相关常量定义 * Created by macro on 2020/6/19. */ public interface AuthConstant { /** * JWT存储权限前缀 */ String AUTHORITY_PREFIX = "ROLE_"; /** * JWT存储权限属性 */ String AUTHORITY_CLAIM_NAME = "authorities"; /** * 后台管理client_id */ String ADMIN_CLIENT_ID = "admin-app"; /** * 前台商城client_id */ String PORTAL_CLIENT_ID = "portal-app"; /** * 后台管理接口路径匹配 */ String ADMIN_URL_PATTERN = "/mall-admin/**"; /** * Redis缓存权限规则(路径->资源) */ String PATH_RESOURCE_MAP = "auth:pathResourceMap"; /** * 认证信息Http请求头 */ String JWT_TOKEN_HEADER = "Authorization"; /** * JWT令牌前缀 */ String JWT_TOKEN_PREFIX = "Bearer "; /** * 用户信息Http请求头 */ String USER_TOKEN_HEADER = "user"; /** * sa-token session中存储的会员信息 */ String STP_MEMBER_INFO = "memberInfo"; /** * sa-token session中存储的后台管理员信息 */ String STP_ADMIN_INFO = "adminInfo"; } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/domain/WebLog.java ================================================ package com.macro.mall.common.domain; import lombok.Data; import lombok.EqualsAndHashCode; /** * Controller层的日志封装类 * Created by macro on 2018/4/26. */ @Data @EqualsAndHashCode(callSuper = false) public class WebLog { /** * 操作描述 */ private String description; /** * 操作用户 */ private String username; /** * 操作时间 */ private Long startTime; /** * 消耗时间 */ private Integer spendTime; /** * 根路径 */ private String basePath; /** * URI */ private String uri; /** * URL */ private String url; /** * 请求类型 */ private String method; /** * IP地址 */ private String ip; /** * 请求参数 */ private Object parameter; /** * 返回结果 */ private Object result; } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/dto/UserDto.java ================================================ package com.macro.mall.common.dto; import lombok.*; import java.util.List; /** * @auther macrozheng * @description 权限框架中使用的用户信息封装类 * @date 2024/1/30 * @github https://github.com/macrozheng */ @Data @EqualsAndHashCode(callSuper = false) @NoArgsConstructor @AllArgsConstructor @Builder public class UserDto { private Long id; private String username; private String clientId; private List permissionList; } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/exception/ApiException.java ================================================ package com.macro.mall.common.exception; import com.macro.mall.common.api.IErrorCode; /** * 自定义API异常 * Created by macro on 2020/2/27. */ public class ApiException extends RuntimeException { private IErrorCode errorCode; public ApiException(IErrorCode errorCode) { super(errorCode.getMessage()); this.errorCode = errorCode; } public ApiException(String message) { super(message); } public ApiException(Throwable cause) { super(cause); } public ApiException(String message, Throwable cause) { super(message, cause); } public IErrorCode getErrorCode() { return errorCode; } } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/exception/Asserts.java ================================================ package com.macro.mall.common.exception; import com.macro.mall.common.api.IErrorCode; /** * 断言处理类,用于抛出各种API异常 * Created by macro on 2020/2/27. */ public class Asserts { public static void fail(String message) { throw new ApiException(message); } public static void fail(IErrorCode errorCode) { throw new ApiException(errorCode); } } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/exception/GlobalExceptionHandler.java ================================================ package com.macro.mall.common.exception; import com.macro.mall.common.api.CommonResult; import org.springframework.validation.BindException; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; /** * 全局异常处理 * Created by macro on 2020/2/27. */ @ControllerAdvice public class GlobalExceptionHandler { @ResponseBody @ExceptionHandler(value = ApiException.class) public CommonResult handle(ApiException e) { if (e.getErrorCode() != null) { return CommonResult.failed(e.getErrorCode()); } return CommonResult.failed(e.getMessage()); } @ResponseBody @ExceptionHandler(value = MethodArgumentNotValidException.class) public CommonResult handleValidException(MethodArgumentNotValidException e) { BindingResult bindingResult = e.getBindingResult(); String message = null; if (bindingResult.hasErrors()) { FieldError fieldError = bindingResult.getFieldError(); if (fieldError != null) { message = fieldError.getField()+fieldError.getDefaultMessage(); } } return CommonResult.validateFailed(message); } @ResponseBody @ExceptionHandler(value = BindException.class) public CommonResult handleValidException(BindException e) { BindingResult bindingResult = e.getBindingResult(); String message = null; if (bindingResult.hasErrors()) { FieldError fieldError = bindingResult.getFieldError(); if (fieldError != null) { message = fieldError.getField()+fieldError.getDefaultMessage(); } } return CommonResult.validateFailed(message); } } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/log/WebLogAspect.java ================================================ package com.macro.mall.common.log; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.URLUtil; import cn.hutool.json.JSONUtil; import com.macro.mall.common.domain.WebLog; import io.swagger.v3.oas.annotations.Operation; import net.logstash.logback.marker.Markers; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.Signature; import org.aspectj.lang.annotation.*; import org.aspectj.lang.reflect.MethodSignature; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import jakarta.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.lang.reflect.Parameter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 统一日志处理切面 * Created by macro on 2018/4/26. */ @Aspect @Component @Order(1) public class WebLogAspect { private static final Logger LOGGER = LoggerFactory.getLogger(WebLogAspect.class); @Pointcut("execution(public * com.macro.mall.controller.*.*(..))||execution(public * com.macro.mall.*.controller.*.*(..))") public void webLog() { } @Before("webLog()") public void doBefore(JoinPoint joinPoint) throws Throwable { } @AfterReturning(value = "webLog()", returning = "ret") public void doAfterReturning(Object ret) throws Throwable { } @Around("webLog()") public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { long startTime = System.currentTimeMillis(); //获取当前请求对象 ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); //记录请求信息(通过Logstash传入Elasticsearch) WebLog webLog = new WebLog(); Object result = joinPoint.proceed(); Signature signature = joinPoint.getSignature(); MethodSignature methodSignature = (MethodSignature) signature; Method method = methodSignature.getMethod(); if (method.isAnnotationPresent(Operation.class)) { Operation log = method.getAnnotation(Operation.class); webLog.setDescription(log.summary()); } long endTime = System.currentTimeMillis(); String urlStr = request.getRequestURL().toString(); webLog.setBasePath(StrUtil.removeSuffix(urlStr, URLUtil.url(urlStr).getPath())); webLog.setIp(request.getRemoteUser()); webLog.setMethod(request.getMethod()); webLog.setParameter(getParameter(method, joinPoint.getArgs())); webLog.setResult(result); webLog.setSpendTime((int) (endTime - startTime)); webLog.setStartTime(startTime); webLog.setUri(request.getRequestURI()); webLog.setUrl(request.getRequestURL().toString()); Map logMap = new HashMap<>(); logMap.put("url",webLog.getUrl()); logMap.put("method",webLog.getMethod()); logMap.put("parameter",webLog.getParameter()); logMap.put("spendTime",webLog.getSpendTime()); logMap.put("description",webLog.getDescription()); // LOGGER.info("{}", JSONUtil.parse(webLog)); LOGGER.info(Markers.appendEntries(logMap), JSONUtil.parse(webLog).toString()); return result; } /** * 根据方法和传入的参数获取请求参数 */ private Object getParameter(Method method, Object[] args) { List argList = new ArrayList<>(); Parameter[] parameters = method.getParameters(); for (int i = 0; i < parameters.length; i++) { //将RequestBody注解修饰的参数作为请求参数 RequestBody requestBody = parameters[i].getAnnotation(RequestBody.class); if (requestBody != null) { argList.add(args[i]); } //将RequestParam注解修饰的参数作为请求参数 RequestParam requestParam = parameters[i].getAnnotation(RequestParam.class); if (requestParam != null) { Map map = new HashMap<>(); String key = parameters[i].getName(); if (!StringUtils.isEmpty(requestParam.value())) { key = requestParam.value(); } map.put(key, args[i]); argList.add(map); } } if (argList.size() == 0) { return null; } else if (argList.size() == 1) { return argList.get(0); } else { return argList; } } } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/service/RedisService.java ================================================ package com.macro.mall.common.service; import java.util.List; import java.util.Map; import java.util.Set; /** * redis操作Service * Created by macro on 2020/3/3. */ public interface RedisService { /** * 保存属性 */ void set(String key, Object value, long time); /** * 保存属性 */ void set(String key, Object value); /** * 获取属性 */ Object get(String key); /** * 删除属性 */ Boolean del(String key); /** * 批量删除属性 */ Long del(List keys); /** * 设置过期时间 */ Boolean expire(String key, long time); /** * 获取过期时间 */ Long getExpire(String key); /** * 判断是否有该属性 */ Boolean hasKey(String key); /** * 按delta递增 */ Long incr(String key, long delta); /** * 按delta递减 */ Long decr(String key, long delta); /** * 获取Hash结构中的属性 */ Object hGet(String key, String hashKey); /** * 向Hash结构中放入一个属性 */ Boolean hSet(String key, String hashKey, Object value, long time); /** * 向Hash结构中放入一个属性 */ void hSet(String key, String hashKey, Object value); /** * 直接获取整个Hash结构 */ Map hGetAll(String key); /** * 直接设置整个Hash结构 */ Boolean hSetAll(String key, Map map, long time); /** * 直接设置整个Hash结构 */ void hSetAll(String key, Map map); /** * 删除Hash结构中的属性 */ void hDel(String key, Object... hashKey); /** * 判断Hash结构中是否有该属性 */ Boolean hHasKey(String key, String hashKey); /** * Hash结构中属性递增 */ Long hIncr(String key, String hashKey, Long delta); /** * Hash结构中属性递减 */ Long hDecr(String key, String hashKey, Long delta); /** * 获取Set结构 */ Set sMembers(String key); /** * 向Set结构中添加属性 */ Long sAdd(String key, Object... values); /** * 向Set结构中添加属性 */ Long sAdd(String key, long time, Object... values); /** * 是否为Set中的属性 */ Boolean sIsMember(String key, Object value); /** * 获取Set结构的长度 */ Long sSize(String key); /** * 删除Set结构中的属性 */ Long sRemove(String key, Object... values); /** * 获取List结构中的属性 */ List lRange(String key, long start, long end); /** * 获取List结构的长度 */ Long lSize(String key); /** * 根据索引获取List中的属性 */ Object lIndex(String key, long index); /** * 向List结构中添加属性 */ Long lPush(String key, Object value); /** * 向List结构中添加属性 */ Long lPush(String key, Object value, long time); /** * 向List结构中批量添加属性 */ Long lPushAll(String key, Object... values); /** * 向List结构中批量添加属性 */ Long lPushAll(String key, Long time, Object... values); /** * 从List结构中移除属性 */ Long lRemove(String key, long count, Object value); } ================================================ FILE: mall-common/src/main/java/com/macro/mall/common/service/impl/RedisServiceImpl.java ================================================ package com.macro.mall.common.service.impl; import com.macro.mall.common.service.RedisService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; /** * redis操作实现类 * Created by macro on 2020/3/3. */ public class RedisServiceImpl implements RedisService { @Autowired private RedisTemplate redisTemplate; @Override public void set(String key, Object value, long time) { redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS); } @Override public void set(String key, Object value) { redisTemplate.opsForValue().set(key, value); } @Override public Object get(String key) { return redisTemplate.opsForValue().get(key); } @Override public Boolean del(String key) { return redisTemplate.delete(key); } @Override public Long del(List keys) { return redisTemplate.delete(keys); } @Override public Boolean expire(String key, long time) { return redisTemplate.expire(key, time, TimeUnit.SECONDS); } @Override public Long getExpire(String key) { return redisTemplate.getExpire(key, TimeUnit.SECONDS); } @Override public Boolean hasKey(String key) { return redisTemplate.hasKey(key); } @Override public Long incr(String key, long delta) { return redisTemplate.opsForValue().increment(key, delta); } @Override public Long decr(String key, long delta) { return redisTemplate.opsForValue().increment(key, -delta); } @Override public Object hGet(String key, String hashKey) { return redisTemplate.opsForHash().get(key, hashKey); } @Override public Boolean hSet(String key, String hashKey, Object value, long time) { redisTemplate.opsForHash().put(key, hashKey, value); return expire(key, time); } @Override public void hSet(String key, String hashKey, Object value) { redisTemplate.opsForHash().put(key, hashKey, value); } @Override public Map hGetAll(String key) { return redisTemplate.opsForHash().entries(key); } @Override public Boolean hSetAll(String key, Map map, long time) { redisTemplate.opsForHash().putAll(key, map); return expire(key, time); } @Override public void hSetAll(String key, Map map) { redisTemplate.opsForHash().putAll(key, map); } @Override public void hDel(String key, Object... hashKey) { redisTemplate.opsForHash().delete(key, hashKey); } @Override public Boolean hHasKey(String key, String hashKey) { return redisTemplate.opsForHash().hasKey(key, hashKey); } @Override public Long hIncr(String key, String hashKey, Long delta) { return redisTemplate.opsForHash().increment(key, hashKey, delta); } @Override public Long hDecr(String key, String hashKey, Long delta) { return redisTemplate.opsForHash().increment(key, hashKey, -delta); } @Override public Set sMembers(String key) { return redisTemplate.opsForSet().members(key); } @Override public Long sAdd(String key, Object... values) { return redisTemplate.opsForSet().add(key, values); } @Override public Long sAdd(String key, long time, Object... values) { Long count = redisTemplate.opsForSet().add(key, values); expire(key, time); return count; } @Override public Boolean sIsMember(String key, Object value) { return redisTemplate.opsForSet().isMember(key, value); } @Override public Long sSize(String key) { return redisTemplate.opsForSet().size(key); } @Override public Long sRemove(String key, Object... values) { return redisTemplate.opsForSet().remove(key, values); } @Override public List lRange(String key, long start, long end) { return redisTemplate.opsForList().range(key, start, end); } @Override public Long lSize(String key) { return redisTemplate.opsForList().size(key); } @Override public Object lIndex(String key, long index) { return redisTemplate.opsForList().index(key, index); } @Override public Long lPush(String key, Object value) { return redisTemplate.opsForList().rightPush(key, value); } @Override public Long lPush(String key, Object value, long time) { Long index = redisTemplate.opsForList().rightPush(key, value); expire(key, time); return index; } @Override public Long lPushAll(String key, Object... values) { return redisTemplate.opsForList().rightPushAll(key, values); } @Override public Long lPushAll(String key, Long time, Object... values) { Long count = redisTemplate.opsForList().rightPushAll(key, values); expire(key, time); return count; } @Override public Long lRemove(String key, long count, Object value) { return redisTemplate.opsForList().remove(key, count, value); } } ================================================ FILE: mall-common/src/main/resources/logback-spring.xml ================================================ DEBUG ${FILE_LOG_PATTERN} UTF-8 ${LOG_FILE_PATH}/debug/${APP_NAME}-%d{yyyy-MM-dd}-%i.log ${LOG_FILE_MAX_SIZE:-10MB} ${LOG_FILE_MAX_HISTORY:-30} ERROR ACCEPT DENY ${FILE_LOG_PATTERN} UTF-8 ${LOG_FILE_PATH}/error/${APP_NAME}-%d{yyyy-MM-dd}-%i.log ${LOG_FILE_MAX_SIZE:-10MB} ${LOG_FILE_MAX_HISTORY:-30} DEBUG ${LOG_STASH_HOST}:4560 ${ENABLE_INNER_LOG} Asia/Shanghai { "project": "mall-swarm", "level": "%level", "service": "${APP_NAME:-}", "pid": "${PID:-}", "thread": "%thread", "class": "%logger", "message": "%message", "stack_trace": "%exception{20}" } ERROR ACCEPT DENY ${LOG_STASH_HOST}:4561 ${ENABLE_INNER_LOG} Asia/Shanghai { "project": "mall-swarm", "level": "%level", "service": "${APP_NAME:-}", "pid": "${PID:-}", "thread": "%thread", "class": "%logger", "message": "%message", "stack_trace": "%exception{20}" } ${LOG_STASH_HOST}:4562 ${ENABLE_INNER_LOG} Asia/Shanghai { "project": "mall-swarm", "level": "%level", "service": "${APP_NAME:-}", "pid": "${PID:-}", "thread": "%thread", "class": "%logger", "message": "%message", "stack_trace": "%exception{20}" } ${LOG_STASH_HOST}:4563 ${ENABLE_INNER_LOG} Asia/Shanghai { "project": "mall-swarm", "level": "%level", "service": "${APP_NAME:-}", "class": "%logger", "message": "%message" } ================================================ FILE: mall-demo/.gitignore ================================================ /target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans .sts4-cache ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### /nbproject/private/ /build/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ ================================================ FILE: mall-demo/pom.xml ================================================ 4.0.0 com.macro.mall mall-demo 1.0-SNAPSHOT jar mall-demo mall-demo project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT com.macro.mall mall-mbg org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-openfeign com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config de.codecentric spring-boot-admin-starter-client org.springframework.boot spring-boot-maven-plugin ================================================ FILE: mall-demo/src/main/java/com/macro/mall/MallDemoApplication.java ================================================ package com.macro.mall; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication public class MallDemoApplication{ public static void main(String[] args) { SpringApplication.run(MallDemoApplication.class, args); } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/component/FeignRequestInterceptor.java ================================================ package com.macro.mall.demo.component; import feign.RequestInterceptor; import feign.RequestTemplate; import jakarta.servlet.http.HttpServletRequest; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import java.util.Enumeration; /** * 用于Feign传递请求头的拦截器 * Created by macro on 2019/10/18. */ public class FeignRequestInterceptor implements RequestInterceptor { @Override public void apply(RequestTemplate requestTemplate) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); if (attributes != null) { HttpServletRequest request = attributes.getRequest(); Enumeration headerNames = request.getHeaderNames(); //在调用需要认证请求的内部接口时,需要获取原认证头并设置到requestTemplate中去 if (headerNames != null) { while (headerNames.hasMoreElements()) { String name = headerNames.nextElement(); //传递content-length头会导致java.io.IOException: Incomplete output stream问题 if ("content-length".equalsIgnoreCase(name)) { continue; } String values = request.getHeader(name); requestTemplate.header(name, values); } } } } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/config/FeignConfig.java ================================================ package com.macro.mall.demo.config; import com.macro.mall.demo.component.FeignRequestInterceptor; import feign.Logger; import feign.RequestInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * Created by macro on 2019/9/5. */ @Configuration public class FeignConfig { @Bean Logger.Level feignLoggerLevel() { return Logger.Level.FULL; } @Bean RequestInterceptor requestInterceptor() { return new FeignRequestInterceptor(); } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/config/MyBatisConfig.java ================================================ package com.macro.mall.demo.config; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Configuration; /** * MyBatis相关配置 * Created by macro on 2019/4/8. */ @Configuration @MapperScan("com.macro.mall.mapper") public class MyBatisConfig { } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/config/SpringDocConfig.java ================================================ package com.macro.mall.demo.config; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; import org.springdoc.core.customizers.GlobalOpenApiCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * SpringDoc相关配置 * Created by macro on 2024/3/5. */ @Configuration public class SpringDocConfig implements WebMvcConfigurer { private static final String SECURITY_SCHEME_NAME = "Authorization"; @Bean public OpenAPI mallAdminOpenAPI() { return new OpenAPI() .info(new Info().title("mall-demo系统") .description("SpringBoot版本中的一些示例") .version("v1.0.0") .license(new License().name("Apache 2.0") .url("https://github.com/macrozheng/mall-learning"))) .externalDocs(new ExternalDocumentation() .description("SpringBoot实战电商项目mall(60K+Star)全套文档") .url("http://www.macrozheng.com")) .addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)) .components(new Components() .addSecuritySchemes(SECURITY_SCHEME_NAME, new SecurityScheme() .name(SECURITY_SCHEME_NAME) .type(SecurityScheme.Type.HTTP) .scheme("bearer") .bearerFormat("JWT"))); } @Override public void addViewControllers(ViewControllerRegistry registry) { //配置访问`/swagger-ui/`路径时可以直接跳转到`/swagger-ui/index.html` registry.addViewController("/swagger-ui/").setViewName("redirect:/swagger-ui/index.html"); } @Bean public GlobalOpenApiCustomizer orderGlobalOpenApiCustomizer() { //解决Knife4j配置认证后无法自动添加认证头的问题 return openApi -> { //全局添加鉴权参数 if (openApi.getPaths() != null) { openApi.getPaths().forEach((s, pathItem) -> { pathItem.readOperations().forEach(operation -> { operation.addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)); }); }); } }; } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/controller/DemoController.java ================================================ package com.macro.mall.demo.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.demo.dto.PmsBrandDto; import com.macro.mall.demo.service.DemoService; import com.macro.mall.model.PmsBrand; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 商品管理示例Controller */ @Tag(name = "DemoController", description = "商品管理示例接口") @Controller public class DemoController { @Autowired private DemoService demoService; private static final Logger LOGGER = LoggerFactory.getLogger(DemoController.class); @Operation(summary = "获取全部品牌列表") @RequestMapping(value = "/brand/listAll", method = RequestMethod.GET) @ResponseBody public CommonResult> getBrandList() { return CommonResult.success(demoService.listAllBrand()); } @Operation(summary = "添加品牌") @RequestMapping(value = "/brand/create", method = RequestMethod.POST) @ResponseBody public CommonResult createBrand(@Validated @RequestBody PmsBrandDto pmsBrand) { CommonResult commonResult; int count = demoService.createBrand(pmsBrand); if (count == 1) { commonResult = CommonResult.success(pmsBrand); LOGGER.debug("createBrand success:{}", pmsBrand); } else { commonResult = CommonResult.failed("操作失败"); LOGGER.debug("createBrand failed:{}", pmsBrand); } return commonResult; } @Operation(summary = "更新品牌") @RequestMapping(value = "/brand/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateBrand(@PathVariable("id") Long id, @Validated @RequestBody PmsBrandDto pmsBrandDto) { CommonResult commonResult; int count = demoService.updateBrand(id, pmsBrandDto); if (count == 1) { commonResult = CommonResult.success(pmsBrandDto); LOGGER.debug("updateBrand success:{}", pmsBrandDto); } else { commonResult = CommonResult.failed("操作失败"); LOGGER.debug("updateBrand failed:{}", pmsBrandDto); } return commonResult; } @Operation(summary = "删除品牌") @RequestMapping(value = "/brand/delete/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult deleteBrand(@PathVariable("id") Long id) { int count = demoService.deleteBrand(id); if (count == 1) { LOGGER.debug("deleteBrand success :id={}", id); return CommonResult.success(null); } else { LOGGER.debug("deleteBrand failed :id={}", id); return CommonResult.failed("操作失败"); } } @Operation(summary = "分页获取品牌列表") @RequestMapping(value = "/brand/list", method = RequestMethod.GET) @ResponseBody public CommonResult> listBrand(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "3") Integer pageSize) { List brandList = demoService.listBrand(pageNum, pageSize); return CommonResult.success(CommonPage.restPage(brandList)); } @Operation(summary = "根据编号查询品牌信息") @RequestMapping(value = "/brand/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult brand(@PathVariable("id") Long id) { return CommonResult.success(demoService.getBrand(id)); } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/controller/FeignAdminController.java ================================================ package com.macro.mall.demo.controller; /** * Created by macro on 2019/10/18. */ import com.macro.mall.common.api.CommonResult; import com.macro.mall.demo.dto.UmsAdminLoginParam; import com.macro.mall.demo.service.FeignAdminService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * Feign调用mall-admin接口示例 */ @Tag(name = "FeignAdminController", description = "Feign调用mall-admin接口示例") @RestController @RequestMapping("/feign/admin") public class FeignAdminController { @Autowired private FeignAdminService adminService; @Operation(summary = "后台管理员登录") @PostMapping("/login") public CommonResult login(@RequestBody UmsAdminLoginParam loginParam) { return adminService.login(loginParam); } @Operation(summary = "获取商品列表") @GetMapping("/getBrandList") public CommonResult getBrandList(){ return adminService.getList(); } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/controller/FeignPortalController.java ================================================ package com.macro.mall.demo.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.demo.service.FeignPortalService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * Feign调用mall-portal接口示例 * Created by macro on 2019/10/18. */ @Tag(name = "FeignPortalController", description = "Feign调用mall-portal接口示例") @RestController @RequestMapping("/feign/portal") public class FeignPortalController { @Autowired private FeignPortalService portalService; @Operation(summary = "前台会员列表登录") @PostMapping("/login") public CommonResult login(@RequestParam String username, @RequestParam String password) { return portalService.login(username,password); } @Operation(summary = "获取购物车列表") @GetMapping("/cartList") public CommonResult cartList() { return portalService.list(); } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/controller/FeignSearchController.java ================================================ package com.macro.mall.demo.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.demo.service.FeignSearchService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * Feign调用mall-search接口示例 * Created by macro on 2019/10/22. */ @Tag(name = "FeignSearchController", description = "Feign调用mall-search接口示例") @RestController @RequestMapping("/feign/search") public class FeignSearchController { @Autowired private FeignSearchService feignSearchService; @Operation(summary = "简单商品搜索") @RequestMapping(value = "/justSearch", method = RequestMethod.GET) @ResponseBody public CommonResult search(@RequestParam(required = false) String keyword, @RequestParam(required = false, defaultValue = "0") Integer pageNum, @RequestParam(required = false, defaultValue = "5") Integer pageSize) { return feignSearchService.search(keyword, pageNum, pageSize); } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/dto/PmsBrandDto.java ================================================ package com.macro.mall.demo.dto; import com.macro.mall.demo.validator.FlagValidator; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.Min; import jakarta.validation.constraints.NotNull; /** * 品牌传递参数 */ public class PmsBrandDto { @Schema(title = "品牌名称",required = true) @NotNull(message = "名称不能为空") private String name; @Schema(title = "品牌首字母",required = true) @NotNull(message = "首字母不能为空") private String firstLetter; @Schema(title = "排序字段") @Min(value = 0, message = "排序最小为0") private Integer sort; @Schema(title = "是否为厂家制造商") @FlagValidator(value = {"0","1"}, message = "厂家状态不正确") private Integer factoryStatus; @Schema(title = "是否进行显示") @FlagValidator(value = {"0","1"}, message = "显示状态不正确") private Integer showStatus; @Schema(title = "品牌logo") private String logo; @Schema(title = "品牌大图") private String bigPic; @Schema(title = "品牌故事") private String brandStory; 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 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; } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/dto/UmsAdminLoginParam.java ================================================ package com.macro.mall.demo.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; /** * 用户登录参数 * Created by macro on 2018/4/26. */ @Getter @Setter public class UmsAdminLoginParam { @Schema(title = "用户名", required = true) private String username; @Schema(title = "密码", required = true) private String password; } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/service/DemoService.java ================================================ package com.macro.mall.demo.service; import com.macro.mall.demo.dto.PmsBrandDto; import com.macro.mall.model.PmsBrand; import java.util.List; /** * DemoService接口 */ public interface DemoService { List listAllBrand(); int createBrand(PmsBrandDto pmsBrandDto); int updateBrand(Long id, PmsBrandDto pmsBrandDto); int deleteBrand(Long id); List listBrand(int pageNum, int pageSize); PmsBrand getBrand(Long id); } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/service/FeignAdminService.java ================================================ package com.macro.mall.demo.service; import com.macro.mall.common.api.CommonResult; import com.macro.mall.demo.dto.UmsAdminLoginParam; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; /** * Created by macro on 2019/10/18. */ @FeignClient("mall-admin") public interface FeignAdminService { @PostMapping("/admin/login") CommonResult login(@RequestBody UmsAdminLoginParam loginParam); @GetMapping("/brand/listAll") CommonResult getList(); } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/service/FeignPortalService.java ================================================ package com.macro.mall.demo.service; import com.macro.mall.common.api.CommonResult; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; /** * Created by macro on 2019/10/18. */ @FeignClient("mall-portal") public interface FeignPortalService { @PostMapping("/sso/login") CommonResult login(@RequestParam String username, @RequestParam String password); @GetMapping("/cart/list") CommonResult list(); } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/service/FeignSearchService.java ================================================ package com.macro.mall.demo.service; import com.macro.mall.common.api.CommonResult; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; /** * Created by macro on 2019/10/22. */ @FeignClient("mall-search") public interface FeignSearchService { @GetMapping("/esProduct/search/simple") CommonResult search(@RequestParam(required = false) String keyword, @RequestParam(required = false, defaultValue = "0") Integer pageNum, @RequestParam(required = false, defaultValue = "5") Integer pageSize); } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/service/impl/DemoServiceImpl.java ================================================ package com.macro.mall.demo.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.demo.dto.PmsBrandDto; import com.macro.mall.demo.service.DemoService; import com.macro.mall.mapper.PmsBrandMapper; import com.macro.mall.model.PmsBrand; import com.macro.mall.model.PmsBrandExample; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * DemoService实现类 */ @Service public class DemoServiceImpl implements DemoService { @Autowired private PmsBrandMapper brandMapper; @Override public List listAllBrand() { return brandMapper.selectByExample(new PmsBrandExample()); } @Override public int createBrand(PmsBrandDto pmsBrandDto) { PmsBrand pmsBrand = new PmsBrand(); BeanUtils.copyProperties(pmsBrandDto,pmsBrand); return brandMapper.insertSelective(pmsBrand); } @Override public int updateBrand(Long id, PmsBrandDto pmsBrandDto) { PmsBrand pmsBrand = new PmsBrand(); BeanUtils.copyProperties(pmsBrandDto,pmsBrand); pmsBrand.setId(id); return brandMapper.updateByPrimaryKeySelective(pmsBrand); } @Override public int deleteBrand(Long id) { return brandMapper.deleteByPrimaryKey(id); } @Override public List listBrand(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); return brandMapper.selectByExample(new PmsBrandExample()); } @Override public PmsBrand getBrand(Long id) { return brandMapper.selectByPrimaryKey(id); } } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/validator/FlagValidator.java ================================================ package com.macro.mall.demo.validator; import jakarta.validation.Constraint; import jakarta.validation.Payload; import java.lang.annotation.*; /** * 用户验证状态是否在指定范围内的注解 */ @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD,ElementType.PARAMETER}) @Constraint(validatedBy = FlagValidatorClass.class) public @interface FlagValidator { String[] value() default {}; String message() default "flag is not found"; Class[] groups() default {}; Class[] payload() default {}; } ================================================ FILE: mall-demo/src/main/java/com/macro/mall/demo/validator/FlagValidatorClass.java ================================================ package com.macro.mall.demo.validator; import jakarta.validation.ConstraintValidator; import jakarta.validation.ConstraintValidatorContext; /** * 状态标记校验器 */ public class FlagValidatorClass implements ConstraintValidator { private String[] values; @Override public void initialize(FlagValidator flagValidator) { this.values = flagValidator.value(); } @Override public boolean isValid(Integer value, ConstraintValidatorContext constraintValidatorContext) { boolean isValid = false; for(int i=0;i 4.0.0 com.macro.mall mall-gateway 1.0-SNAPSHOT mall-gateway mall-gateway project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT com.macro.mall mall-common org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-redis com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.cloud spring-cloud-starter-gateway com.github.xiaoymin knife4j-gateway-spring-boot-starter org.springframework.boot spring-boot-starter-data-redis cn.dev33 sa-token-reactor-spring-boot3-starter cn.dev33 sa-token-redis-jackson org.apache.commons commons-pool2 cn.dev33 sa-token-jwt de.codecentric spring-boot-admin-starter-client org.springframework.boot spring-boot-maven-plugin io.fabric8 docker-maven-plugin ================================================ FILE: mall-gateway/src/main/java/com/macro/mall/MallGatewayApplication.java ================================================ package com.macro.mall; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @EnableDiscoveryClient @SpringBootApplication public class MallGatewayApplication { public static void main(String[] args) { SpringApplication.run(MallGatewayApplication.class, args); } } ================================================ FILE: mall-gateway/src/main/java/com/macro/mall/component/StpInterfaceImpl.java ================================================ package com.macro.mall.component; import cn.dev33.satoken.stp.StpInterface; import cn.dev33.satoken.stp.StpUtil; import com.macro.mall.common.constant.AuthConstant; import com.macro.mall.common.dto.UserDto; import org.springframework.stereotype.Component; import java.util.List; /** * @auther macrozheng * @description 自定义权限验证接口扩展 * @date 2024/1/25 * @github https://github.com/macrozheng */ @Component public class StpInterfaceImpl implements StpInterface { @Override public List getPermissionList(Object loginId, String loginType) { // 返回此loginId拥有的权限码列表 if(StpUtil.getLoginType().equals(loginType)){ //后台用户需返回 UserDto userdto = (UserDto) StpUtil.getSession().get(AuthConstant.STP_ADMIN_INFO); return userdto.getPermissionList(); }else{ //前台用户无需返回 return null; } } @Override public List getRoleList(Object loginId, String loginType) { // 返回此 loginId 拥有的角色码列表 return null; } } ================================================ FILE: mall-gateway/src/main/java/com/macro/mall/config/GlobalCorsConfig.java ================================================ package com.macro.mall.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.reactive.CorsWebFilter; import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; import org.springframework.web.util.pattern.PathPatternParser; /** * 全局跨域配置 * 注意:前端从网关进行调用时需要配置 * Created by macro on 2019/7/27. */ @Configuration public class GlobalCorsConfig { @Bean public CorsWebFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedMethod("*"); config.addAllowedOriginPattern("*"); config.addAllowedHeader("*"); config.setAllowCredentials(true); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser()); source.registerCorsConfiguration("/**", config); return new CorsWebFilter(source); } } ================================================ FILE: mall-gateway/src/main/java/com/macro/mall/config/IgnoreUrlsConfig.java ================================================ package com.macro.mall.config; import lombok.Data; import lombok.EqualsAndHashCode; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.List; /** * 网关白名单配置 * Created by macro on 2020/6/17. */ @Data @EqualsAndHashCode(callSuper = false) @Component @ConfigurationProperties(prefix="secure.ignore") public class IgnoreUrlsConfig { private List urls; } ================================================ FILE: mall-gateway/src/main/java/com/macro/mall/config/RedisConfig.java ================================================ package com.macro.mall.config; import com.macro.mall.common.config.BaseRedisConfig; import org.springframework.context.annotation.Configuration; /** * Redis相关配置 * Created by macro on 2020/6/19. */ @Configuration public class RedisConfig extends BaseRedisConfig { } ================================================ FILE: mall-gateway/src/main/java/com/macro/mall/config/SaTokenConfig.java ================================================ package com.macro.mall.config; import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotPermissionException; import cn.dev33.satoken.reactor.context.SaReactorSyncHolder; import cn.dev33.satoken.reactor.filter.SaReactorFilter; import cn.dev33.satoken.router.SaHttpMethod; import cn.dev33.satoken.router.SaRouter; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import com.macro.mall.common.api.CommonResult; import com.macro.mall.common.constant.AuthConstant; import com.macro.mall.util.StpMemberUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.http.HttpHeaders; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.util.AntPathMatcher; import org.springframework.util.PathMatcher; import org.springframework.web.server.ServerWebExchange; import java.util.*; /** * @auther macrozheng * @description Sa-Token相关配置 * @date 2023/11/28 * @github https://github.com/macrozheng */ @Configuration public class SaTokenConfig { @Autowired private RedisTemplate redisTemplate; /** * 注册Sa-Token全局过滤器 */ @Bean public SaReactorFilter getSaReactorFilter(IgnoreUrlsConfig ignoreUrlsConfig) { return new SaReactorFilter() // 拦截地址 .addInclude("/**") // 配置白名单路径 .setExcludeList(ignoreUrlsConfig.getUrls()) // 鉴权方法:每次访问进入 .setAuth(obj -> { // 对于OPTIONS预检请求直接放行 SaRouter.match(SaHttpMethod.OPTIONS).stop(); // 登录认证:商城前台会员认证 SaRouter.match("/mall-portal/**", r -> StpMemberUtil.checkLogin()).stop(); // 登录认证:管理后台用户认证 SaRouter.match("/mall-admin/**", r -> StpUtil.checkLogin()); // 权限认证:管理后台用户权限校验 // 获取Redis中缓存的各个接口路径所需权限规则 Map pathResourceMap = redisTemplate.opsForHash().entries(AuthConstant.PATH_RESOURCE_MAP); // 获取到访问当前接口所需权限(一个路径对应多个资源时,拥有任意一个资源都可以访问该路径) List needPermissionList = new ArrayList<>(); // 获取当前请求路径 String requestPath = SaHolder.getRequest().getRequestPath(); // 创建路径匹配器 PathMatcher pathMatcher = new AntPathMatcher(); Set> entrySet = pathResourceMap.entrySet(); for (Map.Entry entry : entrySet) { String pattern = (String) entry.getKey(); if (pathMatcher.match(pattern, requestPath)) { needPermissionList.add((String) entry.getValue()); } } // 接口需要权限时鉴权 if(CollUtil.isNotEmpty(needPermissionList)){ SaRouter.match(requestPath, r -> StpUtil.checkPermissionOr(Convert.toStrArray(needPermissionList))); } }) // setAuth方法异常处理 .setError(this::handleException); } /** * 自定义异常处理 */ private CommonResult handleException(Throwable e) { //设置错误返回格式为JSON ServerWebExchange exchange = SaReactorSyncHolder.getContext(); HttpHeaders headers = exchange.getResponse().getHeaders(); headers.set("Content-Type", "application/json; charset=utf-8"); headers.set("Access-Control-Allow-Origin", "*"); headers.set("Cache-Control","no-cache"); CommonResult result = null; if(e instanceof NotLoginException){ result = CommonResult.unauthorized(null); }else if(e instanceof NotPermissionException){ result = CommonResult.forbidden(null); }else{ result = CommonResult.failed(e.getMessage()); } return result; } } ================================================ FILE: mall-gateway/src/main/java/com/macro/mall/util/StpMemberUtil.java ================================================ /* * Copyright 2020-2099 sa-token.cc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.macro.mall.util; import cn.dev33.satoken.SaManager; import cn.dev33.satoken.fun.SaFunction; import cn.dev33.satoken.jwt.StpLogicJwtForSimple; import cn.dev33.satoken.listener.SaTokenEventCenter; import cn.dev33.satoken.session.SaSession; import cn.dev33.satoken.session.TokenSign; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpLogic; import java.util.List; /** * @auther macrozheng * @description 前台商城用户登录认证工具类 * 拷贝于默认的StpUtil,仅改动了TYPE * @date 2024/1/26 * @github https://github.com/macrozheng */ public class StpMemberUtil { private StpMemberUtil() {} /** * 多账号体系下的类型标识 */ public static final String TYPE = "memberLogin"; /** * 底层使用的 StpLogic 对象 */ public static StpLogic stpLogic = new StpLogicJwtForSimple(TYPE); /** * 获取当前 StpLogic 的账号类型 * * @return / */ public static String getLoginType(){ return stpLogic.getLoginType(); } /** * 安全的重置 StpLogic 对象 * *
1、更改此账户的 StpLogic 对象 *
2、put 到全局 StpLogic 集合中 *
3、发送日志 * * @param newStpLogic / */ public static void setStpLogic(StpLogic newStpLogic) { // 1、重置此账户的 StpLogic 对象 stpLogic = newStpLogic; // 2、添加到全局 StpLogic 集合中 // 以便可以通过 SaManager.getStpLogic(type) 的方式来全局获取到这个 StpLogic SaManager.putStpLogic(newStpLogic); // 3、$$ 发布事件:更新了 stpLogic 对象 SaTokenEventCenter.doSetStpLogic(stpLogic); } /** * 获取 StpLogic 对象 * * @return / */ public static StpLogic getStpLogic() { return stpLogic; } // ------------------- 获取 token 相关 ------------------- /** * 返回 token 名称,此名称在以下地方体现:Cookie 保存 token 时的名称、提交 token 时参数的名称、存储 token 时的 key 前缀 * * @return / */ public static String getTokenName() { return stpLogic.getTokenName(); } /** * 在当前会话写入指定 token 值 * * @param tokenValue token 值 */ public static void setTokenValue(String tokenValue){ stpLogic.setTokenValue(tokenValue); } /** * 在当前会话写入指定 token 值 * * @param tokenValue token 值 * @param cookieTimeout Cookie存活时间(秒) */ public static void setTokenValue(String tokenValue, int cookieTimeout){ stpLogic.setTokenValue(tokenValue, cookieTimeout); } /** * 在当前会话写入指定 token 值 * * @param tokenValue token 值 * @param loginModel 登录参数 */ public static void setTokenValue(String tokenValue, SaLoginModel loginModel){ stpLogic.setTokenValue(tokenValue, loginModel); } /** * 获取当前请求的 token 值 * * @return 当前tokenValue */ public static String getTokenValue() { return stpLogic.getTokenValue(); } /** * 获取当前请求的 token 值 (不裁剪前缀) * * @return / */ public static String getTokenValueNotCut(){ return stpLogic.getTokenValueNotCut(); } /** * 获取当前会话的 token 参数信息 * * @return token 参数信息 */ public static SaTokenInfo getTokenInfo() { return stpLogic.getTokenInfo(); } // ------------------- 登录相关操作 ------------------- // --- 登录 /** * 会话登录 * * @param id 账号id,建议的类型:(long | int | String) */ public static void login(Object id) { stpLogic.login(id); } /** * 会话登录,并指定登录设备类型 * * @param id 账号id,建议的类型:(long | int | String) * @param device 设备类型 */ public static void login(Object id, String device) { stpLogic.login(id, device); } /** * 会话登录,并指定是否 [记住我] * * @param id 账号id,建议的类型:(long | int | String) * @param isLastingCookie 是否为持久Cookie,值为 true 时记住我,值为 false 时关闭浏览器需要重新登录 */ public static void login(Object id, boolean isLastingCookie) { stpLogic.login(id, isLastingCookie); } /** * 会话登录,并指定此次登录 token 的有效期, 单位:秒 * * @param id 账号id,建议的类型:(long | int | String) * @param timeout 此次登录 token 的有效期, 单位:秒 */ public static void login(Object id, long timeout) { stpLogic.login(id, timeout); } /** * 会话登录,并指定所有登录参数 Model * * @param id 账号id,建议的类型:(long | int | String) * @param loginModel 此次登录的参数Model */ public static void login(Object id, SaLoginModel loginModel) { stpLogic.login(id, loginModel); } /** * 创建指定账号 id 的登录会话数据 * * @param id 账号id,建议的类型:(long | int | String) * @return 返回会话令牌 */ public static String createLoginSession(Object id) { return stpLogic.createLoginSession(id); } /** * 创建指定账号 id 的登录会话数据 * * @param id 账号id,建议的类型:(long | int | String) * @param loginModel 此次登录的参数Model * @return 返回会话令牌 */ public static String createLoginSession(Object id, SaLoginModel loginModel) { return stpLogic.createLoginSession(id, loginModel); } // --- 注销 /** * 在当前客户端会话注销 */ public static void logout() { stpLogic.logout(); } /** * 会话注销,根据账号id * * @param loginId 账号id */ public static void logout(Object loginId) { stpLogic.logout(loginId); } /** * 会话注销,根据账号id 和 设备类型 * * @param loginId 账号id * @param device 设备类型 (填 null 代表注销该账号的所有设备类型) */ public static void logout(Object loginId, String device) { stpLogic.logout(loginId, device); } /** * 会话注销,根据指定 Token * * @param tokenValue 指定 token */ public static void logoutByTokenValue(String tokenValue) { stpLogic.logoutByTokenValue(tokenValue); } /** * 踢人下线,根据账号id *

当对方再次访问系统时,会抛出 NotLoginException 异常,场景值=-5

* * @param loginId 账号id */ public static void kickout(Object loginId) { stpLogic.kickout(loginId); } /** * 踢人下线,根据账号id 和 设备类型 *

当对方再次访问系统时,会抛出 NotLoginException 异常,场景值=-5

* * @param loginId 账号id * @param device 设备类型 (填 null 代表踢出该账号的所有设备类型) */ public static void kickout(Object loginId, String device) { stpLogic.kickout(loginId, device); } /** * 踢人下线,根据指定 token *

当对方再次访问系统时,会抛出 NotLoginException 异常,场景值=-5

* * @param tokenValue 指定 token */ public static void kickoutByTokenValue(String tokenValue) { stpLogic.kickoutByTokenValue(tokenValue); } /** * 顶人下线,根据账号id 和 设备类型 *

当对方再次访问系统时,会抛出 NotLoginException 异常,场景值=-4

* * @param loginId 账号id * @param device 设备类型 (填 null 代表顶替该账号的所有设备类型) */ public static void replaced(Object loginId, String device) { stpLogic.replaced(loginId, device); } // 会话查询 /** * 判断当前会话是否已经登录 * * @return 已登录返回 true,未登录返回 false */ public static boolean isLogin() { return stpLogic.isLogin(); } /** * 判断指定账号是否已经登录 * * @return 已登录返回 true,未登录返回 false */ public static boolean isLogin(Object loginId) { return stpLogic.isLogin(loginId); } /** * 检验当前会话是否已经登录,如未登录,则抛出异常 */ public static void checkLogin() { stpLogic.checkLogin(); } /** * 获取当前会话账号id,如果未登录,则抛出异常 * * @return 账号id */ public static Object getLoginId() { return stpLogic.getLoginId(); } /** * 获取当前会话账号id, 如果未登录,则返回默认值 * * @param 返回类型 * @param defaultValue 默认值 * @return 登录id */ public static T getLoginId(T defaultValue) { return stpLogic.getLoginId(defaultValue); } /** * 获取当前会话账号id, 如果未登录,则返回null * * @return 账号id */ public static Object getLoginIdDefaultNull() { return stpLogic.getLoginIdDefaultNull(); } /** * 获取当前会话账号id, 并转换为 String 类型 * * @return 账号id */ public static String getLoginIdAsString() { return stpLogic.getLoginIdAsString(); } /** * 获取当前会话账号id, 并转换为 int 类型 * * @return 账号id */ public static int getLoginIdAsInt() { return stpLogic.getLoginIdAsInt(); } /** * 获取当前会话账号id, 并转换为 long 类型 * * @return 账号id */ public static long getLoginIdAsLong() { return stpLogic.getLoginIdAsLong(); } /** * 获取指定 token 对应的账号id,如果未登录,则返回 null * * @param tokenValue token * @return 账号id */ public static Object getLoginIdByToken(String tokenValue) { return stpLogic.getLoginIdByToken(tokenValue); } /** * 获取当前 Token 的扩展信息(此函数只在jwt模式下生效) * * @param key 键值 * @return 对应的扩展数据 */ public static Object getExtra(String key) { return stpLogic.getExtra(key); } /** * 获取指定 Token 的扩展信息(此函数只在jwt模式下生效) * * @param tokenValue 指定的 Token 值 * @param key 键值 * @return 对应的扩展数据 */ public static Object getExtra(String tokenValue, String key) { return stpLogic.getExtra(tokenValue, key); } // ------------------- Account-Session 相关 ------------------- /** * 获取指定账号 id 的 Account-Session, 如果该 SaSession 尚未创建,isCreate=是否新建并返回 * * @param loginId 账号id * @param isCreate 是否新建 * @return SaSession 对象 */ public static SaSession getSessionByLoginId(Object loginId, boolean isCreate) { return stpLogic.getSessionByLoginId(loginId, isCreate); } /** * 获取指定 key 的 SaSession, 如果该 SaSession 尚未创建,则返回 null * * @param sessionId SessionId * @return Session对象 */ public static SaSession getSessionBySessionId(String sessionId) { return stpLogic.getSessionBySessionId(sessionId); } /** * 获取指定账号 id 的 Account-Session,如果该 SaSession 尚未创建,则新建并返回 * * @param loginId 账号id * @return SaSession 对象 */ public static SaSession getSessionByLoginId(Object loginId) { return stpLogic.getSessionByLoginId(loginId); } /** * 获取当前已登录账号的 Account-Session, 如果该 SaSession 尚未创建,isCreate=是否新建并返回 * * @param isCreate 是否新建 * @return Session对象 */ public static SaSession getSession(boolean isCreate) { return stpLogic.getSession(isCreate); } /** * 获取当前已登录账号的 Account-Session,如果该 SaSession 尚未创建,则新建并返回 * * @return Session对象 */ public static SaSession getSession() { return stpLogic.getSession(); } // ------------------- Token-Session 相关 ------------------- /** * 获取指定 token 的 Token-Session,如果该 SaSession 尚未创建,则新建并返回 * * @param tokenValue Token值 * @return Session对象 */ public static SaSession getTokenSessionByToken(String tokenValue) { return stpLogic.getTokenSessionByToken(tokenValue); } /** * 获取当前 token 的 Token-Session,如果该 SaSession 尚未创建,则新建并返回 * * @return Session对象 */ public static SaSession getTokenSession() { return stpLogic.getTokenSession(); } /** * 获取当前匿名 Token-Session (可在未登录情况下使用的Token-Session) * * @return Token-Session 对象 */ public static SaSession getAnonTokenSession() { return stpLogic.getAnonTokenSession(); } // ------------------- Active-Timeout token 最低活跃度 验证相关 ------------------- /** * 续签当前 token:(将 [最后操作时间] 更新为当前时间戳) *

* 请注意: 即使 token 已被冻结 也可续签成功, * 如果此场景下需要提示续签失败,可在此之前调用 checkActiveTimeout() 强制检查是否冻结即可 *

*/ public static void updateLastActiveToNow() { stpLogic.updateLastActiveToNow(); } /** * 检查当前 token 是否已被冻结,如果是则抛出异常 */ public static void checkActiveTimeout() { stpLogic.checkActiveTimeout(); } // ------------------- 过期时间相关 ------------------- /** * 获取当前会话 token 剩余有效时间(单位: 秒,返回 -1 代表永久有效,-2 代表没有这个值) * * @return token剩余有效时间 */ public static long getTokenTimeout() { return stpLogic.getTokenTimeout(); } /** * 获取指定 token 剩余有效时间(单位: 秒,返回 -1 代表永久有效,-2 代表没有这个值) * * @param token 指定token * @return token剩余有效时间 */ public static long getTokenTimeout(String token) { return stpLogic.getTokenTimeout(token); } /** * 获取当前登录账号的 Account-Session 剩余有效时间(单位: 秒,返回 -1 代表永久有效,-2 代表没有这个值) * * @return token剩余有效时间 */ public static long getSessionTimeout() { return stpLogic.getSessionTimeout(); } /** * 获取当前 token 的 Token-Session 剩余有效时间(单位: 秒,返回 -1 代表永久有效,-2 代表没有这个值) * * @return token剩余有效时间 */ public static long getTokenSessionTimeout() { return stpLogic.getTokenSessionTimeout(); } /** * 获取当前 token 剩余活跃有效期:当前 token 距离被冻结还剩多少时间(单位: 秒,返回 -1 代表永不冻结,-2 代表没有这个值或 token 已被冻结了) * * @return / */ public static long getTokenActiveTimeout() { return stpLogic.getTokenActiveTimeout(); } /** * 对当前 token 的 timeout 值进行续期 * * @param timeout 要修改成为的有效时间 (单位: 秒) */ public static void renewTimeout(long timeout) { stpLogic.renewTimeout(timeout); } /** * 对指定 token 的 timeout 值进行续期 * * @param tokenValue 指定 token * @param timeout 要修改成为的有效时间 (单位: 秒,填 -1 代表要续为永久有效) */ public static void renewTimeout(String tokenValue, long timeout) { stpLogic.renewTimeout(tokenValue, timeout); } // ------------------- 角色认证操作 ------------------- /** * 获取:当前账号的角色集合 * * @return / */ public static List getRoleList() { return stpLogic.getRoleList(); } /** * 获取:指定账号的角色集合 * * @param loginId 指定账号id * @return / */ public static List getRoleList(Object loginId) { return stpLogic.getRoleList(loginId); } /** * 判断:当前账号是否拥有指定角色, 返回 true 或 false * * @param role 角色 * @return / */ public static boolean hasRole(String role) { return stpLogic.hasRole(role); } /** * 判断:指定账号是否含有指定角色标识, 返回 true 或 false * * @param loginId 账号id * @param role 角色标识 * @return 是否含有指定角色标识 */ public static boolean hasRole(Object loginId, String role) { return stpLogic.hasRole(loginId, role); } /** * 判断:当前账号是否含有指定角色标识 [ 指定多个,必须全部验证通过 ] * * @param roleArray 角色标识数组 * @return true或false */ public static boolean hasRoleAnd(String... roleArray){ return stpLogic.hasRoleAnd(roleArray); } /** * 判断:当前账号是否含有指定角色标识 [ 指定多个,只要其一验证通过即可 ] * * @param roleArray 角色标识数组 * @return true或false */ public static boolean hasRoleOr(String... roleArray){ return stpLogic.hasRoleOr(roleArray); } /** * 校验:当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleException * * @param role 角色标识 */ public static void checkRole(String role) { stpLogic.checkRole(role); } /** * 校验:当前账号是否含有指定角色标识 [ 指定多个,必须全部验证通过 ] * * @param roleArray 角色标识数组 */ public static void checkRoleAnd(String... roleArray){ stpLogic.checkRoleAnd(roleArray); } /** * 校验:当前账号是否含有指定角色标识 [ 指定多个,只要其一验证通过即可 ] * * @param roleArray 角色标识数组 */ public static void checkRoleOr(String... roleArray){ stpLogic.checkRoleOr(roleArray); } // ------------------- 权限认证操作 ------------------- /** * 获取:当前账号的权限码集合 * * @return / */ public static List getPermissionList() { return stpLogic.getPermissionList(); } /** * 获取:指定账号的权限码集合 * * @param loginId 指定账号id * @return / */ public static List getPermissionList(Object loginId) { return stpLogic.getPermissionList(loginId); } /** * 判断:当前账号是否含有指定权限, 返回 true 或 false * * @param permission 权限码 * @return 是否含有指定权限 */ public static boolean hasPermission(String permission) { return stpLogic.hasPermission(permission); } /** * 判断:指定账号 id 是否含有指定权限, 返回 true 或 false * * @param loginId 账号 id * @param permission 权限码 * @return 是否含有指定权限 */ public static boolean hasPermission(Object loginId, String permission) { return stpLogic.hasPermission(loginId, permission); } /** * 判断:当前账号是否含有指定权限 [ 指定多个,必须全部具有 ] * * @param permissionArray 权限码数组 * @return true 或 false */ public static boolean hasPermissionAnd(String... permissionArray){ return stpLogic.hasPermissionAnd(permissionArray); } /** * 判断:当前账号是否含有指定权限 [ 指定多个,只要其一验证通过即可 ] * * @param permissionArray 权限码数组 * @return true 或 false */ public static boolean hasPermissionOr(String... permissionArray){ return stpLogic.hasPermissionOr(permissionArray); } /** * 校验:当前账号是否含有指定权限, 如果验证未通过,则抛出异常: NotPermissionException * * @param permission 权限码 */ public static void checkPermission(String permission) { stpLogic.checkPermission(permission); } /** * 校验:当前账号是否含有指定权限 [ 指定多个,必须全部验证通过 ] * * @param permissionArray 权限码数组 */ public static void checkPermissionAnd(String... permissionArray) { stpLogic.checkPermissionAnd(permissionArray); } /** * 校验:当前账号是否含有指定权限 [ 指定多个,只要其一验证通过即可 ] * * @param permissionArray 权限码数组 */ public static void checkPermissionOr(String... permissionArray) { stpLogic.checkPermissionOr(permissionArray); } // ------------------- id 反查 token 相关操作 ------------------- /** * 获取指定账号 id 的 token *

* 在配置为允许并发登录时,此方法只会返回队列的最后一个 token, * 如果你需要返回此账号 id 的所有 token,请调用 getTokenValueListByLoginId *

* * @param loginId 账号id * @return token值 */ public static String getTokenValueByLoginId(Object loginId) { return stpLogic.getTokenValueByLoginId(loginId); } /** * 获取指定账号 id 指定设备类型端的 token *

* 在配置为允许并发登录时,此方法只会返回队列的最后一个 token, * 如果你需要返回此账号 id 的所有 token,请调用 getTokenValueListByLoginId *

* * @param loginId 账号id * @param device 设备类型,填 null 代表不限设备类型 * @return token值 */ public static String getTokenValueByLoginId(Object loginId, String device) { return stpLogic.getTokenValueByLoginId(loginId, device); } /** * 获取指定账号 id 的 token 集合 * * @param loginId 账号id * @return 此 loginId 的所有相关 token */ public static List getTokenValueListByLoginId(Object loginId) { return stpLogic.getTokenValueListByLoginId(loginId); } /** * 获取指定账号 id 指定设备类型端的 token 集合 * * @param loginId 账号id * @param device 设备类型,填 null 代表不限设备类型 * @return 此 loginId 的所有登录 token */ public static List getTokenValueListByLoginId(Object loginId, String device) { return stpLogic.getTokenValueListByLoginId(loginId, device); } /** * 获取指定账号 id 指定设备类型端的 tokenSign 集合 * * @param loginId 账号id * @param device 设备类型,填 null 代表不限设备类型 * @return 此 loginId 的所有登录 tokenSign */ public static List getTokenSignListByLoginId(Object loginId, String device) { return stpLogic.getTokenSignListByLoginId(loginId, device); } /** * 返回当前会话的登录设备类型 * * @return 当前令牌的登录设备类型 */ public static String getLoginDevice() { return stpLogic.getLoginDevice(); } // ------------------- 会话管理 ------------------- /** * 根据条件查询缓存中所有的 token * * @param keyword 关键字 * @param start 开始处索引 * @param size 获取数量 (-1代表一直获取到末尾) * @param sortType 排序类型(true=正序,false=反序) * * @return token集合 */ public static List searchTokenValue(String keyword, int start, int size, boolean sortType) { return stpLogic.searchTokenValue(keyword, start, size, sortType); } /** * 根据条件查询缓存中所有的 SessionId * * @param keyword 关键字 * @param start 开始处索引 * @param size 获取数量 (-1代表一直获取到末尾) * @param sortType 排序类型(true=正序,false=反序) * * @return sessionId集合 */ public static List searchSessionId(String keyword, int start, int size, boolean sortType) { return stpLogic.searchSessionId(keyword, start, size, sortType); } /** * 根据条件查询缓存中所有的 Token-Session-Id * * @param keyword 关键字 * @param start 开始处索引 * @param size 获取数量 (-1代表一直获取到末尾) * @param sortType 排序类型(true=正序,false=反序) * * @return sessionId集合 */ public static List searchTokenSessionId(String keyword, int start, int size, boolean sortType) { return stpLogic.searchTokenSessionId(keyword, start, size, sortType); } // ------------------- 账号封禁 ------------------- /** * 封禁:指定账号 *

此方法不会直接将此账号id踢下线,如需封禁后立即掉线,请追加调用 StpUtil.logout(id) * * @param loginId 指定账号id * @param time 封禁时间, 单位: 秒 (-1=永久封禁) */ public static void disable(Object loginId, long time) { stpLogic.disable(loginId, time); } /** * 判断:指定账号是否已被封禁 (true=已被封禁, false=未被封禁) * * @param loginId 账号id * @return / */ public static boolean isDisable(Object loginId) { return stpLogic.isDisable(loginId); } /** * 校验:指定账号是否已被封禁,如果被封禁则抛出异常 * * @param loginId 账号id */ public static void checkDisable(Object loginId) { stpLogic.checkDisable(loginId); } /** * 获取:指定账号剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁) * * @param loginId 账号id * @return / */ public static long getDisableTime(Object loginId) { return stpLogic.getDisableTime(loginId); } /** * 解封:指定账号 * * @param loginId 账号id */ public static void untieDisable(Object loginId) { stpLogic.untieDisable(loginId); } // ------------------- 分类封禁 ------------------- /** * 封禁:指定账号的指定服务 *

此方法不会直接将此账号id踢下线,如需封禁后立即掉线,请追加调用 StpUtil.logout(id) * * @param loginId 指定账号id * @param service 指定服务 * @param time 封禁时间, 单位: 秒 (-1=永久封禁) */ public static void disable(Object loginId, String service, long time) { stpLogic.disable(loginId, service, time); } /** * 判断:指定账号的指定服务 是否已被封禁(true=已被封禁, false=未被封禁) * * @param loginId 账号id * @param service 指定服务 * @return / */ public static boolean isDisable(Object loginId, String service) { return stpLogic.isDisable(loginId, service); } /** * 校验:指定账号 指定服务 是否已被封禁,如果被封禁则抛出异常 * * @param loginId 账号id * @param services 指定服务,可以指定多个 */ public static void checkDisable(Object loginId, String... services) { stpLogic.checkDisable(loginId, services); } /** * 获取:指定账号 指定服务 剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁) * * @param loginId 账号id * @param service 指定服务 * @return see note */ public static long getDisableTime(Object loginId, String service) { return stpLogic.getDisableTime(loginId, service); } /** * 解封:指定账号、指定服务 * * @param loginId 账号id * @param services 指定服务,可以指定多个 */ public static void untieDisable(Object loginId, String... services) { stpLogic.untieDisable(loginId, services); } // ------------------- 阶梯封禁 ------------------- /** * 封禁:指定账号,并指定封禁等级 * * @param loginId 指定账号id * @param level 指定封禁等级 * @param time 封禁时间, 单位: 秒 (-1=永久封禁) */ public static void disableLevel(Object loginId, int level, long time) { stpLogic.disableLevel(loginId, level, time); } /** * 封禁:指定账号的指定服务,并指定封禁等级 * * @param loginId 指定账号id * @param service 指定封禁服务 * @param level 指定封禁等级 * @param time 封禁时间, 单位: 秒 (-1=永久封禁) */ public static void disableLevel(Object loginId, String service, int level, long time) { stpLogic.disableLevel(loginId, service, level, time); } /** * 判断:指定账号是否已被封禁到指定等级 * * @param loginId 指定账号id * @param level 指定封禁等级 * @return / */ public static boolean isDisableLevel(Object loginId, int level) { return stpLogic.isDisableLevel(loginId, level); } /** * 判断:指定账号的指定服务,是否已被封禁到指定等级 * * @param loginId 指定账号id * @param service 指定封禁服务 * @param level 指定封禁等级 * @return / */ public static boolean isDisableLevel(Object loginId, String service, int level) { return stpLogic.isDisableLevel(loginId, service, level); } /** * 校验:指定账号是否已被封禁到指定等级(如果已经达到,则抛出异常) * * @param loginId 指定账号id * @param level 封禁等级 (只有 封禁等级 ≥ 此值 才会抛出异常) */ public static void checkDisableLevel(Object loginId, int level) { stpLogic.checkDisableLevel(loginId, level); } /** * 校验:指定账号的指定服务,是否已被封禁到指定等级(如果已经达到,则抛出异常) * * @param loginId 指定账号id * @param service 指定封禁服务 * @param level 封禁等级 (只有 封禁等级 ≥ 此值 才会抛出异常) */ public static void checkDisableLevel(Object loginId, String service, int level) { stpLogic.checkDisableLevel(loginId, service, level); } /** * 获取:指定账号被封禁的等级,如果未被封禁则返回-2 * * @param loginId 指定账号id * @return / */ public static int getDisableLevel(Object loginId) { return stpLogic.getDisableLevel(loginId); } /** * 获取:指定账号的 指定服务 被封禁的等级,如果未被封禁则返回-2 * * @param loginId 指定账号id * @param service 指定封禁服务 * @return / */ public static int getDisableLevel(Object loginId, String service) { return stpLogic.getDisableLevel(loginId, service); } // ------------------- 临时身份切换 ------------------- /** * 临时切换身份为指定账号id * * @param loginId 指定loginId */ public static void switchTo(Object loginId) { stpLogic.switchTo(loginId); } /** * 结束临时切换身份 */ public static void endSwitch() { stpLogic.endSwitch(); } /** * 判断当前请求是否正处于 [ 身份临时切换 ] 中 * * @return / */ public static boolean isSwitch() { return stpLogic.isSwitch(); } /** * 在一个 lambda 代码段里,临时切换身份为指定账号id,lambda 结束后自动恢复 * * @param loginId 指定账号id * @param function 要执行的方法 */ public static void switchTo(Object loginId, SaFunction function) { stpLogic.switchTo(loginId, function); } // ------------------- 二级认证 ------------------- /** * 在当前会话 开启二级认证 * * @param safeTime 维持时间 (单位: 秒) */ public static void openSafe(long safeTime) { stpLogic.openSafe(safeTime); } /** * 在当前会话 开启二级认证 * * @param service 业务标识 * @param safeTime 维持时间 (单位: 秒) */ public static void openSafe(String service, long safeTime) { stpLogic.openSafe(service, safeTime); } /** * 判断:当前会话是否处于二级认证时间内 * * @return true=二级认证已通过, false=尚未进行二级认证或认证已超时 */ public static boolean isSafe() { return stpLogic.isSafe(); } /** * 判断:当前会话 是否处于指定业务的二级认证时间内 * * @param service 业务标识 * @return true=二级认证已通过, false=尚未进行二级认证或认证已超时 */ public static boolean isSafe(String service) { return stpLogic.isSafe(service); } /** * 判断:指定 token 是否处于二级认证时间内 * * @param tokenValue Token 值 * @param service 业务标识 * @return true=二级认证已通过, false=尚未进行二级认证或认证已超时 */ public static boolean isSafe(String tokenValue, String service) { return stpLogic.isSafe(tokenValue, service); } /** * 校验:当前会话是否已通过二级认证,如未通过则抛出异常 */ public static void checkSafe() { stpLogic.checkSafe(); } /** * 校验:检查当前会话是否已通过指定业务的二级认证,如未通过则抛出异常 * * @param service 业务标识 */ public static void checkSafe(String service) { stpLogic.checkSafe(service); } /** * 获取:当前会话的二级认证剩余有效时间(单位: 秒, 返回-2代表尚未通过二级认证) * * @return 剩余有效时间 */ public static long getSafeTime() { return stpLogic.getSafeTime(); } /** * 获取:当前会话的二级认证剩余有效时间(单位: 秒, 返回-2代表尚未通过二级认证) * * @param service 业务标识 * @return 剩余有效时间 */ public static long getSafeTime(String service) { return stpLogic.getSafeTime(service); } /** * 在当前会话 结束二级认证 */ public static void closeSafe() { stpLogic.closeSafe(); } /** * 在当前会话 结束指定业务标识的二级认证 * * @param service 业务标识 */ public static void closeSafe(String service) { stpLogic.closeSafe(service); } } ================================================ FILE: mall-gateway/src/main/resources/application.yml ================================================ server: port: 8201 spring: mvc: pathmatch: matching-strategy: ant_path_matcher cloud: gateway: discovery: locator: enabled: true lower-case-service-id: true #使用小写service-id routes: #配置路由路径 - id: mall-auth uri: lb://mall-auth predicates: - Path=/mall-auth/** filters: - StripPrefix=1 - id: mall-admin uri: lb://mall-admin predicates: - Path=/mall-admin/** filters: - StripPrefix=1 - id: mall-portal uri: lb://mall-portal predicates: - Path=/mall-portal/** filters: - StripPrefix=1 - id: mall-search uri: lb://mall-search predicates: - Path=/mall-search/** filters: - StripPrefix=1 - id: mall-demo uri: lb://mall-demo predicates: - Path=/mall-demo/** filters: - StripPrefix=1 data: redis: database: 0 port: 6379 host: localhost password: secure: ignore: urls: #配置白名单路径 - "/doc.html" - "/v3/api-docs/swagger-config" - "/*/v3/api-docs/default" - "/*/v3/api-docs" - "/*/swagger-ui/**" - "/webjars/**" - "/favicon.ico" - "/webjars/**" - "/actuator/**" - "/mall-auth/**" - "/mall-search/**" - "/mall-portal/sso/login" - "/mall-portal/sso/register" - "/mall-portal/sso/getAuthCode" - "/mall-portal/home/**" - "/mall-portal/product/**" - "/mall-portal/brand/**" - "/mall-portal/alipay/**" - "/mall-admin/admin/login" - "/mall-admin/admin/register" - "/mall-admin/minio/upload" management: endpoints: web: exposure: include: '*' #暴露Actuator的监控端点 endpoint: health: show-details: always #显示健康的详细信息 env: show-values: always #默认Actuator的环境变量会以****显示,这里开启显示 configprops: show-values: always #默认Actuator的配置属性会以****显示,这里开启显示 info: enabled: true knife4j: gateway: enabled: true strategy: discover #网关文档聚合方式:服务发现(自动聚合) discover: version: openapi3 #配置OpenAPI3规范 enabled: true #配置开启服务发现 excluded-services: mall-monitor #排除监控服务 tags-sorter: order #配置tag排序规则 operations-sorter: order #配置operation排序规则 sa-token: # token名称 (同时也是cookie名称) token-name: Authorization # token有效期,单位秒,-1代表永不过期 timeout: 2592000 # token临时有效期 (指定时间内无操作就视为token过期),单位秒 active-timeout: -1 # 是否允许同一账号并发登录 (为false时新登录挤掉旧登录) is-concurrent: true # 在多人登录同一账号时,是否共用一个token (为false时每次登录新建一个token) is-share: false # token风格 token-style: uuid # 是否输出操作日志 is-log: false # 是否从cookie中读取token is-read-cookie: false # 是否从head中读取token is-read-header: true # token前缀 token-prefix: Bearer # 是否打印banner is-print: false ================================================ FILE: mall-gateway/src/main/resources/bootstrap-dev.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://localhost:8848 config: server-addr: http://localhost:8848 file-extension: yaml ================================================ FILE: mall-gateway/src/main/resources/bootstrap-prod.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://nacos-registry:8848 config: server-addr: http://nacos-registry:8848 file-extension: yaml ================================================ FILE: mall-gateway/src/main/resources/bootstrap.yml ================================================ spring: profiles: active: dev application: name: mall-gateway ================================================ FILE: mall-gateway/src/test/java/com/macro/mall/MallGatewayApplicationTests.java ================================================ package com.macro.mall; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @SpringBootTest public class MallGatewayApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: mall-mbg/.gitignore ================================================ # MyBatis generate files # src\main\resources\com\macro\mall\mapper ================================================ FILE: mall-mbg/pom.xml ================================================ 4.0.0 com.macro.mall mall-mbg 1.0-SNAPSHOT jar mall-mbg mall-mbg project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT com.macro.mall mall-common com.github.pagehelper pagehelper-spring-boot-starter org.mybatis.spring.boot mybatis-spring-boot-starter com.alibaba druid-spring-boot-starter org.mybatis.generator mybatis-generator-core mysql mysql-connector-java ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/CommentGenerator.java ================================================ package com.macro.mall; import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.IntrospectedTable; import org.mybatis.generator.api.dom.java.CompilationUnit; import org.mybatis.generator.api.dom.java.Field; import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType; import org.mybatis.generator.internal.DefaultCommentGenerator; import org.mybatis.generator.internal.util.StringUtility; import java.util.Properties; /** * 自定义注释生成器 * Created by macro on 2018/4/26. */ public class CommentGenerator extends DefaultCommentGenerator { private boolean addRemarkComments = false; private static final String EXAMPLE_SUFFIX="Example"; private static final String MAPPER_SUFFIX="Mapper"; private static final String API_MODEL_PROPERTY_FULL_CLASS_NAME="io.swagger.v3.oas.annotations.media.Schema"; /** * 设置用户配置的参数 */ @Override public void addConfigurationProperties(Properties properties) { super.addConfigurationProperties(properties); this.addRemarkComments = StringUtility.isTrue(properties.getProperty("addRemarkComments")); } /** * 给字段添加注释 */ @Override public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { String remarks = introspectedColumn.getRemarks(); //根据参数和备注信息判断是否添加swagger注解信息 if(addRemarkComments&&StringUtility.stringHasValue(remarks)){ // addFieldJavaDoc(field, remarks); //数据库中特殊字符需要转义 if(remarks.contains("\"")){ remarks = remarks.replace("\"","'"); } //给model的字段添加swagger注解 field.addJavaDocLine("@Schema(title = \""+remarks+"\")"); } } /** * 给model的字段添加注释 */ private void addFieldJavaDoc(Field field, String remarks) { //文档注释开始 field.addJavaDocLine("/**"); //获取数据库字段的备注信息 String[] remarkLines = remarks.split(System.getProperty("line.separator")); for(String remarkLine:remarkLines){ field.addJavaDocLine(" * "+remarkLine); } addJavadocTag(field, false); field.addJavaDocLine(" */"); } @Override public void addJavaFileComment(CompilationUnit compilationUnit) { super.addJavaFileComment(compilationUnit); //只在model中添加swagger注解类的导入 if(!compilationUnit.getType().getFullyQualifiedName().contains(MAPPER_SUFFIX)&&!compilationUnit.getType().getFullyQualifiedName().contains(EXAMPLE_SUFFIX)){ compilationUnit.addImportedType(new FullyQualifiedJavaType(API_MODEL_PROPERTY_FULL_CLASS_NAME)); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/Generator.java ================================================ package com.macro.mall; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.InputStream; import java.util.ArrayList; import java.util.List; /** * 用于生产MBG的代码 * Created by macro on 2018/4/26. */ public class Generator { public static void main(String[] args) throws Exception { //MBG 执行过程中的警告信息 List warnings = new ArrayList(); //当生成的代码重复时,覆盖原代码 boolean overwrite = true; //读取我们的 MBG 配置文件 InputStream is = Generator.class.getResourceAsStream("/generatorConfig.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(is); is.close(); DefaultShellCallback callback = new DefaultShellCallback(overwrite); //创建 MBG MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); //执行生成代码 myBatisGenerator.generate(null); //输出警告信息 for (String warning : warnings) { System.out.println(warning); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsHelpCategoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsHelpCategory; import com.macro.mall.model.CmsHelpCategoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsHelpCategoryMapper { long countByExample(CmsHelpCategoryExample example); int deleteByExample(CmsHelpCategoryExample example); int deleteByPrimaryKey(Long id); int insert(CmsHelpCategory row); int insertSelective(CmsHelpCategory row); List selectByExample(CmsHelpCategoryExample example); CmsHelpCategory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsHelpCategory row, @Param("example") CmsHelpCategoryExample example); int updateByExample(@Param("row") CmsHelpCategory row, @Param("example") CmsHelpCategoryExample example); int updateByPrimaryKeySelective(CmsHelpCategory row); int updateByPrimaryKey(CmsHelpCategory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsHelpMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsHelp; import com.macro.mall.model.CmsHelpExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsHelpMapper { long countByExample(CmsHelpExample example); int deleteByExample(CmsHelpExample example); int deleteByPrimaryKey(Long id); int insert(CmsHelp row); int insertSelective(CmsHelp row); List selectByExampleWithBLOBs(CmsHelpExample example); List selectByExample(CmsHelpExample example); CmsHelp selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsHelp row, @Param("example") CmsHelpExample example); int updateByExampleWithBLOBs(@Param("row") CmsHelp row, @Param("example") CmsHelpExample example); int updateByExample(@Param("row") CmsHelp row, @Param("example") CmsHelpExample example); int updateByPrimaryKeySelective(CmsHelp row); int updateByPrimaryKeyWithBLOBs(CmsHelp row); int updateByPrimaryKey(CmsHelp row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsMemberReportMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsMemberReport; import com.macro.mall.model.CmsMemberReportExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsMemberReportMapper { long countByExample(CmsMemberReportExample example); int deleteByExample(CmsMemberReportExample example); int insert(CmsMemberReport row); int insertSelective(CmsMemberReport row); List selectByExample(CmsMemberReportExample example); int updateByExampleSelective(@Param("row") CmsMemberReport row, @Param("example") CmsMemberReportExample example); int updateByExample(@Param("row") CmsMemberReport row, @Param("example") CmsMemberReportExample example); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsPrefrenceAreaMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsPrefrenceArea; import com.macro.mall.model.CmsPrefrenceAreaExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsPrefrenceAreaMapper { long countByExample(CmsPrefrenceAreaExample example); int deleteByExample(CmsPrefrenceAreaExample example); int deleteByPrimaryKey(Long id); int insert(CmsPrefrenceArea row); int insertSelective(CmsPrefrenceArea row); List selectByExampleWithBLOBs(CmsPrefrenceAreaExample example); List selectByExample(CmsPrefrenceAreaExample example); CmsPrefrenceArea selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsPrefrenceArea row, @Param("example") CmsPrefrenceAreaExample example); int updateByExampleWithBLOBs(@Param("row") CmsPrefrenceArea row, @Param("example") CmsPrefrenceAreaExample example); int updateByExample(@Param("row") CmsPrefrenceArea row, @Param("example") CmsPrefrenceAreaExample example); int updateByPrimaryKeySelective(CmsPrefrenceArea row); int updateByPrimaryKeyWithBLOBs(CmsPrefrenceArea row); int updateByPrimaryKey(CmsPrefrenceArea row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsPrefrenceAreaProductRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsPrefrenceAreaProductRelation; import com.macro.mall.model.CmsPrefrenceAreaProductRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsPrefrenceAreaProductRelationMapper { long countByExample(CmsPrefrenceAreaProductRelationExample example); int deleteByExample(CmsPrefrenceAreaProductRelationExample example); int deleteByPrimaryKey(Long id); int insert(CmsPrefrenceAreaProductRelation row); int insertSelective(CmsPrefrenceAreaProductRelation row); List selectByExample(CmsPrefrenceAreaProductRelationExample example); CmsPrefrenceAreaProductRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsPrefrenceAreaProductRelation row, @Param("example") CmsPrefrenceAreaProductRelationExample example); int updateByExample(@Param("row") CmsPrefrenceAreaProductRelation row, @Param("example") CmsPrefrenceAreaProductRelationExample example); int updateByPrimaryKeySelective(CmsPrefrenceAreaProductRelation row); int updateByPrimaryKey(CmsPrefrenceAreaProductRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsSubjectCategoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsSubjectCategory; import com.macro.mall.model.CmsSubjectCategoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsSubjectCategoryMapper { long countByExample(CmsSubjectCategoryExample example); int deleteByExample(CmsSubjectCategoryExample example); int deleteByPrimaryKey(Long id); int insert(CmsSubjectCategory row); int insertSelective(CmsSubjectCategory row); List selectByExample(CmsSubjectCategoryExample example); CmsSubjectCategory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsSubjectCategory row, @Param("example") CmsSubjectCategoryExample example); int updateByExample(@Param("row") CmsSubjectCategory row, @Param("example") CmsSubjectCategoryExample example); int updateByPrimaryKeySelective(CmsSubjectCategory row); int updateByPrimaryKey(CmsSubjectCategory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsSubjectCommentMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsSubjectComment; import com.macro.mall.model.CmsSubjectCommentExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsSubjectCommentMapper { long countByExample(CmsSubjectCommentExample example); int deleteByExample(CmsSubjectCommentExample example); int deleteByPrimaryKey(Long id); int insert(CmsSubjectComment row); int insertSelective(CmsSubjectComment row); List selectByExample(CmsSubjectCommentExample example); CmsSubjectComment selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsSubjectComment row, @Param("example") CmsSubjectCommentExample example); int updateByExample(@Param("row") CmsSubjectComment row, @Param("example") CmsSubjectCommentExample example); int updateByPrimaryKeySelective(CmsSubjectComment row); int updateByPrimaryKey(CmsSubjectComment row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsSubjectMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsSubject; import com.macro.mall.model.CmsSubjectExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsSubjectMapper { long countByExample(CmsSubjectExample example); int deleteByExample(CmsSubjectExample example); int deleteByPrimaryKey(Long id); int insert(CmsSubject row); int insertSelective(CmsSubject row); List selectByExampleWithBLOBs(CmsSubjectExample example); List selectByExample(CmsSubjectExample example); CmsSubject selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsSubject row, @Param("example") CmsSubjectExample example); int updateByExampleWithBLOBs(@Param("row") CmsSubject row, @Param("example") CmsSubjectExample example); int updateByExample(@Param("row") CmsSubject row, @Param("example") CmsSubjectExample example); int updateByPrimaryKeySelective(CmsSubject row); int updateByPrimaryKeyWithBLOBs(CmsSubject row); int updateByPrimaryKey(CmsSubject row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsSubjectProductRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsSubjectProductRelation; import com.macro.mall.model.CmsSubjectProductRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsSubjectProductRelationMapper { long countByExample(CmsSubjectProductRelationExample example); int deleteByExample(CmsSubjectProductRelationExample example); int deleteByPrimaryKey(Long id); int insert(CmsSubjectProductRelation row); int insertSelective(CmsSubjectProductRelation row); List selectByExample(CmsSubjectProductRelationExample example); CmsSubjectProductRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsSubjectProductRelation row, @Param("example") CmsSubjectProductRelationExample example); int updateByExample(@Param("row") CmsSubjectProductRelation row, @Param("example") CmsSubjectProductRelationExample example); int updateByPrimaryKeySelective(CmsSubjectProductRelation row); int updateByPrimaryKey(CmsSubjectProductRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsTopicCategoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsTopicCategory; import com.macro.mall.model.CmsTopicCategoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsTopicCategoryMapper { long countByExample(CmsTopicCategoryExample example); int deleteByExample(CmsTopicCategoryExample example); int deleteByPrimaryKey(Long id); int insert(CmsTopicCategory row); int insertSelective(CmsTopicCategory row); List selectByExample(CmsTopicCategoryExample example); CmsTopicCategory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsTopicCategory row, @Param("example") CmsTopicCategoryExample example); int updateByExample(@Param("row") CmsTopicCategory row, @Param("example") CmsTopicCategoryExample example); int updateByPrimaryKeySelective(CmsTopicCategory row); int updateByPrimaryKey(CmsTopicCategory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsTopicCommentMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsTopicComment; import com.macro.mall.model.CmsTopicCommentExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsTopicCommentMapper { long countByExample(CmsTopicCommentExample example); int deleteByExample(CmsTopicCommentExample example); int deleteByPrimaryKey(Long id); int insert(CmsTopicComment row); int insertSelective(CmsTopicComment row); List selectByExample(CmsTopicCommentExample example); CmsTopicComment selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsTopicComment row, @Param("example") CmsTopicCommentExample example); int updateByExample(@Param("row") CmsTopicComment row, @Param("example") CmsTopicCommentExample example); int updateByPrimaryKeySelective(CmsTopicComment row); int updateByPrimaryKey(CmsTopicComment row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/CmsTopicMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.CmsTopic; import com.macro.mall.model.CmsTopicExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface CmsTopicMapper { long countByExample(CmsTopicExample example); int deleteByExample(CmsTopicExample example); int deleteByPrimaryKey(Long id); int insert(CmsTopic row); int insertSelective(CmsTopic row); List selectByExampleWithBLOBs(CmsTopicExample example); List selectByExample(CmsTopicExample example); CmsTopic selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") CmsTopic row, @Param("example") CmsTopicExample example); int updateByExampleWithBLOBs(@Param("row") CmsTopic row, @Param("example") CmsTopicExample example); int updateByExample(@Param("row") CmsTopic row, @Param("example") CmsTopicExample example); int updateByPrimaryKeySelective(CmsTopic row); int updateByPrimaryKeyWithBLOBs(CmsTopic row); int updateByPrimaryKey(CmsTopic row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/OmsCartItemMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.OmsCartItem; import com.macro.mall.model.OmsCartItemExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface OmsCartItemMapper { long countByExample(OmsCartItemExample example); int deleteByExample(OmsCartItemExample example); int deleteByPrimaryKey(Long id); int insert(OmsCartItem row); int insertSelective(OmsCartItem row); List selectByExample(OmsCartItemExample example); OmsCartItem selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") OmsCartItem row, @Param("example") OmsCartItemExample example); int updateByExample(@Param("row") OmsCartItem row, @Param("example") OmsCartItemExample example); int updateByPrimaryKeySelective(OmsCartItem row); int updateByPrimaryKey(OmsCartItem row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/OmsCompanyAddressMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.OmsCompanyAddress; import com.macro.mall.model.OmsCompanyAddressExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface OmsCompanyAddressMapper { long countByExample(OmsCompanyAddressExample example); int deleteByExample(OmsCompanyAddressExample example); int deleteByPrimaryKey(Long id); int insert(OmsCompanyAddress row); int insertSelective(OmsCompanyAddress row); List selectByExample(OmsCompanyAddressExample example); OmsCompanyAddress selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") OmsCompanyAddress row, @Param("example") OmsCompanyAddressExample example); int updateByExample(@Param("row") OmsCompanyAddress row, @Param("example") OmsCompanyAddressExample example); int updateByPrimaryKeySelective(OmsCompanyAddress row); int updateByPrimaryKey(OmsCompanyAddress row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderItemMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.OmsOrderItem; import com.macro.mall.model.OmsOrderItemExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface OmsOrderItemMapper { long countByExample(OmsOrderItemExample example); int deleteByExample(OmsOrderItemExample example); int deleteByPrimaryKey(Long id); int insert(OmsOrderItem row); int insertSelective(OmsOrderItem row); List selectByExample(OmsOrderItemExample example); OmsOrderItem selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") OmsOrderItem row, @Param("example") OmsOrderItemExample example); int updateByExample(@Param("row") OmsOrderItem row, @Param("example") OmsOrderItemExample example); int updateByPrimaryKeySelective(OmsOrderItem row); int updateByPrimaryKey(OmsOrderItem row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.OmsOrder; import com.macro.mall.model.OmsOrderExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface OmsOrderMapper { long countByExample(OmsOrderExample example); int deleteByExample(OmsOrderExample example); int deleteByPrimaryKey(Long id); int insert(OmsOrder row); int insertSelective(OmsOrder row); List selectByExample(OmsOrderExample example); OmsOrder selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") OmsOrder row, @Param("example") OmsOrderExample example); int updateByExample(@Param("row") OmsOrder row, @Param("example") OmsOrderExample example); int updateByPrimaryKeySelective(OmsOrder row); int updateByPrimaryKey(OmsOrder row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderOperateHistoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.OmsOrderOperateHistory; import com.macro.mall.model.OmsOrderOperateHistoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface OmsOrderOperateHistoryMapper { long countByExample(OmsOrderOperateHistoryExample example); int deleteByExample(OmsOrderOperateHistoryExample example); int deleteByPrimaryKey(Long id); int insert(OmsOrderOperateHistory row); int insertSelective(OmsOrderOperateHistory row); List selectByExample(OmsOrderOperateHistoryExample example); OmsOrderOperateHistory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") OmsOrderOperateHistory row, @Param("example") OmsOrderOperateHistoryExample example); int updateByExample(@Param("row") OmsOrderOperateHistory row, @Param("example") OmsOrderOperateHistoryExample example); int updateByPrimaryKeySelective(OmsOrderOperateHistory row); int updateByPrimaryKey(OmsOrderOperateHistory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderReturnApplyMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.OmsOrderReturnApply; import com.macro.mall.model.OmsOrderReturnApplyExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface OmsOrderReturnApplyMapper { long countByExample(OmsOrderReturnApplyExample example); int deleteByExample(OmsOrderReturnApplyExample example); int deleteByPrimaryKey(Long id); int insert(OmsOrderReturnApply row); int insertSelective(OmsOrderReturnApply row); List selectByExample(OmsOrderReturnApplyExample example); OmsOrderReturnApply selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") OmsOrderReturnApply row, @Param("example") OmsOrderReturnApplyExample example); int updateByExample(@Param("row") OmsOrderReturnApply row, @Param("example") OmsOrderReturnApplyExample example); int updateByPrimaryKeySelective(OmsOrderReturnApply row); int updateByPrimaryKey(OmsOrderReturnApply row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderReturnReasonMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.OmsOrderReturnReason; import com.macro.mall.model.OmsOrderReturnReasonExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface OmsOrderReturnReasonMapper { long countByExample(OmsOrderReturnReasonExample example); int deleteByExample(OmsOrderReturnReasonExample example); int deleteByPrimaryKey(Long id); int insert(OmsOrderReturnReason row); int insertSelective(OmsOrderReturnReason row); List selectByExample(OmsOrderReturnReasonExample example); OmsOrderReturnReason selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") OmsOrderReturnReason row, @Param("example") OmsOrderReturnReasonExample example); int updateByExample(@Param("row") OmsOrderReturnReason row, @Param("example") OmsOrderReturnReasonExample example); int updateByPrimaryKeySelective(OmsOrderReturnReason row); int updateByPrimaryKey(OmsOrderReturnReason row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/OmsOrderSettingMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.OmsOrderSetting; import com.macro.mall.model.OmsOrderSettingExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface OmsOrderSettingMapper { long countByExample(OmsOrderSettingExample example); int deleteByExample(OmsOrderSettingExample example); int deleteByPrimaryKey(Long id); int insert(OmsOrderSetting row); int insertSelective(OmsOrderSetting row); List selectByExample(OmsOrderSettingExample example); OmsOrderSetting selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") OmsOrderSetting row, @Param("example") OmsOrderSettingExample example); int updateByExample(@Param("row") OmsOrderSetting row, @Param("example") OmsOrderSettingExample example); int updateByPrimaryKeySelective(OmsOrderSetting row); int updateByPrimaryKey(OmsOrderSetting row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsAlbumMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsAlbum; import com.macro.mall.model.PmsAlbumExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsAlbumMapper { long countByExample(PmsAlbumExample example); int deleteByExample(PmsAlbumExample example); int deleteByPrimaryKey(Long id); int insert(PmsAlbum row); int insertSelective(PmsAlbum row); List selectByExample(PmsAlbumExample example); PmsAlbum selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsAlbum row, @Param("example") PmsAlbumExample example); int updateByExample(@Param("row") PmsAlbum row, @Param("example") PmsAlbumExample example); int updateByPrimaryKeySelective(PmsAlbum row); int updateByPrimaryKey(PmsAlbum row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsAlbumPicMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsAlbumPic; import com.macro.mall.model.PmsAlbumPicExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsAlbumPicMapper { long countByExample(PmsAlbumPicExample example); int deleteByExample(PmsAlbumPicExample example); int deleteByPrimaryKey(Long id); int insert(PmsAlbumPic row); int insertSelective(PmsAlbumPic row); List selectByExample(PmsAlbumPicExample example); PmsAlbumPic selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsAlbumPic row, @Param("example") PmsAlbumPicExample example); int updateByExample(@Param("row") PmsAlbumPic row, @Param("example") PmsAlbumPicExample example); int updateByPrimaryKeySelective(PmsAlbumPic row); int updateByPrimaryKey(PmsAlbumPic row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsBrandMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsBrand; import com.macro.mall.model.PmsBrandExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsBrandMapper { long countByExample(PmsBrandExample example); int deleteByExample(PmsBrandExample example); int deleteByPrimaryKey(Long id); int insert(PmsBrand row); int insertSelective(PmsBrand row); List selectByExampleWithBLOBs(PmsBrandExample example); List selectByExample(PmsBrandExample example); PmsBrand selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsBrand row, @Param("example") PmsBrandExample example); int updateByExampleWithBLOBs(@Param("row") PmsBrand row, @Param("example") PmsBrandExample example); int updateByExample(@Param("row") PmsBrand row, @Param("example") PmsBrandExample example); int updateByPrimaryKeySelective(PmsBrand row); int updateByPrimaryKeyWithBLOBs(PmsBrand row); int updateByPrimaryKey(PmsBrand row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsCommentMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsComment; import com.macro.mall.model.PmsCommentExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsCommentMapper { long countByExample(PmsCommentExample example); int deleteByExample(PmsCommentExample example); int deleteByPrimaryKey(Long id); int insert(PmsComment row); int insertSelective(PmsComment row); List selectByExampleWithBLOBs(PmsCommentExample example); List selectByExample(PmsCommentExample example); PmsComment selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsComment row, @Param("example") PmsCommentExample example); int updateByExampleWithBLOBs(@Param("row") PmsComment row, @Param("example") PmsCommentExample example); int updateByExample(@Param("row") PmsComment row, @Param("example") PmsCommentExample example); int updateByPrimaryKeySelective(PmsComment row); int updateByPrimaryKeyWithBLOBs(PmsComment row); int updateByPrimaryKey(PmsComment row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsCommentReplayMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsCommentReplay; import com.macro.mall.model.PmsCommentReplayExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsCommentReplayMapper { long countByExample(PmsCommentReplayExample example); int deleteByExample(PmsCommentReplayExample example); int deleteByPrimaryKey(Long id); int insert(PmsCommentReplay row); int insertSelective(PmsCommentReplay row); List selectByExample(PmsCommentReplayExample example); PmsCommentReplay selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsCommentReplay row, @Param("example") PmsCommentReplayExample example); int updateByExample(@Param("row") PmsCommentReplay row, @Param("example") PmsCommentReplayExample example); int updateByPrimaryKeySelective(PmsCommentReplay row); int updateByPrimaryKey(PmsCommentReplay row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsFeightTemplateMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsFeightTemplate; import com.macro.mall.model.PmsFeightTemplateExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsFeightTemplateMapper { long countByExample(PmsFeightTemplateExample example); int deleteByExample(PmsFeightTemplateExample example); int deleteByPrimaryKey(Long id); int insert(PmsFeightTemplate row); int insertSelective(PmsFeightTemplate row); List selectByExample(PmsFeightTemplateExample example); PmsFeightTemplate selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsFeightTemplate row, @Param("example") PmsFeightTemplateExample example); int updateByExample(@Param("row") PmsFeightTemplate row, @Param("example") PmsFeightTemplateExample example); int updateByPrimaryKeySelective(PmsFeightTemplate row); int updateByPrimaryKey(PmsFeightTemplate row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsMemberPriceMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsMemberPrice; import com.macro.mall.model.PmsMemberPriceExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsMemberPriceMapper { long countByExample(PmsMemberPriceExample example); int deleteByExample(PmsMemberPriceExample example); int deleteByPrimaryKey(Long id); int insert(PmsMemberPrice row); int insertSelective(PmsMemberPrice row); List selectByExample(PmsMemberPriceExample example); PmsMemberPrice selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsMemberPrice row, @Param("example") PmsMemberPriceExample example); int updateByExample(@Param("row") PmsMemberPrice row, @Param("example") PmsMemberPriceExample example); int updateByPrimaryKeySelective(PmsMemberPrice row); int updateByPrimaryKey(PmsMemberPrice row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductAttributeCategoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductAttributeCategory; import com.macro.mall.model.PmsProductAttributeCategoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductAttributeCategoryMapper { long countByExample(PmsProductAttributeCategoryExample example); int deleteByExample(PmsProductAttributeCategoryExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductAttributeCategory row); int insertSelective(PmsProductAttributeCategory row); List selectByExample(PmsProductAttributeCategoryExample example); PmsProductAttributeCategory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductAttributeCategory row, @Param("example") PmsProductAttributeCategoryExample example); int updateByExample(@Param("row") PmsProductAttributeCategory row, @Param("example") PmsProductAttributeCategoryExample example); int updateByPrimaryKeySelective(PmsProductAttributeCategory row); int updateByPrimaryKey(PmsProductAttributeCategory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductAttributeMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductAttribute; import com.macro.mall.model.PmsProductAttributeExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductAttributeMapper { long countByExample(PmsProductAttributeExample example); int deleteByExample(PmsProductAttributeExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductAttribute row); int insertSelective(PmsProductAttribute row); List selectByExample(PmsProductAttributeExample example); PmsProductAttribute selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductAttribute row, @Param("example") PmsProductAttributeExample example); int updateByExample(@Param("row") PmsProductAttribute row, @Param("example") PmsProductAttributeExample example); int updateByPrimaryKeySelective(PmsProductAttribute row); int updateByPrimaryKey(PmsProductAttribute row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductAttributeValueMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductAttributeValue; import com.macro.mall.model.PmsProductAttributeValueExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductAttributeValueMapper { long countByExample(PmsProductAttributeValueExample example); int deleteByExample(PmsProductAttributeValueExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductAttributeValue row); int insertSelective(PmsProductAttributeValue row); List selectByExample(PmsProductAttributeValueExample example); PmsProductAttributeValue selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductAttributeValue row, @Param("example") PmsProductAttributeValueExample example); int updateByExample(@Param("row") PmsProductAttributeValue row, @Param("example") PmsProductAttributeValueExample example); int updateByPrimaryKeySelective(PmsProductAttributeValue row); int updateByPrimaryKey(PmsProductAttributeValue row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductCategoryAttributeRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductCategoryAttributeRelation; import com.macro.mall.model.PmsProductCategoryAttributeRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductCategoryAttributeRelationMapper { long countByExample(PmsProductCategoryAttributeRelationExample example); int deleteByExample(PmsProductCategoryAttributeRelationExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductCategoryAttributeRelation row); int insertSelective(PmsProductCategoryAttributeRelation row); List selectByExample(PmsProductCategoryAttributeRelationExample example); PmsProductCategoryAttributeRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductCategoryAttributeRelation row, @Param("example") PmsProductCategoryAttributeRelationExample example); int updateByExample(@Param("row") PmsProductCategoryAttributeRelation row, @Param("example") PmsProductCategoryAttributeRelationExample example); int updateByPrimaryKeySelective(PmsProductCategoryAttributeRelation row); int updateByPrimaryKey(PmsProductCategoryAttributeRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductCategoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductCategory; import com.macro.mall.model.PmsProductCategoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductCategoryMapper { long countByExample(PmsProductCategoryExample example); int deleteByExample(PmsProductCategoryExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductCategory row); int insertSelective(PmsProductCategory row); List selectByExampleWithBLOBs(PmsProductCategoryExample example); List selectByExample(PmsProductCategoryExample example); PmsProductCategory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductCategory row, @Param("example") PmsProductCategoryExample example); int updateByExampleWithBLOBs(@Param("row") PmsProductCategory row, @Param("example") PmsProductCategoryExample example); int updateByExample(@Param("row") PmsProductCategory row, @Param("example") PmsProductCategoryExample example); int updateByPrimaryKeySelective(PmsProductCategory row); int updateByPrimaryKeyWithBLOBs(PmsProductCategory row); int updateByPrimaryKey(PmsProductCategory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductFullReductionMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductFullReduction; import com.macro.mall.model.PmsProductFullReductionExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductFullReductionMapper { long countByExample(PmsProductFullReductionExample example); int deleteByExample(PmsProductFullReductionExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductFullReduction row); int insertSelective(PmsProductFullReduction row); List selectByExample(PmsProductFullReductionExample example); PmsProductFullReduction selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductFullReduction row, @Param("example") PmsProductFullReductionExample example); int updateByExample(@Param("row") PmsProductFullReduction row, @Param("example") PmsProductFullReductionExample example); int updateByPrimaryKeySelective(PmsProductFullReduction row); int updateByPrimaryKey(PmsProductFullReduction row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductLadderMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductLadder; import com.macro.mall.model.PmsProductLadderExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductLadderMapper { long countByExample(PmsProductLadderExample example); int deleteByExample(PmsProductLadderExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductLadder row); int insertSelective(PmsProductLadder row); List selectByExample(PmsProductLadderExample example); PmsProductLadder selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductLadder row, @Param("example") PmsProductLadderExample example); int updateByExample(@Param("row") PmsProductLadder row, @Param("example") PmsProductLadderExample example); int updateByPrimaryKeySelective(PmsProductLadder row); int updateByPrimaryKey(PmsProductLadder row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.PmsProductExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductMapper { long countByExample(PmsProductExample example); int deleteByExample(PmsProductExample example); int deleteByPrimaryKey(Long id); int insert(PmsProduct row); int insertSelective(PmsProduct row); List selectByExampleWithBLOBs(PmsProductExample example); List selectByExample(PmsProductExample example); PmsProduct selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProduct row, @Param("example") PmsProductExample example); int updateByExampleWithBLOBs(@Param("row") PmsProduct row, @Param("example") PmsProductExample example); int updateByExample(@Param("row") PmsProduct row, @Param("example") PmsProductExample example); int updateByPrimaryKeySelective(PmsProduct row); int updateByPrimaryKeyWithBLOBs(PmsProduct row); int updateByPrimaryKey(PmsProduct row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductOperateLogMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductOperateLog; import com.macro.mall.model.PmsProductOperateLogExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductOperateLogMapper { long countByExample(PmsProductOperateLogExample example); int deleteByExample(PmsProductOperateLogExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductOperateLog row); int insertSelective(PmsProductOperateLog row); List selectByExample(PmsProductOperateLogExample example); PmsProductOperateLog selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductOperateLog row, @Param("example") PmsProductOperateLogExample example); int updateByExample(@Param("row") PmsProductOperateLog row, @Param("example") PmsProductOperateLogExample example); int updateByPrimaryKeySelective(PmsProductOperateLog row); int updateByPrimaryKey(PmsProductOperateLog row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsProductVertifyRecordMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsProductVertifyRecord; import com.macro.mall.model.PmsProductVertifyRecordExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsProductVertifyRecordMapper { long countByExample(PmsProductVertifyRecordExample example); int deleteByExample(PmsProductVertifyRecordExample example); int deleteByPrimaryKey(Long id); int insert(PmsProductVertifyRecord row); int insertSelective(PmsProductVertifyRecord row); List selectByExample(PmsProductVertifyRecordExample example); PmsProductVertifyRecord selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsProductVertifyRecord row, @Param("example") PmsProductVertifyRecordExample example); int updateByExample(@Param("row") PmsProductVertifyRecord row, @Param("example") PmsProductVertifyRecordExample example); int updateByPrimaryKeySelective(PmsProductVertifyRecord row); int updateByPrimaryKey(PmsProductVertifyRecord row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/PmsSkuStockMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.PmsSkuStock; import com.macro.mall.model.PmsSkuStockExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface PmsSkuStockMapper { long countByExample(PmsSkuStockExample example); int deleteByExample(PmsSkuStockExample example); int deleteByPrimaryKey(Long id); int insert(PmsSkuStock row); int insertSelective(PmsSkuStock row); List selectByExample(PmsSkuStockExample example); PmsSkuStock selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") PmsSkuStock row, @Param("example") PmsSkuStockExample example); int updateByExample(@Param("row") PmsSkuStock row, @Param("example") PmsSkuStockExample example); int updateByPrimaryKeySelective(PmsSkuStock row); int updateByPrimaryKey(PmsSkuStock row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsCouponHistoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsCouponHistory; import com.macro.mall.model.SmsCouponHistoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsCouponHistoryMapper { long countByExample(SmsCouponHistoryExample example); int deleteByExample(SmsCouponHistoryExample example); int deleteByPrimaryKey(Long id); int insert(SmsCouponHistory row); int insertSelective(SmsCouponHistory row); List selectByExample(SmsCouponHistoryExample example); SmsCouponHistory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsCouponHistory row, @Param("example") SmsCouponHistoryExample example); int updateByExample(@Param("row") SmsCouponHistory row, @Param("example") SmsCouponHistoryExample example); int updateByPrimaryKeySelective(SmsCouponHistory row); int updateByPrimaryKey(SmsCouponHistory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsCouponMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsCoupon; import com.macro.mall.model.SmsCouponExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsCouponMapper { long countByExample(SmsCouponExample example); int deleteByExample(SmsCouponExample example); int deleteByPrimaryKey(Long id); int insert(SmsCoupon row); int insertSelective(SmsCoupon row); List selectByExample(SmsCouponExample example); SmsCoupon selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsCoupon row, @Param("example") SmsCouponExample example); int updateByExample(@Param("row") SmsCoupon row, @Param("example") SmsCouponExample example); int updateByPrimaryKeySelective(SmsCoupon row); int updateByPrimaryKey(SmsCoupon row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsCouponProductCategoryRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsCouponProductCategoryRelation; import com.macro.mall.model.SmsCouponProductCategoryRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsCouponProductCategoryRelationMapper { long countByExample(SmsCouponProductCategoryRelationExample example); int deleteByExample(SmsCouponProductCategoryRelationExample example); int deleteByPrimaryKey(Long id); int insert(SmsCouponProductCategoryRelation row); int insertSelective(SmsCouponProductCategoryRelation row); List selectByExample(SmsCouponProductCategoryRelationExample example); SmsCouponProductCategoryRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsCouponProductCategoryRelation row, @Param("example") SmsCouponProductCategoryRelationExample example); int updateByExample(@Param("row") SmsCouponProductCategoryRelation row, @Param("example") SmsCouponProductCategoryRelationExample example); int updateByPrimaryKeySelective(SmsCouponProductCategoryRelation row); int updateByPrimaryKey(SmsCouponProductCategoryRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsCouponProductRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsCouponProductRelation; import com.macro.mall.model.SmsCouponProductRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsCouponProductRelationMapper { long countByExample(SmsCouponProductRelationExample example); int deleteByExample(SmsCouponProductRelationExample example); int deleteByPrimaryKey(Long id); int insert(SmsCouponProductRelation row); int insertSelective(SmsCouponProductRelation row); List selectByExample(SmsCouponProductRelationExample example); SmsCouponProductRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsCouponProductRelation row, @Param("example") SmsCouponProductRelationExample example); int updateByExample(@Param("row") SmsCouponProductRelation row, @Param("example") SmsCouponProductRelationExample example); int updateByPrimaryKeySelective(SmsCouponProductRelation row); int updateByPrimaryKey(SmsCouponProductRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsFlashPromotionLogMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsFlashPromotionLog; import com.macro.mall.model.SmsFlashPromotionLogExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsFlashPromotionLogMapper { long countByExample(SmsFlashPromotionLogExample example); int deleteByExample(SmsFlashPromotionLogExample example); int deleteByPrimaryKey(Integer id); int insert(SmsFlashPromotionLog row); int insertSelective(SmsFlashPromotionLog row); List selectByExample(SmsFlashPromotionLogExample example); SmsFlashPromotionLog selectByPrimaryKey(Integer id); int updateByExampleSelective(@Param("row") SmsFlashPromotionLog row, @Param("example") SmsFlashPromotionLogExample example); int updateByExample(@Param("row") SmsFlashPromotionLog row, @Param("example") SmsFlashPromotionLogExample example); int updateByPrimaryKeySelective(SmsFlashPromotionLog row); int updateByPrimaryKey(SmsFlashPromotionLog row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsFlashPromotionMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsFlashPromotion; import com.macro.mall.model.SmsFlashPromotionExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsFlashPromotionMapper { long countByExample(SmsFlashPromotionExample example); int deleteByExample(SmsFlashPromotionExample example); int deleteByPrimaryKey(Long id); int insert(SmsFlashPromotion row); int insertSelective(SmsFlashPromotion row); List selectByExample(SmsFlashPromotionExample example); SmsFlashPromotion selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsFlashPromotion row, @Param("example") SmsFlashPromotionExample example); int updateByExample(@Param("row") SmsFlashPromotion row, @Param("example") SmsFlashPromotionExample example); int updateByPrimaryKeySelective(SmsFlashPromotion row); int updateByPrimaryKey(SmsFlashPromotion row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsFlashPromotionProductRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsFlashPromotionProductRelation; import com.macro.mall.model.SmsFlashPromotionProductRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsFlashPromotionProductRelationMapper { long countByExample(SmsFlashPromotionProductRelationExample example); int deleteByExample(SmsFlashPromotionProductRelationExample example); int deleteByPrimaryKey(Long id); int insert(SmsFlashPromotionProductRelation row); int insertSelective(SmsFlashPromotionProductRelation row); List selectByExample(SmsFlashPromotionProductRelationExample example); SmsFlashPromotionProductRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsFlashPromotionProductRelation row, @Param("example") SmsFlashPromotionProductRelationExample example); int updateByExample(@Param("row") SmsFlashPromotionProductRelation row, @Param("example") SmsFlashPromotionProductRelationExample example); int updateByPrimaryKeySelective(SmsFlashPromotionProductRelation row); int updateByPrimaryKey(SmsFlashPromotionProductRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsFlashPromotionSessionMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsFlashPromotionSession; import com.macro.mall.model.SmsFlashPromotionSessionExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsFlashPromotionSessionMapper { long countByExample(SmsFlashPromotionSessionExample example); int deleteByExample(SmsFlashPromotionSessionExample example); int deleteByPrimaryKey(Long id); int insert(SmsFlashPromotionSession row); int insertSelective(SmsFlashPromotionSession row); List selectByExample(SmsFlashPromotionSessionExample example); SmsFlashPromotionSession selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsFlashPromotionSession row, @Param("example") SmsFlashPromotionSessionExample example); int updateByExample(@Param("row") SmsFlashPromotionSession row, @Param("example") SmsFlashPromotionSessionExample example); int updateByPrimaryKeySelective(SmsFlashPromotionSession row); int updateByPrimaryKey(SmsFlashPromotionSession row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeAdvertiseMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsHomeAdvertise; import com.macro.mall.model.SmsHomeAdvertiseExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsHomeAdvertiseMapper { long countByExample(SmsHomeAdvertiseExample example); int deleteByExample(SmsHomeAdvertiseExample example); int deleteByPrimaryKey(Long id); int insert(SmsHomeAdvertise row); int insertSelective(SmsHomeAdvertise row); List selectByExample(SmsHomeAdvertiseExample example); SmsHomeAdvertise selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsHomeAdvertise row, @Param("example") SmsHomeAdvertiseExample example); int updateByExample(@Param("row") SmsHomeAdvertise row, @Param("example") SmsHomeAdvertiseExample example); int updateByPrimaryKeySelective(SmsHomeAdvertise row); int updateByPrimaryKey(SmsHomeAdvertise row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeBrandMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsHomeBrand; import com.macro.mall.model.SmsHomeBrandExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsHomeBrandMapper { long countByExample(SmsHomeBrandExample example); int deleteByExample(SmsHomeBrandExample example); int deleteByPrimaryKey(Long id); int insert(SmsHomeBrand row); int insertSelective(SmsHomeBrand row); List selectByExample(SmsHomeBrandExample example); SmsHomeBrand selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsHomeBrand row, @Param("example") SmsHomeBrandExample example); int updateByExample(@Param("row") SmsHomeBrand row, @Param("example") SmsHomeBrandExample example); int updateByPrimaryKeySelective(SmsHomeBrand row); int updateByPrimaryKey(SmsHomeBrand row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeNewProductMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsHomeNewProduct; import com.macro.mall.model.SmsHomeNewProductExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsHomeNewProductMapper { long countByExample(SmsHomeNewProductExample example); int deleteByExample(SmsHomeNewProductExample example); int deleteByPrimaryKey(Long id); int insert(SmsHomeNewProduct row); int insertSelective(SmsHomeNewProduct row); List selectByExample(SmsHomeNewProductExample example); SmsHomeNewProduct selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsHomeNewProduct row, @Param("example") SmsHomeNewProductExample example); int updateByExample(@Param("row") SmsHomeNewProduct row, @Param("example") SmsHomeNewProductExample example); int updateByPrimaryKeySelective(SmsHomeNewProduct row); int updateByPrimaryKey(SmsHomeNewProduct row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeRecommendProductMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsHomeRecommendProduct; import com.macro.mall.model.SmsHomeRecommendProductExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsHomeRecommendProductMapper { long countByExample(SmsHomeRecommendProductExample example); int deleteByExample(SmsHomeRecommendProductExample example); int deleteByPrimaryKey(Long id); int insert(SmsHomeRecommendProduct row); int insertSelective(SmsHomeRecommendProduct row); List selectByExample(SmsHomeRecommendProductExample example); SmsHomeRecommendProduct selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsHomeRecommendProduct row, @Param("example") SmsHomeRecommendProductExample example); int updateByExample(@Param("row") SmsHomeRecommendProduct row, @Param("example") SmsHomeRecommendProductExample example); int updateByPrimaryKeySelective(SmsHomeRecommendProduct row); int updateByPrimaryKey(SmsHomeRecommendProduct row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/SmsHomeRecommendSubjectMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.SmsHomeRecommendSubject; import com.macro.mall.model.SmsHomeRecommendSubjectExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface SmsHomeRecommendSubjectMapper { long countByExample(SmsHomeRecommendSubjectExample example); int deleteByExample(SmsHomeRecommendSubjectExample example); int deleteByPrimaryKey(Long id); int insert(SmsHomeRecommendSubject row); int insertSelective(SmsHomeRecommendSubject row); List selectByExample(SmsHomeRecommendSubjectExample example); SmsHomeRecommendSubject selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") SmsHomeRecommendSubject row, @Param("example") SmsHomeRecommendSubjectExample example); int updateByExample(@Param("row") SmsHomeRecommendSubject row, @Param("example") SmsHomeRecommendSubjectExample example); int updateByPrimaryKeySelective(SmsHomeRecommendSubject row); int updateByPrimaryKey(SmsHomeRecommendSubject row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsAdminLoginLogMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsAdminLoginLog; import com.macro.mall.model.UmsAdminLoginLogExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsAdminLoginLogMapper { long countByExample(UmsAdminLoginLogExample example); int deleteByExample(UmsAdminLoginLogExample example); int deleteByPrimaryKey(Long id); int insert(UmsAdminLoginLog row); int insertSelective(UmsAdminLoginLog row); List selectByExample(UmsAdminLoginLogExample example); UmsAdminLoginLog selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsAdminLoginLog row, @Param("example") UmsAdminLoginLogExample example); int updateByExample(@Param("row") UmsAdminLoginLog row, @Param("example") UmsAdminLoginLogExample example); int updateByPrimaryKeySelective(UmsAdminLoginLog row); int updateByPrimaryKey(UmsAdminLoginLog row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsAdminMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsAdmin; import com.macro.mall.model.UmsAdminExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsAdminMapper { long countByExample(UmsAdminExample example); int deleteByExample(UmsAdminExample example); int deleteByPrimaryKey(Long id); int insert(UmsAdmin row); int insertSelective(UmsAdmin row); List selectByExample(UmsAdminExample example); UmsAdmin selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsAdmin row, @Param("example") UmsAdminExample example); int updateByExample(@Param("row") UmsAdmin row, @Param("example") UmsAdminExample example); int updateByPrimaryKeySelective(UmsAdmin row); int updateByPrimaryKey(UmsAdmin row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsAdminPermissionRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsAdminPermissionRelation; import com.macro.mall.model.UmsAdminPermissionRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsAdminPermissionRelationMapper { long countByExample(UmsAdminPermissionRelationExample example); int deleteByExample(UmsAdminPermissionRelationExample example); int deleteByPrimaryKey(Long id); int insert(UmsAdminPermissionRelation row); int insertSelective(UmsAdminPermissionRelation row); List selectByExample(UmsAdminPermissionRelationExample example); UmsAdminPermissionRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsAdminPermissionRelation row, @Param("example") UmsAdminPermissionRelationExample example); int updateByExample(@Param("row") UmsAdminPermissionRelation row, @Param("example") UmsAdminPermissionRelationExample example); int updateByPrimaryKeySelective(UmsAdminPermissionRelation row); int updateByPrimaryKey(UmsAdminPermissionRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsAdminRoleRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsAdminRoleRelation; import com.macro.mall.model.UmsAdminRoleRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsAdminRoleRelationMapper { long countByExample(UmsAdminRoleRelationExample example); int deleteByExample(UmsAdminRoleRelationExample example); int deleteByPrimaryKey(Long id); int insert(UmsAdminRoleRelation row); int insertSelective(UmsAdminRoleRelation row); List selectByExample(UmsAdminRoleRelationExample example); UmsAdminRoleRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsAdminRoleRelation row, @Param("example") UmsAdminRoleRelationExample example); int updateByExample(@Param("row") UmsAdminRoleRelation row, @Param("example") UmsAdminRoleRelationExample example); int updateByPrimaryKeySelective(UmsAdminRoleRelation row); int updateByPrimaryKey(UmsAdminRoleRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsGrowthChangeHistoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsGrowthChangeHistory; import com.macro.mall.model.UmsGrowthChangeHistoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsGrowthChangeHistoryMapper { long countByExample(UmsGrowthChangeHistoryExample example); int deleteByExample(UmsGrowthChangeHistoryExample example); int deleteByPrimaryKey(Long id); int insert(UmsGrowthChangeHistory row); int insertSelective(UmsGrowthChangeHistory row); List selectByExample(UmsGrowthChangeHistoryExample example); UmsGrowthChangeHistory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsGrowthChangeHistory row, @Param("example") UmsGrowthChangeHistoryExample example); int updateByExample(@Param("row") UmsGrowthChangeHistory row, @Param("example") UmsGrowthChangeHistoryExample example); int updateByPrimaryKeySelective(UmsGrowthChangeHistory row); int updateByPrimaryKey(UmsGrowthChangeHistory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsIntegrationChangeHistoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsIntegrationChangeHistory; import com.macro.mall.model.UmsIntegrationChangeHistoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsIntegrationChangeHistoryMapper { long countByExample(UmsIntegrationChangeHistoryExample example); int deleteByExample(UmsIntegrationChangeHistoryExample example); int deleteByPrimaryKey(Long id); int insert(UmsIntegrationChangeHistory row); int insertSelective(UmsIntegrationChangeHistory row); List selectByExample(UmsIntegrationChangeHistoryExample example); UmsIntegrationChangeHistory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsIntegrationChangeHistory row, @Param("example") UmsIntegrationChangeHistoryExample example); int updateByExample(@Param("row") UmsIntegrationChangeHistory row, @Param("example") UmsIntegrationChangeHistoryExample example); int updateByPrimaryKeySelective(UmsIntegrationChangeHistory row); int updateByPrimaryKey(UmsIntegrationChangeHistory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsIntegrationConsumeSettingMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsIntegrationConsumeSetting; import com.macro.mall.model.UmsIntegrationConsumeSettingExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsIntegrationConsumeSettingMapper { long countByExample(UmsIntegrationConsumeSettingExample example); int deleteByExample(UmsIntegrationConsumeSettingExample example); int deleteByPrimaryKey(Long id); int insert(UmsIntegrationConsumeSetting row); int insertSelective(UmsIntegrationConsumeSetting row); List selectByExample(UmsIntegrationConsumeSettingExample example); UmsIntegrationConsumeSetting selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsIntegrationConsumeSetting row, @Param("example") UmsIntegrationConsumeSettingExample example); int updateByExample(@Param("row") UmsIntegrationConsumeSetting row, @Param("example") UmsIntegrationConsumeSettingExample example); int updateByPrimaryKeySelective(UmsIntegrationConsumeSetting row); int updateByPrimaryKey(UmsIntegrationConsumeSetting row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberLevelMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberLevel; import com.macro.mall.model.UmsMemberLevelExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberLevelMapper { long countByExample(UmsMemberLevelExample example); int deleteByExample(UmsMemberLevelExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberLevel row); int insertSelective(UmsMemberLevel row); List selectByExample(UmsMemberLevelExample example); UmsMemberLevel selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberLevel row, @Param("example") UmsMemberLevelExample example); int updateByExample(@Param("row") UmsMemberLevel row, @Param("example") UmsMemberLevelExample example); int updateByPrimaryKeySelective(UmsMemberLevel row); int updateByPrimaryKey(UmsMemberLevel row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberLoginLogMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberLoginLog; import com.macro.mall.model.UmsMemberLoginLogExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberLoginLogMapper { long countByExample(UmsMemberLoginLogExample example); int deleteByExample(UmsMemberLoginLogExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberLoginLog row); int insertSelective(UmsMemberLoginLog row); List selectByExample(UmsMemberLoginLogExample example); UmsMemberLoginLog selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberLoginLog row, @Param("example") UmsMemberLoginLogExample example); int updateByExample(@Param("row") UmsMemberLoginLog row, @Param("example") UmsMemberLoginLogExample example); int updateByPrimaryKeySelective(UmsMemberLoginLog row); int updateByPrimaryKey(UmsMemberLoginLog row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMember; import com.macro.mall.model.UmsMemberExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberMapper { long countByExample(UmsMemberExample example); int deleteByExample(UmsMemberExample example); int deleteByPrimaryKey(Long id); int insert(UmsMember row); int insertSelective(UmsMember row); List selectByExample(UmsMemberExample example); UmsMember selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMember row, @Param("example") UmsMemberExample example); int updateByExample(@Param("row") UmsMember row, @Param("example") UmsMemberExample example); int updateByPrimaryKeySelective(UmsMember row); int updateByPrimaryKey(UmsMember row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberMemberTagRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberMemberTagRelation; import com.macro.mall.model.UmsMemberMemberTagRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberMemberTagRelationMapper { long countByExample(UmsMemberMemberTagRelationExample example); int deleteByExample(UmsMemberMemberTagRelationExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberMemberTagRelation row); int insertSelective(UmsMemberMemberTagRelation row); List selectByExample(UmsMemberMemberTagRelationExample example); UmsMemberMemberTagRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberMemberTagRelation row, @Param("example") UmsMemberMemberTagRelationExample example); int updateByExample(@Param("row") UmsMemberMemberTagRelation row, @Param("example") UmsMemberMemberTagRelationExample example); int updateByPrimaryKeySelective(UmsMemberMemberTagRelation row); int updateByPrimaryKey(UmsMemberMemberTagRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberProductCategoryRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberProductCategoryRelation; import com.macro.mall.model.UmsMemberProductCategoryRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberProductCategoryRelationMapper { long countByExample(UmsMemberProductCategoryRelationExample example); int deleteByExample(UmsMemberProductCategoryRelationExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberProductCategoryRelation row); int insertSelective(UmsMemberProductCategoryRelation row); List selectByExample(UmsMemberProductCategoryRelationExample example); UmsMemberProductCategoryRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberProductCategoryRelation row, @Param("example") UmsMemberProductCategoryRelationExample example); int updateByExample(@Param("row") UmsMemberProductCategoryRelation row, @Param("example") UmsMemberProductCategoryRelationExample example); int updateByPrimaryKeySelective(UmsMemberProductCategoryRelation row); int updateByPrimaryKey(UmsMemberProductCategoryRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberReceiveAddressMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberReceiveAddress; import com.macro.mall.model.UmsMemberReceiveAddressExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberReceiveAddressMapper { long countByExample(UmsMemberReceiveAddressExample example); int deleteByExample(UmsMemberReceiveAddressExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberReceiveAddress row); int insertSelective(UmsMemberReceiveAddress row); List selectByExample(UmsMemberReceiveAddressExample example); UmsMemberReceiveAddress selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberReceiveAddress row, @Param("example") UmsMemberReceiveAddressExample example); int updateByExample(@Param("row") UmsMemberReceiveAddress row, @Param("example") UmsMemberReceiveAddressExample example); int updateByPrimaryKeySelective(UmsMemberReceiveAddress row); int updateByPrimaryKey(UmsMemberReceiveAddress row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberRuleSettingMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberRuleSetting; import com.macro.mall.model.UmsMemberRuleSettingExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberRuleSettingMapper { long countByExample(UmsMemberRuleSettingExample example); int deleteByExample(UmsMemberRuleSettingExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberRuleSetting row); int insertSelective(UmsMemberRuleSetting row); List selectByExample(UmsMemberRuleSettingExample example); UmsMemberRuleSetting selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberRuleSetting row, @Param("example") UmsMemberRuleSettingExample example); int updateByExample(@Param("row") UmsMemberRuleSetting row, @Param("example") UmsMemberRuleSettingExample example); int updateByPrimaryKeySelective(UmsMemberRuleSetting row); int updateByPrimaryKey(UmsMemberRuleSetting row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberStatisticsInfoMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberStatisticsInfo; import com.macro.mall.model.UmsMemberStatisticsInfoExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberStatisticsInfoMapper { long countByExample(UmsMemberStatisticsInfoExample example); int deleteByExample(UmsMemberStatisticsInfoExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberStatisticsInfo row); int insertSelective(UmsMemberStatisticsInfo row); List selectByExample(UmsMemberStatisticsInfoExample example); UmsMemberStatisticsInfo selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberStatisticsInfo row, @Param("example") UmsMemberStatisticsInfoExample example); int updateByExample(@Param("row") UmsMemberStatisticsInfo row, @Param("example") UmsMemberStatisticsInfoExample example); int updateByPrimaryKeySelective(UmsMemberStatisticsInfo row); int updateByPrimaryKey(UmsMemberStatisticsInfo row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberTagMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberTag; import com.macro.mall.model.UmsMemberTagExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberTagMapper { long countByExample(UmsMemberTagExample example); int deleteByExample(UmsMemberTagExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberTag row); int insertSelective(UmsMemberTag row); List selectByExample(UmsMemberTagExample example); UmsMemberTag selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberTag row, @Param("example") UmsMemberTagExample example); int updateByExample(@Param("row") UmsMemberTag row, @Param("example") UmsMemberTagExample example); int updateByPrimaryKeySelective(UmsMemberTag row); int updateByPrimaryKey(UmsMemberTag row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMemberTaskMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMemberTask; import com.macro.mall.model.UmsMemberTaskExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMemberTaskMapper { long countByExample(UmsMemberTaskExample example); int deleteByExample(UmsMemberTaskExample example); int deleteByPrimaryKey(Long id); int insert(UmsMemberTask row); int insertSelective(UmsMemberTask row); List selectByExample(UmsMemberTaskExample example); UmsMemberTask selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMemberTask row, @Param("example") UmsMemberTaskExample example); int updateByExample(@Param("row") UmsMemberTask row, @Param("example") UmsMemberTaskExample example); int updateByPrimaryKeySelective(UmsMemberTask row); int updateByPrimaryKey(UmsMemberTask row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsMenuMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsMenu; import com.macro.mall.model.UmsMenuExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsMenuMapper { long countByExample(UmsMenuExample example); int deleteByExample(UmsMenuExample example); int deleteByPrimaryKey(Long id); int insert(UmsMenu row); int insertSelective(UmsMenu row); List selectByExample(UmsMenuExample example); UmsMenu selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsMenu row, @Param("example") UmsMenuExample example); int updateByExample(@Param("row") UmsMenu row, @Param("example") UmsMenuExample example); int updateByPrimaryKeySelective(UmsMenu row); int updateByPrimaryKey(UmsMenu row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsPermissionMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsPermission; import com.macro.mall.model.UmsPermissionExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsPermissionMapper { long countByExample(UmsPermissionExample example); int deleteByExample(UmsPermissionExample example); int deleteByPrimaryKey(Long id); int insert(UmsPermission row); int insertSelective(UmsPermission row); List selectByExample(UmsPermissionExample example); UmsPermission selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsPermission row, @Param("example") UmsPermissionExample example); int updateByExample(@Param("row") UmsPermission row, @Param("example") UmsPermissionExample example); int updateByPrimaryKeySelective(UmsPermission row); int updateByPrimaryKey(UmsPermission row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsResourceCategoryMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsResourceCategory; import com.macro.mall.model.UmsResourceCategoryExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsResourceCategoryMapper { long countByExample(UmsResourceCategoryExample example); int deleteByExample(UmsResourceCategoryExample example); int deleteByPrimaryKey(Long id); int insert(UmsResourceCategory row); int insertSelective(UmsResourceCategory row); List selectByExample(UmsResourceCategoryExample example); UmsResourceCategory selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsResourceCategory row, @Param("example") UmsResourceCategoryExample example); int updateByExample(@Param("row") UmsResourceCategory row, @Param("example") UmsResourceCategoryExample example); int updateByPrimaryKeySelective(UmsResourceCategory row); int updateByPrimaryKey(UmsResourceCategory row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsResourceMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsResource; import com.macro.mall.model.UmsResourceExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsResourceMapper { long countByExample(UmsResourceExample example); int deleteByExample(UmsResourceExample example); int deleteByPrimaryKey(Long id); int insert(UmsResource row); int insertSelective(UmsResource row); List selectByExample(UmsResourceExample example); UmsResource selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsResource row, @Param("example") UmsResourceExample example); int updateByExample(@Param("row") UmsResource row, @Param("example") UmsResourceExample example); int updateByPrimaryKeySelective(UmsResource row); int updateByPrimaryKey(UmsResource row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsRoleMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsRole; import com.macro.mall.model.UmsRoleExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsRoleMapper { long countByExample(UmsRoleExample example); int deleteByExample(UmsRoleExample example); int deleteByPrimaryKey(Long id); int insert(UmsRole row); int insertSelective(UmsRole row); List selectByExample(UmsRoleExample example); UmsRole selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsRole row, @Param("example") UmsRoleExample example); int updateByExample(@Param("row") UmsRole row, @Param("example") UmsRoleExample example); int updateByPrimaryKeySelective(UmsRole row); int updateByPrimaryKey(UmsRole row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsRoleMenuRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsRoleMenuRelation; import com.macro.mall.model.UmsRoleMenuRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsRoleMenuRelationMapper { long countByExample(UmsRoleMenuRelationExample example); int deleteByExample(UmsRoleMenuRelationExample example); int deleteByPrimaryKey(Long id); int insert(UmsRoleMenuRelation row); int insertSelective(UmsRoleMenuRelation row); List selectByExample(UmsRoleMenuRelationExample example); UmsRoleMenuRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsRoleMenuRelation row, @Param("example") UmsRoleMenuRelationExample example); int updateByExample(@Param("row") UmsRoleMenuRelation row, @Param("example") UmsRoleMenuRelationExample example); int updateByPrimaryKeySelective(UmsRoleMenuRelation row); int updateByPrimaryKey(UmsRoleMenuRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsRolePermissionRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsRolePermissionRelation; import com.macro.mall.model.UmsRolePermissionRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsRolePermissionRelationMapper { long countByExample(UmsRolePermissionRelationExample example); int deleteByExample(UmsRolePermissionRelationExample example); int deleteByPrimaryKey(Long id); int insert(UmsRolePermissionRelation row); int insertSelective(UmsRolePermissionRelation row); List selectByExample(UmsRolePermissionRelationExample example); UmsRolePermissionRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsRolePermissionRelation row, @Param("example") UmsRolePermissionRelationExample example); int updateByExample(@Param("row") UmsRolePermissionRelation row, @Param("example") UmsRolePermissionRelationExample example); int updateByPrimaryKeySelective(UmsRolePermissionRelation row); int updateByPrimaryKey(UmsRolePermissionRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/mapper/UmsRoleResourceRelationMapper.java ================================================ package com.macro.mall.mapper; import com.macro.mall.model.UmsRoleResourceRelation; import com.macro.mall.model.UmsRoleResourceRelationExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface UmsRoleResourceRelationMapper { long countByExample(UmsRoleResourceRelationExample example); int deleteByExample(UmsRoleResourceRelationExample example); int deleteByPrimaryKey(Long id); int insert(UmsRoleResourceRelation row); int insertSelective(UmsRoleResourceRelation row); List selectByExample(UmsRoleResourceRelationExample example); UmsRoleResourceRelation selectByPrimaryKey(Long id); int updateByExampleSelective(@Param("row") UmsRoleResourceRelation row, @Param("example") UmsRoleResourceRelationExample example); int updateByExample(@Param("row") UmsRoleResourceRelation row, @Param("example") UmsRoleResourceRelationExample example); int updateByPrimaryKeySelective(UmsRoleResourceRelation row); int updateByPrimaryKey(UmsRoleResourceRelation row); } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsHelp.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class CmsHelp implements Serializable { private Long id; private Long categoryId; private String icon; private String title; private Integer showStatus; private Date createTime; private Integer readCount; private String content; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getCategoryId() { return categoryId; } public void setCategoryId(Long categoryId) { this.categoryId = categoryId; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public Integer getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } 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; } @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(", categoryId=").append(categoryId); sb.append(", icon=").append(icon); sb.append(", title=").append(title); sb.append(", showStatus=").append(showStatus); sb.append(", createTime=").append(createTime); sb.append(", readCount=").append(readCount); sb.append(", content=").append(content); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsHelpCategory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class CmsHelpCategory implements Serializable { private Long id; private String name; @Schema(title = "分类图标") private String icon; @Schema(title = "专题数量") private Integer helpCount; private Integer showStatus; private Integer sort; private static final long serialVersionUID = 1L; 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 getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public Integer getHelpCount() { return helpCount; } public void setHelpCount(Integer helpCount) { this.helpCount = helpCount; } public Integer getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", name=").append(name); sb.append(", icon=").append(icon); sb.append(", helpCount=").append(helpCount); sb.append(", showStatus=").append(showStatus); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsHelpCategoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class CmsHelpCategoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsHelpCategoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andHelpCountIsNull() { addCriterion("help_count is null"); return (Criteria) this; } public Criteria andHelpCountIsNotNull() { addCriterion("help_count is not null"); return (Criteria) this; } public Criteria andHelpCountEqualTo(Integer value) { addCriterion("help_count =", value, "helpCount"); return (Criteria) this; } public Criteria andHelpCountNotEqualTo(Integer value) { addCriterion("help_count <>", value, "helpCount"); return (Criteria) this; } public Criteria andHelpCountGreaterThan(Integer value) { addCriterion("help_count >", value, "helpCount"); return (Criteria) this; } public Criteria andHelpCountGreaterThanOrEqualTo(Integer value) { addCriterion("help_count >=", value, "helpCount"); return (Criteria) this; } public Criteria andHelpCountLessThan(Integer value) { addCriterion("help_count <", value, "helpCount"); return (Criteria) this; } public Criteria andHelpCountLessThanOrEqualTo(Integer value) { addCriterion("help_count <=", value, "helpCount"); return (Criteria) this; } public Criteria andHelpCountIn(List values) { addCriterion("help_count in", values, "helpCount"); return (Criteria) this; } public Criteria andHelpCountNotIn(List values) { addCriterion("help_count not in", values, "helpCount"); return (Criteria) this; } public Criteria andHelpCountBetween(Integer value1, Integer value2) { addCriterion("help_count between", value1, value2, "helpCount"); return (Criteria) this; } public Criteria andHelpCountNotBetween(Integer value1, Integer value2) { addCriterion("help_count not between", value1, value2, "helpCount"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsHelpExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class CmsHelpExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsHelpExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCategoryIdIsNull() { addCriterion("category_id is null"); return (Criteria) this; } public Criteria andCategoryIdIsNotNull() { addCriterion("category_id is not null"); return (Criteria) this; } public Criteria andCategoryIdEqualTo(Long value) { addCriterion("category_id =", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotEqualTo(Long value) { addCriterion("category_id <>", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdGreaterThan(Long value) { addCriterion("category_id >", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("category_id >=", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdLessThan(Long value) { addCriterion("category_id <", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdLessThanOrEqualTo(Long value) { addCriterion("category_id <=", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdIn(List values) { addCriterion("category_id in", values, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotIn(List values) { addCriterion("category_id not in", values, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdBetween(Long value1, Long value2) { addCriterion("category_id between", value1, value2, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotBetween(Long value1, Long value2) { addCriterion("category_id not between", value1, value2, "categoryId"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andTitleIsNull() { addCriterion("title is null"); return (Criteria) this; } public Criteria andTitleIsNotNull() { addCriterion("title is not null"); return (Criteria) this; } public Criteria andTitleEqualTo(String value) { addCriterion("title =", value, "title"); return (Criteria) this; } public Criteria andTitleNotEqualTo(String value) { addCriterion("title <>", value, "title"); return (Criteria) this; } public Criteria andTitleGreaterThan(String value) { addCriterion("title >", value, "title"); return (Criteria) this; } public Criteria andTitleGreaterThanOrEqualTo(String value) { addCriterion("title >=", value, "title"); return (Criteria) this; } public Criteria andTitleLessThan(String value) { addCriterion("title <", value, "title"); return (Criteria) this; } public Criteria andTitleLessThanOrEqualTo(String value) { addCriterion("title <=", value, "title"); return (Criteria) this; } public Criteria andTitleLike(String value) { addCriterion("title like", value, "title"); return (Criteria) this; } public Criteria andTitleNotLike(String value) { addCriterion("title not like", value, "title"); return (Criteria) this; } public Criteria andTitleIn(List values) { addCriterion("title in", values, "title"); return (Criteria) this; } public Criteria andTitleNotIn(List values) { addCriterion("title not in", values, "title"); return (Criteria) this; } public Criteria andTitleBetween(String value1, String value2) { addCriterion("title between", value1, value2, "title"); return (Criteria) this; } public Criteria andTitleNotBetween(String value1, String value2) { addCriterion("title not between", value1, value2, "title"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andReadCountIsNull() { addCriterion("read_count is null"); return (Criteria) this; } public Criteria andReadCountIsNotNull() { addCriterion("read_count is not null"); return (Criteria) this; } public Criteria andReadCountEqualTo(Integer value) { addCriterion("read_count =", value, "readCount"); return (Criteria) this; } public Criteria andReadCountNotEqualTo(Integer value) { addCriterion("read_count <>", value, "readCount"); return (Criteria) this; } public Criteria andReadCountGreaterThan(Integer value) { addCriterion("read_count >", value, "readCount"); return (Criteria) this; } public Criteria andReadCountGreaterThanOrEqualTo(Integer value) { addCriterion("read_count >=", value, "readCount"); return (Criteria) this; } public Criteria andReadCountLessThan(Integer value) { addCriterion("read_count <", value, "readCount"); return (Criteria) this; } public Criteria andReadCountLessThanOrEqualTo(Integer value) { addCriterion("read_count <=", value, "readCount"); return (Criteria) this; } public Criteria andReadCountIn(List values) { addCriterion("read_count in", values, "readCount"); return (Criteria) this; } public Criteria andReadCountNotIn(List values) { addCriterion("read_count not in", values, "readCount"); return (Criteria) this; } public Criteria andReadCountBetween(Integer value1, Integer value2) { addCriterion("read_count between", value1, value2, "readCount"); return (Criteria) this; } public Criteria andReadCountNotBetween(Integer value1, Integer value2) { addCriterion("read_count not between", value1, value2, "readCount"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsMemberReport.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class CmsMemberReport implements Serializable { private Long id; @Schema(title = "举报类型:0->商品评价;1->话题内容;2->用户评论") private Integer reportType; @Schema(title = "举报人") private String reportMemberName; private Date createTime; private String reportObject; @Schema(title = "举报状态:0->未处理;1->已处理") private Integer reportStatus; @Schema(title = "处理结果:0->无效;1->有效;2->恶意") private Integer handleStatus; private String note; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getReportType() { return reportType; } public void setReportType(Integer reportType) { this.reportType = reportType; } public String getReportMemberName() { return reportMemberName; } public void setReportMemberName(String reportMemberName) { this.reportMemberName = reportMemberName; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getReportObject() { return reportObject; } public void setReportObject(String reportObject) { this.reportObject = reportObject; } public Integer getReportStatus() { return reportStatus; } public void setReportStatus(Integer reportStatus) { this.reportStatus = reportStatus; } public Integer getHandleStatus() { return handleStatus; } public void setHandleStatus(Integer handleStatus) { this.handleStatus = handleStatus; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } @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(", reportType=").append(reportType); sb.append(", reportMemberName=").append(reportMemberName); sb.append(", createTime=").append(createTime); sb.append(", reportObject=").append(reportObject); sb.append(", reportStatus=").append(reportStatus); sb.append(", handleStatus=").append(handleStatus); sb.append(", note=").append(note); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsMemberReportExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class CmsMemberReportExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsMemberReportExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andReportTypeIsNull() { addCriterion("report_type is null"); return (Criteria) this; } public Criteria andReportTypeIsNotNull() { addCriterion("report_type is not null"); return (Criteria) this; } public Criteria andReportTypeEqualTo(Integer value) { addCriterion("report_type =", value, "reportType"); return (Criteria) this; } public Criteria andReportTypeNotEqualTo(Integer value) { addCriterion("report_type <>", value, "reportType"); return (Criteria) this; } public Criteria andReportTypeGreaterThan(Integer value) { addCriterion("report_type >", value, "reportType"); return (Criteria) this; } public Criteria andReportTypeGreaterThanOrEqualTo(Integer value) { addCriterion("report_type >=", value, "reportType"); return (Criteria) this; } public Criteria andReportTypeLessThan(Integer value) { addCriterion("report_type <", value, "reportType"); return (Criteria) this; } public Criteria andReportTypeLessThanOrEqualTo(Integer value) { addCriterion("report_type <=", value, "reportType"); return (Criteria) this; } public Criteria andReportTypeIn(List values) { addCriterion("report_type in", values, "reportType"); return (Criteria) this; } public Criteria andReportTypeNotIn(List values) { addCriterion("report_type not in", values, "reportType"); return (Criteria) this; } public Criteria andReportTypeBetween(Integer value1, Integer value2) { addCriterion("report_type between", value1, value2, "reportType"); return (Criteria) this; } public Criteria andReportTypeNotBetween(Integer value1, Integer value2) { addCriterion("report_type not between", value1, value2, "reportType"); return (Criteria) this; } public Criteria andReportMemberNameIsNull() { addCriterion("report_member_name is null"); return (Criteria) this; } public Criteria andReportMemberNameIsNotNull() { addCriterion("report_member_name is not null"); return (Criteria) this; } public Criteria andReportMemberNameEqualTo(String value) { addCriterion("report_member_name =", value, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameNotEqualTo(String value) { addCriterion("report_member_name <>", value, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameGreaterThan(String value) { addCriterion("report_member_name >", value, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameGreaterThanOrEqualTo(String value) { addCriterion("report_member_name >=", value, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameLessThan(String value) { addCriterion("report_member_name <", value, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameLessThanOrEqualTo(String value) { addCriterion("report_member_name <=", value, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameLike(String value) { addCriterion("report_member_name like", value, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameNotLike(String value) { addCriterion("report_member_name not like", value, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameIn(List values) { addCriterion("report_member_name in", values, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameNotIn(List values) { addCriterion("report_member_name not in", values, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameBetween(String value1, String value2) { addCriterion("report_member_name between", value1, value2, "reportMemberName"); return (Criteria) this; } public Criteria andReportMemberNameNotBetween(String value1, String value2) { addCriterion("report_member_name not between", value1, value2, "reportMemberName"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andReportObjectIsNull() { addCriterion("report_object is null"); return (Criteria) this; } public Criteria andReportObjectIsNotNull() { addCriterion("report_object is not null"); return (Criteria) this; } public Criteria andReportObjectEqualTo(String value) { addCriterion("report_object =", value, "reportObject"); return (Criteria) this; } public Criteria andReportObjectNotEqualTo(String value) { addCriterion("report_object <>", value, "reportObject"); return (Criteria) this; } public Criteria andReportObjectGreaterThan(String value) { addCriterion("report_object >", value, "reportObject"); return (Criteria) this; } public Criteria andReportObjectGreaterThanOrEqualTo(String value) { addCriterion("report_object >=", value, "reportObject"); return (Criteria) this; } public Criteria andReportObjectLessThan(String value) { addCriterion("report_object <", value, "reportObject"); return (Criteria) this; } public Criteria andReportObjectLessThanOrEqualTo(String value) { addCriterion("report_object <=", value, "reportObject"); return (Criteria) this; } public Criteria andReportObjectLike(String value) { addCriterion("report_object like", value, "reportObject"); return (Criteria) this; } public Criteria andReportObjectNotLike(String value) { addCriterion("report_object not like", value, "reportObject"); return (Criteria) this; } public Criteria andReportObjectIn(List values) { addCriterion("report_object in", values, "reportObject"); return (Criteria) this; } public Criteria andReportObjectNotIn(List values) { addCriterion("report_object not in", values, "reportObject"); return (Criteria) this; } public Criteria andReportObjectBetween(String value1, String value2) { addCriterion("report_object between", value1, value2, "reportObject"); return (Criteria) this; } public Criteria andReportObjectNotBetween(String value1, String value2) { addCriterion("report_object not between", value1, value2, "reportObject"); return (Criteria) this; } public Criteria andReportStatusIsNull() { addCriterion("report_status is null"); return (Criteria) this; } public Criteria andReportStatusIsNotNull() { addCriterion("report_status is not null"); return (Criteria) this; } public Criteria andReportStatusEqualTo(Integer value) { addCriterion("report_status =", value, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusNotEqualTo(Integer value) { addCriterion("report_status <>", value, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusGreaterThan(Integer value) { addCriterion("report_status >", value, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusGreaterThanOrEqualTo(Integer value) { addCriterion("report_status >=", value, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusLessThan(Integer value) { addCriterion("report_status <", value, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusLessThanOrEqualTo(Integer value) { addCriterion("report_status <=", value, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusIn(List values) { addCriterion("report_status in", values, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusNotIn(List values) { addCriterion("report_status not in", values, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusBetween(Integer value1, Integer value2) { addCriterion("report_status between", value1, value2, "reportStatus"); return (Criteria) this; } public Criteria andReportStatusNotBetween(Integer value1, Integer value2) { addCriterion("report_status not between", value1, value2, "reportStatus"); return (Criteria) this; } public Criteria andHandleStatusIsNull() { addCriterion("handle_status is null"); return (Criteria) this; } public Criteria andHandleStatusIsNotNull() { addCriterion("handle_status is not null"); return (Criteria) this; } public Criteria andHandleStatusEqualTo(Integer value) { addCriterion("handle_status =", value, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusNotEqualTo(Integer value) { addCriterion("handle_status <>", value, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusGreaterThan(Integer value) { addCriterion("handle_status >", value, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusGreaterThanOrEqualTo(Integer value) { addCriterion("handle_status >=", value, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusLessThan(Integer value) { addCriterion("handle_status <", value, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusLessThanOrEqualTo(Integer value) { addCriterion("handle_status <=", value, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusIn(List values) { addCriterion("handle_status in", values, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusNotIn(List values) { addCriterion("handle_status not in", values, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusBetween(Integer value1, Integer value2) { addCriterion("handle_status between", value1, value2, "handleStatus"); return (Criteria) this; } public Criteria andHandleStatusNotBetween(Integer value1, Integer value2) { addCriterion("handle_status not between", value1, value2, "handleStatus"); return (Criteria) this; } public Criteria andNoteIsNull() { addCriterion("note is null"); return (Criteria) this; } public Criteria andNoteIsNotNull() { addCriterion("note is not null"); return (Criteria) this; } public Criteria andNoteEqualTo(String value) { addCriterion("note =", value, "note"); return (Criteria) this; } public Criteria andNoteNotEqualTo(String value) { addCriterion("note <>", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThan(String value) { addCriterion("note >", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThanOrEqualTo(String value) { addCriterion("note >=", value, "note"); return (Criteria) this; } public Criteria andNoteLessThan(String value) { addCriterion("note <", value, "note"); return (Criteria) this; } public Criteria andNoteLessThanOrEqualTo(String value) { addCriterion("note <=", value, "note"); return (Criteria) this; } public Criteria andNoteLike(String value) { addCriterion("note like", value, "note"); return (Criteria) this; } public Criteria andNoteNotLike(String value) { addCriterion("note not like", value, "note"); return (Criteria) this; } public Criteria andNoteIn(List values) { addCriterion("note in", values, "note"); return (Criteria) this; } public Criteria andNoteNotIn(List values) { addCriterion("note not in", values, "note"); return (Criteria) this; } public Criteria andNoteBetween(String value1, String value2) { addCriterion("note between", value1, value2, "note"); return (Criteria) this; } public Criteria andNoteNotBetween(String value1, String value2) { addCriterion("note not between", value1, value2, "note"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsPrefrenceArea.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class CmsPrefrenceArea implements Serializable { private Long id; private String name; private String subTitle; private Integer sort; private Integer showStatus; @Schema(title = "展示图片") private byte[] pic; private static final long serialVersionUID = 1L; 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 getSubTitle() { return subTitle; } public void setSubTitle(String subTitle) { this.subTitle = subTitle; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } public Integer getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } public byte[] getPic() { return pic; } public void setPic(byte[] pic) { this.pic = pic; } @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(", name=").append(name); sb.append(", subTitle=").append(subTitle); sb.append(", sort=").append(sort); sb.append(", showStatus=").append(showStatus); sb.append(", pic=").append(pic); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsPrefrenceAreaExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class CmsPrefrenceAreaExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsPrefrenceAreaExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andSubTitleIsNull() { addCriterion("sub_title is null"); return (Criteria) this; } public Criteria andSubTitleIsNotNull() { addCriterion("sub_title is not null"); return (Criteria) this; } public Criteria andSubTitleEqualTo(String value) { addCriterion("sub_title =", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleNotEqualTo(String value) { addCriterion("sub_title <>", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleGreaterThan(String value) { addCriterion("sub_title >", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleGreaterThanOrEqualTo(String value) { addCriterion("sub_title >=", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleLessThan(String value) { addCriterion("sub_title <", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleLessThanOrEqualTo(String value) { addCriterion("sub_title <=", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleLike(String value) { addCriterion("sub_title like", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleNotLike(String value) { addCriterion("sub_title not like", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleIn(List values) { addCriterion("sub_title in", values, "subTitle"); return (Criteria) this; } public Criteria andSubTitleNotIn(List values) { addCriterion("sub_title not in", values, "subTitle"); return (Criteria) this; } public Criteria andSubTitleBetween(String value1, String value2) { addCriterion("sub_title between", value1, value2, "subTitle"); return (Criteria) this; } public Criteria andSubTitleNotBetween(String value1, String value2) { addCriterion("sub_title not between", value1, value2, "subTitle"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsPrefrenceAreaProductRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class CmsPrefrenceAreaProductRelation implements Serializable { private Long id; private Long prefrenceAreaId; private Long productId; private static final long serialVersionUID = 1L; 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; } @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(", prefrenceAreaId=").append(prefrenceAreaId); sb.append(", productId=").append(productId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsPrefrenceAreaProductRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class CmsPrefrenceAreaProductRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsPrefrenceAreaProductRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andPrefrenceAreaIdIsNull() { addCriterion("prefrence_area_id is null"); return (Criteria) this; } public Criteria andPrefrenceAreaIdIsNotNull() { addCriterion("prefrence_area_id is not null"); return (Criteria) this; } public Criteria andPrefrenceAreaIdEqualTo(Long value) { addCriterion("prefrence_area_id =", value, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdNotEqualTo(Long value) { addCriterion("prefrence_area_id <>", value, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdGreaterThan(Long value) { addCriterion("prefrence_area_id >", value, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdGreaterThanOrEqualTo(Long value) { addCriterion("prefrence_area_id >=", value, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdLessThan(Long value) { addCriterion("prefrence_area_id <", value, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdLessThanOrEqualTo(Long value) { addCriterion("prefrence_area_id <=", value, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdIn(List values) { addCriterion("prefrence_area_id in", values, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdNotIn(List values) { addCriterion("prefrence_area_id not in", values, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdBetween(Long value1, Long value2) { addCriterion("prefrence_area_id between", value1, value2, "prefrenceAreaId"); return (Criteria) this; } public Criteria andPrefrenceAreaIdNotBetween(Long value1, Long value2) { addCriterion("prefrence_area_id not between", value1, value2, "prefrenceAreaId"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsSubject.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class CmsSubject implements Serializable { private Long id; private Long categoryId; private String title; @Schema(title = "专题主图") private String pic; @Schema(title = "关联产品数量") private Integer productCount; private Integer recommendStatus; private Date createTime; private Integer collectCount; private Integer readCount; private Integer commentCount; @Schema(title = "画册图片用逗号分割") private String albumPics; private String description; @Schema(title = "显示状态:0->不显示;1->显示") private Integer showStatus; @Schema(title = "转发数") private Integer forwardCount; @Schema(title = "专题分类名称") private String categoryName; private String content; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getCategoryId() { return categoryId; } public void setCategoryId(Long categoryId) { this.categoryId = categoryId; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getPic() { return pic; } public void setPic(String pic) { this.pic = pic; } public Integer getProductCount() { return productCount; } public void setProductCount(Integer productCount) { this.productCount = productCount; } public Integer getRecommendStatus() { return recommendStatus; } public void setRecommendStatus(Integer recommendStatus) { this.recommendStatus = recommendStatus; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Integer getCollectCount() { return collectCount; } public void setCollectCount(Integer collectCount) { this.collectCount = collectCount; } public Integer getReadCount() { return readCount; } public void setReadCount(Integer readCount) { this.readCount = readCount; } public Integer getCommentCount() { return commentCount; } public void setCommentCount(Integer commentCount) { this.commentCount = commentCount; } public String getAlbumPics() { return albumPics; } public void setAlbumPics(String albumPics) { this.albumPics = albumPics; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Integer getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } public Integer getForwardCount() { return forwardCount; } public void setForwardCount(Integer forwardCount) { this.forwardCount = forwardCount; } public String getCategoryName() { return categoryName; } public void setCategoryName(String categoryName) { this.categoryName = categoryName; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } @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(", categoryId=").append(categoryId); sb.append(", title=").append(title); sb.append(", pic=").append(pic); sb.append(", productCount=").append(productCount); sb.append(", recommendStatus=").append(recommendStatus); sb.append(", createTime=").append(createTime); sb.append(", collectCount=").append(collectCount); sb.append(", readCount=").append(readCount); sb.append(", commentCount=").append(commentCount); sb.append(", albumPics=").append(albumPics); sb.append(", description=").append(description); sb.append(", showStatus=").append(showStatus); sb.append(", forwardCount=").append(forwardCount); sb.append(", categoryName=").append(categoryName); sb.append(", content=").append(content); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectCategory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class CmsSubjectCategory implements Serializable { private Long id; private String name; @Schema(title = "分类图标") private String icon; @Schema(title = "专题数量") private Integer subjectCount; private Integer showStatus; private Integer sort; private static final long serialVersionUID = 1L; 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 getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public Integer getSubjectCount() { return subjectCount; } public void setSubjectCount(Integer subjectCount) { this.subjectCount = subjectCount; } public Integer getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", name=").append(name); sb.append(", icon=").append(icon); sb.append(", subjectCount=").append(subjectCount); sb.append(", showStatus=").append(showStatus); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectCategoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class CmsSubjectCategoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsSubjectCategoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andSubjectCountIsNull() { addCriterion("subject_count is null"); return (Criteria) this; } public Criteria andSubjectCountIsNotNull() { addCriterion("subject_count is not null"); return (Criteria) this; } public Criteria andSubjectCountEqualTo(Integer value) { addCriterion("subject_count =", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountNotEqualTo(Integer value) { addCriterion("subject_count <>", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountGreaterThan(Integer value) { addCriterion("subject_count >", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountGreaterThanOrEqualTo(Integer value) { addCriterion("subject_count >=", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountLessThan(Integer value) { addCriterion("subject_count <", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountLessThanOrEqualTo(Integer value) { addCriterion("subject_count <=", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountIn(List values) { addCriterion("subject_count in", values, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountNotIn(List values) { addCriterion("subject_count not in", values, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountBetween(Integer value1, Integer value2) { addCriterion("subject_count between", value1, value2, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountNotBetween(Integer value1, Integer value2) { addCriterion("subject_count not between", value1, value2, "subjectCount"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectComment.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class CmsSubjectComment implements Serializable { private Long id; private Long subjectId; private String memberNickName; private String memberIcon; private String content; private Date createTime; private Integer showStatus; private static final long serialVersionUID = 1L; 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 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 getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } @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(", subjectId=").append(subjectId); sb.append(", memberNickName=").append(memberNickName); sb.append(", memberIcon=").append(memberIcon); sb.append(", content=").append(content); sb.append(", createTime=").append(createTime); sb.append(", showStatus=").append(showStatus); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectCommentExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class CmsSubjectCommentExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsSubjectCommentExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andSubjectIdIsNull() { addCriterion("subject_id is null"); return (Criteria) this; } public Criteria andSubjectIdIsNotNull() { addCriterion("subject_id is not null"); return (Criteria) this; } public Criteria andSubjectIdEqualTo(Long value) { addCriterion("subject_id =", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotEqualTo(Long value) { addCriterion("subject_id <>", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdGreaterThan(Long value) { addCriterion("subject_id >", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdGreaterThanOrEqualTo(Long value) { addCriterion("subject_id >=", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdLessThan(Long value) { addCriterion("subject_id <", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdLessThanOrEqualTo(Long value) { addCriterion("subject_id <=", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdIn(List values) { addCriterion("subject_id in", values, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotIn(List values) { addCriterion("subject_id not in", values, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdBetween(Long value1, Long value2) { addCriterion("subject_id between", value1, value2, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotBetween(Long value1, Long value2) { addCriterion("subject_id not between", value1, value2, "subjectId"); return (Criteria) this; } public Criteria andMemberNickNameIsNull() { addCriterion("member_nick_name is null"); return (Criteria) this; } public Criteria andMemberNickNameIsNotNull() { addCriterion("member_nick_name is not null"); return (Criteria) this; } public Criteria andMemberNickNameEqualTo(String value) { addCriterion("member_nick_name =", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotEqualTo(String value) { addCriterion("member_nick_name <>", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameGreaterThan(String value) { addCriterion("member_nick_name >", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameGreaterThanOrEqualTo(String value) { addCriterion("member_nick_name >=", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLessThan(String value) { addCriterion("member_nick_name <", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLessThanOrEqualTo(String value) { addCriterion("member_nick_name <=", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLike(String value) { addCriterion("member_nick_name like", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotLike(String value) { addCriterion("member_nick_name not like", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameIn(List values) { addCriterion("member_nick_name in", values, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotIn(List values) { addCriterion("member_nick_name not in", values, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameBetween(String value1, String value2) { addCriterion("member_nick_name between", value1, value2, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotBetween(String value1, String value2) { addCriterion("member_nick_name not between", value1, value2, "memberNickName"); return (Criteria) this; } public Criteria andMemberIconIsNull() { addCriterion("member_icon is null"); return (Criteria) this; } public Criteria andMemberIconIsNotNull() { addCriterion("member_icon is not null"); return (Criteria) this; } public Criteria andMemberIconEqualTo(String value) { addCriterion("member_icon =", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotEqualTo(String value) { addCriterion("member_icon <>", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconGreaterThan(String value) { addCriterion("member_icon >", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconGreaterThanOrEqualTo(String value) { addCriterion("member_icon >=", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLessThan(String value) { addCriterion("member_icon <", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLessThanOrEqualTo(String value) { addCriterion("member_icon <=", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLike(String value) { addCriterion("member_icon like", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotLike(String value) { addCriterion("member_icon not like", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconIn(List values) { addCriterion("member_icon in", values, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotIn(List values) { addCriterion("member_icon not in", values, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconBetween(String value1, String value2) { addCriterion("member_icon between", value1, value2, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotBetween(String value1, String value2) { addCriterion("member_icon not between", value1, value2, "memberIcon"); return (Criteria) this; } public Criteria andContentIsNull() { addCriterion("content is null"); return (Criteria) this; } public Criteria andContentIsNotNull() { addCriterion("content is not null"); return (Criteria) this; } public Criteria andContentEqualTo(String value) { addCriterion("content =", value, "content"); return (Criteria) this; } public Criteria andContentNotEqualTo(String value) { addCriterion("content <>", value, "content"); return (Criteria) this; } public Criteria andContentGreaterThan(String value) { addCriterion("content >", value, "content"); return (Criteria) this; } public Criteria andContentGreaterThanOrEqualTo(String value) { addCriterion("content >=", value, "content"); return (Criteria) this; } public Criteria andContentLessThan(String value) { addCriterion("content <", value, "content"); return (Criteria) this; } public Criteria andContentLessThanOrEqualTo(String value) { addCriterion("content <=", value, "content"); return (Criteria) this; } public Criteria andContentLike(String value) { addCriterion("content like", value, "content"); return (Criteria) this; } public Criteria andContentNotLike(String value) { addCriterion("content not like", value, "content"); return (Criteria) this; } public Criteria andContentIn(List values) { addCriterion("content in", values, "content"); return (Criteria) this; } public Criteria andContentNotIn(List values) { addCriterion("content not in", values, "content"); return (Criteria) this; } public Criteria andContentBetween(String value1, String value2) { addCriterion("content between", value1, value2, "content"); return (Criteria) this; } public Criteria andContentNotBetween(String value1, String value2) { addCriterion("content not between", value1, value2, "content"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class CmsSubjectExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsSubjectExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCategoryIdIsNull() { addCriterion("category_id is null"); return (Criteria) this; } public Criteria andCategoryIdIsNotNull() { addCriterion("category_id is not null"); return (Criteria) this; } public Criteria andCategoryIdEqualTo(Long value) { addCriterion("category_id =", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotEqualTo(Long value) { addCriterion("category_id <>", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdGreaterThan(Long value) { addCriterion("category_id >", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("category_id >=", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdLessThan(Long value) { addCriterion("category_id <", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdLessThanOrEqualTo(Long value) { addCriterion("category_id <=", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdIn(List values) { addCriterion("category_id in", values, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotIn(List values) { addCriterion("category_id not in", values, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdBetween(Long value1, Long value2) { addCriterion("category_id between", value1, value2, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotBetween(Long value1, Long value2) { addCriterion("category_id not between", value1, value2, "categoryId"); return (Criteria) this; } public Criteria andTitleIsNull() { addCriterion("title is null"); return (Criteria) this; } public Criteria andTitleIsNotNull() { addCriterion("title is not null"); return (Criteria) this; } public Criteria andTitleEqualTo(String value) { addCriterion("title =", value, "title"); return (Criteria) this; } public Criteria andTitleNotEqualTo(String value) { addCriterion("title <>", value, "title"); return (Criteria) this; } public Criteria andTitleGreaterThan(String value) { addCriterion("title >", value, "title"); return (Criteria) this; } public Criteria andTitleGreaterThanOrEqualTo(String value) { addCriterion("title >=", value, "title"); return (Criteria) this; } public Criteria andTitleLessThan(String value) { addCriterion("title <", value, "title"); return (Criteria) this; } public Criteria andTitleLessThanOrEqualTo(String value) { addCriterion("title <=", value, "title"); return (Criteria) this; } public Criteria andTitleLike(String value) { addCriterion("title like", value, "title"); return (Criteria) this; } public Criteria andTitleNotLike(String value) { addCriterion("title not like", value, "title"); return (Criteria) this; } public Criteria andTitleIn(List values) { addCriterion("title in", values, "title"); return (Criteria) this; } public Criteria andTitleNotIn(List values) { addCriterion("title not in", values, "title"); return (Criteria) this; } public Criteria andTitleBetween(String value1, String value2) { addCriterion("title between", value1, value2, "title"); return (Criteria) this; } public Criteria andTitleNotBetween(String value1, String value2) { addCriterion("title not between", value1, value2, "title"); return (Criteria) this; } public Criteria andPicIsNull() { addCriterion("pic is null"); return (Criteria) this; } public Criteria andPicIsNotNull() { addCriterion("pic is not null"); return (Criteria) this; } public Criteria andPicEqualTo(String value) { addCriterion("pic =", value, "pic"); return (Criteria) this; } public Criteria andPicNotEqualTo(String value) { addCriterion("pic <>", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThan(String value) { addCriterion("pic >", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThanOrEqualTo(String value) { addCriterion("pic >=", value, "pic"); return (Criteria) this; } public Criteria andPicLessThan(String value) { addCriterion("pic <", value, "pic"); return (Criteria) this; } public Criteria andPicLessThanOrEqualTo(String value) { addCriterion("pic <=", value, "pic"); return (Criteria) this; } public Criteria andPicLike(String value) { addCriterion("pic like", value, "pic"); return (Criteria) this; } public Criteria andPicNotLike(String value) { addCriterion("pic not like", value, "pic"); return (Criteria) this; } public Criteria andPicIn(List values) { addCriterion("pic in", values, "pic"); return (Criteria) this; } public Criteria andPicNotIn(List values) { addCriterion("pic not in", values, "pic"); return (Criteria) this; } public Criteria andPicBetween(String value1, String value2) { addCriterion("pic between", value1, value2, "pic"); return (Criteria) this; } public Criteria andPicNotBetween(String value1, String value2) { addCriterion("pic not between", value1, value2, "pic"); return (Criteria) this; } public Criteria andProductCountIsNull() { addCriterion("product_count is null"); return (Criteria) this; } public Criteria andProductCountIsNotNull() { addCriterion("product_count is not null"); return (Criteria) this; } public Criteria andProductCountEqualTo(Integer value) { addCriterion("product_count =", value, "productCount"); return (Criteria) this; } public Criteria andProductCountNotEqualTo(Integer value) { addCriterion("product_count <>", value, "productCount"); return (Criteria) this; } public Criteria andProductCountGreaterThan(Integer value) { addCriterion("product_count >", value, "productCount"); return (Criteria) this; } public Criteria andProductCountGreaterThanOrEqualTo(Integer value) { addCriterion("product_count >=", value, "productCount"); return (Criteria) this; } public Criteria andProductCountLessThan(Integer value) { addCriterion("product_count <", value, "productCount"); return (Criteria) this; } public Criteria andProductCountLessThanOrEqualTo(Integer value) { addCriterion("product_count <=", value, "productCount"); return (Criteria) this; } public Criteria andProductCountIn(List values) { addCriterion("product_count in", values, "productCount"); return (Criteria) this; } public Criteria andProductCountNotIn(List values) { addCriterion("product_count not in", values, "productCount"); return (Criteria) this; } public Criteria andProductCountBetween(Integer value1, Integer value2) { addCriterion("product_count between", value1, value2, "productCount"); return (Criteria) this; } public Criteria andProductCountNotBetween(Integer value1, Integer value2) { addCriterion("product_count not between", value1, value2, "productCount"); return (Criteria) this; } public Criteria andRecommendStatusIsNull() { addCriterion("recommend_status is null"); return (Criteria) this; } public Criteria andRecommendStatusIsNotNull() { addCriterion("recommend_status is not null"); return (Criteria) this; } public Criteria andRecommendStatusEqualTo(Integer value) { addCriterion("recommend_status =", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotEqualTo(Integer value) { addCriterion("recommend_status <>", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThan(Integer value) { addCriterion("recommend_status >", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) { addCriterion("recommend_status >=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThan(Integer value) { addCriterion("recommend_status <", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) { addCriterion("recommend_status <=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusIn(List values) { addCriterion("recommend_status in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotIn(List values) { addCriterion("recommend_status not in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusBetween(Integer value1, Integer value2) { addCriterion("recommend_status between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) { addCriterion("recommend_status not between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCollectCountIsNull() { addCriterion("collect_count is null"); return (Criteria) this; } public Criteria andCollectCountIsNotNull() { addCriterion("collect_count is not null"); return (Criteria) this; } public Criteria andCollectCountEqualTo(Integer value) { addCriterion("collect_count =", value, "collectCount"); return (Criteria) this; } public Criteria andCollectCountNotEqualTo(Integer value) { addCriterion("collect_count <>", value, "collectCount"); return (Criteria) this; } public Criteria andCollectCountGreaterThan(Integer value) { addCriterion("collect_count >", value, "collectCount"); return (Criteria) this; } public Criteria andCollectCountGreaterThanOrEqualTo(Integer value) { addCriterion("collect_count >=", value, "collectCount"); return (Criteria) this; } public Criteria andCollectCountLessThan(Integer value) { addCriterion("collect_count <", value, "collectCount"); return (Criteria) this; } public Criteria andCollectCountLessThanOrEqualTo(Integer value) { addCriterion("collect_count <=", value, "collectCount"); return (Criteria) this; } public Criteria andCollectCountIn(List values) { addCriterion("collect_count in", values, "collectCount"); return (Criteria) this; } public Criteria andCollectCountNotIn(List values) { addCriterion("collect_count not in", values, "collectCount"); return (Criteria) this; } public Criteria andCollectCountBetween(Integer value1, Integer value2) { addCriterion("collect_count between", value1, value2, "collectCount"); return (Criteria) this; } public Criteria andCollectCountNotBetween(Integer value1, Integer value2) { addCriterion("collect_count not between", value1, value2, "collectCount"); return (Criteria) this; } public Criteria andReadCountIsNull() { addCriterion("read_count is null"); return (Criteria) this; } public Criteria andReadCountIsNotNull() { addCriterion("read_count is not null"); return (Criteria) this; } public Criteria andReadCountEqualTo(Integer value) { addCriterion("read_count =", value, "readCount"); return (Criteria) this; } public Criteria andReadCountNotEqualTo(Integer value) { addCriterion("read_count <>", value, "readCount"); return (Criteria) this; } public Criteria andReadCountGreaterThan(Integer value) { addCriterion("read_count >", value, "readCount"); return (Criteria) this; } public Criteria andReadCountGreaterThanOrEqualTo(Integer value) { addCriterion("read_count >=", value, "readCount"); return (Criteria) this; } public Criteria andReadCountLessThan(Integer value) { addCriterion("read_count <", value, "readCount"); return (Criteria) this; } public Criteria andReadCountLessThanOrEqualTo(Integer value) { addCriterion("read_count <=", value, "readCount"); return (Criteria) this; } public Criteria andReadCountIn(List values) { addCriterion("read_count in", values, "readCount"); return (Criteria) this; } public Criteria andReadCountNotIn(List values) { addCriterion("read_count not in", values, "readCount"); return (Criteria) this; } public Criteria andReadCountBetween(Integer value1, Integer value2) { addCriterion("read_count between", value1, value2, "readCount"); return (Criteria) this; } public Criteria andReadCountNotBetween(Integer value1, Integer value2) { addCriterion("read_count not between", value1, value2, "readCount"); return (Criteria) this; } public Criteria andCommentCountIsNull() { addCriterion("comment_count is null"); return (Criteria) this; } public Criteria andCommentCountIsNotNull() { addCriterion("comment_count is not null"); return (Criteria) this; } public Criteria andCommentCountEqualTo(Integer value) { addCriterion("comment_count =", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountNotEqualTo(Integer value) { addCriterion("comment_count <>", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountGreaterThan(Integer value) { addCriterion("comment_count >", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountGreaterThanOrEqualTo(Integer value) { addCriterion("comment_count >=", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountLessThan(Integer value) { addCriterion("comment_count <", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountLessThanOrEqualTo(Integer value) { addCriterion("comment_count <=", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountIn(List values) { addCriterion("comment_count in", values, "commentCount"); return (Criteria) this; } public Criteria andCommentCountNotIn(List values) { addCriterion("comment_count not in", values, "commentCount"); return (Criteria) this; } public Criteria andCommentCountBetween(Integer value1, Integer value2) { addCriterion("comment_count between", value1, value2, "commentCount"); return (Criteria) this; } public Criteria andCommentCountNotBetween(Integer value1, Integer value2) { addCriterion("comment_count not between", value1, value2, "commentCount"); return (Criteria) this; } public Criteria andAlbumPicsIsNull() { addCriterion("album_pics is null"); return (Criteria) this; } public Criteria andAlbumPicsIsNotNull() { addCriterion("album_pics is not null"); return (Criteria) this; } public Criteria andAlbumPicsEqualTo(String value) { addCriterion("album_pics =", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsNotEqualTo(String value) { addCriterion("album_pics <>", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsGreaterThan(String value) { addCriterion("album_pics >", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsGreaterThanOrEqualTo(String value) { addCriterion("album_pics >=", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsLessThan(String value) { addCriterion("album_pics <", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsLessThanOrEqualTo(String value) { addCriterion("album_pics <=", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsLike(String value) { addCriterion("album_pics like", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsNotLike(String value) { addCriterion("album_pics not like", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsIn(List values) { addCriterion("album_pics in", values, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsNotIn(List values) { addCriterion("album_pics not in", values, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsBetween(String value1, String value2) { addCriterion("album_pics between", value1, value2, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsNotBetween(String value1, String value2) { addCriterion("album_pics not between", value1, value2, "albumPics"); return (Criteria) this; } public Criteria andDescriptionIsNull() { addCriterion("description is null"); return (Criteria) this; } public Criteria andDescriptionIsNotNull() { addCriterion("description is not null"); return (Criteria) this; } public Criteria andDescriptionEqualTo(String value) { addCriterion("description =", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotEqualTo(String value) { addCriterion("description <>", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThan(String value) { addCriterion("description >", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThanOrEqualTo(String value) { addCriterion("description >=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThan(String value) { addCriterion("description <", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThanOrEqualTo(String value) { addCriterion("description <=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLike(String value) { addCriterion("description like", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotLike(String value) { addCriterion("description not like", value, "description"); return (Criteria) this; } public Criteria andDescriptionIn(List values) { addCriterion("description in", values, "description"); return (Criteria) this; } public Criteria andDescriptionNotIn(List values) { addCriterion("description not in", values, "description"); return (Criteria) this; } public Criteria andDescriptionBetween(String value1, String value2) { addCriterion("description between", value1, value2, "description"); return (Criteria) this; } public Criteria andDescriptionNotBetween(String value1, String value2) { addCriterion("description not between", value1, value2, "description"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andForwardCountIsNull() { addCriterion("forward_count is null"); return (Criteria) this; } public Criteria andForwardCountIsNotNull() { addCriterion("forward_count is not null"); return (Criteria) this; } public Criteria andForwardCountEqualTo(Integer value) { addCriterion("forward_count =", value, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountNotEqualTo(Integer value) { addCriterion("forward_count <>", value, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountGreaterThan(Integer value) { addCriterion("forward_count >", value, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountGreaterThanOrEqualTo(Integer value) { addCriterion("forward_count >=", value, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountLessThan(Integer value) { addCriterion("forward_count <", value, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountLessThanOrEqualTo(Integer value) { addCriterion("forward_count <=", value, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountIn(List values) { addCriterion("forward_count in", values, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountNotIn(List values) { addCriterion("forward_count not in", values, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountBetween(Integer value1, Integer value2) { addCriterion("forward_count between", value1, value2, "forwardCount"); return (Criteria) this; } public Criteria andForwardCountNotBetween(Integer value1, Integer value2) { addCriterion("forward_count not between", value1, value2, "forwardCount"); return (Criteria) this; } public Criteria andCategoryNameIsNull() { addCriterion("category_name is null"); return (Criteria) this; } public Criteria andCategoryNameIsNotNull() { addCriterion("category_name is not null"); return (Criteria) this; } public Criteria andCategoryNameEqualTo(String value) { addCriterion("category_name =", value, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameNotEqualTo(String value) { addCriterion("category_name <>", value, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameGreaterThan(String value) { addCriterion("category_name >", value, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameGreaterThanOrEqualTo(String value) { addCriterion("category_name >=", value, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameLessThan(String value) { addCriterion("category_name <", value, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameLessThanOrEqualTo(String value) { addCriterion("category_name <=", value, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameLike(String value) { addCriterion("category_name like", value, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameNotLike(String value) { addCriterion("category_name not like", value, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameIn(List values) { addCriterion("category_name in", values, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameNotIn(List values) { addCriterion("category_name not in", values, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameBetween(String value1, String value2) { addCriterion("category_name between", value1, value2, "categoryName"); return (Criteria) this; } public Criteria andCategoryNameNotBetween(String value1, String value2) { addCriterion("category_name not between", value1, value2, "categoryName"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectProductRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class CmsSubjectProductRelation implements Serializable { private Long id; private Long subjectId; private Long productId; private static final long serialVersionUID = 1L; 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() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()); sb.append(" ["); sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", subjectId=").append(subjectId); sb.append(", productId=").append(productId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsSubjectProductRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class CmsSubjectProductRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsSubjectProductRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andSubjectIdIsNull() { addCriterion("subject_id is null"); return (Criteria) this; } public Criteria andSubjectIdIsNotNull() { addCriterion("subject_id is not null"); return (Criteria) this; } public Criteria andSubjectIdEqualTo(Long value) { addCriterion("subject_id =", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotEqualTo(Long value) { addCriterion("subject_id <>", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdGreaterThan(Long value) { addCriterion("subject_id >", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdGreaterThanOrEqualTo(Long value) { addCriterion("subject_id >=", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdLessThan(Long value) { addCriterion("subject_id <", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdLessThanOrEqualTo(Long value) { addCriterion("subject_id <=", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdIn(List values) { addCriterion("subject_id in", values, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotIn(List values) { addCriterion("subject_id not in", values, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdBetween(Long value1, Long value2) { addCriterion("subject_id between", value1, value2, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotBetween(Long value1, Long value2) { addCriterion("subject_id not between", value1, value2, "subjectId"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsTopic.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class CmsTopic implements Serializable { private Long id; private Long categoryId; private String name; private Date createTime; private Date startTime; private Date endTime; @Schema(title = "参与人数") private Integer attendCount; @Schema(title = "关注人数") private Integer attentionCount; private Integer readCount; @Schema(title = "奖品名称") private String awardName; @Schema(title = "参与方式") private String attendType; @Schema(title = "话题内容") private String content; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getCategoryId() { return categoryId; } public void setCategoryId(Long categoryId) { this.categoryId = categoryId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public Integer getAttendCount() { return attendCount; } public void setAttendCount(Integer attendCount) { this.attendCount = attendCount; } public Integer getAttentionCount() { return attentionCount; } public void setAttentionCount(Integer attentionCount) { this.attentionCount = attentionCount; } public Integer getReadCount() { return readCount; } public void setReadCount(Integer readCount) { this.readCount = readCount; } public String getAwardName() { return awardName; } public void setAwardName(String awardName) { this.awardName = awardName; } public String getAttendType() { return attendType; } public void setAttendType(String attendType) { this.attendType = attendType; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } @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(", categoryId=").append(categoryId); sb.append(", name=").append(name); sb.append(", createTime=").append(createTime); sb.append(", startTime=").append(startTime); sb.append(", endTime=").append(endTime); sb.append(", attendCount=").append(attendCount); sb.append(", attentionCount=").append(attentionCount); sb.append(", readCount=").append(readCount); sb.append(", awardName=").append(awardName); sb.append(", attendType=").append(attendType); sb.append(", content=").append(content); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsTopicCategory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class CmsTopicCategory implements Serializable { private Long id; private String name; @Schema(title = "分类图标") private String icon; @Schema(title = "专题数量") private Integer subjectCount; private Integer showStatus; private Integer sort; private static final long serialVersionUID = 1L; 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 getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public Integer getSubjectCount() { return subjectCount; } public void setSubjectCount(Integer subjectCount) { this.subjectCount = subjectCount; } public Integer getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", name=").append(name); sb.append(", icon=").append(icon); sb.append(", subjectCount=").append(subjectCount); sb.append(", showStatus=").append(showStatus); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsTopicCategoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class CmsTopicCategoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsTopicCategoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andSubjectCountIsNull() { addCriterion("subject_count is null"); return (Criteria) this; } public Criteria andSubjectCountIsNotNull() { addCriterion("subject_count is not null"); return (Criteria) this; } public Criteria andSubjectCountEqualTo(Integer value) { addCriterion("subject_count =", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountNotEqualTo(Integer value) { addCriterion("subject_count <>", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountGreaterThan(Integer value) { addCriterion("subject_count >", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountGreaterThanOrEqualTo(Integer value) { addCriterion("subject_count >=", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountLessThan(Integer value) { addCriterion("subject_count <", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountLessThanOrEqualTo(Integer value) { addCriterion("subject_count <=", value, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountIn(List values) { addCriterion("subject_count in", values, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountNotIn(List values) { addCriterion("subject_count not in", values, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountBetween(Integer value1, Integer value2) { addCriterion("subject_count between", value1, value2, "subjectCount"); return (Criteria) this; } public Criteria andSubjectCountNotBetween(Integer value1, Integer value2) { addCriterion("subject_count not between", value1, value2, "subjectCount"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsTopicComment.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class CmsTopicComment implements Serializable { private Long id; private String memberNickName; private Long topicId; private String memberIcon; private String content; private Date createTime; private Integer showStatus; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getMemberNickName() { return memberNickName; } public void setMemberNickName(String memberNickName) { this.memberNickName = memberNickName; } public Long getTopicId() { return topicId; } public void setTopicId(Long topicId) { this.topicId = topicId; } 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 getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } @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(", memberNickName=").append(memberNickName); sb.append(", topicId=").append(topicId); sb.append(", memberIcon=").append(memberIcon); sb.append(", content=").append(content); sb.append(", createTime=").append(createTime); sb.append(", showStatus=").append(showStatus); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsTopicCommentExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class CmsTopicCommentExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsTopicCommentExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberNickNameIsNull() { addCriterion("member_nick_name is null"); return (Criteria) this; } public Criteria andMemberNickNameIsNotNull() { addCriterion("member_nick_name is not null"); return (Criteria) this; } public Criteria andMemberNickNameEqualTo(String value) { addCriterion("member_nick_name =", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotEqualTo(String value) { addCriterion("member_nick_name <>", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameGreaterThan(String value) { addCriterion("member_nick_name >", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameGreaterThanOrEqualTo(String value) { addCriterion("member_nick_name >=", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLessThan(String value) { addCriterion("member_nick_name <", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLessThanOrEqualTo(String value) { addCriterion("member_nick_name <=", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLike(String value) { addCriterion("member_nick_name like", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotLike(String value) { addCriterion("member_nick_name not like", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameIn(List values) { addCriterion("member_nick_name in", values, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotIn(List values) { addCriterion("member_nick_name not in", values, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameBetween(String value1, String value2) { addCriterion("member_nick_name between", value1, value2, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotBetween(String value1, String value2) { addCriterion("member_nick_name not between", value1, value2, "memberNickName"); return (Criteria) this; } public Criteria andTopicIdIsNull() { addCriterion("topic_id is null"); return (Criteria) this; } public Criteria andTopicIdIsNotNull() { addCriterion("topic_id is not null"); return (Criteria) this; } public Criteria andTopicIdEqualTo(Long value) { addCriterion("topic_id =", value, "topicId"); return (Criteria) this; } public Criteria andTopicIdNotEqualTo(Long value) { addCriterion("topic_id <>", value, "topicId"); return (Criteria) this; } public Criteria andTopicIdGreaterThan(Long value) { addCriterion("topic_id >", value, "topicId"); return (Criteria) this; } public Criteria andTopicIdGreaterThanOrEqualTo(Long value) { addCriterion("topic_id >=", value, "topicId"); return (Criteria) this; } public Criteria andTopicIdLessThan(Long value) { addCriterion("topic_id <", value, "topicId"); return (Criteria) this; } public Criteria andTopicIdLessThanOrEqualTo(Long value) { addCriterion("topic_id <=", value, "topicId"); return (Criteria) this; } public Criteria andTopicIdIn(List values) { addCriterion("topic_id in", values, "topicId"); return (Criteria) this; } public Criteria andTopicIdNotIn(List values) { addCriterion("topic_id not in", values, "topicId"); return (Criteria) this; } public Criteria andTopicIdBetween(Long value1, Long value2) { addCriterion("topic_id between", value1, value2, "topicId"); return (Criteria) this; } public Criteria andTopicIdNotBetween(Long value1, Long value2) { addCriterion("topic_id not between", value1, value2, "topicId"); return (Criteria) this; } public Criteria andMemberIconIsNull() { addCriterion("member_icon is null"); return (Criteria) this; } public Criteria andMemberIconIsNotNull() { addCriterion("member_icon is not null"); return (Criteria) this; } public Criteria andMemberIconEqualTo(String value) { addCriterion("member_icon =", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotEqualTo(String value) { addCriterion("member_icon <>", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconGreaterThan(String value) { addCriterion("member_icon >", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconGreaterThanOrEqualTo(String value) { addCriterion("member_icon >=", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLessThan(String value) { addCriterion("member_icon <", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLessThanOrEqualTo(String value) { addCriterion("member_icon <=", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLike(String value) { addCriterion("member_icon like", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotLike(String value) { addCriterion("member_icon not like", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconIn(List values) { addCriterion("member_icon in", values, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotIn(List values) { addCriterion("member_icon not in", values, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconBetween(String value1, String value2) { addCriterion("member_icon between", value1, value2, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotBetween(String value1, String value2) { addCriterion("member_icon not between", value1, value2, "memberIcon"); return (Criteria) this; } public Criteria andContentIsNull() { addCriterion("content is null"); return (Criteria) this; } public Criteria andContentIsNotNull() { addCriterion("content is not null"); return (Criteria) this; } public Criteria andContentEqualTo(String value) { addCriterion("content =", value, "content"); return (Criteria) this; } public Criteria andContentNotEqualTo(String value) { addCriterion("content <>", value, "content"); return (Criteria) this; } public Criteria andContentGreaterThan(String value) { addCriterion("content >", value, "content"); return (Criteria) this; } public Criteria andContentGreaterThanOrEqualTo(String value) { addCriterion("content >=", value, "content"); return (Criteria) this; } public Criteria andContentLessThan(String value) { addCriterion("content <", value, "content"); return (Criteria) this; } public Criteria andContentLessThanOrEqualTo(String value) { addCriterion("content <=", value, "content"); return (Criteria) this; } public Criteria andContentLike(String value) { addCriterion("content like", value, "content"); return (Criteria) this; } public Criteria andContentNotLike(String value) { addCriterion("content not like", value, "content"); return (Criteria) this; } public Criteria andContentIn(List values) { addCriterion("content in", values, "content"); return (Criteria) this; } public Criteria andContentNotIn(List values) { addCriterion("content not in", values, "content"); return (Criteria) this; } public Criteria andContentBetween(String value1, String value2) { addCriterion("content between", value1, value2, "content"); return (Criteria) this; } public Criteria andContentNotBetween(String value1, String value2) { addCriterion("content not between", value1, value2, "content"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/CmsTopicExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class CmsTopicExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public CmsTopicExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCategoryIdIsNull() { addCriterion("category_id is null"); return (Criteria) this; } public Criteria andCategoryIdIsNotNull() { addCriterion("category_id is not null"); return (Criteria) this; } public Criteria andCategoryIdEqualTo(Long value) { addCriterion("category_id =", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotEqualTo(Long value) { addCriterion("category_id <>", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdGreaterThan(Long value) { addCriterion("category_id >", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("category_id >=", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdLessThan(Long value) { addCriterion("category_id <", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdLessThanOrEqualTo(Long value) { addCriterion("category_id <=", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdIn(List values) { addCriterion("category_id in", values, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotIn(List values) { addCriterion("category_id not in", values, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdBetween(Long value1, Long value2) { addCriterion("category_id between", value1, value2, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotBetween(Long value1, Long value2) { addCriterion("category_id not between", value1, value2, "categoryId"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andStartTimeIsNull() { addCriterion("start_time is null"); return (Criteria) this; } public Criteria andStartTimeIsNotNull() { addCriterion("start_time is not null"); return (Criteria) this; } public Criteria andStartTimeEqualTo(Date value) { addCriterion("start_time =", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotEqualTo(Date value) { addCriterion("start_time <>", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeGreaterThan(Date value) { addCriterion("start_time >", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeGreaterThanOrEqualTo(Date value) { addCriterion("start_time >=", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeLessThan(Date value) { addCriterion("start_time <", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeLessThanOrEqualTo(Date value) { addCriterion("start_time <=", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeIn(List values) { addCriterion("start_time in", values, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotIn(List values) { addCriterion("start_time not in", values, "startTime"); return (Criteria) this; } public Criteria andStartTimeBetween(Date value1, Date value2) { addCriterion("start_time between", value1, value2, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotBetween(Date value1, Date value2) { addCriterion("start_time not between", value1, value2, "startTime"); return (Criteria) this; } public Criteria andEndTimeIsNull() { addCriterion("end_time is null"); return (Criteria) this; } public Criteria andEndTimeIsNotNull() { addCriterion("end_time is not null"); return (Criteria) this; } public Criteria andEndTimeEqualTo(Date value) { addCriterion("end_time =", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotEqualTo(Date value) { addCriterion("end_time <>", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeGreaterThan(Date value) { addCriterion("end_time >", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeGreaterThanOrEqualTo(Date value) { addCriterion("end_time >=", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeLessThan(Date value) { addCriterion("end_time <", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeLessThanOrEqualTo(Date value) { addCriterion("end_time <=", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeIn(List values) { addCriterion("end_time in", values, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotIn(List values) { addCriterion("end_time not in", values, "endTime"); return (Criteria) this; } public Criteria andEndTimeBetween(Date value1, Date value2) { addCriterion("end_time between", value1, value2, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotBetween(Date value1, Date value2) { addCriterion("end_time not between", value1, value2, "endTime"); return (Criteria) this; } public Criteria andAttendCountIsNull() { addCriterion("attend_count is null"); return (Criteria) this; } public Criteria andAttendCountIsNotNull() { addCriterion("attend_count is not null"); return (Criteria) this; } public Criteria andAttendCountEqualTo(Integer value) { addCriterion("attend_count =", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountNotEqualTo(Integer value) { addCriterion("attend_count <>", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountGreaterThan(Integer value) { addCriterion("attend_count >", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountGreaterThanOrEqualTo(Integer value) { addCriterion("attend_count >=", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountLessThan(Integer value) { addCriterion("attend_count <", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountLessThanOrEqualTo(Integer value) { addCriterion("attend_count <=", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountIn(List values) { addCriterion("attend_count in", values, "attendCount"); return (Criteria) this; } public Criteria andAttendCountNotIn(List values) { addCriterion("attend_count not in", values, "attendCount"); return (Criteria) this; } public Criteria andAttendCountBetween(Integer value1, Integer value2) { addCriterion("attend_count between", value1, value2, "attendCount"); return (Criteria) this; } public Criteria andAttendCountNotBetween(Integer value1, Integer value2) { addCriterion("attend_count not between", value1, value2, "attendCount"); return (Criteria) this; } public Criteria andAttentionCountIsNull() { addCriterion("attention_count is null"); return (Criteria) this; } public Criteria andAttentionCountIsNotNull() { addCriterion("attention_count is not null"); return (Criteria) this; } public Criteria andAttentionCountEqualTo(Integer value) { addCriterion("attention_count =", value, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountNotEqualTo(Integer value) { addCriterion("attention_count <>", value, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountGreaterThan(Integer value) { addCriterion("attention_count >", value, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountGreaterThanOrEqualTo(Integer value) { addCriterion("attention_count >=", value, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountLessThan(Integer value) { addCriterion("attention_count <", value, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountLessThanOrEqualTo(Integer value) { addCriterion("attention_count <=", value, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountIn(List values) { addCriterion("attention_count in", values, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountNotIn(List values) { addCriterion("attention_count not in", values, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountBetween(Integer value1, Integer value2) { addCriterion("attention_count between", value1, value2, "attentionCount"); return (Criteria) this; } public Criteria andAttentionCountNotBetween(Integer value1, Integer value2) { addCriterion("attention_count not between", value1, value2, "attentionCount"); return (Criteria) this; } public Criteria andReadCountIsNull() { addCriterion("read_count is null"); return (Criteria) this; } public Criteria andReadCountIsNotNull() { addCriterion("read_count is not null"); return (Criteria) this; } public Criteria andReadCountEqualTo(Integer value) { addCriterion("read_count =", value, "readCount"); return (Criteria) this; } public Criteria andReadCountNotEqualTo(Integer value) { addCriterion("read_count <>", value, "readCount"); return (Criteria) this; } public Criteria andReadCountGreaterThan(Integer value) { addCriterion("read_count >", value, "readCount"); return (Criteria) this; } public Criteria andReadCountGreaterThanOrEqualTo(Integer value) { addCriterion("read_count >=", value, "readCount"); return (Criteria) this; } public Criteria andReadCountLessThan(Integer value) { addCriterion("read_count <", value, "readCount"); return (Criteria) this; } public Criteria andReadCountLessThanOrEqualTo(Integer value) { addCriterion("read_count <=", value, "readCount"); return (Criteria) this; } public Criteria andReadCountIn(List values) { addCriterion("read_count in", values, "readCount"); return (Criteria) this; } public Criteria andReadCountNotIn(List values) { addCriterion("read_count not in", values, "readCount"); return (Criteria) this; } public Criteria andReadCountBetween(Integer value1, Integer value2) { addCriterion("read_count between", value1, value2, "readCount"); return (Criteria) this; } public Criteria andReadCountNotBetween(Integer value1, Integer value2) { addCriterion("read_count not between", value1, value2, "readCount"); return (Criteria) this; } public Criteria andAwardNameIsNull() { addCriterion("award_name is null"); return (Criteria) this; } public Criteria andAwardNameIsNotNull() { addCriterion("award_name is not null"); return (Criteria) this; } public Criteria andAwardNameEqualTo(String value) { addCriterion("award_name =", value, "awardName"); return (Criteria) this; } public Criteria andAwardNameNotEqualTo(String value) { addCriterion("award_name <>", value, "awardName"); return (Criteria) this; } public Criteria andAwardNameGreaterThan(String value) { addCriterion("award_name >", value, "awardName"); return (Criteria) this; } public Criteria andAwardNameGreaterThanOrEqualTo(String value) { addCriterion("award_name >=", value, "awardName"); return (Criteria) this; } public Criteria andAwardNameLessThan(String value) { addCriterion("award_name <", value, "awardName"); return (Criteria) this; } public Criteria andAwardNameLessThanOrEqualTo(String value) { addCriterion("award_name <=", value, "awardName"); return (Criteria) this; } public Criteria andAwardNameLike(String value) { addCriterion("award_name like", value, "awardName"); return (Criteria) this; } public Criteria andAwardNameNotLike(String value) { addCriterion("award_name not like", value, "awardName"); return (Criteria) this; } public Criteria andAwardNameIn(List values) { addCriterion("award_name in", values, "awardName"); return (Criteria) this; } public Criteria andAwardNameNotIn(List values) { addCriterion("award_name not in", values, "awardName"); return (Criteria) this; } public Criteria andAwardNameBetween(String value1, String value2) { addCriterion("award_name between", value1, value2, "awardName"); return (Criteria) this; } public Criteria andAwardNameNotBetween(String value1, String value2) { addCriterion("award_name not between", value1, value2, "awardName"); return (Criteria) this; } public Criteria andAttendTypeIsNull() { addCriterion("attend_type is null"); return (Criteria) this; } public Criteria andAttendTypeIsNotNull() { addCriterion("attend_type is not null"); return (Criteria) this; } public Criteria andAttendTypeEqualTo(String value) { addCriterion("attend_type =", value, "attendType"); return (Criteria) this; } public Criteria andAttendTypeNotEqualTo(String value) { addCriterion("attend_type <>", value, "attendType"); return (Criteria) this; } public Criteria andAttendTypeGreaterThan(String value) { addCriterion("attend_type >", value, "attendType"); return (Criteria) this; } public Criteria andAttendTypeGreaterThanOrEqualTo(String value) { addCriterion("attend_type >=", value, "attendType"); return (Criteria) this; } public Criteria andAttendTypeLessThan(String value) { addCriterion("attend_type <", value, "attendType"); return (Criteria) this; } public Criteria andAttendTypeLessThanOrEqualTo(String value) { addCriterion("attend_type <=", value, "attendType"); return (Criteria) this; } public Criteria andAttendTypeLike(String value) { addCriterion("attend_type like", value, "attendType"); return (Criteria) this; } public Criteria andAttendTypeNotLike(String value) { addCriterion("attend_type not like", value, "attendType"); return (Criteria) this; } public Criteria andAttendTypeIn(List values) { addCriterion("attend_type in", values, "attendType"); return (Criteria) this; } public Criteria andAttendTypeNotIn(List values) { addCriterion("attend_type not in", values, "attendType"); return (Criteria) this; } public Criteria andAttendTypeBetween(String value1, String value2) { addCriterion("attend_type between", value1, value2, "attendType"); return (Criteria) this; } public Criteria andAttendTypeNotBetween(String value1, String value2) { addCriterion("attend_type not between", value1, value2, "attendType"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsCartItem.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; public class OmsCartItem implements Serializable { private Long id; private Long productId; private Long productSkuId; private Long memberId; @Schema(title = "购买数量") private Integer quantity; @Schema(title = "添加到购物车的价格") private BigDecimal price; @Schema(title = "商品主图") private String productPic; @Schema(title = "商品名称") private String productName; @Schema(title = "商品副标题(卖点)") private String productSubTitle; @Schema(title = "商品sku条码") private String productSkuCode; @Schema(title = "会员昵称") private String memberNickname; @Schema(title = "创建时间") private Date createDate; @Schema(title = "修改时间") private Date modifyDate; @Schema(title = "是否删除") private Integer deleteStatus; @Schema(title = "商品分类") private Long productCategoryId; private String productBrand; private String productSn; @Schema(title = "商品销售属性:[{'key':'颜色','value':'颜色'},{'key':'容量','value':'4G'}]") private String productAttr; private static final long serialVersionUID = 1L; 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 getProductSkuId() { return productSkuId; } public void setProductSkuId(Long productSkuId) { this.productSkuId = productSkuId; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public Integer getQuantity() { return quantity; } public void setQuantity(Integer quantity) { this.quantity = quantity; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public String getProductPic() { return productPic; } public void setProductPic(String productPic) { this.productPic = productPic; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getProductSubTitle() { return productSubTitle; } public void setProductSubTitle(String productSubTitle) { this.productSubTitle = productSubTitle; } public String getProductSkuCode() { return productSkuCode; } public void setProductSkuCode(String productSkuCode) { this.productSkuCode = productSkuCode; } public String getMemberNickname() { return memberNickname; } public void setMemberNickname(String memberNickname) { this.memberNickname = memberNickname; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } public Date getModifyDate() { return modifyDate; } public void setModifyDate(Date modifyDate) { this.modifyDate = modifyDate; } public Integer getDeleteStatus() { return deleteStatus; } public void setDeleteStatus(Integer deleteStatus) { this.deleteStatus = deleteStatus; } public Long getProductCategoryId() { return productCategoryId; } public void setProductCategoryId(Long productCategoryId) { this.productCategoryId = productCategoryId; } public String getProductBrand() { return productBrand; } public void setProductBrand(String productBrand) { this.productBrand = productBrand; } public String getProductSn() { return productSn; } public void setProductSn(String productSn) { this.productSn = productSn; } public String getProductAttr() { return productAttr; } public void setProductAttr(String productAttr) { this.productAttr = productAttr; } @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(", productSkuId=").append(productSkuId); sb.append(", memberId=").append(memberId); sb.append(", quantity=").append(quantity); sb.append(", price=").append(price); sb.append(", productPic=").append(productPic); sb.append(", productName=").append(productName); sb.append(", productSubTitle=").append(productSubTitle); sb.append(", productSkuCode=").append(productSkuCode); sb.append(", memberNickname=").append(memberNickname); sb.append(", createDate=").append(createDate); sb.append(", modifyDate=").append(modifyDate); sb.append(", deleteStatus=").append(deleteStatus); sb.append(", productCategoryId=").append(productCategoryId); sb.append(", productBrand=").append(productBrand); sb.append(", productSn=").append(productSn); sb.append(", productAttr=").append(productAttr); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsCartItemExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; public class OmsCartItemExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public OmsCartItemExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductSkuIdIsNull() { addCriterion("product_sku_id is null"); return (Criteria) this; } public Criteria andProductSkuIdIsNotNull() { addCriterion("product_sku_id is not null"); return (Criteria) this; } public Criteria andProductSkuIdEqualTo(Long value) { addCriterion("product_sku_id =", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdNotEqualTo(Long value) { addCriterion("product_sku_id <>", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdGreaterThan(Long value) { addCriterion("product_sku_id >", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdGreaterThanOrEqualTo(Long value) { addCriterion("product_sku_id >=", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdLessThan(Long value) { addCriterion("product_sku_id <", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdLessThanOrEqualTo(Long value) { addCriterion("product_sku_id <=", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdIn(List values) { addCriterion("product_sku_id in", values, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdNotIn(List values) { addCriterion("product_sku_id not in", values, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdBetween(Long value1, Long value2) { addCriterion("product_sku_id between", value1, value2, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdNotBetween(Long value1, Long value2) { addCriterion("product_sku_id not between", value1, value2, "productSkuId"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andQuantityIsNull() { addCriterion("quantity is null"); return (Criteria) this; } public Criteria andQuantityIsNotNull() { addCriterion("quantity is not null"); return (Criteria) this; } public Criteria andQuantityEqualTo(Integer value) { addCriterion("quantity =", value, "quantity"); return (Criteria) this; } public Criteria andQuantityNotEqualTo(Integer value) { addCriterion("quantity <>", value, "quantity"); return (Criteria) this; } public Criteria andQuantityGreaterThan(Integer value) { addCriterion("quantity >", value, "quantity"); return (Criteria) this; } public Criteria andQuantityGreaterThanOrEqualTo(Integer value) { addCriterion("quantity >=", value, "quantity"); return (Criteria) this; } public Criteria andQuantityLessThan(Integer value) { addCriterion("quantity <", value, "quantity"); return (Criteria) this; } public Criteria andQuantityLessThanOrEqualTo(Integer value) { addCriterion("quantity <=", value, "quantity"); return (Criteria) this; } public Criteria andQuantityIn(List values) { addCriterion("quantity in", values, "quantity"); return (Criteria) this; } public Criteria andQuantityNotIn(List values) { addCriterion("quantity not in", values, "quantity"); return (Criteria) this; } public Criteria andQuantityBetween(Integer value1, Integer value2) { addCriterion("quantity between", value1, value2, "quantity"); return (Criteria) this; } public Criteria andQuantityNotBetween(Integer value1, Integer value2) { addCriterion("quantity not between", value1, value2, "quantity"); return (Criteria) this; } public Criteria andPriceIsNull() { addCriterion("price is null"); return (Criteria) this; } public Criteria andPriceIsNotNull() { addCriterion("price is not null"); return (Criteria) this; } public Criteria andPriceEqualTo(BigDecimal value) { addCriterion("price =", value, "price"); return (Criteria) this; } public Criteria andPriceNotEqualTo(BigDecimal value) { addCriterion("price <>", value, "price"); return (Criteria) this; } public Criteria andPriceGreaterThan(BigDecimal value) { addCriterion("price >", value, "price"); return (Criteria) this; } public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("price >=", value, "price"); return (Criteria) this; } public Criteria andPriceLessThan(BigDecimal value) { addCriterion("price <", value, "price"); return (Criteria) this; } public Criteria andPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("price <=", value, "price"); return (Criteria) this; } public Criteria andPriceIn(List values) { addCriterion("price in", values, "price"); return (Criteria) this; } public Criteria andPriceNotIn(List values) { addCriterion("price not in", values, "price"); return (Criteria) this; } public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price between", value1, value2, "price"); return (Criteria) this; } public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price not between", value1, value2, "price"); return (Criteria) this; } public Criteria andProductPicIsNull() { addCriterion("product_pic is null"); return (Criteria) this; } public Criteria andProductPicIsNotNull() { addCriterion("product_pic is not null"); return (Criteria) this; } public Criteria andProductPicEqualTo(String value) { addCriterion("product_pic =", value, "productPic"); return (Criteria) this; } public Criteria andProductPicNotEqualTo(String value) { addCriterion("product_pic <>", value, "productPic"); return (Criteria) this; } public Criteria andProductPicGreaterThan(String value) { addCriterion("product_pic >", value, "productPic"); return (Criteria) this; } public Criteria andProductPicGreaterThanOrEqualTo(String value) { addCriterion("product_pic >=", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLessThan(String value) { addCriterion("product_pic <", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLessThanOrEqualTo(String value) { addCriterion("product_pic <=", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLike(String value) { addCriterion("product_pic like", value, "productPic"); return (Criteria) this; } public Criteria andProductPicNotLike(String value) { addCriterion("product_pic not like", value, "productPic"); return (Criteria) this; } public Criteria andProductPicIn(List values) { addCriterion("product_pic in", values, "productPic"); return (Criteria) this; } public Criteria andProductPicNotIn(List values) { addCriterion("product_pic not in", values, "productPic"); return (Criteria) this; } public Criteria andProductPicBetween(String value1, String value2) { addCriterion("product_pic between", value1, value2, "productPic"); return (Criteria) this; } public Criteria andProductPicNotBetween(String value1, String value2) { addCriterion("product_pic not between", value1, value2, "productPic"); return (Criteria) this; } public Criteria andProductNameIsNull() { addCriterion("product_name is null"); return (Criteria) this; } public Criteria andProductNameIsNotNull() { addCriterion("product_name is not null"); return (Criteria) this; } public Criteria andProductNameEqualTo(String value) { addCriterion("product_name =", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotEqualTo(String value) { addCriterion("product_name <>", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThan(String value) { addCriterion("product_name >", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThanOrEqualTo(String value) { addCriterion("product_name >=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThan(String value) { addCriterion("product_name <", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThanOrEqualTo(String value) { addCriterion("product_name <=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLike(String value) { addCriterion("product_name like", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotLike(String value) { addCriterion("product_name not like", value, "productName"); return (Criteria) this; } public Criteria andProductNameIn(List values) { addCriterion("product_name in", values, "productName"); return (Criteria) this; } public Criteria andProductNameNotIn(List values) { addCriterion("product_name not in", values, "productName"); return (Criteria) this; } public Criteria andProductNameBetween(String value1, String value2) { addCriterion("product_name between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductNameNotBetween(String value1, String value2) { addCriterion("product_name not between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductSubTitleIsNull() { addCriterion("product_sub_title is null"); return (Criteria) this; } public Criteria andProductSubTitleIsNotNull() { addCriterion("product_sub_title is not null"); return (Criteria) this; } public Criteria andProductSubTitleEqualTo(String value) { addCriterion("product_sub_title =", value, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleNotEqualTo(String value) { addCriterion("product_sub_title <>", value, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleGreaterThan(String value) { addCriterion("product_sub_title >", value, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleGreaterThanOrEqualTo(String value) { addCriterion("product_sub_title >=", value, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleLessThan(String value) { addCriterion("product_sub_title <", value, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleLessThanOrEqualTo(String value) { addCriterion("product_sub_title <=", value, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleLike(String value) { addCriterion("product_sub_title like", value, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleNotLike(String value) { addCriterion("product_sub_title not like", value, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleIn(List values) { addCriterion("product_sub_title in", values, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleNotIn(List values) { addCriterion("product_sub_title not in", values, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleBetween(String value1, String value2) { addCriterion("product_sub_title between", value1, value2, "productSubTitle"); return (Criteria) this; } public Criteria andProductSubTitleNotBetween(String value1, String value2) { addCriterion("product_sub_title not between", value1, value2, "productSubTitle"); return (Criteria) this; } public Criteria andProductSkuCodeIsNull() { addCriterion("product_sku_code is null"); return (Criteria) this; } public Criteria andProductSkuCodeIsNotNull() { addCriterion("product_sku_code is not null"); return (Criteria) this; } public Criteria andProductSkuCodeEqualTo(String value) { addCriterion("product_sku_code =", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeNotEqualTo(String value) { addCriterion("product_sku_code <>", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeGreaterThan(String value) { addCriterion("product_sku_code >", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeGreaterThanOrEqualTo(String value) { addCriterion("product_sku_code >=", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeLessThan(String value) { addCriterion("product_sku_code <", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeLessThanOrEqualTo(String value) { addCriterion("product_sku_code <=", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeLike(String value) { addCriterion("product_sku_code like", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeNotLike(String value) { addCriterion("product_sku_code not like", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeIn(List values) { addCriterion("product_sku_code in", values, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeNotIn(List values) { addCriterion("product_sku_code not in", values, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeBetween(String value1, String value2) { addCriterion("product_sku_code between", value1, value2, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeNotBetween(String value1, String value2) { addCriterion("product_sku_code not between", value1, value2, "productSkuCode"); return (Criteria) this; } public Criteria andMemberNicknameIsNull() { addCriterion("member_nickname is null"); return (Criteria) this; } public Criteria andMemberNicknameIsNotNull() { addCriterion("member_nickname is not null"); return (Criteria) this; } public Criteria andMemberNicknameEqualTo(String value) { addCriterion("member_nickname =", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameNotEqualTo(String value) { addCriterion("member_nickname <>", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameGreaterThan(String value) { addCriterion("member_nickname >", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameGreaterThanOrEqualTo(String value) { addCriterion("member_nickname >=", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameLessThan(String value) { addCriterion("member_nickname <", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameLessThanOrEqualTo(String value) { addCriterion("member_nickname <=", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameLike(String value) { addCriterion("member_nickname like", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameNotLike(String value) { addCriterion("member_nickname not like", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameIn(List values) { addCriterion("member_nickname in", values, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameNotIn(List values) { addCriterion("member_nickname not in", values, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameBetween(String value1, String value2) { addCriterion("member_nickname between", value1, value2, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameNotBetween(String value1, String value2) { addCriterion("member_nickname not between", value1, value2, "memberNickname"); return (Criteria) this; } public Criteria andCreateDateIsNull() { addCriterion("create_date is null"); return (Criteria) this; } public Criteria andCreateDateIsNotNull() { addCriterion("create_date is not null"); return (Criteria) this; } public Criteria andCreateDateEqualTo(Date value) { addCriterion("create_date =", value, "createDate"); return (Criteria) this; } public Criteria andCreateDateNotEqualTo(Date value) { addCriterion("create_date <>", value, "createDate"); return (Criteria) this; } public Criteria andCreateDateGreaterThan(Date value) { addCriterion("create_date >", value, "createDate"); return (Criteria) this; } public Criteria andCreateDateGreaterThanOrEqualTo(Date value) { addCriterion("create_date >=", value, "createDate"); return (Criteria) this; } public Criteria andCreateDateLessThan(Date value) { addCriterion("create_date <", value, "createDate"); return (Criteria) this; } public Criteria andCreateDateLessThanOrEqualTo(Date value) { addCriterion("create_date <=", value, "createDate"); return (Criteria) this; } public Criteria andCreateDateIn(List values) { addCriterion("create_date in", values, "createDate"); return (Criteria) this; } public Criteria andCreateDateNotIn(List values) { addCriterion("create_date not in", values, "createDate"); return (Criteria) this; } public Criteria andCreateDateBetween(Date value1, Date value2) { addCriterion("create_date between", value1, value2, "createDate"); return (Criteria) this; } public Criteria andCreateDateNotBetween(Date value1, Date value2) { addCriterion("create_date not between", value1, value2, "createDate"); return (Criteria) this; } public Criteria andModifyDateIsNull() { addCriterion("modify_date is null"); return (Criteria) this; } public Criteria andModifyDateIsNotNull() { addCriterion("modify_date is not null"); return (Criteria) this; } public Criteria andModifyDateEqualTo(Date value) { addCriterion("modify_date =", value, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateNotEqualTo(Date value) { addCriterion("modify_date <>", value, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateGreaterThan(Date value) { addCriterion("modify_date >", value, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateGreaterThanOrEqualTo(Date value) { addCriterion("modify_date >=", value, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateLessThan(Date value) { addCriterion("modify_date <", value, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateLessThanOrEqualTo(Date value) { addCriterion("modify_date <=", value, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateIn(List values) { addCriterion("modify_date in", values, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateNotIn(List values) { addCriterion("modify_date not in", values, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateBetween(Date value1, Date value2) { addCriterion("modify_date between", value1, value2, "modifyDate"); return (Criteria) this; } public Criteria andModifyDateNotBetween(Date value1, Date value2) { addCriterion("modify_date not between", value1, value2, "modifyDate"); return (Criteria) this; } public Criteria andDeleteStatusIsNull() { addCriterion("delete_status is null"); return (Criteria) this; } public Criteria andDeleteStatusIsNotNull() { addCriterion("delete_status is not null"); return (Criteria) this; } public Criteria andDeleteStatusEqualTo(Integer value) { addCriterion("delete_status =", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotEqualTo(Integer value) { addCriterion("delete_status <>", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusGreaterThan(Integer value) { addCriterion("delete_status >", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusGreaterThanOrEqualTo(Integer value) { addCriterion("delete_status >=", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusLessThan(Integer value) { addCriterion("delete_status <", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusLessThanOrEqualTo(Integer value) { addCriterion("delete_status <=", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusIn(List values) { addCriterion("delete_status in", values, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotIn(List values) { addCriterion("delete_status not in", values, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusBetween(Integer value1, Integer value2) { addCriterion("delete_status between", value1, value2, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotBetween(Integer value1, Integer value2) { addCriterion("delete_status not between", value1, value2, "deleteStatus"); return (Criteria) this; } public Criteria andProductCategoryIdIsNull() { addCriterion("product_category_id is null"); return (Criteria) this; } public Criteria andProductCategoryIdIsNotNull() { addCriterion("product_category_id is not null"); return (Criteria) this; } public Criteria andProductCategoryIdEqualTo(Long value) { addCriterion("product_category_id =", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotEqualTo(Long value) { addCriterion("product_category_id <>", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThan(Long value) { addCriterion("product_category_id >", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("product_category_id >=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThan(Long value) { addCriterion("product_category_id <", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) { addCriterion("product_category_id <=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdIn(List values) { addCriterion("product_category_id in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotIn(List values) { addCriterion("product_category_id not in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdBetween(Long value1, Long value2) { addCriterion("product_category_id between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) { addCriterion("product_category_id not between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductBrandIsNull() { addCriterion("product_brand is null"); return (Criteria) this; } public Criteria andProductBrandIsNotNull() { addCriterion("product_brand is not null"); return (Criteria) this; } public Criteria andProductBrandEqualTo(String value) { addCriterion("product_brand =", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotEqualTo(String value) { addCriterion("product_brand <>", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandGreaterThan(String value) { addCriterion("product_brand >", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandGreaterThanOrEqualTo(String value) { addCriterion("product_brand >=", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLessThan(String value) { addCriterion("product_brand <", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLessThanOrEqualTo(String value) { addCriterion("product_brand <=", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLike(String value) { addCriterion("product_brand like", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotLike(String value) { addCriterion("product_brand not like", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandIn(List values) { addCriterion("product_brand in", values, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotIn(List values) { addCriterion("product_brand not in", values, "productBrand"); return (Criteria) this; } public Criteria andProductBrandBetween(String value1, String value2) { addCriterion("product_brand between", value1, value2, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotBetween(String value1, String value2) { addCriterion("product_brand not between", value1, value2, "productBrand"); return (Criteria) this; } public Criteria andProductSnIsNull() { addCriterion("product_sn is null"); return (Criteria) this; } public Criteria andProductSnIsNotNull() { addCriterion("product_sn is not null"); return (Criteria) this; } public Criteria andProductSnEqualTo(String value) { addCriterion("product_sn =", value, "productSn"); return (Criteria) this; } public Criteria andProductSnNotEqualTo(String value) { addCriterion("product_sn <>", value, "productSn"); return (Criteria) this; } public Criteria andProductSnGreaterThan(String value) { addCriterion("product_sn >", value, "productSn"); return (Criteria) this; } public Criteria andProductSnGreaterThanOrEqualTo(String value) { addCriterion("product_sn >=", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLessThan(String value) { addCriterion("product_sn <", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLessThanOrEqualTo(String value) { addCriterion("product_sn <=", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLike(String value) { addCriterion("product_sn like", value, "productSn"); return (Criteria) this; } public Criteria andProductSnNotLike(String value) { addCriterion("product_sn not like", value, "productSn"); return (Criteria) this; } public Criteria andProductSnIn(List values) { addCriterion("product_sn in", values, "productSn"); return (Criteria) this; } public Criteria andProductSnNotIn(List values) { addCriterion("product_sn not in", values, "productSn"); return (Criteria) this; } public Criteria andProductSnBetween(String value1, String value2) { addCriterion("product_sn between", value1, value2, "productSn"); return (Criteria) this; } public Criteria andProductSnNotBetween(String value1, String value2) { addCriterion("product_sn not between", value1, value2, "productSn"); return (Criteria) this; } public Criteria andProductAttrIsNull() { addCriterion("product_attr is null"); return (Criteria) this; } public Criteria andProductAttrIsNotNull() { addCriterion("product_attr is not null"); return (Criteria) this; } public Criteria andProductAttrEqualTo(String value) { addCriterion("product_attr =", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotEqualTo(String value) { addCriterion("product_attr <>", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrGreaterThan(String value) { addCriterion("product_attr >", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrGreaterThanOrEqualTo(String value) { addCriterion("product_attr >=", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLessThan(String value) { addCriterion("product_attr <", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLessThanOrEqualTo(String value) { addCriterion("product_attr <=", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLike(String value) { addCriterion("product_attr like", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotLike(String value) { addCriterion("product_attr not like", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrIn(List values) { addCriterion("product_attr in", values, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotIn(List values) { addCriterion("product_attr not in", values, "productAttr"); return (Criteria) this; } public Criteria andProductAttrBetween(String value1, String value2) { addCriterion("product_attr between", value1, value2, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotBetween(String value1, String value2) { addCriterion("product_attr not between", value1, value2, "productAttr"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsCompanyAddress.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class OmsCompanyAddress implements Serializable { private Long id; @Schema(title = "地址名称") private String addressName; @Schema(title = "默认发货地址:0->否;1->是") private Integer sendStatus; @Schema(title = "是否默认收货地址:0->否;1->是") private Integer receiveStatus; @Schema(title = "收发货人姓名") private String name; @Schema(title = "收货人电话") private String phone; @Schema(title = "省/直辖市") private String province; @Schema(title = "市") private String city; @Schema(title = "区") private String region; @Schema(title = "详细地址") private String detailAddress; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getAddressName() { return addressName; } public void setAddressName(String addressName) { this.addressName = addressName; } public Integer getSendStatus() { return sendStatus; } public void setSendStatus(Integer sendStatus) { this.sendStatus = sendStatus; } public Integer getReceiveStatus() { return receiveStatus; } public void setReceiveStatus(Integer receiveStatus) { this.receiveStatus = receiveStatus; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public String getDetailAddress() { return detailAddress; } public void setDetailAddress(String detailAddress) { this.detailAddress = detailAddress; } @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(", addressName=").append(addressName); sb.append(", sendStatus=").append(sendStatus); sb.append(", receiveStatus=").append(receiveStatus); sb.append(", name=").append(name); sb.append(", phone=").append(phone); sb.append(", province=").append(province); sb.append(", city=").append(city); sb.append(", region=").append(region); sb.append(", detailAddress=").append(detailAddress); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsCompanyAddressExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class OmsCompanyAddressExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public OmsCompanyAddressExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andAddressNameIsNull() { addCriterion("address_name is null"); return (Criteria) this; } public Criteria andAddressNameIsNotNull() { addCriterion("address_name is not null"); return (Criteria) this; } public Criteria andAddressNameEqualTo(String value) { addCriterion("address_name =", value, "addressName"); return (Criteria) this; } public Criteria andAddressNameNotEqualTo(String value) { addCriterion("address_name <>", value, "addressName"); return (Criteria) this; } public Criteria andAddressNameGreaterThan(String value) { addCriterion("address_name >", value, "addressName"); return (Criteria) this; } public Criteria andAddressNameGreaterThanOrEqualTo(String value) { addCriterion("address_name >=", value, "addressName"); return (Criteria) this; } public Criteria andAddressNameLessThan(String value) { addCriterion("address_name <", value, "addressName"); return (Criteria) this; } public Criteria andAddressNameLessThanOrEqualTo(String value) { addCriterion("address_name <=", value, "addressName"); return (Criteria) this; } public Criteria andAddressNameLike(String value) { addCriterion("address_name like", value, "addressName"); return (Criteria) this; } public Criteria andAddressNameNotLike(String value) { addCriterion("address_name not like", value, "addressName"); return (Criteria) this; } public Criteria andAddressNameIn(List values) { addCriterion("address_name in", values, "addressName"); return (Criteria) this; } public Criteria andAddressNameNotIn(List values) { addCriterion("address_name not in", values, "addressName"); return (Criteria) this; } public Criteria andAddressNameBetween(String value1, String value2) { addCriterion("address_name between", value1, value2, "addressName"); return (Criteria) this; } public Criteria andAddressNameNotBetween(String value1, String value2) { addCriterion("address_name not between", value1, value2, "addressName"); return (Criteria) this; } public Criteria andSendStatusIsNull() { addCriterion("send_status is null"); return (Criteria) this; } public Criteria andSendStatusIsNotNull() { addCriterion("send_status is not null"); return (Criteria) this; } public Criteria andSendStatusEqualTo(Integer value) { addCriterion("send_status =", value, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusNotEqualTo(Integer value) { addCriterion("send_status <>", value, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusGreaterThan(Integer value) { addCriterion("send_status >", value, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusGreaterThanOrEqualTo(Integer value) { addCriterion("send_status >=", value, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusLessThan(Integer value) { addCriterion("send_status <", value, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusLessThanOrEqualTo(Integer value) { addCriterion("send_status <=", value, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusIn(List values) { addCriterion("send_status in", values, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusNotIn(List values) { addCriterion("send_status not in", values, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusBetween(Integer value1, Integer value2) { addCriterion("send_status between", value1, value2, "sendStatus"); return (Criteria) this; } public Criteria andSendStatusNotBetween(Integer value1, Integer value2) { addCriterion("send_status not between", value1, value2, "sendStatus"); return (Criteria) this; } public Criteria andReceiveStatusIsNull() { addCriterion("receive_status is null"); return (Criteria) this; } public Criteria andReceiveStatusIsNotNull() { addCriterion("receive_status is not null"); return (Criteria) this; } public Criteria andReceiveStatusEqualTo(Integer value) { addCriterion("receive_status =", value, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusNotEqualTo(Integer value) { addCriterion("receive_status <>", value, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusGreaterThan(Integer value) { addCriterion("receive_status >", value, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusGreaterThanOrEqualTo(Integer value) { addCriterion("receive_status >=", value, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusLessThan(Integer value) { addCriterion("receive_status <", value, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusLessThanOrEqualTo(Integer value) { addCriterion("receive_status <=", value, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusIn(List values) { addCriterion("receive_status in", values, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusNotIn(List values) { addCriterion("receive_status not in", values, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusBetween(Integer value1, Integer value2) { addCriterion("receive_status between", value1, value2, "receiveStatus"); return (Criteria) this; } public Criteria andReceiveStatusNotBetween(Integer value1, Integer value2) { addCriterion("receive_status not between", value1, value2, "receiveStatus"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andPhoneIsNull() { addCriterion("phone is null"); return (Criteria) this; } public Criteria andPhoneIsNotNull() { addCriterion("phone is not null"); return (Criteria) this; } public Criteria andPhoneEqualTo(String value) { addCriterion("phone =", value, "phone"); return (Criteria) this; } public Criteria andPhoneNotEqualTo(String value) { addCriterion("phone <>", value, "phone"); return (Criteria) this; } public Criteria andPhoneGreaterThan(String value) { addCriterion("phone >", value, "phone"); return (Criteria) this; } public Criteria andPhoneGreaterThanOrEqualTo(String value) { addCriterion("phone >=", value, "phone"); return (Criteria) this; } public Criteria andPhoneLessThan(String value) { addCriterion("phone <", value, "phone"); return (Criteria) this; } public Criteria andPhoneLessThanOrEqualTo(String value) { addCriterion("phone <=", value, "phone"); return (Criteria) this; } public Criteria andPhoneLike(String value) { addCriterion("phone like", value, "phone"); return (Criteria) this; } public Criteria andPhoneNotLike(String value) { addCriterion("phone not like", value, "phone"); return (Criteria) this; } public Criteria andPhoneIn(List values) { addCriterion("phone in", values, "phone"); return (Criteria) this; } public Criteria andPhoneNotIn(List values) { addCriterion("phone not in", values, "phone"); return (Criteria) this; } public Criteria andPhoneBetween(String value1, String value2) { addCriterion("phone between", value1, value2, "phone"); return (Criteria) this; } public Criteria andPhoneNotBetween(String value1, String value2) { addCriterion("phone not between", value1, value2, "phone"); return (Criteria) this; } public Criteria andProvinceIsNull() { addCriterion("province is null"); return (Criteria) this; } public Criteria andProvinceIsNotNull() { addCriterion("province is not null"); return (Criteria) this; } public Criteria andProvinceEqualTo(String value) { addCriterion("province =", value, "province"); return (Criteria) this; } public Criteria andProvinceNotEqualTo(String value) { addCriterion("province <>", value, "province"); return (Criteria) this; } public Criteria andProvinceGreaterThan(String value) { addCriterion("province >", value, "province"); return (Criteria) this; } public Criteria andProvinceGreaterThanOrEqualTo(String value) { addCriterion("province >=", value, "province"); return (Criteria) this; } public Criteria andProvinceLessThan(String value) { addCriterion("province <", value, "province"); return (Criteria) this; } public Criteria andProvinceLessThanOrEqualTo(String value) { addCriterion("province <=", value, "province"); return (Criteria) this; } public Criteria andProvinceLike(String value) { addCriterion("province like", value, "province"); return (Criteria) this; } public Criteria andProvinceNotLike(String value) { addCriterion("province not like", value, "province"); return (Criteria) this; } public Criteria andProvinceIn(List values) { addCriterion("province in", values, "province"); return (Criteria) this; } public Criteria andProvinceNotIn(List values) { addCriterion("province not in", values, "province"); return (Criteria) this; } public Criteria andProvinceBetween(String value1, String value2) { addCriterion("province between", value1, value2, "province"); return (Criteria) this; } public Criteria andProvinceNotBetween(String value1, String value2) { addCriterion("province not between", value1, value2, "province"); return (Criteria) this; } public Criteria andCityIsNull() { addCriterion("city is null"); return (Criteria) this; } public Criteria andCityIsNotNull() { addCriterion("city is not null"); return (Criteria) this; } public Criteria andCityEqualTo(String value) { addCriterion("city =", value, "city"); return (Criteria) this; } public Criteria andCityNotEqualTo(String value) { addCriterion("city <>", value, "city"); return (Criteria) this; } public Criteria andCityGreaterThan(String value) { addCriterion("city >", value, "city"); return (Criteria) this; } public Criteria andCityGreaterThanOrEqualTo(String value) { addCriterion("city >=", value, "city"); return (Criteria) this; } public Criteria andCityLessThan(String value) { addCriterion("city <", value, "city"); return (Criteria) this; } public Criteria andCityLessThanOrEqualTo(String value) { addCriterion("city <=", value, "city"); return (Criteria) this; } public Criteria andCityLike(String value) { addCriterion("city like", value, "city"); return (Criteria) this; } public Criteria andCityNotLike(String value) { addCriterion("city not like", value, "city"); return (Criteria) this; } public Criteria andCityIn(List values) { addCriterion("city in", values, "city"); return (Criteria) this; } public Criteria andCityNotIn(List values) { addCriterion("city not in", values, "city"); return (Criteria) this; } public Criteria andCityBetween(String value1, String value2) { addCriterion("city between", value1, value2, "city"); return (Criteria) this; } public Criteria andCityNotBetween(String value1, String value2) { addCriterion("city not between", value1, value2, "city"); return (Criteria) this; } public Criteria andRegionIsNull() { addCriterion("region is null"); return (Criteria) this; } public Criteria andRegionIsNotNull() { addCriterion("region is not null"); return (Criteria) this; } public Criteria andRegionEqualTo(String value) { addCriterion("region =", value, "region"); return (Criteria) this; } public Criteria andRegionNotEqualTo(String value) { addCriterion("region <>", value, "region"); return (Criteria) this; } public Criteria andRegionGreaterThan(String value) { addCriterion("region >", value, "region"); return (Criteria) this; } public Criteria andRegionGreaterThanOrEqualTo(String value) { addCriterion("region >=", value, "region"); return (Criteria) this; } public Criteria andRegionLessThan(String value) { addCriterion("region <", value, "region"); return (Criteria) this; } public Criteria andRegionLessThanOrEqualTo(String value) { addCriterion("region <=", value, "region"); return (Criteria) this; } public Criteria andRegionLike(String value) { addCriterion("region like", value, "region"); return (Criteria) this; } public Criteria andRegionNotLike(String value) { addCriterion("region not like", value, "region"); return (Criteria) this; } public Criteria andRegionIn(List values) { addCriterion("region in", values, "region"); return (Criteria) this; } public Criteria andRegionNotIn(List values) { addCriterion("region not in", values, "region"); return (Criteria) this; } public Criteria andRegionBetween(String value1, String value2) { addCriterion("region between", value1, value2, "region"); return (Criteria) this; } public Criteria andRegionNotBetween(String value1, String value2) { addCriterion("region not between", value1, value2, "region"); return (Criteria) this; } public Criteria andDetailAddressIsNull() { addCriterion("detail_address is null"); return (Criteria) this; } public Criteria andDetailAddressIsNotNull() { addCriterion("detail_address is not null"); return (Criteria) this; } public Criteria andDetailAddressEqualTo(String value) { addCriterion("detail_address =", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressNotEqualTo(String value) { addCriterion("detail_address <>", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressGreaterThan(String value) { addCriterion("detail_address >", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressGreaterThanOrEqualTo(String value) { addCriterion("detail_address >=", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressLessThan(String value) { addCriterion("detail_address <", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressLessThanOrEqualTo(String value) { addCriterion("detail_address <=", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressLike(String value) { addCriterion("detail_address like", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressNotLike(String value) { addCriterion("detail_address not like", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressIn(List values) { addCriterion("detail_address in", values, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressNotIn(List values) { addCriterion("detail_address not in", values, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressBetween(String value1, String value2) { addCriterion("detail_address between", value1, value2, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressNotBetween(String value1, String value2) { addCriterion("detail_address not between", value1, value2, "detailAddress"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrder.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; public class OmsOrder implements Serializable { @Schema(title = "订单id") private Long id; private Long memberId; private Long couponId; @Schema(title = "订单编号") private String orderSn; @Schema(title = "提交时间") private Date createTime; @Schema(title = "用户帐号") private String memberUsername; @Schema(title = "订单总金额") private BigDecimal totalAmount; @Schema(title = "应付金额(实际支付金额)") private BigDecimal payAmount; @Schema(title = "运费金额") private BigDecimal freightAmount; @Schema(title = "促销优化金额(促销价、满减、阶梯价)") private BigDecimal promotionAmount; @Schema(title = "积分抵扣金额") private BigDecimal integrationAmount; @Schema(title = "优惠券抵扣金额") private BigDecimal couponAmount; @Schema(title = "管理员后台调整订单使用的折扣金额") private BigDecimal discountAmount; @Schema(title = "支付方式:0->未支付;1->支付宝;2->微信") private Integer payType; @Schema(title = "订单来源:0->PC订单;1->app订单") private Integer sourceType; @Schema(title = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单") private Integer status; @Schema(title = "订单类型:0->正常订单;1->秒杀订单") private Integer orderType; @Schema(title = "物流公司(配送方式)") private String deliveryCompany; @Schema(title = "物流单号") private String deliverySn; @Schema(title = "自动确认时间(天)") private Integer autoConfirmDay; @Schema(title = "可以获得的积分") private Integer integration; @Schema(title = "可以活动的成长值") private Integer growth; @Schema(title = "活动信息") private String promotionInfo; @Schema(title = "发票类型:0->不开发票;1->电子发票;2->纸质发票") private Integer billType; @Schema(title = "发票抬头") private String billHeader; @Schema(title = "发票内容") private String billContent; @Schema(title = "收票人电话") private String billReceiverPhone; @Schema(title = "收票人邮箱") private String billReceiverEmail; @Schema(title = "收货人姓名") private String receiverName; @Schema(title = "收货人电话") private String receiverPhone; @Schema(title = "收货人邮编") private String receiverPostCode; @Schema(title = "省份/直辖市") private String receiverProvince; @Schema(title = "城市") private String receiverCity; @Schema(title = "区") private String receiverRegion; @Schema(title = "详细地址") private String receiverDetailAddress; @Schema(title = "订单备注") private String note; @Schema(title = "确认收货状态:0->未确认;1->已确认") private Integer confirmStatus; @Schema(title = "删除状态:0->未删除;1->已删除") private Integer deleteStatus; @Schema(title = "下单时使用的积分") private Integer useIntegration; @Schema(title = "支付时间") private Date paymentTime; @Schema(title = "发货时间") private Date deliveryTime; @Schema(title = "确认收货时间") private Date receiveTime; @Schema(title = "评价时间") private Date commentTime; @Schema(title = "修改时间") private Date modifyTime; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public Long getCouponId() { return couponId; } public void setCouponId(Long couponId) { this.couponId = couponId; } public String getOrderSn() { return orderSn; } public void setOrderSn(String orderSn) { this.orderSn = orderSn; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getMemberUsername() { return memberUsername; } public void setMemberUsername(String memberUsername) { this.memberUsername = memberUsername; } public BigDecimal getTotalAmount() { return totalAmount; } public void setTotalAmount(BigDecimal totalAmount) { this.totalAmount = totalAmount; } public BigDecimal getPayAmount() { return payAmount; } public void setPayAmount(BigDecimal payAmount) { this.payAmount = payAmount; } public BigDecimal getFreightAmount() { return freightAmount; } public void setFreightAmount(BigDecimal freightAmount) { this.freightAmount = freightAmount; } public BigDecimal getPromotionAmount() { return promotionAmount; } public void setPromotionAmount(BigDecimal promotionAmount) { this.promotionAmount = promotionAmount; } public BigDecimal getIntegrationAmount() { return integrationAmount; } public void setIntegrationAmount(BigDecimal integrationAmount) { this.integrationAmount = integrationAmount; } public BigDecimal getCouponAmount() { return couponAmount; } public void setCouponAmount(BigDecimal couponAmount) { this.couponAmount = couponAmount; } public BigDecimal getDiscountAmount() { return discountAmount; } public void setDiscountAmount(BigDecimal discountAmount) { this.discountAmount = discountAmount; } public Integer getPayType() { return payType; } public void setPayType(Integer payType) { this.payType = payType; } public Integer getSourceType() { return sourceType; } public void setSourceType(Integer sourceType) { this.sourceType = sourceType; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Integer getOrderType() { return orderType; } public void setOrderType(Integer orderType) { this.orderType = orderType; } public String getDeliveryCompany() { return deliveryCompany; } public void setDeliveryCompany(String deliveryCompany) { this.deliveryCompany = deliveryCompany; } public String getDeliverySn() { return deliverySn; } public void setDeliverySn(String deliverySn) { this.deliverySn = deliverySn; } public Integer getAutoConfirmDay() { return autoConfirmDay; } public void setAutoConfirmDay(Integer autoConfirmDay) { this.autoConfirmDay = autoConfirmDay; } public Integer getIntegration() { return integration; } public void setIntegration(Integer integration) { this.integration = integration; } public Integer getGrowth() { return growth; } public void setGrowth(Integer growth) { this.growth = growth; } public String getPromotionInfo() { return promotionInfo; } public void setPromotionInfo(String promotionInfo) { this.promotionInfo = promotionInfo; } public Integer getBillType() { return billType; } public void setBillType(Integer billType) { this.billType = billType; } public String getBillHeader() { return billHeader; } public void setBillHeader(String billHeader) { this.billHeader = billHeader; } public String getBillContent() { return billContent; } public void setBillContent(String billContent) { this.billContent = billContent; } public String getBillReceiverPhone() { return billReceiverPhone; } public void setBillReceiverPhone(String billReceiverPhone) { this.billReceiverPhone = billReceiverPhone; } public String getBillReceiverEmail() { return billReceiverEmail; } public void setBillReceiverEmail(String billReceiverEmail) { this.billReceiverEmail = billReceiverEmail; } public String getReceiverName() { return receiverName; } public void setReceiverName(String receiverName) { this.receiverName = receiverName; } public String getReceiverPhone() { return receiverPhone; } public void setReceiverPhone(String receiverPhone) { this.receiverPhone = receiverPhone; } public String getReceiverPostCode() { return receiverPostCode; } public void setReceiverPostCode(String receiverPostCode) { this.receiverPostCode = receiverPostCode; } public String getReceiverProvince() { return receiverProvince; } public void setReceiverProvince(String receiverProvince) { this.receiverProvince = receiverProvince; } public String getReceiverCity() { return receiverCity; } public void setReceiverCity(String receiverCity) { this.receiverCity = receiverCity; } public String getReceiverRegion() { return receiverRegion; } public void setReceiverRegion(String receiverRegion) { this.receiverRegion = receiverRegion; } public String getReceiverDetailAddress() { return receiverDetailAddress; } public void setReceiverDetailAddress(String receiverDetailAddress) { this.receiverDetailAddress = receiverDetailAddress; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public Integer getConfirmStatus() { return confirmStatus; } public void setConfirmStatus(Integer confirmStatus) { this.confirmStatus = confirmStatus; } public Integer getDeleteStatus() { return deleteStatus; } public void setDeleteStatus(Integer deleteStatus) { this.deleteStatus = deleteStatus; } public Integer getUseIntegration() { return useIntegration; } public void setUseIntegration(Integer useIntegration) { this.useIntegration = useIntegration; } public Date getPaymentTime() { return paymentTime; } public void setPaymentTime(Date paymentTime) { this.paymentTime = paymentTime; } public Date getDeliveryTime() { return deliveryTime; } public void setDeliveryTime(Date deliveryTime) { this.deliveryTime = deliveryTime; } public Date getReceiveTime() { return receiveTime; } public void setReceiveTime(Date receiveTime) { this.receiveTime = receiveTime; } public Date getCommentTime() { return commentTime; } public void setCommentTime(Date commentTime) { this.commentTime = commentTime; } public Date getModifyTime() { return modifyTime; } public void setModifyTime(Date modifyTime) { this.modifyTime = modifyTime; } @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(", memberId=").append(memberId); sb.append(", couponId=").append(couponId); sb.append(", orderSn=").append(orderSn); sb.append(", createTime=").append(createTime); sb.append(", memberUsername=").append(memberUsername); sb.append(", totalAmount=").append(totalAmount); sb.append(", payAmount=").append(payAmount); sb.append(", freightAmount=").append(freightAmount); sb.append(", promotionAmount=").append(promotionAmount); sb.append(", integrationAmount=").append(integrationAmount); sb.append(", couponAmount=").append(couponAmount); sb.append(", discountAmount=").append(discountAmount); sb.append(", payType=").append(payType); sb.append(", sourceType=").append(sourceType); sb.append(", status=").append(status); sb.append(", orderType=").append(orderType); sb.append(", deliveryCompany=").append(deliveryCompany); sb.append(", deliverySn=").append(deliverySn); sb.append(", autoConfirmDay=").append(autoConfirmDay); sb.append(", integration=").append(integration); sb.append(", growth=").append(growth); sb.append(", promotionInfo=").append(promotionInfo); sb.append(", billType=").append(billType); sb.append(", billHeader=").append(billHeader); sb.append(", billContent=").append(billContent); sb.append(", billReceiverPhone=").append(billReceiverPhone); sb.append(", billReceiverEmail=").append(billReceiverEmail); sb.append(", receiverName=").append(receiverName); sb.append(", receiverPhone=").append(receiverPhone); sb.append(", receiverPostCode=").append(receiverPostCode); sb.append(", receiverProvince=").append(receiverProvince); sb.append(", receiverCity=").append(receiverCity); sb.append(", receiverRegion=").append(receiverRegion); sb.append(", receiverDetailAddress=").append(receiverDetailAddress); sb.append(", note=").append(note); sb.append(", confirmStatus=").append(confirmStatus); sb.append(", deleteStatus=").append(deleteStatus); sb.append(", useIntegration=").append(useIntegration); sb.append(", paymentTime=").append(paymentTime); sb.append(", deliveryTime=").append(deliveryTime); sb.append(", receiveTime=").append(receiveTime); sb.append(", commentTime=").append(commentTime); sb.append(", modifyTime=").append(modifyTime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; public class OmsOrderExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public OmsOrderExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andCouponIdIsNull() { addCriterion("coupon_id is null"); return (Criteria) this; } public Criteria andCouponIdIsNotNull() { addCriterion("coupon_id is not null"); return (Criteria) this; } public Criteria andCouponIdEqualTo(Long value) { addCriterion("coupon_id =", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotEqualTo(Long value) { addCriterion("coupon_id <>", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdGreaterThan(Long value) { addCriterion("coupon_id >", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdGreaterThanOrEqualTo(Long value) { addCriterion("coupon_id >=", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdLessThan(Long value) { addCriterion("coupon_id <", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdLessThanOrEqualTo(Long value) { addCriterion("coupon_id <=", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdIn(List values) { addCriterion("coupon_id in", values, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotIn(List values) { addCriterion("coupon_id not in", values, "couponId"); return (Criteria) this; } public Criteria andCouponIdBetween(Long value1, Long value2) { addCriterion("coupon_id between", value1, value2, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotBetween(Long value1, Long value2) { addCriterion("coupon_id not between", value1, value2, "couponId"); return (Criteria) this; } public Criteria andOrderSnIsNull() { addCriterion("order_sn is null"); return (Criteria) this; } public Criteria andOrderSnIsNotNull() { addCriterion("order_sn is not null"); return (Criteria) this; } public Criteria andOrderSnEqualTo(String value) { addCriterion("order_sn =", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotEqualTo(String value) { addCriterion("order_sn <>", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnGreaterThan(String value) { addCriterion("order_sn >", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnGreaterThanOrEqualTo(String value) { addCriterion("order_sn >=", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLessThan(String value) { addCriterion("order_sn <", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLessThanOrEqualTo(String value) { addCriterion("order_sn <=", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLike(String value) { addCriterion("order_sn like", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotLike(String value) { addCriterion("order_sn not like", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnIn(List values) { addCriterion("order_sn in", values, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotIn(List values) { addCriterion("order_sn not in", values, "orderSn"); return (Criteria) this; } public Criteria andOrderSnBetween(String value1, String value2) { addCriterion("order_sn between", value1, value2, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotBetween(String value1, String value2) { addCriterion("order_sn not between", value1, value2, "orderSn"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andMemberUsernameIsNull() { addCriterion("member_username is null"); return (Criteria) this; } public Criteria andMemberUsernameIsNotNull() { addCriterion("member_username is not null"); return (Criteria) this; } public Criteria andMemberUsernameEqualTo(String value) { addCriterion("member_username =", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameNotEqualTo(String value) { addCriterion("member_username <>", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameGreaterThan(String value) { addCriterion("member_username >", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameGreaterThanOrEqualTo(String value) { addCriterion("member_username >=", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameLessThan(String value) { addCriterion("member_username <", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameLessThanOrEqualTo(String value) { addCriterion("member_username <=", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameLike(String value) { addCriterion("member_username like", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameNotLike(String value) { addCriterion("member_username not like", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameIn(List values) { addCriterion("member_username in", values, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameNotIn(List values) { addCriterion("member_username not in", values, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameBetween(String value1, String value2) { addCriterion("member_username between", value1, value2, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameNotBetween(String value1, String value2) { addCriterion("member_username not between", value1, value2, "memberUsername"); return (Criteria) this; } public Criteria andTotalAmountIsNull() { addCriterion("total_amount is null"); return (Criteria) this; } public Criteria andTotalAmountIsNotNull() { addCriterion("total_amount is not null"); return (Criteria) this; } public Criteria andTotalAmountEqualTo(BigDecimal value) { addCriterion("total_amount =", value, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountNotEqualTo(BigDecimal value) { addCriterion("total_amount <>", value, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountGreaterThan(BigDecimal value) { addCriterion("total_amount >", value, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("total_amount >=", value, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountLessThan(BigDecimal value) { addCriterion("total_amount <", value, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("total_amount <=", value, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountIn(List values) { addCriterion("total_amount in", values, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountNotIn(List values) { addCriterion("total_amount not in", values, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("total_amount between", value1, value2, "totalAmount"); return (Criteria) this; } public Criteria andTotalAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("total_amount not between", value1, value2, "totalAmount"); return (Criteria) this; } public Criteria andPayAmountIsNull() { addCriterion("pay_amount is null"); return (Criteria) this; } public Criteria andPayAmountIsNotNull() { addCriterion("pay_amount is not null"); return (Criteria) this; } public Criteria andPayAmountEqualTo(BigDecimal value) { addCriterion("pay_amount =", value, "payAmount"); return (Criteria) this; } public Criteria andPayAmountNotEqualTo(BigDecimal value) { addCriterion("pay_amount <>", value, "payAmount"); return (Criteria) this; } public Criteria andPayAmountGreaterThan(BigDecimal value) { addCriterion("pay_amount >", value, "payAmount"); return (Criteria) this; } public Criteria andPayAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("pay_amount >=", value, "payAmount"); return (Criteria) this; } public Criteria andPayAmountLessThan(BigDecimal value) { addCriterion("pay_amount <", value, "payAmount"); return (Criteria) this; } public Criteria andPayAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("pay_amount <=", value, "payAmount"); return (Criteria) this; } public Criteria andPayAmountIn(List values) { addCriterion("pay_amount in", values, "payAmount"); return (Criteria) this; } public Criteria andPayAmountNotIn(List values) { addCriterion("pay_amount not in", values, "payAmount"); return (Criteria) this; } public Criteria andPayAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("pay_amount between", value1, value2, "payAmount"); return (Criteria) this; } public Criteria andPayAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("pay_amount not between", value1, value2, "payAmount"); return (Criteria) this; } public Criteria andFreightAmountIsNull() { addCriterion("freight_amount is null"); return (Criteria) this; } public Criteria andFreightAmountIsNotNull() { addCriterion("freight_amount is not null"); return (Criteria) this; } public Criteria andFreightAmountEqualTo(BigDecimal value) { addCriterion("freight_amount =", value, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountNotEqualTo(BigDecimal value) { addCriterion("freight_amount <>", value, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountGreaterThan(BigDecimal value) { addCriterion("freight_amount >", value, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("freight_amount >=", value, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountLessThan(BigDecimal value) { addCriterion("freight_amount <", value, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("freight_amount <=", value, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountIn(List values) { addCriterion("freight_amount in", values, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountNotIn(List values) { addCriterion("freight_amount not in", values, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("freight_amount between", value1, value2, "freightAmount"); return (Criteria) this; } public Criteria andFreightAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("freight_amount not between", value1, value2, "freightAmount"); return (Criteria) this; } public Criteria andPromotionAmountIsNull() { addCriterion("promotion_amount is null"); return (Criteria) this; } public Criteria andPromotionAmountIsNotNull() { addCriterion("promotion_amount is not null"); return (Criteria) this; } public Criteria andPromotionAmountEqualTo(BigDecimal value) { addCriterion("promotion_amount =", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountNotEqualTo(BigDecimal value) { addCriterion("promotion_amount <>", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountGreaterThan(BigDecimal value) { addCriterion("promotion_amount >", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("promotion_amount >=", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountLessThan(BigDecimal value) { addCriterion("promotion_amount <", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("promotion_amount <=", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountIn(List values) { addCriterion("promotion_amount in", values, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountNotIn(List values) { addCriterion("promotion_amount not in", values, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("promotion_amount between", value1, value2, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("promotion_amount not between", value1, value2, "promotionAmount"); return (Criteria) this; } public Criteria andIntegrationAmountIsNull() { addCriterion("integration_amount is null"); return (Criteria) this; } public Criteria andIntegrationAmountIsNotNull() { addCriterion("integration_amount is not null"); return (Criteria) this; } public Criteria andIntegrationAmountEqualTo(BigDecimal value) { addCriterion("integration_amount =", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountNotEqualTo(BigDecimal value) { addCriterion("integration_amount <>", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountGreaterThan(BigDecimal value) { addCriterion("integration_amount >", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("integration_amount >=", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountLessThan(BigDecimal value) { addCriterion("integration_amount <", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("integration_amount <=", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountIn(List values) { addCriterion("integration_amount in", values, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountNotIn(List values) { addCriterion("integration_amount not in", values, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("integration_amount between", value1, value2, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("integration_amount not between", value1, value2, "integrationAmount"); return (Criteria) this; } public Criteria andCouponAmountIsNull() { addCriterion("coupon_amount is null"); return (Criteria) this; } public Criteria andCouponAmountIsNotNull() { addCriterion("coupon_amount is not null"); return (Criteria) this; } public Criteria andCouponAmountEqualTo(BigDecimal value) { addCriterion("coupon_amount =", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountNotEqualTo(BigDecimal value) { addCriterion("coupon_amount <>", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountGreaterThan(BigDecimal value) { addCriterion("coupon_amount >", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("coupon_amount >=", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountLessThan(BigDecimal value) { addCriterion("coupon_amount <", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("coupon_amount <=", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountIn(List values) { addCriterion("coupon_amount in", values, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountNotIn(List values) { addCriterion("coupon_amount not in", values, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("coupon_amount between", value1, value2, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("coupon_amount not between", value1, value2, "couponAmount"); return (Criteria) this; } public Criteria andDiscountAmountIsNull() { addCriterion("discount_amount is null"); return (Criteria) this; } public Criteria andDiscountAmountIsNotNull() { addCriterion("discount_amount is not null"); return (Criteria) this; } public Criteria andDiscountAmountEqualTo(BigDecimal value) { addCriterion("discount_amount =", value, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountNotEqualTo(BigDecimal value) { addCriterion("discount_amount <>", value, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountGreaterThan(BigDecimal value) { addCriterion("discount_amount >", value, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("discount_amount >=", value, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountLessThan(BigDecimal value) { addCriterion("discount_amount <", value, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("discount_amount <=", value, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountIn(List values) { addCriterion("discount_amount in", values, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountNotIn(List values) { addCriterion("discount_amount not in", values, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("discount_amount between", value1, value2, "discountAmount"); return (Criteria) this; } public Criteria andDiscountAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("discount_amount not between", value1, value2, "discountAmount"); return (Criteria) this; } public Criteria andPayTypeIsNull() { addCriterion("pay_type is null"); return (Criteria) this; } public Criteria andPayTypeIsNotNull() { addCriterion("pay_type is not null"); return (Criteria) this; } public Criteria andPayTypeEqualTo(Integer value) { addCriterion("pay_type =", value, "payType"); return (Criteria) this; } public Criteria andPayTypeNotEqualTo(Integer value) { addCriterion("pay_type <>", value, "payType"); return (Criteria) this; } public Criteria andPayTypeGreaterThan(Integer value) { addCriterion("pay_type >", value, "payType"); return (Criteria) this; } public Criteria andPayTypeGreaterThanOrEqualTo(Integer value) { addCriterion("pay_type >=", value, "payType"); return (Criteria) this; } public Criteria andPayTypeLessThan(Integer value) { addCriterion("pay_type <", value, "payType"); return (Criteria) this; } public Criteria andPayTypeLessThanOrEqualTo(Integer value) { addCriterion("pay_type <=", value, "payType"); return (Criteria) this; } public Criteria andPayTypeIn(List values) { addCriterion("pay_type in", values, "payType"); return (Criteria) this; } public Criteria andPayTypeNotIn(List values) { addCriterion("pay_type not in", values, "payType"); return (Criteria) this; } public Criteria andPayTypeBetween(Integer value1, Integer value2) { addCriterion("pay_type between", value1, value2, "payType"); return (Criteria) this; } public Criteria andPayTypeNotBetween(Integer value1, Integer value2) { addCriterion("pay_type not between", value1, value2, "payType"); return (Criteria) this; } public Criteria andSourceTypeIsNull() { addCriterion("source_type is null"); return (Criteria) this; } public Criteria andSourceTypeIsNotNull() { addCriterion("source_type is not null"); return (Criteria) this; } public Criteria andSourceTypeEqualTo(Integer value) { addCriterion("source_type =", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotEqualTo(Integer value) { addCriterion("source_type <>", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeGreaterThan(Integer value) { addCriterion("source_type >", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) { addCriterion("source_type >=", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeLessThan(Integer value) { addCriterion("source_type <", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeLessThanOrEqualTo(Integer value) { addCriterion("source_type <=", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeIn(List values) { addCriterion("source_type in", values, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotIn(List values) { addCriterion("source_type not in", values, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeBetween(Integer value1, Integer value2) { addCriterion("source_type between", value1, value2, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) { addCriterion("source_type not between", value1, value2, "sourceType"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andOrderTypeIsNull() { addCriterion("order_type is null"); return (Criteria) this; } public Criteria andOrderTypeIsNotNull() { addCriterion("order_type is not null"); return (Criteria) this; } public Criteria andOrderTypeEqualTo(Integer value) { addCriterion("order_type =", value, "orderType"); return (Criteria) this; } public Criteria andOrderTypeNotEqualTo(Integer value) { addCriterion("order_type <>", value, "orderType"); return (Criteria) this; } public Criteria andOrderTypeGreaterThan(Integer value) { addCriterion("order_type >", value, "orderType"); return (Criteria) this; } public Criteria andOrderTypeGreaterThanOrEqualTo(Integer value) { addCriterion("order_type >=", value, "orderType"); return (Criteria) this; } public Criteria andOrderTypeLessThan(Integer value) { addCriterion("order_type <", value, "orderType"); return (Criteria) this; } public Criteria andOrderTypeLessThanOrEqualTo(Integer value) { addCriterion("order_type <=", value, "orderType"); return (Criteria) this; } public Criteria andOrderTypeIn(List values) { addCriterion("order_type in", values, "orderType"); return (Criteria) this; } public Criteria andOrderTypeNotIn(List values) { addCriterion("order_type not in", values, "orderType"); return (Criteria) this; } public Criteria andOrderTypeBetween(Integer value1, Integer value2) { addCriterion("order_type between", value1, value2, "orderType"); return (Criteria) this; } public Criteria andOrderTypeNotBetween(Integer value1, Integer value2) { addCriterion("order_type not between", value1, value2, "orderType"); return (Criteria) this; } public Criteria andDeliveryCompanyIsNull() { addCriterion("delivery_company is null"); return (Criteria) this; } public Criteria andDeliveryCompanyIsNotNull() { addCriterion("delivery_company is not null"); return (Criteria) this; } public Criteria andDeliveryCompanyEqualTo(String value) { addCriterion("delivery_company =", value, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyNotEqualTo(String value) { addCriterion("delivery_company <>", value, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyGreaterThan(String value) { addCriterion("delivery_company >", value, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyGreaterThanOrEqualTo(String value) { addCriterion("delivery_company >=", value, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyLessThan(String value) { addCriterion("delivery_company <", value, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyLessThanOrEqualTo(String value) { addCriterion("delivery_company <=", value, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyLike(String value) { addCriterion("delivery_company like", value, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyNotLike(String value) { addCriterion("delivery_company not like", value, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyIn(List values) { addCriterion("delivery_company in", values, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyNotIn(List values) { addCriterion("delivery_company not in", values, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyBetween(String value1, String value2) { addCriterion("delivery_company between", value1, value2, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliveryCompanyNotBetween(String value1, String value2) { addCriterion("delivery_company not between", value1, value2, "deliveryCompany"); return (Criteria) this; } public Criteria andDeliverySnIsNull() { addCriterion("delivery_sn is null"); return (Criteria) this; } public Criteria andDeliverySnIsNotNull() { addCriterion("delivery_sn is not null"); return (Criteria) this; } public Criteria andDeliverySnEqualTo(String value) { addCriterion("delivery_sn =", value, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnNotEqualTo(String value) { addCriterion("delivery_sn <>", value, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnGreaterThan(String value) { addCriterion("delivery_sn >", value, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnGreaterThanOrEqualTo(String value) { addCriterion("delivery_sn >=", value, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnLessThan(String value) { addCriterion("delivery_sn <", value, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnLessThanOrEqualTo(String value) { addCriterion("delivery_sn <=", value, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnLike(String value) { addCriterion("delivery_sn like", value, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnNotLike(String value) { addCriterion("delivery_sn not like", value, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnIn(List values) { addCriterion("delivery_sn in", values, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnNotIn(List values) { addCriterion("delivery_sn not in", values, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnBetween(String value1, String value2) { addCriterion("delivery_sn between", value1, value2, "deliverySn"); return (Criteria) this; } public Criteria andDeliverySnNotBetween(String value1, String value2) { addCriterion("delivery_sn not between", value1, value2, "deliverySn"); return (Criteria) this; } public Criteria andAutoConfirmDayIsNull() { addCriterion("auto_confirm_day is null"); return (Criteria) this; } public Criteria andAutoConfirmDayIsNotNull() { addCriterion("auto_confirm_day is not null"); return (Criteria) this; } public Criteria andAutoConfirmDayEqualTo(Integer value) { addCriterion("auto_confirm_day =", value, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayNotEqualTo(Integer value) { addCriterion("auto_confirm_day <>", value, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayGreaterThan(Integer value) { addCriterion("auto_confirm_day >", value, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayGreaterThanOrEqualTo(Integer value) { addCriterion("auto_confirm_day >=", value, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayLessThan(Integer value) { addCriterion("auto_confirm_day <", value, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayLessThanOrEqualTo(Integer value) { addCriterion("auto_confirm_day <=", value, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayIn(List values) { addCriterion("auto_confirm_day in", values, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayNotIn(List values) { addCriterion("auto_confirm_day not in", values, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayBetween(Integer value1, Integer value2) { addCriterion("auto_confirm_day between", value1, value2, "autoConfirmDay"); return (Criteria) this; } public Criteria andAutoConfirmDayNotBetween(Integer value1, Integer value2) { addCriterion("auto_confirm_day not between", value1, value2, "autoConfirmDay"); return (Criteria) this; } public Criteria andIntegrationIsNull() { addCriterion("integration is null"); return (Criteria) this; } public Criteria andIntegrationIsNotNull() { addCriterion("integration is not null"); return (Criteria) this; } public Criteria andIntegrationEqualTo(Integer value) { addCriterion("integration =", value, "integration"); return (Criteria) this; } public Criteria andIntegrationNotEqualTo(Integer value) { addCriterion("integration <>", value, "integration"); return (Criteria) this; } public Criteria andIntegrationGreaterThan(Integer value) { addCriterion("integration >", value, "integration"); return (Criteria) this; } public Criteria andIntegrationGreaterThanOrEqualTo(Integer value) { addCriterion("integration >=", value, "integration"); return (Criteria) this; } public Criteria andIntegrationLessThan(Integer value) { addCriterion("integration <", value, "integration"); return (Criteria) this; } public Criteria andIntegrationLessThanOrEqualTo(Integer value) { addCriterion("integration <=", value, "integration"); return (Criteria) this; } public Criteria andIntegrationIn(List values) { addCriterion("integration in", values, "integration"); return (Criteria) this; } public Criteria andIntegrationNotIn(List values) { addCriterion("integration not in", values, "integration"); return (Criteria) this; } public Criteria andIntegrationBetween(Integer value1, Integer value2) { addCriterion("integration between", value1, value2, "integration"); return (Criteria) this; } public Criteria andIntegrationNotBetween(Integer value1, Integer value2) { addCriterion("integration not between", value1, value2, "integration"); return (Criteria) this; } public Criteria andGrowthIsNull() { addCriterion("growth is null"); return (Criteria) this; } public Criteria andGrowthIsNotNull() { addCriterion("growth is not null"); return (Criteria) this; } public Criteria andGrowthEqualTo(Integer value) { addCriterion("growth =", value, "growth"); return (Criteria) this; } public Criteria andGrowthNotEqualTo(Integer value) { addCriterion("growth <>", value, "growth"); return (Criteria) this; } public Criteria andGrowthGreaterThan(Integer value) { addCriterion("growth >", value, "growth"); return (Criteria) this; } public Criteria andGrowthGreaterThanOrEqualTo(Integer value) { addCriterion("growth >=", value, "growth"); return (Criteria) this; } public Criteria andGrowthLessThan(Integer value) { addCriterion("growth <", value, "growth"); return (Criteria) this; } public Criteria andGrowthLessThanOrEqualTo(Integer value) { addCriterion("growth <=", value, "growth"); return (Criteria) this; } public Criteria andGrowthIn(List values) { addCriterion("growth in", values, "growth"); return (Criteria) this; } public Criteria andGrowthNotIn(List values) { addCriterion("growth not in", values, "growth"); return (Criteria) this; } public Criteria andGrowthBetween(Integer value1, Integer value2) { addCriterion("growth between", value1, value2, "growth"); return (Criteria) this; } public Criteria andGrowthNotBetween(Integer value1, Integer value2) { addCriterion("growth not between", value1, value2, "growth"); return (Criteria) this; } public Criteria andPromotionInfoIsNull() { addCriterion("promotion_info is null"); return (Criteria) this; } public Criteria andPromotionInfoIsNotNull() { addCriterion("promotion_info is not null"); return (Criteria) this; } public Criteria andPromotionInfoEqualTo(String value) { addCriterion("promotion_info =", value, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoNotEqualTo(String value) { addCriterion("promotion_info <>", value, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoGreaterThan(String value) { addCriterion("promotion_info >", value, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoGreaterThanOrEqualTo(String value) { addCriterion("promotion_info >=", value, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoLessThan(String value) { addCriterion("promotion_info <", value, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoLessThanOrEqualTo(String value) { addCriterion("promotion_info <=", value, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoLike(String value) { addCriterion("promotion_info like", value, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoNotLike(String value) { addCriterion("promotion_info not like", value, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoIn(List values) { addCriterion("promotion_info in", values, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoNotIn(List values) { addCriterion("promotion_info not in", values, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoBetween(String value1, String value2) { addCriterion("promotion_info between", value1, value2, "promotionInfo"); return (Criteria) this; } public Criteria andPromotionInfoNotBetween(String value1, String value2) { addCriterion("promotion_info not between", value1, value2, "promotionInfo"); return (Criteria) this; } public Criteria andBillTypeIsNull() { addCriterion("bill_type is null"); return (Criteria) this; } public Criteria andBillTypeIsNotNull() { addCriterion("bill_type is not null"); return (Criteria) this; } public Criteria andBillTypeEqualTo(Integer value) { addCriterion("bill_type =", value, "billType"); return (Criteria) this; } public Criteria andBillTypeNotEqualTo(Integer value) { addCriterion("bill_type <>", value, "billType"); return (Criteria) this; } public Criteria andBillTypeGreaterThan(Integer value) { addCriterion("bill_type >", value, "billType"); return (Criteria) this; } public Criteria andBillTypeGreaterThanOrEqualTo(Integer value) { addCriterion("bill_type >=", value, "billType"); return (Criteria) this; } public Criteria andBillTypeLessThan(Integer value) { addCriterion("bill_type <", value, "billType"); return (Criteria) this; } public Criteria andBillTypeLessThanOrEqualTo(Integer value) { addCriterion("bill_type <=", value, "billType"); return (Criteria) this; } public Criteria andBillTypeIn(List values) { addCriterion("bill_type in", values, "billType"); return (Criteria) this; } public Criteria andBillTypeNotIn(List values) { addCriterion("bill_type not in", values, "billType"); return (Criteria) this; } public Criteria andBillTypeBetween(Integer value1, Integer value2) { addCriterion("bill_type between", value1, value2, "billType"); return (Criteria) this; } public Criteria andBillTypeNotBetween(Integer value1, Integer value2) { addCriterion("bill_type not between", value1, value2, "billType"); return (Criteria) this; } public Criteria andBillHeaderIsNull() { addCriterion("bill_header is null"); return (Criteria) this; } public Criteria andBillHeaderIsNotNull() { addCriterion("bill_header is not null"); return (Criteria) this; } public Criteria andBillHeaderEqualTo(String value) { addCriterion("bill_header =", value, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderNotEqualTo(String value) { addCriterion("bill_header <>", value, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderGreaterThan(String value) { addCriterion("bill_header >", value, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderGreaterThanOrEqualTo(String value) { addCriterion("bill_header >=", value, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderLessThan(String value) { addCriterion("bill_header <", value, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderLessThanOrEqualTo(String value) { addCriterion("bill_header <=", value, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderLike(String value) { addCriterion("bill_header like", value, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderNotLike(String value) { addCriterion("bill_header not like", value, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderIn(List values) { addCriterion("bill_header in", values, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderNotIn(List values) { addCriterion("bill_header not in", values, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderBetween(String value1, String value2) { addCriterion("bill_header between", value1, value2, "billHeader"); return (Criteria) this; } public Criteria andBillHeaderNotBetween(String value1, String value2) { addCriterion("bill_header not between", value1, value2, "billHeader"); return (Criteria) this; } public Criteria andBillContentIsNull() { addCriterion("bill_content is null"); return (Criteria) this; } public Criteria andBillContentIsNotNull() { addCriterion("bill_content is not null"); return (Criteria) this; } public Criteria andBillContentEqualTo(String value) { addCriterion("bill_content =", value, "billContent"); return (Criteria) this; } public Criteria andBillContentNotEqualTo(String value) { addCriterion("bill_content <>", value, "billContent"); return (Criteria) this; } public Criteria andBillContentGreaterThan(String value) { addCriterion("bill_content >", value, "billContent"); return (Criteria) this; } public Criteria andBillContentGreaterThanOrEqualTo(String value) { addCriterion("bill_content >=", value, "billContent"); return (Criteria) this; } public Criteria andBillContentLessThan(String value) { addCriterion("bill_content <", value, "billContent"); return (Criteria) this; } public Criteria andBillContentLessThanOrEqualTo(String value) { addCriterion("bill_content <=", value, "billContent"); return (Criteria) this; } public Criteria andBillContentLike(String value) { addCriterion("bill_content like", value, "billContent"); return (Criteria) this; } public Criteria andBillContentNotLike(String value) { addCriterion("bill_content not like", value, "billContent"); return (Criteria) this; } public Criteria andBillContentIn(List values) { addCriterion("bill_content in", values, "billContent"); return (Criteria) this; } public Criteria andBillContentNotIn(List values) { addCriterion("bill_content not in", values, "billContent"); return (Criteria) this; } public Criteria andBillContentBetween(String value1, String value2) { addCriterion("bill_content between", value1, value2, "billContent"); return (Criteria) this; } public Criteria andBillContentNotBetween(String value1, String value2) { addCriterion("bill_content not between", value1, value2, "billContent"); return (Criteria) this; } public Criteria andBillReceiverPhoneIsNull() { addCriterion("bill_receiver_phone is null"); return (Criteria) this; } public Criteria andBillReceiverPhoneIsNotNull() { addCriterion("bill_receiver_phone is not null"); return (Criteria) this; } public Criteria andBillReceiverPhoneEqualTo(String value) { addCriterion("bill_receiver_phone =", value, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneNotEqualTo(String value) { addCriterion("bill_receiver_phone <>", value, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneGreaterThan(String value) { addCriterion("bill_receiver_phone >", value, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneGreaterThanOrEqualTo(String value) { addCriterion("bill_receiver_phone >=", value, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneLessThan(String value) { addCriterion("bill_receiver_phone <", value, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneLessThanOrEqualTo(String value) { addCriterion("bill_receiver_phone <=", value, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneLike(String value) { addCriterion("bill_receiver_phone like", value, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneNotLike(String value) { addCriterion("bill_receiver_phone not like", value, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneIn(List values) { addCriterion("bill_receiver_phone in", values, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneNotIn(List values) { addCriterion("bill_receiver_phone not in", values, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneBetween(String value1, String value2) { addCriterion("bill_receiver_phone between", value1, value2, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverPhoneNotBetween(String value1, String value2) { addCriterion("bill_receiver_phone not between", value1, value2, "billReceiverPhone"); return (Criteria) this; } public Criteria andBillReceiverEmailIsNull() { addCriterion("bill_receiver_email is null"); return (Criteria) this; } public Criteria andBillReceiverEmailIsNotNull() { addCriterion("bill_receiver_email is not null"); return (Criteria) this; } public Criteria andBillReceiverEmailEqualTo(String value) { addCriterion("bill_receiver_email =", value, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailNotEqualTo(String value) { addCriterion("bill_receiver_email <>", value, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailGreaterThan(String value) { addCriterion("bill_receiver_email >", value, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailGreaterThanOrEqualTo(String value) { addCriterion("bill_receiver_email >=", value, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailLessThan(String value) { addCriterion("bill_receiver_email <", value, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailLessThanOrEqualTo(String value) { addCriterion("bill_receiver_email <=", value, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailLike(String value) { addCriterion("bill_receiver_email like", value, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailNotLike(String value) { addCriterion("bill_receiver_email not like", value, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailIn(List values) { addCriterion("bill_receiver_email in", values, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailNotIn(List values) { addCriterion("bill_receiver_email not in", values, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailBetween(String value1, String value2) { addCriterion("bill_receiver_email between", value1, value2, "billReceiverEmail"); return (Criteria) this; } public Criteria andBillReceiverEmailNotBetween(String value1, String value2) { addCriterion("bill_receiver_email not between", value1, value2, "billReceiverEmail"); return (Criteria) this; } public Criteria andReceiverNameIsNull() { addCriterion("receiver_name is null"); return (Criteria) this; } public Criteria andReceiverNameIsNotNull() { addCriterion("receiver_name is not null"); return (Criteria) this; } public Criteria andReceiverNameEqualTo(String value) { addCriterion("receiver_name =", value, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameNotEqualTo(String value) { addCriterion("receiver_name <>", value, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameGreaterThan(String value) { addCriterion("receiver_name >", value, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameGreaterThanOrEqualTo(String value) { addCriterion("receiver_name >=", value, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameLessThan(String value) { addCriterion("receiver_name <", value, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameLessThanOrEqualTo(String value) { addCriterion("receiver_name <=", value, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameLike(String value) { addCriterion("receiver_name like", value, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameNotLike(String value) { addCriterion("receiver_name not like", value, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameIn(List values) { addCriterion("receiver_name in", values, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameNotIn(List values) { addCriterion("receiver_name not in", values, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameBetween(String value1, String value2) { addCriterion("receiver_name between", value1, value2, "receiverName"); return (Criteria) this; } public Criteria andReceiverNameNotBetween(String value1, String value2) { addCriterion("receiver_name not between", value1, value2, "receiverName"); return (Criteria) this; } public Criteria andReceiverPhoneIsNull() { addCriterion("receiver_phone is null"); return (Criteria) this; } public Criteria andReceiverPhoneIsNotNull() { addCriterion("receiver_phone is not null"); return (Criteria) this; } public Criteria andReceiverPhoneEqualTo(String value) { addCriterion("receiver_phone =", value, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneNotEqualTo(String value) { addCriterion("receiver_phone <>", value, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneGreaterThan(String value) { addCriterion("receiver_phone >", value, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneGreaterThanOrEqualTo(String value) { addCriterion("receiver_phone >=", value, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneLessThan(String value) { addCriterion("receiver_phone <", value, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneLessThanOrEqualTo(String value) { addCriterion("receiver_phone <=", value, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneLike(String value) { addCriterion("receiver_phone like", value, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneNotLike(String value) { addCriterion("receiver_phone not like", value, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneIn(List values) { addCriterion("receiver_phone in", values, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneNotIn(List values) { addCriterion("receiver_phone not in", values, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneBetween(String value1, String value2) { addCriterion("receiver_phone between", value1, value2, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPhoneNotBetween(String value1, String value2) { addCriterion("receiver_phone not between", value1, value2, "receiverPhone"); return (Criteria) this; } public Criteria andReceiverPostCodeIsNull() { addCriterion("receiver_post_code is null"); return (Criteria) this; } public Criteria andReceiverPostCodeIsNotNull() { addCriterion("receiver_post_code is not null"); return (Criteria) this; } public Criteria andReceiverPostCodeEqualTo(String value) { addCriterion("receiver_post_code =", value, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeNotEqualTo(String value) { addCriterion("receiver_post_code <>", value, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeGreaterThan(String value) { addCriterion("receiver_post_code >", value, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeGreaterThanOrEqualTo(String value) { addCriterion("receiver_post_code >=", value, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeLessThan(String value) { addCriterion("receiver_post_code <", value, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeLessThanOrEqualTo(String value) { addCriterion("receiver_post_code <=", value, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeLike(String value) { addCriterion("receiver_post_code like", value, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeNotLike(String value) { addCriterion("receiver_post_code not like", value, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeIn(List values) { addCriterion("receiver_post_code in", values, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeNotIn(List values) { addCriterion("receiver_post_code not in", values, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeBetween(String value1, String value2) { addCriterion("receiver_post_code between", value1, value2, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverPostCodeNotBetween(String value1, String value2) { addCriterion("receiver_post_code not between", value1, value2, "receiverPostCode"); return (Criteria) this; } public Criteria andReceiverProvinceIsNull() { addCriterion("receiver_province is null"); return (Criteria) this; } public Criteria andReceiverProvinceIsNotNull() { addCriterion("receiver_province is not null"); return (Criteria) this; } public Criteria andReceiverProvinceEqualTo(String value) { addCriterion("receiver_province =", value, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceNotEqualTo(String value) { addCriterion("receiver_province <>", value, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceGreaterThan(String value) { addCriterion("receiver_province >", value, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceGreaterThanOrEqualTo(String value) { addCriterion("receiver_province >=", value, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceLessThan(String value) { addCriterion("receiver_province <", value, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceLessThanOrEqualTo(String value) { addCriterion("receiver_province <=", value, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceLike(String value) { addCriterion("receiver_province like", value, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceNotLike(String value) { addCriterion("receiver_province not like", value, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceIn(List values) { addCriterion("receiver_province in", values, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceNotIn(List values) { addCriterion("receiver_province not in", values, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceBetween(String value1, String value2) { addCriterion("receiver_province between", value1, value2, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverProvinceNotBetween(String value1, String value2) { addCriterion("receiver_province not between", value1, value2, "receiverProvince"); return (Criteria) this; } public Criteria andReceiverCityIsNull() { addCriterion("receiver_city is null"); return (Criteria) this; } public Criteria andReceiverCityIsNotNull() { addCriterion("receiver_city is not null"); return (Criteria) this; } public Criteria andReceiverCityEqualTo(String value) { addCriterion("receiver_city =", value, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityNotEqualTo(String value) { addCriterion("receiver_city <>", value, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityGreaterThan(String value) { addCriterion("receiver_city >", value, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityGreaterThanOrEqualTo(String value) { addCriterion("receiver_city >=", value, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityLessThan(String value) { addCriterion("receiver_city <", value, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityLessThanOrEqualTo(String value) { addCriterion("receiver_city <=", value, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityLike(String value) { addCriterion("receiver_city like", value, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityNotLike(String value) { addCriterion("receiver_city not like", value, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityIn(List values) { addCriterion("receiver_city in", values, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityNotIn(List values) { addCriterion("receiver_city not in", values, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityBetween(String value1, String value2) { addCriterion("receiver_city between", value1, value2, "receiverCity"); return (Criteria) this; } public Criteria andReceiverCityNotBetween(String value1, String value2) { addCriterion("receiver_city not between", value1, value2, "receiverCity"); return (Criteria) this; } public Criteria andReceiverRegionIsNull() { addCriterion("receiver_region is null"); return (Criteria) this; } public Criteria andReceiverRegionIsNotNull() { addCriterion("receiver_region is not null"); return (Criteria) this; } public Criteria andReceiverRegionEqualTo(String value) { addCriterion("receiver_region =", value, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionNotEqualTo(String value) { addCriterion("receiver_region <>", value, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionGreaterThan(String value) { addCriterion("receiver_region >", value, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionGreaterThanOrEqualTo(String value) { addCriterion("receiver_region >=", value, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionLessThan(String value) { addCriterion("receiver_region <", value, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionLessThanOrEqualTo(String value) { addCriterion("receiver_region <=", value, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionLike(String value) { addCriterion("receiver_region like", value, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionNotLike(String value) { addCriterion("receiver_region not like", value, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionIn(List values) { addCriterion("receiver_region in", values, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionNotIn(List values) { addCriterion("receiver_region not in", values, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionBetween(String value1, String value2) { addCriterion("receiver_region between", value1, value2, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverRegionNotBetween(String value1, String value2) { addCriterion("receiver_region not between", value1, value2, "receiverRegion"); return (Criteria) this; } public Criteria andReceiverDetailAddressIsNull() { addCriterion("receiver_detail_address is null"); return (Criteria) this; } public Criteria andReceiverDetailAddressIsNotNull() { addCriterion("receiver_detail_address is not null"); return (Criteria) this; } public Criteria andReceiverDetailAddressEqualTo(String value) { addCriterion("receiver_detail_address =", value, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressNotEqualTo(String value) { addCriterion("receiver_detail_address <>", value, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressGreaterThan(String value) { addCriterion("receiver_detail_address >", value, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressGreaterThanOrEqualTo(String value) { addCriterion("receiver_detail_address >=", value, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressLessThan(String value) { addCriterion("receiver_detail_address <", value, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressLessThanOrEqualTo(String value) { addCriterion("receiver_detail_address <=", value, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressLike(String value) { addCriterion("receiver_detail_address like", value, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressNotLike(String value) { addCriterion("receiver_detail_address not like", value, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressIn(List values) { addCriterion("receiver_detail_address in", values, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressNotIn(List values) { addCriterion("receiver_detail_address not in", values, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressBetween(String value1, String value2) { addCriterion("receiver_detail_address between", value1, value2, "receiverDetailAddress"); return (Criteria) this; } public Criteria andReceiverDetailAddressNotBetween(String value1, String value2) { addCriterion("receiver_detail_address not between", value1, value2, "receiverDetailAddress"); return (Criteria) this; } public Criteria andNoteIsNull() { addCriterion("note is null"); return (Criteria) this; } public Criteria andNoteIsNotNull() { addCriterion("note is not null"); return (Criteria) this; } public Criteria andNoteEqualTo(String value) { addCriterion("note =", value, "note"); return (Criteria) this; } public Criteria andNoteNotEqualTo(String value) { addCriterion("note <>", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThan(String value) { addCriterion("note >", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThanOrEqualTo(String value) { addCriterion("note >=", value, "note"); return (Criteria) this; } public Criteria andNoteLessThan(String value) { addCriterion("note <", value, "note"); return (Criteria) this; } public Criteria andNoteLessThanOrEqualTo(String value) { addCriterion("note <=", value, "note"); return (Criteria) this; } public Criteria andNoteLike(String value) { addCriterion("note like", value, "note"); return (Criteria) this; } public Criteria andNoteNotLike(String value) { addCriterion("note not like", value, "note"); return (Criteria) this; } public Criteria andNoteIn(List values) { addCriterion("note in", values, "note"); return (Criteria) this; } public Criteria andNoteNotIn(List values) { addCriterion("note not in", values, "note"); return (Criteria) this; } public Criteria andNoteBetween(String value1, String value2) { addCriterion("note between", value1, value2, "note"); return (Criteria) this; } public Criteria andNoteNotBetween(String value1, String value2) { addCriterion("note not between", value1, value2, "note"); return (Criteria) this; } public Criteria andConfirmStatusIsNull() { addCriterion("confirm_status is null"); return (Criteria) this; } public Criteria andConfirmStatusIsNotNull() { addCriterion("confirm_status is not null"); return (Criteria) this; } public Criteria andConfirmStatusEqualTo(Integer value) { addCriterion("confirm_status =", value, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusNotEqualTo(Integer value) { addCriterion("confirm_status <>", value, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusGreaterThan(Integer value) { addCriterion("confirm_status >", value, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusGreaterThanOrEqualTo(Integer value) { addCriterion("confirm_status >=", value, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusLessThan(Integer value) { addCriterion("confirm_status <", value, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusLessThanOrEqualTo(Integer value) { addCriterion("confirm_status <=", value, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusIn(List values) { addCriterion("confirm_status in", values, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusNotIn(List values) { addCriterion("confirm_status not in", values, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusBetween(Integer value1, Integer value2) { addCriterion("confirm_status between", value1, value2, "confirmStatus"); return (Criteria) this; } public Criteria andConfirmStatusNotBetween(Integer value1, Integer value2) { addCriterion("confirm_status not between", value1, value2, "confirmStatus"); return (Criteria) this; } public Criteria andDeleteStatusIsNull() { addCriterion("delete_status is null"); return (Criteria) this; } public Criteria andDeleteStatusIsNotNull() { addCriterion("delete_status is not null"); return (Criteria) this; } public Criteria andDeleteStatusEqualTo(Integer value) { addCriterion("delete_status =", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotEqualTo(Integer value) { addCriterion("delete_status <>", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusGreaterThan(Integer value) { addCriterion("delete_status >", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusGreaterThanOrEqualTo(Integer value) { addCriterion("delete_status >=", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusLessThan(Integer value) { addCriterion("delete_status <", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusLessThanOrEqualTo(Integer value) { addCriterion("delete_status <=", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusIn(List values) { addCriterion("delete_status in", values, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotIn(List values) { addCriterion("delete_status not in", values, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusBetween(Integer value1, Integer value2) { addCriterion("delete_status between", value1, value2, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotBetween(Integer value1, Integer value2) { addCriterion("delete_status not between", value1, value2, "deleteStatus"); return (Criteria) this; } public Criteria andUseIntegrationIsNull() { addCriterion("use_integration is null"); return (Criteria) this; } public Criteria andUseIntegrationIsNotNull() { addCriterion("use_integration is not null"); return (Criteria) this; } public Criteria andUseIntegrationEqualTo(Integer value) { addCriterion("use_integration =", value, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationNotEqualTo(Integer value) { addCriterion("use_integration <>", value, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationGreaterThan(Integer value) { addCriterion("use_integration >", value, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationGreaterThanOrEqualTo(Integer value) { addCriterion("use_integration >=", value, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationLessThan(Integer value) { addCriterion("use_integration <", value, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationLessThanOrEqualTo(Integer value) { addCriterion("use_integration <=", value, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationIn(List values) { addCriterion("use_integration in", values, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationNotIn(List values) { addCriterion("use_integration not in", values, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationBetween(Integer value1, Integer value2) { addCriterion("use_integration between", value1, value2, "useIntegration"); return (Criteria) this; } public Criteria andUseIntegrationNotBetween(Integer value1, Integer value2) { addCriterion("use_integration not between", value1, value2, "useIntegration"); return (Criteria) this; } public Criteria andPaymentTimeIsNull() { addCriterion("payment_time is null"); return (Criteria) this; } public Criteria andPaymentTimeIsNotNull() { addCriterion("payment_time is not null"); return (Criteria) this; } public Criteria andPaymentTimeEqualTo(Date value) { addCriterion("payment_time =", value, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeNotEqualTo(Date value) { addCriterion("payment_time <>", value, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeGreaterThan(Date value) { addCriterion("payment_time >", value, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeGreaterThanOrEqualTo(Date value) { addCriterion("payment_time >=", value, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeLessThan(Date value) { addCriterion("payment_time <", value, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeLessThanOrEqualTo(Date value) { addCriterion("payment_time <=", value, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeIn(List values) { addCriterion("payment_time in", values, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeNotIn(List values) { addCriterion("payment_time not in", values, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeBetween(Date value1, Date value2) { addCriterion("payment_time between", value1, value2, "paymentTime"); return (Criteria) this; } public Criteria andPaymentTimeNotBetween(Date value1, Date value2) { addCriterion("payment_time not between", value1, value2, "paymentTime"); return (Criteria) this; } public Criteria andDeliveryTimeIsNull() { addCriterion("delivery_time is null"); return (Criteria) this; } public Criteria andDeliveryTimeIsNotNull() { addCriterion("delivery_time is not null"); return (Criteria) this; } public Criteria andDeliveryTimeEqualTo(Date value) { addCriterion("delivery_time =", value, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeNotEqualTo(Date value) { addCriterion("delivery_time <>", value, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeGreaterThan(Date value) { addCriterion("delivery_time >", value, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeGreaterThanOrEqualTo(Date value) { addCriterion("delivery_time >=", value, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeLessThan(Date value) { addCriterion("delivery_time <", value, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeLessThanOrEqualTo(Date value) { addCriterion("delivery_time <=", value, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeIn(List values) { addCriterion("delivery_time in", values, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeNotIn(List values) { addCriterion("delivery_time not in", values, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeBetween(Date value1, Date value2) { addCriterion("delivery_time between", value1, value2, "deliveryTime"); return (Criteria) this; } public Criteria andDeliveryTimeNotBetween(Date value1, Date value2) { addCriterion("delivery_time not between", value1, value2, "deliveryTime"); return (Criteria) this; } public Criteria andReceiveTimeIsNull() { addCriterion("receive_time is null"); return (Criteria) this; } public Criteria andReceiveTimeIsNotNull() { addCriterion("receive_time is not null"); return (Criteria) this; } public Criteria andReceiveTimeEqualTo(Date value) { addCriterion("receive_time =", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeNotEqualTo(Date value) { addCriterion("receive_time <>", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeGreaterThan(Date value) { addCriterion("receive_time >", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeGreaterThanOrEqualTo(Date value) { addCriterion("receive_time >=", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeLessThan(Date value) { addCriterion("receive_time <", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeLessThanOrEqualTo(Date value) { addCriterion("receive_time <=", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeIn(List values) { addCriterion("receive_time in", values, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeNotIn(List values) { addCriterion("receive_time not in", values, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeBetween(Date value1, Date value2) { addCriterion("receive_time between", value1, value2, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeNotBetween(Date value1, Date value2) { addCriterion("receive_time not between", value1, value2, "receiveTime"); return (Criteria) this; } public Criteria andCommentTimeIsNull() { addCriterion("comment_time is null"); return (Criteria) this; } public Criteria andCommentTimeIsNotNull() { addCriterion("comment_time is not null"); return (Criteria) this; } public Criteria andCommentTimeEqualTo(Date value) { addCriterion("comment_time =", value, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeNotEqualTo(Date value) { addCriterion("comment_time <>", value, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeGreaterThan(Date value) { addCriterion("comment_time >", value, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeGreaterThanOrEqualTo(Date value) { addCriterion("comment_time >=", value, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeLessThan(Date value) { addCriterion("comment_time <", value, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeLessThanOrEqualTo(Date value) { addCriterion("comment_time <=", value, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeIn(List values) { addCriterion("comment_time in", values, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeNotIn(List values) { addCriterion("comment_time not in", values, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeBetween(Date value1, Date value2) { addCriterion("comment_time between", value1, value2, "commentTime"); return (Criteria) this; } public Criteria andCommentTimeNotBetween(Date value1, Date value2) { addCriterion("comment_time not between", value1, value2, "commentTime"); return (Criteria) this; } public Criteria andModifyTimeIsNull() { addCriterion("modify_time is null"); return (Criteria) this; } public Criteria andModifyTimeIsNotNull() { addCriterion("modify_time is not null"); return (Criteria) this; } public Criteria andModifyTimeEqualTo(Date value) { addCriterion("modify_time =", value, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeNotEqualTo(Date value) { addCriterion("modify_time <>", value, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeGreaterThan(Date value) { addCriterion("modify_time >", value, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeGreaterThanOrEqualTo(Date value) { addCriterion("modify_time >=", value, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeLessThan(Date value) { addCriterion("modify_time <", value, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeLessThanOrEqualTo(Date value) { addCriterion("modify_time <=", value, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeIn(List values) { addCriterion("modify_time in", values, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeNotIn(List values) { addCriterion("modify_time not in", values, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeBetween(Date value1, Date value2) { addCriterion("modify_time between", value1, value2, "modifyTime"); return (Criteria) this; } public Criteria andModifyTimeNotBetween(Date value1, Date value2) { addCriterion("modify_time not between", value1, value2, "modifyTime"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderItem.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class OmsOrderItem implements Serializable { private Long id; @Schema(title = "订单id") private Long orderId; @Schema(title = "订单编号") private String orderSn; private Long productId; private String productPic; private String productName; private String productBrand; private String productSn; @Schema(title = "销售价格") private BigDecimal productPrice; @Schema(title = "购买数量") private Integer productQuantity; @Schema(title = "商品sku编号") private Long productSkuId; @Schema(title = "商品sku条码") private String productSkuCode; @Schema(title = "商品分类id") private Long productCategoryId; @Schema(title = "商品促销名称") private String promotionName; @Schema(title = "商品促销分解金额") private BigDecimal promotionAmount; @Schema(title = "优惠券优惠分解金额") private BigDecimal couponAmount; @Schema(title = "积分优惠分解金额") private BigDecimal integrationAmount; @Schema(title = "该商品经过优惠后的分解金额") private BigDecimal realAmount; private Integer giftIntegration; private Integer giftGrowth; @Schema(title = "商品销售属性:[{'key':'颜色','value':'颜色'},{'key':'容量','value':'4G'}]") private String productAttr; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getOrderId() { return orderId; } public void setOrderId(Long orderId) { this.orderId = orderId; } public String getOrderSn() { return orderSn; } public void setOrderSn(String orderSn) { this.orderSn = orderSn; } public Long getProductId() { return productId; } public void setProductId(Long productId) { this.productId = productId; } public String getProductPic() { return productPic; } public void setProductPic(String productPic) { this.productPic = productPic; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getProductBrand() { return productBrand; } public void setProductBrand(String productBrand) { this.productBrand = productBrand; } public String getProductSn() { return productSn; } public void setProductSn(String productSn) { this.productSn = productSn; } public BigDecimal getProductPrice() { return productPrice; } public void setProductPrice(BigDecimal productPrice) { this.productPrice = productPrice; } public Integer getProductQuantity() { return productQuantity; } public void setProductQuantity(Integer productQuantity) { this.productQuantity = productQuantity; } public Long getProductSkuId() { return productSkuId; } public void setProductSkuId(Long productSkuId) { this.productSkuId = productSkuId; } public String getProductSkuCode() { return productSkuCode; } public void setProductSkuCode(String productSkuCode) { this.productSkuCode = productSkuCode; } public Long getProductCategoryId() { return productCategoryId; } public void setProductCategoryId(Long productCategoryId) { this.productCategoryId = productCategoryId; } public String getPromotionName() { return promotionName; } public void setPromotionName(String promotionName) { this.promotionName = promotionName; } public BigDecimal getPromotionAmount() { return promotionAmount; } public void setPromotionAmount(BigDecimal promotionAmount) { this.promotionAmount = promotionAmount; } public BigDecimal getCouponAmount() { return couponAmount; } public void setCouponAmount(BigDecimal couponAmount) { this.couponAmount = couponAmount; } public BigDecimal getIntegrationAmount() { return integrationAmount; } public void setIntegrationAmount(BigDecimal integrationAmount) { this.integrationAmount = integrationAmount; } public BigDecimal getRealAmount() { return realAmount; } public void setRealAmount(BigDecimal realAmount) { this.realAmount = realAmount; } public Integer getGiftIntegration() { return giftIntegration; } public void setGiftIntegration(Integer giftIntegration) { this.giftIntegration = giftIntegration; } public Integer getGiftGrowth() { return giftGrowth; } public void setGiftGrowth(Integer giftGrowth) { this.giftGrowth = giftGrowth; } public String getProductAttr() { return productAttr; } public void setProductAttr(String productAttr) { this.productAttr = productAttr; } @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(", orderId=").append(orderId); sb.append(", orderSn=").append(orderSn); sb.append(", productId=").append(productId); sb.append(", productPic=").append(productPic); sb.append(", productName=").append(productName); sb.append(", productBrand=").append(productBrand); sb.append(", productSn=").append(productSn); sb.append(", productPrice=").append(productPrice); sb.append(", productQuantity=").append(productQuantity); sb.append(", productSkuId=").append(productSkuId); sb.append(", productSkuCode=").append(productSkuCode); sb.append(", productCategoryId=").append(productCategoryId); sb.append(", promotionName=").append(promotionName); sb.append(", promotionAmount=").append(promotionAmount); sb.append(", couponAmount=").append(couponAmount); sb.append(", integrationAmount=").append(integrationAmount); sb.append(", realAmount=").append(realAmount); sb.append(", giftIntegration=").append(giftIntegration); sb.append(", giftGrowth=").append(giftGrowth); sb.append(", productAttr=").append(productAttr); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderItemExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class OmsOrderItemExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public OmsOrderItemExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andOrderIdIsNull() { addCriterion("order_id is null"); return (Criteria) this; } public Criteria andOrderIdIsNotNull() { addCriterion("order_id is not null"); return (Criteria) this; } public Criteria andOrderIdEqualTo(Long value) { addCriterion("order_id =", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotEqualTo(Long value) { addCriterion("order_id <>", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdGreaterThan(Long value) { addCriterion("order_id >", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdGreaterThanOrEqualTo(Long value) { addCriterion("order_id >=", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdLessThan(Long value) { addCriterion("order_id <", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdLessThanOrEqualTo(Long value) { addCriterion("order_id <=", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdIn(List values) { addCriterion("order_id in", values, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotIn(List values) { addCriterion("order_id not in", values, "orderId"); return (Criteria) this; } public Criteria andOrderIdBetween(Long value1, Long value2) { addCriterion("order_id between", value1, value2, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotBetween(Long value1, Long value2) { addCriterion("order_id not between", value1, value2, "orderId"); return (Criteria) this; } public Criteria andOrderSnIsNull() { addCriterion("order_sn is null"); return (Criteria) this; } public Criteria andOrderSnIsNotNull() { addCriterion("order_sn is not null"); return (Criteria) this; } public Criteria andOrderSnEqualTo(String value) { addCriterion("order_sn =", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotEqualTo(String value) { addCriterion("order_sn <>", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnGreaterThan(String value) { addCriterion("order_sn >", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnGreaterThanOrEqualTo(String value) { addCriterion("order_sn >=", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLessThan(String value) { addCriterion("order_sn <", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLessThanOrEqualTo(String value) { addCriterion("order_sn <=", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLike(String value) { addCriterion("order_sn like", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotLike(String value) { addCriterion("order_sn not like", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnIn(List values) { addCriterion("order_sn in", values, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotIn(List values) { addCriterion("order_sn not in", values, "orderSn"); return (Criteria) this; } public Criteria andOrderSnBetween(String value1, String value2) { addCriterion("order_sn between", value1, value2, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotBetween(String value1, String value2) { addCriterion("order_sn not between", value1, value2, "orderSn"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductPicIsNull() { addCriterion("product_pic is null"); return (Criteria) this; } public Criteria andProductPicIsNotNull() { addCriterion("product_pic is not null"); return (Criteria) this; } public Criteria andProductPicEqualTo(String value) { addCriterion("product_pic =", value, "productPic"); return (Criteria) this; } public Criteria andProductPicNotEqualTo(String value) { addCriterion("product_pic <>", value, "productPic"); return (Criteria) this; } public Criteria andProductPicGreaterThan(String value) { addCriterion("product_pic >", value, "productPic"); return (Criteria) this; } public Criteria andProductPicGreaterThanOrEqualTo(String value) { addCriterion("product_pic >=", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLessThan(String value) { addCriterion("product_pic <", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLessThanOrEqualTo(String value) { addCriterion("product_pic <=", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLike(String value) { addCriterion("product_pic like", value, "productPic"); return (Criteria) this; } public Criteria andProductPicNotLike(String value) { addCriterion("product_pic not like", value, "productPic"); return (Criteria) this; } public Criteria andProductPicIn(List values) { addCriterion("product_pic in", values, "productPic"); return (Criteria) this; } public Criteria andProductPicNotIn(List values) { addCriterion("product_pic not in", values, "productPic"); return (Criteria) this; } public Criteria andProductPicBetween(String value1, String value2) { addCriterion("product_pic between", value1, value2, "productPic"); return (Criteria) this; } public Criteria andProductPicNotBetween(String value1, String value2) { addCriterion("product_pic not between", value1, value2, "productPic"); return (Criteria) this; } public Criteria andProductNameIsNull() { addCriterion("product_name is null"); return (Criteria) this; } public Criteria andProductNameIsNotNull() { addCriterion("product_name is not null"); return (Criteria) this; } public Criteria andProductNameEqualTo(String value) { addCriterion("product_name =", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotEqualTo(String value) { addCriterion("product_name <>", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThan(String value) { addCriterion("product_name >", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThanOrEqualTo(String value) { addCriterion("product_name >=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThan(String value) { addCriterion("product_name <", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThanOrEqualTo(String value) { addCriterion("product_name <=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLike(String value) { addCriterion("product_name like", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotLike(String value) { addCriterion("product_name not like", value, "productName"); return (Criteria) this; } public Criteria andProductNameIn(List values) { addCriterion("product_name in", values, "productName"); return (Criteria) this; } public Criteria andProductNameNotIn(List values) { addCriterion("product_name not in", values, "productName"); return (Criteria) this; } public Criteria andProductNameBetween(String value1, String value2) { addCriterion("product_name between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductNameNotBetween(String value1, String value2) { addCriterion("product_name not between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductBrandIsNull() { addCriterion("product_brand is null"); return (Criteria) this; } public Criteria andProductBrandIsNotNull() { addCriterion("product_brand is not null"); return (Criteria) this; } public Criteria andProductBrandEqualTo(String value) { addCriterion("product_brand =", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotEqualTo(String value) { addCriterion("product_brand <>", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandGreaterThan(String value) { addCriterion("product_brand >", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandGreaterThanOrEqualTo(String value) { addCriterion("product_brand >=", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLessThan(String value) { addCriterion("product_brand <", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLessThanOrEqualTo(String value) { addCriterion("product_brand <=", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLike(String value) { addCriterion("product_brand like", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotLike(String value) { addCriterion("product_brand not like", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandIn(List values) { addCriterion("product_brand in", values, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotIn(List values) { addCriterion("product_brand not in", values, "productBrand"); return (Criteria) this; } public Criteria andProductBrandBetween(String value1, String value2) { addCriterion("product_brand between", value1, value2, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotBetween(String value1, String value2) { addCriterion("product_brand not between", value1, value2, "productBrand"); return (Criteria) this; } public Criteria andProductSnIsNull() { addCriterion("product_sn is null"); return (Criteria) this; } public Criteria andProductSnIsNotNull() { addCriterion("product_sn is not null"); return (Criteria) this; } public Criteria andProductSnEqualTo(String value) { addCriterion("product_sn =", value, "productSn"); return (Criteria) this; } public Criteria andProductSnNotEqualTo(String value) { addCriterion("product_sn <>", value, "productSn"); return (Criteria) this; } public Criteria andProductSnGreaterThan(String value) { addCriterion("product_sn >", value, "productSn"); return (Criteria) this; } public Criteria andProductSnGreaterThanOrEqualTo(String value) { addCriterion("product_sn >=", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLessThan(String value) { addCriterion("product_sn <", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLessThanOrEqualTo(String value) { addCriterion("product_sn <=", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLike(String value) { addCriterion("product_sn like", value, "productSn"); return (Criteria) this; } public Criteria andProductSnNotLike(String value) { addCriterion("product_sn not like", value, "productSn"); return (Criteria) this; } public Criteria andProductSnIn(List values) { addCriterion("product_sn in", values, "productSn"); return (Criteria) this; } public Criteria andProductSnNotIn(List values) { addCriterion("product_sn not in", values, "productSn"); return (Criteria) this; } public Criteria andProductSnBetween(String value1, String value2) { addCriterion("product_sn between", value1, value2, "productSn"); return (Criteria) this; } public Criteria andProductSnNotBetween(String value1, String value2) { addCriterion("product_sn not between", value1, value2, "productSn"); return (Criteria) this; } public Criteria andProductPriceIsNull() { addCriterion("product_price is null"); return (Criteria) this; } public Criteria andProductPriceIsNotNull() { addCriterion("product_price is not null"); return (Criteria) this; } public Criteria andProductPriceEqualTo(BigDecimal value) { addCriterion("product_price =", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceNotEqualTo(BigDecimal value) { addCriterion("product_price <>", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceGreaterThan(BigDecimal value) { addCriterion("product_price >", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("product_price >=", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceLessThan(BigDecimal value) { addCriterion("product_price <", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("product_price <=", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceIn(List values) { addCriterion("product_price in", values, "productPrice"); return (Criteria) this; } public Criteria andProductPriceNotIn(List values) { addCriterion("product_price not in", values, "productPrice"); return (Criteria) this; } public Criteria andProductPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("product_price between", value1, value2, "productPrice"); return (Criteria) this; } public Criteria andProductPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("product_price not between", value1, value2, "productPrice"); return (Criteria) this; } public Criteria andProductQuantityIsNull() { addCriterion("product_quantity is null"); return (Criteria) this; } public Criteria andProductQuantityIsNotNull() { addCriterion("product_quantity is not null"); return (Criteria) this; } public Criteria andProductQuantityEqualTo(Integer value) { addCriterion("product_quantity =", value, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityNotEqualTo(Integer value) { addCriterion("product_quantity <>", value, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityGreaterThan(Integer value) { addCriterion("product_quantity >", value, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityGreaterThanOrEqualTo(Integer value) { addCriterion("product_quantity >=", value, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityLessThan(Integer value) { addCriterion("product_quantity <", value, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityLessThanOrEqualTo(Integer value) { addCriterion("product_quantity <=", value, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityIn(List values) { addCriterion("product_quantity in", values, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityNotIn(List values) { addCriterion("product_quantity not in", values, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityBetween(Integer value1, Integer value2) { addCriterion("product_quantity between", value1, value2, "productQuantity"); return (Criteria) this; } public Criteria andProductQuantityNotBetween(Integer value1, Integer value2) { addCriterion("product_quantity not between", value1, value2, "productQuantity"); return (Criteria) this; } public Criteria andProductSkuIdIsNull() { addCriterion("product_sku_id is null"); return (Criteria) this; } public Criteria andProductSkuIdIsNotNull() { addCriterion("product_sku_id is not null"); return (Criteria) this; } public Criteria andProductSkuIdEqualTo(Long value) { addCriterion("product_sku_id =", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdNotEqualTo(Long value) { addCriterion("product_sku_id <>", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdGreaterThan(Long value) { addCriterion("product_sku_id >", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdGreaterThanOrEqualTo(Long value) { addCriterion("product_sku_id >=", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdLessThan(Long value) { addCriterion("product_sku_id <", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdLessThanOrEqualTo(Long value) { addCriterion("product_sku_id <=", value, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdIn(List values) { addCriterion("product_sku_id in", values, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdNotIn(List values) { addCriterion("product_sku_id not in", values, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdBetween(Long value1, Long value2) { addCriterion("product_sku_id between", value1, value2, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuIdNotBetween(Long value1, Long value2) { addCriterion("product_sku_id not between", value1, value2, "productSkuId"); return (Criteria) this; } public Criteria andProductSkuCodeIsNull() { addCriterion("product_sku_code is null"); return (Criteria) this; } public Criteria andProductSkuCodeIsNotNull() { addCriterion("product_sku_code is not null"); return (Criteria) this; } public Criteria andProductSkuCodeEqualTo(String value) { addCriterion("product_sku_code =", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeNotEqualTo(String value) { addCriterion("product_sku_code <>", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeGreaterThan(String value) { addCriterion("product_sku_code >", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeGreaterThanOrEqualTo(String value) { addCriterion("product_sku_code >=", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeLessThan(String value) { addCriterion("product_sku_code <", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeLessThanOrEqualTo(String value) { addCriterion("product_sku_code <=", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeLike(String value) { addCriterion("product_sku_code like", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeNotLike(String value) { addCriterion("product_sku_code not like", value, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeIn(List values) { addCriterion("product_sku_code in", values, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeNotIn(List values) { addCriterion("product_sku_code not in", values, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeBetween(String value1, String value2) { addCriterion("product_sku_code between", value1, value2, "productSkuCode"); return (Criteria) this; } public Criteria andProductSkuCodeNotBetween(String value1, String value2) { addCriterion("product_sku_code not between", value1, value2, "productSkuCode"); return (Criteria) this; } public Criteria andProductCategoryIdIsNull() { addCriterion("product_category_id is null"); return (Criteria) this; } public Criteria andProductCategoryIdIsNotNull() { addCriterion("product_category_id is not null"); return (Criteria) this; } public Criteria andProductCategoryIdEqualTo(Long value) { addCriterion("product_category_id =", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotEqualTo(Long value) { addCriterion("product_category_id <>", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThan(Long value) { addCriterion("product_category_id >", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("product_category_id >=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThan(Long value) { addCriterion("product_category_id <", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) { addCriterion("product_category_id <=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdIn(List values) { addCriterion("product_category_id in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotIn(List values) { addCriterion("product_category_id not in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdBetween(Long value1, Long value2) { addCriterion("product_category_id between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) { addCriterion("product_category_id not between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andPromotionNameIsNull() { addCriterion("promotion_name is null"); return (Criteria) this; } public Criteria andPromotionNameIsNotNull() { addCriterion("promotion_name is not null"); return (Criteria) this; } public Criteria andPromotionNameEqualTo(String value) { addCriterion("promotion_name =", value, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameNotEqualTo(String value) { addCriterion("promotion_name <>", value, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameGreaterThan(String value) { addCriterion("promotion_name >", value, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameGreaterThanOrEqualTo(String value) { addCriterion("promotion_name >=", value, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameLessThan(String value) { addCriterion("promotion_name <", value, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameLessThanOrEqualTo(String value) { addCriterion("promotion_name <=", value, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameLike(String value) { addCriterion("promotion_name like", value, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameNotLike(String value) { addCriterion("promotion_name not like", value, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameIn(List values) { addCriterion("promotion_name in", values, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameNotIn(List values) { addCriterion("promotion_name not in", values, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameBetween(String value1, String value2) { addCriterion("promotion_name between", value1, value2, "promotionName"); return (Criteria) this; } public Criteria andPromotionNameNotBetween(String value1, String value2) { addCriterion("promotion_name not between", value1, value2, "promotionName"); return (Criteria) this; } public Criteria andPromotionAmountIsNull() { addCriterion("promotion_amount is null"); return (Criteria) this; } public Criteria andPromotionAmountIsNotNull() { addCriterion("promotion_amount is not null"); return (Criteria) this; } public Criteria andPromotionAmountEqualTo(BigDecimal value) { addCriterion("promotion_amount =", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountNotEqualTo(BigDecimal value) { addCriterion("promotion_amount <>", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountGreaterThan(BigDecimal value) { addCriterion("promotion_amount >", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("promotion_amount >=", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountLessThan(BigDecimal value) { addCriterion("promotion_amount <", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("promotion_amount <=", value, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountIn(List values) { addCriterion("promotion_amount in", values, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountNotIn(List values) { addCriterion("promotion_amount not in", values, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("promotion_amount between", value1, value2, "promotionAmount"); return (Criteria) this; } public Criteria andPromotionAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("promotion_amount not between", value1, value2, "promotionAmount"); return (Criteria) this; } public Criteria andCouponAmountIsNull() { addCriterion("coupon_amount is null"); return (Criteria) this; } public Criteria andCouponAmountIsNotNull() { addCriterion("coupon_amount is not null"); return (Criteria) this; } public Criteria andCouponAmountEqualTo(BigDecimal value) { addCriterion("coupon_amount =", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountNotEqualTo(BigDecimal value) { addCriterion("coupon_amount <>", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountGreaterThan(BigDecimal value) { addCriterion("coupon_amount >", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("coupon_amount >=", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountLessThan(BigDecimal value) { addCriterion("coupon_amount <", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("coupon_amount <=", value, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountIn(List values) { addCriterion("coupon_amount in", values, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountNotIn(List values) { addCriterion("coupon_amount not in", values, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("coupon_amount between", value1, value2, "couponAmount"); return (Criteria) this; } public Criteria andCouponAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("coupon_amount not between", value1, value2, "couponAmount"); return (Criteria) this; } public Criteria andIntegrationAmountIsNull() { addCriterion("integration_amount is null"); return (Criteria) this; } public Criteria andIntegrationAmountIsNotNull() { addCriterion("integration_amount is not null"); return (Criteria) this; } public Criteria andIntegrationAmountEqualTo(BigDecimal value) { addCriterion("integration_amount =", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountNotEqualTo(BigDecimal value) { addCriterion("integration_amount <>", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountGreaterThan(BigDecimal value) { addCriterion("integration_amount >", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("integration_amount >=", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountLessThan(BigDecimal value) { addCriterion("integration_amount <", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("integration_amount <=", value, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountIn(List values) { addCriterion("integration_amount in", values, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountNotIn(List values) { addCriterion("integration_amount not in", values, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("integration_amount between", value1, value2, "integrationAmount"); return (Criteria) this; } public Criteria andIntegrationAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("integration_amount not between", value1, value2, "integrationAmount"); return (Criteria) this; } public Criteria andRealAmountIsNull() { addCriterion("real_amount is null"); return (Criteria) this; } public Criteria andRealAmountIsNotNull() { addCriterion("real_amount is not null"); return (Criteria) this; } public Criteria andRealAmountEqualTo(BigDecimal value) { addCriterion("real_amount =", value, "realAmount"); return (Criteria) this; } public Criteria andRealAmountNotEqualTo(BigDecimal value) { addCriterion("real_amount <>", value, "realAmount"); return (Criteria) this; } public Criteria andRealAmountGreaterThan(BigDecimal value) { addCriterion("real_amount >", value, "realAmount"); return (Criteria) this; } public Criteria andRealAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("real_amount >=", value, "realAmount"); return (Criteria) this; } public Criteria andRealAmountLessThan(BigDecimal value) { addCriterion("real_amount <", value, "realAmount"); return (Criteria) this; } public Criteria andRealAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("real_amount <=", value, "realAmount"); return (Criteria) this; } public Criteria andRealAmountIn(List values) { addCriterion("real_amount in", values, "realAmount"); return (Criteria) this; } public Criteria andRealAmountNotIn(List values) { addCriterion("real_amount not in", values, "realAmount"); return (Criteria) this; } public Criteria andRealAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("real_amount between", value1, value2, "realAmount"); return (Criteria) this; } public Criteria andRealAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("real_amount not between", value1, value2, "realAmount"); return (Criteria) this; } public Criteria andGiftIntegrationIsNull() { addCriterion("gift_integration is null"); return (Criteria) this; } public Criteria andGiftIntegrationIsNotNull() { addCriterion("gift_integration is not null"); return (Criteria) this; } public Criteria andGiftIntegrationEqualTo(Integer value) { addCriterion("gift_integration =", value, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationNotEqualTo(Integer value) { addCriterion("gift_integration <>", value, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationGreaterThan(Integer value) { addCriterion("gift_integration >", value, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationGreaterThanOrEqualTo(Integer value) { addCriterion("gift_integration >=", value, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationLessThan(Integer value) { addCriterion("gift_integration <", value, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationLessThanOrEqualTo(Integer value) { addCriterion("gift_integration <=", value, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationIn(List values) { addCriterion("gift_integration in", values, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationNotIn(List values) { addCriterion("gift_integration not in", values, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationBetween(Integer value1, Integer value2) { addCriterion("gift_integration between", value1, value2, "giftIntegration"); return (Criteria) this; } public Criteria andGiftIntegrationNotBetween(Integer value1, Integer value2) { addCriterion("gift_integration not between", value1, value2, "giftIntegration"); return (Criteria) this; } public Criteria andGiftGrowthIsNull() { addCriterion("gift_growth is null"); return (Criteria) this; } public Criteria andGiftGrowthIsNotNull() { addCriterion("gift_growth is not null"); return (Criteria) this; } public Criteria andGiftGrowthEqualTo(Integer value) { addCriterion("gift_growth =", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthNotEqualTo(Integer value) { addCriterion("gift_growth <>", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthGreaterThan(Integer value) { addCriterion("gift_growth >", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthGreaterThanOrEqualTo(Integer value) { addCriterion("gift_growth >=", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthLessThan(Integer value) { addCriterion("gift_growth <", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthLessThanOrEqualTo(Integer value) { addCriterion("gift_growth <=", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthIn(List values) { addCriterion("gift_growth in", values, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthNotIn(List values) { addCriterion("gift_growth not in", values, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthBetween(Integer value1, Integer value2) { addCriterion("gift_growth between", value1, value2, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthNotBetween(Integer value1, Integer value2) { addCriterion("gift_growth not between", value1, value2, "giftGrowth"); return (Criteria) this; } public Criteria andProductAttrIsNull() { addCriterion("product_attr is null"); return (Criteria) this; } public Criteria andProductAttrIsNotNull() { addCriterion("product_attr is not null"); return (Criteria) this; } public Criteria andProductAttrEqualTo(String value) { addCriterion("product_attr =", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotEqualTo(String value) { addCriterion("product_attr <>", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrGreaterThan(String value) { addCriterion("product_attr >", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrGreaterThanOrEqualTo(String value) { addCriterion("product_attr >=", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLessThan(String value) { addCriterion("product_attr <", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLessThanOrEqualTo(String value) { addCriterion("product_attr <=", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLike(String value) { addCriterion("product_attr like", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotLike(String value) { addCriterion("product_attr not like", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrIn(List values) { addCriterion("product_attr in", values, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotIn(List values) { addCriterion("product_attr not in", values, "productAttr"); return (Criteria) this; } public Criteria andProductAttrBetween(String value1, String value2) { addCriterion("product_attr between", value1, value2, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotBetween(String value1, String value2) { addCriterion("product_attr not between", value1, value2, "productAttr"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderOperateHistory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class OmsOrderOperateHistory implements Serializable { private Long id; @Schema(title = "订单id") private Long orderId; @Schema(title = "操作人:用户;系统;后台管理员") private String operateMan; @Schema(title = "操作时间") private Date createTime; @Schema(title = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单") private Integer orderStatus; @Schema(title = "备注") private String note; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getOrderId() { return orderId; } public void setOrderId(Long orderId) { this.orderId = orderId; } 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; } public Integer getOrderStatus() { return orderStatus; } public void setOrderStatus(Integer orderStatus) { this.orderStatus = orderStatus; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } @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(", orderId=").append(orderId); sb.append(", operateMan=").append(operateMan); sb.append(", createTime=").append(createTime); sb.append(", orderStatus=").append(orderStatus); sb.append(", note=").append(note); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderOperateHistoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class OmsOrderOperateHistoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public OmsOrderOperateHistoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andOrderIdIsNull() { addCriterion("order_id is null"); return (Criteria) this; } public Criteria andOrderIdIsNotNull() { addCriterion("order_id is not null"); return (Criteria) this; } public Criteria andOrderIdEqualTo(Long value) { addCriterion("order_id =", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotEqualTo(Long value) { addCriterion("order_id <>", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdGreaterThan(Long value) { addCriterion("order_id >", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdGreaterThanOrEqualTo(Long value) { addCriterion("order_id >=", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdLessThan(Long value) { addCriterion("order_id <", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdLessThanOrEqualTo(Long value) { addCriterion("order_id <=", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdIn(List values) { addCriterion("order_id in", values, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotIn(List values) { addCriterion("order_id not in", values, "orderId"); return (Criteria) this; } public Criteria andOrderIdBetween(Long value1, Long value2) { addCriterion("order_id between", value1, value2, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotBetween(Long value1, Long value2) { addCriterion("order_id not between", value1, value2, "orderId"); return (Criteria) this; } public Criteria andOperateManIsNull() { addCriterion("operate_man is null"); return (Criteria) this; } public Criteria andOperateManIsNotNull() { addCriterion("operate_man is not null"); return (Criteria) this; } public Criteria andOperateManEqualTo(String value) { addCriterion("operate_man =", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotEqualTo(String value) { addCriterion("operate_man <>", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManGreaterThan(String value) { addCriterion("operate_man >", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManGreaterThanOrEqualTo(String value) { addCriterion("operate_man >=", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLessThan(String value) { addCriterion("operate_man <", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLessThanOrEqualTo(String value) { addCriterion("operate_man <=", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLike(String value) { addCriterion("operate_man like", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotLike(String value) { addCriterion("operate_man not like", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManIn(List values) { addCriterion("operate_man in", values, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotIn(List values) { addCriterion("operate_man not in", values, "operateMan"); return (Criteria) this; } public Criteria andOperateManBetween(String value1, String value2) { addCriterion("operate_man between", value1, value2, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotBetween(String value1, String value2) { addCriterion("operate_man not between", value1, value2, "operateMan"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andOrderStatusIsNull() { addCriterion("order_status is null"); return (Criteria) this; } public Criteria andOrderStatusIsNotNull() { addCriterion("order_status is not null"); return (Criteria) this; } public Criteria andOrderStatusEqualTo(Integer value) { addCriterion("order_status =", value, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusNotEqualTo(Integer value) { addCriterion("order_status <>", value, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusGreaterThan(Integer value) { addCriterion("order_status >", value, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusGreaterThanOrEqualTo(Integer value) { addCriterion("order_status >=", value, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusLessThan(Integer value) { addCriterion("order_status <", value, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusLessThanOrEqualTo(Integer value) { addCriterion("order_status <=", value, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusIn(List values) { addCriterion("order_status in", values, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusNotIn(List values) { addCriterion("order_status not in", values, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusBetween(Integer value1, Integer value2) { addCriterion("order_status between", value1, value2, "orderStatus"); return (Criteria) this; } public Criteria andOrderStatusNotBetween(Integer value1, Integer value2) { addCriterion("order_status not between", value1, value2, "orderStatus"); return (Criteria) this; } public Criteria andNoteIsNull() { addCriterion("note is null"); return (Criteria) this; } public Criteria andNoteIsNotNull() { addCriterion("note is not null"); return (Criteria) this; } public Criteria andNoteEqualTo(String value) { addCriterion("note =", value, "note"); return (Criteria) this; } public Criteria andNoteNotEqualTo(String value) { addCriterion("note <>", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThan(String value) { addCriterion("note >", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThanOrEqualTo(String value) { addCriterion("note >=", value, "note"); return (Criteria) this; } public Criteria andNoteLessThan(String value) { addCriterion("note <", value, "note"); return (Criteria) this; } public Criteria andNoteLessThanOrEqualTo(String value) { addCriterion("note <=", value, "note"); return (Criteria) this; } public Criteria andNoteLike(String value) { addCriterion("note like", value, "note"); return (Criteria) this; } public Criteria andNoteNotLike(String value) { addCriterion("note not like", value, "note"); return (Criteria) this; } public Criteria andNoteIn(List values) { addCriterion("note in", values, "note"); return (Criteria) this; } public Criteria andNoteNotIn(List values) { addCriterion("note not in", values, "note"); return (Criteria) this; } public Criteria andNoteBetween(String value1, String value2) { addCriterion("note between", value1, value2, "note"); return (Criteria) this; } public Criteria andNoteNotBetween(String value1, String value2) { addCriterion("note not between", value1, value2, "note"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnApply.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; public class OmsOrderReturnApply implements Serializable { private Long id; @Schema(title = "订单id") private Long orderId; @Schema(title = "收货地址表id") private Long companyAddressId; @Schema(title = "退货商品id") private Long productId; @Schema(title = "订单编号") private String orderSn; @Schema(title = "申请时间") private Date createTime; @Schema(title = "会员用户名") private String memberUsername; @Schema(title = "退款金额") private BigDecimal returnAmount; @Schema(title = "退货人姓名") private String returnName; @Schema(title = "退货人电话") private String returnPhone; @Schema(title = "申请状态:0->待处理;1->退货中;2->已完成;3->已拒绝") private Integer status; @Schema(title = "处理时间") private Date handleTime; @Schema(title = "商品图片") private String productPic; @Schema(title = "商品名称") private String productName; @Schema(title = "商品品牌") private String productBrand; @Schema(title = "商品销售属性:颜色:红色;尺码:xl;") private String productAttr; @Schema(title = "退货数量") private Integer productCount; @Schema(title = "商品单价") private BigDecimal productPrice; @Schema(title = "商品实际支付单价") private BigDecimal productRealPrice; @Schema(title = "原因") private String reason; @Schema(title = "描述") private String description; @Schema(title = "凭证图片,以逗号隔开") private String proofPics; @Schema(title = "处理备注") private String handleNote; @Schema(title = "处理人员") private String handleMan; @Schema(title = "收货人") private String receiveMan; @Schema(title = "收货时间") private Date receiveTime; @Schema(title = "收货备注") private String receiveNote; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getOrderId() { return orderId; } public void setOrderId(Long orderId) { this.orderId = orderId; } public Long getCompanyAddressId() { return companyAddressId; } public void setCompanyAddressId(Long companyAddressId) { this.companyAddressId = companyAddressId; } public Long getProductId() { return productId; } public void setProductId(Long productId) { this.productId = productId; } public String getOrderSn() { return orderSn; } public void setOrderSn(String orderSn) { this.orderSn = orderSn; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getMemberUsername() { return memberUsername; } public void setMemberUsername(String memberUsername) { this.memberUsername = memberUsername; } public BigDecimal getReturnAmount() { return returnAmount; } public void setReturnAmount(BigDecimal returnAmount) { this.returnAmount = returnAmount; } public String getReturnName() { return returnName; } public void setReturnName(String returnName) { this.returnName = returnName; } public String getReturnPhone() { return returnPhone; } public void setReturnPhone(String returnPhone) { this.returnPhone = returnPhone; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Date getHandleTime() { return handleTime; } public void setHandleTime(Date handleTime) { this.handleTime = handleTime; } public String getProductPic() { return productPic; } public void setProductPic(String productPic) { this.productPic = productPic; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getProductBrand() { return productBrand; } public void setProductBrand(String productBrand) { this.productBrand = productBrand; } public String getProductAttr() { return productAttr; } public void setProductAttr(String productAttr) { this.productAttr = productAttr; } public Integer getProductCount() { return productCount; } public void setProductCount(Integer productCount) { this.productCount = productCount; } public BigDecimal getProductPrice() { return productPrice; } public void setProductPrice(BigDecimal productPrice) { this.productPrice = productPrice; } public BigDecimal getProductRealPrice() { return productRealPrice; } public void setProductRealPrice(BigDecimal productRealPrice) { this.productRealPrice = productRealPrice; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getProofPics() { return proofPics; } public void setProofPics(String proofPics) { this.proofPics = proofPics; } public String getHandleNote() { return handleNote; } public void setHandleNote(String handleNote) { this.handleNote = handleNote; } public String getHandleMan() { return handleMan; } public void setHandleMan(String handleMan) { this.handleMan = handleMan; } public String getReceiveMan() { return receiveMan; } public void setReceiveMan(String receiveMan) { this.receiveMan = receiveMan; } public Date getReceiveTime() { return receiveTime; } public void setReceiveTime(Date receiveTime) { this.receiveTime = receiveTime; } public String getReceiveNote() { return receiveNote; } public void setReceiveNote(String receiveNote) { this.receiveNote = receiveNote; } @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(", orderId=").append(orderId); sb.append(", companyAddressId=").append(companyAddressId); sb.append(", productId=").append(productId); sb.append(", orderSn=").append(orderSn); sb.append(", createTime=").append(createTime); sb.append(", memberUsername=").append(memberUsername); sb.append(", returnAmount=").append(returnAmount); sb.append(", returnName=").append(returnName); sb.append(", returnPhone=").append(returnPhone); sb.append(", status=").append(status); sb.append(", handleTime=").append(handleTime); sb.append(", productPic=").append(productPic); sb.append(", productName=").append(productName); sb.append(", productBrand=").append(productBrand); sb.append(", productAttr=").append(productAttr); sb.append(", productCount=").append(productCount); sb.append(", productPrice=").append(productPrice); sb.append(", productRealPrice=").append(productRealPrice); sb.append(", reason=").append(reason); sb.append(", description=").append(description); sb.append(", proofPics=").append(proofPics); sb.append(", handleNote=").append(handleNote); sb.append(", handleMan=").append(handleMan); sb.append(", receiveMan=").append(receiveMan); sb.append(", receiveTime=").append(receiveTime); sb.append(", receiveNote=").append(receiveNote); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnApplyExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; public class OmsOrderReturnApplyExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public OmsOrderReturnApplyExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andOrderIdIsNull() { addCriterion("order_id is null"); return (Criteria) this; } public Criteria andOrderIdIsNotNull() { addCriterion("order_id is not null"); return (Criteria) this; } public Criteria andOrderIdEqualTo(Long value) { addCriterion("order_id =", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotEqualTo(Long value) { addCriterion("order_id <>", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdGreaterThan(Long value) { addCriterion("order_id >", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdGreaterThanOrEqualTo(Long value) { addCriterion("order_id >=", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdLessThan(Long value) { addCriterion("order_id <", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdLessThanOrEqualTo(Long value) { addCriterion("order_id <=", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdIn(List values) { addCriterion("order_id in", values, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotIn(List values) { addCriterion("order_id not in", values, "orderId"); return (Criteria) this; } public Criteria andOrderIdBetween(Long value1, Long value2) { addCriterion("order_id between", value1, value2, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotBetween(Long value1, Long value2) { addCriterion("order_id not between", value1, value2, "orderId"); return (Criteria) this; } public Criteria andCompanyAddressIdIsNull() { addCriterion("company_address_id is null"); return (Criteria) this; } public Criteria andCompanyAddressIdIsNotNull() { addCriterion("company_address_id is not null"); return (Criteria) this; } public Criteria andCompanyAddressIdEqualTo(Long value) { addCriterion("company_address_id =", value, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdNotEqualTo(Long value) { addCriterion("company_address_id <>", value, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdGreaterThan(Long value) { addCriterion("company_address_id >", value, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdGreaterThanOrEqualTo(Long value) { addCriterion("company_address_id >=", value, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdLessThan(Long value) { addCriterion("company_address_id <", value, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdLessThanOrEqualTo(Long value) { addCriterion("company_address_id <=", value, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdIn(List values) { addCriterion("company_address_id in", values, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdNotIn(List values) { addCriterion("company_address_id not in", values, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdBetween(Long value1, Long value2) { addCriterion("company_address_id between", value1, value2, "companyAddressId"); return (Criteria) this; } public Criteria andCompanyAddressIdNotBetween(Long value1, Long value2) { addCriterion("company_address_id not between", value1, value2, "companyAddressId"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andOrderSnIsNull() { addCriterion("order_sn is null"); return (Criteria) this; } public Criteria andOrderSnIsNotNull() { addCriterion("order_sn is not null"); return (Criteria) this; } public Criteria andOrderSnEqualTo(String value) { addCriterion("order_sn =", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotEqualTo(String value) { addCriterion("order_sn <>", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnGreaterThan(String value) { addCriterion("order_sn >", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnGreaterThanOrEqualTo(String value) { addCriterion("order_sn >=", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLessThan(String value) { addCriterion("order_sn <", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLessThanOrEqualTo(String value) { addCriterion("order_sn <=", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLike(String value) { addCriterion("order_sn like", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotLike(String value) { addCriterion("order_sn not like", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnIn(List values) { addCriterion("order_sn in", values, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotIn(List values) { addCriterion("order_sn not in", values, "orderSn"); return (Criteria) this; } public Criteria andOrderSnBetween(String value1, String value2) { addCriterion("order_sn between", value1, value2, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotBetween(String value1, String value2) { addCriterion("order_sn not between", value1, value2, "orderSn"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andMemberUsernameIsNull() { addCriterion("member_username is null"); return (Criteria) this; } public Criteria andMemberUsernameIsNotNull() { addCriterion("member_username is not null"); return (Criteria) this; } public Criteria andMemberUsernameEqualTo(String value) { addCriterion("member_username =", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameNotEqualTo(String value) { addCriterion("member_username <>", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameGreaterThan(String value) { addCriterion("member_username >", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameGreaterThanOrEqualTo(String value) { addCriterion("member_username >=", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameLessThan(String value) { addCriterion("member_username <", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameLessThanOrEqualTo(String value) { addCriterion("member_username <=", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameLike(String value) { addCriterion("member_username like", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameNotLike(String value) { addCriterion("member_username not like", value, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameIn(List values) { addCriterion("member_username in", values, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameNotIn(List values) { addCriterion("member_username not in", values, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameBetween(String value1, String value2) { addCriterion("member_username between", value1, value2, "memberUsername"); return (Criteria) this; } public Criteria andMemberUsernameNotBetween(String value1, String value2) { addCriterion("member_username not between", value1, value2, "memberUsername"); return (Criteria) this; } public Criteria andReturnAmountIsNull() { addCriterion("return_amount is null"); return (Criteria) this; } public Criteria andReturnAmountIsNotNull() { addCriterion("return_amount is not null"); return (Criteria) this; } public Criteria andReturnAmountEqualTo(BigDecimal value) { addCriterion("return_amount =", value, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountNotEqualTo(BigDecimal value) { addCriterion("return_amount <>", value, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountGreaterThan(BigDecimal value) { addCriterion("return_amount >", value, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("return_amount >=", value, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountLessThan(BigDecimal value) { addCriterion("return_amount <", value, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("return_amount <=", value, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountIn(List values) { addCriterion("return_amount in", values, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountNotIn(List values) { addCriterion("return_amount not in", values, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("return_amount between", value1, value2, "returnAmount"); return (Criteria) this; } public Criteria andReturnAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("return_amount not between", value1, value2, "returnAmount"); return (Criteria) this; } public Criteria andReturnNameIsNull() { addCriterion("return_name is null"); return (Criteria) this; } public Criteria andReturnNameIsNotNull() { addCriterion("return_name is not null"); return (Criteria) this; } public Criteria andReturnNameEqualTo(String value) { addCriterion("return_name =", value, "returnName"); return (Criteria) this; } public Criteria andReturnNameNotEqualTo(String value) { addCriterion("return_name <>", value, "returnName"); return (Criteria) this; } public Criteria andReturnNameGreaterThan(String value) { addCriterion("return_name >", value, "returnName"); return (Criteria) this; } public Criteria andReturnNameGreaterThanOrEqualTo(String value) { addCriterion("return_name >=", value, "returnName"); return (Criteria) this; } public Criteria andReturnNameLessThan(String value) { addCriterion("return_name <", value, "returnName"); return (Criteria) this; } public Criteria andReturnNameLessThanOrEqualTo(String value) { addCriterion("return_name <=", value, "returnName"); return (Criteria) this; } public Criteria andReturnNameLike(String value) { addCriterion("return_name like", value, "returnName"); return (Criteria) this; } public Criteria andReturnNameNotLike(String value) { addCriterion("return_name not like", value, "returnName"); return (Criteria) this; } public Criteria andReturnNameIn(List values) { addCriterion("return_name in", values, "returnName"); return (Criteria) this; } public Criteria andReturnNameNotIn(List values) { addCriterion("return_name not in", values, "returnName"); return (Criteria) this; } public Criteria andReturnNameBetween(String value1, String value2) { addCriterion("return_name between", value1, value2, "returnName"); return (Criteria) this; } public Criteria andReturnNameNotBetween(String value1, String value2) { addCriterion("return_name not between", value1, value2, "returnName"); return (Criteria) this; } public Criteria andReturnPhoneIsNull() { addCriterion("return_phone is null"); return (Criteria) this; } public Criteria andReturnPhoneIsNotNull() { addCriterion("return_phone is not null"); return (Criteria) this; } public Criteria andReturnPhoneEqualTo(String value) { addCriterion("return_phone =", value, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneNotEqualTo(String value) { addCriterion("return_phone <>", value, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneGreaterThan(String value) { addCriterion("return_phone >", value, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneGreaterThanOrEqualTo(String value) { addCriterion("return_phone >=", value, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneLessThan(String value) { addCriterion("return_phone <", value, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneLessThanOrEqualTo(String value) { addCriterion("return_phone <=", value, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneLike(String value) { addCriterion("return_phone like", value, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneNotLike(String value) { addCriterion("return_phone not like", value, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneIn(List values) { addCriterion("return_phone in", values, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneNotIn(List values) { addCriterion("return_phone not in", values, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneBetween(String value1, String value2) { addCriterion("return_phone between", value1, value2, "returnPhone"); return (Criteria) this; } public Criteria andReturnPhoneNotBetween(String value1, String value2) { addCriterion("return_phone not between", value1, value2, "returnPhone"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andHandleTimeIsNull() { addCriterion("handle_time is null"); return (Criteria) this; } public Criteria andHandleTimeIsNotNull() { addCriterion("handle_time is not null"); return (Criteria) this; } public Criteria andHandleTimeEqualTo(Date value) { addCriterion("handle_time =", value, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeNotEqualTo(Date value) { addCriterion("handle_time <>", value, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeGreaterThan(Date value) { addCriterion("handle_time >", value, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeGreaterThanOrEqualTo(Date value) { addCriterion("handle_time >=", value, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeLessThan(Date value) { addCriterion("handle_time <", value, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeLessThanOrEqualTo(Date value) { addCriterion("handle_time <=", value, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeIn(List values) { addCriterion("handle_time in", values, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeNotIn(List values) { addCriterion("handle_time not in", values, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeBetween(Date value1, Date value2) { addCriterion("handle_time between", value1, value2, "handleTime"); return (Criteria) this; } public Criteria andHandleTimeNotBetween(Date value1, Date value2) { addCriterion("handle_time not between", value1, value2, "handleTime"); return (Criteria) this; } public Criteria andProductPicIsNull() { addCriterion("product_pic is null"); return (Criteria) this; } public Criteria andProductPicIsNotNull() { addCriterion("product_pic is not null"); return (Criteria) this; } public Criteria andProductPicEqualTo(String value) { addCriterion("product_pic =", value, "productPic"); return (Criteria) this; } public Criteria andProductPicNotEqualTo(String value) { addCriterion("product_pic <>", value, "productPic"); return (Criteria) this; } public Criteria andProductPicGreaterThan(String value) { addCriterion("product_pic >", value, "productPic"); return (Criteria) this; } public Criteria andProductPicGreaterThanOrEqualTo(String value) { addCriterion("product_pic >=", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLessThan(String value) { addCriterion("product_pic <", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLessThanOrEqualTo(String value) { addCriterion("product_pic <=", value, "productPic"); return (Criteria) this; } public Criteria andProductPicLike(String value) { addCriterion("product_pic like", value, "productPic"); return (Criteria) this; } public Criteria andProductPicNotLike(String value) { addCriterion("product_pic not like", value, "productPic"); return (Criteria) this; } public Criteria andProductPicIn(List values) { addCriterion("product_pic in", values, "productPic"); return (Criteria) this; } public Criteria andProductPicNotIn(List values) { addCriterion("product_pic not in", values, "productPic"); return (Criteria) this; } public Criteria andProductPicBetween(String value1, String value2) { addCriterion("product_pic between", value1, value2, "productPic"); return (Criteria) this; } public Criteria andProductPicNotBetween(String value1, String value2) { addCriterion("product_pic not between", value1, value2, "productPic"); return (Criteria) this; } public Criteria andProductNameIsNull() { addCriterion("product_name is null"); return (Criteria) this; } public Criteria andProductNameIsNotNull() { addCriterion("product_name is not null"); return (Criteria) this; } public Criteria andProductNameEqualTo(String value) { addCriterion("product_name =", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotEqualTo(String value) { addCriterion("product_name <>", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThan(String value) { addCriterion("product_name >", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThanOrEqualTo(String value) { addCriterion("product_name >=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThan(String value) { addCriterion("product_name <", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThanOrEqualTo(String value) { addCriterion("product_name <=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLike(String value) { addCriterion("product_name like", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotLike(String value) { addCriterion("product_name not like", value, "productName"); return (Criteria) this; } public Criteria andProductNameIn(List values) { addCriterion("product_name in", values, "productName"); return (Criteria) this; } public Criteria andProductNameNotIn(List values) { addCriterion("product_name not in", values, "productName"); return (Criteria) this; } public Criteria andProductNameBetween(String value1, String value2) { addCriterion("product_name between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductNameNotBetween(String value1, String value2) { addCriterion("product_name not between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductBrandIsNull() { addCriterion("product_brand is null"); return (Criteria) this; } public Criteria andProductBrandIsNotNull() { addCriterion("product_brand is not null"); return (Criteria) this; } public Criteria andProductBrandEqualTo(String value) { addCriterion("product_brand =", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotEqualTo(String value) { addCriterion("product_brand <>", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandGreaterThan(String value) { addCriterion("product_brand >", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandGreaterThanOrEqualTo(String value) { addCriterion("product_brand >=", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLessThan(String value) { addCriterion("product_brand <", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLessThanOrEqualTo(String value) { addCriterion("product_brand <=", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandLike(String value) { addCriterion("product_brand like", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotLike(String value) { addCriterion("product_brand not like", value, "productBrand"); return (Criteria) this; } public Criteria andProductBrandIn(List values) { addCriterion("product_brand in", values, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotIn(List values) { addCriterion("product_brand not in", values, "productBrand"); return (Criteria) this; } public Criteria andProductBrandBetween(String value1, String value2) { addCriterion("product_brand between", value1, value2, "productBrand"); return (Criteria) this; } public Criteria andProductBrandNotBetween(String value1, String value2) { addCriterion("product_brand not between", value1, value2, "productBrand"); return (Criteria) this; } public Criteria andProductAttrIsNull() { addCriterion("product_attr is null"); return (Criteria) this; } public Criteria andProductAttrIsNotNull() { addCriterion("product_attr is not null"); return (Criteria) this; } public Criteria andProductAttrEqualTo(String value) { addCriterion("product_attr =", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotEqualTo(String value) { addCriterion("product_attr <>", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrGreaterThan(String value) { addCriterion("product_attr >", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrGreaterThanOrEqualTo(String value) { addCriterion("product_attr >=", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLessThan(String value) { addCriterion("product_attr <", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLessThanOrEqualTo(String value) { addCriterion("product_attr <=", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrLike(String value) { addCriterion("product_attr like", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotLike(String value) { addCriterion("product_attr not like", value, "productAttr"); return (Criteria) this; } public Criteria andProductAttrIn(List values) { addCriterion("product_attr in", values, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotIn(List values) { addCriterion("product_attr not in", values, "productAttr"); return (Criteria) this; } public Criteria andProductAttrBetween(String value1, String value2) { addCriterion("product_attr between", value1, value2, "productAttr"); return (Criteria) this; } public Criteria andProductAttrNotBetween(String value1, String value2) { addCriterion("product_attr not between", value1, value2, "productAttr"); return (Criteria) this; } public Criteria andProductCountIsNull() { addCriterion("product_count is null"); return (Criteria) this; } public Criteria andProductCountIsNotNull() { addCriterion("product_count is not null"); return (Criteria) this; } public Criteria andProductCountEqualTo(Integer value) { addCriterion("product_count =", value, "productCount"); return (Criteria) this; } public Criteria andProductCountNotEqualTo(Integer value) { addCriterion("product_count <>", value, "productCount"); return (Criteria) this; } public Criteria andProductCountGreaterThan(Integer value) { addCriterion("product_count >", value, "productCount"); return (Criteria) this; } public Criteria andProductCountGreaterThanOrEqualTo(Integer value) { addCriterion("product_count >=", value, "productCount"); return (Criteria) this; } public Criteria andProductCountLessThan(Integer value) { addCriterion("product_count <", value, "productCount"); return (Criteria) this; } public Criteria andProductCountLessThanOrEqualTo(Integer value) { addCriterion("product_count <=", value, "productCount"); return (Criteria) this; } public Criteria andProductCountIn(List values) { addCriterion("product_count in", values, "productCount"); return (Criteria) this; } public Criteria andProductCountNotIn(List values) { addCriterion("product_count not in", values, "productCount"); return (Criteria) this; } public Criteria andProductCountBetween(Integer value1, Integer value2) { addCriterion("product_count between", value1, value2, "productCount"); return (Criteria) this; } public Criteria andProductCountNotBetween(Integer value1, Integer value2) { addCriterion("product_count not between", value1, value2, "productCount"); return (Criteria) this; } public Criteria andProductPriceIsNull() { addCriterion("product_price is null"); return (Criteria) this; } public Criteria andProductPriceIsNotNull() { addCriterion("product_price is not null"); return (Criteria) this; } public Criteria andProductPriceEqualTo(BigDecimal value) { addCriterion("product_price =", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceNotEqualTo(BigDecimal value) { addCriterion("product_price <>", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceGreaterThan(BigDecimal value) { addCriterion("product_price >", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("product_price >=", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceLessThan(BigDecimal value) { addCriterion("product_price <", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("product_price <=", value, "productPrice"); return (Criteria) this; } public Criteria andProductPriceIn(List values) { addCriterion("product_price in", values, "productPrice"); return (Criteria) this; } public Criteria andProductPriceNotIn(List values) { addCriterion("product_price not in", values, "productPrice"); return (Criteria) this; } public Criteria andProductPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("product_price between", value1, value2, "productPrice"); return (Criteria) this; } public Criteria andProductPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("product_price not between", value1, value2, "productPrice"); return (Criteria) this; } public Criteria andProductRealPriceIsNull() { addCriterion("product_real_price is null"); return (Criteria) this; } public Criteria andProductRealPriceIsNotNull() { addCriterion("product_real_price is not null"); return (Criteria) this; } public Criteria andProductRealPriceEqualTo(BigDecimal value) { addCriterion("product_real_price =", value, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceNotEqualTo(BigDecimal value) { addCriterion("product_real_price <>", value, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceGreaterThan(BigDecimal value) { addCriterion("product_real_price >", value, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("product_real_price >=", value, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceLessThan(BigDecimal value) { addCriterion("product_real_price <", value, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("product_real_price <=", value, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceIn(List values) { addCriterion("product_real_price in", values, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceNotIn(List values) { addCriterion("product_real_price not in", values, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("product_real_price between", value1, value2, "productRealPrice"); return (Criteria) this; } public Criteria andProductRealPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("product_real_price not between", value1, value2, "productRealPrice"); return (Criteria) this; } public Criteria andReasonIsNull() { addCriterion("reason is null"); return (Criteria) this; } public Criteria andReasonIsNotNull() { addCriterion("reason is not null"); return (Criteria) this; } public Criteria andReasonEqualTo(String value) { addCriterion("reason =", value, "reason"); return (Criteria) this; } public Criteria andReasonNotEqualTo(String value) { addCriterion("reason <>", value, "reason"); return (Criteria) this; } public Criteria andReasonGreaterThan(String value) { addCriterion("reason >", value, "reason"); return (Criteria) this; } public Criteria andReasonGreaterThanOrEqualTo(String value) { addCriterion("reason >=", value, "reason"); return (Criteria) this; } public Criteria andReasonLessThan(String value) { addCriterion("reason <", value, "reason"); return (Criteria) this; } public Criteria andReasonLessThanOrEqualTo(String value) { addCriterion("reason <=", value, "reason"); return (Criteria) this; } public Criteria andReasonLike(String value) { addCriterion("reason like", value, "reason"); return (Criteria) this; } public Criteria andReasonNotLike(String value) { addCriterion("reason not like", value, "reason"); return (Criteria) this; } public Criteria andReasonIn(List values) { addCriterion("reason in", values, "reason"); return (Criteria) this; } public Criteria andReasonNotIn(List values) { addCriterion("reason not in", values, "reason"); return (Criteria) this; } public Criteria andReasonBetween(String value1, String value2) { addCriterion("reason between", value1, value2, "reason"); return (Criteria) this; } public Criteria andReasonNotBetween(String value1, String value2) { addCriterion("reason not between", value1, value2, "reason"); return (Criteria) this; } public Criteria andDescriptionIsNull() { addCriterion("description is null"); return (Criteria) this; } public Criteria andDescriptionIsNotNull() { addCriterion("description is not null"); return (Criteria) this; } public Criteria andDescriptionEqualTo(String value) { addCriterion("description =", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotEqualTo(String value) { addCriterion("description <>", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThan(String value) { addCriterion("description >", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThanOrEqualTo(String value) { addCriterion("description >=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThan(String value) { addCriterion("description <", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThanOrEqualTo(String value) { addCriterion("description <=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLike(String value) { addCriterion("description like", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotLike(String value) { addCriterion("description not like", value, "description"); return (Criteria) this; } public Criteria andDescriptionIn(List values) { addCriterion("description in", values, "description"); return (Criteria) this; } public Criteria andDescriptionNotIn(List values) { addCriterion("description not in", values, "description"); return (Criteria) this; } public Criteria andDescriptionBetween(String value1, String value2) { addCriterion("description between", value1, value2, "description"); return (Criteria) this; } public Criteria andDescriptionNotBetween(String value1, String value2) { addCriterion("description not between", value1, value2, "description"); return (Criteria) this; } public Criteria andProofPicsIsNull() { addCriterion("proof_pics is null"); return (Criteria) this; } public Criteria andProofPicsIsNotNull() { addCriterion("proof_pics is not null"); return (Criteria) this; } public Criteria andProofPicsEqualTo(String value) { addCriterion("proof_pics =", value, "proofPics"); return (Criteria) this; } public Criteria andProofPicsNotEqualTo(String value) { addCriterion("proof_pics <>", value, "proofPics"); return (Criteria) this; } public Criteria andProofPicsGreaterThan(String value) { addCriterion("proof_pics >", value, "proofPics"); return (Criteria) this; } public Criteria andProofPicsGreaterThanOrEqualTo(String value) { addCriterion("proof_pics >=", value, "proofPics"); return (Criteria) this; } public Criteria andProofPicsLessThan(String value) { addCriterion("proof_pics <", value, "proofPics"); return (Criteria) this; } public Criteria andProofPicsLessThanOrEqualTo(String value) { addCriterion("proof_pics <=", value, "proofPics"); return (Criteria) this; } public Criteria andProofPicsLike(String value) { addCriterion("proof_pics like", value, "proofPics"); return (Criteria) this; } public Criteria andProofPicsNotLike(String value) { addCriterion("proof_pics not like", value, "proofPics"); return (Criteria) this; } public Criteria andProofPicsIn(List values) { addCriterion("proof_pics in", values, "proofPics"); return (Criteria) this; } public Criteria andProofPicsNotIn(List values) { addCriterion("proof_pics not in", values, "proofPics"); return (Criteria) this; } public Criteria andProofPicsBetween(String value1, String value2) { addCriterion("proof_pics between", value1, value2, "proofPics"); return (Criteria) this; } public Criteria andProofPicsNotBetween(String value1, String value2) { addCriterion("proof_pics not between", value1, value2, "proofPics"); return (Criteria) this; } public Criteria andHandleNoteIsNull() { addCriterion("handle_note is null"); return (Criteria) this; } public Criteria andHandleNoteIsNotNull() { addCriterion("handle_note is not null"); return (Criteria) this; } public Criteria andHandleNoteEqualTo(String value) { addCriterion("handle_note =", value, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteNotEqualTo(String value) { addCriterion("handle_note <>", value, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteGreaterThan(String value) { addCriterion("handle_note >", value, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteGreaterThanOrEqualTo(String value) { addCriterion("handle_note >=", value, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteLessThan(String value) { addCriterion("handle_note <", value, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteLessThanOrEqualTo(String value) { addCriterion("handle_note <=", value, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteLike(String value) { addCriterion("handle_note like", value, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteNotLike(String value) { addCriterion("handle_note not like", value, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteIn(List values) { addCriterion("handle_note in", values, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteNotIn(List values) { addCriterion("handle_note not in", values, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteBetween(String value1, String value2) { addCriterion("handle_note between", value1, value2, "handleNote"); return (Criteria) this; } public Criteria andHandleNoteNotBetween(String value1, String value2) { addCriterion("handle_note not between", value1, value2, "handleNote"); return (Criteria) this; } public Criteria andHandleManIsNull() { addCriterion("handle_man is null"); return (Criteria) this; } public Criteria andHandleManIsNotNull() { addCriterion("handle_man is not null"); return (Criteria) this; } public Criteria andHandleManEqualTo(String value) { addCriterion("handle_man =", value, "handleMan"); return (Criteria) this; } public Criteria andHandleManNotEqualTo(String value) { addCriterion("handle_man <>", value, "handleMan"); return (Criteria) this; } public Criteria andHandleManGreaterThan(String value) { addCriterion("handle_man >", value, "handleMan"); return (Criteria) this; } public Criteria andHandleManGreaterThanOrEqualTo(String value) { addCriterion("handle_man >=", value, "handleMan"); return (Criteria) this; } public Criteria andHandleManLessThan(String value) { addCriterion("handle_man <", value, "handleMan"); return (Criteria) this; } public Criteria andHandleManLessThanOrEqualTo(String value) { addCriterion("handle_man <=", value, "handleMan"); return (Criteria) this; } public Criteria andHandleManLike(String value) { addCriterion("handle_man like", value, "handleMan"); return (Criteria) this; } public Criteria andHandleManNotLike(String value) { addCriterion("handle_man not like", value, "handleMan"); return (Criteria) this; } public Criteria andHandleManIn(List values) { addCriterion("handle_man in", values, "handleMan"); return (Criteria) this; } public Criteria andHandleManNotIn(List values) { addCriterion("handle_man not in", values, "handleMan"); return (Criteria) this; } public Criteria andHandleManBetween(String value1, String value2) { addCriterion("handle_man between", value1, value2, "handleMan"); return (Criteria) this; } public Criteria andHandleManNotBetween(String value1, String value2) { addCriterion("handle_man not between", value1, value2, "handleMan"); return (Criteria) this; } public Criteria andReceiveManIsNull() { addCriterion("receive_man is null"); return (Criteria) this; } public Criteria andReceiveManIsNotNull() { addCriterion("receive_man is not null"); return (Criteria) this; } public Criteria andReceiveManEqualTo(String value) { addCriterion("receive_man =", value, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManNotEqualTo(String value) { addCriterion("receive_man <>", value, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManGreaterThan(String value) { addCriterion("receive_man >", value, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManGreaterThanOrEqualTo(String value) { addCriterion("receive_man >=", value, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManLessThan(String value) { addCriterion("receive_man <", value, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManLessThanOrEqualTo(String value) { addCriterion("receive_man <=", value, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManLike(String value) { addCriterion("receive_man like", value, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManNotLike(String value) { addCriterion("receive_man not like", value, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManIn(List values) { addCriterion("receive_man in", values, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManNotIn(List values) { addCriterion("receive_man not in", values, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManBetween(String value1, String value2) { addCriterion("receive_man between", value1, value2, "receiveMan"); return (Criteria) this; } public Criteria andReceiveManNotBetween(String value1, String value2) { addCriterion("receive_man not between", value1, value2, "receiveMan"); return (Criteria) this; } public Criteria andReceiveTimeIsNull() { addCriterion("receive_time is null"); return (Criteria) this; } public Criteria andReceiveTimeIsNotNull() { addCriterion("receive_time is not null"); return (Criteria) this; } public Criteria andReceiveTimeEqualTo(Date value) { addCriterion("receive_time =", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeNotEqualTo(Date value) { addCriterion("receive_time <>", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeGreaterThan(Date value) { addCriterion("receive_time >", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeGreaterThanOrEqualTo(Date value) { addCriterion("receive_time >=", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeLessThan(Date value) { addCriterion("receive_time <", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeLessThanOrEqualTo(Date value) { addCriterion("receive_time <=", value, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeIn(List values) { addCriterion("receive_time in", values, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeNotIn(List values) { addCriterion("receive_time not in", values, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeBetween(Date value1, Date value2) { addCriterion("receive_time between", value1, value2, "receiveTime"); return (Criteria) this; } public Criteria andReceiveTimeNotBetween(Date value1, Date value2) { addCriterion("receive_time not between", value1, value2, "receiveTime"); return (Criteria) this; } public Criteria andReceiveNoteIsNull() { addCriterion("receive_note is null"); return (Criteria) this; } public Criteria andReceiveNoteIsNotNull() { addCriterion("receive_note is not null"); return (Criteria) this; } public Criteria andReceiveNoteEqualTo(String value) { addCriterion("receive_note =", value, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteNotEqualTo(String value) { addCriterion("receive_note <>", value, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteGreaterThan(String value) { addCriterion("receive_note >", value, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteGreaterThanOrEqualTo(String value) { addCriterion("receive_note >=", value, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteLessThan(String value) { addCriterion("receive_note <", value, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteLessThanOrEqualTo(String value) { addCriterion("receive_note <=", value, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteLike(String value) { addCriterion("receive_note like", value, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteNotLike(String value) { addCriterion("receive_note not like", value, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteIn(List values) { addCriterion("receive_note in", values, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteNotIn(List values) { addCriterion("receive_note not in", values, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteBetween(String value1, String value2) { addCriterion("receive_note between", value1, value2, "receiveNote"); return (Criteria) this; } public Criteria andReceiveNoteNotBetween(String value1, String value2) { addCriterion("receive_note not between", value1, value2, "receiveNote"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnReason.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class OmsOrderReturnReason implements Serializable { private Long id; @Schema(title = "退货类型") private String name; private Integer sort; @Schema(title = "状态:0->不启用;1->启用") private Integer status; @Schema(title = "添加时间") private Date createTime; private static final long serialVersionUID = 1L; 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 Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } @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(", name=").append(name); sb.append(", sort=").append(sort); sb.append(", status=").append(status); sb.append(", createTime=").append(createTime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderReturnReasonExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class OmsOrderReturnReasonExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public OmsOrderReturnReasonExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderSetting.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class OmsOrderSetting implements Serializable { private Long id; @Schema(title = "秒杀订单超时关闭时间(分)") private Integer flashOrderOvertime; @Schema(title = "正常订单超时时间(分)") private Integer normalOrderOvertime; @Schema(title = "发货后自动确认收货时间(天)") private Integer confirmOvertime; @Schema(title = "自动完成交易时间,不能申请售后(天)") private Integer finishOvertime; @Schema(title = "订单完成后自动好评时间(天)") private Integer commentOvertime; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getFlashOrderOvertime() { return flashOrderOvertime; } public void setFlashOrderOvertime(Integer flashOrderOvertime) { this.flashOrderOvertime = flashOrderOvertime; } public Integer getNormalOrderOvertime() { return normalOrderOvertime; } public void setNormalOrderOvertime(Integer normalOrderOvertime) { this.normalOrderOvertime = normalOrderOvertime; } public Integer getConfirmOvertime() { return confirmOvertime; } public void setConfirmOvertime(Integer confirmOvertime) { this.confirmOvertime = confirmOvertime; } public Integer getFinishOvertime() { return finishOvertime; } public void setFinishOvertime(Integer finishOvertime) { this.finishOvertime = finishOvertime; } public Integer getCommentOvertime() { return commentOvertime; } public void setCommentOvertime(Integer commentOvertime) { this.commentOvertime = commentOvertime; } @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(", flashOrderOvertime=").append(flashOrderOvertime); sb.append(", normalOrderOvertime=").append(normalOrderOvertime); sb.append(", confirmOvertime=").append(confirmOvertime); sb.append(", finishOvertime=").append(finishOvertime); sb.append(", commentOvertime=").append(commentOvertime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/OmsOrderSettingExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class OmsOrderSettingExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public OmsOrderSettingExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andFlashOrderOvertimeIsNull() { addCriterion("flash_order_overtime is null"); return (Criteria) this; } public Criteria andFlashOrderOvertimeIsNotNull() { addCriterion("flash_order_overtime is not null"); return (Criteria) this; } public Criteria andFlashOrderOvertimeEqualTo(Integer value) { addCriterion("flash_order_overtime =", value, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeNotEqualTo(Integer value) { addCriterion("flash_order_overtime <>", value, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeGreaterThan(Integer value) { addCriterion("flash_order_overtime >", value, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeGreaterThanOrEqualTo(Integer value) { addCriterion("flash_order_overtime >=", value, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeLessThan(Integer value) { addCriterion("flash_order_overtime <", value, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeLessThanOrEqualTo(Integer value) { addCriterion("flash_order_overtime <=", value, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeIn(List values) { addCriterion("flash_order_overtime in", values, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeNotIn(List values) { addCriterion("flash_order_overtime not in", values, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeBetween(Integer value1, Integer value2) { addCriterion("flash_order_overtime between", value1, value2, "flashOrderOvertime"); return (Criteria) this; } public Criteria andFlashOrderOvertimeNotBetween(Integer value1, Integer value2) { addCriterion("flash_order_overtime not between", value1, value2, "flashOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeIsNull() { addCriterion("normal_order_overtime is null"); return (Criteria) this; } public Criteria andNormalOrderOvertimeIsNotNull() { addCriterion("normal_order_overtime is not null"); return (Criteria) this; } public Criteria andNormalOrderOvertimeEqualTo(Integer value) { addCriterion("normal_order_overtime =", value, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeNotEqualTo(Integer value) { addCriterion("normal_order_overtime <>", value, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeGreaterThan(Integer value) { addCriterion("normal_order_overtime >", value, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeGreaterThanOrEqualTo(Integer value) { addCriterion("normal_order_overtime >=", value, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeLessThan(Integer value) { addCriterion("normal_order_overtime <", value, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeLessThanOrEqualTo(Integer value) { addCriterion("normal_order_overtime <=", value, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeIn(List values) { addCriterion("normal_order_overtime in", values, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeNotIn(List values) { addCriterion("normal_order_overtime not in", values, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeBetween(Integer value1, Integer value2) { addCriterion("normal_order_overtime between", value1, value2, "normalOrderOvertime"); return (Criteria) this; } public Criteria andNormalOrderOvertimeNotBetween(Integer value1, Integer value2) { addCriterion("normal_order_overtime not between", value1, value2, "normalOrderOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeIsNull() { addCriterion("confirm_overtime is null"); return (Criteria) this; } public Criteria andConfirmOvertimeIsNotNull() { addCriterion("confirm_overtime is not null"); return (Criteria) this; } public Criteria andConfirmOvertimeEqualTo(Integer value) { addCriterion("confirm_overtime =", value, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeNotEqualTo(Integer value) { addCriterion("confirm_overtime <>", value, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeGreaterThan(Integer value) { addCriterion("confirm_overtime >", value, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeGreaterThanOrEqualTo(Integer value) { addCriterion("confirm_overtime >=", value, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeLessThan(Integer value) { addCriterion("confirm_overtime <", value, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeLessThanOrEqualTo(Integer value) { addCriterion("confirm_overtime <=", value, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeIn(List values) { addCriterion("confirm_overtime in", values, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeNotIn(List values) { addCriterion("confirm_overtime not in", values, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeBetween(Integer value1, Integer value2) { addCriterion("confirm_overtime between", value1, value2, "confirmOvertime"); return (Criteria) this; } public Criteria andConfirmOvertimeNotBetween(Integer value1, Integer value2) { addCriterion("confirm_overtime not between", value1, value2, "confirmOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeIsNull() { addCriterion("finish_overtime is null"); return (Criteria) this; } public Criteria andFinishOvertimeIsNotNull() { addCriterion("finish_overtime is not null"); return (Criteria) this; } public Criteria andFinishOvertimeEqualTo(Integer value) { addCriterion("finish_overtime =", value, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeNotEqualTo(Integer value) { addCriterion("finish_overtime <>", value, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeGreaterThan(Integer value) { addCriterion("finish_overtime >", value, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeGreaterThanOrEqualTo(Integer value) { addCriterion("finish_overtime >=", value, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeLessThan(Integer value) { addCriterion("finish_overtime <", value, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeLessThanOrEqualTo(Integer value) { addCriterion("finish_overtime <=", value, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeIn(List values) { addCriterion("finish_overtime in", values, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeNotIn(List values) { addCriterion("finish_overtime not in", values, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeBetween(Integer value1, Integer value2) { addCriterion("finish_overtime between", value1, value2, "finishOvertime"); return (Criteria) this; } public Criteria andFinishOvertimeNotBetween(Integer value1, Integer value2) { addCriterion("finish_overtime not between", value1, value2, "finishOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeIsNull() { addCriterion("comment_overtime is null"); return (Criteria) this; } public Criteria andCommentOvertimeIsNotNull() { addCriterion("comment_overtime is not null"); return (Criteria) this; } public Criteria andCommentOvertimeEqualTo(Integer value) { addCriterion("comment_overtime =", value, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeNotEqualTo(Integer value) { addCriterion("comment_overtime <>", value, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeGreaterThan(Integer value) { addCriterion("comment_overtime >", value, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeGreaterThanOrEqualTo(Integer value) { addCriterion("comment_overtime >=", value, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeLessThan(Integer value) { addCriterion("comment_overtime <", value, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeLessThanOrEqualTo(Integer value) { addCriterion("comment_overtime <=", value, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeIn(List values) { addCriterion("comment_overtime in", values, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeNotIn(List values) { addCriterion("comment_overtime not in", values, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeBetween(Integer value1, Integer value2) { addCriterion("comment_overtime between", value1, value2, "commentOvertime"); return (Criteria) this; } public Criteria andCommentOvertimeNotBetween(Integer value1, Integer value2) { addCriterion("comment_overtime not between", value1, value2, "commentOvertime"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsAlbum.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class PmsAlbum implements Serializable { private Long id; private String name; private String coverPic; private Integer picCount; private Integer sort; private String description; private static final long serialVersionUID = 1L; 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 getCoverPic() { return coverPic; } public void setCoverPic(String coverPic) { this.coverPic = coverPic; } public Integer getPicCount() { return picCount; } public void setPicCount(Integer picCount) { this.picCount = picCount; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } @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(", name=").append(name); sb.append(", coverPic=").append(coverPic); sb.append(", picCount=").append(picCount); sb.append(", sort=").append(sort); sb.append(", description=").append(description); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsAlbumExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class PmsAlbumExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsAlbumExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andCoverPicIsNull() { addCriterion("cover_pic is null"); return (Criteria) this; } public Criteria andCoverPicIsNotNull() { addCriterion("cover_pic is not null"); return (Criteria) this; } public Criteria andCoverPicEqualTo(String value) { addCriterion("cover_pic =", value, "coverPic"); return (Criteria) this; } public Criteria andCoverPicNotEqualTo(String value) { addCriterion("cover_pic <>", value, "coverPic"); return (Criteria) this; } public Criteria andCoverPicGreaterThan(String value) { addCriterion("cover_pic >", value, "coverPic"); return (Criteria) this; } public Criteria andCoverPicGreaterThanOrEqualTo(String value) { addCriterion("cover_pic >=", value, "coverPic"); return (Criteria) this; } public Criteria andCoverPicLessThan(String value) { addCriterion("cover_pic <", value, "coverPic"); return (Criteria) this; } public Criteria andCoverPicLessThanOrEqualTo(String value) { addCriterion("cover_pic <=", value, "coverPic"); return (Criteria) this; } public Criteria andCoverPicLike(String value) { addCriterion("cover_pic like", value, "coverPic"); return (Criteria) this; } public Criteria andCoverPicNotLike(String value) { addCriterion("cover_pic not like", value, "coverPic"); return (Criteria) this; } public Criteria andCoverPicIn(List values) { addCriterion("cover_pic in", values, "coverPic"); return (Criteria) this; } public Criteria andCoverPicNotIn(List values) { addCriterion("cover_pic not in", values, "coverPic"); return (Criteria) this; } public Criteria andCoverPicBetween(String value1, String value2) { addCriterion("cover_pic between", value1, value2, "coverPic"); return (Criteria) this; } public Criteria andCoverPicNotBetween(String value1, String value2) { addCriterion("cover_pic not between", value1, value2, "coverPic"); return (Criteria) this; } public Criteria andPicCountIsNull() { addCriterion("pic_count is null"); return (Criteria) this; } public Criteria andPicCountIsNotNull() { addCriterion("pic_count is not null"); return (Criteria) this; } public Criteria andPicCountEqualTo(Integer value) { addCriterion("pic_count =", value, "picCount"); return (Criteria) this; } public Criteria andPicCountNotEqualTo(Integer value) { addCriterion("pic_count <>", value, "picCount"); return (Criteria) this; } public Criteria andPicCountGreaterThan(Integer value) { addCriterion("pic_count >", value, "picCount"); return (Criteria) this; } public Criteria andPicCountGreaterThanOrEqualTo(Integer value) { addCriterion("pic_count >=", value, "picCount"); return (Criteria) this; } public Criteria andPicCountLessThan(Integer value) { addCriterion("pic_count <", value, "picCount"); return (Criteria) this; } public Criteria andPicCountLessThanOrEqualTo(Integer value) { addCriterion("pic_count <=", value, "picCount"); return (Criteria) this; } public Criteria andPicCountIn(List values) { addCriterion("pic_count in", values, "picCount"); return (Criteria) this; } public Criteria andPicCountNotIn(List values) { addCriterion("pic_count not in", values, "picCount"); return (Criteria) this; } public Criteria andPicCountBetween(Integer value1, Integer value2) { addCriterion("pic_count between", value1, value2, "picCount"); return (Criteria) this; } public Criteria andPicCountNotBetween(Integer value1, Integer value2) { addCriterion("pic_count not between", value1, value2, "picCount"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } public Criteria andDescriptionIsNull() { addCriterion("description is null"); return (Criteria) this; } public Criteria andDescriptionIsNotNull() { addCriterion("description is not null"); return (Criteria) this; } public Criteria andDescriptionEqualTo(String value) { addCriterion("description =", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotEqualTo(String value) { addCriterion("description <>", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThan(String value) { addCriterion("description >", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThanOrEqualTo(String value) { addCriterion("description >=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThan(String value) { addCriterion("description <", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThanOrEqualTo(String value) { addCriterion("description <=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLike(String value) { addCriterion("description like", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotLike(String value) { addCriterion("description not like", value, "description"); return (Criteria) this; } public Criteria andDescriptionIn(List values) { addCriterion("description in", values, "description"); return (Criteria) this; } public Criteria andDescriptionNotIn(List values) { addCriterion("description not in", values, "description"); return (Criteria) this; } public Criteria andDescriptionBetween(String value1, String value2) { addCriterion("description between", value1, value2, "description"); return (Criteria) this; } public Criteria andDescriptionNotBetween(String value1, String value2) { addCriterion("description not between", value1, value2, "description"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsAlbumPic.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class PmsAlbumPic implements Serializable { private Long id; private Long albumId; private String pic; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getAlbumId() { return albumId; } public void setAlbumId(Long albumId) { this.albumId = albumId; } public String getPic() { return pic; } public void setPic(String pic) { this.pic = pic; } @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(", albumId=").append(albumId); sb.append(", pic=").append(pic); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsAlbumPicExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class PmsAlbumPicExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsAlbumPicExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andAlbumIdIsNull() { addCriterion("album_id is null"); return (Criteria) this; } public Criteria andAlbumIdIsNotNull() { addCriterion("album_id is not null"); return (Criteria) this; } public Criteria andAlbumIdEqualTo(Long value) { addCriterion("album_id =", value, "albumId"); return (Criteria) this; } public Criteria andAlbumIdNotEqualTo(Long value) { addCriterion("album_id <>", value, "albumId"); return (Criteria) this; } public Criteria andAlbumIdGreaterThan(Long value) { addCriterion("album_id >", value, "albumId"); return (Criteria) this; } public Criteria andAlbumIdGreaterThanOrEqualTo(Long value) { addCriterion("album_id >=", value, "albumId"); return (Criteria) this; } public Criteria andAlbumIdLessThan(Long value) { addCriterion("album_id <", value, "albumId"); return (Criteria) this; } public Criteria andAlbumIdLessThanOrEqualTo(Long value) { addCriterion("album_id <=", value, "albumId"); return (Criteria) this; } public Criteria andAlbumIdIn(List values) { addCriterion("album_id in", values, "albumId"); return (Criteria) this; } public Criteria andAlbumIdNotIn(List values) { addCriterion("album_id not in", values, "albumId"); return (Criteria) this; } public Criteria andAlbumIdBetween(Long value1, Long value2) { addCriterion("album_id between", value1, value2, "albumId"); return (Criteria) this; } public Criteria andAlbumIdNotBetween(Long value1, Long value2) { addCriterion("album_id not between", value1, value2, "albumId"); return (Criteria) this; } public Criteria andPicIsNull() { addCriterion("pic is null"); return (Criteria) this; } public Criteria andPicIsNotNull() { addCriterion("pic is not null"); return (Criteria) this; } public Criteria andPicEqualTo(String value) { addCriterion("pic =", value, "pic"); return (Criteria) this; } public Criteria andPicNotEqualTo(String value) { addCriterion("pic <>", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThan(String value) { addCriterion("pic >", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThanOrEqualTo(String value) { addCriterion("pic >=", value, "pic"); return (Criteria) this; } public Criteria andPicLessThan(String value) { addCriterion("pic <", value, "pic"); return (Criteria) this; } public Criteria andPicLessThanOrEqualTo(String value) { addCriterion("pic <=", value, "pic"); return (Criteria) this; } public Criteria andPicLike(String value) { addCriterion("pic like", value, "pic"); return (Criteria) this; } public Criteria andPicNotLike(String value) { addCriterion("pic not like", value, "pic"); return (Criteria) this; } public Criteria andPicIn(List values) { addCriterion("pic in", values, "pic"); return (Criteria) this; } public Criteria andPicNotIn(List values) { addCriterion("pic not in", values, "pic"); return (Criteria) this; } public Criteria andPicBetween(String value1, String value2) { addCriterion("pic between", value1, value2, "pic"); return (Criteria) this; } public Criteria andPicNotBetween(String value1, String value2) { addCriterion("pic not between", value1, value2, "pic"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsBrand.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class PmsBrand implements Serializable { private Long id; private String name; @Schema(title = "首字母") private String firstLetter; private Integer sort; @Schema(title = "是否为品牌制造商:0->不是;1->是") private Integer factoryStatus; private Integer showStatus; @Schema(title = "产品数量") private Integer productCount; @Schema(title = "产品评论数量") private Integer productCommentCount; @Schema(title = "品牌logo") private String logo; @Schema(title = "专区大图") private String bigPic; @Schema(title = "品牌故事") private String brandStory; private static final long serialVersionUID = 1L; 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; } @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(", name=").append(name); sb.append(", firstLetter=").append(firstLetter); sb.append(", sort=").append(sort); sb.append(", factoryStatus=").append(factoryStatus); sb.append(", showStatus=").append(showStatus); sb.append(", productCount=").append(productCount); sb.append(", productCommentCount=").append(productCommentCount); sb.append(", logo=").append(logo); sb.append(", bigPic=").append(bigPic); sb.append(", brandStory=").append(brandStory); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsBrandExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class PmsBrandExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsBrandExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andFirstLetterIsNull() { addCriterion("first_letter is null"); return (Criteria) this; } public Criteria andFirstLetterIsNotNull() { addCriterion("first_letter is not null"); return (Criteria) this; } public Criteria andFirstLetterEqualTo(String value) { addCriterion("first_letter =", value, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterNotEqualTo(String value) { addCriterion("first_letter <>", value, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterGreaterThan(String value) { addCriterion("first_letter >", value, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterGreaterThanOrEqualTo(String value) { addCriterion("first_letter >=", value, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterLessThan(String value) { addCriterion("first_letter <", value, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterLessThanOrEqualTo(String value) { addCriterion("first_letter <=", value, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterLike(String value) { addCriterion("first_letter like", value, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterNotLike(String value) { addCriterion("first_letter not like", value, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterIn(List values) { addCriterion("first_letter in", values, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterNotIn(List values) { addCriterion("first_letter not in", values, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterBetween(String value1, String value2) { addCriterion("first_letter between", value1, value2, "firstLetter"); return (Criteria) this; } public Criteria andFirstLetterNotBetween(String value1, String value2) { addCriterion("first_letter not between", value1, value2, "firstLetter"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } public Criteria andFactoryStatusIsNull() { addCriterion("factory_status is null"); return (Criteria) this; } public Criteria andFactoryStatusIsNotNull() { addCriterion("factory_status is not null"); return (Criteria) this; } public Criteria andFactoryStatusEqualTo(Integer value) { addCriterion("factory_status =", value, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusNotEqualTo(Integer value) { addCriterion("factory_status <>", value, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusGreaterThan(Integer value) { addCriterion("factory_status >", value, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusGreaterThanOrEqualTo(Integer value) { addCriterion("factory_status >=", value, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusLessThan(Integer value) { addCriterion("factory_status <", value, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusLessThanOrEqualTo(Integer value) { addCriterion("factory_status <=", value, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusIn(List values) { addCriterion("factory_status in", values, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusNotIn(List values) { addCriterion("factory_status not in", values, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusBetween(Integer value1, Integer value2) { addCriterion("factory_status between", value1, value2, "factoryStatus"); return (Criteria) this; } public Criteria andFactoryStatusNotBetween(Integer value1, Integer value2) { addCriterion("factory_status not between", value1, value2, "factoryStatus"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andProductCountIsNull() { addCriterion("product_count is null"); return (Criteria) this; } public Criteria andProductCountIsNotNull() { addCriterion("product_count is not null"); return (Criteria) this; } public Criteria andProductCountEqualTo(Integer value) { addCriterion("product_count =", value, "productCount"); return (Criteria) this; } public Criteria andProductCountNotEqualTo(Integer value) { addCriterion("product_count <>", value, "productCount"); return (Criteria) this; } public Criteria andProductCountGreaterThan(Integer value) { addCriterion("product_count >", value, "productCount"); return (Criteria) this; } public Criteria andProductCountGreaterThanOrEqualTo(Integer value) { addCriterion("product_count >=", value, "productCount"); return (Criteria) this; } public Criteria andProductCountLessThan(Integer value) { addCriterion("product_count <", value, "productCount"); return (Criteria) this; } public Criteria andProductCountLessThanOrEqualTo(Integer value) { addCriterion("product_count <=", value, "productCount"); return (Criteria) this; } public Criteria andProductCountIn(List values) { addCriterion("product_count in", values, "productCount"); return (Criteria) this; } public Criteria andProductCountNotIn(List values) { addCriterion("product_count not in", values, "productCount"); return (Criteria) this; } public Criteria andProductCountBetween(Integer value1, Integer value2) { addCriterion("product_count between", value1, value2, "productCount"); return (Criteria) this; } public Criteria andProductCountNotBetween(Integer value1, Integer value2) { addCriterion("product_count not between", value1, value2, "productCount"); return (Criteria) this; } public Criteria andProductCommentCountIsNull() { addCriterion("product_comment_count is null"); return (Criteria) this; } public Criteria andProductCommentCountIsNotNull() { addCriterion("product_comment_count is not null"); return (Criteria) this; } public Criteria andProductCommentCountEqualTo(Integer value) { addCriterion("product_comment_count =", value, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountNotEqualTo(Integer value) { addCriterion("product_comment_count <>", value, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountGreaterThan(Integer value) { addCriterion("product_comment_count >", value, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountGreaterThanOrEqualTo(Integer value) { addCriterion("product_comment_count >=", value, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountLessThan(Integer value) { addCriterion("product_comment_count <", value, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountLessThanOrEqualTo(Integer value) { addCriterion("product_comment_count <=", value, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountIn(List values) { addCriterion("product_comment_count in", values, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountNotIn(List values) { addCriterion("product_comment_count not in", values, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountBetween(Integer value1, Integer value2) { addCriterion("product_comment_count between", value1, value2, "productCommentCount"); return (Criteria) this; } public Criteria andProductCommentCountNotBetween(Integer value1, Integer value2) { addCriterion("product_comment_count not between", value1, value2, "productCommentCount"); return (Criteria) this; } public Criteria andLogoIsNull() { addCriterion("logo is null"); return (Criteria) this; } public Criteria andLogoIsNotNull() { addCriterion("logo is not null"); return (Criteria) this; } public Criteria andLogoEqualTo(String value) { addCriterion("logo =", value, "logo"); return (Criteria) this; } public Criteria andLogoNotEqualTo(String value) { addCriterion("logo <>", value, "logo"); return (Criteria) this; } public Criteria andLogoGreaterThan(String value) { addCriterion("logo >", value, "logo"); return (Criteria) this; } public Criteria andLogoGreaterThanOrEqualTo(String value) { addCriterion("logo >=", value, "logo"); return (Criteria) this; } public Criteria andLogoLessThan(String value) { addCriterion("logo <", value, "logo"); return (Criteria) this; } public Criteria andLogoLessThanOrEqualTo(String value) { addCriterion("logo <=", value, "logo"); return (Criteria) this; } public Criteria andLogoLike(String value) { addCriterion("logo like", value, "logo"); return (Criteria) this; } public Criteria andLogoNotLike(String value) { addCriterion("logo not like", value, "logo"); return (Criteria) this; } public Criteria andLogoIn(List values) { addCriterion("logo in", values, "logo"); return (Criteria) this; } public Criteria andLogoNotIn(List values) { addCriterion("logo not in", values, "logo"); return (Criteria) this; } public Criteria andLogoBetween(String value1, String value2) { addCriterion("logo between", value1, value2, "logo"); return (Criteria) this; } public Criteria andLogoNotBetween(String value1, String value2) { addCriterion("logo not between", value1, value2, "logo"); return (Criteria) this; } public Criteria andBigPicIsNull() { addCriterion("big_pic is null"); return (Criteria) this; } public Criteria andBigPicIsNotNull() { addCriterion("big_pic is not null"); return (Criteria) this; } public Criteria andBigPicEqualTo(String value) { addCriterion("big_pic =", value, "bigPic"); return (Criteria) this; } public Criteria andBigPicNotEqualTo(String value) { addCriterion("big_pic <>", value, "bigPic"); return (Criteria) this; } public Criteria andBigPicGreaterThan(String value) { addCriterion("big_pic >", value, "bigPic"); return (Criteria) this; } public Criteria andBigPicGreaterThanOrEqualTo(String value) { addCriterion("big_pic >=", value, "bigPic"); return (Criteria) this; } public Criteria andBigPicLessThan(String value) { addCriterion("big_pic <", value, "bigPic"); return (Criteria) this; } public Criteria andBigPicLessThanOrEqualTo(String value) { addCriterion("big_pic <=", value, "bigPic"); return (Criteria) this; } public Criteria andBigPicLike(String value) { addCriterion("big_pic like", value, "bigPic"); return (Criteria) this; } public Criteria andBigPicNotLike(String value) { addCriterion("big_pic not like", value, "bigPic"); return (Criteria) this; } public Criteria andBigPicIn(List values) { addCriterion("big_pic in", values, "bigPic"); return (Criteria) this; } public Criteria andBigPicNotIn(List values) { addCriterion("big_pic not in", values, "bigPic"); return (Criteria) this; } public Criteria andBigPicBetween(String value1, String value2) { addCriterion("big_pic between", value1, value2, "bigPic"); return (Criteria) this; } public Criteria andBigPicNotBetween(String value1, String value2) { addCriterion("big_pic not between", value1, value2, "bigPic"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsComment.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class PmsComment implements Serializable { private Long id; private Long productId; private String memberNickName; private String productName; @Schema(title = "评价星数:0->5") private Integer star; @Schema(title = "评价的ip") private String memberIp; private Date createTime; private Integer showStatus; @Schema(title = "购买时的商品属性") private String productAttribute; private Integer collectCouont; private Integer readCount; @Schema(title = "上传图片地址,以逗号隔开") private String pics; @Schema(title = "评论用户头像") private String memberIcon; private Integer replayCount; private String content; private static final long serialVersionUID = 1L; 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 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; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } @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(", memberNickName=").append(memberNickName); sb.append(", productName=").append(productName); sb.append(", star=").append(star); sb.append(", memberIp=").append(memberIp); sb.append(", createTime=").append(createTime); sb.append(", showStatus=").append(showStatus); sb.append(", productAttribute=").append(productAttribute); sb.append(", collectCouont=").append(collectCouont); sb.append(", readCount=").append(readCount); sb.append(", pics=").append(pics); sb.append(", memberIcon=").append(memberIcon); sb.append(", replayCount=").append(replayCount); sb.append(", content=").append(content); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsCommentExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class PmsCommentExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsCommentExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andMemberNickNameIsNull() { addCriterion("member_nick_name is null"); return (Criteria) this; } public Criteria andMemberNickNameIsNotNull() { addCriterion("member_nick_name is not null"); return (Criteria) this; } public Criteria andMemberNickNameEqualTo(String value) { addCriterion("member_nick_name =", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotEqualTo(String value) { addCriterion("member_nick_name <>", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameGreaterThan(String value) { addCriterion("member_nick_name >", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameGreaterThanOrEqualTo(String value) { addCriterion("member_nick_name >=", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLessThan(String value) { addCriterion("member_nick_name <", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLessThanOrEqualTo(String value) { addCriterion("member_nick_name <=", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLike(String value) { addCriterion("member_nick_name like", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotLike(String value) { addCriterion("member_nick_name not like", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameIn(List values) { addCriterion("member_nick_name in", values, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotIn(List values) { addCriterion("member_nick_name not in", values, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameBetween(String value1, String value2) { addCriterion("member_nick_name between", value1, value2, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotBetween(String value1, String value2) { addCriterion("member_nick_name not between", value1, value2, "memberNickName"); return (Criteria) this; } public Criteria andProductNameIsNull() { addCriterion("product_name is null"); return (Criteria) this; } public Criteria andProductNameIsNotNull() { addCriterion("product_name is not null"); return (Criteria) this; } public Criteria andProductNameEqualTo(String value) { addCriterion("product_name =", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotEqualTo(String value) { addCriterion("product_name <>", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThan(String value) { addCriterion("product_name >", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThanOrEqualTo(String value) { addCriterion("product_name >=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThan(String value) { addCriterion("product_name <", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThanOrEqualTo(String value) { addCriterion("product_name <=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLike(String value) { addCriterion("product_name like", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotLike(String value) { addCriterion("product_name not like", value, "productName"); return (Criteria) this; } public Criteria andProductNameIn(List values) { addCriterion("product_name in", values, "productName"); return (Criteria) this; } public Criteria andProductNameNotIn(List values) { addCriterion("product_name not in", values, "productName"); return (Criteria) this; } public Criteria andProductNameBetween(String value1, String value2) { addCriterion("product_name between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductNameNotBetween(String value1, String value2) { addCriterion("product_name not between", value1, value2, "productName"); return (Criteria) this; } public Criteria andStarIsNull() { addCriterion("star is null"); return (Criteria) this; } public Criteria andStarIsNotNull() { addCriterion("star is not null"); return (Criteria) this; } public Criteria andStarEqualTo(Integer value) { addCriterion("star =", value, "star"); return (Criteria) this; } public Criteria andStarNotEqualTo(Integer value) { addCriterion("star <>", value, "star"); return (Criteria) this; } public Criteria andStarGreaterThan(Integer value) { addCriterion("star >", value, "star"); return (Criteria) this; } public Criteria andStarGreaterThanOrEqualTo(Integer value) { addCriterion("star >=", value, "star"); return (Criteria) this; } public Criteria andStarLessThan(Integer value) { addCriterion("star <", value, "star"); return (Criteria) this; } public Criteria andStarLessThanOrEqualTo(Integer value) { addCriterion("star <=", value, "star"); return (Criteria) this; } public Criteria andStarIn(List values) { addCriterion("star in", values, "star"); return (Criteria) this; } public Criteria andStarNotIn(List values) { addCriterion("star not in", values, "star"); return (Criteria) this; } public Criteria andStarBetween(Integer value1, Integer value2) { addCriterion("star between", value1, value2, "star"); return (Criteria) this; } public Criteria andStarNotBetween(Integer value1, Integer value2) { addCriterion("star not between", value1, value2, "star"); return (Criteria) this; } public Criteria andMemberIpIsNull() { addCriterion("member_ip is null"); return (Criteria) this; } public Criteria andMemberIpIsNotNull() { addCriterion("member_ip is not null"); return (Criteria) this; } public Criteria andMemberIpEqualTo(String value) { addCriterion("member_ip =", value, "memberIp"); return (Criteria) this; } public Criteria andMemberIpNotEqualTo(String value) { addCriterion("member_ip <>", value, "memberIp"); return (Criteria) this; } public Criteria andMemberIpGreaterThan(String value) { addCriterion("member_ip >", value, "memberIp"); return (Criteria) this; } public Criteria andMemberIpGreaterThanOrEqualTo(String value) { addCriterion("member_ip >=", value, "memberIp"); return (Criteria) this; } public Criteria andMemberIpLessThan(String value) { addCriterion("member_ip <", value, "memberIp"); return (Criteria) this; } public Criteria andMemberIpLessThanOrEqualTo(String value) { addCriterion("member_ip <=", value, "memberIp"); return (Criteria) this; } public Criteria andMemberIpLike(String value) { addCriterion("member_ip like", value, "memberIp"); return (Criteria) this; } public Criteria andMemberIpNotLike(String value) { addCriterion("member_ip not like", value, "memberIp"); return (Criteria) this; } public Criteria andMemberIpIn(List values) { addCriterion("member_ip in", values, "memberIp"); return (Criteria) this; } public Criteria andMemberIpNotIn(List values) { addCriterion("member_ip not in", values, "memberIp"); return (Criteria) this; } public Criteria andMemberIpBetween(String value1, String value2) { addCriterion("member_ip between", value1, value2, "memberIp"); return (Criteria) this; } public Criteria andMemberIpNotBetween(String value1, String value2) { addCriterion("member_ip not between", value1, value2, "memberIp"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andProductAttributeIsNull() { addCriterion("product_attribute is null"); return (Criteria) this; } public Criteria andProductAttributeIsNotNull() { addCriterion("product_attribute is not null"); return (Criteria) this; } public Criteria andProductAttributeEqualTo(String value) { addCriterion("product_attribute =", value, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeNotEqualTo(String value) { addCriterion("product_attribute <>", value, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeGreaterThan(String value) { addCriterion("product_attribute >", value, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeGreaterThanOrEqualTo(String value) { addCriterion("product_attribute >=", value, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeLessThan(String value) { addCriterion("product_attribute <", value, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeLessThanOrEqualTo(String value) { addCriterion("product_attribute <=", value, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeLike(String value) { addCriterion("product_attribute like", value, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeNotLike(String value) { addCriterion("product_attribute not like", value, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeIn(List values) { addCriterion("product_attribute in", values, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeNotIn(List values) { addCriterion("product_attribute not in", values, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeBetween(String value1, String value2) { addCriterion("product_attribute between", value1, value2, "productAttribute"); return (Criteria) this; } public Criteria andProductAttributeNotBetween(String value1, String value2) { addCriterion("product_attribute not between", value1, value2, "productAttribute"); return (Criteria) this; } public Criteria andCollectCouontIsNull() { addCriterion("collect_couont is null"); return (Criteria) this; } public Criteria andCollectCouontIsNotNull() { addCriterion("collect_couont is not null"); return (Criteria) this; } public Criteria andCollectCouontEqualTo(Integer value) { addCriterion("collect_couont =", value, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontNotEqualTo(Integer value) { addCriterion("collect_couont <>", value, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontGreaterThan(Integer value) { addCriterion("collect_couont >", value, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontGreaterThanOrEqualTo(Integer value) { addCriterion("collect_couont >=", value, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontLessThan(Integer value) { addCriterion("collect_couont <", value, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontLessThanOrEqualTo(Integer value) { addCriterion("collect_couont <=", value, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontIn(List values) { addCriterion("collect_couont in", values, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontNotIn(List values) { addCriterion("collect_couont not in", values, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontBetween(Integer value1, Integer value2) { addCriterion("collect_couont between", value1, value2, "collectCouont"); return (Criteria) this; } public Criteria andCollectCouontNotBetween(Integer value1, Integer value2) { addCriterion("collect_couont not between", value1, value2, "collectCouont"); return (Criteria) this; } public Criteria andReadCountIsNull() { addCriterion("read_count is null"); return (Criteria) this; } public Criteria andReadCountIsNotNull() { addCriterion("read_count is not null"); return (Criteria) this; } public Criteria andReadCountEqualTo(Integer value) { addCriterion("read_count =", value, "readCount"); return (Criteria) this; } public Criteria andReadCountNotEqualTo(Integer value) { addCriterion("read_count <>", value, "readCount"); return (Criteria) this; } public Criteria andReadCountGreaterThan(Integer value) { addCriterion("read_count >", value, "readCount"); return (Criteria) this; } public Criteria andReadCountGreaterThanOrEqualTo(Integer value) { addCriterion("read_count >=", value, "readCount"); return (Criteria) this; } public Criteria andReadCountLessThan(Integer value) { addCriterion("read_count <", value, "readCount"); return (Criteria) this; } public Criteria andReadCountLessThanOrEqualTo(Integer value) { addCriterion("read_count <=", value, "readCount"); return (Criteria) this; } public Criteria andReadCountIn(List values) { addCriterion("read_count in", values, "readCount"); return (Criteria) this; } public Criteria andReadCountNotIn(List values) { addCriterion("read_count not in", values, "readCount"); return (Criteria) this; } public Criteria andReadCountBetween(Integer value1, Integer value2) { addCriterion("read_count between", value1, value2, "readCount"); return (Criteria) this; } public Criteria andReadCountNotBetween(Integer value1, Integer value2) { addCriterion("read_count not between", value1, value2, "readCount"); return (Criteria) this; } public Criteria andPicsIsNull() { addCriterion("pics is null"); return (Criteria) this; } public Criteria andPicsIsNotNull() { addCriterion("pics is not null"); return (Criteria) this; } public Criteria andPicsEqualTo(String value) { addCriterion("pics =", value, "pics"); return (Criteria) this; } public Criteria andPicsNotEqualTo(String value) { addCriterion("pics <>", value, "pics"); return (Criteria) this; } public Criteria andPicsGreaterThan(String value) { addCriterion("pics >", value, "pics"); return (Criteria) this; } public Criteria andPicsGreaterThanOrEqualTo(String value) { addCriterion("pics >=", value, "pics"); return (Criteria) this; } public Criteria andPicsLessThan(String value) { addCriterion("pics <", value, "pics"); return (Criteria) this; } public Criteria andPicsLessThanOrEqualTo(String value) { addCriterion("pics <=", value, "pics"); return (Criteria) this; } public Criteria andPicsLike(String value) { addCriterion("pics like", value, "pics"); return (Criteria) this; } public Criteria andPicsNotLike(String value) { addCriterion("pics not like", value, "pics"); return (Criteria) this; } public Criteria andPicsIn(List values) { addCriterion("pics in", values, "pics"); return (Criteria) this; } public Criteria andPicsNotIn(List values) { addCriterion("pics not in", values, "pics"); return (Criteria) this; } public Criteria andPicsBetween(String value1, String value2) { addCriterion("pics between", value1, value2, "pics"); return (Criteria) this; } public Criteria andPicsNotBetween(String value1, String value2) { addCriterion("pics not between", value1, value2, "pics"); return (Criteria) this; } public Criteria andMemberIconIsNull() { addCriterion("member_icon is null"); return (Criteria) this; } public Criteria andMemberIconIsNotNull() { addCriterion("member_icon is not null"); return (Criteria) this; } public Criteria andMemberIconEqualTo(String value) { addCriterion("member_icon =", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotEqualTo(String value) { addCriterion("member_icon <>", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconGreaterThan(String value) { addCriterion("member_icon >", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconGreaterThanOrEqualTo(String value) { addCriterion("member_icon >=", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLessThan(String value) { addCriterion("member_icon <", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLessThanOrEqualTo(String value) { addCriterion("member_icon <=", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLike(String value) { addCriterion("member_icon like", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotLike(String value) { addCriterion("member_icon not like", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconIn(List values) { addCriterion("member_icon in", values, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotIn(List values) { addCriterion("member_icon not in", values, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconBetween(String value1, String value2) { addCriterion("member_icon between", value1, value2, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotBetween(String value1, String value2) { addCriterion("member_icon not between", value1, value2, "memberIcon"); return (Criteria) this; } public Criteria andReplayCountIsNull() { addCriterion("replay_count is null"); return (Criteria) this; } public Criteria andReplayCountIsNotNull() { addCriterion("replay_count is not null"); return (Criteria) this; } public Criteria andReplayCountEqualTo(Integer value) { addCriterion("replay_count =", value, "replayCount"); return (Criteria) this; } public Criteria andReplayCountNotEqualTo(Integer value) { addCriterion("replay_count <>", value, "replayCount"); return (Criteria) this; } public Criteria andReplayCountGreaterThan(Integer value) { addCriterion("replay_count >", value, "replayCount"); return (Criteria) this; } public Criteria andReplayCountGreaterThanOrEqualTo(Integer value) { addCriterion("replay_count >=", value, "replayCount"); return (Criteria) this; } public Criteria andReplayCountLessThan(Integer value) { addCriterion("replay_count <", value, "replayCount"); return (Criteria) this; } public Criteria andReplayCountLessThanOrEqualTo(Integer value) { addCriterion("replay_count <=", value, "replayCount"); return (Criteria) this; } public Criteria andReplayCountIn(List values) { addCriterion("replay_count in", values, "replayCount"); return (Criteria) this; } public Criteria andReplayCountNotIn(List values) { addCriterion("replay_count not in", values, "replayCount"); return (Criteria) this; } public Criteria andReplayCountBetween(Integer value1, Integer value2) { addCriterion("replay_count between", value1, value2, "replayCount"); return (Criteria) this; } public Criteria andReplayCountNotBetween(Integer value1, Integer value2) { addCriterion("replay_count not between", value1, value2, "replayCount"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsCommentReplay.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class PmsCommentReplay implements Serializable { private Long id; private Long commentId; private String memberNickName; private String memberIcon; private String content; private Date createTime; @Schema(title = "评论人员类型;0->会员;1->管理员") private Integer type; private static final long serialVersionUID = 1L; 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() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()); sb.append(" ["); sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", commentId=").append(commentId); sb.append(", memberNickName=").append(memberNickName); sb.append(", memberIcon=").append(memberIcon); sb.append(", content=").append(content); sb.append(", createTime=").append(createTime); sb.append(", type=").append(type); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsCommentReplayExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class PmsCommentReplayExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsCommentReplayExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCommentIdIsNull() { addCriterion("comment_id is null"); return (Criteria) this; } public Criteria andCommentIdIsNotNull() { addCriterion("comment_id is not null"); return (Criteria) this; } public Criteria andCommentIdEqualTo(Long value) { addCriterion("comment_id =", value, "commentId"); return (Criteria) this; } public Criteria andCommentIdNotEqualTo(Long value) { addCriterion("comment_id <>", value, "commentId"); return (Criteria) this; } public Criteria andCommentIdGreaterThan(Long value) { addCriterion("comment_id >", value, "commentId"); return (Criteria) this; } public Criteria andCommentIdGreaterThanOrEqualTo(Long value) { addCriterion("comment_id >=", value, "commentId"); return (Criteria) this; } public Criteria andCommentIdLessThan(Long value) { addCriterion("comment_id <", value, "commentId"); return (Criteria) this; } public Criteria andCommentIdLessThanOrEqualTo(Long value) { addCriterion("comment_id <=", value, "commentId"); return (Criteria) this; } public Criteria andCommentIdIn(List values) { addCriterion("comment_id in", values, "commentId"); return (Criteria) this; } public Criteria andCommentIdNotIn(List values) { addCriterion("comment_id not in", values, "commentId"); return (Criteria) this; } public Criteria andCommentIdBetween(Long value1, Long value2) { addCriterion("comment_id between", value1, value2, "commentId"); return (Criteria) this; } public Criteria andCommentIdNotBetween(Long value1, Long value2) { addCriterion("comment_id not between", value1, value2, "commentId"); return (Criteria) this; } public Criteria andMemberNickNameIsNull() { addCriterion("member_nick_name is null"); return (Criteria) this; } public Criteria andMemberNickNameIsNotNull() { addCriterion("member_nick_name is not null"); return (Criteria) this; } public Criteria andMemberNickNameEqualTo(String value) { addCriterion("member_nick_name =", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotEqualTo(String value) { addCriterion("member_nick_name <>", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameGreaterThan(String value) { addCriterion("member_nick_name >", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameGreaterThanOrEqualTo(String value) { addCriterion("member_nick_name >=", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLessThan(String value) { addCriterion("member_nick_name <", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLessThanOrEqualTo(String value) { addCriterion("member_nick_name <=", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameLike(String value) { addCriterion("member_nick_name like", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotLike(String value) { addCriterion("member_nick_name not like", value, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameIn(List values) { addCriterion("member_nick_name in", values, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotIn(List values) { addCriterion("member_nick_name not in", values, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameBetween(String value1, String value2) { addCriterion("member_nick_name between", value1, value2, "memberNickName"); return (Criteria) this; } public Criteria andMemberNickNameNotBetween(String value1, String value2) { addCriterion("member_nick_name not between", value1, value2, "memberNickName"); return (Criteria) this; } public Criteria andMemberIconIsNull() { addCriterion("member_icon is null"); return (Criteria) this; } public Criteria andMemberIconIsNotNull() { addCriterion("member_icon is not null"); return (Criteria) this; } public Criteria andMemberIconEqualTo(String value) { addCriterion("member_icon =", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotEqualTo(String value) { addCriterion("member_icon <>", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconGreaterThan(String value) { addCriterion("member_icon >", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconGreaterThanOrEqualTo(String value) { addCriterion("member_icon >=", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLessThan(String value) { addCriterion("member_icon <", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLessThanOrEqualTo(String value) { addCriterion("member_icon <=", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconLike(String value) { addCriterion("member_icon like", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotLike(String value) { addCriterion("member_icon not like", value, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconIn(List values) { addCriterion("member_icon in", values, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotIn(List values) { addCriterion("member_icon not in", values, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconBetween(String value1, String value2) { addCriterion("member_icon between", value1, value2, "memberIcon"); return (Criteria) this; } public Criteria andMemberIconNotBetween(String value1, String value2) { addCriterion("member_icon not between", value1, value2, "memberIcon"); return (Criteria) this; } public Criteria andContentIsNull() { addCriterion("content is null"); return (Criteria) this; } public Criteria andContentIsNotNull() { addCriterion("content is not null"); return (Criteria) this; } public Criteria andContentEqualTo(String value) { addCriterion("content =", value, "content"); return (Criteria) this; } public Criteria andContentNotEqualTo(String value) { addCriterion("content <>", value, "content"); return (Criteria) this; } public Criteria andContentGreaterThan(String value) { addCriterion("content >", value, "content"); return (Criteria) this; } public Criteria andContentGreaterThanOrEqualTo(String value) { addCriterion("content >=", value, "content"); return (Criteria) this; } public Criteria andContentLessThan(String value) { addCriterion("content <", value, "content"); return (Criteria) this; } public Criteria andContentLessThanOrEqualTo(String value) { addCriterion("content <=", value, "content"); return (Criteria) this; } public Criteria andContentLike(String value) { addCriterion("content like", value, "content"); return (Criteria) this; } public Criteria andContentNotLike(String value) { addCriterion("content not like", value, "content"); return (Criteria) this; } public Criteria andContentIn(List values) { addCriterion("content in", values, "content"); return (Criteria) this; } public Criteria andContentNotIn(List values) { addCriterion("content not in", values, "content"); return (Criteria) this; } public Criteria andContentBetween(String value1, String value2) { addCriterion("content between", value1, value2, "content"); return (Criteria) this; } public Criteria andContentNotBetween(String value1, String value2) { addCriterion("content not between", value1, value2, "content"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andTypeIsNull() { addCriterion("type is null"); return (Criteria) this; } public Criteria andTypeIsNotNull() { addCriterion("type is not null"); return (Criteria) this; } public Criteria andTypeEqualTo(Integer value) { addCriterion("type =", value, "type"); return (Criteria) this; } public Criteria andTypeNotEqualTo(Integer value) { addCriterion("type <>", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThan(Integer value) { addCriterion("type >", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThanOrEqualTo(Integer value) { addCriterion("type >=", value, "type"); return (Criteria) this; } public Criteria andTypeLessThan(Integer value) { addCriterion("type <", value, "type"); return (Criteria) this; } public Criteria andTypeLessThanOrEqualTo(Integer value) { addCriterion("type <=", value, "type"); return (Criteria) this; } public Criteria andTypeIn(List values) { addCriterion("type in", values, "type"); return (Criteria) this; } public Criteria andTypeNotIn(List values) { addCriterion("type not in", values, "type"); return (Criteria) this; } public Criteria andTypeBetween(Integer value1, Integer value2) { addCriterion("type between", value1, value2, "type"); return (Criteria) this; } public Criteria andTypeNotBetween(Integer value1, Integer value2) { addCriterion("type not between", value1, value2, "type"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsFeightTemplate.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class PmsFeightTemplate implements Serializable { private Long id; private String name; @Schema(title = "计费类型:0->按重量;1->按件数") private Integer chargeType; @Schema(title = "首重kg") private BigDecimal firstWeight; @Schema(title = "首费(元)") private BigDecimal firstFee; private BigDecimal continueWeight; private BigDecimal continmeFee; @Schema(title = "目的地(省、市)") private String dest; private static final long serialVersionUID = 1L; 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 Integer getChargeType() { return chargeType; } public void setChargeType(Integer chargeType) { this.chargeType = chargeType; } public BigDecimal getFirstWeight() { return firstWeight; } public void setFirstWeight(BigDecimal firstWeight) { this.firstWeight = firstWeight; } public BigDecimal getFirstFee() { return firstFee; } public void setFirstFee(BigDecimal firstFee) { this.firstFee = firstFee; } public BigDecimal getContinueWeight() { return continueWeight; } public void setContinueWeight(BigDecimal continueWeight) { this.continueWeight = continueWeight; } public BigDecimal getContinmeFee() { return continmeFee; } public void setContinmeFee(BigDecimal continmeFee) { this.continmeFee = continmeFee; } public String getDest() { return dest; } public void setDest(String dest) { this.dest = dest; } @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(", name=").append(name); sb.append(", chargeType=").append(chargeType); sb.append(", firstWeight=").append(firstWeight); sb.append(", firstFee=").append(firstFee); sb.append(", continueWeight=").append(continueWeight); sb.append(", continmeFee=").append(continmeFee); sb.append(", dest=").append(dest); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsFeightTemplateExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class PmsFeightTemplateExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsFeightTemplateExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andChargeTypeIsNull() { addCriterion("charge_type is null"); return (Criteria) this; } public Criteria andChargeTypeIsNotNull() { addCriterion("charge_type is not null"); return (Criteria) this; } public Criteria andChargeTypeEqualTo(Integer value) { addCriterion("charge_type =", value, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeNotEqualTo(Integer value) { addCriterion("charge_type <>", value, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeGreaterThan(Integer value) { addCriterion("charge_type >", value, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeGreaterThanOrEqualTo(Integer value) { addCriterion("charge_type >=", value, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeLessThan(Integer value) { addCriterion("charge_type <", value, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeLessThanOrEqualTo(Integer value) { addCriterion("charge_type <=", value, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeIn(List values) { addCriterion("charge_type in", values, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeNotIn(List values) { addCriterion("charge_type not in", values, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeBetween(Integer value1, Integer value2) { addCriterion("charge_type between", value1, value2, "chargeType"); return (Criteria) this; } public Criteria andChargeTypeNotBetween(Integer value1, Integer value2) { addCriterion("charge_type not between", value1, value2, "chargeType"); return (Criteria) this; } public Criteria andFirstWeightIsNull() { addCriterion("first_weight is null"); return (Criteria) this; } public Criteria andFirstWeightIsNotNull() { addCriterion("first_weight is not null"); return (Criteria) this; } public Criteria andFirstWeightEqualTo(BigDecimal value) { addCriterion("first_weight =", value, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightNotEqualTo(BigDecimal value) { addCriterion("first_weight <>", value, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightGreaterThan(BigDecimal value) { addCriterion("first_weight >", value, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightGreaterThanOrEqualTo(BigDecimal value) { addCriterion("first_weight >=", value, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightLessThan(BigDecimal value) { addCriterion("first_weight <", value, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightLessThanOrEqualTo(BigDecimal value) { addCriterion("first_weight <=", value, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightIn(List values) { addCriterion("first_weight in", values, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightNotIn(List values) { addCriterion("first_weight not in", values, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightBetween(BigDecimal value1, BigDecimal value2) { addCriterion("first_weight between", value1, value2, "firstWeight"); return (Criteria) this; } public Criteria andFirstWeightNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("first_weight not between", value1, value2, "firstWeight"); return (Criteria) this; } public Criteria andFirstFeeIsNull() { addCriterion("first_fee is null"); return (Criteria) this; } public Criteria andFirstFeeIsNotNull() { addCriterion("first_fee is not null"); return (Criteria) this; } public Criteria andFirstFeeEqualTo(BigDecimal value) { addCriterion("first_fee =", value, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeNotEqualTo(BigDecimal value) { addCriterion("first_fee <>", value, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeGreaterThan(BigDecimal value) { addCriterion("first_fee >", value, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeGreaterThanOrEqualTo(BigDecimal value) { addCriterion("first_fee >=", value, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeLessThan(BigDecimal value) { addCriterion("first_fee <", value, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeLessThanOrEqualTo(BigDecimal value) { addCriterion("first_fee <=", value, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeIn(List values) { addCriterion("first_fee in", values, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeNotIn(List values) { addCriterion("first_fee not in", values, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeBetween(BigDecimal value1, BigDecimal value2) { addCriterion("first_fee between", value1, value2, "firstFee"); return (Criteria) this; } public Criteria andFirstFeeNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("first_fee not between", value1, value2, "firstFee"); return (Criteria) this; } public Criteria andContinueWeightIsNull() { addCriterion("continue_weight is null"); return (Criteria) this; } public Criteria andContinueWeightIsNotNull() { addCriterion("continue_weight is not null"); return (Criteria) this; } public Criteria andContinueWeightEqualTo(BigDecimal value) { addCriterion("continue_weight =", value, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightNotEqualTo(BigDecimal value) { addCriterion("continue_weight <>", value, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightGreaterThan(BigDecimal value) { addCriterion("continue_weight >", value, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightGreaterThanOrEqualTo(BigDecimal value) { addCriterion("continue_weight >=", value, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightLessThan(BigDecimal value) { addCriterion("continue_weight <", value, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightLessThanOrEqualTo(BigDecimal value) { addCriterion("continue_weight <=", value, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightIn(List values) { addCriterion("continue_weight in", values, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightNotIn(List values) { addCriterion("continue_weight not in", values, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightBetween(BigDecimal value1, BigDecimal value2) { addCriterion("continue_weight between", value1, value2, "continueWeight"); return (Criteria) this; } public Criteria andContinueWeightNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("continue_weight not between", value1, value2, "continueWeight"); return (Criteria) this; } public Criteria andContinmeFeeIsNull() { addCriterion("continme_fee is null"); return (Criteria) this; } public Criteria andContinmeFeeIsNotNull() { addCriterion("continme_fee is not null"); return (Criteria) this; } public Criteria andContinmeFeeEqualTo(BigDecimal value) { addCriterion("continme_fee =", value, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeNotEqualTo(BigDecimal value) { addCriterion("continme_fee <>", value, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeGreaterThan(BigDecimal value) { addCriterion("continme_fee >", value, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeGreaterThanOrEqualTo(BigDecimal value) { addCriterion("continme_fee >=", value, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeLessThan(BigDecimal value) { addCriterion("continme_fee <", value, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeLessThanOrEqualTo(BigDecimal value) { addCriterion("continme_fee <=", value, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeIn(List values) { addCriterion("continme_fee in", values, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeNotIn(List values) { addCriterion("continme_fee not in", values, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeBetween(BigDecimal value1, BigDecimal value2) { addCriterion("continme_fee between", value1, value2, "continmeFee"); return (Criteria) this; } public Criteria andContinmeFeeNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("continme_fee not between", value1, value2, "continmeFee"); return (Criteria) this; } public Criteria andDestIsNull() { addCriterion("dest is null"); return (Criteria) this; } public Criteria andDestIsNotNull() { addCriterion("dest is not null"); return (Criteria) this; } public Criteria andDestEqualTo(String value) { addCriterion("dest =", value, "dest"); return (Criteria) this; } public Criteria andDestNotEqualTo(String value) { addCriterion("dest <>", value, "dest"); return (Criteria) this; } public Criteria andDestGreaterThan(String value) { addCriterion("dest >", value, "dest"); return (Criteria) this; } public Criteria andDestGreaterThanOrEqualTo(String value) { addCriterion("dest >=", value, "dest"); return (Criteria) this; } public Criteria andDestLessThan(String value) { addCriterion("dest <", value, "dest"); return (Criteria) this; } public Criteria andDestLessThanOrEqualTo(String value) { addCriterion("dest <=", value, "dest"); return (Criteria) this; } public Criteria andDestLike(String value) { addCriterion("dest like", value, "dest"); return (Criteria) this; } public Criteria andDestNotLike(String value) { addCriterion("dest not like", value, "dest"); return (Criteria) this; } public Criteria andDestIn(List values) { addCriterion("dest in", values, "dest"); return (Criteria) this; } public Criteria andDestNotIn(List values) { addCriterion("dest not in", values, "dest"); return (Criteria) this; } public Criteria andDestBetween(String value1, String value2) { addCriterion("dest between", value1, value2, "dest"); return (Criteria) this; } public Criteria andDestNotBetween(String value1, String value2) { addCriterion("dest not between", value1, value2, "dest"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsMemberPrice.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class PmsMemberPrice implements Serializable { private Long id; private Long productId; private Long memberLevelId; @Schema(title = "会员价格") private BigDecimal memberPrice; private String memberLevelName; private static final long serialVersionUID = 1L; 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() { 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(", memberLevelId=").append(memberLevelId); sb.append(", memberPrice=").append(memberPrice); sb.append(", memberLevelName=").append(memberLevelName); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsMemberPriceExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class PmsMemberPriceExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsMemberPriceExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andMemberLevelIdIsNull() { addCriterion("member_level_id is null"); return (Criteria) this; } public Criteria andMemberLevelIdIsNotNull() { addCriterion("member_level_id is not null"); return (Criteria) this; } public Criteria andMemberLevelIdEqualTo(Long value) { addCriterion("member_level_id =", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdNotEqualTo(Long value) { addCriterion("member_level_id <>", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdGreaterThan(Long value) { addCriterion("member_level_id >", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdGreaterThanOrEqualTo(Long value) { addCriterion("member_level_id >=", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdLessThan(Long value) { addCriterion("member_level_id <", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdLessThanOrEqualTo(Long value) { addCriterion("member_level_id <=", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdIn(List values) { addCriterion("member_level_id in", values, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdNotIn(List values) { addCriterion("member_level_id not in", values, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdBetween(Long value1, Long value2) { addCriterion("member_level_id between", value1, value2, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdNotBetween(Long value1, Long value2) { addCriterion("member_level_id not between", value1, value2, "memberLevelId"); return (Criteria) this; } public Criteria andMemberPriceIsNull() { addCriterion("member_price is null"); return (Criteria) this; } public Criteria andMemberPriceIsNotNull() { addCriterion("member_price is not null"); return (Criteria) this; } public Criteria andMemberPriceEqualTo(BigDecimal value) { addCriterion("member_price =", value, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceNotEqualTo(BigDecimal value) { addCriterion("member_price <>", value, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceGreaterThan(BigDecimal value) { addCriterion("member_price >", value, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("member_price >=", value, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceLessThan(BigDecimal value) { addCriterion("member_price <", value, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("member_price <=", value, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceIn(List values) { addCriterion("member_price in", values, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceNotIn(List values) { addCriterion("member_price not in", values, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("member_price between", value1, value2, "memberPrice"); return (Criteria) this; } public Criteria andMemberPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("member_price not between", value1, value2, "memberPrice"); return (Criteria) this; } public Criteria andMemberLevelNameIsNull() { addCriterion("member_level_name is null"); return (Criteria) this; } public Criteria andMemberLevelNameIsNotNull() { addCriterion("member_level_name is not null"); return (Criteria) this; } public Criteria andMemberLevelNameEqualTo(String value) { addCriterion("member_level_name =", value, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameNotEqualTo(String value) { addCriterion("member_level_name <>", value, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameGreaterThan(String value) { addCriterion("member_level_name >", value, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameGreaterThanOrEqualTo(String value) { addCriterion("member_level_name >=", value, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameLessThan(String value) { addCriterion("member_level_name <", value, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameLessThanOrEqualTo(String value) { addCriterion("member_level_name <=", value, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameLike(String value) { addCriterion("member_level_name like", value, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameNotLike(String value) { addCriterion("member_level_name not like", value, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameIn(List values) { addCriterion("member_level_name in", values, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameNotIn(List values) { addCriterion("member_level_name not in", values, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameBetween(String value1, String value2) { addCriterion("member_level_name between", value1, value2, "memberLevelName"); return (Criteria) this; } public Criteria andMemberLevelNameNotBetween(String value1, String value2) { addCriterion("member_level_name not between", value1, value2, "memberLevelName"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProduct.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; public class PmsProduct implements Serializable { private Long id; private Long brandId; private Long productCategoryId; private Long feightTemplateId; private Long productAttributeCategoryId; private String name; private String pic; @Schema(title = "货号") private String productSn; @Schema(title = "删除状态:0->未删除;1->已删除") private Integer deleteStatus; @Schema(title = "上架状态:0->下架;1->上架") private Integer publishStatus; @Schema(title = "新品状态:0->不是新品;1->新品") private Integer newStatus; @Schema(title = "推荐状态;0->不推荐;1->推荐") private Integer recommandStatus; @Schema(title = "审核状态:0->未审核;1->审核通过") private Integer verifyStatus; @Schema(title = "排序") private Integer sort; @Schema(title = "销量") private Integer sale; private BigDecimal price; @Schema(title = "促销价格") private BigDecimal promotionPrice; @Schema(title = "赠送的成长值") private Integer giftGrowth; @Schema(title = "赠送的积分") private Integer giftPoint; @Schema(title = "限制使用的积分数") private Integer usePointLimit; @Schema(title = "副标题") private String subTitle; @Schema(title = "市场价") private BigDecimal originalPrice; @Schema(title = "库存") private Integer stock; @Schema(title = "库存预警值") private Integer lowStock; @Schema(title = "单位") private String unit; @Schema(title = "商品重量,默认为克") private BigDecimal weight; @Schema(title = "是否为预告商品:0->不是;1->是") private Integer previewStatus; @Schema(title = "以逗号分割的产品服务:1->无忧退货;2->快速退款;3->免费包邮") private String serviceIds; private String keywords; private String note; @Schema(title = "画册图片,连产品图片限制为5张,以逗号分割") private String albumPics; private String detailTitle; @Schema(title = "促销开始时间") private Date promotionStartTime; @Schema(title = "促销结束时间") private Date promotionEndTime; @Schema(title = "活动限购数量") private Integer promotionPerLimit; @Schema(title = "促销类型:0->没有促销使用原价;1->使用促销价;2->使用会员价;3->使用阶梯价格;4->使用满减价格;5->限时购") private Integer promotionType; @Schema(title = "品牌名称") private String brandName; @Schema(title = "商品分类名称") private String productCategoryName; @Schema(title = "商品描述") private String description; private String detailDesc; @Schema(title = "产品详情网页内容") private String detailHtml; @Schema(title = "移动端网页详情") private String detailMobileHtml; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getBrandId() { return brandId; } public void setBrandId(Long brandId) { this.brandId = brandId; } public Long getProductCategoryId() { return productCategoryId; } public void setProductCategoryId(Long productCategoryId) { this.productCategoryId = productCategoryId; } public Long getFeightTemplateId() { return feightTemplateId; } public void setFeightTemplateId(Long feightTemplateId) { this.feightTemplateId = feightTemplateId; } 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 String getPic() { return pic; } public void setPic(String pic) { this.pic = pic; } public String getProductSn() { return productSn; } public void setProductSn(String productSn) { this.productSn = productSn; } public Integer getDeleteStatus() { return deleteStatus; } public void setDeleteStatus(Integer deleteStatus) { this.deleteStatus = deleteStatus; } public Integer getPublishStatus() { return publishStatus; } public void setPublishStatus(Integer publishStatus) { this.publishStatus = publishStatus; } public Integer getNewStatus() { return newStatus; } public void setNewStatus(Integer newStatus) { this.newStatus = newStatus; } public Integer getRecommandStatus() { return recommandStatus; } public void setRecommandStatus(Integer recommandStatus) { this.recommandStatus = recommandStatus; } public Integer getVerifyStatus() { return verifyStatus; } public void setVerifyStatus(Integer verifyStatus) { this.verifyStatus = verifyStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } public Integer getSale() { return sale; } public void setSale(Integer sale) { this.sale = sale; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public BigDecimal getPromotionPrice() { return promotionPrice; } public void setPromotionPrice(BigDecimal promotionPrice) { this.promotionPrice = promotionPrice; } public Integer getGiftGrowth() { return giftGrowth; } public void setGiftGrowth(Integer giftGrowth) { this.giftGrowth = giftGrowth; } public Integer getGiftPoint() { return giftPoint; } public void setGiftPoint(Integer giftPoint) { this.giftPoint = giftPoint; } public Integer getUsePointLimit() { return usePointLimit; } public void setUsePointLimit(Integer usePointLimit) { this.usePointLimit = usePointLimit; } public String getSubTitle() { return subTitle; } public void setSubTitle(String subTitle) { this.subTitle = subTitle; } public BigDecimal getOriginalPrice() { return originalPrice; } public void setOriginalPrice(BigDecimal originalPrice) { this.originalPrice = originalPrice; } 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 getUnit() { return unit; } public void setUnit(String unit) { this.unit = unit; } public BigDecimal getWeight() { return weight; } public void setWeight(BigDecimal weight) { this.weight = weight; } public Integer getPreviewStatus() { return previewStatus; } public void setPreviewStatus(Integer previewStatus) { this.previewStatus = previewStatus; } public String getServiceIds() { return serviceIds; } public void setServiceIds(String serviceIds) { this.serviceIds = serviceIds; } public String getKeywords() { return keywords; } public void setKeywords(String keywords) { this.keywords = keywords; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public String getAlbumPics() { return albumPics; } public void setAlbumPics(String albumPics) { this.albumPics = albumPics; } public String getDetailTitle() { return detailTitle; } public void setDetailTitle(String detailTitle) { this.detailTitle = detailTitle; } public Date getPromotionStartTime() { return promotionStartTime; } public void setPromotionStartTime(Date promotionStartTime) { this.promotionStartTime = promotionStartTime; } public Date getPromotionEndTime() { return promotionEndTime; } public void setPromotionEndTime(Date promotionEndTime) { this.promotionEndTime = promotionEndTime; } public Integer getPromotionPerLimit() { return promotionPerLimit; } public void setPromotionPerLimit(Integer promotionPerLimit) { this.promotionPerLimit = promotionPerLimit; } public Integer getPromotionType() { return promotionType; } public void setPromotionType(Integer promotionType) { this.promotionType = promotionType; } public String getBrandName() { return brandName; } public void setBrandName(String brandName) { this.brandName = brandName; } public String getProductCategoryName() { return productCategoryName; } public void setProductCategoryName(String productCategoryName) { this.productCategoryName = productCategoryName; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getDetailDesc() { return detailDesc; } public void setDetailDesc(String detailDesc) { this.detailDesc = detailDesc; } public String getDetailHtml() { return detailHtml; } public void setDetailHtml(String detailHtml) { this.detailHtml = detailHtml; } public String getDetailMobileHtml() { return detailMobileHtml; } public void setDetailMobileHtml(String detailMobileHtml) { this.detailMobileHtml = detailMobileHtml; } @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(", brandId=").append(brandId); sb.append(", productCategoryId=").append(productCategoryId); sb.append(", feightTemplateId=").append(feightTemplateId); sb.append(", productAttributeCategoryId=").append(productAttributeCategoryId); sb.append(", name=").append(name); sb.append(", pic=").append(pic); sb.append(", productSn=").append(productSn); sb.append(", deleteStatus=").append(deleteStatus); sb.append(", publishStatus=").append(publishStatus); sb.append(", newStatus=").append(newStatus); sb.append(", recommandStatus=").append(recommandStatus); sb.append(", verifyStatus=").append(verifyStatus); sb.append(", sort=").append(sort); sb.append(", sale=").append(sale); sb.append(", price=").append(price); sb.append(", promotionPrice=").append(promotionPrice); sb.append(", giftGrowth=").append(giftGrowth); sb.append(", giftPoint=").append(giftPoint); sb.append(", usePointLimit=").append(usePointLimit); sb.append(", subTitle=").append(subTitle); sb.append(", originalPrice=").append(originalPrice); sb.append(", stock=").append(stock); sb.append(", lowStock=").append(lowStock); sb.append(", unit=").append(unit); sb.append(", weight=").append(weight); sb.append(", previewStatus=").append(previewStatus); sb.append(", serviceIds=").append(serviceIds); sb.append(", keywords=").append(keywords); sb.append(", note=").append(note); sb.append(", albumPics=").append(albumPics); sb.append(", detailTitle=").append(detailTitle); sb.append(", promotionStartTime=").append(promotionStartTime); sb.append(", promotionEndTime=").append(promotionEndTime); sb.append(", promotionPerLimit=").append(promotionPerLimit); sb.append(", promotionType=").append(promotionType); sb.append(", brandName=").append(brandName); sb.append(", productCategoryName=").append(productCategoryName); sb.append(", description=").append(description); sb.append(", detailDesc=").append(detailDesc); sb.append(", detailHtml=").append(detailHtml); sb.append(", detailMobileHtml=").append(detailMobileHtml); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttribute.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class PmsProductAttribute implements Serializable { private Long id; private Long productAttributeCategoryId; private String name; @Schema(title = "属性选择类型:0->唯一;1->单选;2->多选") private Integer selectType; @Schema(title = "属性录入方式:0->手工录入;1->从列表中选取") private Integer inputType; @Schema(title = "可选值列表,以逗号隔开") private String inputList; @Schema(title = "排序字段:最高的可以单独上传图片") private Integer sort; @Schema(title = "分类筛选样式:1->普通;1->颜色") private Integer filterType; @Schema(title = "检索类型;0->不需要进行检索;1->关键字检索;2->范围检索") private Integer searchType; @Schema(title = "相同属性产品是否关联;0->不关联;1->关联") private Integer relatedStatus; @Schema(title = "是否支持手动新增;0->不支持;1->支持") private Integer handAddStatus; @Schema(title = "属性的类型;0->规格;1->参数") private Integer type; private static final long serialVersionUID = 1L; 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() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()); sb.append(" ["); sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", productAttributeCategoryId=").append(productAttributeCategoryId); sb.append(", name=").append(name); sb.append(", selectType=").append(selectType); sb.append(", inputType=").append(inputType); sb.append(", inputList=").append(inputList); sb.append(", sort=").append(sort); sb.append(", filterType=").append(filterType); sb.append(", searchType=").append(searchType); sb.append(", relatedStatus=").append(relatedStatus); sb.append(", handAddStatus=").append(handAddStatus); sb.append(", type=").append(type); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeCategory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class PmsProductAttributeCategory implements Serializable { private Long id; private String name; @Schema(title = "属性数量") private Integer attributeCount; @Schema(title = "参数数量") private Integer paramCount; private static final long serialVersionUID = 1L; 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 Integer getAttributeCount() { return attributeCount; } public void setAttributeCount(Integer attributeCount) { this.attributeCount = attributeCount; } public Integer getParamCount() { return paramCount; } public void setParamCount(Integer paramCount) { this.paramCount = paramCount; } @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(", name=").append(name); sb.append(", attributeCount=").append(attributeCount); sb.append(", paramCount=").append(paramCount); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeCategoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class PmsProductAttributeCategoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductAttributeCategoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andAttributeCountIsNull() { addCriterion("attribute_count is null"); return (Criteria) this; } public Criteria andAttributeCountIsNotNull() { addCriterion("attribute_count is not null"); return (Criteria) this; } public Criteria andAttributeCountEqualTo(Integer value) { addCriterion("attribute_count =", value, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountNotEqualTo(Integer value) { addCriterion("attribute_count <>", value, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountGreaterThan(Integer value) { addCriterion("attribute_count >", value, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountGreaterThanOrEqualTo(Integer value) { addCriterion("attribute_count >=", value, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountLessThan(Integer value) { addCriterion("attribute_count <", value, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountLessThanOrEqualTo(Integer value) { addCriterion("attribute_count <=", value, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountIn(List values) { addCriterion("attribute_count in", values, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountNotIn(List values) { addCriterion("attribute_count not in", values, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountBetween(Integer value1, Integer value2) { addCriterion("attribute_count between", value1, value2, "attributeCount"); return (Criteria) this; } public Criteria andAttributeCountNotBetween(Integer value1, Integer value2) { addCriterion("attribute_count not between", value1, value2, "attributeCount"); return (Criteria) this; } public Criteria andParamCountIsNull() { addCriterion("param_count is null"); return (Criteria) this; } public Criteria andParamCountIsNotNull() { addCriterion("param_count is not null"); return (Criteria) this; } public Criteria andParamCountEqualTo(Integer value) { addCriterion("param_count =", value, "paramCount"); return (Criteria) this; } public Criteria andParamCountNotEqualTo(Integer value) { addCriterion("param_count <>", value, "paramCount"); return (Criteria) this; } public Criteria andParamCountGreaterThan(Integer value) { addCriterion("param_count >", value, "paramCount"); return (Criteria) this; } public Criteria andParamCountGreaterThanOrEqualTo(Integer value) { addCriterion("param_count >=", value, "paramCount"); return (Criteria) this; } public Criteria andParamCountLessThan(Integer value) { addCriterion("param_count <", value, "paramCount"); return (Criteria) this; } public Criteria andParamCountLessThanOrEqualTo(Integer value) { addCriterion("param_count <=", value, "paramCount"); return (Criteria) this; } public Criteria andParamCountIn(List values) { addCriterion("param_count in", values, "paramCount"); return (Criteria) this; } public Criteria andParamCountNotIn(List values) { addCriterion("param_count not in", values, "paramCount"); return (Criteria) this; } public Criteria andParamCountBetween(Integer value1, Integer value2) { addCriterion("param_count between", value1, value2, "paramCount"); return (Criteria) this; } public Criteria andParamCountNotBetween(Integer value1, Integer value2) { addCriterion("param_count not between", value1, value2, "paramCount"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class PmsProductAttributeExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductAttributeExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdIsNull() { addCriterion("product_attribute_category_id is null"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdIsNotNull() { addCriterion("product_attribute_category_id is not null"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdEqualTo(Long value) { addCriterion("product_attribute_category_id =", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdNotEqualTo(Long value) { addCriterion("product_attribute_category_id <>", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdGreaterThan(Long value) { addCriterion("product_attribute_category_id >", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("product_attribute_category_id >=", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdLessThan(Long value) { addCriterion("product_attribute_category_id <", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdLessThanOrEqualTo(Long value) { addCriterion("product_attribute_category_id <=", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdIn(List values) { addCriterion("product_attribute_category_id in", values, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdNotIn(List values) { addCriterion("product_attribute_category_id not in", values, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdBetween(Long value1, Long value2) { addCriterion("product_attribute_category_id between", value1, value2, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdNotBetween(Long value1, Long value2) { addCriterion("product_attribute_category_id not between", value1, value2, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andSelectTypeIsNull() { addCriterion("select_type is null"); return (Criteria) this; } public Criteria andSelectTypeIsNotNull() { addCriterion("select_type is not null"); return (Criteria) this; } public Criteria andSelectTypeEqualTo(Integer value) { addCriterion("select_type =", value, "selectType"); return (Criteria) this; } public Criteria andSelectTypeNotEqualTo(Integer value) { addCriterion("select_type <>", value, "selectType"); return (Criteria) this; } public Criteria andSelectTypeGreaterThan(Integer value) { addCriterion("select_type >", value, "selectType"); return (Criteria) this; } public Criteria andSelectTypeGreaterThanOrEqualTo(Integer value) { addCriterion("select_type >=", value, "selectType"); return (Criteria) this; } public Criteria andSelectTypeLessThan(Integer value) { addCriterion("select_type <", value, "selectType"); return (Criteria) this; } public Criteria andSelectTypeLessThanOrEqualTo(Integer value) { addCriterion("select_type <=", value, "selectType"); return (Criteria) this; } public Criteria andSelectTypeIn(List values) { addCriterion("select_type in", values, "selectType"); return (Criteria) this; } public Criteria andSelectTypeNotIn(List values) { addCriterion("select_type not in", values, "selectType"); return (Criteria) this; } public Criteria andSelectTypeBetween(Integer value1, Integer value2) { addCriterion("select_type between", value1, value2, "selectType"); return (Criteria) this; } public Criteria andSelectTypeNotBetween(Integer value1, Integer value2) { addCriterion("select_type not between", value1, value2, "selectType"); return (Criteria) this; } public Criteria andInputTypeIsNull() { addCriterion("input_type is null"); return (Criteria) this; } public Criteria andInputTypeIsNotNull() { addCriterion("input_type is not null"); return (Criteria) this; } public Criteria andInputTypeEqualTo(Integer value) { addCriterion("input_type =", value, "inputType"); return (Criteria) this; } public Criteria andInputTypeNotEqualTo(Integer value) { addCriterion("input_type <>", value, "inputType"); return (Criteria) this; } public Criteria andInputTypeGreaterThan(Integer value) { addCriterion("input_type >", value, "inputType"); return (Criteria) this; } public Criteria andInputTypeGreaterThanOrEqualTo(Integer value) { addCriterion("input_type >=", value, "inputType"); return (Criteria) this; } public Criteria andInputTypeLessThan(Integer value) { addCriterion("input_type <", value, "inputType"); return (Criteria) this; } public Criteria andInputTypeLessThanOrEqualTo(Integer value) { addCriterion("input_type <=", value, "inputType"); return (Criteria) this; } public Criteria andInputTypeIn(List values) { addCriterion("input_type in", values, "inputType"); return (Criteria) this; } public Criteria andInputTypeNotIn(List values) { addCriterion("input_type not in", values, "inputType"); return (Criteria) this; } public Criteria andInputTypeBetween(Integer value1, Integer value2) { addCriterion("input_type between", value1, value2, "inputType"); return (Criteria) this; } public Criteria andInputTypeNotBetween(Integer value1, Integer value2) { addCriterion("input_type not between", value1, value2, "inputType"); return (Criteria) this; } public Criteria andInputListIsNull() { addCriterion("input_list is null"); return (Criteria) this; } public Criteria andInputListIsNotNull() { addCriterion("input_list is not null"); return (Criteria) this; } public Criteria andInputListEqualTo(String value) { addCriterion("input_list =", value, "inputList"); return (Criteria) this; } public Criteria andInputListNotEqualTo(String value) { addCriterion("input_list <>", value, "inputList"); return (Criteria) this; } public Criteria andInputListGreaterThan(String value) { addCriterion("input_list >", value, "inputList"); return (Criteria) this; } public Criteria andInputListGreaterThanOrEqualTo(String value) { addCriterion("input_list >=", value, "inputList"); return (Criteria) this; } public Criteria andInputListLessThan(String value) { addCriterion("input_list <", value, "inputList"); return (Criteria) this; } public Criteria andInputListLessThanOrEqualTo(String value) { addCriterion("input_list <=", value, "inputList"); return (Criteria) this; } public Criteria andInputListLike(String value) { addCriterion("input_list like", value, "inputList"); return (Criteria) this; } public Criteria andInputListNotLike(String value) { addCriterion("input_list not like", value, "inputList"); return (Criteria) this; } public Criteria andInputListIn(List values) { addCriterion("input_list in", values, "inputList"); return (Criteria) this; } public Criteria andInputListNotIn(List values) { addCriterion("input_list not in", values, "inputList"); return (Criteria) this; } public Criteria andInputListBetween(String value1, String value2) { addCriterion("input_list between", value1, value2, "inputList"); return (Criteria) this; } public Criteria andInputListNotBetween(String value1, String value2) { addCriterion("input_list not between", value1, value2, "inputList"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } public Criteria andFilterTypeIsNull() { addCriterion("filter_type is null"); return (Criteria) this; } public Criteria andFilterTypeIsNotNull() { addCriterion("filter_type is not null"); return (Criteria) this; } public Criteria andFilterTypeEqualTo(Integer value) { addCriterion("filter_type =", value, "filterType"); return (Criteria) this; } public Criteria andFilterTypeNotEqualTo(Integer value) { addCriterion("filter_type <>", value, "filterType"); return (Criteria) this; } public Criteria andFilterTypeGreaterThan(Integer value) { addCriterion("filter_type >", value, "filterType"); return (Criteria) this; } public Criteria andFilterTypeGreaterThanOrEqualTo(Integer value) { addCriterion("filter_type >=", value, "filterType"); return (Criteria) this; } public Criteria andFilterTypeLessThan(Integer value) { addCriterion("filter_type <", value, "filterType"); return (Criteria) this; } public Criteria andFilterTypeLessThanOrEqualTo(Integer value) { addCriterion("filter_type <=", value, "filterType"); return (Criteria) this; } public Criteria andFilterTypeIn(List values) { addCriterion("filter_type in", values, "filterType"); return (Criteria) this; } public Criteria andFilterTypeNotIn(List values) { addCriterion("filter_type not in", values, "filterType"); return (Criteria) this; } public Criteria andFilterTypeBetween(Integer value1, Integer value2) { addCriterion("filter_type between", value1, value2, "filterType"); return (Criteria) this; } public Criteria andFilterTypeNotBetween(Integer value1, Integer value2) { addCriterion("filter_type not between", value1, value2, "filterType"); return (Criteria) this; } public Criteria andSearchTypeIsNull() { addCriterion("search_type is null"); return (Criteria) this; } public Criteria andSearchTypeIsNotNull() { addCriterion("search_type is not null"); return (Criteria) this; } public Criteria andSearchTypeEqualTo(Integer value) { addCriterion("search_type =", value, "searchType"); return (Criteria) this; } public Criteria andSearchTypeNotEqualTo(Integer value) { addCriterion("search_type <>", value, "searchType"); return (Criteria) this; } public Criteria andSearchTypeGreaterThan(Integer value) { addCriterion("search_type >", value, "searchType"); return (Criteria) this; } public Criteria andSearchTypeGreaterThanOrEqualTo(Integer value) { addCriterion("search_type >=", value, "searchType"); return (Criteria) this; } public Criteria andSearchTypeLessThan(Integer value) { addCriterion("search_type <", value, "searchType"); return (Criteria) this; } public Criteria andSearchTypeLessThanOrEqualTo(Integer value) { addCriterion("search_type <=", value, "searchType"); return (Criteria) this; } public Criteria andSearchTypeIn(List values) { addCriterion("search_type in", values, "searchType"); return (Criteria) this; } public Criteria andSearchTypeNotIn(List values) { addCriterion("search_type not in", values, "searchType"); return (Criteria) this; } public Criteria andSearchTypeBetween(Integer value1, Integer value2) { addCriterion("search_type between", value1, value2, "searchType"); return (Criteria) this; } public Criteria andSearchTypeNotBetween(Integer value1, Integer value2) { addCriterion("search_type not between", value1, value2, "searchType"); return (Criteria) this; } public Criteria andRelatedStatusIsNull() { addCriterion("related_status is null"); return (Criteria) this; } public Criteria andRelatedStatusIsNotNull() { addCriterion("related_status is not null"); return (Criteria) this; } public Criteria andRelatedStatusEqualTo(Integer value) { addCriterion("related_status =", value, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusNotEqualTo(Integer value) { addCriterion("related_status <>", value, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusGreaterThan(Integer value) { addCriterion("related_status >", value, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusGreaterThanOrEqualTo(Integer value) { addCriterion("related_status >=", value, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusLessThan(Integer value) { addCriterion("related_status <", value, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusLessThanOrEqualTo(Integer value) { addCriterion("related_status <=", value, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusIn(List values) { addCriterion("related_status in", values, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusNotIn(List values) { addCriterion("related_status not in", values, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusBetween(Integer value1, Integer value2) { addCriterion("related_status between", value1, value2, "relatedStatus"); return (Criteria) this; } public Criteria andRelatedStatusNotBetween(Integer value1, Integer value2) { addCriterion("related_status not between", value1, value2, "relatedStatus"); return (Criteria) this; } public Criteria andHandAddStatusIsNull() { addCriterion("hand_add_status is null"); return (Criteria) this; } public Criteria andHandAddStatusIsNotNull() { addCriterion("hand_add_status is not null"); return (Criteria) this; } public Criteria andHandAddStatusEqualTo(Integer value) { addCriterion("hand_add_status =", value, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusNotEqualTo(Integer value) { addCriterion("hand_add_status <>", value, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusGreaterThan(Integer value) { addCriterion("hand_add_status >", value, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusGreaterThanOrEqualTo(Integer value) { addCriterion("hand_add_status >=", value, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusLessThan(Integer value) { addCriterion("hand_add_status <", value, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusLessThanOrEqualTo(Integer value) { addCriterion("hand_add_status <=", value, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusIn(List values) { addCriterion("hand_add_status in", values, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusNotIn(List values) { addCriterion("hand_add_status not in", values, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusBetween(Integer value1, Integer value2) { addCriterion("hand_add_status between", value1, value2, "handAddStatus"); return (Criteria) this; } public Criteria andHandAddStatusNotBetween(Integer value1, Integer value2) { addCriterion("hand_add_status not between", value1, value2, "handAddStatus"); return (Criteria) this; } public Criteria andTypeIsNull() { addCriterion("type is null"); return (Criteria) this; } public Criteria andTypeIsNotNull() { addCriterion("type is not null"); return (Criteria) this; } public Criteria andTypeEqualTo(Integer value) { addCriterion("type =", value, "type"); return (Criteria) this; } public Criteria andTypeNotEqualTo(Integer value) { addCriterion("type <>", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThan(Integer value) { addCriterion("type >", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThanOrEqualTo(Integer value) { addCriterion("type >=", value, "type"); return (Criteria) this; } public Criteria andTypeLessThan(Integer value) { addCriterion("type <", value, "type"); return (Criteria) this; } public Criteria andTypeLessThanOrEqualTo(Integer value) { addCriterion("type <=", value, "type"); return (Criteria) this; } public Criteria andTypeIn(List values) { addCriterion("type in", values, "type"); return (Criteria) this; } public Criteria andTypeNotIn(List values) { addCriterion("type not in", values, "type"); return (Criteria) this; } public Criteria andTypeBetween(Integer value1, Integer value2) { addCriterion("type between", value1, value2, "type"); return (Criteria) this; } public Criteria andTypeNotBetween(Integer value1, Integer value2) { addCriterion("type not between", value1, value2, "type"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeValue.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class PmsProductAttributeValue implements Serializable { private Long id; private Long productId; private Long productAttributeId; @Schema(title = "手动添加规格或参数的值,参数单值,规格有多个时以逗号隔开") private String value; private static final long serialVersionUID = 1L; 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 getProductAttributeId() { return productAttributeId; } public void setProductAttributeId(Long productAttributeId) { this.productAttributeId = productAttributeId; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } @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(", productAttributeId=").append(productAttributeId); sb.append(", value=").append(value); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductAttributeValueExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class PmsProductAttributeValueExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductAttributeValueExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductAttributeIdIsNull() { addCriterion("product_attribute_id is null"); return (Criteria) this; } public Criteria andProductAttributeIdIsNotNull() { addCriterion("product_attribute_id is not null"); return (Criteria) this; } public Criteria andProductAttributeIdEqualTo(Long value) { addCriterion("product_attribute_id =", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdNotEqualTo(Long value) { addCriterion("product_attribute_id <>", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdGreaterThan(Long value) { addCriterion("product_attribute_id >", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdGreaterThanOrEqualTo(Long value) { addCriterion("product_attribute_id >=", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdLessThan(Long value) { addCriterion("product_attribute_id <", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdLessThanOrEqualTo(Long value) { addCriterion("product_attribute_id <=", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdIn(List values) { addCriterion("product_attribute_id in", values, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdNotIn(List values) { addCriterion("product_attribute_id not in", values, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdBetween(Long value1, Long value2) { addCriterion("product_attribute_id between", value1, value2, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdNotBetween(Long value1, Long value2) { addCriterion("product_attribute_id not between", value1, value2, "productAttributeId"); return (Criteria) this; } public Criteria andValueIsNull() { addCriterion("value is null"); return (Criteria) this; } public Criteria andValueIsNotNull() { addCriterion("value is not null"); return (Criteria) this; } public Criteria andValueEqualTo(String value) { addCriterion("value =", value, "value"); return (Criteria) this; } public Criteria andValueNotEqualTo(String value) { addCriterion("value <>", value, "value"); return (Criteria) this; } public Criteria andValueGreaterThan(String value) { addCriterion("value >", value, "value"); return (Criteria) this; } public Criteria andValueGreaterThanOrEqualTo(String value) { addCriterion("value >=", value, "value"); return (Criteria) this; } public Criteria andValueLessThan(String value) { addCriterion("value <", value, "value"); return (Criteria) this; } public Criteria andValueLessThanOrEqualTo(String value) { addCriterion("value <=", value, "value"); return (Criteria) this; } public Criteria andValueLike(String value) { addCriterion("value like", value, "value"); return (Criteria) this; } public Criteria andValueNotLike(String value) { addCriterion("value not like", value, "value"); return (Criteria) this; } public Criteria andValueIn(List values) { addCriterion("value in", values, "value"); return (Criteria) this; } public Criteria andValueNotIn(List values) { addCriterion("value not in", values, "value"); return (Criteria) this; } public Criteria andValueBetween(String value1, String value2) { addCriterion("value between", value1, value2, "value"); return (Criteria) this; } public Criteria andValueNotBetween(String value1, String value2) { addCriterion("value not between", value1, value2, "value"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class PmsProductCategory implements Serializable { private Long id; @Schema(title = "上机分类的编号:0表示一级分类") private Long parentId; private String name; @Schema(title = "分类级别:0->1级;1->2级") private Integer level; private Integer productCount; private String productUnit; @Schema(title = "是否显示在导航栏:0->不显示;1->显示") private Integer navStatus; @Schema(title = "显示状态:0->不显示;1->显示") private Integer showStatus; private Integer sort; @Schema(title = "图标") private String icon; private String keywords; @Schema(title = "描述") private String description; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getParentId() { return parentId; } public void setParentId(Long parentId) { this.parentId = parentId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getLevel() { return level; } public void setLevel(Integer level) { this.level = level; } public Integer getProductCount() { return productCount; } public void setProductCount(Integer productCount) { this.productCount = productCount; } public String getProductUnit() { return productUnit; } public void setProductUnit(String productUnit) { this.productUnit = productUnit; } public Integer getNavStatus() { return navStatus; } public void setNavStatus(Integer navStatus) { this.navStatus = navStatus; } public Integer getShowStatus() { return showStatus; } public void setShowStatus(Integer showStatus) { this.showStatus = showStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public String getKeywords() { return keywords; } public void setKeywords(String keywords) { this.keywords = keywords; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } @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(", parentId=").append(parentId); sb.append(", name=").append(name); sb.append(", level=").append(level); sb.append(", productCount=").append(productCount); sb.append(", productUnit=").append(productUnit); sb.append(", navStatus=").append(navStatus); sb.append(", showStatus=").append(showStatus); sb.append(", sort=").append(sort); sb.append(", icon=").append(icon); sb.append(", keywords=").append(keywords); sb.append(", description=").append(description); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategoryAttributeRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class PmsProductCategoryAttributeRelation implements Serializable { private Long id; private Long productCategoryId; private Long productAttributeId; private static final long serialVersionUID = 1L; 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() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()); sb.append(" ["); sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", productCategoryId=").append(productCategoryId); sb.append(", productAttributeId=").append(productAttributeId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategoryAttributeRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class PmsProductCategoryAttributeRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductCategoryAttributeRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductCategoryIdIsNull() { addCriterion("product_category_id is null"); return (Criteria) this; } public Criteria andProductCategoryIdIsNotNull() { addCriterion("product_category_id is not null"); return (Criteria) this; } public Criteria andProductCategoryIdEqualTo(Long value) { addCriterion("product_category_id =", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotEqualTo(Long value) { addCriterion("product_category_id <>", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThan(Long value) { addCriterion("product_category_id >", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("product_category_id >=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThan(Long value) { addCriterion("product_category_id <", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) { addCriterion("product_category_id <=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdIn(List values) { addCriterion("product_category_id in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotIn(List values) { addCriterion("product_category_id not in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdBetween(Long value1, Long value2) { addCriterion("product_category_id between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) { addCriterion("product_category_id not between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductAttributeIdIsNull() { addCriterion("product_attribute_id is null"); return (Criteria) this; } public Criteria andProductAttributeIdIsNotNull() { addCriterion("product_attribute_id is not null"); return (Criteria) this; } public Criteria andProductAttributeIdEqualTo(Long value) { addCriterion("product_attribute_id =", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdNotEqualTo(Long value) { addCriterion("product_attribute_id <>", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdGreaterThan(Long value) { addCriterion("product_attribute_id >", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdGreaterThanOrEqualTo(Long value) { addCriterion("product_attribute_id >=", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdLessThan(Long value) { addCriterion("product_attribute_id <", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdLessThanOrEqualTo(Long value) { addCriterion("product_attribute_id <=", value, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdIn(List values) { addCriterion("product_attribute_id in", values, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdNotIn(List values) { addCriterion("product_attribute_id not in", values, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdBetween(Long value1, Long value2) { addCriterion("product_attribute_id between", value1, value2, "productAttributeId"); return (Criteria) this; } public Criteria andProductAttributeIdNotBetween(Long value1, Long value2) { addCriterion("product_attribute_id not between", value1, value2, "productAttributeId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductCategoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class PmsProductCategoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductCategoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andParentIdIsNull() { addCriterion("parent_id is null"); return (Criteria) this; } public Criteria andParentIdIsNotNull() { addCriterion("parent_id is not null"); return (Criteria) this; } public Criteria andParentIdEqualTo(Long value) { addCriterion("parent_id =", value, "parentId"); return (Criteria) this; } public Criteria andParentIdNotEqualTo(Long value) { addCriterion("parent_id <>", value, "parentId"); return (Criteria) this; } public Criteria andParentIdGreaterThan(Long value) { addCriterion("parent_id >", value, "parentId"); return (Criteria) this; } public Criteria andParentIdGreaterThanOrEqualTo(Long value) { addCriterion("parent_id >=", value, "parentId"); return (Criteria) this; } public Criteria andParentIdLessThan(Long value) { addCriterion("parent_id <", value, "parentId"); return (Criteria) this; } public Criteria andParentIdLessThanOrEqualTo(Long value) { addCriterion("parent_id <=", value, "parentId"); return (Criteria) this; } public Criteria andParentIdIn(List values) { addCriterion("parent_id in", values, "parentId"); return (Criteria) this; } public Criteria andParentIdNotIn(List values) { addCriterion("parent_id not in", values, "parentId"); return (Criteria) this; } public Criteria andParentIdBetween(Long value1, Long value2) { addCriterion("parent_id between", value1, value2, "parentId"); return (Criteria) this; } public Criteria andParentIdNotBetween(Long value1, Long value2) { addCriterion("parent_id not between", value1, value2, "parentId"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andLevelIsNull() { addCriterion("level is null"); return (Criteria) this; } public Criteria andLevelIsNotNull() { addCriterion("level is not null"); return (Criteria) this; } public Criteria andLevelEqualTo(Integer value) { addCriterion("level =", value, "level"); return (Criteria) this; } public Criteria andLevelNotEqualTo(Integer value) { addCriterion("level <>", value, "level"); return (Criteria) this; } public Criteria andLevelGreaterThan(Integer value) { addCriterion("level >", value, "level"); return (Criteria) this; } public Criteria andLevelGreaterThanOrEqualTo(Integer value) { addCriterion("level >=", value, "level"); return (Criteria) this; } public Criteria andLevelLessThan(Integer value) { addCriterion("level <", value, "level"); return (Criteria) this; } public Criteria andLevelLessThanOrEqualTo(Integer value) { addCriterion("level <=", value, "level"); return (Criteria) this; } public Criteria andLevelIn(List values) { addCriterion("level in", values, "level"); return (Criteria) this; } public Criteria andLevelNotIn(List values) { addCriterion("level not in", values, "level"); return (Criteria) this; } public Criteria andLevelBetween(Integer value1, Integer value2) { addCriterion("level between", value1, value2, "level"); return (Criteria) this; } public Criteria andLevelNotBetween(Integer value1, Integer value2) { addCriterion("level not between", value1, value2, "level"); return (Criteria) this; } public Criteria andProductCountIsNull() { addCriterion("product_count is null"); return (Criteria) this; } public Criteria andProductCountIsNotNull() { addCriterion("product_count is not null"); return (Criteria) this; } public Criteria andProductCountEqualTo(Integer value) { addCriterion("product_count =", value, "productCount"); return (Criteria) this; } public Criteria andProductCountNotEqualTo(Integer value) { addCriterion("product_count <>", value, "productCount"); return (Criteria) this; } public Criteria andProductCountGreaterThan(Integer value) { addCriterion("product_count >", value, "productCount"); return (Criteria) this; } public Criteria andProductCountGreaterThanOrEqualTo(Integer value) { addCriterion("product_count >=", value, "productCount"); return (Criteria) this; } public Criteria andProductCountLessThan(Integer value) { addCriterion("product_count <", value, "productCount"); return (Criteria) this; } public Criteria andProductCountLessThanOrEqualTo(Integer value) { addCriterion("product_count <=", value, "productCount"); return (Criteria) this; } public Criteria andProductCountIn(List values) { addCriterion("product_count in", values, "productCount"); return (Criteria) this; } public Criteria andProductCountNotIn(List values) { addCriterion("product_count not in", values, "productCount"); return (Criteria) this; } public Criteria andProductCountBetween(Integer value1, Integer value2) { addCriterion("product_count between", value1, value2, "productCount"); return (Criteria) this; } public Criteria andProductCountNotBetween(Integer value1, Integer value2) { addCriterion("product_count not between", value1, value2, "productCount"); return (Criteria) this; } public Criteria andProductUnitIsNull() { addCriterion("product_unit is null"); return (Criteria) this; } public Criteria andProductUnitIsNotNull() { addCriterion("product_unit is not null"); return (Criteria) this; } public Criteria andProductUnitEqualTo(String value) { addCriterion("product_unit =", value, "productUnit"); return (Criteria) this; } public Criteria andProductUnitNotEqualTo(String value) { addCriterion("product_unit <>", value, "productUnit"); return (Criteria) this; } public Criteria andProductUnitGreaterThan(String value) { addCriterion("product_unit >", value, "productUnit"); return (Criteria) this; } public Criteria andProductUnitGreaterThanOrEqualTo(String value) { addCriterion("product_unit >=", value, "productUnit"); return (Criteria) this; } public Criteria andProductUnitLessThan(String value) { addCriterion("product_unit <", value, "productUnit"); return (Criteria) this; } public Criteria andProductUnitLessThanOrEqualTo(String value) { addCriterion("product_unit <=", value, "productUnit"); return (Criteria) this; } public Criteria andProductUnitLike(String value) { addCriterion("product_unit like", value, "productUnit"); return (Criteria) this; } public Criteria andProductUnitNotLike(String value) { addCriterion("product_unit not like", value, "productUnit"); return (Criteria) this; } public Criteria andProductUnitIn(List values) { addCriterion("product_unit in", values, "productUnit"); return (Criteria) this; } public Criteria andProductUnitNotIn(List values) { addCriterion("product_unit not in", values, "productUnit"); return (Criteria) this; } public Criteria andProductUnitBetween(String value1, String value2) { addCriterion("product_unit between", value1, value2, "productUnit"); return (Criteria) this; } public Criteria andProductUnitNotBetween(String value1, String value2) { addCriterion("product_unit not between", value1, value2, "productUnit"); return (Criteria) this; } public Criteria andNavStatusIsNull() { addCriterion("nav_status is null"); return (Criteria) this; } public Criteria andNavStatusIsNotNull() { addCriterion("nav_status is not null"); return (Criteria) this; } public Criteria andNavStatusEqualTo(Integer value) { addCriterion("nav_status =", value, "navStatus"); return (Criteria) this; } public Criteria andNavStatusNotEqualTo(Integer value) { addCriterion("nav_status <>", value, "navStatus"); return (Criteria) this; } public Criteria andNavStatusGreaterThan(Integer value) { addCriterion("nav_status >", value, "navStatus"); return (Criteria) this; } public Criteria andNavStatusGreaterThanOrEqualTo(Integer value) { addCriterion("nav_status >=", value, "navStatus"); return (Criteria) this; } public Criteria andNavStatusLessThan(Integer value) { addCriterion("nav_status <", value, "navStatus"); return (Criteria) this; } public Criteria andNavStatusLessThanOrEqualTo(Integer value) { addCriterion("nav_status <=", value, "navStatus"); return (Criteria) this; } public Criteria andNavStatusIn(List values) { addCriterion("nav_status in", values, "navStatus"); return (Criteria) this; } public Criteria andNavStatusNotIn(List values) { addCriterion("nav_status not in", values, "navStatus"); return (Criteria) this; } public Criteria andNavStatusBetween(Integer value1, Integer value2) { addCriterion("nav_status between", value1, value2, "navStatus"); return (Criteria) this; } public Criteria andNavStatusNotBetween(Integer value1, Integer value2) { addCriterion("nav_status not between", value1, value2, "navStatus"); return (Criteria) this; } public Criteria andShowStatusIsNull() { addCriterion("show_status is null"); return (Criteria) this; } public Criteria andShowStatusIsNotNull() { addCriterion("show_status is not null"); return (Criteria) this; } public Criteria andShowStatusEqualTo(Integer value) { addCriterion("show_status =", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotEqualTo(Integer value) { addCriterion("show_status <>", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThan(Integer value) { addCriterion("show_status >", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusGreaterThanOrEqualTo(Integer value) { addCriterion("show_status >=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThan(Integer value) { addCriterion("show_status <", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusLessThanOrEqualTo(Integer value) { addCriterion("show_status <=", value, "showStatus"); return (Criteria) this; } public Criteria andShowStatusIn(List values) { addCriterion("show_status in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotIn(List values) { addCriterion("show_status not in", values, "showStatus"); return (Criteria) this; } public Criteria andShowStatusBetween(Integer value1, Integer value2) { addCriterion("show_status between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andShowStatusNotBetween(Integer value1, Integer value2) { addCriterion("show_status not between", value1, value2, "showStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andKeywordsIsNull() { addCriterion("keywords is null"); return (Criteria) this; } public Criteria andKeywordsIsNotNull() { addCriterion("keywords is not null"); return (Criteria) this; } public Criteria andKeywordsEqualTo(String value) { addCriterion("keywords =", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsNotEqualTo(String value) { addCriterion("keywords <>", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsGreaterThan(String value) { addCriterion("keywords >", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsGreaterThanOrEqualTo(String value) { addCriterion("keywords >=", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsLessThan(String value) { addCriterion("keywords <", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsLessThanOrEqualTo(String value) { addCriterion("keywords <=", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsLike(String value) { addCriterion("keywords like", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsNotLike(String value) { addCriterion("keywords not like", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsIn(List values) { addCriterion("keywords in", values, "keywords"); return (Criteria) this; } public Criteria andKeywordsNotIn(List values) { addCriterion("keywords not in", values, "keywords"); return (Criteria) this; } public Criteria andKeywordsBetween(String value1, String value2) { addCriterion("keywords between", value1, value2, "keywords"); return (Criteria) this; } public Criteria andKeywordsNotBetween(String value1, String value2) { addCriterion("keywords not between", value1, value2, "keywords"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; public class PmsProductExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andBrandIdIsNull() { addCriterion("brand_id is null"); return (Criteria) this; } public Criteria andBrandIdIsNotNull() { addCriterion("brand_id is not null"); return (Criteria) this; } public Criteria andBrandIdEqualTo(Long value) { addCriterion("brand_id =", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdNotEqualTo(Long value) { addCriterion("brand_id <>", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdGreaterThan(Long value) { addCriterion("brand_id >", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdGreaterThanOrEqualTo(Long value) { addCriterion("brand_id >=", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdLessThan(Long value) { addCriterion("brand_id <", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdLessThanOrEqualTo(Long value) { addCriterion("brand_id <=", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdIn(List values) { addCriterion("brand_id in", values, "brandId"); return (Criteria) this; } public Criteria andBrandIdNotIn(List values) { addCriterion("brand_id not in", values, "brandId"); return (Criteria) this; } public Criteria andBrandIdBetween(Long value1, Long value2) { addCriterion("brand_id between", value1, value2, "brandId"); return (Criteria) this; } public Criteria andBrandIdNotBetween(Long value1, Long value2) { addCriterion("brand_id not between", value1, value2, "brandId"); return (Criteria) this; } public Criteria andProductCategoryIdIsNull() { addCriterion("product_category_id is null"); return (Criteria) this; } public Criteria andProductCategoryIdIsNotNull() { addCriterion("product_category_id is not null"); return (Criteria) this; } public Criteria andProductCategoryIdEqualTo(Long value) { addCriterion("product_category_id =", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotEqualTo(Long value) { addCriterion("product_category_id <>", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThan(Long value) { addCriterion("product_category_id >", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("product_category_id >=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThan(Long value) { addCriterion("product_category_id <", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) { addCriterion("product_category_id <=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdIn(List values) { addCriterion("product_category_id in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotIn(List values) { addCriterion("product_category_id not in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdBetween(Long value1, Long value2) { addCriterion("product_category_id between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) { addCriterion("product_category_id not between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andFeightTemplateIdIsNull() { addCriterion("feight_template_id is null"); return (Criteria) this; } public Criteria andFeightTemplateIdIsNotNull() { addCriterion("feight_template_id is not null"); return (Criteria) this; } public Criteria andFeightTemplateIdEqualTo(Long value) { addCriterion("feight_template_id =", value, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdNotEqualTo(Long value) { addCriterion("feight_template_id <>", value, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdGreaterThan(Long value) { addCriterion("feight_template_id >", value, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdGreaterThanOrEqualTo(Long value) { addCriterion("feight_template_id >=", value, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdLessThan(Long value) { addCriterion("feight_template_id <", value, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdLessThanOrEqualTo(Long value) { addCriterion("feight_template_id <=", value, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdIn(List values) { addCriterion("feight_template_id in", values, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdNotIn(List values) { addCriterion("feight_template_id not in", values, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdBetween(Long value1, Long value2) { addCriterion("feight_template_id between", value1, value2, "feightTemplateId"); return (Criteria) this; } public Criteria andFeightTemplateIdNotBetween(Long value1, Long value2) { addCriterion("feight_template_id not between", value1, value2, "feightTemplateId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdIsNull() { addCriterion("product_attribute_category_id is null"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdIsNotNull() { addCriterion("product_attribute_category_id is not null"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdEqualTo(Long value) { addCriterion("product_attribute_category_id =", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdNotEqualTo(Long value) { addCriterion("product_attribute_category_id <>", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdGreaterThan(Long value) { addCriterion("product_attribute_category_id >", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("product_attribute_category_id >=", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdLessThan(Long value) { addCriterion("product_attribute_category_id <", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdLessThanOrEqualTo(Long value) { addCriterion("product_attribute_category_id <=", value, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdIn(List values) { addCriterion("product_attribute_category_id in", values, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdNotIn(List values) { addCriterion("product_attribute_category_id not in", values, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdBetween(Long value1, Long value2) { addCriterion("product_attribute_category_id between", value1, value2, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andProductAttributeCategoryIdNotBetween(Long value1, Long value2) { addCriterion("product_attribute_category_id not between", value1, value2, "productAttributeCategoryId"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andPicIsNull() { addCriterion("pic is null"); return (Criteria) this; } public Criteria andPicIsNotNull() { addCriterion("pic is not null"); return (Criteria) this; } public Criteria andPicEqualTo(String value) { addCriterion("pic =", value, "pic"); return (Criteria) this; } public Criteria andPicNotEqualTo(String value) { addCriterion("pic <>", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThan(String value) { addCriterion("pic >", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThanOrEqualTo(String value) { addCriterion("pic >=", value, "pic"); return (Criteria) this; } public Criteria andPicLessThan(String value) { addCriterion("pic <", value, "pic"); return (Criteria) this; } public Criteria andPicLessThanOrEqualTo(String value) { addCriterion("pic <=", value, "pic"); return (Criteria) this; } public Criteria andPicLike(String value) { addCriterion("pic like", value, "pic"); return (Criteria) this; } public Criteria andPicNotLike(String value) { addCriterion("pic not like", value, "pic"); return (Criteria) this; } public Criteria andPicIn(List values) { addCriterion("pic in", values, "pic"); return (Criteria) this; } public Criteria andPicNotIn(List values) { addCriterion("pic not in", values, "pic"); return (Criteria) this; } public Criteria andPicBetween(String value1, String value2) { addCriterion("pic between", value1, value2, "pic"); return (Criteria) this; } public Criteria andPicNotBetween(String value1, String value2) { addCriterion("pic not between", value1, value2, "pic"); return (Criteria) this; } public Criteria andProductSnIsNull() { addCriterion("product_sn is null"); return (Criteria) this; } public Criteria andProductSnIsNotNull() { addCriterion("product_sn is not null"); return (Criteria) this; } public Criteria andProductSnEqualTo(String value) { addCriterion("product_sn =", value, "productSn"); return (Criteria) this; } public Criteria andProductSnNotEqualTo(String value) { addCriterion("product_sn <>", value, "productSn"); return (Criteria) this; } public Criteria andProductSnGreaterThan(String value) { addCriterion("product_sn >", value, "productSn"); return (Criteria) this; } public Criteria andProductSnGreaterThanOrEqualTo(String value) { addCriterion("product_sn >=", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLessThan(String value) { addCriterion("product_sn <", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLessThanOrEqualTo(String value) { addCriterion("product_sn <=", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLike(String value) { addCriterion("product_sn like", value, "productSn"); return (Criteria) this; } public Criteria andProductSnNotLike(String value) { addCriterion("product_sn not like", value, "productSn"); return (Criteria) this; } public Criteria andProductSnIn(List values) { addCriterion("product_sn in", values, "productSn"); return (Criteria) this; } public Criteria andProductSnNotIn(List values) { addCriterion("product_sn not in", values, "productSn"); return (Criteria) this; } public Criteria andProductSnBetween(String value1, String value2) { addCriterion("product_sn between", value1, value2, "productSn"); return (Criteria) this; } public Criteria andProductSnNotBetween(String value1, String value2) { addCriterion("product_sn not between", value1, value2, "productSn"); return (Criteria) this; } public Criteria andDeleteStatusIsNull() { addCriterion("delete_status is null"); return (Criteria) this; } public Criteria andDeleteStatusIsNotNull() { addCriterion("delete_status is not null"); return (Criteria) this; } public Criteria andDeleteStatusEqualTo(Integer value) { addCriterion("delete_status =", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotEqualTo(Integer value) { addCriterion("delete_status <>", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusGreaterThan(Integer value) { addCriterion("delete_status >", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusGreaterThanOrEqualTo(Integer value) { addCriterion("delete_status >=", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusLessThan(Integer value) { addCriterion("delete_status <", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusLessThanOrEqualTo(Integer value) { addCriterion("delete_status <=", value, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusIn(List values) { addCriterion("delete_status in", values, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotIn(List values) { addCriterion("delete_status not in", values, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusBetween(Integer value1, Integer value2) { addCriterion("delete_status between", value1, value2, "deleteStatus"); return (Criteria) this; } public Criteria andDeleteStatusNotBetween(Integer value1, Integer value2) { addCriterion("delete_status not between", value1, value2, "deleteStatus"); return (Criteria) this; } public Criteria andPublishStatusIsNull() { addCriterion("publish_status is null"); return (Criteria) this; } public Criteria andPublishStatusIsNotNull() { addCriterion("publish_status is not null"); return (Criteria) this; } public Criteria andPublishStatusEqualTo(Integer value) { addCriterion("publish_status =", value, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusNotEqualTo(Integer value) { addCriterion("publish_status <>", value, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusGreaterThan(Integer value) { addCriterion("publish_status >", value, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusGreaterThanOrEqualTo(Integer value) { addCriterion("publish_status >=", value, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusLessThan(Integer value) { addCriterion("publish_status <", value, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusLessThanOrEqualTo(Integer value) { addCriterion("publish_status <=", value, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusIn(List values) { addCriterion("publish_status in", values, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusNotIn(List values) { addCriterion("publish_status not in", values, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusBetween(Integer value1, Integer value2) { addCriterion("publish_status between", value1, value2, "publishStatus"); return (Criteria) this; } public Criteria andPublishStatusNotBetween(Integer value1, Integer value2) { addCriterion("publish_status not between", value1, value2, "publishStatus"); return (Criteria) this; } public Criteria andNewStatusIsNull() { addCriterion("new_status is null"); return (Criteria) this; } public Criteria andNewStatusIsNotNull() { addCriterion("new_status is not null"); return (Criteria) this; } public Criteria andNewStatusEqualTo(Integer value) { addCriterion("new_status =", value, "newStatus"); return (Criteria) this; } public Criteria andNewStatusNotEqualTo(Integer value) { addCriterion("new_status <>", value, "newStatus"); return (Criteria) this; } public Criteria andNewStatusGreaterThan(Integer value) { addCriterion("new_status >", value, "newStatus"); return (Criteria) this; } public Criteria andNewStatusGreaterThanOrEqualTo(Integer value) { addCriterion("new_status >=", value, "newStatus"); return (Criteria) this; } public Criteria andNewStatusLessThan(Integer value) { addCriterion("new_status <", value, "newStatus"); return (Criteria) this; } public Criteria andNewStatusLessThanOrEqualTo(Integer value) { addCriterion("new_status <=", value, "newStatus"); return (Criteria) this; } public Criteria andNewStatusIn(List values) { addCriterion("new_status in", values, "newStatus"); return (Criteria) this; } public Criteria andNewStatusNotIn(List values) { addCriterion("new_status not in", values, "newStatus"); return (Criteria) this; } public Criteria andNewStatusBetween(Integer value1, Integer value2) { addCriterion("new_status between", value1, value2, "newStatus"); return (Criteria) this; } public Criteria andNewStatusNotBetween(Integer value1, Integer value2) { addCriterion("new_status not between", value1, value2, "newStatus"); return (Criteria) this; } public Criteria andRecommandStatusIsNull() { addCriterion("recommand_status is null"); return (Criteria) this; } public Criteria andRecommandStatusIsNotNull() { addCriterion("recommand_status is not null"); return (Criteria) this; } public Criteria andRecommandStatusEqualTo(Integer value) { addCriterion("recommand_status =", value, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusNotEqualTo(Integer value) { addCriterion("recommand_status <>", value, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusGreaterThan(Integer value) { addCriterion("recommand_status >", value, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusGreaterThanOrEqualTo(Integer value) { addCriterion("recommand_status >=", value, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusLessThan(Integer value) { addCriterion("recommand_status <", value, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusLessThanOrEqualTo(Integer value) { addCriterion("recommand_status <=", value, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusIn(List values) { addCriterion("recommand_status in", values, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusNotIn(List values) { addCriterion("recommand_status not in", values, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusBetween(Integer value1, Integer value2) { addCriterion("recommand_status between", value1, value2, "recommandStatus"); return (Criteria) this; } public Criteria andRecommandStatusNotBetween(Integer value1, Integer value2) { addCriterion("recommand_status not between", value1, value2, "recommandStatus"); return (Criteria) this; } public Criteria andVerifyStatusIsNull() { addCriterion("verify_status is null"); return (Criteria) this; } public Criteria andVerifyStatusIsNotNull() { addCriterion("verify_status is not null"); return (Criteria) this; } public Criteria andVerifyStatusEqualTo(Integer value) { addCriterion("verify_status =", value, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusNotEqualTo(Integer value) { addCriterion("verify_status <>", value, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusGreaterThan(Integer value) { addCriterion("verify_status >", value, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusGreaterThanOrEqualTo(Integer value) { addCriterion("verify_status >=", value, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusLessThan(Integer value) { addCriterion("verify_status <", value, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusLessThanOrEqualTo(Integer value) { addCriterion("verify_status <=", value, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusIn(List values) { addCriterion("verify_status in", values, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusNotIn(List values) { addCriterion("verify_status not in", values, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusBetween(Integer value1, Integer value2) { addCriterion("verify_status between", value1, value2, "verifyStatus"); return (Criteria) this; } public Criteria andVerifyStatusNotBetween(Integer value1, Integer value2) { addCriterion("verify_status not between", value1, value2, "verifyStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSaleIsNull() { addCriterion("sale is null"); return (Criteria) this; } public Criteria andSaleIsNotNull() { addCriterion("sale is not null"); return (Criteria) this; } public Criteria andSaleEqualTo(Integer value) { addCriterion("sale =", value, "sale"); return (Criteria) this; } public Criteria andSaleNotEqualTo(Integer value) { addCriterion("sale <>", value, "sale"); return (Criteria) this; } public Criteria andSaleGreaterThan(Integer value) { addCriterion("sale >", value, "sale"); return (Criteria) this; } public Criteria andSaleGreaterThanOrEqualTo(Integer value) { addCriterion("sale >=", value, "sale"); return (Criteria) this; } public Criteria andSaleLessThan(Integer value) { addCriterion("sale <", value, "sale"); return (Criteria) this; } public Criteria andSaleLessThanOrEqualTo(Integer value) { addCriterion("sale <=", value, "sale"); return (Criteria) this; } public Criteria andSaleIn(List values) { addCriterion("sale in", values, "sale"); return (Criteria) this; } public Criteria andSaleNotIn(List values) { addCriterion("sale not in", values, "sale"); return (Criteria) this; } public Criteria andSaleBetween(Integer value1, Integer value2) { addCriterion("sale between", value1, value2, "sale"); return (Criteria) this; } public Criteria andSaleNotBetween(Integer value1, Integer value2) { addCriterion("sale not between", value1, value2, "sale"); return (Criteria) this; } public Criteria andPriceIsNull() { addCriterion("price is null"); return (Criteria) this; } public Criteria andPriceIsNotNull() { addCriterion("price is not null"); return (Criteria) this; } public Criteria andPriceEqualTo(BigDecimal value) { addCriterion("price =", value, "price"); return (Criteria) this; } public Criteria andPriceNotEqualTo(BigDecimal value) { addCriterion("price <>", value, "price"); return (Criteria) this; } public Criteria andPriceGreaterThan(BigDecimal value) { addCriterion("price >", value, "price"); return (Criteria) this; } public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("price >=", value, "price"); return (Criteria) this; } public Criteria andPriceLessThan(BigDecimal value) { addCriterion("price <", value, "price"); return (Criteria) this; } public Criteria andPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("price <=", value, "price"); return (Criteria) this; } public Criteria andPriceIn(List values) { addCriterion("price in", values, "price"); return (Criteria) this; } public Criteria andPriceNotIn(List values) { addCriterion("price not in", values, "price"); return (Criteria) this; } public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price between", value1, value2, "price"); return (Criteria) this; } public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price not between", value1, value2, "price"); return (Criteria) this; } public Criteria andPromotionPriceIsNull() { addCriterion("promotion_price is null"); return (Criteria) this; } public Criteria andPromotionPriceIsNotNull() { addCriterion("promotion_price is not null"); return (Criteria) this; } public Criteria andPromotionPriceEqualTo(BigDecimal value) { addCriterion("promotion_price =", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceNotEqualTo(BigDecimal value) { addCriterion("promotion_price <>", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceGreaterThan(BigDecimal value) { addCriterion("promotion_price >", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("promotion_price >=", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceLessThan(BigDecimal value) { addCriterion("promotion_price <", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("promotion_price <=", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceIn(List values) { addCriterion("promotion_price in", values, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceNotIn(List values) { addCriterion("promotion_price not in", values, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("promotion_price between", value1, value2, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("promotion_price not between", value1, value2, "promotionPrice"); return (Criteria) this; } public Criteria andGiftGrowthIsNull() { addCriterion("gift_growth is null"); return (Criteria) this; } public Criteria andGiftGrowthIsNotNull() { addCriterion("gift_growth is not null"); return (Criteria) this; } public Criteria andGiftGrowthEqualTo(Integer value) { addCriterion("gift_growth =", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthNotEqualTo(Integer value) { addCriterion("gift_growth <>", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthGreaterThan(Integer value) { addCriterion("gift_growth >", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthGreaterThanOrEqualTo(Integer value) { addCriterion("gift_growth >=", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthLessThan(Integer value) { addCriterion("gift_growth <", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthLessThanOrEqualTo(Integer value) { addCriterion("gift_growth <=", value, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthIn(List values) { addCriterion("gift_growth in", values, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthNotIn(List values) { addCriterion("gift_growth not in", values, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthBetween(Integer value1, Integer value2) { addCriterion("gift_growth between", value1, value2, "giftGrowth"); return (Criteria) this; } public Criteria andGiftGrowthNotBetween(Integer value1, Integer value2) { addCriterion("gift_growth not between", value1, value2, "giftGrowth"); return (Criteria) this; } public Criteria andGiftPointIsNull() { addCriterion("gift_point is null"); return (Criteria) this; } public Criteria andGiftPointIsNotNull() { addCriterion("gift_point is not null"); return (Criteria) this; } public Criteria andGiftPointEqualTo(Integer value) { addCriterion("gift_point =", value, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointNotEqualTo(Integer value) { addCriterion("gift_point <>", value, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointGreaterThan(Integer value) { addCriterion("gift_point >", value, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointGreaterThanOrEqualTo(Integer value) { addCriterion("gift_point >=", value, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointLessThan(Integer value) { addCriterion("gift_point <", value, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointLessThanOrEqualTo(Integer value) { addCriterion("gift_point <=", value, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointIn(List values) { addCriterion("gift_point in", values, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointNotIn(List values) { addCriterion("gift_point not in", values, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointBetween(Integer value1, Integer value2) { addCriterion("gift_point between", value1, value2, "giftPoint"); return (Criteria) this; } public Criteria andGiftPointNotBetween(Integer value1, Integer value2) { addCriterion("gift_point not between", value1, value2, "giftPoint"); return (Criteria) this; } public Criteria andUsePointLimitIsNull() { addCriterion("use_point_limit is null"); return (Criteria) this; } public Criteria andUsePointLimitIsNotNull() { addCriterion("use_point_limit is not null"); return (Criteria) this; } public Criteria andUsePointLimitEqualTo(Integer value) { addCriterion("use_point_limit =", value, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitNotEqualTo(Integer value) { addCriterion("use_point_limit <>", value, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitGreaterThan(Integer value) { addCriterion("use_point_limit >", value, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitGreaterThanOrEqualTo(Integer value) { addCriterion("use_point_limit >=", value, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitLessThan(Integer value) { addCriterion("use_point_limit <", value, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitLessThanOrEqualTo(Integer value) { addCriterion("use_point_limit <=", value, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitIn(List values) { addCriterion("use_point_limit in", values, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitNotIn(List values) { addCriterion("use_point_limit not in", values, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitBetween(Integer value1, Integer value2) { addCriterion("use_point_limit between", value1, value2, "usePointLimit"); return (Criteria) this; } public Criteria andUsePointLimitNotBetween(Integer value1, Integer value2) { addCriterion("use_point_limit not between", value1, value2, "usePointLimit"); return (Criteria) this; } public Criteria andSubTitleIsNull() { addCriterion("sub_title is null"); return (Criteria) this; } public Criteria andSubTitleIsNotNull() { addCriterion("sub_title is not null"); return (Criteria) this; } public Criteria andSubTitleEqualTo(String value) { addCriterion("sub_title =", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleNotEqualTo(String value) { addCriterion("sub_title <>", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleGreaterThan(String value) { addCriterion("sub_title >", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleGreaterThanOrEqualTo(String value) { addCriterion("sub_title >=", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleLessThan(String value) { addCriterion("sub_title <", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleLessThanOrEqualTo(String value) { addCriterion("sub_title <=", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleLike(String value) { addCriterion("sub_title like", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleNotLike(String value) { addCriterion("sub_title not like", value, "subTitle"); return (Criteria) this; } public Criteria andSubTitleIn(List values) { addCriterion("sub_title in", values, "subTitle"); return (Criteria) this; } public Criteria andSubTitleNotIn(List values) { addCriterion("sub_title not in", values, "subTitle"); return (Criteria) this; } public Criteria andSubTitleBetween(String value1, String value2) { addCriterion("sub_title between", value1, value2, "subTitle"); return (Criteria) this; } public Criteria andSubTitleNotBetween(String value1, String value2) { addCriterion("sub_title not between", value1, value2, "subTitle"); return (Criteria) this; } public Criteria andOriginalPriceIsNull() { addCriterion("original_price is null"); return (Criteria) this; } public Criteria andOriginalPriceIsNotNull() { addCriterion("original_price is not null"); return (Criteria) this; } public Criteria andOriginalPriceEqualTo(BigDecimal value) { addCriterion("original_price =", value, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceNotEqualTo(BigDecimal value) { addCriterion("original_price <>", value, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceGreaterThan(BigDecimal value) { addCriterion("original_price >", value, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("original_price >=", value, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceLessThan(BigDecimal value) { addCriterion("original_price <", value, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("original_price <=", value, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceIn(List values) { addCriterion("original_price in", values, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceNotIn(List values) { addCriterion("original_price not in", values, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("original_price between", value1, value2, "originalPrice"); return (Criteria) this; } public Criteria andOriginalPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("original_price not between", value1, value2, "originalPrice"); return (Criteria) this; } public Criteria andStockIsNull() { addCriterion("stock is null"); return (Criteria) this; } public Criteria andStockIsNotNull() { addCriterion("stock is not null"); return (Criteria) this; } public Criteria andStockEqualTo(Integer value) { addCriterion("stock =", value, "stock"); return (Criteria) this; } public Criteria andStockNotEqualTo(Integer value) { addCriterion("stock <>", value, "stock"); return (Criteria) this; } public Criteria andStockGreaterThan(Integer value) { addCriterion("stock >", value, "stock"); return (Criteria) this; } public Criteria andStockGreaterThanOrEqualTo(Integer value) { addCriterion("stock >=", value, "stock"); return (Criteria) this; } public Criteria andStockLessThan(Integer value) { addCriterion("stock <", value, "stock"); return (Criteria) this; } public Criteria andStockLessThanOrEqualTo(Integer value) { addCriterion("stock <=", value, "stock"); return (Criteria) this; } public Criteria andStockIn(List values) { addCriterion("stock in", values, "stock"); return (Criteria) this; } public Criteria andStockNotIn(List values) { addCriterion("stock not in", values, "stock"); return (Criteria) this; } public Criteria andStockBetween(Integer value1, Integer value2) { addCriterion("stock between", value1, value2, "stock"); return (Criteria) this; } public Criteria andStockNotBetween(Integer value1, Integer value2) { addCriterion("stock not between", value1, value2, "stock"); return (Criteria) this; } public Criteria andLowStockIsNull() { addCriterion("low_stock is null"); return (Criteria) this; } public Criteria andLowStockIsNotNull() { addCriterion("low_stock is not null"); return (Criteria) this; } public Criteria andLowStockEqualTo(Integer value) { addCriterion("low_stock =", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockNotEqualTo(Integer value) { addCriterion("low_stock <>", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockGreaterThan(Integer value) { addCriterion("low_stock >", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockGreaterThanOrEqualTo(Integer value) { addCriterion("low_stock >=", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockLessThan(Integer value) { addCriterion("low_stock <", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockLessThanOrEqualTo(Integer value) { addCriterion("low_stock <=", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockIn(List values) { addCriterion("low_stock in", values, "lowStock"); return (Criteria) this; } public Criteria andLowStockNotIn(List values) { addCriterion("low_stock not in", values, "lowStock"); return (Criteria) this; } public Criteria andLowStockBetween(Integer value1, Integer value2) { addCriterion("low_stock between", value1, value2, "lowStock"); return (Criteria) this; } public Criteria andLowStockNotBetween(Integer value1, Integer value2) { addCriterion("low_stock not between", value1, value2, "lowStock"); return (Criteria) this; } public Criteria andUnitIsNull() { addCriterion("unit is null"); return (Criteria) this; } public Criteria andUnitIsNotNull() { addCriterion("unit is not null"); return (Criteria) this; } public Criteria andUnitEqualTo(String value) { addCriterion("unit =", value, "unit"); return (Criteria) this; } public Criteria andUnitNotEqualTo(String value) { addCriterion("unit <>", value, "unit"); return (Criteria) this; } public Criteria andUnitGreaterThan(String value) { addCriterion("unit >", value, "unit"); return (Criteria) this; } public Criteria andUnitGreaterThanOrEqualTo(String value) { addCriterion("unit >=", value, "unit"); return (Criteria) this; } public Criteria andUnitLessThan(String value) { addCriterion("unit <", value, "unit"); return (Criteria) this; } public Criteria andUnitLessThanOrEqualTo(String value) { addCriterion("unit <=", value, "unit"); return (Criteria) this; } public Criteria andUnitLike(String value) { addCriterion("unit like", value, "unit"); return (Criteria) this; } public Criteria andUnitNotLike(String value) { addCriterion("unit not like", value, "unit"); return (Criteria) this; } public Criteria andUnitIn(List values) { addCriterion("unit in", values, "unit"); return (Criteria) this; } public Criteria andUnitNotIn(List values) { addCriterion("unit not in", values, "unit"); return (Criteria) this; } public Criteria andUnitBetween(String value1, String value2) { addCriterion("unit between", value1, value2, "unit"); return (Criteria) this; } public Criteria andUnitNotBetween(String value1, String value2) { addCriterion("unit not between", value1, value2, "unit"); return (Criteria) this; } public Criteria andWeightIsNull() { addCriterion("weight is null"); return (Criteria) this; } public Criteria andWeightIsNotNull() { addCriterion("weight is not null"); return (Criteria) this; } public Criteria andWeightEqualTo(BigDecimal value) { addCriterion("weight =", value, "weight"); return (Criteria) this; } public Criteria andWeightNotEqualTo(BigDecimal value) { addCriterion("weight <>", value, "weight"); return (Criteria) this; } public Criteria andWeightGreaterThan(BigDecimal value) { addCriterion("weight >", value, "weight"); return (Criteria) this; } public Criteria andWeightGreaterThanOrEqualTo(BigDecimal value) { addCriterion("weight >=", value, "weight"); return (Criteria) this; } public Criteria andWeightLessThan(BigDecimal value) { addCriterion("weight <", value, "weight"); return (Criteria) this; } public Criteria andWeightLessThanOrEqualTo(BigDecimal value) { addCriterion("weight <=", value, "weight"); return (Criteria) this; } public Criteria andWeightIn(List values) { addCriterion("weight in", values, "weight"); return (Criteria) this; } public Criteria andWeightNotIn(List values) { addCriterion("weight not in", values, "weight"); return (Criteria) this; } public Criteria andWeightBetween(BigDecimal value1, BigDecimal value2) { addCriterion("weight between", value1, value2, "weight"); return (Criteria) this; } public Criteria andWeightNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("weight not between", value1, value2, "weight"); return (Criteria) this; } public Criteria andPreviewStatusIsNull() { addCriterion("preview_status is null"); return (Criteria) this; } public Criteria andPreviewStatusIsNotNull() { addCriterion("preview_status is not null"); return (Criteria) this; } public Criteria andPreviewStatusEqualTo(Integer value) { addCriterion("preview_status =", value, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusNotEqualTo(Integer value) { addCriterion("preview_status <>", value, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusGreaterThan(Integer value) { addCriterion("preview_status >", value, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusGreaterThanOrEqualTo(Integer value) { addCriterion("preview_status >=", value, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusLessThan(Integer value) { addCriterion("preview_status <", value, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusLessThanOrEqualTo(Integer value) { addCriterion("preview_status <=", value, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusIn(List values) { addCriterion("preview_status in", values, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusNotIn(List values) { addCriterion("preview_status not in", values, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusBetween(Integer value1, Integer value2) { addCriterion("preview_status between", value1, value2, "previewStatus"); return (Criteria) this; } public Criteria andPreviewStatusNotBetween(Integer value1, Integer value2) { addCriterion("preview_status not between", value1, value2, "previewStatus"); return (Criteria) this; } public Criteria andServiceIdsIsNull() { addCriterion("service_ids is null"); return (Criteria) this; } public Criteria andServiceIdsIsNotNull() { addCriterion("service_ids is not null"); return (Criteria) this; } public Criteria andServiceIdsEqualTo(String value) { addCriterion("service_ids =", value, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsNotEqualTo(String value) { addCriterion("service_ids <>", value, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsGreaterThan(String value) { addCriterion("service_ids >", value, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsGreaterThanOrEqualTo(String value) { addCriterion("service_ids >=", value, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsLessThan(String value) { addCriterion("service_ids <", value, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsLessThanOrEqualTo(String value) { addCriterion("service_ids <=", value, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsLike(String value) { addCriterion("service_ids like", value, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsNotLike(String value) { addCriterion("service_ids not like", value, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsIn(List values) { addCriterion("service_ids in", values, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsNotIn(List values) { addCriterion("service_ids not in", values, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsBetween(String value1, String value2) { addCriterion("service_ids between", value1, value2, "serviceIds"); return (Criteria) this; } public Criteria andServiceIdsNotBetween(String value1, String value2) { addCriterion("service_ids not between", value1, value2, "serviceIds"); return (Criteria) this; } public Criteria andKeywordsIsNull() { addCriterion("keywords is null"); return (Criteria) this; } public Criteria andKeywordsIsNotNull() { addCriterion("keywords is not null"); return (Criteria) this; } public Criteria andKeywordsEqualTo(String value) { addCriterion("keywords =", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsNotEqualTo(String value) { addCriterion("keywords <>", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsGreaterThan(String value) { addCriterion("keywords >", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsGreaterThanOrEqualTo(String value) { addCriterion("keywords >=", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsLessThan(String value) { addCriterion("keywords <", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsLessThanOrEqualTo(String value) { addCriterion("keywords <=", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsLike(String value) { addCriterion("keywords like", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsNotLike(String value) { addCriterion("keywords not like", value, "keywords"); return (Criteria) this; } public Criteria andKeywordsIn(List values) { addCriterion("keywords in", values, "keywords"); return (Criteria) this; } public Criteria andKeywordsNotIn(List values) { addCriterion("keywords not in", values, "keywords"); return (Criteria) this; } public Criteria andKeywordsBetween(String value1, String value2) { addCriterion("keywords between", value1, value2, "keywords"); return (Criteria) this; } public Criteria andKeywordsNotBetween(String value1, String value2) { addCriterion("keywords not between", value1, value2, "keywords"); return (Criteria) this; } public Criteria andNoteIsNull() { addCriterion("note is null"); return (Criteria) this; } public Criteria andNoteIsNotNull() { addCriterion("note is not null"); return (Criteria) this; } public Criteria andNoteEqualTo(String value) { addCriterion("note =", value, "note"); return (Criteria) this; } public Criteria andNoteNotEqualTo(String value) { addCriterion("note <>", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThan(String value) { addCriterion("note >", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThanOrEqualTo(String value) { addCriterion("note >=", value, "note"); return (Criteria) this; } public Criteria andNoteLessThan(String value) { addCriterion("note <", value, "note"); return (Criteria) this; } public Criteria andNoteLessThanOrEqualTo(String value) { addCriterion("note <=", value, "note"); return (Criteria) this; } public Criteria andNoteLike(String value) { addCriterion("note like", value, "note"); return (Criteria) this; } public Criteria andNoteNotLike(String value) { addCriterion("note not like", value, "note"); return (Criteria) this; } public Criteria andNoteIn(List values) { addCriterion("note in", values, "note"); return (Criteria) this; } public Criteria andNoteNotIn(List values) { addCriterion("note not in", values, "note"); return (Criteria) this; } public Criteria andNoteBetween(String value1, String value2) { addCriterion("note between", value1, value2, "note"); return (Criteria) this; } public Criteria andNoteNotBetween(String value1, String value2) { addCriterion("note not between", value1, value2, "note"); return (Criteria) this; } public Criteria andAlbumPicsIsNull() { addCriterion("album_pics is null"); return (Criteria) this; } public Criteria andAlbumPicsIsNotNull() { addCriterion("album_pics is not null"); return (Criteria) this; } public Criteria andAlbumPicsEqualTo(String value) { addCriterion("album_pics =", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsNotEqualTo(String value) { addCriterion("album_pics <>", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsGreaterThan(String value) { addCriterion("album_pics >", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsGreaterThanOrEqualTo(String value) { addCriterion("album_pics >=", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsLessThan(String value) { addCriterion("album_pics <", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsLessThanOrEqualTo(String value) { addCriterion("album_pics <=", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsLike(String value) { addCriterion("album_pics like", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsNotLike(String value) { addCriterion("album_pics not like", value, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsIn(List values) { addCriterion("album_pics in", values, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsNotIn(List values) { addCriterion("album_pics not in", values, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsBetween(String value1, String value2) { addCriterion("album_pics between", value1, value2, "albumPics"); return (Criteria) this; } public Criteria andAlbumPicsNotBetween(String value1, String value2) { addCriterion("album_pics not between", value1, value2, "albumPics"); return (Criteria) this; } public Criteria andDetailTitleIsNull() { addCriterion("detail_title is null"); return (Criteria) this; } public Criteria andDetailTitleIsNotNull() { addCriterion("detail_title is not null"); return (Criteria) this; } public Criteria andDetailTitleEqualTo(String value) { addCriterion("detail_title =", value, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleNotEqualTo(String value) { addCriterion("detail_title <>", value, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleGreaterThan(String value) { addCriterion("detail_title >", value, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleGreaterThanOrEqualTo(String value) { addCriterion("detail_title >=", value, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleLessThan(String value) { addCriterion("detail_title <", value, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleLessThanOrEqualTo(String value) { addCriterion("detail_title <=", value, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleLike(String value) { addCriterion("detail_title like", value, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleNotLike(String value) { addCriterion("detail_title not like", value, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleIn(List values) { addCriterion("detail_title in", values, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleNotIn(List values) { addCriterion("detail_title not in", values, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleBetween(String value1, String value2) { addCriterion("detail_title between", value1, value2, "detailTitle"); return (Criteria) this; } public Criteria andDetailTitleNotBetween(String value1, String value2) { addCriterion("detail_title not between", value1, value2, "detailTitle"); return (Criteria) this; } public Criteria andPromotionStartTimeIsNull() { addCriterion("promotion_start_time is null"); return (Criteria) this; } public Criteria andPromotionStartTimeIsNotNull() { addCriterion("promotion_start_time is not null"); return (Criteria) this; } public Criteria andPromotionStartTimeEqualTo(Date value) { addCriterion("promotion_start_time =", value, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeNotEqualTo(Date value) { addCriterion("promotion_start_time <>", value, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeGreaterThan(Date value) { addCriterion("promotion_start_time >", value, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeGreaterThanOrEqualTo(Date value) { addCriterion("promotion_start_time >=", value, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeLessThan(Date value) { addCriterion("promotion_start_time <", value, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeLessThanOrEqualTo(Date value) { addCriterion("promotion_start_time <=", value, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeIn(List values) { addCriterion("promotion_start_time in", values, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeNotIn(List values) { addCriterion("promotion_start_time not in", values, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeBetween(Date value1, Date value2) { addCriterion("promotion_start_time between", value1, value2, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionStartTimeNotBetween(Date value1, Date value2) { addCriterion("promotion_start_time not between", value1, value2, "promotionStartTime"); return (Criteria) this; } public Criteria andPromotionEndTimeIsNull() { addCriterion("promotion_end_time is null"); return (Criteria) this; } public Criteria andPromotionEndTimeIsNotNull() { addCriterion("promotion_end_time is not null"); return (Criteria) this; } public Criteria andPromotionEndTimeEqualTo(Date value) { addCriterion("promotion_end_time =", value, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeNotEqualTo(Date value) { addCriterion("promotion_end_time <>", value, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeGreaterThan(Date value) { addCriterion("promotion_end_time >", value, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeGreaterThanOrEqualTo(Date value) { addCriterion("promotion_end_time >=", value, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeLessThan(Date value) { addCriterion("promotion_end_time <", value, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeLessThanOrEqualTo(Date value) { addCriterion("promotion_end_time <=", value, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeIn(List values) { addCriterion("promotion_end_time in", values, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeNotIn(List values) { addCriterion("promotion_end_time not in", values, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeBetween(Date value1, Date value2) { addCriterion("promotion_end_time between", value1, value2, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionEndTimeNotBetween(Date value1, Date value2) { addCriterion("promotion_end_time not between", value1, value2, "promotionEndTime"); return (Criteria) this; } public Criteria andPromotionPerLimitIsNull() { addCriterion("promotion_per_limit is null"); return (Criteria) this; } public Criteria andPromotionPerLimitIsNotNull() { addCriterion("promotion_per_limit is not null"); return (Criteria) this; } public Criteria andPromotionPerLimitEqualTo(Integer value) { addCriterion("promotion_per_limit =", value, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitNotEqualTo(Integer value) { addCriterion("promotion_per_limit <>", value, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitGreaterThan(Integer value) { addCriterion("promotion_per_limit >", value, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitGreaterThanOrEqualTo(Integer value) { addCriterion("promotion_per_limit >=", value, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitLessThan(Integer value) { addCriterion("promotion_per_limit <", value, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitLessThanOrEqualTo(Integer value) { addCriterion("promotion_per_limit <=", value, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitIn(List values) { addCriterion("promotion_per_limit in", values, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitNotIn(List values) { addCriterion("promotion_per_limit not in", values, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitBetween(Integer value1, Integer value2) { addCriterion("promotion_per_limit between", value1, value2, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionPerLimitNotBetween(Integer value1, Integer value2) { addCriterion("promotion_per_limit not between", value1, value2, "promotionPerLimit"); return (Criteria) this; } public Criteria andPromotionTypeIsNull() { addCriterion("promotion_type is null"); return (Criteria) this; } public Criteria andPromotionTypeIsNotNull() { addCriterion("promotion_type is not null"); return (Criteria) this; } public Criteria andPromotionTypeEqualTo(Integer value) { addCriterion("promotion_type =", value, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeNotEqualTo(Integer value) { addCriterion("promotion_type <>", value, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeGreaterThan(Integer value) { addCriterion("promotion_type >", value, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeGreaterThanOrEqualTo(Integer value) { addCriterion("promotion_type >=", value, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeLessThan(Integer value) { addCriterion("promotion_type <", value, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeLessThanOrEqualTo(Integer value) { addCriterion("promotion_type <=", value, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeIn(List values) { addCriterion("promotion_type in", values, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeNotIn(List values) { addCriterion("promotion_type not in", values, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeBetween(Integer value1, Integer value2) { addCriterion("promotion_type between", value1, value2, "promotionType"); return (Criteria) this; } public Criteria andPromotionTypeNotBetween(Integer value1, Integer value2) { addCriterion("promotion_type not between", value1, value2, "promotionType"); return (Criteria) this; } public Criteria andBrandNameIsNull() { addCriterion("brand_name is null"); return (Criteria) this; } public Criteria andBrandNameIsNotNull() { addCriterion("brand_name is not null"); return (Criteria) this; } public Criteria andBrandNameEqualTo(String value) { addCriterion("brand_name =", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameNotEqualTo(String value) { addCriterion("brand_name <>", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameGreaterThan(String value) { addCriterion("brand_name >", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameGreaterThanOrEqualTo(String value) { addCriterion("brand_name >=", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameLessThan(String value) { addCriterion("brand_name <", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameLessThanOrEqualTo(String value) { addCriterion("brand_name <=", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameLike(String value) { addCriterion("brand_name like", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameNotLike(String value) { addCriterion("brand_name not like", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameIn(List values) { addCriterion("brand_name in", values, "brandName"); return (Criteria) this; } public Criteria andBrandNameNotIn(List values) { addCriterion("brand_name not in", values, "brandName"); return (Criteria) this; } public Criteria andBrandNameBetween(String value1, String value2) { addCriterion("brand_name between", value1, value2, "brandName"); return (Criteria) this; } public Criteria andBrandNameNotBetween(String value1, String value2) { addCriterion("brand_name not between", value1, value2, "brandName"); return (Criteria) this; } public Criteria andProductCategoryNameIsNull() { addCriterion("product_category_name is null"); return (Criteria) this; } public Criteria andProductCategoryNameIsNotNull() { addCriterion("product_category_name is not null"); return (Criteria) this; } public Criteria andProductCategoryNameEqualTo(String value) { addCriterion("product_category_name =", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameNotEqualTo(String value) { addCriterion("product_category_name <>", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameGreaterThan(String value) { addCriterion("product_category_name >", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameGreaterThanOrEqualTo(String value) { addCriterion("product_category_name >=", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameLessThan(String value) { addCriterion("product_category_name <", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameLessThanOrEqualTo(String value) { addCriterion("product_category_name <=", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameLike(String value) { addCriterion("product_category_name like", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameNotLike(String value) { addCriterion("product_category_name not like", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameIn(List values) { addCriterion("product_category_name in", values, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameNotIn(List values) { addCriterion("product_category_name not in", values, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameBetween(String value1, String value2) { addCriterion("product_category_name between", value1, value2, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameNotBetween(String value1, String value2) { addCriterion("product_category_name not between", value1, value2, "productCategoryName"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductFullReduction.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class PmsProductFullReduction implements Serializable { private Long id; private Long productId; private BigDecimal fullPrice; private BigDecimal reducePrice; private static final long serialVersionUID = 1L; 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() { 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(", fullPrice=").append(fullPrice); sb.append(", reducePrice=").append(reducePrice); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductFullReductionExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class PmsProductFullReductionExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductFullReductionExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andFullPriceIsNull() { addCriterion("full_price is null"); return (Criteria) this; } public Criteria andFullPriceIsNotNull() { addCriterion("full_price is not null"); return (Criteria) this; } public Criteria andFullPriceEqualTo(BigDecimal value) { addCriterion("full_price =", value, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceNotEqualTo(BigDecimal value) { addCriterion("full_price <>", value, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceGreaterThan(BigDecimal value) { addCriterion("full_price >", value, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("full_price >=", value, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceLessThan(BigDecimal value) { addCriterion("full_price <", value, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("full_price <=", value, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceIn(List values) { addCriterion("full_price in", values, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceNotIn(List values) { addCriterion("full_price not in", values, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("full_price between", value1, value2, "fullPrice"); return (Criteria) this; } public Criteria andFullPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("full_price not between", value1, value2, "fullPrice"); return (Criteria) this; } public Criteria andReducePriceIsNull() { addCriterion("reduce_price is null"); return (Criteria) this; } public Criteria andReducePriceIsNotNull() { addCriterion("reduce_price is not null"); return (Criteria) this; } public Criteria andReducePriceEqualTo(BigDecimal value) { addCriterion("reduce_price =", value, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceNotEqualTo(BigDecimal value) { addCriterion("reduce_price <>", value, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceGreaterThan(BigDecimal value) { addCriterion("reduce_price >", value, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("reduce_price >=", value, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceLessThan(BigDecimal value) { addCriterion("reduce_price <", value, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceLessThanOrEqualTo(BigDecimal value) { addCriterion("reduce_price <=", value, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceIn(List values) { addCriterion("reduce_price in", values, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceNotIn(List values) { addCriterion("reduce_price not in", values, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("reduce_price between", value1, value2, "reducePrice"); return (Criteria) this; } public Criteria andReducePriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("reduce_price not between", value1, value2, "reducePrice"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductLadder.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class PmsProductLadder implements Serializable { private Long id; private Long productId; @Schema(title = "满足的商品数量") private Integer count; @Schema(title = "折扣") private BigDecimal discount; @Schema(title = "折后价格") private BigDecimal price; private static final long serialVersionUID = 1L; 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() { 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(", count=").append(count); sb.append(", discount=").append(discount); sb.append(", price=").append(price); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductLadderExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class PmsProductLadderExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductLadderExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andCountIsNull() { addCriterion("count is null"); return (Criteria) this; } public Criteria andCountIsNotNull() { addCriterion("count is not null"); return (Criteria) this; } public Criteria andCountEqualTo(Integer value) { addCriterion("count =", value, "count"); return (Criteria) this; } public Criteria andCountNotEqualTo(Integer value) { addCriterion("count <>", value, "count"); return (Criteria) this; } public Criteria andCountGreaterThan(Integer value) { addCriterion("count >", value, "count"); return (Criteria) this; } public Criteria andCountGreaterThanOrEqualTo(Integer value) { addCriterion("count >=", value, "count"); return (Criteria) this; } public Criteria andCountLessThan(Integer value) { addCriterion("count <", value, "count"); return (Criteria) this; } public Criteria andCountLessThanOrEqualTo(Integer value) { addCriterion("count <=", value, "count"); return (Criteria) this; } public Criteria andCountIn(List values) { addCriterion("count in", values, "count"); return (Criteria) this; } public Criteria andCountNotIn(List values) { addCriterion("count not in", values, "count"); return (Criteria) this; } public Criteria andCountBetween(Integer value1, Integer value2) { addCriterion("count between", value1, value2, "count"); return (Criteria) this; } public Criteria andCountNotBetween(Integer value1, Integer value2) { addCriterion("count not between", value1, value2, "count"); return (Criteria) this; } public Criteria andDiscountIsNull() { addCriterion("discount is null"); return (Criteria) this; } public Criteria andDiscountIsNotNull() { addCriterion("discount is not null"); return (Criteria) this; } public Criteria andDiscountEqualTo(BigDecimal value) { addCriterion("discount =", value, "discount"); return (Criteria) this; } public Criteria andDiscountNotEqualTo(BigDecimal value) { addCriterion("discount <>", value, "discount"); return (Criteria) this; } public Criteria andDiscountGreaterThan(BigDecimal value) { addCriterion("discount >", value, "discount"); return (Criteria) this; } public Criteria andDiscountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("discount >=", value, "discount"); return (Criteria) this; } public Criteria andDiscountLessThan(BigDecimal value) { addCriterion("discount <", value, "discount"); return (Criteria) this; } public Criteria andDiscountLessThanOrEqualTo(BigDecimal value) { addCriterion("discount <=", value, "discount"); return (Criteria) this; } public Criteria andDiscountIn(List values) { addCriterion("discount in", values, "discount"); return (Criteria) this; } public Criteria andDiscountNotIn(List values) { addCriterion("discount not in", values, "discount"); return (Criteria) this; } public Criteria andDiscountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("discount between", value1, value2, "discount"); return (Criteria) this; } public Criteria andDiscountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("discount not between", value1, value2, "discount"); return (Criteria) this; } public Criteria andPriceIsNull() { addCriterion("price is null"); return (Criteria) this; } public Criteria andPriceIsNotNull() { addCriterion("price is not null"); return (Criteria) this; } public Criteria andPriceEqualTo(BigDecimal value) { addCriterion("price =", value, "price"); return (Criteria) this; } public Criteria andPriceNotEqualTo(BigDecimal value) { addCriterion("price <>", value, "price"); return (Criteria) this; } public Criteria andPriceGreaterThan(BigDecimal value) { addCriterion("price >", value, "price"); return (Criteria) this; } public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("price >=", value, "price"); return (Criteria) this; } public Criteria andPriceLessThan(BigDecimal value) { addCriterion("price <", value, "price"); return (Criteria) this; } public Criteria andPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("price <=", value, "price"); return (Criteria) this; } public Criteria andPriceIn(List values) { addCriterion("price in", values, "price"); return (Criteria) this; } public Criteria andPriceNotIn(List values) { addCriterion("price not in", values, "price"); return (Criteria) this; } public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price between", value1, value2, "price"); return (Criteria) this; } public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price not between", value1, value2, "price"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductOperateLog.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; public class PmsProductOperateLog implements Serializable { private Long id; private Long productId; private BigDecimal priceOld; private BigDecimal priceNew; private BigDecimal salePriceOld; private BigDecimal salePriceNew; @Schema(title = "赠送的积分") private Integer giftPointOld; private Integer giftPointNew; private Integer usePointLimitOld; private Integer usePointLimitNew; @Schema(title = "操作人") private String operateMan; private Date createTime; private static final long serialVersionUID = 1L; 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() { 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(", priceOld=").append(priceOld); sb.append(", priceNew=").append(priceNew); sb.append(", salePriceOld=").append(salePriceOld); sb.append(", salePriceNew=").append(salePriceNew); sb.append(", giftPointOld=").append(giftPointOld); sb.append(", giftPointNew=").append(giftPointNew); sb.append(", usePointLimitOld=").append(usePointLimitOld); sb.append(", usePointLimitNew=").append(usePointLimitNew); sb.append(", operateMan=").append(operateMan); sb.append(", createTime=").append(createTime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductOperateLogExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; public class PmsProductOperateLogExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductOperateLogExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andPriceOldIsNull() { addCriterion("price_old is null"); return (Criteria) this; } public Criteria andPriceOldIsNotNull() { addCriterion("price_old is not null"); return (Criteria) this; } public Criteria andPriceOldEqualTo(BigDecimal value) { addCriterion("price_old =", value, "priceOld"); return (Criteria) this; } public Criteria andPriceOldNotEqualTo(BigDecimal value) { addCriterion("price_old <>", value, "priceOld"); return (Criteria) this; } public Criteria andPriceOldGreaterThan(BigDecimal value) { addCriterion("price_old >", value, "priceOld"); return (Criteria) this; } public Criteria andPriceOldGreaterThanOrEqualTo(BigDecimal value) { addCriterion("price_old >=", value, "priceOld"); return (Criteria) this; } public Criteria andPriceOldLessThan(BigDecimal value) { addCriterion("price_old <", value, "priceOld"); return (Criteria) this; } public Criteria andPriceOldLessThanOrEqualTo(BigDecimal value) { addCriterion("price_old <=", value, "priceOld"); return (Criteria) this; } public Criteria andPriceOldIn(List values) { addCriterion("price_old in", values, "priceOld"); return (Criteria) this; } public Criteria andPriceOldNotIn(List values) { addCriterion("price_old not in", values, "priceOld"); return (Criteria) this; } public Criteria andPriceOldBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price_old between", value1, value2, "priceOld"); return (Criteria) this; } public Criteria andPriceOldNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price_old not between", value1, value2, "priceOld"); return (Criteria) this; } public Criteria andPriceNewIsNull() { addCriterion("price_new is null"); return (Criteria) this; } public Criteria andPriceNewIsNotNull() { addCriterion("price_new is not null"); return (Criteria) this; } public Criteria andPriceNewEqualTo(BigDecimal value) { addCriterion("price_new =", value, "priceNew"); return (Criteria) this; } public Criteria andPriceNewNotEqualTo(BigDecimal value) { addCriterion("price_new <>", value, "priceNew"); return (Criteria) this; } public Criteria andPriceNewGreaterThan(BigDecimal value) { addCriterion("price_new >", value, "priceNew"); return (Criteria) this; } public Criteria andPriceNewGreaterThanOrEqualTo(BigDecimal value) { addCriterion("price_new >=", value, "priceNew"); return (Criteria) this; } public Criteria andPriceNewLessThan(BigDecimal value) { addCriterion("price_new <", value, "priceNew"); return (Criteria) this; } public Criteria andPriceNewLessThanOrEqualTo(BigDecimal value) { addCriterion("price_new <=", value, "priceNew"); return (Criteria) this; } public Criteria andPriceNewIn(List values) { addCriterion("price_new in", values, "priceNew"); return (Criteria) this; } public Criteria andPriceNewNotIn(List values) { addCriterion("price_new not in", values, "priceNew"); return (Criteria) this; } public Criteria andPriceNewBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price_new between", value1, value2, "priceNew"); return (Criteria) this; } public Criteria andPriceNewNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price_new not between", value1, value2, "priceNew"); return (Criteria) this; } public Criteria andSalePriceOldIsNull() { addCriterion("sale_price_old is null"); return (Criteria) this; } public Criteria andSalePriceOldIsNotNull() { addCriterion("sale_price_old is not null"); return (Criteria) this; } public Criteria andSalePriceOldEqualTo(BigDecimal value) { addCriterion("sale_price_old =", value, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldNotEqualTo(BigDecimal value) { addCriterion("sale_price_old <>", value, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldGreaterThan(BigDecimal value) { addCriterion("sale_price_old >", value, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldGreaterThanOrEqualTo(BigDecimal value) { addCriterion("sale_price_old >=", value, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldLessThan(BigDecimal value) { addCriterion("sale_price_old <", value, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldLessThanOrEqualTo(BigDecimal value) { addCriterion("sale_price_old <=", value, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldIn(List values) { addCriterion("sale_price_old in", values, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldNotIn(List values) { addCriterion("sale_price_old not in", values, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldBetween(BigDecimal value1, BigDecimal value2) { addCriterion("sale_price_old between", value1, value2, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceOldNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("sale_price_old not between", value1, value2, "salePriceOld"); return (Criteria) this; } public Criteria andSalePriceNewIsNull() { addCriterion("sale_price_new is null"); return (Criteria) this; } public Criteria andSalePriceNewIsNotNull() { addCriterion("sale_price_new is not null"); return (Criteria) this; } public Criteria andSalePriceNewEqualTo(BigDecimal value) { addCriterion("sale_price_new =", value, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewNotEqualTo(BigDecimal value) { addCriterion("sale_price_new <>", value, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewGreaterThan(BigDecimal value) { addCriterion("sale_price_new >", value, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewGreaterThanOrEqualTo(BigDecimal value) { addCriterion("sale_price_new >=", value, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewLessThan(BigDecimal value) { addCriterion("sale_price_new <", value, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewLessThanOrEqualTo(BigDecimal value) { addCriterion("sale_price_new <=", value, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewIn(List values) { addCriterion("sale_price_new in", values, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewNotIn(List values) { addCriterion("sale_price_new not in", values, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewBetween(BigDecimal value1, BigDecimal value2) { addCriterion("sale_price_new between", value1, value2, "salePriceNew"); return (Criteria) this; } public Criteria andSalePriceNewNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("sale_price_new not between", value1, value2, "salePriceNew"); return (Criteria) this; } public Criteria andGiftPointOldIsNull() { addCriterion("gift_point_old is null"); return (Criteria) this; } public Criteria andGiftPointOldIsNotNull() { addCriterion("gift_point_old is not null"); return (Criteria) this; } public Criteria andGiftPointOldEqualTo(Integer value) { addCriterion("gift_point_old =", value, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldNotEqualTo(Integer value) { addCriterion("gift_point_old <>", value, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldGreaterThan(Integer value) { addCriterion("gift_point_old >", value, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldGreaterThanOrEqualTo(Integer value) { addCriterion("gift_point_old >=", value, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldLessThan(Integer value) { addCriterion("gift_point_old <", value, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldLessThanOrEqualTo(Integer value) { addCriterion("gift_point_old <=", value, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldIn(List values) { addCriterion("gift_point_old in", values, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldNotIn(List values) { addCriterion("gift_point_old not in", values, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldBetween(Integer value1, Integer value2) { addCriterion("gift_point_old between", value1, value2, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointOldNotBetween(Integer value1, Integer value2) { addCriterion("gift_point_old not between", value1, value2, "giftPointOld"); return (Criteria) this; } public Criteria andGiftPointNewIsNull() { addCriterion("gift_point_new is null"); return (Criteria) this; } public Criteria andGiftPointNewIsNotNull() { addCriterion("gift_point_new is not null"); return (Criteria) this; } public Criteria andGiftPointNewEqualTo(Integer value) { addCriterion("gift_point_new =", value, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewNotEqualTo(Integer value) { addCriterion("gift_point_new <>", value, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewGreaterThan(Integer value) { addCriterion("gift_point_new >", value, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewGreaterThanOrEqualTo(Integer value) { addCriterion("gift_point_new >=", value, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewLessThan(Integer value) { addCriterion("gift_point_new <", value, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewLessThanOrEqualTo(Integer value) { addCriterion("gift_point_new <=", value, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewIn(List values) { addCriterion("gift_point_new in", values, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewNotIn(List values) { addCriterion("gift_point_new not in", values, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewBetween(Integer value1, Integer value2) { addCriterion("gift_point_new between", value1, value2, "giftPointNew"); return (Criteria) this; } public Criteria andGiftPointNewNotBetween(Integer value1, Integer value2) { addCriterion("gift_point_new not between", value1, value2, "giftPointNew"); return (Criteria) this; } public Criteria andUsePointLimitOldIsNull() { addCriterion("use_point_limit_old is null"); return (Criteria) this; } public Criteria andUsePointLimitOldIsNotNull() { addCriterion("use_point_limit_old is not null"); return (Criteria) this; } public Criteria andUsePointLimitOldEqualTo(Integer value) { addCriterion("use_point_limit_old =", value, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldNotEqualTo(Integer value) { addCriterion("use_point_limit_old <>", value, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldGreaterThan(Integer value) { addCriterion("use_point_limit_old >", value, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldGreaterThanOrEqualTo(Integer value) { addCriterion("use_point_limit_old >=", value, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldLessThan(Integer value) { addCriterion("use_point_limit_old <", value, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldLessThanOrEqualTo(Integer value) { addCriterion("use_point_limit_old <=", value, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldIn(List values) { addCriterion("use_point_limit_old in", values, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldNotIn(List values) { addCriterion("use_point_limit_old not in", values, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldBetween(Integer value1, Integer value2) { addCriterion("use_point_limit_old between", value1, value2, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitOldNotBetween(Integer value1, Integer value2) { addCriterion("use_point_limit_old not between", value1, value2, "usePointLimitOld"); return (Criteria) this; } public Criteria andUsePointLimitNewIsNull() { addCriterion("use_point_limit_new is null"); return (Criteria) this; } public Criteria andUsePointLimitNewIsNotNull() { addCriterion("use_point_limit_new is not null"); return (Criteria) this; } public Criteria andUsePointLimitNewEqualTo(Integer value) { addCriterion("use_point_limit_new =", value, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewNotEqualTo(Integer value) { addCriterion("use_point_limit_new <>", value, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewGreaterThan(Integer value) { addCriterion("use_point_limit_new >", value, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewGreaterThanOrEqualTo(Integer value) { addCriterion("use_point_limit_new >=", value, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewLessThan(Integer value) { addCriterion("use_point_limit_new <", value, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewLessThanOrEqualTo(Integer value) { addCriterion("use_point_limit_new <=", value, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewIn(List values) { addCriterion("use_point_limit_new in", values, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewNotIn(List values) { addCriterion("use_point_limit_new not in", values, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewBetween(Integer value1, Integer value2) { addCriterion("use_point_limit_new between", value1, value2, "usePointLimitNew"); return (Criteria) this; } public Criteria andUsePointLimitNewNotBetween(Integer value1, Integer value2) { addCriterion("use_point_limit_new not between", value1, value2, "usePointLimitNew"); return (Criteria) this; } public Criteria andOperateManIsNull() { addCriterion("operate_man is null"); return (Criteria) this; } public Criteria andOperateManIsNotNull() { addCriterion("operate_man is not null"); return (Criteria) this; } public Criteria andOperateManEqualTo(String value) { addCriterion("operate_man =", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotEqualTo(String value) { addCriterion("operate_man <>", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManGreaterThan(String value) { addCriterion("operate_man >", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManGreaterThanOrEqualTo(String value) { addCriterion("operate_man >=", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLessThan(String value) { addCriterion("operate_man <", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLessThanOrEqualTo(String value) { addCriterion("operate_man <=", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLike(String value) { addCriterion("operate_man like", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotLike(String value) { addCriterion("operate_man not like", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManIn(List values) { addCriterion("operate_man in", values, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotIn(List values) { addCriterion("operate_man not in", values, "operateMan"); return (Criteria) this; } public Criteria andOperateManBetween(String value1, String value2) { addCriterion("operate_man between", value1, value2, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotBetween(String value1, String value2) { addCriterion("operate_man not between", value1, value2, "operateMan"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductVertifyRecord.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class PmsProductVertifyRecord implements Serializable { private Long id; private Long productId; private Date createTime; @Schema(title = "审核人") private String vertifyMan; private Integer status; @Schema(title = "反馈详情") private String detail; private static final long serialVersionUID = 1L; 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() { 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(", createTime=").append(createTime); sb.append(", vertifyMan=").append(vertifyMan); sb.append(", status=").append(status); sb.append(", detail=").append(detail); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsProductVertifyRecordExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class PmsProductVertifyRecordExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsProductVertifyRecordExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andVertifyManIsNull() { addCriterion("vertify_man is null"); return (Criteria) this; } public Criteria andVertifyManIsNotNull() { addCriterion("vertify_man is not null"); return (Criteria) this; } public Criteria andVertifyManEqualTo(String value) { addCriterion("vertify_man =", value, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManNotEqualTo(String value) { addCriterion("vertify_man <>", value, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManGreaterThan(String value) { addCriterion("vertify_man >", value, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManGreaterThanOrEqualTo(String value) { addCriterion("vertify_man >=", value, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManLessThan(String value) { addCriterion("vertify_man <", value, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManLessThanOrEqualTo(String value) { addCriterion("vertify_man <=", value, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManLike(String value) { addCriterion("vertify_man like", value, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManNotLike(String value) { addCriterion("vertify_man not like", value, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManIn(List values) { addCriterion("vertify_man in", values, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManNotIn(List values) { addCriterion("vertify_man not in", values, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManBetween(String value1, String value2) { addCriterion("vertify_man between", value1, value2, "vertifyMan"); return (Criteria) this; } public Criteria andVertifyManNotBetween(String value1, String value2) { addCriterion("vertify_man not between", value1, value2, "vertifyMan"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andDetailIsNull() { addCriterion("detail is null"); return (Criteria) this; } public Criteria andDetailIsNotNull() { addCriterion("detail is not null"); return (Criteria) this; } public Criteria andDetailEqualTo(String value) { addCriterion("detail =", value, "detail"); return (Criteria) this; } public Criteria andDetailNotEqualTo(String value) { addCriterion("detail <>", value, "detail"); return (Criteria) this; } public Criteria andDetailGreaterThan(String value) { addCriterion("detail >", value, "detail"); return (Criteria) this; } public Criteria andDetailGreaterThanOrEqualTo(String value) { addCriterion("detail >=", value, "detail"); return (Criteria) this; } public Criteria andDetailLessThan(String value) { addCriterion("detail <", value, "detail"); return (Criteria) this; } public Criteria andDetailLessThanOrEqualTo(String value) { addCriterion("detail <=", value, "detail"); return (Criteria) this; } public Criteria andDetailLike(String value) { addCriterion("detail like", value, "detail"); return (Criteria) this; } public Criteria andDetailNotLike(String value) { addCriterion("detail not like", value, "detail"); return (Criteria) this; } public Criteria andDetailIn(List values) { addCriterion("detail in", values, "detail"); return (Criteria) this; } public Criteria andDetailNotIn(List values) { addCriterion("detail not in", values, "detail"); return (Criteria) this; } public Criteria andDetailBetween(String value1, String value2) { addCriterion("detail between", value1, value2, "detail"); return (Criteria) this; } public Criteria andDetailNotBetween(String value1, String value2) { addCriterion("detail not between", value1, value2, "detail"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsSkuStock.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class PmsSkuStock implements Serializable { private Long id; private Long productId; @Schema(title = "sku编码") private String skuCode; private BigDecimal price; @Schema(title = "库存") private Integer stock; @Schema(title = "预警库存") private Integer lowStock; @Schema(title = "展示图片") private String pic; @Schema(title = "销量") private Integer sale; @Schema(title = "单品促销价格") private BigDecimal promotionPrice; @Schema(title = "锁定库存") private Integer lockStock; @Schema(title = "商品销售属性,json格式") private String spData; private static final long serialVersionUID = 1L; 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 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 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 getSpData() { return spData; } public void setSpData(String spData) { this.spData = spData; } @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(", pic=").append(pic); sb.append(", sale=").append(sale); sb.append(", promotionPrice=").append(promotionPrice); sb.append(", lockStock=").append(lockStock); sb.append(", spData=").append(spData); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/PmsSkuStockExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class PmsSkuStockExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public PmsSkuStockExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andSkuCodeIsNull() { addCriterion("sku_code is null"); return (Criteria) this; } public Criteria andSkuCodeIsNotNull() { addCriterion("sku_code is not null"); return (Criteria) this; } public Criteria andSkuCodeEqualTo(String value) { addCriterion("sku_code =", value, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeNotEqualTo(String value) { addCriterion("sku_code <>", value, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeGreaterThan(String value) { addCriterion("sku_code >", value, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeGreaterThanOrEqualTo(String value) { addCriterion("sku_code >=", value, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeLessThan(String value) { addCriterion("sku_code <", value, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeLessThanOrEqualTo(String value) { addCriterion("sku_code <=", value, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeLike(String value) { addCriterion("sku_code like", value, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeNotLike(String value) { addCriterion("sku_code not like", value, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeIn(List values) { addCriterion("sku_code in", values, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeNotIn(List values) { addCriterion("sku_code not in", values, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeBetween(String value1, String value2) { addCriterion("sku_code between", value1, value2, "skuCode"); return (Criteria) this; } public Criteria andSkuCodeNotBetween(String value1, String value2) { addCriterion("sku_code not between", value1, value2, "skuCode"); return (Criteria) this; } public Criteria andPriceIsNull() { addCriterion("price is null"); return (Criteria) this; } public Criteria andPriceIsNotNull() { addCriterion("price is not null"); return (Criteria) this; } public Criteria andPriceEqualTo(BigDecimal value) { addCriterion("price =", value, "price"); return (Criteria) this; } public Criteria andPriceNotEqualTo(BigDecimal value) { addCriterion("price <>", value, "price"); return (Criteria) this; } public Criteria andPriceGreaterThan(BigDecimal value) { addCriterion("price >", value, "price"); return (Criteria) this; } public Criteria andPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("price >=", value, "price"); return (Criteria) this; } public Criteria andPriceLessThan(BigDecimal value) { addCriterion("price <", value, "price"); return (Criteria) this; } public Criteria andPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("price <=", value, "price"); return (Criteria) this; } public Criteria andPriceIn(List values) { addCriterion("price in", values, "price"); return (Criteria) this; } public Criteria andPriceNotIn(List values) { addCriterion("price not in", values, "price"); return (Criteria) this; } public Criteria andPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price between", value1, value2, "price"); return (Criteria) this; } public Criteria andPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("price not between", value1, value2, "price"); return (Criteria) this; } public Criteria andStockIsNull() { addCriterion("stock is null"); return (Criteria) this; } public Criteria andStockIsNotNull() { addCriterion("stock is not null"); return (Criteria) this; } public Criteria andStockEqualTo(Integer value) { addCriterion("stock =", value, "stock"); return (Criteria) this; } public Criteria andStockNotEqualTo(Integer value) { addCriterion("stock <>", value, "stock"); return (Criteria) this; } public Criteria andStockGreaterThan(Integer value) { addCriterion("stock >", value, "stock"); return (Criteria) this; } public Criteria andStockGreaterThanOrEqualTo(Integer value) { addCriterion("stock >=", value, "stock"); return (Criteria) this; } public Criteria andStockLessThan(Integer value) { addCriterion("stock <", value, "stock"); return (Criteria) this; } public Criteria andStockLessThanOrEqualTo(Integer value) { addCriterion("stock <=", value, "stock"); return (Criteria) this; } public Criteria andStockIn(List values) { addCriterion("stock in", values, "stock"); return (Criteria) this; } public Criteria andStockNotIn(List values) { addCriterion("stock not in", values, "stock"); return (Criteria) this; } public Criteria andStockBetween(Integer value1, Integer value2) { addCriterion("stock between", value1, value2, "stock"); return (Criteria) this; } public Criteria andStockNotBetween(Integer value1, Integer value2) { addCriterion("stock not between", value1, value2, "stock"); return (Criteria) this; } public Criteria andLowStockIsNull() { addCriterion("low_stock is null"); return (Criteria) this; } public Criteria andLowStockIsNotNull() { addCriterion("low_stock is not null"); return (Criteria) this; } public Criteria andLowStockEqualTo(Integer value) { addCriterion("low_stock =", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockNotEqualTo(Integer value) { addCriterion("low_stock <>", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockGreaterThan(Integer value) { addCriterion("low_stock >", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockGreaterThanOrEqualTo(Integer value) { addCriterion("low_stock >=", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockLessThan(Integer value) { addCriterion("low_stock <", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockLessThanOrEqualTo(Integer value) { addCriterion("low_stock <=", value, "lowStock"); return (Criteria) this; } public Criteria andLowStockIn(List values) { addCriterion("low_stock in", values, "lowStock"); return (Criteria) this; } public Criteria andLowStockNotIn(List values) { addCriterion("low_stock not in", values, "lowStock"); return (Criteria) this; } public Criteria andLowStockBetween(Integer value1, Integer value2) { addCriterion("low_stock between", value1, value2, "lowStock"); return (Criteria) this; } public Criteria andLowStockNotBetween(Integer value1, Integer value2) { addCriterion("low_stock not between", value1, value2, "lowStock"); return (Criteria) this; } public Criteria andPicIsNull() { addCriterion("pic is null"); return (Criteria) this; } public Criteria andPicIsNotNull() { addCriterion("pic is not null"); return (Criteria) this; } public Criteria andPicEqualTo(String value) { addCriterion("pic =", value, "pic"); return (Criteria) this; } public Criteria andPicNotEqualTo(String value) { addCriterion("pic <>", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThan(String value) { addCriterion("pic >", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThanOrEqualTo(String value) { addCriterion("pic >=", value, "pic"); return (Criteria) this; } public Criteria andPicLessThan(String value) { addCriterion("pic <", value, "pic"); return (Criteria) this; } public Criteria andPicLessThanOrEqualTo(String value) { addCriterion("pic <=", value, "pic"); return (Criteria) this; } public Criteria andPicLike(String value) { addCriterion("pic like", value, "pic"); return (Criteria) this; } public Criteria andPicNotLike(String value) { addCriterion("pic not like", value, "pic"); return (Criteria) this; } public Criteria andPicIn(List values) { addCriterion("pic in", values, "pic"); return (Criteria) this; } public Criteria andPicNotIn(List values) { addCriterion("pic not in", values, "pic"); return (Criteria) this; } public Criteria andPicBetween(String value1, String value2) { addCriterion("pic between", value1, value2, "pic"); return (Criteria) this; } public Criteria andPicNotBetween(String value1, String value2) { addCriterion("pic not between", value1, value2, "pic"); return (Criteria) this; } public Criteria andSaleIsNull() { addCriterion("sale is null"); return (Criteria) this; } public Criteria andSaleIsNotNull() { addCriterion("sale is not null"); return (Criteria) this; } public Criteria andSaleEqualTo(Integer value) { addCriterion("sale =", value, "sale"); return (Criteria) this; } public Criteria andSaleNotEqualTo(Integer value) { addCriterion("sale <>", value, "sale"); return (Criteria) this; } public Criteria andSaleGreaterThan(Integer value) { addCriterion("sale >", value, "sale"); return (Criteria) this; } public Criteria andSaleGreaterThanOrEqualTo(Integer value) { addCriterion("sale >=", value, "sale"); return (Criteria) this; } public Criteria andSaleLessThan(Integer value) { addCriterion("sale <", value, "sale"); return (Criteria) this; } public Criteria andSaleLessThanOrEqualTo(Integer value) { addCriterion("sale <=", value, "sale"); return (Criteria) this; } public Criteria andSaleIn(List values) { addCriterion("sale in", values, "sale"); return (Criteria) this; } public Criteria andSaleNotIn(List values) { addCriterion("sale not in", values, "sale"); return (Criteria) this; } public Criteria andSaleBetween(Integer value1, Integer value2) { addCriterion("sale between", value1, value2, "sale"); return (Criteria) this; } public Criteria andSaleNotBetween(Integer value1, Integer value2) { addCriterion("sale not between", value1, value2, "sale"); return (Criteria) this; } public Criteria andPromotionPriceIsNull() { addCriterion("promotion_price is null"); return (Criteria) this; } public Criteria andPromotionPriceIsNotNull() { addCriterion("promotion_price is not null"); return (Criteria) this; } public Criteria andPromotionPriceEqualTo(BigDecimal value) { addCriterion("promotion_price =", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceNotEqualTo(BigDecimal value) { addCriterion("promotion_price <>", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceGreaterThan(BigDecimal value) { addCriterion("promotion_price >", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("promotion_price >=", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceLessThan(BigDecimal value) { addCriterion("promotion_price <", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("promotion_price <=", value, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceIn(List values) { addCriterion("promotion_price in", values, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceNotIn(List values) { addCriterion("promotion_price not in", values, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("promotion_price between", value1, value2, "promotionPrice"); return (Criteria) this; } public Criteria andPromotionPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("promotion_price not between", value1, value2, "promotionPrice"); return (Criteria) this; } public Criteria andLockStockIsNull() { addCriterion("lock_stock is null"); return (Criteria) this; } public Criteria andLockStockIsNotNull() { addCriterion("lock_stock is not null"); return (Criteria) this; } public Criteria andLockStockEqualTo(Integer value) { addCriterion("lock_stock =", value, "lockStock"); return (Criteria) this; } public Criteria andLockStockNotEqualTo(Integer value) { addCriterion("lock_stock <>", value, "lockStock"); return (Criteria) this; } public Criteria andLockStockGreaterThan(Integer value) { addCriterion("lock_stock >", value, "lockStock"); return (Criteria) this; } public Criteria andLockStockGreaterThanOrEqualTo(Integer value) { addCriterion("lock_stock >=", value, "lockStock"); return (Criteria) this; } public Criteria andLockStockLessThan(Integer value) { addCriterion("lock_stock <", value, "lockStock"); return (Criteria) this; } public Criteria andLockStockLessThanOrEqualTo(Integer value) { addCriterion("lock_stock <=", value, "lockStock"); return (Criteria) this; } public Criteria andLockStockIn(List values) { addCriterion("lock_stock in", values, "lockStock"); return (Criteria) this; } public Criteria andLockStockNotIn(List values) { addCriterion("lock_stock not in", values, "lockStock"); return (Criteria) this; } public Criteria andLockStockBetween(Integer value1, Integer value2) { addCriterion("lock_stock between", value1, value2, "lockStock"); return (Criteria) this; } public Criteria andLockStockNotBetween(Integer value1, Integer value2) { addCriterion("lock_stock not between", value1, value2, "lockStock"); return (Criteria) this; } public Criteria andSpDataIsNull() { addCriterion("sp_data is null"); return (Criteria) this; } public Criteria andSpDataIsNotNull() { addCriterion("sp_data is not null"); return (Criteria) this; } public Criteria andSpDataEqualTo(String value) { addCriterion("sp_data =", value, "spData"); return (Criteria) this; } public Criteria andSpDataNotEqualTo(String value) { addCriterion("sp_data <>", value, "spData"); return (Criteria) this; } public Criteria andSpDataGreaterThan(String value) { addCriterion("sp_data >", value, "spData"); return (Criteria) this; } public Criteria andSpDataGreaterThanOrEqualTo(String value) { addCriterion("sp_data >=", value, "spData"); return (Criteria) this; } public Criteria andSpDataLessThan(String value) { addCriterion("sp_data <", value, "spData"); return (Criteria) this; } public Criteria andSpDataLessThanOrEqualTo(String value) { addCriterion("sp_data <=", value, "spData"); return (Criteria) this; } public Criteria andSpDataLike(String value) { addCriterion("sp_data like", value, "spData"); return (Criteria) this; } public Criteria andSpDataNotLike(String value) { addCriterion("sp_data not like", value, "spData"); return (Criteria) this; } public Criteria andSpDataIn(List values) { addCriterion("sp_data in", values, "spData"); return (Criteria) this; } public Criteria andSpDataNotIn(List values) { addCriterion("sp_data not in", values, "spData"); return (Criteria) this; } public Criteria andSpDataBetween(String value1, String value2) { addCriterion("sp_data between", value1, value2, "spData"); return (Criteria) this; } public Criteria andSpDataNotBetween(String value1, String value2) { addCriterion("sp_data not between", value1, value2, "spData"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsCoupon.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; public class SmsCoupon implements Serializable { private Long id; @Schema(title = "优惠券类型;0->全场赠券;1->会员赠券;2->购物赠券;3->注册赠券") private Integer type; private String name; @Schema(title = "使用平台:0->全部;1->移动;2->PC") private Integer platform; @Schema(title = "数量") private Integer count; @Schema(title = "金额") private BigDecimal amount; @Schema(title = "每人限领张数") private Integer perLimit; @Schema(title = "使用门槛;0表示无门槛") private BigDecimal minPoint; private Date startTime; private Date endTime; @Schema(title = "使用类型:0->全场通用;1->指定分类;2->指定商品") private Integer useType; @Schema(title = "备注") private String note; @Schema(title = "发行数量") private Integer publishCount; @Schema(title = "已使用数量") private Integer useCount; @Schema(title = "领取数量") private Integer receiveCount; @Schema(title = "可以领取的日期") private Date enableTime; @Schema(title = "优惠码") private String code; @Schema(title = "可领取的会员类型:0->无限时") private Integer memberLevel; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getPlatform() { return platform; } public void setPlatform(Integer platform) { this.platform = platform; } public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } public BigDecimal getAmount() { return amount; } public void setAmount(BigDecimal amount) { this.amount = amount; } public Integer getPerLimit() { return perLimit; } public void setPerLimit(Integer perLimit) { this.perLimit = perLimit; } public BigDecimal getMinPoint() { return minPoint; } public void setMinPoint(BigDecimal minPoint) { this.minPoint = minPoint; } public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public Integer getUseType() { return useType; } public void setUseType(Integer useType) { this.useType = useType; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public Integer getPublishCount() { return publishCount; } public void setPublishCount(Integer publishCount) { this.publishCount = publishCount; } public Integer getUseCount() { return useCount; } public void setUseCount(Integer useCount) { this.useCount = useCount; } public Integer getReceiveCount() { return receiveCount; } public void setReceiveCount(Integer receiveCount) { this.receiveCount = receiveCount; } public Date getEnableTime() { return enableTime; } public void setEnableTime(Date enableTime) { this.enableTime = enableTime; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public Integer getMemberLevel() { return memberLevel; } public void setMemberLevel(Integer memberLevel) { this.memberLevel = memberLevel; } @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(", type=").append(type); sb.append(", name=").append(name); sb.append(", platform=").append(platform); sb.append(", count=").append(count); sb.append(", amount=").append(amount); sb.append(", perLimit=").append(perLimit); sb.append(", minPoint=").append(minPoint); sb.append(", startTime=").append(startTime); sb.append(", endTime=").append(endTime); sb.append(", useType=").append(useType); sb.append(", note=").append(note); sb.append(", publishCount=").append(publishCount); sb.append(", useCount=").append(useCount); sb.append(", receiveCount=").append(receiveCount); sb.append(", enableTime=").append(enableTime); sb.append(", code=").append(code); sb.append(", memberLevel=").append(memberLevel); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsCouponExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; public class SmsCouponExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsCouponExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andTypeIsNull() { addCriterion("type is null"); return (Criteria) this; } public Criteria andTypeIsNotNull() { addCriterion("type is not null"); return (Criteria) this; } public Criteria andTypeEqualTo(Integer value) { addCriterion("type =", value, "type"); return (Criteria) this; } public Criteria andTypeNotEqualTo(Integer value) { addCriterion("type <>", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThan(Integer value) { addCriterion("type >", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThanOrEqualTo(Integer value) { addCriterion("type >=", value, "type"); return (Criteria) this; } public Criteria andTypeLessThan(Integer value) { addCriterion("type <", value, "type"); return (Criteria) this; } public Criteria andTypeLessThanOrEqualTo(Integer value) { addCriterion("type <=", value, "type"); return (Criteria) this; } public Criteria andTypeIn(List values) { addCriterion("type in", values, "type"); return (Criteria) this; } public Criteria andTypeNotIn(List values) { addCriterion("type not in", values, "type"); return (Criteria) this; } public Criteria andTypeBetween(Integer value1, Integer value2) { addCriterion("type between", value1, value2, "type"); return (Criteria) this; } public Criteria andTypeNotBetween(Integer value1, Integer value2) { addCriterion("type not between", value1, value2, "type"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andPlatformIsNull() { addCriterion("platform is null"); return (Criteria) this; } public Criteria andPlatformIsNotNull() { addCriterion("platform is not null"); return (Criteria) this; } public Criteria andPlatformEqualTo(Integer value) { addCriterion("platform =", value, "platform"); return (Criteria) this; } public Criteria andPlatformNotEqualTo(Integer value) { addCriterion("platform <>", value, "platform"); return (Criteria) this; } public Criteria andPlatformGreaterThan(Integer value) { addCriterion("platform >", value, "platform"); return (Criteria) this; } public Criteria andPlatformGreaterThanOrEqualTo(Integer value) { addCriterion("platform >=", value, "platform"); return (Criteria) this; } public Criteria andPlatformLessThan(Integer value) { addCriterion("platform <", value, "platform"); return (Criteria) this; } public Criteria andPlatformLessThanOrEqualTo(Integer value) { addCriterion("platform <=", value, "platform"); return (Criteria) this; } public Criteria andPlatformIn(List values) { addCriterion("platform in", values, "platform"); return (Criteria) this; } public Criteria andPlatformNotIn(List values) { addCriterion("platform not in", values, "platform"); return (Criteria) this; } public Criteria andPlatformBetween(Integer value1, Integer value2) { addCriterion("platform between", value1, value2, "platform"); return (Criteria) this; } public Criteria andPlatformNotBetween(Integer value1, Integer value2) { addCriterion("platform not between", value1, value2, "platform"); return (Criteria) this; } public Criteria andCountIsNull() { addCriterion("count is null"); return (Criteria) this; } public Criteria andCountIsNotNull() { addCriterion("count is not null"); return (Criteria) this; } public Criteria andCountEqualTo(Integer value) { addCriterion("count =", value, "count"); return (Criteria) this; } public Criteria andCountNotEqualTo(Integer value) { addCriterion("count <>", value, "count"); return (Criteria) this; } public Criteria andCountGreaterThan(Integer value) { addCriterion("count >", value, "count"); return (Criteria) this; } public Criteria andCountGreaterThanOrEqualTo(Integer value) { addCriterion("count >=", value, "count"); return (Criteria) this; } public Criteria andCountLessThan(Integer value) { addCriterion("count <", value, "count"); return (Criteria) this; } public Criteria andCountLessThanOrEqualTo(Integer value) { addCriterion("count <=", value, "count"); return (Criteria) this; } public Criteria andCountIn(List values) { addCriterion("count in", values, "count"); return (Criteria) this; } public Criteria andCountNotIn(List values) { addCriterion("count not in", values, "count"); return (Criteria) this; } public Criteria andCountBetween(Integer value1, Integer value2) { addCriterion("count between", value1, value2, "count"); return (Criteria) this; } public Criteria andCountNotBetween(Integer value1, Integer value2) { addCriterion("count not between", value1, value2, "count"); return (Criteria) this; } public Criteria andAmountIsNull() { addCriterion("amount is null"); return (Criteria) this; } public Criteria andAmountIsNotNull() { addCriterion("amount is not null"); return (Criteria) this; } public Criteria andAmountEqualTo(BigDecimal value) { addCriterion("amount =", value, "amount"); return (Criteria) this; } public Criteria andAmountNotEqualTo(BigDecimal value) { addCriterion("amount <>", value, "amount"); return (Criteria) this; } public Criteria andAmountGreaterThan(BigDecimal value) { addCriterion("amount >", value, "amount"); return (Criteria) this; } public Criteria andAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("amount >=", value, "amount"); return (Criteria) this; } public Criteria andAmountLessThan(BigDecimal value) { addCriterion("amount <", value, "amount"); return (Criteria) this; } public Criteria andAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("amount <=", value, "amount"); return (Criteria) this; } public Criteria andAmountIn(List values) { addCriterion("amount in", values, "amount"); return (Criteria) this; } public Criteria andAmountNotIn(List values) { addCriterion("amount not in", values, "amount"); return (Criteria) this; } public Criteria andAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("amount between", value1, value2, "amount"); return (Criteria) this; } public Criteria andAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("amount not between", value1, value2, "amount"); return (Criteria) this; } public Criteria andPerLimitIsNull() { addCriterion("per_limit is null"); return (Criteria) this; } public Criteria andPerLimitIsNotNull() { addCriterion("per_limit is not null"); return (Criteria) this; } public Criteria andPerLimitEqualTo(Integer value) { addCriterion("per_limit =", value, "perLimit"); return (Criteria) this; } public Criteria andPerLimitNotEqualTo(Integer value) { addCriterion("per_limit <>", value, "perLimit"); return (Criteria) this; } public Criteria andPerLimitGreaterThan(Integer value) { addCriterion("per_limit >", value, "perLimit"); return (Criteria) this; } public Criteria andPerLimitGreaterThanOrEqualTo(Integer value) { addCriterion("per_limit >=", value, "perLimit"); return (Criteria) this; } public Criteria andPerLimitLessThan(Integer value) { addCriterion("per_limit <", value, "perLimit"); return (Criteria) this; } public Criteria andPerLimitLessThanOrEqualTo(Integer value) { addCriterion("per_limit <=", value, "perLimit"); return (Criteria) this; } public Criteria andPerLimitIn(List values) { addCriterion("per_limit in", values, "perLimit"); return (Criteria) this; } public Criteria andPerLimitNotIn(List values) { addCriterion("per_limit not in", values, "perLimit"); return (Criteria) this; } public Criteria andPerLimitBetween(Integer value1, Integer value2) { addCriterion("per_limit between", value1, value2, "perLimit"); return (Criteria) this; } public Criteria andPerLimitNotBetween(Integer value1, Integer value2) { addCriterion("per_limit not between", value1, value2, "perLimit"); return (Criteria) this; } public Criteria andMinPointIsNull() { addCriterion("min_point is null"); return (Criteria) this; } public Criteria andMinPointIsNotNull() { addCriterion("min_point is not null"); return (Criteria) this; } public Criteria andMinPointEqualTo(BigDecimal value) { addCriterion("min_point =", value, "minPoint"); return (Criteria) this; } public Criteria andMinPointNotEqualTo(BigDecimal value) { addCriterion("min_point <>", value, "minPoint"); return (Criteria) this; } public Criteria andMinPointGreaterThan(BigDecimal value) { addCriterion("min_point >", value, "minPoint"); return (Criteria) this; } public Criteria andMinPointGreaterThanOrEqualTo(BigDecimal value) { addCriterion("min_point >=", value, "minPoint"); return (Criteria) this; } public Criteria andMinPointLessThan(BigDecimal value) { addCriterion("min_point <", value, "minPoint"); return (Criteria) this; } public Criteria andMinPointLessThanOrEqualTo(BigDecimal value) { addCriterion("min_point <=", value, "minPoint"); return (Criteria) this; } public Criteria andMinPointIn(List values) { addCriterion("min_point in", values, "minPoint"); return (Criteria) this; } public Criteria andMinPointNotIn(List values) { addCriterion("min_point not in", values, "minPoint"); return (Criteria) this; } public Criteria andMinPointBetween(BigDecimal value1, BigDecimal value2) { addCriterion("min_point between", value1, value2, "minPoint"); return (Criteria) this; } public Criteria andMinPointNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("min_point not between", value1, value2, "minPoint"); return (Criteria) this; } public Criteria andStartTimeIsNull() { addCriterion("start_time is null"); return (Criteria) this; } public Criteria andStartTimeIsNotNull() { addCriterion("start_time is not null"); return (Criteria) this; } public Criteria andStartTimeEqualTo(Date value) { addCriterion("start_time =", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotEqualTo(Date value) { addCriterion("start_time <>", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeGreaterThan(Date value) { addCriterion("start_time >", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeGreaterThanOrEqualTo(Date value) { addCriterion("start_time >=", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeLessThan(Date value) { addCriterion("start_time <", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeLessThanOrEqualTo(Date value) { addCriterion("start_time <=", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeIn(List values) { addCriterion("start_time in", values, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotIn(List values) { addCriterion("start_time not in", values, "startTime"); return (Criteria) this; } public Criteria andStartTimeBetween(Date value1, Date value2) { addCriterion("start_time between", value1, value2, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotBetween(Date value1, Date value2) { addCriterion("start_time not between", value1, value2, "startTime"); return (Criteria) this; } public Criteria andEndTimeIsNull() { addCriterion("end_time is null"); return (Criteria) this; } public Criteria andEndTimeIsNotNull() { addCriterion("end_time is not null"); return (Criteria) this; } public Criteria andEndTimeEqualTo(Date value) { addCriterion("end_time =", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotEqualTo(Date value) { addCriterion("end_time <>", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeGreaterThan(Date value) { addCriterion("end_time >", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeGreaterThanOrEqualTo(Date value) { addCriterion("end_time >=", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeLessThan(Date value) { addCriterion("end_time <", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeLessThanOrEqualTo(Date value) { addCriterion("end_time <=", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeIn(List values) { addCriterion("end_time in", values, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotIn(List values) { addCriterion("end_time not in", values, "endTime"); return (Criteria) this; } public Criteria andEndTimeBetween(Date value1, Date value2) { addCriterion("end_time between", value1, value2, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotBetween(Date value1, Date value2) { addCriterion("end_time not between", value1, value2, "endTime"); return (Criteria) this; } public Criteria andUseTypeIsNull() { addCriterion("use_type is null"); return (Criteria) this; } public Criteria andUseTypeIsNotNull() { addCriterion("use_type is not null"); return (Criteria) this; } public Criteria andUseTypeEqualTo(Integer value) { addCriterion("use_type =", value, "useType"); return (Criteria) this; } public Criteria andUseTypeNotEqualTo(Integer value) { addCriterion("use_type <>", value, "useType"); return (Criteria) this; } public Criteria andUseTypeGreaterThan(Integer value) { addCriterion("use_type >", value, "useType"); return (Criteria) this; } public Criteria andUseTypeGreaterThanOrEqualTo(Integer value) { addCriterion("use_type >=", value, "useType"); return (Criteria) this; } public Criteria andUseTypeLessThan(Integer value) { addCriterion("use_type <", value, "useType"); return (Criteria) this; } public Criteria andUseTypeLessThanOrEqualTo(Integer value) { addCriterion("use_type <=", value, "useType"); return (Criteria) this; } public Criteria andUseTypeIn(List values) { addCriterion("use_type in", values, "useType"); return (Criteria) this; } public Criteria andUseTypeNotIn(List values) { addCriterion("use_type not in", values, "useType"); return (Criteria) this; } public Criteria andUseTypeBetween(Integer value1, Integer value2) { addCriterion("use_type between", value1, value2, "useType"); return (Criteria) this; } public Criteria andUseTypeNotBetween(Integer value1, Integer value2) { addCriterion("use_type not between", value1, value2, "useType"); return (Criteria) this; } public Criteria andNoteIsNull() { addCriterion("note is null"); return (Criteria) this; } public Criteria andNoteIsNotNull() { addCriterion("note is not null"); return (Criteria) this; } public Criteria andNoteEqualTo(String value) { addCriterion("note =", value, "note"); return (Criteria) this; } public Criteria andNoteNotEqualTo(String value) { addCriterion("note <>", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThan(String value) { addCriterion("note >", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThanOrEqualTo(String value) { addCriterion("note >=", value, "note"); return (Criteria) this; } public Criteria andNoteLessThan(String value) { addCriterion("note <", value, "note"); return (Criteria) this; } public Criteria andNoteLessThanOrEqualTo(String value) { addCriterion("note <=", value, "note"); return (Criteria) this; } public Criteria andNoteLike(String value) { addCriterion("note like", value, "note"); return (Criteria) this; } public Criteria andNoteNotLike(String value) { addCriterion("note not like", value, "note"); return (Criteria) this; } public Criteria andNoteIn(List values) { addCriterion("note in", values, "note"); return (Criteria) this; } public Criteria andNoteNotIn(List values) { addCriterion("note not in", values, "note"); return (Criteria) this; } public Criteria andNoteBetween(String value1, String value2) { addCriterion("note between", value1, value2, "note"); return (Criteria) this; } public Criteria andNoteNotBetween(String value1, String value2) { addCriterion("note not between", value1, value2, "note"); return (Criteria) this; } public Criteria andPublishCountIsNull() { addCriterion("publish_count is null"); return (Criteria) this; } public Criteria andPublishCountIsNotNull() { addCriterion("publish_count is not null"); return (Criteria) this; } public Criteria andPublishCountEqualTo(Integer value) { addCriterion("publish_count =", value, "publishCount"); return (Criteria) this; } public Criteria andPublishCountNotEqualTo(Integer value) { addCriterion("publish_count <>", value, "publishCount"); return (Criteria) this; } public Criteria andPublishCountGreaterThan(Integer value) { addCriterion("publish_count >", value, "publishCount"); return (Criteria) this; } public Criteria andPublishCountGreaterThanOrEqualTo(Integer value) { addCriterion("publish_count >=", value, "publishCount"); return (Criteria) this; } public Criteria andPublishCountLessThan(Integer value) { addCriterion("publish_count <", value, "publishCount"); return (Criteria) this; } public Criteria andPublishCountLessThanOrEqualTo(Integer value) { addCriterion("publish_count <=", value, "publishCount"); return (Criteria) this; } public Criteria andPublishCountIn(List values) { addCriterion("publish_count in", values, "publishCount"); return (Criteria) this; } public Criteria andPublishCountNotIn(List values) { addCriterion("publish_count not in", values, "publishCount"); return (Criteria) this; } public Criteria andPublishCountBetween(Integer value1, Integer value2) { addCriterion("publish_count between", value1, value2, "publishCount"); return (Criteria) this; } public Criteria andPublishCountNotBetween(Integer value1, Integer value2) { addCriterion("publish_count not between", value1, value2, "publishCount"); return (Criteria) this; } public Criteria andUseCountIsNull() { addCriterion("use_count is null"); return (Criteria) this; } public Criteria andUseCountIsNotNull() { addCriterion("use_count is not null"); return (Criteria) this; } public Criteria andUseCountEqualTo(Integer value) { addCriterion("use_count =", value, "useCount"); return (Criteria) this; } public Criteria andUseCountNotEqualTo(Integer value) { addCriterion("use_count <>", value, "useCount"); return (Criteria) this; } public Criteria andUseCountGreaterThan(Integer value) { addCriterion("use_count >", value, "useCount"); return (Criteria) this; } public Criteria andUseCountGreaterThanOrEqualTo(Integer value) { addCriterion("use_count >=", value, "useCount"); return (Criteria) this; } public Criteria andUseCountLessThan(Integer value) { addCriterion("use_count <", value, "useCount"); return (Criteria) this; } public Criteria andUseCountLessThanOrEqualTo(Integer value) { addCriterion("use_count <=", value, "useCount"); return (Criteria) this; } public Criteria andUseCountIn(List values) { addCriterion("use_count in", values, "useCount"); return (Criteria) this; } public Criteria andUseCountNotIn(List values) { addCriterion("use_count not in", values, "useCount"); return (Criteria) this; } public Criteria andUseCountBetween(Integer value1, Integer value2) { addCriterion("use_count between", value1, value2, "useCount"); return (Criteria) this; } public Criteria andUseCountNotBetween(Integer value1, Integer value2) { addCriterion("use_count not between", value1, value2, "useCount"); return (Criteria) this; } public Criteria andReceiveCountIsNull() { addCriterion("receive_count is null"); return (Criteria) this; } public Criteria andReceiveCountIsNotNull() { addCriterion("receive_count is not null"); return (Criteria) this; } public Criteria andReceiveCountEqualTo(Integer value) { addCriterion("receive_count =", value, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountNotEqualTo(Integer value) { addCriterion("receive_count <>", value, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountGreaterThan(Integer value) { addCriterion("receive_count >", value, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountGreaterThanOrEqualTo(Integer value) { addCriterion("receive_count >=", value, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountLessThan(Integer value) { addCriterion("receive_count <", value, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountLessThanOrEqualTo(Integer value) { addCriterion("receive_count <=", value, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountIn(List values) { addCriterion("receive_count in", values, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountNotIn(List values) { addCriterion("receive_count not in", values, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountBetween(Integer value1, Integer value2) { addCriterion("receive_count between", value1, value2, "receiveCount"); return (Criteria) this; } public Criteria andReceiveCountNotBetween(Integer value1, Integer value2) { addCriterion("receive_count not between", value1, value2, "receiveCount"); return (Criteria) this; } public Criteria andEnableTimeIsNull() { addCriterion("enable_time is null"); return (Criteria) this; } public Criteria andEnableTimeIsNotNull() { addCriterion("enable_time is not null"); return (Criteria) this; } public Criteria andEnableTimeEqualTo(Date value) { addCriterion("enable_time =", value, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeNotEqualTo(Date value) { addCriterion("enable_time <>", value, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeGreaterThan(Date value) { addCriterion("enable_time >", value, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeGreaterThanOrEqualTo(Date value) { addCriterion("enable_time >=", value, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeLessThan(Date value) { addCriterion("enable_time <", value, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeLessThanOrEqualTo(Date value) { addCriterion("enable_time <=", value, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeIn(List values) { addCriterion("enable_time in", values, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeNotIn(List values) { addCriterion("enable_time not in", values, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeBetween(Date value1, Date value2) { addCriterion("enable_time between", value1, value2, "enableTime"); return (Criteria) this; } public Criteria andEnableTimeNotBetween(Date value1, Date value2) { addCriterion("enable_time not between", value1, value2, "enableTime"); return (Criteria) this; } public Criteria andCodeIsNull() { addCriterion("code is null"); return (Criteria) this; } public Criteria andCodeIsNotNull() { addCriterion("code is not null"); return (Criteria) this; } public Criteria andCodeEqualTo(String value) { addCriterion("code =", value, "code"); return (Criteria) this; } public Criteria andCodeNotEqualTo(String value) { addCriterion("code <>", value, "code"); return (Criteria) this; } public Criteria andCodeGreaterThan(String value) { addCriterion("code >", value, "code"); return (Criteria) this; } public Criteria andCodeGreaterThanOrEqualTo(String value) { addCriterion("code >=", value, "code"); return (Criteria) this; } public Criteria andCodeLessThan(String value) { addCriterion("code <", value, "code"); return (Criteria) this; } public Criteria andCodeLessThanOrEqualTo(String value) { addCriterion("code <=", value, "code"); return (Criteria) this; } public Criteria andCodeLike(String value) { addCriterion("code like", value, "code"); return (Criteria) this; } public Criteria andCodeNotLike(String value) { addCriterion("code not like", value, "code"); return (Criteria) this; } public Criteria andCodeIn(List values) { addCriterion("code in", values, "code"); return (Criteria) this; } public Criteria andCodeNotIn(List values) { addCriterion("code not in", values, "code"); return (Criteria) this; } public Criteria andCodeBetween(String value1, String value2) { addCriterion("code between", value1, value2, "code"); return (Criteria) this; } public Criteria andCodeNotBetween(String value1, String value2) { addCriterion("code not between", value1, value2, "code"); return (Criteria) this; } public Criteria andMemberLevelIsNull() { addCriterion("member_level is null"); return (Criteria) this; } public Criteria andMemberLevelIsNotNull() { addCriterion("member_level is not null"); return (Criteria) this; } public Criteria andMemberLevelEqualTo(Integer value) { addCriterion("member_level =", value, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelNotEqualTo(Integer value) { addCriterion("member_level <>", value, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelGreaterThan(Integer value) { addCriterion("member_level >", value, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelGreaterThanOrEqualTo(Integer value) { addCriterion("member_level >=", value, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelLessThan(Integer value) { addCriterion("member_level <", value, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelLessThanOrEqualTo(Integer value) { addCriterion("member_level <=", value, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelIn(List values) { addCriterion("member_level in", values, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelNotIn(List values) { addCriterion("member_level not in", values, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelBetween(Integer value1, Integer value2) { addCriterion("member_level between", value1, value2, "memberLevel"); return (Criteria) this; } public Criteria andMemberLevelNotBetween(Integer value1, Integer value2) { addCriterion("member_level not between", value1, value2, "memberLevel"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsCouponHistory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class SmsCouponHistory implements Serializable { private Long id; private Long couponId; private Long memberId; private String couponCode; @Schema(title = "领取人昵称") private String memberNickname; @Schema(title = "获取类型:0->后台赠送;1->主动获取") private Integer getType; private Date createTime; @Schema(title = "使用状态:0->未使用;1->已使用;2->已过期") private Integer useStatus; @Schema(title = "使用时间") private Date useTime; @Schema(title = "订单编号") private Long orderId; @Schema(title = "订单号码") private String orderSn; private static final long serialVersionUID = 1L; 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 getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public String getCouponCode() { return couponCode; } public void setCouponCode(String couponCode) { this.couponCode = couponCode; } public String getMemberNickname() { return memberNickname; } public void setMemberNickname(String memberNickname) { this.memberNickname = memberNickname; } public Integer getGetType() { return getType; } public void setGetType(Integer getType) { this.getType = getType; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Integer getUseStatus() { return useStatus; } public void setUseStatus(Integer useStatus) { this.useStatus = useStatus; } public Date getUseTime() { return useTime; } public void setUseTime(Date useTime) { this.useTime = useTime; } public Long getOrderId() { return orderId; } public void setOrderId(Long orderId) { this.orderId = orderId; } public String getOrderSn() { return orderSn; } public void setOrderSn(String orderSn) { this.orderSn = orderSn; } @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(", couponId=").append(couponId); sb.append(", memberId=").append(memberId); sb.append(", couponCode=").append(couponCode); sb.append(", memberNickname=").append(memberNickname); sb.append(", getType=").append(getType); sb.append(", createTime=").append(createTime); sb.append(", useStatus=").append(useStatus); sb.append(", useTime=").append(useTime); sb.append(", orderId=").append(orderId); sb.append(", orderSn=").append(orderSn); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsCouponHistoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class SmsCouponHistoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsCouponHistoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCouponIdIsNull() { addCriterion("coupon_id is null"); return (Criteria) this; } public Criteria andCouponIdIsNotNull() { addCriterion("coupon_id is not null"); return (Criteria) this; } public Criteria andCouponIdEqualTo(Long value) { addCriterion("coupon_id =", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotEqualTo(Long value) { addCriterion("coupon_id <>", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdGreaterThan(Long value) { addCriterion("coupon_id >", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdGreaterThanOrEqualTo(Long value) { addCriterion("coupon_id >=", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdLessThan(Long value) { addCriterion("coupon_id <", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdLessThanOrEqualTo(Long value) { addCriterion("coupon_id <=", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdIn(List values) { addCriterion("coupon_id in", values, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotIn(List values) { addCriterion("coupon_id not in", values, "couponId"); return (Criteria) this; } public Criteria andCouponIdBetween(Long value1, Long value2) { addCriterion("coupon_id between", value1, value2, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotBetween(Long value1, Long value2) { addCriterion("coupon_id not between", value1, value2, "couponId"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andCouponCodeIsNull() { addCriterion("coupon_code is null"); return (Criteria) this; } public Criteria andCouponCodeIsNotNull() { addCriterion("coupon_code is not null"); return (Criteria) this; } public Criteria andCouponCodeEqualTo(String value) { addCriterion("coupon_code =", value, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeNotEqualTo(String value) { addCriterion("coupon_code <>", value, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeGreaterThan(String value) { addCriterion("coupon_code >", value, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeGreaterThanOrEqualTo(String value) { addCriterion("coupon_code >=", value, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeLessThan(String value) { addCriterion("coupon_code <", value, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeLessThanOrEqualTo(String value) { addCriterion("coupon_code <=", value, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeLike(String value) { addCriterion("coupon_code like", value, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeNotLike(String value) { addCriterion("coupon_code not like", value, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeIn(List values) { addCriterion("coupon_code in", values, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeNotIn(List values) { addCriterion("coupon_code not in", values, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeBetween(String value1, String value2) { addCriterion("coupon_code between", value1, value2, "couponCode"); return (Criteria) this; } public Criteria andCouponCodeNotBetween(String value1, String value2) { addCriterion("coupon_code not between", value1, value2, "couponCode"); return (Criteria) this; } public Criteria andMemberNicknameIsNull() { addCriterion("member_nickname is null"); return (Criteria) this; } public Criteria andMemberNicknameIsNotNull() { addCriterion("member_nickname is not null"); return (Criteria) this; } public Criteria andMemberNicknameEqualTo(String value) { addCriterion("member_nickname =", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameNotEqualTo(String value) { addCriterion("member_nickname <>", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameGreaterThan(String value) { addCriterion("member_nickname >", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameGreaterThanOrEqualTo(String value) { addCriterion("member_nickname >=", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameLessThan(String value) { addCriterion("member_nickname <", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameLessThanOrEqualTo(String value) { addCriterion("member_nickname <=", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameLike(String value) { addCriterion("member_nickname like", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameNotLike(String value) { addCriterion("member_nickname not like", value, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameIn(List values) { addCriterion("member_nickname in", values, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameNotIn(List values) { addCriterion("member_nickname not in", values, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameBetween(String value1, String value2) { addCriterion("member_nickname between", value1, value2, "memberNickname"); return (Criteria) this; } public Criteria andMemberNicknameNotBetween(String value1, String value2) { addCriterion("member_nickname not between", value1, value2, "memberNickname"); return (Criteria) this; } public Criteria andGetTypeIsNull() { addCriterion("get_type is null"); return (Criteria) this; } public Criteria andGetTypeIsNotNull() { addCriterion("get_type is not null"); return (Criteria) this; } public Criteria andGetTypeEqualTo(Integer value) { addCriterion("get_type =", value, "getType"); return (Criteria) this; } public Criteria andGetTypeNotEqualTo(Integer value) { addCriterion("get_type <>", value, "getType"); return (Criteria) this; } public Criteria andGetTypeGreaterThan(Integer value) { addCriterion("get_type >", value, "getType"); return (Criteria) this; } public Criteria andGetTypeGreaterThanOrEqualTo(Integer value) { addCriterion("get_type >=", value, "getType"); return (Criteria) this; } public Criteria andGetTypeLessThan(Integer value) { addCriterion("get_type <", value, "getType"); return (Criteria) this; } public Criteria andGetTypeLessThanOrEqualTo(Integer value) { addCriterion("get_type <=", value, "getType"); return (Criteria) this; } public Criteria andGetTypeIn(List values) { addCriterion("get_type in", values, "getType"); return (Criteria) this; } public Criteria andGetTypeNotIn(List values) { addCriterion("get_type not in", values, "getType"); return (Criteria) this; } public Criteria andGetTypeBetween(Integer value1, Integer value2) { addCriterion("get_type between", value1, value2, "getType"); return (Criteria) this; } public Criteria andGetTypeNotBetween(Integer value1, Integer value2) { addCriterion("get_type not between", value1, value2, "getType"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andUseStatusIsNull() { addCriterion("use_status is null"); return (Criteria) this; } public Criteria andUseStatusIsNotNull() { addCriterion("use_status is not null"); return (Criteria) this; } public Criteria andUseStatusEqualTo(Integer value) { addCriterion("use_status =", value, "useStatus"); return (Criteria) this; } public Criteria andUseStatusNotEqualTo(Integer value) { addCriterion("use_status <>", value, "useStatus"); return (Criteria) this; } public Criteria andUseStatusGreaterThan(Integer value) { addCriterion("use_status >", value, "useStatus"); return (Criteria) this; } public Criteria andUseStatusGreaterThanOrEqualTo(Integer value) { addCriterion("use_status >=", value, "useStatus"); return (Criteria) this; } public Criteria andUseStatusLessThan(Integer value) { addCriterion("use_status <", value, "useStatus"); return (Criteria) this; } public Criteria andUseStatusLessThanOrEqualTo(Integer value) { addCriterion("use_status <=", value, "useStatus"); return (Criteria) this; } public Criteria andUseStatusIn(List values) { addCriterion("use_status in", values, "useStatus"); return (Criteria) this; } public Criteria andUseStatusNotIn(List values) { addCriterion("use_status not in", values, "useStatus"); return (Criteria) this; } public Criteria andUseStatusBetween(Integer value1, Integer value2) { addCriterion("use_status between", value1, value2, "useStatus"); return (Criteria) this; } public Criteria andUseStatusNotBetween(Integer value1, Integer value2) { addCriterion("use_status not between", value1, value2, "useStatus"); return (Criteria) this; } public Criteria andUseTimeIsNull() { addCriterion("use_time is null"); return (Criteria) this; } public Criteria andUseTimeIsNotNull() { addCriterion("use_time is not null"); return (Criteria) this; } public Criteria andUseTimeEqualTo(Date value) { addCriterion("use_time =", value, "useTime"); return (Criteria) this; } public Criteria andUseTimeNotEqualTo(Date value) { addCriterion("use_time <>", value, "useTime"); return (Criteria) this; } public Criteria andUseTimeGreaterThan(Date value) { addCriterion("use_time >", value, "useTime"); return (Criteria) this; } public Criteria andUseTimeGreaterThanOrEqualTo(Date value) { addCriterion("use_time >=", value, "useTime"); return (Criteria) this; } public Criteria andUseTimeLessThan(Date value) { addCriterion("use_time <", value, "useTime"); return (Criteria) this; } public Criteria andUseTimeLessThanOrEqualTo(Date value) { addCriterion("use_time <=", value, "useTime"); return (Criteria) this; } public Criteria andUseTimeIn(List values) { addCriterion("use_time in", values, "useTime"); return (Criteria) this; } public Criteria andUseTimeNotIn(List values) { addCriterion("use_time not in", values, "useTime"); return (Criteria) this; } public Criteria andUseTimeBetween(Date value1, Date value2) { addCriterion("use_time between", value1, value2, "useTime"); return (Criteria) this; } public Criteria andUseTimeNotBetween(Date value1, Date value2) { addCriterion("use_time not between", value1, value2, "useTime"); return (Criteria) this; } public Criteria andOrderIdIsNull() { addCriterion("order_id is null"); return (Criteria) this; } public Criteria andOrderIdIsNotNull() { addCriterion("order_id is not null"); return (Criteria) this; } public Criteria andOrderIdEqualTo(Long value) { addCriterion("order_id =", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotEqualTo(Long value) { addCriterion("order_id <>", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdGreaterThan(Long value) { addCriterion("order_id >", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdGreaterThanOrEqualTo(Long value) { addCriterion("order_id >=", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdLessThan(Long value) { addCriterion("order_id <", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdLessThanOrEqualTo(Long value) { addCriterion("order_id <=", value, "orderId"); return (Criteria) this; } public Criteria andOrderIdIn(List values) { addCriterion("order_id in", values, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotIn(List values) { addCriterion("order_id not in", values, "orderId"); return (Criteria) this; } public Criteria andOrderIdBetween(Long value1, Long value2) { addCriterion("order_id between", value1, value2, "orderId"); return (Criteria) this; } public Criteria andOrderIdNotBetween(Long value1, Long value2) { addCriterion("order_id not between", value1, value2, "orderId"); return (Criteria) this; } public Criteria andOrderSnIsNull() { addCriterion("order_sn is null"); return (Criteria) this; } public Criteria andOrderSnIsNotNull() { addCriterion("order_sn is not null"); return (Criteria) this; } public Criteria andOrderSnEqualTo(String value) { addCriterion("order_sn =", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotEqualTo(String value) { addCriterion("order_sn <>", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnGreaterThan(String value) { addCriterion("order_sn >", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnGreaterThanOrEqualTo(String value) { addCriterion("order_sn >=", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLessThan(String value) { addCriterion("order_sn <", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLessThanOrEqualTo(String value) { addCriterion("order_sn <=", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnLike(String value) { addCriterion("order_sn like", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotLike(String value) { addCriterion("order_sn not like", value, "orderSn"); return (Criteria) this; } public Criteria andOrderSnIn(List values) { addCriterion("order_sn in", values, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotIn(List values) { addCriterion("order_sn not in", values, "orderSn"); return (Criteria) this; } public Criteria andOrderSnBetween(String value1, String value2) { addCriterion("order_sn between", value1, value2, "orderSn"); return (Criteria) this; } public Criteria andOrderSnNotBetween(String value1, String value2) { addCriterion("order_sn not between", value1, value2, "orderSn"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsCouponProductCategoryRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class SmsCouponProductCategoryRelation implements Serializable { private Long id; private Long couponId; private Long productCategoryId; @Schema(title = "产品分类名称") private String productCategoryName; @Schema(title = "父分类名称") private String parentCategoryName; private static final long serialVersionUID = 1L; 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() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()); sb.append(" ["); sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", couponId=").append(couponId); sb.append(", productCategoryId=").append(productCategoryId); sb.append(", productCategoryName=").append(productCategoryName); sb.append(", parentCategoryName=").append(parentCategoryName); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsCouponProductCategoryRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class SmsCouponProductCategoryRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsCouponProductCategoryRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCouponIdIsNull() { addCriterion("coupon_id is null"); return (Criteria) this; } public Criteria andCouponIdIsNotNull() { addCriterion("coupon_id is not null"); return (Criteria) this; } public Criteria andCouponIdEqualTo(Long value) { addCriterion("coupon_id =", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotEqualTo(Long value) { addCriterion("coupon_id <>", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdGreaterThan(Long value) { addCriterion("coupon_id >", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdGreaterThanOrEqualTo(Long value) { addCriterion("coupon_id >=", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdLessThan(Long value) { addCriterion("coupon_id <", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdLessThanOrEqualTo(Long value) { addCriterion("coupon_id <=", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdIn(List values) { addCriterion("coupon_id in", values, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotIn(List values) { addCriterion("coupon_id not in", values, "couponId"); return (Criteria) this; } public Criteria andCouponIdBetween(Long value1, Long value2) { addCriterion("coupon_id between", value1, value2, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotBetween(Long value1, Long value2) { addCriterion("coupon_id not between", value1, value2, "couponId"); return (Criteria) this; } public Criteria andProductCategoryIdIsNull() { addCriterion("product_category_id is null"); return (Criteria) this; } public Criteria andProductCategoryIdIsNotNull() { addCriterion("product_category_id is not null"); return (Criteria) this; } public Criteria andProductCategoryIdEqualTo(Long value) { addCriterion("product_category_id =", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotEqualTo(Long value) { addCriterion("product_category_id <>", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThan(Long value) { addCriterion("product_category_id >", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("product_category_id >=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThan(Long value) { addCriterion("product_category_id <", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) { addCriterion("product_category_id <=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdIn(List values) { addCriterion("product_category_id in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotIn(List values) { addCriterion("product_category_id not in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdBetween(Long value1, Long value2) { addCriterion("product_category_id between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) { addCriterion("product_category_id not between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryNameIsNull() { addCriterion("product_category_name is null"); return (Criteria) this; } public Criteria andProductCategoryNameIsNotNull() { addCriterion("product_category_name is not null"); return (Criteria) this; } public Criteria andProductCategoryNameEqualTo(String value) { addCriterion("product_category_name =", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameNotEqualTo(String value) { addCriterion("product_category_name <>", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameGreaterThan(String value) { addCriterion("product_category_name >", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameGreaterThanOrEqualTo(String value) { addCriterion("product_category_name >=", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameLessThan(String value) { addCriterion("product_category_name <", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameLessThanOrEqualTo(String value) { addCriterion("product_category_name <=", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameLike(String value) { addCriterion("product_category_name like", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameNotLike(String value) { addCriterion("product_category_name not like", value, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameIn(List values) { addCriterion("product_category_name in", values, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameNotIn(List values) { addCriterion("product_category_name not in", values, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameBetween(String value1, String value2) { addCriterion("product_category_name between", value1, value2, "productCategoryName"); return (Criteria) this; } public Criteria andProductCategoryNameNotBetween(String value1, String value2) { addCriterion("product_category_name not between", value1, value2, "productCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameIsNull() { addCriterion("parent_category_name is null"); return (Criteria) this; } public Criteria andParentCategoryNameIsNotNull() { addCriterion("parent_category_name is not null"); return (Criteria) this; } public Criteria andParentCategoryNameEqualTo(String value) { addCriterion("parent_category_name =", value, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameNotEqualTo(String value) { addCriterion("parent_category_name <>", value, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameGreaterThan(String value) { addCriterion("parent_category_name >", value, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameGreaterThanOrEqualTo(String value) { addCriterion("parent_category_name >=", value, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameLessThan(String value) { addCriterion("parent_category_name <", value, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameLessThanOrEqualTo(String value) { addCriterion("parent_category_name <=", value, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameLike(String value) { addCriterion("parent_category_name like", value, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameNotLike(String value) { addCriterion("parent_category_name not like", value, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameIn(List values) { addCriterion("parent_category_name in", values, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameNotIn(List values) { addCriterion("parent_category_name not in", values, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameBetween(String value1, String value2) { addCriterion("parent_category_name between", value1, value2, "parentCategoryName"); return (Criteria) this; } public Criteria andParentCategoryNameNotBetween(String value1, String value2) { addCriterion("parent_category_name not between", value1, value2, "parentCategoryName"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsCouponProductRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class SmsCouponProductRelation implements Serializable { private Long id; private Long couponId; private Long productId; @Schema(title = "商品名称") private String productName; @Schema(title = "商品编码") private String productSn; private static final long serialVersionUID = 1L; 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() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()); sb.append(" ["); sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); sb.append(", couponId=").append(couponId); sb.append(", productId=").append(productId); sb.append(", productName=").append(productName); sb.append(", productSn=").append(productSn); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsCouponProductRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class SmsCouponProductRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsCouponProductRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCouponIdIsNull() { addCriterion("coupon_id is null"); return (Criteria) this; } public Criteria andCouponIdIsNotNull() { addCriterion("coupon_id is not null"); return (Criteria) this; } public Criteria andCouponIdEqualTo(Long value) { addCriterion("coupon_id =", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotEqualTo(Long value) { addCriterion("coupon_id <>", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdGreaterThan(Long value) { addCriterion("coupon_id >", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdGreaterThanOrEqualTo(Long value) { addCriterion("coupon_id >=", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdLessThan(Long value) { addCriterion("coupon_id <", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdLessThanOrEqualTo(Long value) { addCriterion("coupon_id <=", value, "couponId"); return (Criteria) this; } public Criteria andCouponIdIn(List values) { addCriterion("coupon_id in", values, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotIn(List values) { addCriterion("coupon_id not in", values, "couponId"); return (Criteria) this; } public Criteria andCouponIdBetween(Long value1, Long value2) { addCriterion("coupon_id between", value1, value2, "couponId"); return (Criteria) this; } public Criteria andCouponIdNotBetween(Long value1, Long value2) { addCriterion("coupon_id not between", value1, value2, "couponId"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductNameIsNull() { addCriterion("product_name is null"); return (Criteria) this; } public Criteria andProductNameIsNotNull() { addCriterion("product_name is not null"); return (Criteria) this; } public Criteria andProductNameEqualTo(String value) { addCriterion("product_name =", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotEqualTo(String value) { addCriterion("product_name <>", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThan(String value) { addCriterion("product_name >", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThanOrEqualTo(String value) { addCriterion("product_name >=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThan(String value) { addCriterion("product_name <", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThanOrEqualTo(String value) { addCriterion("product_name <=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLike(String value) { addCriterion("product_name like", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotLike(String value) { addCriterion("product_name not like", value, "productName"); return (Criteria) this; } public Criteria andProductNameIn(List values) { addCriterion("product_name in", values, "productName"); return (Criteria) this; } public Criteria andProductNameNotIn(List values) { addCriterion("product_name not in", values, "productName"); return (Criteria) this; } public Criteria andProductNameBetween(String value1, String value2) { addCriterion("product_name between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductNameNotBetween(String value1, String value2) { addCriterion("product_name not between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductSnIsNull() { addCriterion("product_sn is null"); return (Criteria) this; } public Criteria andProductSnIsNotNull() { addCriterion("product_sn is not null"); return (Criteria) this; } public Criteria andProductSnEqualTo(String value) { addCriterion("product_sn =", value, "productSn"); return (Criteria) this; } public Criteria andProductSnNotEqualTo(String value) { addCriterion("product_sn <>", value, "productSn"); return (Criteria) this; } public Criteria andProductSnGreaterThan(String value) { addCriterion("product_sn >", value, "productSn"); return (Criteria) this; } public Criteria andProductSnGreaterThanOrEqualTo(String value) { addCriterion("product_sn >=", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLessThan(String value) { addCriterion("product_sn <", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLessThanOrEqualTo(String value) { addCriterion("product_sn <=", value, "productSn"); return (Criteria) this; } public Criteria andProductSnLike(String value) { addCriterion("product_sn like", value, "productSn"); return (Criteria) this; } public Criteria andProductSnNotLike(String value) { addCriterion("product_sn not like", value, "productSn"); return (Criteria) this; } public Criteria andProductSnIn(List values) { addCriterion("product_sn in", values, "productSn"); return (Criteria) this; } public Criteria andProductSnNotIn(List values) { addCriterion("product_sn not in", values, "productSn"); return (Criteria) this; } public Criteria andProductSnBetween(String value1, String value2) { addCriterion("product_sn between", value1, value2, "productSn"); return (Criteria) this; } public Criteria andProductSnNotBetween(String value1, String value2) { addCriterion("product_sn not between", value1, value2, "productSn"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotion.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class SmsFlashPromotion implements Serializable { private Long id; @Schema(title = "秒杀时间段名称") private String title; @Schema(title = "开始日期") private Date startDate; @Schema(title = "结束日期") private Date endDate; @Schema(title = "上下线状态") private Integer status; @Schema(title = "创建时间") private Date createTime; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } public Date getEndDate() { return endDate; } public void setEndDate(Date endDate) { this.endDate = endDate; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } @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(", title=").append(title); sb.append(", startDate=").append(startDate); sb.append(", endDate=").append(endDate); sb.append(", status=").append(status); sb.append(", createTime=").append(createTime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; public class SmsFlashPromotionExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsFlashPromotionExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } protected void addCriterionForJDBCDate(String condition, Date value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } addCriterion(condition, new java.sql.Date(value.getTime()), property); } protected void addCriterionForJDBCDate(String condition, List values, String property) { if (values == null || values.size() == 0) { throw new RuntimeException("Value list for " + property + " cannot be null or empty"); } List dateList = new ArrayList<>(); Iterator iter = values.iterator(); while (iter.hasNext()) { dateList.add(new java.sql.Date(iter.next().getTime())); } addCriterion(condition, dateList, property); } protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andTitleIsNull() { addCriterion("title is null"); return (Criteria) this; } public Criteria andTitleIsNotNull() { addCriterion("title is not null"); return (Criteria) this; } public Criteria andTitleEqualTo(String value) { addCriterion("title =", value, "title"); return (Criteria) this; } public Criteria andTitleNotEqualTo(String value) { addCriterion("title <>", value, "title"); return (Criteria) this; } public Criteria andTitleGreaterThan(String value) { addCriterion("title >", value, "title"); return (Criteria) this; } public Criteria andTitleGreaterThanOrEqualTo(String value) { addCriterion("title >=", value, "title"); return (Criteria) this; } public Criteria andTitleLessThan(String value) { addCriterion("title <", value, "title"); return (Criteria) this; } public Criteria andTitleLessThanOrEqualTo(String value) { addCriterion("title <=", value, "title"); return (Criteria) this; } public Criteria andTitleLike(String value) { addCriterion("title like", value, "title"); return (Criteria) this; } public Criteria andTitleNotLike(String value) { addCriterion("title not like", value, "title"); return (Criteria) this; } public Criteria andTitleIn(List values) { addCriterion("title in", values, "title"); return (Criteria) this; } public Criteria andTitleNotIn(List values) { addCriterion("title not in", values, "title"); return (Criteria) this; } public Criteria andTitleBetween(String value1, String value2) { addCriterion("title between", value1, value2, "title"); return (Criteria) this; } public Criteria andTitleNotBetween(String value1, String value2) { addCriterion("title not between", value1, value2, "title"); return (Criteria) this; } public Criteria andStartDateIsNull() { addCriterion("start_date is null"); return (Criteria) this; } public Criteria andStartDateIsNotNull() { addCriterion("start_date is not null"); return (Criteria) this; } public Criteria andStartDateEqualTo(Date value) { addCriterionForJDBCDate("start_date =", value, "startDate"); return (Criteria) this; } public Criteria andStartDateNotEqualTo(Date value) { addCriterionForJDBCDate("start_date <>", value, "startDate"); return (Criteria) this; } public Criteria andStartDateGreaterThan(Date value) { addCriterionForJDBCDate("start_date >", value, "startDate"); return (Criteria) this; } public Criteria andStartDateGreaterThanOrEqualTo(Date value) { addCriterionForJDBCDate("start_date >=", value, "startDate"); return (Criteria) this; } public Criteria andStartDateLessThan(Date value) { addCriterionForJDBCDate("start_date <", value, "startDate"); return (Criteria) this; } public Criteria andStartDateLessThanOrEqualTo(Date value) { addCriterionForJDBCDate("start_date <=", value, "startDate"); return (Criteria) this; } public Criteria andStartDateIn(List values) { addCriterionForJDBCDate("start_date in", values, "startDate"); return (Criteria) this; } public Criteria andStartDateNotIn(List values) { addCriterionForJDBCDate("start_date not in", values, "startDate"); return (Criteria) this; } public Criteria andStartDateBetween(Date value1, Date value2) { addCriterionForJDBCDate("start_date between", value1, value2, "startDate"); return (Criteria) this; } public Criteria andStartDateNotBetween(Date value1, Date value2) { addCriterionForJDBCDate("start_date not between", value1, value2, "startDate"); return (Criteria) this; } public Criteria andEndDateIsNull() { addCriterion("end_date is null"); return (Criteria) this; } public Criteria andEndDateIsNotNull() { addCriterion("end_date is not null"); return (Criteria) this; } public Criteria andEndDateEqualTo(Date value) { addCriterionForJDBCDate("end_date =", value, "endDate"); return (Criteria) this; } public Criteria andEndDateNotEqualTo(Date value) { addCriterionForJDBCDate("end_date <>", value, "endDate"); return (Criteria) this; } public Criteria andEndDateGreaterThan(Date value) { addCriterionForJDBCDate("end_date >", value, "endDate"); return (Criteria) this; } public Criteria andEndDateGreaterThanOrEqualTo(Date value) { addCriterionForJDBCDate("end_date >=", value, "endDate"); return (Criteria) this; } public Criteria andEndDateLessThan(Date value) { addCriterionForJDBCDate("end_date <", value, "endDate"); return (Criteria) this; } public Criteria andEndDateLessThanOrEqualTo(Date value) { addCriterionForJDBCDate("end_date <=", value, "endDate"); return (Criteria) this; } public Criteria andEndDateIn(List values) { addCriterionForJDBCDate("end_date in", values, "endDate"); return (Criteria) this; } public Criteria andEndDateNotIn(List values) { addCriterionForJDBCDate("end_date not in", values, "endDate"); return (Criteria) this; } public Criteria andEndDateBetween(Date value1, Date value2) { addCriterionForJDBCDate("end_date between", value1, value2, "endDate"); return (Criteria) this; } public Criteria andEndDateNotBetween(Date value1, Date value2) { addCriterionForJDBCDate("end_date not between", value1, value2, "endDate"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionLog.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class SmsFlashPromotionLog implements Serializable { private Integer id; private Integer memberId; private Long productId; private String memberPhone; private String productName; @Schema(title = "会员订阅时间") private Date subscribeTime; private Date sendTime; private static final long serialVersionUID = 1L; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getMemberId() { return memberId; } public void setMemberId(Integer memberId) { this.memberId = memberId; } public Long getProductId() { return productId; } public void setProductId(Long productId) { this.productId = productId; } public String getMemberPhone() { return memberPhone; } public void setMemberPhone(String memberPhone) { this.memberPhone = memberPhone; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public Date getSubscribeTime() { return subscribeTime; } public void setSubscribeTime(Date subscribeTime) { this.subscribeTime = subscribeTime; } public Date getSendTime() { return sendTime; } public void setSendTime(Date sendTime) { this.sendTime = sendTime; } @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(", memberId=").append(memberId); sb.append(", productId=").append(productId); sb.append(", memberPhone=").append(memberPhone); sb.append(", productName=").append(productName); sb.append(", subscribeTime=").append(subscribeTime); sb.append(", sendTime=").append(sendTime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionLogExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class SmsFlashPromotionLogExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsFlashPromotionLogExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Integer value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Integer value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Integer value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Integer value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Integer value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Integer value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Integer value1, Integer value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Integer value1, Integer value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Integer value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Integer value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Integer value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Integer value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Integer value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Integer value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Integer value1, Integer value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Integer value1, Integer value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andMemberPhoneIsNull() { addCriterion("member_phone is null"); return (Criteria) this; } public Criteria andMemberPhoneIsNotNull() { addCriterion("member_phone is not null"); return (Criteria) this; } public Criteria andMemberPhoneEqualTo(String value) { addCriterion("member_phone =", value, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneNotEqualTo(String value) { addCriterion("member_phone <>", value, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneGreaterThan(String value) { addCriterion("member_phone >", value, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneGreaterThanOrEqualTo(String value) { addCriterion("member_phone >=", value, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneLessThan(String value) { addCriterion("member_phone <", value, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneLessThanOrEqualTo(String value) { addCriterion("member_phone <=", value, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneLike(String value) { addCriterion("member_phone like", value, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneNotLike(String value) { addCriterion("member_phone not like", value, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneIn(List values) { addCriterion("member_phone in", values, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneNotIn(List values) { addCriterion("member_phone not in", values, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneBetween(String value1, String value2) { addCriterion("member_phone between", value1, value2, "memberPhone"); return (Criteria) this; } public Criteria andMemberPhoneNotBetween(String value1, String value2) { addCriterion("member_phone not between", value1, value2, "memberPhone"); return (Criteria) this; } public Criteria andProductNameIsNull() { addCriterion("product_name is null"); return (Criteria) this; } public Criteria andProductNameIsNotNull() { addCriterion("product_name is not null"); return (Criteria) this; } public Criteria andProductNameEqualTo(String value) { addCriterion("product_name =", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotEqualTo(String value) { addCriterion("product_name <>", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThan(String value) { addCriterion("product_name >", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThanOrEqualTo(String value) { addCriterion("product_name >=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThan(String value) { addCriterion("product_name <", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThanOrEqualTo(String value) { addCriterion("product_name <=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLike(String value) { addCriterion("product_name like", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotLike(String value) { addCriterion("product_name not like", value, "productName"); return (Criteria) this; } public Criteria andProductNameIn(List values) { addCriterion("product_name in", values, "productName"); return (Criteria) this; } public Criteria andProductNameNotIn(List values) { addCriterion("product_name not in", values, "productName"); return (Criteria) this; } public Criteria andProductNameBetween(String value1, String value2) { addCriterion("product_name between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductNameNotBetween(String value1, String value2) { addCriterion("product_name not between", value1, value2, "productName"); return (Criteria) this; } public Criteria andSubscribeTimeIsNull() { addCriterion("subscribe_time is null"); return (Criteria) this; } public Criteria andSubscribeTimeIsNotNull() { addCriterion("subscribe_time is not null"); return (Criteria) this; } public Criteria andSubscribeTimeEqualTo(Date value) { addCriterion("subscribe_time =", value, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeNotEqualTo(Date value) { addCriterion("subscribe_time <>", value, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeGreaterThan(Date value) { addCriterion("subscribe_time >", value, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeGreaterThanOrEqualTo(Date value) { addCriterion("subscribe_time >=", value, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeLessThan(Date value) { addCriterion("subscribe_time <", value, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeLessThanOrEqualTo(Date value) { addCriterion("subscribe_time <=", value, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeIn(List values) { addCriterion("subscribe_time in", values, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeNotIn(List values) { addCriterion("subscribe_time not in", values, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeBetween(Date value1, Date value2) { addCriterion("subscribe_time between", value1, value2, "subscribeTime"); return (Criteria) this; } public Criteria andSubscribeTimeNotBetween(Date value1, Date value2) { addCriterion("subscribe_time not between", value1, value2, "subscribeTime"); return (Criteria) this; } public Criteria andSendTimeIsNull() { addCriterion("send_time is null"); return (Criteria) this; } public Criteria andSendTimeIsNotNull() { addCriterion("send_time is not null"); return (Criteria) this; } public Criteria andSendTimeEqualTo(Date value) { addCriterion("send_time =", value, "sendTime"); return (Criteria) this; } public Criteria andSendTimeNotEqualTo(Date value) { addCriterion("send_time <>", value, "sendTime"); return (Criteria) this; } public Criteria andSendTimeGreaterThan(Date value) { addCriterion("send_time >", value, "sendTime"); return (Criteria) this; } public Criteria andSendTimeGreaterThanOrEqualTo(Date value) { addCriterion("send_time >=", value, "sendTime"); return (Criteria) this; } public Criteria andSendTimeLessThan(Date value) { addCriterion("send_time <", value, "sendTime"); return (Criteria) this; } public Criteria andSendTimeLessThanOrEqualTo(Date value) { addCriterion("send_time <=", value, "sendTime"); return (Criteria) this; } public Criteria andSendTimeIn(List values) { addCriterion("send_time in", values, "sendTime"); return (Criteria) this; } public Criteria andSendTimeNotIn(List values) { addCriterion("send_time not in", values, "sendTime"); return (Criteria) this; } public Criteria andSendTimeBetween(Date value1, Date value2) { addCriterion("send_time between", value1, value2, "sendTime"); return (Criteria) this; } public Criteria andSendTimeNotBetween(Date value1, Date value2) { addCriterion("send_time not between", value1, value2, "sendTime"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionProductRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class SmsFlashPromotionProductRelation implements Serializable { @Schema(title = "编号") private Long id; private Long flashPromotionId; @Schema(title = "编号") private Long flashPromotionSessionId; private Long productId; @Schema(title = "限时购价格") private BigDecimal flashPromotionPrice; @Schema(title = "限时购数量") private Integer flashPromotionCount; @Schema(title = "每人限购数量") private Integer flashPromotionLimit; @Schema(title = "排序") private Integer sort; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getFlashPromotionId() { return flashPromotionId; } public void setFlashPromotionId(Long flashPromotionId) { this.flashPromotionId = flashPromotionId; } public Long getFlashPromotionSessionId() { return flashPromotionSessionId; } public void setFlashPromotionSessionId(Long flashPromotionSessionId) { this.flashPromotionSessionId = flashPromotionSessionId; } public Long getProductId() { return productId; } public void setProductId(Long productId) { this.productId = productId; } public BigDecimal getFlashPromotionPrice() { return flashPromotionPrice; } public void setFlashPromotionPrice(BigDecimal flashPromotionPrice) { this.flashPromotionPrice = flashPromotionPrice; } public Integer getFlashPromotionCount() { return flashPromotionCount; } public void setFlashPromotionCount(Integer flashPromotionCount) { this.flashPromotionCount = flashPromotionCount; } public Integer getFlashPromotionLimit() { return flashPromotionLimit; } public void setFlashPromotionLimit(Integer flashPromotionLimit) { this.flashPromotionLimit = flashPromotionLimit; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", flashPromotionId=").append(flashPromotionId); sb.append(", flashPromotionSessionId=").append(flashPromotionSessionId); sb.append(", productId=").append(productId); sb.append(", flashPromotionPrice=").append(flashPromotionPrice); sb.append(", flashPromotionCount=").append(flashPromotionCount); sb.append(", flashPromotionLimit=").append(flashPromotionLimit); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionProductRelationExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class SmsFlashPromotionProductRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsFlashPromotionProductRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andFlashPromotionIdIsNull() { addCriterion("flash_promotion_id is null"); return (Criteria) this; } public Criteria andFlashPromotionIdIsNotNull() { addCriterion("flash_promotion_id is not null"); return (Criteria) this; } public Criteria andFlashPromotionIdEqualTo(Long value) { addCriterion("flash_promotion_id =", value, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdNotEqualTo(Long value) { addCriterion("flash_promotion_id <>", value, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdGreaterThan(Long value) { addCriterion("flash_promotion_id >", value, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdGreaterThanOrEqualTo(Long value) { addCriterion("flash_promotion_id >=", value, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdLessThan(Long value) { addCriterion("flash_promotion_id <", value, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdLessThanOrEqualTo(Long value) { addCriterion("flash_promotion_id <=", value, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdIn(List values) { addCriterion("flash_promotion_id in", values, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdNotIn(List values) { addCriterion("flash_promotion_id not in", values, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdBetween(Long value1, Long value2) { addCriterion("flash_promotion_id between", value1, value2, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionIdNotBetween(Long value1, Long value2) { addCriterion("flash_promotion_id not between", value1, value2, "flashPromotionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdIsNull() { addCriterion("flash_promotion_session_id is null"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdIsNotNull() { addCriterion("flash_promotion_session_id is not null"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdEqualTo(Long value) { addCriterion("flash_promotion_session_id =", value, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdNotEqualTo(Long value) { addCriterion("flash_promotion_session_id <>", value, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdGreaterThan(Long value) { addCriterion("flash_promotion_session_id >", value, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdGreaterThanOrEqualTo(Long value) { addCriterion("flash_promotion_session_id >=", value, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdLessThan(Long value) { addCriterion("flash_promotion_session_id <", value, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdLessThanOrEqualTo(Long value) { addCriterion("flash_promotion_session_id <=", value, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdIn(List values) { addCriterion("flash_promotion_session_id in", values, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdNotIn(List values) { addCriterion("flash_promotion_session_id not in", values, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdBetween(Long value1, Long value2) { addCriterion("flash_promotion_session_id between", value1, value2, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andFlashPromotionSessionIdNotBetween(Long value1, Long value2) { addCriterion("flash_promotion_session_id not between", value1, value2, "flashPromotionSessionId"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andFlashPromotionPriceIsNull() { addCriterion("flash_promotion_price is null"); return (Criteria) this; } public Criteria andFlashPromotionPriceIsNotNull() { addCriterion("flash_promotion_price is not null"); return (Criteria) this; } public Criteria andFlashPromotionPriceEqualTo(BigDecimal value) { addCriterion("flash_promotion_price =", value, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceNotEqualTo(BigDecimal value) { addCriterion("flash_promotion_price <>", value, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceGreaterThan(BigDecimal value) { addCriterion("flash_promotion_price >", value, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceGreaterThanOrEqualTo(BigDecimal value) { addCriterion("flash_promotion_price >=", value, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceLessThan(BigDecimal value) { addCriterion("flash_promotion_price <", value, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceLessThanOrEqualTo(BigDecimal value) { addCriterion("flash_promotion_price <=", value, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceIn(List values) { addCriterion("flash_promotion_price in", values, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceNotIn(List values) { addCriterion("flash_promotion_price not in", values, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceBetween(BigDecimal value1, BigDecimal value2) { addCriterion("flash_promotion_price between", value1, value2, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionPriceNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("flash_promotion_price not between", value1, value2, "flashPromotionPrice"); return (Criteria) this; } public Criteria andFlashPromotionCountIsNull() { addCriterion("flash_promotion_count is null"); return (Criteria) this; } public Criteria andFlashPromotionCountIsNotNull() { addCriterion("flash_promotion_count is not null"); return (Criteria) this; } public Criteria andFlashPromotionCountEqualTo(Integer value) { addCriterion("flash_promotion_count =", value, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountNotEqualTo(Integer value) { addCriterion("flash_promotion_count <>", value, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountGreaterThan(Integer value) { addCriterion("flash_promotion_count >", value, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountGreaterThanOrEqualTo(Integer value) { addCriterion("flash_promotion_count >=", value, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountLessThan(Integer value) { addCriterion("flash_promotion_count <", value, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountLessThanOrEqualTo(Integer value) { addCriterion("flash_promotion_count <=", value, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountIn(List values) { addCriterion("flash_promotion_count in", values, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountNotIn(List values) { addCriterion("flash_promotion_count not in", values, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountBetween(Integer value1, Integer value2) { addCriterion("flash_promotion_count between", value1, value2, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionCountNotBetween(Integer value1, Integer value2) { addCriterion("flash_promotion_count not between", value1, value2, "flashPromotionCount"); return (Criteria) this; } public Criteria andFlashPromotionLimitIsNull() { addCriterion("flash_promotion_limit is null"); return (Criteria) this; } public Criteria andFlashPromotionLimitIsNotNull() { addCriterion("flash_promotion_limit is not null"); return (Criteria) this; } public Criteria andFlashPromotionLimitEqualTo(Integer value) { addCriterion("flash_promotion_limit =", value, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitNotEqualTo(Integer value) { addCriterion("flash_promotion_limit <>", value, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitGreaterThan(Integer value) { addCriterion("flash_promotion_limit >", value, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitGreaterThanOrEqualTo(Integer value) { addCriterion("flash_promotion_limit >=", value, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitLessThan(Integer value) { addCriterion("flash_promotion_limit <", value, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitLessThanOrEqualTo(Integer value) { addCriterion("flash_promotion_limit <=", value, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitIn(List values) { addCriterion("flash_promotion_limit in", values, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitNotIn(List values) { addCriterion("flash_promotion_limit not in", values, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitBetween(Integer value1, Integer value2) { addCriterion("flash_promotion_limit between", value1, value2, "flashPromotionLimit"); return (Criteria) this; } public Criteria andFlashPromotionLimitNotBetween(Integer value1, Integer value2) { addCriterion("flash_promotion_limit not between", value1, value2, "flashPromotionLimit"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionSession.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class SmsFlashPromotionSession implements Serializable { @Schema(title = "编号") private Long id; @Schema(title = "场次名称") private String name; @Schema(title = "每日开始时间") private Date startTime; @Schema(title = "每日结束时间") private Date endTime; @Schema(title = "启用状态:0->不启用;1->启用") private Integer status; @Schema(title = "创建时间") private Date createTime; private static final long serialVersionUID = 1L; 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 Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } @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(", name=").append(name); sb.append(", startTime=").append(startTime); sb.append(", endTime=").append(endTime); sb.append(", status=").append(status); sb.append(", createTime=").append(createTime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsFlashPromotionSessionExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; public class SmsFlashPromotionSessionExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsFlashPromotionSessionExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } protected void addCriterionForJDBCTime(String condition, Date value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } addCriterion(condition, new java.sql.Time(value.getTime()), property); } protected void addCriterionForJDBCTime(String condition, List values, String property) { if (values == null || values.size() == 0) { throw new RuntimeException("Value list for " + property + " cannot be null or empty"); } List timeList = new ArrayList<>(); Iterator iter = values.iterator(); while (iter.hasNext()) { timeList.add(new java.sql.Time(iter.next().getTime())); } addCriterion(condition, timeList, property); } protected void addCriterionForJDBCTime(String condition, Date value1, Date value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } addCriterion(condition, new java.sql.Time(value1.getTime()), new java.sql.Time(value2.getTime()), property); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andStartTimeIsNull() { addCriterion("start_time is null"); return (Criteria) this; } public Criteria andStartTimeIsNotNull() { addCriterion("start_time is not null"); return (Criteria) this; } public Criteria andStartTimeEqualTo(Date value) { addCriterionForJDBCTime("start_time =", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotEqualTo(Date value) { addCriterionForJDBCTime("start_time <>", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeGreaterThan(Date value) { addCriterionForJDBCTime("start_time >", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeGreaterThanOrEqualTo(Date value) { addCriterionForJDBCTime("start_time >=", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeLessThan(Date value) { addCriterionForJDBCTime("start_time <", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeLessThanOrEqualTo(Date value) { addCriterionForJDBCTime("start_time <=", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeIn(List values) { addCriterionForJDBCTime("start_time in", values, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotIn(List values) { addCriterionForJDBCTime("start_time not in", values, "startTime"); return (Criteria) this; } public Criteria andStartTimeBetween(Date value1, Date value2) { addCriterionForJDBCTime("start_time between", value1, value2, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotBetween(Date value1, Date value2) { addCriterionForJDBCTime("start_time not between", value1, value2, "startTime"); return (Criteria) this; } public Criteria andEndTimeIsNull() { addCriterion("end_time is null"); return (Criteria) this; } public Criteria andEndTimeIsNotNull() { addCriterion("end_time is not null"); return (Criteria) this; } public Criteria andEndTimeEqualTo(Date value) { addCriterionForJDBCTime("end_time =", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotEqualTo(Date value) { addCriterionForJDBCTime("end_time <>", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeGreaterThan(Date value) { addCriterionForJDBCTime("end_time >", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeGreaterThanOrEqualTo(Date value) { addCriterionForJDBCTime("end_time >=", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeLessThan(Date value) { addCriterionForJDBCTime("end_time <", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeLessThanOrEqualTo(Date value) { addCriterionForJDBCTime("end_time <=", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeIn(List values) { addCriterionForJDBCTime("end_time in", values, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotIn(List values) { addCriterionForJDBCTime("end_time not in", values, "endTime"); return (Criteria) this; } public Criteria andEndTimeBetween(Date value1, Date value2) { addCriterionForJDBCTime("end_time between", value1, value2, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotBetween(Date value1, Date value2) { addCriterionForJDBCTime("end_time not between", value1, value2, "endTime"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeAdvertise.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class SmsHomeAdvertise implements Serializable { private Long id; private String name; @Schema(title = "轮播位置:0->PC首页轮播;1->app首页轮播") private Integer type; private String pic; private Date startTime; private Date endTime; @Schema(title = "上下线状态:0->下线;1->上线") private Integer status; @Schema(title = "点击数") private Integer clickCount; @Schema(title = "下单数") private Integer orderCount; @Schema(title = "链接地址") private String url; @Schema(title = "备注") private String note; @Schema(title = "排序") private Integer sort; private static final long serialVersionUID = 1L; 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 Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public String getPic() { return pic; } public void setPic(String pic) { this.pic = pic; } public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Integer getClickCount() { return clickCount; } public void setClickCount(Integer clickCount) { this.clickCount = clickCount; } public Integer getOrderCount() { return orderCount; } public void setOrderCount(Integer orderCount) { this.orderCount = orderCount; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", name=").append(name); sb.append(", type=").append(type); sb.append(", pic=").append(pic); sb.append(", startTime=").append(startTime); sb.append(", endTime=").append(endTime); sb.append(", status=").append(status); sb.append(", clickCount=").append(clickCount); sb.append(", orderCount=").append(orderCount); sb.append(", url=").append(url); sb.append(", note=").append(note); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeAdvertiseExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class SmsHomeAdvertiseExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsHomeAdvertiseExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andTypeIsNull() { addCriterion("type is null"); return (Criteria) this; } public Criteria andTypeIsNotNull() { addCriterion("type is not null"); return (Criteria) this; } public Criteria andTypeEqualTo(Integer value) { addCriterion("type =", value, "type"); return (Criteria) this; } public Criteria andTypeNotEqualTo(Integer value) { addCriterion("type <>", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThan(Integer value) { addCriterion("type >", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThanOrEqualTo(Integer value) { addCriterion("type >=", value, "type"); return (Criteria) this; } public Criteria andTypeLessThan(Integer value) { addCriterion("type <", value, "type"); return (Criteria) this; } public Criteria andTypeLessThanOrEqualTo(Integer value) { addCriterion("type <=", value, "type"); return (Criteria) this; } public Criteria andTypeIn(List values) { addCriterion("type in", values, "type"); return (Criteria) this; } public Criteria andTypeNotIn(List values) { addCriterion("type not in", values, "type"); return (Criteria) this; } public Criteria andTypeBetween(Integer value1, Integer value2) { addCriterion("type between", value1, value2, "type"); return (Criteria) this; } public Criteria andTypeNotBetween(Integer value1, Integer value2) { addCriterion("type not between", value1, value2, "type"); return (Criteria) this; } public Criteria andPicIsNull() { addCriterion("pic is null"); return (Criteria) this; } public Criteria andPicIsNotNull() { addCriterion("pic is not null"); return (Criteria) this; } public Criteria andPicEqualTo(String value) { addCriterion("pic =", value, "pic"); return (Criteria) this; } public Criteria andPicNotEqualTo(String value) { addCriterion("pic <>", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThan(String value) { addCriterion("pic >", value, "pic"); return (Criteria) this; } public Criteria andPicGreaterThanOrEqualTo(String value) { addCriterion("pic >=", value, "pic"); return (Criteria) this; } public Criteria andPicLessThan(String value) { addCriterion("pic <", value, "pic"); return (Criteria) this; } public Criteria andPicLessThanOrEqualTo(String value) { addCriterion("pic <=", value, "pic"); return (Criteria) this; } public Criteria andPicLike(String value) { addCriterion("pic like", value, "pic"); return (Criteria) this; } public Criteria andPicNotLike(String value) { addCriterion("pic not like", value, "pic"); return (Criteria) this; } public Criteria andPicIn(List values) { addCriterion("pic in", values, "pic"); return (Criteria) this; } public Criteria andPicNotIn(List values) { addCriterion("pic not in", values, "pic"); return (Criteria) this; } public Criteria andPicBetween(String value1, String value2) { addCriterion("pic between", value1, value2, "pic"); return (Criteria) this; } public Criteria andPicNotBetween(String value1, String value2) { addCriterion("pic not between", value1, value2, "pic"); return (Criteria) this; } public Criteria andStartTimeIsNull() { addCriterion("start_time is null"); return (Criteria) this; } public Criteria andStartTimeIsNotNull() { addCriterion("start_time is not null"); return (Criteria) this; } public Criteria andStartTimeEqualTo(Date value) { addCriterion("start_time =", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotEqualTo(Date value) { addCriterion("start_time <>", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeGreaterThan(Date value) { addCriterion("start_time >", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeGreaterThanOrEqualTo(Date value) { addCriterion("start_time >=", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeLessThan(Date value) { addCriterion("start_time <", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeLessThanOrEqualTo(Date value) { addCriterion("start_time <=", value, "startTime"); return (Criteria) this; } public Criteria andStartTimeIn(List values) { addCriterion("start_time in", values, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotIn(List values) { addCriterion("start_time not in", values, "startTime"); return (Criteria) this; } public Criteria andStartTimeBetween(Date value1, Date value2) { addCriterion("start_time between", value1, value2, "startTime"); return (Criteria) this; } public Criteria andStartTimeNotBetween(Date value1, Date value2) { addCriterion("start_time not between", value1, value2, "startTime"); return (Criteria) this; } public Criteria andEndTimeIsNull() { addCriterion("end_time is null"); return (Criteria) this; } public Criteria andEndTimeIsNotNull() { addCriterion("end_time is not null"); return (Criteria) this; } public Criteria andEndTimeEqualTo(Date value) { addCriterion("end_time =", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotEqualTo(Date value) { addCriterion("end_time <>", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeGreaterThan(Date value) { addCriterion("end_time >", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeGreaterThanOrEqualTo(Date value) { addCriterion("end_time >=", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeLessThan(Date value) { addCriterion("end_time <", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeLessThanOrEqualTo(Date value) { addCriterion("end_time <=", value, "endTime"); return (Criteria) this; } public Criteria andEndTimeIn(List values) { addCriterion("end_time in", values, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotIn(List values) { addCriterion("end_time not in", values, "endTime"); return (Criteria) this; } public Criteria andEndTimeBetween(Date value1, Date value2) { addCriterion("end_time between", value1, value2, "endTime"); return (Criteria) this; } public Criteria andEndTimeNotBetween(Date value1, Date value2) { addCriterion("end_time not between", value1, value2, "endTime"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andClickCountIsNull() { addCriterion("click_count is null"); return (Criteria) this; } public Criteria andClickCountIsNotNull() { addCriterion("click_count is not null"); return (Criteria) this; } public Criteria andClickCountEqualTo(Integer value) { addCriterion("click_count =", value, "clickCount"); return (Criteria) this; } public Criteria andClickCountNotEqualTo(Integer value) { addCriterion("click_count <>", value, "clickCount"); return (Criteria) this; } public Criteria andClickCountGreaterThan(Integer value) { addCriterion("click_count >", value, "clickCount"); return (Criteria) this; } public Criteria andClickCountGreaterThanOrEqualTo(Integer value) { addCriterion("click_count >=", value, "clickCount"); return (Criteria) this; } public Criteria andClickCountLessThan(Integer value) { addCriterion("click_count <", value, "clickCount"); return (Criteria) this; } public Criteria andClickCountLessThanOrEqualTo(Integer value) { addCriterion("click_count <=", value, "clickCount"); return (Criteria) this; } public Criteria andClickCountIn(List values) { addCriterion("click_count in", values, "clickCount"); return (Criteria) this; } public Criteria andClickCountNotIn(List values) { addCriterion("click_count not in", values, "clickCount"); return (Criteria) this; } public Criteria andClickCountBetween(Integer value1, Integer value2) { addCriterion("click_count between", value1, value2, "clickCount"); return (Criteria) this; } public Criteria andClickCountNotBetween(Integer value1, Integer value2) { addCriterion("click_count not between", value1, value2, "clickCount"); return (Criteria) this; } public Criteria andOrderCountIsNull() { addCriterion("order_count is null"); return (Criteria) this; } public Criteria andOrderCountIsNotNull() { addCriterion("order_count is not null"); return (Criteria) this; } public Criteria andOrderCountEqualTo(Integer value) { addCriterion("order_count =", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountNotEqualTo(Integer value) { addCriterion("order_count <>", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountGreaterThan(Integer value) { addCriterion("order_count >", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountGreaterThanOrEqualTo(Integer value) { addCriterion("order_count >=", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountLessThan(Integer value) { addCriterion("order_count <", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountLessThanOrEqualTo(Integer value) { addCriterion("order_count <=", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountIn(List values) { addCriterion("order_count in", values, "orderCount"); return (Criteria) this; } public Criteria andOrderCountNotIn(List values) { addCriterion("order_count not in", values, "orderCount"); return (Criteria) this; } public Criteria andOrderCountBetween(Integer value1, Integer value2) { addCriterion("order_count between", value1, value2, "orderCount"); return (Criteria) this; } public Criteria andOrderCountNotBetween(Integer value1, Integer value2) { addCriterion("order_count not between", value1, value2, "orderCount"); return (Criteria) this; } public Criteria andUrlIsNull() { addCriterion("url is null"); return (Criteria) this; } public Criteria andUrlIsNotNull() { addCriterion("url is not null"); return (Criteria) this; } public Criteria andUrlEqualTo(String value) { addCriterion("url =", value, "url"); return (Criteria) this; } public Criteria andUrlNotEqualTo(String value) { addCriterion("url <>", value, "url"); return (Criteria) this; } public Criteria andUrlGreaterThan(String value) { addCriterion("url >", value, "url"); return (Criteria) this; } public Criteria andUrlGreaterThanOrEqualTo(String value) { addCriterion("url >=", value, "url"); return (Criteria) this; } public Criteria andUrlLessThan(String value) { addCriterion("url <", value, "url"); return (Criteria) this; } public Criteria andUrlLessThanOrEqualTo(String value) { addCriterion("url <=", value, "url"); return (Criteria) this; } public Criteria andUrlLike(String value) { addCriterion("url like", value, "url"); return (Criteria) this; } public Criteria andUrlNotLike(String value) { addCriterion("url not like", value, "url"); return (Criteria) this; } public Criteria andUrlIn(List values) { addCriterion("url in", values, "url"); return (Criteria) this; } public Criteria andUrlNotIn(List values) { addCriterion("url not in", values, "url"); return (Criteria) this; } public Criteria andUrlBetween(String value1, String value2) { addCriterion("url between", value1, value2, "url"); return (Criteria) this; } public Criteria andUrlNotBetween(String value1, String value2) { addCriterion("url not between", value1, value2, "url"); return (Criteria) this; } public Criteria andNoteIsNull() { addCriterion("note is null"); return (Criteria) this; } public Criteria andNoteIsNotNull() { addCriterion("note is not null"); return (Criteria) this; } public Criteria andNoteEqualTo(String value) { addCriterion("note =", value, "note"); return (Criteria) this; } public Criteria andNoteNotEqualTo(String value) { addCriterion("note <>", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThan(String value) { addCriterion("note >", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThanOrEqualTo(String value) { addCriterion("note >=", value, "note"); return (Criteria) this; } public Criteria andNoteLessThan(String value) { addCriterion("note <", value, "note"); return (Criteria) this; } public Criteria andNoteLessThanOrEqualTo(String value) { addCriterion("note <=", value, "note"); return (Criteria) this; } public Criteria andNoteLike(String value) { addCriterion("note like", value, "note"); return (Criteria) this; } public Criteria andNoteNotLike(String value) { addCriterion("note not like", value, "note"); return (Criteria) this; } public Criteria andNoteIn(List values) { addCriterion("note in", values, "note"); return (Criteria) this; } public Criteria andNoteNotIn(List values) { addCriterion("note not in", values, "note"); return (Criteria) this; } public Criteria andNoteBetween(String value1, String value2) { addCriterion("note between", value1, value2, "note"); return (Criteria) this; } public Criteria andNoteNotBetween(String value1, String value2) { addCriterion("note not between", value1, value2, "note"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeBrand.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class SmsHomeBrand implements Serializable { private Long id; private Long brandId; private String brandName; private Integer recommendStatus; private Integer sort; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getBrandId() { return brandId; } public void setBrandId(Long brandId) { this.brandId = brandId; } public String getBrandName() { return brandName; } public void setBrandName(String brandName) { this.brandName = brandName; } public Integer getRecommendStatus() { return recommendStatus; } public void setRecommendStatus(Integer recommendStatus) { this.recommendStatus = recommendStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", brandId=").append(brandId); sb.append(", brandName=").append(brandName); sb.append(", recommendStatus=").append(recommendStatus); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeBrandExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class SmsHomeBrandExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsHomeBrandExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andBrandIdIsNull() { addCriterion("brand_id is null"); return (Criteria) this; } public Criteria andBrandIdIsNotNull() { addCriterion("brand_id is not null"); return (Criteria) this; } public Criteria andBrandIdEqualTo(Long value) { addCriterion("brand_id =", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdNotEqualTo(Long value) { addCriterion("brand_id <>", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdGreaterThan(Long value) { addCriterion("brand_id >", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdGreaterThanOrEqualTo(Long value) { addCriterion("brand_id >=", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdLessThan(Long value) { addCriterion("brand_id <", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdLessThanOrEqualTo(Long value) { addCriterion("brand_id <=", value, "brandId"); return (Criteria) this; } public Criteria andBrandIdIn(List values) { addCriterion("brand_id in", values, "brandId"); return (Criteria) this; } public Criteria andBrandIdNotIn(List values) { addCriterion("brand_id not in", values, "brandId"); return (Criteria) this; } public Criteria andBrandIdBetween(Long value1, Long value2) { addCriterion("brand_id between", value1, value2, "brandId"); return (Criteria) this; } public Criteria andBrandIdNotBetween(Long value1, Long value2) { addCriterion("brand_id not between", value1, value2, "brandId"); return (Criteria) this; } public Criteria andBrandNameIsNull() { addCriterion("brand_name is null"); return (Criteria) this; } public Criteria andBrandNameIsNotNull() { addCriterion("brand_name is not null"); return (Criteria) this; } public Criteria andBrandNameEqualTo(String value) { addCriterion("brand_name =", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameNotEqualTo(String value) { addCriterion("brand_name <>", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameGreaterThan(String value) { addCriterion("brand_name >", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameGreaterThanOrEqualTo(String value) { addCriterion("brand_name >=", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameLessThan(String value) { addCriterion("brand_name <", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameLessThanOrEqualTo(String value) { addCriterion("brand_name <=", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameLike(String value) { addCriterion("brand_name like", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameNotLike(String value) { addCriterion("brand_name not like", value, "brandName"); return (Criteria) this; } public Criteria andBrandNameIn(List values) { addCriterion("brand_name in", values, "brandName"); return (Criteria) this; } public Criteria andBrandNameNotIn(List values) { addCriterion("brand_name not in", values, "brandName"); return (Criteria) this; } public Criteria andBrandNameBetween(String value1, String value2) { addCriterion("brand_name between", value1, value2, "brandName"); return (Criteria) this; } public Criteria andBrandNameNotBetween(String value1, String value2) { addCriterion("brand_name not between", value1, value2, "brandName"); return (Criteria) this; } public Criteria andRecommendStatusIsNull() { addCriterion("recommend_status is null"); return (Criteria) this; } public Criteria andRecommendStatusIsNotNull() { addCriterion("recommend_status is not null"); return (Criteria) this; } public Criteria andRecommendStatusEqualTo(Integer value) { addCriterion("recommend_status =", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotEqualTo(Integer value) { addCriterion("recommend_status <>", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThan(Integer value) { addCriterion("recommend_status >", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) { addCriterion("recommend_status >=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThan(Integer value) { addCriterion("recommend_status <", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) { addCriterion("recommend_status <=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusIn(List values) { addCriterion("recommend_status in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotIn(List values) { addCriterion("recommend_status not in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusBetween(Integer value1, Integer value2) { addCriterion("recommend_status between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) { addCriterion("recommend_status not between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeNewProduct.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class SmsHomeNewProduct implements Serializable { private Long id; private Long productId; private String productName; private Integer recommendStatus; private Integer sort; private static final long serialVersionUID = 1L; 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 getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public Integer getRecommendStatus() { return recommendStatus; } public void setRecommendStatus(Integer recommendStatus) { this.recommendStatus = recommendStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", productName=").append(productName); sb.append(", recommendStatus=").append(recommendStatus); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeNewProductExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class SmsHomeNewProductExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsHomeNewProductExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductNameIsNull() { addCriterion("product_name is null"); return (Criteria) this; } public Criteria andProductNameIsNotNull() { addCriterion("product_name is not null"); return (Criteria) this; } public Criteria andProductNameEqualTo(String value) { addCriterion("product_name =", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotEqualTo(String value) { addCriterion("product_name <>", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThan(String value) { addCriterion("product_name >", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThanOrEqualTo(String value) { addCriterion("product_name >=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThan(String value) { addCriterion("product_name <", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThanOrEqualTo(String value) { addCriterion("product_name <=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLike(String value) { addCriterion("product_name like", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotLike(String value) { addCriterion("product_name not like", value, "productName"); return (Criteria) this; } public Criteria andProductNameIn(List values) { addCriterion("product_name in", values, "productName"); return (Criteria) this; } public Criteria andProductNameNotIn(List values) { addCriterion("product_name not in", values, "productName"); return (Criteria) this; } public Criteria andProductNameBetween(String value1, String value2) { addCriterion("product_name between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductNameNotBetween(String value1, String value2) { addCriterion("product_name not between", value1, value2, "productName"); return (Criteria) this; } public Criteria andRecommendStatusIsNull() { addCriterion("recommend_status is null"); return (Criteria) this; } public Criteria andRecommendStatusIsNotNull() { addCriterion("recommend_status is not null"); return (Criteria) this; } public Criteria andRecommendStatusEqualTo(Integer value) { addCriterion("recommend_status =", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotEqualTo(Integer value) { addCriterion("recommend_status <>", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThan(Integer value) { addCriterion("recommend_status >", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) { addCriterion("recommend_status >=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThan(Integer value) { addCriterion("recommend_status <", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) { addCriterion("recommend_status <=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusIn(List values) { addCriterion("recommend_status in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotIn(List values) { addCriterion("recommend_status not in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusBetween(Integer value1, Integer value2) { addCriterion("recommend_status between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) { addCriterion("recommend_status not between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeRecommendProduct.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class SmsHomeRecommendProduct implements Serializable { private Long id; private Long productId; private String productName; private Integer recommendStatus; private Integer sort; private static final long serialVersionUID = 1L; 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 getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public Integer getRecommendStatus() { return recommendStatus; } public void setRecommendStatus(Integer recommendStatus) { this.recommendStatus = recommendStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", productName=").append(productName); sb.append(", recommendStatus=").append(recommendStatus); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeRecommendProductExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class SmsHomeRecommendProductExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsHomeRecommendProductExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andProductIdIsNull() { addCriterion("product_id is null"); return (Criteria) this; } public Criteria andProductIdIsNotNull() { addCriterion("product_id is not null"); return (Criteria) this; } public Criteria andProductIdEqualTo(Long value) { addCriterion("product_id =", value, "productId"); return (Criteria) this; } public Criteria andProductIdNotEqualTo(Long value) { addCriterion("product_id <>", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThan(Long value) { addCriterion("product_id >", value, "productId"); return (Criteria) this; } public Criteria andProductIdGreaterThanOrEqualTo(Long value) { addCriterion("product_id >=", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThan(Long value) { addCriterion("product_id <", value, "productId"); return (Criteria) this; } public Criteria andProductIdLessThanOrEqualTo(Long value) { addCriterion("product_id <=", value, "productId"); return (Criteria) this; } public Criteria andProductIdIn(List values) { addCriterion("product_id in", values, "productId"); return (Criteria) this; } public Criteria andProductIdNotIn(List values) { addCriterion("product_id not in", values, "productId"); return (Criteria) this; } public Criteria andProductIdBetween(Long value1, Long value2) { addCriterion("product_id between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductIdNotBetween(Long value1, Long value2) { addCriterion("product_id not between", value1, value2, "productId"); return (Criteria) this; } public Criteria andProductNameIsNull() { addCriterion("product_name is null"); return (Criteria) this; } public Criteria andProductNameIsNotNull() { addCriterion("product_name is not null"); return (Criteria) this; } public Criteria andProductNameEqualTo(String value) { addCriterion("product_name =", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotEqualTo(String value) { addCriterion("product_name <>", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThan(String value) { addCriterion("product_name >", value, "productName"); return (Criteria) this; } public Criteria andProductNameGreaterThanOrEqualTo(String value) { addCriterion("product_name >=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThan(String value) { addCriterion("product_name <", value, "productName"); return (Criteria) this; } public Criteria andProductNameLessThanOrEqualTo(String value) { addCriterion("product_name <=", value, "productName"); return (Criteria) this; } public Criteria andProductNameLike(String value) { addCriterion("product_name like", value, "productName"); return (Criteria) this; } public Criteria andProductNameNotLike(String value) { addCriterion("product_name not like", value, "productName"); return (Criteria) this; } public Criteria andProductNameIn(List values) { addCriterion("product_name in", values, "productName"); return (Criteria) this; } public Criteria andProductNameNotIn(List values) { addCriterion("product_name not in", values, "productName"); return (Criteria) this; } public Criteria andProductNameBetween(String value1, String value2) { addCriterion("product_name between", value1, value2, "productName"); return (Criteria) this; } public Criteria andProductNameNotBetween(String value1, String value2) { addCriterion("product_name not between", value1, value2, "productName"); return (Criteria) this; } public Criteria andRecommendStatusIsNull() { addCriterion("recommend_status is null"); return (Criteria) this; } public Criteria andRecommendStatusIsNotNull() { addCriterion("recommend_status is not null"); return (Criteria) this; } public Criteria andRecommendStatusEqualTo(Integer value) { addCriterion("recommend_status =", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotEqualTo(Integer value) { addCriterion("recommend_status <>", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThan(Integer value) { addCriterion("recommend_status >", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) { addCriterion("recommend_status >=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThan(Integer value) { addCriterion("recommend_status <", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) { addCriterion("recommend_status <=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusIn(List values) { addCriterion("recommend_status in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotIn(List values) { addCriterion("recommend_status not in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusBetween(Integer value1, Integer value2) { addCriterion("recommend_status between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) { addCriterion("recommend_status not between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeRecommendSubject.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class SmsHomeRecommendSubject implements Serializable { private Long id; private Long subjectId; private String subjectName; private Integer recommendStatus; private Integer sort; private static final long serialVersionUID = 1L; 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 String getSubjectName() { return subjectName; } public void setSubjectName(String subjectName) { this.subjectName = subjectName; } public Integer getRecommendStatus() { return recommendStatus; } public void setRecommendStatus(Integer recommendStatus) { this.recommendStatus = recommendStatus; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", subjectId=").append(subjectId); sb.append(", subjectName=").append(subjectName); sb.append(", recommendStatus=").append(recommendStatus); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/SmsHomeRecommendSubjectExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class SmsHomeRecommendSubjectExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public SmsHomeRecommendSubjectExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andSubjectIdIsNull() { addCriterion("subject_id is null"); return (Criteria) this; } public Criteria andSubjectIdIsNotNull() { addCriterion("subject_id is not null"); return (Criteria) this; } public Criteria andSubjectIdEqualTo(Long value) { addCriterion("subject_id =", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotEqualTo(Long value) { addCriterion("subject_id <>", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdGreaterThan(Long value) { addCriterion("subject_id >", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdGreaterThanOrEqualTo(Long value) { addCriterion("subject_id >=", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdLessThan(Long value) { addCriterion("subject_id <", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdLessThanOrEqualTo(Long value) { addCriterion("subject_id <=", value, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdIn(List values) { addCriterion("subject_id in", values, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotIn(List values) { addCriterion("subject_id not in", values, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdBetween(Long value1, Long value2) { addCriterion("subject_id between", value1, value2, "subjectId"); return (Criteria) this; } public Criteria andSubjectIdNotBetween(Long value1, Long value2) { addCriterion("subject_id not between", value1, value2, "subjectId"); return (Criteria) this; } public Criteria andSubjectNameIsNull() { addCriterion("subject_name is null"); return (Criteria) this; } public Criteria andSubjectNameIsNotNull() { addCriterion("subject_name is not null"); return (Criteria) this; } public Criteria andSubjectNameEqualTo(String value) { addCriterion("subject_name =", value, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameNotEqualTo(String value) { addCriterion("subject_name <>", value, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameGreaterThan(String value) { addCriterion("subject_name >", value, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameGreaterThanOrEqualTo(String value) { addCriterion("subject_name >=", value, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameLessThan(String value) { addCriterion("subject_name <", value, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameLessThanOrEqualTo(String value) { addCriterion("subject_name <=", value, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameLike(String value) { addCriterion("subject_name like", value, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameNotLike(String value) { addCriterion("subject_name not like", value, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameIn(List values) { addCriterion("subject_name in", values, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameNotIn(List values) { addCriterion("subject_name not in", values, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameBetween(String value1, String value2) { addCriterion("subject_name between", value1, value2, "subjectName"); return (Criteria) this; } public Criteria andSubjectNameNotBetween(String value1, String value2) { addCriterion("subject_name not between", value1, value2, "subjectName"); return (Criteria) this; } public Criteria andRecommendStatusIsNull() { addCriterion("recommend_status is null"); return (Criteria) this; } public Criteria andRecommendStatusIsNotNull() { addCriterion("recommend_status is not null"); return (Criteria) this; } public Criteria andRecommendStatusEqualTo(Integer value) { addCriterion("recommend_status =", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotEqualTo(Integer value) { addCriterion("recommend_status <>", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThan(Integer value) { addCriterion("recommend_status >", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusGreaterThanOrEqualTo(Integer value) { addCriterion("recommend_status >=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThan(Integer value) { addCriterion("recommend_status <", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusLessThanOrEqualTo(Integer value) { addCriterion("recommend_status <=", value, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusIn(List values) { addCriterion("recommend_status in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotIn(List values) { addCriterion("recommend_status not in", values, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusBetween(Integer value1, Integer value2) { addCriterion("recommend_status between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andRecommendStatusNotBetween(Integer value1, Integer value2) { addCriterion("recommend_status not between", value1, value2, "recommendStatus"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsAdmin.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsAdmin implements Serializable { private Long id; private String username; private String password; @Schema(title = "头像") private String icon; @Schema(title = "邮箱") private String email; @Schema(title = "昵称") private String nickName; @Schema(title = "备注信息") private String note; @Schema(title = "创建时间") private Date createTime; @Schema(title = "最后登录时间") private Date loginTime; @Schema(title = "帐号启用状态:0->禁用;1->启用") private Integer status; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Date getLoginTime() { return loginTime; } public void setLoginTime(Date loginTime) { this.loginTime = loginTime; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } @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(", username=").append(username); sb.append(", password=").append(password); sb.append(", icon=").append(icon); sb.append(", email=").append(email); sb.append(", nickName=").append(nickName); sb.append(", note=").append(note); sb.append(", createTime=").append(createTime); sb.append(", loginTime=").append(loginTime); sb.append(", status=").append(status); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsAdminExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsAdminExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsAdminExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andUsernameIsNull() { addCriterion("username is null"); return (Criteria) this; } public Criteria andUsernameIsNotNull() { addCriterion("username is not null"); return (Criteria) this; } public Criteria andUsernameEqualTo(String value) { addCriterion("username =", value, "username"); return (Criteria) this; } public Criteria andUsernameNotEqualTo(String value) { addCriterion("username <>", value, "username"); return (Criteria) this; } public Criteria andUsernameGreaterThan(String value) { addCriterion("username >", value, "username"); return (Criteria) this; } public Criteria andUsernameGreaterThanOrEqualTo(String value) { addCriterion("username >=", value, "username"); return (Criteria) this; } public Criteria andUsernameLessThan(String value) { addCriterion("username <", value, "username"); return (Criteria) this; } public Criteria andUsernameLessThanOrEqualTo(String value) { addCriterion("username <=", value, "username"); return (Criteria) this; } public Criteria andUsernameLike(String value) { addCriterion("username like", value, "username"); return (Criteria) this; } public Criteria andUsernameNotLike(String value) { addCriterion("username not like", value, "username"); return (Criteria) this; } public Criteria andUsernameIn(List values) { addCriterion("username in", values, "username"); return (Criteria) this; } public Criteria andUsernameNotIn(List values) { addCriterion("username not in", values, "username"); return (Criteria) this; } public Criteria andUsernameBetween(String value1, String value2) { addCriterion("username between", value1, value2, "username"); return (Criteria) this; } public Criteria andUsernameNotBetween(String value1, String value2) { addCriterion("username not between", value1, value2, "username"); return (Criteria) this; } public Criteria andPasswordIsNull() { addCriterion("password is null"); return (Criteria) this; } public Criteria andPasswordIsNotNull() { addCriterion("password is not null"); return (Criteria) this; } public Criteria andPasswordEqualTo(String value) { addCriterion("password =", value, "password"); return (Criteria) this; } public Criteria andPasswordNotEqualTo(String value) { addCriterion("password <>", value, "password"); return (Criteria) this; } public Criteria andPasswordGreaterThan(String value) { addCriterion("password >", value, "password"); return (Criteria) this; } public Criteria andPasswordGreaterThanOrEqualTo(String value) { addCriterion("password >=", value, "password"); return (Criteria) this; } public Criteria andPasswordLessThan(String value) { addCriterion("password <", value, "password"); return (Criteria) this; } public Criteria andPasswordLessThanOrEqualTo(String value) { addCriterion("password <=", value, "password"); return (Criteria) this; } public Criteria andPasswordLike(String value) { addCriterion("password like", value, "password"); return (Criteria) this; } public Criteria andPasswordNotLike(String value) { addCriterion("password not like", value, "password"); return (Criteria) this; } public Criteria andPasswordIn(List values) { addCriterion("password in", values, "password"); return (Criteria) this; } public Criteria andPasswordNotIn(List values) { addCriterion("password not in", values, "password"); return (Criteria) this; } public Criteria andPasswordBetween(String value1, String value2) { addCriterion("password between", value1, value2, "password"); return (Criteria) this; } public Criteria andPasswordNotBetween(String value1, String value2) { addCriterion("password not between", value1, value2, "password"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andEmailIsNull() { addCriterion("email is null"); return (Criteria) this; } public Criteria andEmailIsNotNull() { addCriterion("email is not null"); return (Criteria) this; } public Criteria andEmailEqualTo(String value) { addCriterion("email =", value, "email"); return (Criteria) this; } public Criteria andEmailNotEqualTo(String value) { addCriterion("email <>", value, "email"); return (Criteria) this; } public Criteria andEmailGreaterThan(String value) { addCriterion("email >", value, "email"); return (Criteria) this; } public Criteria andEmailGreaterThanOrEqualTo(String value) { addCriterion("email >=", value, "email"); return (Criteria) this; } public Criteria andEmailLessThan(String value) { addCriterion("email <", value, "email"); return (Criteria) this; } public Criteria andEmailLessThanOrEqualTo(String value) { addCriterion("email <=", value, "email"); return (Criteria) this; } public Criteria andEmailLike(String value) { addCriterion("email like", value, "email"); return (Criteria) this; } public Criteria andEmailNotLike(String value) { addCriterion("email not like", value, "email"); return (Criteria) this; } public Criteria andEmailIn(List values) { addCriterion("email in", values, "email"); return (Criteria) this; } public Criteria andEmailNotIn(List values) { addCriterion("email not in", values, "email"); return (Criteria) this; } public Criteria andEmailBetween(String value1, String value2) { addCriterion("email between", value1, value2, "email"); return (Criteria) this; } public Criteria andEmailNotBetween(String value1, String value2) { addCriterion("email not between", value1, value2, "email"); return (Criteria) this; } public Criteria andNickNameIsNull() { addCriterion("nick_name is null"); return (Criteria) this; } public Criteria andNickNameIsNotNull() { addCriterion("nick_name is not null"); return (Criteria) this; } public Criteria andNickNameEqualTo(String value) { addCriterion("nick_name =", value, "nickName"); return (Criteria) this; } public Criteria andNickNameNotEqualTo(String value) { addCriterion("nick_name <>", value, "nickName"); return (Criteria) this; } public Criteria andNickNameGreaterThan(String value) { addCriterion("nick_name >", value, "nickName"); return (Criteria) this; } public Criteria andNickNameGreaterThanOrEqualTo(String value) { addCriterion("nick_name >=", value, "nickName"); return (Criteria) this; } public Criteria andNickNameLessThan(String value) { addCriterion("nick_name <", value, "nickName"); return (Criteria) this; } public Criteria andNickNameLessThanOrEqualTo(String value) { addCriterion("nick_name <=", value, "nickName"); return (Criteria) this; } public Criteria andNickNameLike(String value) { addCriterion("nick_name like", value, "nickName"); return (Criteria) this; } public Criteria andNickNameNotLike(String value) { addCriterion("nick_name not like", value, "nickName"); return (Criteria) this; } public Criteria andNickNameIn(List values) { addCriterion("nick_name in", values, "nickName"); return (Criteria) this; } public Criteria andNickNameNotIn(List values) { addCriterion("nick_name not in", values, "nickName"); return (Criteria) this; } public Criteria andNickNameBetween(String value1, String value2) { addCriterion("nick_name between", value1, value2, "nickName"); return (Criteria) this; } public Criteria andNickNameNotBetween(String value1, String value2) { addCriterion("nick_name not between", value1, value2, "nickName"); return (Criteria) this; } public Criteria andNoteIsNull() { addCriterion("note is null"); return (Criteria) this; } public Criteria andNoteIsNotNull() { addCriterion("note is not null"); return (Criteria) this; } public Criteria andNoteEqualTo(String value) { addCriterion("note =", value, "note"); return (Criteria) this; } public Criteria andNoteNotEqualTo(String value) { addCriterion("note <>", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThan(String value) { addCriterion("note >", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThanOrEqualTo(String value) { addCriterion("note >=", value, "note"); return (Criteria) this; } public Criteria andNoteLessThan(String value) { addCriterion("note <", value, "note"); return (Criteria) this; } public Criteria andNoteLessThanOrEqualTo(String value) { addCriterion("note <=", value, "note"); return (Criteria) this; } public Criteria andNoteLike(String value) { addCriterion("note like", value, "note"); return (Criteria) this; } public Criteria andNoteNotLike(String value) { addCriterion("note not like", value, "note"); return (Criteria) this; } public Criteria andNoteIn(List values) { addCriterion("note in", values, "note"); return (Criteria) this; } public Criteria andNoteNotIn(List values) { addCriterion("note not in", values, "note"); return (Criteria) this; } public Criteria andNoteBetween(String value1, String value2) { addCriterion("note between", value1, value2, "note"); return (Criteria) this; } public Criteria andNoteNotBetween(String value1, String value2) { addCriterion("note not between", value1, value2, "note"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andLoginTimeIsNull() { addCriterion("login_time is null"); return (Criteria) this; } public Criteria andLoginTimeIsNotNull() { addCriterion("login_time is not null"); return (Criteria) this; } public Criteria andLoginTimeEqualTo(Date value) { addCriterion("login_time =", value, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeNotEqualTo(Date value) { addCriterion("login_time <>", value, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeGreaterThan(Date value) { addCriterion("login_time >", value, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeGreaterThanOrEqualTo(Date value) { addCriterion("login_time >=", value, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeLessThan(Date value) { addCriterion("login_time <", value, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeLessThanOrEqualTo(Date value) { addCriterion("login_time <=", value, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeIn(List values) { addCriterion("login_time in", values, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeNotIn(List values) { addCriterion("login_time not in", values, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeBetween(Date value1, Date value2) { addCriterion("login_time between", value1, value2, "loginTime"); return (Criteria) this; } public Criteria andLoginTimeNotBetween(Date value1, Date value2) { addCriterion("login_time not between", value1, value2, "loginTime"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsAdminLoginLog.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsAdminLoginLog implements Serializable { private Long id; private Long adminId; private Date createTime; private String ip; private String address; @Schema(title = "浏览器登录类型") private String userAgent; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getAdminId() { return adminId; } public void setAdminId(Long adminId) { this.adminId = adminId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getUserAgent() { return userAgent; } public void setUserAgent(String userAgent) { this.userAgent = userAgent; } @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(", adminId=").append(adminId); sb.append(", createTime=").append(createTime); sb.append(", ip=").append(ip); sb.append(", address=").append(address); sb.append(", userAgent=").append(userAgent); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsAdminLoginLogExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsAdminLoginLogExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsAdminLoginLogExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andAdminIdIsNull() { addCriterion("admin_id is null"); return (Criteria) this; } public Criteria andAdminIdIsNotNull() { addCriterion("admin_id is not null"); return (Criteria) this; } public Criteria andAdminIdEqualTo(Long value) { addCriterion("admin_id =", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotEqualTo(Long value) { addCriterion("admin_id <>", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdGreaterThan(Long value) { addCriterion("admin_id >", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdGreaterThanOrEqualTo(Long value) { addCriterion("admin_id >=", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdLessThan(Long value) { addCriterion("admin_id <", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdLessThanOrEqualTo(Long value) { addCriterion("admin_id <=", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdIn(List values) { addCriterion("admin_id in", values, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotIn(List values) { addCriterion("admin_id not in", values, "adminId"); return (Criteria) this; } public Criteria andAdminIdBetween(Long value1, Long value2) { addCriterion("admin_id between", value1, value2, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotBetween(Long value1, Long value2) { addCriterion("admin_id not between", value1, value2, "adminId"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andIpIsNull() { addCriterion("ip is null"); return (Criteria) this; } public Criteria andIpIsNotNull() { addCriterion("ip is not null"); return (Criteria) this; } public Criteria andIpEqualTo(String value) { addCriterion("ip =", value, "ip"); return (Criteria) this; } public Criteria andIpNotEqualTo(String value) { addCriterion("ip <>", value, "ip"); return (Criteria) this; } public Criteria andIpGreaterThan(String value) { addCriterion("ip >", value, "ip"); return (Criteria) this; } public Criteria andIpGreaterThanOrEqualTo(String value) { addCriterion("ip >=", value, "ip"); return (Criteria) this; } public Criteria andIpLessThan(String value) { addCriterion("ip <", value, "ip"); return (Criteria) this; } public Criteria andIpLessThanOrEqualTo(String value) { addCriterion("ip <=", value, "ip"); return (Criteria) this; } public Criteria andIpLike(String value) { addCriterion("ip like", value, "ip"); return (Criteria) this; } public Criteria andIpNotLike(String value) { addCriterion("ip not like", value, "ip"); return (Criteria) this; } public Criteria andIpIn(List values) { addCriterion("ip in", values, "ip"); return (Criteria) this; } public Criteria andIpNotIn(List values) { addCriterion("ip not in", values, "ip"); return (Criteria) this; } public Criteria andIpBetween(String value1, String value2) { addCriterion("ip between", value1, value2, "ip"); return (Criteria) this; } public Criteria andIpNotBetween(String value1, String value2) { addCriterion("ip not between", value1, value2, "ip"); return (Criteria) this; } public Criteria andAddressIsNull() { addCriterion("address is null"); return (Criteria) this; } public Criteria andAddressIsNotNull() { addCriterion("address is not null"); return (Criteria) this; } public Criteria andAddressEqualTo(String value) { addCriterion("address =", value, "address"); return (Criteria) this; } public Criteria andAddressNotEqualTo(String value) { addCriterion("address <>", value, "address"); return (Criteria) this; } public Criteria andAddressGreaterThan(String value) { addCriterion("address >", value, "address"); return (Criteria) this; } public Criteria andAddressGreaterThanOrEqualTo(String value) { addCriterion("address >=", value, "address"); return (Criteria) this; } public Criteria andAddressLessThan(String value) { addCriterion("address <", value, "address"); return (Criteria) this; } public Criteria andAddressLessThanOrEqualTo(String value) { addCriterion("address <=", value, "address"); return (Criteria) this; } public Criteria andAddressLike(String value) { addCriterion("address like", value, "address"); return (Criteria) this; } public Criteria andAddressNotLike(String value) { addCriterion("address not like", value, "address"); return (Criteria) this; } public Criteria andAddressIn(List values) { addCriterion("address in", values, "address"); return (Criteria) this; } public Criteria andAddressNotIn(List values) { addCriterion("address not in", values, "address"); return (Criteria) this; } public Criteria andAddressBetween(String value1, String value2) { addCriterion("address between", value1, value2, "address"); return (Criteria) this; } public Criteria andAddressNotBetween(String value1, String value2) { addCriterion("address not between", value1, value2, "address"); return (Criteria) this; } public Criteria andUserAgentIsNull() { addCriterion("user_agent is null"); return (Criteria) this; } public Criteria andUserAgentIsNotNull() { addCriterion("user_agent is not null"); return (Criteria) this; } public Criteria andUserAgentEqualTo(String value) { addCriterion("user_agent =", value, "userAgent"); return (Criteria) this; } public Criteria andUserAgentNotEqualTo(String value) { addCriterion("user_agent <>", value, "userAgent"); return (Criteria) this; } public Criteria andUserAgentGreaterThan(String value) { addCriterion("user_agent >", value, "userAgent"); return (Criteria) this; } public Criteria andUserAgentGreaterThanOrEqualTo(String value) { addCriterion("user_agent >=", value, "userAgent"); return (Criteria) this; } public Criteria andUserAgentLessThan(String value) { addCriterion("user_agent <", value, "userAgent"); return (Criteria) this; } public Criteria andUserAgentLessThanOrEqualTo(String value) { addCriterion("user_agent <=", value, "userAgent"); return (Criteria) this; } public Criteria andUserAgentLike(String value) { addCriterion("user_agent like", value, "userAgent"); return (Criteria) this; } public Criteria andUserAgentNotLike(String value) { addCriterion("user_agent not like", value, "userAgent"); return (Criteria) this; } public Criteria andUserAgentIn(List values) { addCriterion("user_agent in", values, "userAgent"); return (Criteria) this; } public Criteria andUserAgentNotIn(List values) { addCriterion("user_agent not in", values, "userAgent"); return (Criteria) this; } public Criteria andUserAgentBetween(String value1, String value2) { addCriterion("user_agent between", value1, value2, "userAgent"); return (Criteria) this; } public Criteria andUserAgentNotBetween(String value1, String value2) { addCriterion("user_agent not between", value1, value2, "userAgent"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsAdminPermissionRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsAdminPermissionRelation implements Serializable { private Long id; private Long adminId; private Long permissionId; private Integer type; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getAdminId() { return adminId; } public void setAdminId(Long adminId) { this.adminId = adminId; } public Long getPermissionId() { return permissionId; } public void setPermissionId(Long permissionId) { this.permissionId = permissionId; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } @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(", adminId=").append(adminId); sb.append(", permissionId=").append(permissionId); sb.append(", type=").append(type); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsAdminPermissionRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsAdminPermissionRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsAdminPermissionRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andAdminIdIsNull() { addCriterion("admin_id is null"); return (Criteria) this; } public Criteria andAdminIdIsNotNull() { addCriterion("admin_id is not null"); return (Criteria) this; } public Criteria andAdminIdEqualTo(Long value) { addCriterion("admin_id =", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotEqualTo(Long value) { addCriterion("admin_id <>", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdGreaterThan(Long value) { addCriterion("admin_id >", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdGreaterThanOrEqualTo(Long value) { addCriterion("admin_id >=", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdLessThan(Long value) { addCriterion("admin_id <", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdLessThanOrEqualTo(Long value) { addCriterion("admin_id <=", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdIn(List values) { addCriterion("admin_id in", values, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotIn(List values) { addCriterion("admin_id not in", values, "adminId"); return (Criteria) this; } public Criteria andAdminIdBetween(Long value1, Long value2) { addCriterion("admin_id between", value1, value2, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotBetween(Long value1, Long value2) { addCriterion("admin_id not between", value1, value2, "adminId"); return (Criteria) this; } public Criteria andPermissionIdIsNull() { addCriterion("permission_id is null"); return (Criteria) this; } public Criteria andPermissionIdIsNotNull() { addCriterion("permission_id is not null"); return (Criteria) this; } public Criteria andPermissionIdEqualTo(Long value) { addCriterion("permission_id =", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdNotEqualTo(Long value) { addCriterion("permission_id <>", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdGreaterThan(Long value) { addCriterion("permission_id >", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdGreaterThanOrEqualTo(Long value) { addCriterion("permission_id >=", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdLessThan(Long value) { addCriterion("permission_id <", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdLessThanOrEqualTo(Long value) { addCriterion("permission_id <=", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdIn(List values) { addCriterion("permission_id in", values, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdNotIn(List values) { addCriterion("permission_id not in", values, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdBetween(Long value1, Long value2) { addCriterion("permission_id between", value1, value2, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdNotBetween(Long value1, Long value2) { addCriterion("permission_id not between", value1, value2, "permissionId"); return (Criteria) this; } public Criteria andTypeIsNull() { addCriterion("type is null"); return (Criteria) this; } public Criteria andTypeIsNotNull() { addCriterion("type is not null"); return (Criteria) this; } public Criteria andTypeEqualTo(Integer value) { addCriterion("type =", value, "type"); return (Criteria) this; } public Criteria andTypeNotEqualTo(Integer value) { addCriterion("type <>", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThan(Integer value) { addCriterion("type >", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThanOrEqualTo(Integer value) { addCriterion("type >=", value, "type"); return (Criteria) this; } public Criteria andTypeLessThan(Integer value) { addCriterion("type <", value, "type"); return (Criteria) this; } public Criteria andTypeLessThanOrEqualTo(Integer value) { addCriterion("type <=", value, "type"); return (Criteria) this; } public Criteria andTypeIn(List values) { addCriterion("type in", values, "type"); return (Criteria) this; } public Criteria andTypeNotIn(List values) { addCriterion("type not in", values, "type"); return (Criteria) this; } public Criteria andTypeBetween(Integer value1, Integer value2) { addCriterion("type between", value1, value2, "type"); return (Criteria) this; } public Criteria andTypeNotBetween(Integer value1, Integer value2) { addCriterion("type not between", value1, value2, "type"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsAdminRoleRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsAdminRoleRelation implements Serializable { private Long id; private Long adminId; private Long roleId; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getAdminId() { return adminId; } public void setAdminId(Long adminId) { this.adminId = adminId; } public Long getRoleId() { return roleId; } public void setRoleId(Long roleId) { this.roleId = roleId; } @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(", adminId=").append(adminId); sb.append(", roleId=").append(roleId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsAdminRoleRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsAdminRoleRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsAdminRoleRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andAdminIdIsNull() { addCriterion("admin_id is null"); return (Criteria) this; } public Criteria andAdminIdIsNotNull() { addCriterion("admin_id is not null"); return (Criteria) this; } public Criteria andAdminIdEqualTo(Long value) { addCriterion("admin_id =", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotEqualTo(Long value) { addCriterion("admin_id <>", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdGreaterThan(Long value) { addCriterion("admin_id >", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdGreaterThanOrEqualTo(Long value) { addCriterion("admin_id >=", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdLessThan(Long value) { addCriterion("admin_id <", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdLessThanOrEqualTo(Long value) { addCriterion("admin_id <=", value, "adminId"); return (Criteria) this; } public Criteria andAdminIdIn(List values) { addCriterion("admin_id in", values, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotIn(List values) { addCriterion("admin_id not in", values, "adminId"); return (Criteria) this; } public Criteria andAdminIdBetween(Long value1, Long value2) { addCriterion("admin_id between", value1, value2, "adminId"); return (Criteria) this; } public Criteria andAdminIdNotBetween(Long value1, Long value2) { addCriterion("admin_id not between", value1, value2, "adminId"); return (Criteria) this; } public Criteria andRoleIdIsNull() { addCriterion("role_id is null"); return (Criteria) this; } public Criteria andRoleIdIsNotNull() { addCriterion("role_id is not null"); return (Criteria) this; } public Criteria andRoleIdEqualTo(Long value) { addCriterion("role_id =", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotEqualTo(Long value) { addCriterion("role_id <>", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdGreaterThan(Long value) { addCriterion("role_id >", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdGreaterThanOrEqualTo(Long value) { addCriterion("role_id >=", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdLessThan(Long value) { addCriterion("role_id <", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdLessThanOrEqualTo(Long value) { addCriterion("role_id <=", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdIn(List values) { addCriterion("role_id in", values, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotIn(List values) { addCriterion("role_id not in", values, "roleId"); return (Criteria) this; } public Criteria andRoleIdBetween(Long value1, Long value2) { addCriterion("role_id between", value1, value2, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotBetween(Long value1, Long value2) { addCriterion("role_id not between", value1, value2, "roleId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsGrowthChangeHistory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsGrowthChangeHistory implements Serializable { private Long id; private Long memberId; private Date createTime; @Schema(title = "改变类型:0->增加;1->减少") private Integer changeType; @Schema(title = "积分改变数量") private Integer changeCount; @Schema(title = "操作人员") private String operateMan; @Schema(title = "操作备注") private String operateNote; @Schema(title = "积分来源:0->购物;1->管理员修改") private Integer sourceType; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Integer getChangeType() { return changeType; } public void setChangeType(Integer changeType) { this.changeType = changeType; } public Integer getChangeCount() { return changeCount; } public void setChangeCount(Integer changeCount) { this.changeCount = changeCount; } public String getOperateMan() { return operateMan; } public void setOperateMan(String operateMan) { this.operateMan = operateMan; } public String getOperateNote() { return operateNote; } public void setOperateNote(String operateNote) { this.operateNote = operateNote; } public Integer getSourceType() { return sourceType; } public void setSourceType(Integer sourceType) { this.sourceType = sourceType; } @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(", memberId=").append(memberId); sb.append(", createTime=").append(createTime); sb.append(", changeType=").append(changeType); sb.append(", changeCount=").append(changeCount); sb.append(", operateMan=").append(operateMan); sb.append(", operateNote=").append(operateNote); sb.append(", sourceType=").append(sourceType); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsGrowthChangeHistoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsGrowthChangeHistoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsGrowthChangeHistoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andChangeTypeIsNull() { addCriterion("change_type is null"); return (Criteria) this; } public Criteria andChangeTypeIsNotNull() { addCriterion("change_type is not null"); return (Criteria) this; } public Criteria andChangeTypeEqualTo(Integer value) { addCriterion("change_type =", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeNotEqualTo(Integer value) { addCriterion("change_type <>", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeGreaterThan(Integer value) { addCriterion("change_type >", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeGreaterThanOrEqualTo(Integer value) { addCriterion("change_type >=", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeLessThan(Integer value) { addCriterion("change_type <", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeLessThanOrEqualTo(Integer value) { addCriterion("change_type <=", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeIn(List values) { addCriterion("change_type in", values, "changeType"); return (Criteria) this; } public Criteria andChangeTypeNotIn(List values) { addCriterion("change_type not in", values, "changeType"); return (Criteria) this; } public Criteria andChangeTypeBetween(Integer value1, Integer value2) { addCriterion("change_type between", value1, value2, "changeType"); return (Criteria) this; } public Criteria andChangeTypeNotBetween(Integer value1, Integer value2) { addCriterion("change_type not between", value1, value2, "changeType"); return (Criteria) this; } public Criteria andChangeCountIsNull() { addCriterion("change_count is null"); return (Criteria) this; } public Criteria andChangeCountIsNotNull() { addCriterion("change_count is not null"); return (Criteria) this; } public Criteria andChangeCountEqualTo(Integer value) { addCriterion("change_count =", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountNotEqualTo(Integer value) { addCriterion("change_count <>", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountGreaterThan(Integer value) { addCriterion("change_count >", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountGreaterThanOrEqualTo(Integer value) { addCriterion("change_count >=", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountLessThan(Integer value) { addCriterion("change_count <", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountLessThanOrEqualTo(Integer value) { addCriterion("change_count <=", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountIn(List values) { addCriterion("change_count in", values, "changeCount"); return (Criteria) this; } public Criteria andChangeCountNotIn(List values) { addCriterion("change_count not in", values, "changeCount"); return (Criteria) this; } public Criteria andChangeCountBetween(Integer value1, Integer value2) { addCriterion("change_count between", value1, value2, "changeCount"); return (Criteria) this; } public Criteria andChangeCountNotBetween(Integer value1, Integer value2) { addCriterion("change_count not between", value1, value2, "changeCount"); return (Criteria) this; } public Criteria andOperateManIsNull() { addCriterion("operate_man is null"); return (Criteria) this; } public Criteria andOperateManIsNotNull() { addCriterion("operate_man is not null"); return (Criteria) this; } public Criteria andOperateManEqualTo(String value) { addCriterion("operate_man =", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotEqualTo(String value) { addCriterion("operate_man <>", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManGreaterThan(String value) { addCriterion("operate_man >", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManGreaterThanOrEqualTo(String value) { addCriterion("operate_man >=", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLessThan(String value) { addCriterion("operate_man <", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLessThanOrEqualTo(String value) { addCriterion("operate_man <=", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLike(String value) { addCriterion("operate_man like", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotLike(String value) { addCriterion("operate_man not like", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManIn(List values) { addCriterion("operate_man in", values, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotIn(List values) { addCriterion("operate_man not in", values, "operateMan"); return (Criteria) this; } public Criteria andOperateManBetween(String value1, String value2) { addCriterion("operate_man between", value1, value2, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotBetween(String value1, String value2) { addCriterion("operate_man not between", value1, value2, "operateMan"); return (Criteria) this; } public Criteria andOperateNoteIsNull() { addCriterion("operate_note is null"); return (Criteria) this; } public Criteria andOperateNoteIsNotNull() { addCriterion("operate_note is not null"); return (Criteria) this; } public Criteria andOperateNoteEqualTo(String value) { addCriterion("operate_note =", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteNotEqualTo(String value) { addCriterion("operate_note <>", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteGreaterThan(String value) { addCriterion("operate_note >", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteGreaterThanOrEqualTo(String value) { addCriterion("operate_note >=", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteLessThan(String value) { addCriterion("operate_note <", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteLessThanOrEqualTo(String value) { addCriterion("operate_note <=", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteLike(String value) { addCriterion("operate_note like", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteNotLike(String value) { addCriterion("operate_note not like", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteIn(List values) { addCriterion("operate_note in", values, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteNotIn(List values) { addCriterion("operate_note not in", values, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteBetween(String value1, String value2) { addCriterion("operate_note between", value1, value2, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteNotBetween(String value1, String value2) { addCriterion("operate_note not between", value1, value2, "operateNote"); return (Criteria) this; } public Criteria andSourceTypeIsNull() { addCriterion("source_type is null"); return (Criteria) this; } public Criteria andSourceTypeIsNotNull() { addCriterion("source_type is not null"); return (Criteria) this; } public Criteria andSourceTypeEqualTo(Integer value) { addCriterion("source_type =", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotEqualTo(Integer value) { addCriterion("source_type <>", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeGreaterThan(Integer value) { addCriterion("source_type >", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) { addCriterion("source_type >=", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeLessThan(Integer value) { addCriterion("source_type <", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeLessThanOrEqualTo(Integer value) { addCriterion("source_type <=", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeIn(List values) { addCriterion("source_type in", values, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotIn(List values) { addCriterion("source_type not in", values, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeBetween(Integer value1, Integer value2) { addCriterion("source_type between", value1, value2, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) { addCriterion("source_type not between", value1, value2, "sourceType"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsIntegrationChangeHistory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsIntegrationChangeHistory implements Serializable { private Long id; private Long memberId; private Date createTime; @Schema(title = "改变类型:0->增加;1->减少") private Integer changeType; @Schema(title = "积分改变数量") private Integer changeCount; @Schema(title = "操作人员") private String operateMan; @Schema(title = "操作备注") private String operateNote; @Schema(title = "积分来源:0->购物;1->管理员修改") private Integer sourceType; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Integer getChangeType() { return changeType; } public void setChangeType(Integer changeType) { this.changeType = changeType; } public Integer getChangeCount() { return changeCount; } public void setChangeCount(Integer changeCount) { this.changeCount = changeCount; } public String getOperateMan() { return operateMan; } public void setOperateMan(String operateMan) { this.operateMan = operateMan; } public String getOperateNote() { return operateNote; } public void setOperateNote(String operateNote) { this.operateNote = operateNote; } public Integer getSourceType() { return sourceType; } public void setSourceType(Integer sourceType) { this.sourceType = sourceType; } @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(", memberId=").append(memberId); sb.append(", createTime=").append(createTime); sb.append(", changeType=").append(changeType); sb.append(", changeCount=").append(changeCount); sb.append(", operateMan=").append(operateMan); sb.append(", operateNote=").append(operateNote); sb.append(", sourceType=").append(sourceType); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsIntegrationChangeHistoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsIntegrationChangeHistoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsIntegrationChangeHistoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andChangeTypeIsNull() { addCriterion("change_type is null"); return (Criteria) this; } public Criteria andChangeTypeIsNotNull() { addCriterion("change_type is not null"); return (Criteria) this; } public Criteria andChangeTypeEqualTo(Integer value) { addCriterion("change_type =", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeNotEqualTo(Integer value) { addCriterion("change_type <>", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeGreaterThan(Integer value) { addCriterion("change_type >", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeGreaterThanOrEqualTo(Integer value) { addCriterion("change_type >=", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeLessThan(Integer value) { addCriterion("change_type <", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeLessThanOrEqualTo(Integer value) { addCriterion("change_type <=", value, "changeType"); return (Criteria) this; } public Criteria andChangeTypeIn(List values) { addCriterion("change_type in", values, "changeType"); return (Criteria) this; } public Criteria andChangeTypeNotIn(List values) { addCriterion("change_type not in", values, "changeType"); return (Criteria) this; } public Criteria andChangeTypeBetween(Integer value1, Integer value2) { addCriterion("change_type between", value1, value2, "changeType"); return (Criteria) this; } public Criteria andChangeTypeNotBetween(Integer value1, Integer value2) { addCriterion("change_type not between", value1, value2, "changeType"); return (Criteria) this; } public Criteria andChangeCountIsNull() { addCriterion("change_count is null"); return (Criteria) this; } public Criteria andChangeCountIsNotNull() { addCriterion("change_count is not null"); return (Criteria) this; } public Criteria andChangeCountEqualTo(Integer value) { addCriterion("change_count =", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountNotEqualTo(Integer value) { addCriterion("change_count <>", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountGreaterThan(Integer value) { addCriterion("change_count >", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountGreaterThanOrEqualTo(Integer value) { addCriterion("change_count >=", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountLessThan(Integer value) { addCriterion("change_count <", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountLessThanOrEqualTo(Integer value) { addCriterion("change_count <=", value, "changeCount"); return (Criteria) this; } public Criteria andChangeCountIn(List values) { addCriterion("change_count in", values, "changeCount"); return (Criteria) this; } public Criteria andChangeCountNotIn(List values) { addCriterion("change_count not in", values, "changeCount"); return (Criteria) this; } public Criteria andChangeCountBetween(Integer value1, Integer value2) { addCriterion("change_count between", value1, value2, "changeCount"); return (Criteria) this; } public Criteria andChangeCountNotBetween(Integer value1, Integer value2) { addCriterion("change_count not between", value1, value2, "changeCount"); return (Criteria) this; } public Criteria andOperateManIsNull() { addCriterion("operate_man is null"); return (Criteria) this; } public Criteria andOperateManIsNotNull() { addCriterion("operate_man is not null"); return (Criteria) this; } public Criteria andOperateManEqualTo(String value) { addCriterion("operate_man =", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotEqualTo(String value) { addCriterion("operate_man <>", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManGreaterThan(String value) { addCriterion("operate_man >", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManGreaterThanOrEqualTo(String value) { addCriterion("operate_man >=", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLessThan(String value) { addCriterion("operate_man <", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLessThanOrEqualTo(String value) { addCriterion("operate_man <=", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManLike(String value) { addCriterion("operate_man like", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotLike(String value) { addCriterion("operate_man not like", value, "operateMan"); return (Criteria) this; } public Criteria andOperateManIn(List values) { addCriterion("operate_man in", values, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotIn(List values) { addCriterion("operate_man not in", values, "operateMan"); return (Criteria) this; } public Criteria andOperateManBetween(String value1, String value2) { addCriterion("operate_man between", value1, value2, "operateMan"); return (Criteria) this; } public Criteria andOperateManNotBetween(String value1, String value2) { addCriterion("operate_man not between", value1, value2, "operateMan"); return (Criteria) this; } public Criteria andOperateNoteIsNull() { addCriterion("operate_note is null"); return (Criteria) this; } public Criteria andOperateNoteIsNotNull() { addCriterion("operate_note is not null"); return (Criteria) this; } public Criteria andOperateNoteEqualTo(String value) { addCriterion("operate_note =", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteNotEqualTo(String value) { addCriterion("operate_note <>", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteGreaterThan(String value) { addCriterion("operate_note >", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteGreaterThanOrEqualTo(String value) { addCriterion("operate_note >=", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteLessThan(String value) { addCriterion("operate_note <", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteLessThanOrEqualTo(String value) { addCriterion("operate_note <=", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteLike(String value) { addCriterion("operate_note like", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteNotLike(String value) { addCriterion("operate_note not like", value, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteIn(List values) { addCriterion("operate_note in", values, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteNotIn(List values) { addCriterion("operate_note not in", values, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteBetween(String value1, String value2) { addCriterion("operate_note between", value1, value2, "operateNote"); return (Criteria) this; } public Criteria andOperateNoteNotBetween(String value1, String value2) { addCriterion("operate_note not between", value1, value2, "operateNote"); return (Criteria) this; } public Criteria andSourceTypeIsNull() { addCriterion("source_type is null"); return (Criteria) this; } public Criteria andSourceTypeIsNotNull() { addCriterion("source_type is not null"); return (Criteria) this; } public Criteria andSourceTypeEqualTo(Integer value) { addCriterion("source_type =", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotEqualTo(Integer value) { addCriterion("source_type <>", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeGreaterThan(Integer value) { addCriterion("source_type >", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) { addCriterion("source_type >=", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeLessThan(Integer value) { addCriterion("source_type <", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeLessThanOrEqualTo(Integer value) { addCriterion("source_type <=", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeIn(List values) { addCriterion("source_type in", values, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotIn(List values) { addCriterion("source_type not in", values, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeBetween(Integer value1, Integer value2) { addCriterion("source_type between", value1, value2, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) { addCriterion("source_type not between", value1, value2, "sourceType"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsIntegrationConsumeSetting.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsIntegrationConsumeSetting implements Serializable { private Long id; @Schema(title = "每一元需要抵扣的积分数量") private Integer deductionPerAmount; @Schema(title = "每笔订单最高抵用百分比") private Integer maxPercentPerOrder; @Schema(title = "每次使用积分最小单位100") private Integer useUnit; @Schema(title = "是否可以和优惠券同用;0->不可以;1->可以") private Integer couponStatus; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getDeductionPerAmount() { return deductionPerAmount; } public void setDeductionPerAmount(Integer deductionPerAmount) { this.deductionPerAmount = deductionPerAmount; } public Integer getMaxPercentPerOrder() { return maxPercentPerOrder; } public void setMaxPercentPerOrder(Integer maxPercentPerOrder) { this.maxPercentPerOrder = maxPercentPerOrder; } public Integer getUseUnit() { return useUnit; } public void setUseUnit(Integer useUnit) { this.useUnit = useUnit; } public Integer getCouponStatus() { return couponStatus; } public void setCouponStatus(Integer couponStatus) { this.couponStatus = couponStatus; } @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(", deductionPerAmount=").append(deductionPerAmount); sb.append(", maxPercentPerOrder=").append(maxPercentPerOrder); sb.append(", useUnit=").append(useUnit); sb.append(", couponStatus=").append(couponStatus); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsIntegrationConsumeSettingExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsIntegrationConsumeSettingExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsIntegrationConsumeSettingExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andDeductionPerAmountIsNull() { addCriterion("deduction_per_amount is null"); return (Criteria) this; } public Criteria andDeductionPerAmountIsNotNull() { addCriterion("deduction_per_amount is not null"); return (Criteria) this; } public Criteria andDeductionPerAmountEqualTo(Integer value) { addCriterion("deduction_per_amount =", value, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountNotEqualTo(Integer value) { addCriterion("deduction_per_amount <>", value, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountGreaterThan(Integer value) { addCriterion("deduction_per_amount >", value, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountGreaterThanOrEqualTo(Integer value) { addCriterion("deduction_per_amount >=", value, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountLessThan(Integer value) { addCriterion("deduction_per_amount <", value, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountLessThanOrEqualTo(Integer value) { addCriterion("deduction_per_amount <=", value, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountIn(List values) { addCriterion("deduction_per_amount in", values, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountNotIn(List values) { addCriterion("deduction_per_amount not in", values, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountBetween(Integer value1, Integer value2) { addCriterion("deduction_per_amount between", value1, value2, "deductionPerAmount"); return (Criteria) this; } public Criteria andDeductionPerAmountNotBetween(Integer value1, Integer value2) { addCriterion("deduction_per_amount not between", value1, value2, "deductionPerAmount"); return (Criteria) this; } public Criteria andMaxPercentPerOrderIsNull() { addCriterion("max_percent_per_order is null"); return (Criteria) this; } public Criteria andMaxPercentPerOrderIsNotNull() { addCriterion("max_percent_per_order is not null"); return (Criteria) this; } public Criteria andMaxPercentPerOrderEqualTo(Integer value) { addCriterion("max_percent_per_order =", value, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderNotEqualTo(Integer value) { addCriterion("max_percent_per_order <>", value, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderGreaterThan(Integer value) { addCriterion("max_percent_per_order >", value, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderGreaterThanOrEqualTo(Integer value) { addCriterion("max_percent_per_order >=", value, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderLessThan(Integer value) { addCriterion("max_percent_per_order <", value, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderLessThanOrEqualTo(Integer value) { addCriterion("max_percent_per_order <=", value, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderIn(List values) { addCriterion("max_percent_per_order in", values, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderNotIn(List values) { addCriterion("max_percent_per_order not in", values, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderBetween(Integer value1, Integer value2) { addCriterion("max_percent_per_order between", value1, value2, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andMaxPercentPerOrderNotBetween(Integer value1, Integer value2) { addCriterion("max_percent_per_order not between", value1, value2, "maxPercentPerOrder"); return (Criteria) this; } public Criteria andUseUnitIsNull() { addCriterion("use_unit is null"); return (Criteria) this; } public Criteria andUseUnitIsNotNull() { addCriterion("use_unit is not null"); return (Criteria) this; } public Criteria andUseUnitEqualTo(Integer value) { addCriterion("use_unit =", value, "useUnit"); return (Criteria) this; } public Criteria andUseUnitNotEqualTo(Integer value) { addCriterion("use_unit <>", value, "useUnit"); return (Criteria) this; } public Criteria andUseUnitGreaterThan(Integer value) { addCriterion("use_unit >", value, "useUnit"); return (Criteria) this; } public Criteria andUseUnitGreaterThanOrEqualTo(Integer value) { addCriterion("use_unit >=", value, "useUnit"); return (Criteria) this; } public Criteria andUseUnitLessThan(Integer value) { addCriterion("use_unit <", value, "useUnit"); return (Criteria) this; } public Criteria andUseUnitLessThanOrEqualTo(Integer value) { addCriterion("use_unit <=", value, "useUnit"); return (Criteria) this; } public Criteria andUseUnitIn(List values) { addCriterion("use_unit in", values, "useUnit"); return (Criteria) this; } public Criteria andUseUnitNotIn(List values) { addCriterion("use_unit not in", values, "useUnit"); return (Criteria) this; } public Criteria andUseUnitBetween(Integer value1, Integer value2) { addCriterion("use_unit between", value1, value2, "useUnit"); return (Criteria) this; } public Criteria andUseUnitNotBetween(Integer value1, Integer value2) { addCriterion("use_unit not between", value1, value2, "useUnit"); return (Criteria) this; } public Criteria andCouponStatusIsNull() { addCriterion("coupon_status is null"); return (Criteria) this; } public Criteria andCouponStatusIsNotNull() { addCriterion("coupon_status is not null"); return (Criteria) this; } public Criteria andCouponStatusEqualTo(Integer value) { addCriterion("coupon_status =", value, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusNotEqualTo(Integer value) { addCriterion("coupon_status <>", value, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusGreaterThan(Integer value) { addCriterion("coupon_status >", value, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusGreaterThanOrEqualTo(Integer value) { addCriterion("coupon_status >=", value, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusLessThan(Integer value) { addCriterion("coupon_status <", value, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusLessThanOrEqualTo(Integer value) { addCriterion("coupon_status <=", value, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusIn(List values) { addCriterion("coupon_status in", values, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusNotIn(List values) { addCriterion("coupon_status not in", values, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusBetween(Integer value1, Integer value2) { addCriterion("coupon_status between", value1, value2, "couponStatus"); return (Criteria) this; } public Criteria andCouponStatusNotBetween(Integer value1, Integer value2) { addCriterion("coupon_status not between", value1, value2, "couponStatus"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMember.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsMember implements Serializable { private Long id; private Long memberLevelId; @Schema(title = "用户名") private String username; @Schema(title = "密码") private String password; @Schema(title = "昵称") private String nickname; @Schema(title = "手机号码") private String phone; @Schema(title = "帐号启用状态:0->禁用;1->启用") private Integer status; @Schema(title = "注册时间") private Date createTime; @Schema(title = "头像") private String icon; @Schema(title = "性别:0->未知;1->男;2->女") private Integer gender; @Schema(title = "生日") private Date birthday; @Schema(title = "所做城市") private String city; @Schema(title = "职业") private String job; @Schema(title = "个性签名") private String personalizedSignature; @Schema(title = "用户来源") private Integer sourceType; @Schema(title = "积分") private Integer integration; @Schema(title = "成长值") private Integer growth; @Schema(title = "剩余抽奖次数") private Integer luckeyCount; @Schema(title = "历史积分数量") private Integer historyIntegration; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberLevelId() { return memberLevelId; } public void setMemberLevelId(Long memberLevelId) { this.memberLevelId = memberLevelId; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getNickname() { return nickname; } public void setNickname(String nickname) { this.nickname = nickname; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public Integer getGender() { return gender; } public void setGender(Integer gender) { this.gender = gender; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public String getPersonalizedSignature() { return personalizedSignature; } public void setPersonalizedSignature(String personalizedSignature) { this.personalizedSignature = personalizedSignature; } public Integer getSourceType() { return sourceType; } public void setSourceType(Integer sourceType) { this.sourceType = sourceType; } public Integer getIntegration() { return integration; } public void setIntegration(Integer integration) { this.integration = integration; } public Integer getGrowth() { return growth; } public void setGrowth(Integer growth) { this.growth = growth; } public Integer getLuckeyCount() { return luckeyCount; } public void setLuckeyCount(Integer luckeyCount) { this.luckeyCount = luckeyCount; } public Integer getHistoryIntegration() { return historyIntegration; } public void setHistoryIntegration(Integer historyIntegration) { this.historyIntegration = historyIntegration; } @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(", memberLevelId=").append(memberLevelId); sb.append(", username=").append(username); sb.append(", password=").append(password); sb.append(", nickname=").append(nickname); sb.append(", phone=").append(phone); sb.append(", status=").append(status); sb.append(", createTime=").append(createTime); sb.append(", icon=").append(icon); sb.append(", gender=").append(gender); sb.append(", birthday=").append(birthday); sb.append(", city=").append(city); sb.append(", job=").append(job); sb.append(", personalizedSignature=").append(personalizedSignature); sb.append(", sourceType=").append(sourceType); sb.append(", integration=").append(integration); sb.append(", growth=").append(growth); sb.append(", luckeyCount=").append(luckeyCount); sb.append(", historyIntegration=").append(historyIntegration); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; public class UmsMemberExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } protected void addCriterionForJDBCDate(String condition, Date value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } addCriterion(condition, new java.sql.Date(value.getTime()), property); } protected void addCriterionForJDBCDate(String condition, List values, String property) { if (values == null || values.size() == 0) { throw new RuntimeException("Value list for " + property + " cannot be null or empty"); } List dateList = new ArrayList<>(); Iterator iter = values.iterator(); while (iter.hasNext()) { dateList.add(new java.sql.Date(iter.next().getTime())); } addCriterion(condition, dateList, property); } protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberLevelIdIsNull() { addCriterion("member_level_id is null"); return (Criteria) this; } public Criteria andMemberLevelIdIsNotNull() { addCriterion("member_level_id is not null"); return (Criteria) this; } public Criteria andMemberLevelIdEqualTo(Long value) { addCriterion("member_level_id =", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdNotEqualTo(Long value) { addCriterion("member_level_id <>", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdGreaterThan(Long value) { addCriterion("member_level_id >", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdGreaterThanOrEqualTo(Long value) { addCriterion("member_level_id >=", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdLessThan(Long value) { addCriterion("member_level_id <", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdLessThanOrEqualTo(Long value) { addCriterion("member_level_id <=", value, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdIn(List values) { addCriterion("member_level_id in", values, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdNotIn(List values) { addCriterion("member_level_id not in", values, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdBetween(Long value1, Long value2) { addCriterion("member_level_id between", value1, value2, "memberLevelId"); return (Criteria) this; } public Criteria andMemberLevelIdNotBetween(Long value1, Long value2) { addCriterion("member_level_id not between", value1, value2, "memberLevelId"); return (Criteria) this; } public Criteria andUsernameIsNull() { addCriterion("username is null"); return (Criteria) this; } public Criteria andUsernameIsNotNull() { addCriterion("username is not null"); return (Criteria) this; } public Criteria andUsernameEqualTo(String value) { addCriterion("username =", value, "username"); return (Criteria) this; } public Criteria andUsernameNotEqualTo(String value) { addCriterion("username <>", value, "username"); return (Criteria) this; } public Criteria andUsernameGreaterThan(String value) { addCriterion("username >", value, "username"); return (Criteria) this; } public Criteria andUsernameGreaterThanOrEqualTo(String value) { addCriterion("username >=", value, "username"); return (Criteria) this; } public Criteria andUsernameLessThan(String value) { addCriterion("username <", value, "username"); return (Criteria) this; } public Criteria andUsernameLessThanOrEqualTo(String value) { addCriterion("username <=", value, "username"); return (Criteria) this; } public Criteria andUsernameLike(String value) { addCriterion("username like", value, "username"); return (Criteria) this; } public Criteria andUsernameNotLike(String value) { addCriterion("username not like", value, "username"); return (Criteria) this; } public Criteria andUsernameIn(List values) { addCriterion("username in", values, "username"); return (Criteria) this; } public Criteria andUsernameNotIn(List values) { addCriterion("username not in", values, "username"); return (Criteria) this; } public Criteria andUsernameBetween(String value1, String value2) { addCriterion("username between", value1, value2, "username"); return (Criteria) this; } public Criteria andUsernameNotBetween(String value1, String value2) { addCriterion("username not between", value1, value2, "username"); return (Criteria) this; } public Criteria andPasswordIsNull() { addCriterion("password is null"); return (Criteria) this; } public Criteria andPasswordIsNotNull() { addCriterion("password is not null"); return (Criteria) this; } public Criteria andPasswordEqualTo(String value) { addCriterion("password =", value, "password"); return (Criteria) this; } public Criteria andPasswordNotEqualTo(String value) { addCriterion("password <>", value, "password"); return (Criteria) this; } public Criteria andPasswordGreaterThan(String value) { addCriterion("password >", value, "password"); return (Criteria) this; } public Criteria andPasswordGreaterThanOrEqualTo(String value) { addCriterion("password >=", value, "password"); return (Criteria) this; } public Criteria andPasswordLessThan(String value) { addCriterion("password <", value, "password"); return (Criteria) this; } public Criteria andPasswordLessThanOrEqualTo(String value) { addCriterion("password <=", value, "password"); return (Criteria) this; } public Criteria andPasswordLike(String value) { addCriterion("password like", value, "password"); return (Criteria) this; } public Criteria andPasswordNotLike(String value) { addCriterion("password not like", value, "password"); return (Criteria) this; } public Criteria andPasswordIn(List values) { addCriterion("password in", values, "password"); return (Criteria) this; } public Criteria andPasswordNotIn(List values) { addCriterion("password not in", values, "password"); return (Criteria) this; } public Criteria andPasswordBetween(String value1, String value2) { addCriterion("password between", value1, value2, "password"); return (Criteria) this; } public Criteria andPasswordNotBetween(String value1, String value2) { addCriterion("password not between", value1, value2, "password"); return (Criteria) this; } public Criteria andNicknameIsNull() { addCriterion("nickname is null"); return (Criteria) this; } public Criteria andNicknameIsNotNull() { addCriterion("nickname is not null"); return (Criteria) this; } public Criteria andNicknameEqualTo(String value) { addCriterion("nickname =", value, "nickname"); return (Criteria) this; } public Criteria andNicknameNotEqualTo(String value) { addCriterion("nickname <>", value, "nickname"); return (Criteria) this; } public Criteria andNicknameGreaterThan(String value) { addCriterion("nickname >", value, "nickname"); return (Criteria) this; } public Criteria andNicknameGreaterThanOrEqualTo(String value) { addCriterion("nickname >=", value, "nickname"); return (Criteria) this; } public Criteria andNicknameLessThan(String value) { addCriterion("nickname <", value, "nickname"); return (Criteria) this; } public Criteria andNicknameLessThanOrEqualTo(String value) { addCriterion("nickname <=", value, "nickname"); return (Criteria) this; } public Criteria andNicknameLike(String value) { addCriterion("nickname like", value, "nickname"); return (Criteria) this; } public Criteria andNicknameNotLike(String value) { addCriterion("nickname not like", value, "nickname"); return (Criteria) this; } public Criteria andNicknameIn(List values) { addCriterion("nickname in", values, "nickname"); return (Criteria) this; } public Criteria andNicknameNotIn(List values) { addCriterion("nickname not in", values, "nickname"); return (Criteria) this; } public Criteria andNicknameBetween(String value1, String value2) { addCriterion("nickname between", value1, value2, "nickname"); return (Criteria) this; } public Criteria andNicknameNotBetween(String value1, String value2) { addCriterion("nickname not between", value1, value2, "nickname"); return (Criteria) this; } public Criteria andPhoneIsNull() { addCriterion("phone is null"); return (Criteria) this; } public Criteria andPhoneIsNotNull() { addCriterion("phone is not null"); return (Criteria) this; } public Criteria andPhoneEqualTo(String value) { addCriterion("phone =", value, "phone"); return (Criteria) this; } public Criteria andPhoneNotEqualTo(String value) { addCriterion("phone <>", value, "phone"); return (Criteria) this; } public Criteria andPhoneGreaterThan(String value) { addCriterion("phone >", value, "phone"); return (Criteria) this; } public Criteria andPhoneGreaterThanOrEqualTo(String value) { addCriterion("phone >=", value, "phone"); return (Criteria) this; } public Criteria andPhoneLessThan(String value) { addCriterion("phone <", value, "phone"); return (Criteria) this; } public Criteria andPhoneLessThanOrEqualTo(String value) { addCriterion("phone <=", value, "phone"); return (Criteria) this; } public Criteria andPhoneLike(String value) { addCriterion("phone like", value, "phone"); return (Criteria) this; } public Criteria andPhoneNotLike(String value) { addCriterion("phone not like", value, "phone"); return (Criteria) this; } public Criteria andPhoneIn(List values) { addCriterion("phone in", values, "phone"); return (Criteria) this; } public Criteria andPhoneNotIn(List values) { addCriterion("phone not in", values, "phone"); return (Criteria) this; } public Criteria andPhoneBetween(String value1, String value2) { addCriterion("phone between", value1, value2, "phone"); return (Criteria) this; } public Criteria andPhoneNotBetween(String value1, String value2) { addCriterion("phone not between", value1, value2, "phone"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andGenderIsNull() { addCriterion("gender is null"); return (Criteria) this; } public Criteria andGenderIsNotNull() { addCriterion("gender is not null"); return (Criteria) this; } public Criteria andGenderEqualTo(Integer value) { addCriterion("gender =", value, "gender"); return (Criteria) this; } public Criteria andGenderNotEqualTo(Integer value) { addCriterion("gender <>", value, "gender"); return (Criteria) this; } public Criteria andGenderGreaterThan(Integer value) { addCriterion("gender >", value, "gender"); return (Criteria) this; } public Criteria andGenderGreaterThanOrEqualTo(Integer value) { addCriterion("gender >=", value, "gender"); return (Criteria) this; } public Criteria andGenderLessThan(Integer value) { addCriterion("gender <", value, "gender"); return (Criteria) this; } public Criteria andGenderLessThanOrEqualTo(Integer value) { addCriterion("gender <=", value, "gender"); return (Criteria) this; } public Criteria andGenderIn(List values) { addCriterion("gender in", values, "gender"); return (Criteria) this; } public Criteria andGenderNotIn(List values) { addCriterion("gender not in", values, "gender"); return (Criteria) this; } public Criteria andGenderBetween(Integer value1, Integer value2) { addCriterion("gender between", value1, value2, "gender"); return (Criteria) this; } public Criteria andGenderNotBetween(Integer value1, Integer value2) { addCriterion("gender not between", value1, value2, "gender"); return (Criteria) this; } public Criteria andBirthdayIsNull() { addCriterion("birthday is null"); return (Criteria) this; } public Criteria andBirthdayIsNotNull() { addCriterion("birthday is not null"); return (Criteria) this; } public Criteria andBirthdayEqualTo(Date value) { addCriterionForJDBCDate("birthday =", value, "birthday"); return (Criteria) this; } public Criteria andBirthdayNotEqualTo(Date value) { addCriterionForJDBCDate("birthday <>", value, "birthday"); return (Criteria) this; } public Criteria andBirthdayGreaterThan(Date value) { addCriterionForJDBCDate("birthday >", value, "birthday"); return (Criteria) this; } public Criteria andBirthdayGreaterThanOrEqualTo(Date value) { addCriterionForJDBCDate("birthday >=", value, "birthday"); return (Criteria) this; } public Criteria andBirthdayLessThan(Date value) { addCriterionForJDBCDate("birthday <", value, "birthday"); return (Criteria) this; } public Criteria andBirthdayLessThanOrEqualTo(Date value) { addCriterionForJDBCDate("birthday <=", value, "birthday"); return (Criteria) this; } public Criteria andBirthdayIn(List values) { addCriterionForJDBCDate("birthday in", values, "birthday"); return (Criteria) this; } public Criteria andBirthdayNotIn(List values) { addCriterionForJDBCDate("birthday not in", values, "birthday"); return (Criteria) this; } public Criteria andBirthdayBetween(Date value1, Date value2) { addCriterionForJDBCDate("birthday between", value1, value2, "birthday"); return (Criteria) this; } public Criteria andBirthdayNotBetween(Date value1, Date value2) { addCriterionForJDBCDate("birthday not between", value1, value2, "birthday"); return (Criteria) this; } public Criteria andCityIsNull() { addCriterion("city is null"); return (Criteria) this; } public Criteria andCityIsNotNull() { addCriterion("city is not null"); return (Criteria) this; } public Criteria andCityEqualTo(String value) { addCriterion("city =", value, "city"); return (Criteria) this; } public Criteria andCityNotEqualTo(String value) { addCriterion("city <>", value, "city"); return (Criteria) this; } public Criteria andCityGreaterThan(String value) { addCriterion("city >", value, "city"); return (Criteria) this; } public Criteria andCityGreaterThanOrEqualTo(String value) { addCriterion("city >=", value, "city"); return (Criteria) this; } public Criteria andCityLessThan(String value) { addCriterion("city <", value, "city"); return (Criteria) this; } public Criteria andCityLessThanOrEqualTo(String value) { addCriterion("city <=", value, "city"); return (Criteria) this; } public Criteria andCityLike(String value) { addCriterion("city like", value, "city"); return (Criteria) this; } public Criteria andCityNotLike(String value) { addCriterion("city not like", value, "city"); return (Criteria) this; } public Criteria andCityIn(List values) { addCriterion("city in", values, "city"); return (Criteria) this; } public Criteria andCityNotIn(List values) { addCriterion("city not in", values, "city"); return (Criteria) this; } public Criteria andCityBetween(String value1, String value2) { addCriterion("city between", value1, value2, "city"); return (Criteria) this; } public Criteria andCityNotBetween(String value1, String value2) { addCriterion("city not between", value1, value2, "city"); return (Criteria) this; } public Criteria andJobIsNull() { addCriterion("job is null"); return (Criteria) this; } public Criteria andJobIsNotNull() { addCriterion("job is not null"); return (Criteria) this; } public Criteria andJobEqualTo(String value) { addCriterion("job =", value, "job"); return (Criteria) this; } public Criteria andJobNotEqualTo(String value) { addCriterion("job <>", value, "job"); return (Criteria) this; } public Criteria andJobGreaterThan(String value) { addCriterion("job >", value, "job"); return (Criteria) this; } public Criteria andJobGreaterThanOrEqualTo(String value) { addCriterion("job >=", value, "job"); return (Criteria) this; } public Criteria andJobLessThan(String value) { addCriterion("job <", value, "job"); return (Criteria) this; } public Criteria andJobLessThanOrEqualTo(String value) { addCriterion("job <=", value, "job"); return (Criteria) this; } public Criteria andJobLike(String value) { addCriterion("job like", value, "job"); return (Criteria) this; } public Criteria andJobNotLike(String value) { addCriterion("job not like", value, "job"); return (Criteria) this; } public Criteria andJobIn(List values) { addCriterion("job in", values, "job"); return (Criteria) this; } public Criteria andJobNotIn(List values) { addCriterion("job not in", values, "job"); return (Criteria) this; } public Criteria andJobBetween(String value1, String value2) { addCriterion("job between", value1, value2, "job"); return (Criteria) this; } public Criteria andJobNotBetween(String value1, String value2) { addCriterion("job not between", value1, value2, "job"); return (Criteria) this; } public Criteria andPersonalizedSignatureIsNull() { addCriterion("personalized_signature is null"); return (Criteria) this; } public Criteria andPersonalizedSignatureIsNotNull() { addCriterion("personalized_signature is not null"); return (Criteria) this; } public Criteria andPersonalizedSignatureEqualTo(String value) { addCriterion("personalized_signature =", value, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureNotEqualTo(String value) { addCriterion("personalized_signature <>", value, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureGreaterThan(String value) { addCriterion("personalized_signature >", value, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureGreaterThanOrEqualTo(String value) { addCriterion("personalized_signature >=", value, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureLessThan(String value) { addCriterion("personalized_signature <", value, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureLessThanOrEqualTo(String value) { addCriterion("personalized_signature <=", value, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureLike(String value) { addCriterion("personalized_signature like", value, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureNotLike(String value) { addCriterion("personalized_signature not like", value, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureIn(List values) { addCriterion("personalized_signature in", values, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureNotIn(List values) { addCriterion("personalized_signature not in", values, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureBetween(String value1, String value2) { addCriterion("personalized_signature between", value1, value2, "personalizedSignature"); return (Criteria) this; } public Criteria andPersonalizedSignatureNotBetween(String value1, String value2) { addCriterion("personalized_signature not between", value1, value2, "personalizedSignature"); return (Criteria) this; } public Criteria andSourceTypeIsNull() { addCriterion("source_type is null"); return (Criteria) this; } public Criteria andSourceTypeIsNotNull() { addCriterion("source_type is not null"); return (Criteria) this; } public Criteria andSourceTypeEqualTo(Integer value) { addCriterion("source_type =", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotEqualTo(Integer value) { addCriterion("source_type <>", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeGreaterThan(Integer value) { addCriterion("source_type >", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeGreaterThanOrEqualTo(Integer value) { addCriterion("source_type >=", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeLessThan(Integer value) { addCriterion("source_type <", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeLessThanOrEqualTo(Integer value) { addCriterion("source_type <=", value, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeIn(List values) { addCriterion("source_type in", values, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotIn(List values) { addCriterion("source_type not in", values, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeBetween(Integer value1, Integer value2) { addCriterion("source_type between", value1, value2, "sourceType"); return (Criteria) this; } public Criteria andSourceTypeNotBetween(Integer value1, Integer value2) { addCriterion("source_type not between", value1, value2, "sourceType"); return (Criteria) this; } public Criteria andIntegrationIsNull() { addCriterion("integration is null"); return (Criteria) this; } public Criteria andIntegrationIsNotNull() { addCriterion("integration is not null"); return (Criteria) this; } public Criteria andIntegrationEqualTo(Integer value) { addCriterion("integration =", value, "integration"); return (Criteria) this; } public Criteria andIntegrationNotEqualTo(Integer value) { addCriterion("integration <>", value, "integration"); return (Criteria) this; } public Criteria andIntegrationGreaterThan(Integer value) { addCriterion("integration >", value, "integration"); return (Criteria) this; } public Criteria andIntegrationGreaterThanOrEqualTo(Integer value) { addCriterion("integration >=", value, "integration"); return (Criteria) this; } public Criteria andIntegrationLessThan(Integer value) { addCriterion("integration <", value, "integration"); return (Criteria) this; } public Criteria andIntegrationLessThanOrEqualTo(Integer value) { addCriterion("integration <=", value, "integration"); return (Criteria) this; } public Criteria andIntegrationIn(List values) { addCriterion("integration in", values, "integration"); return (Criteria) this; } public Criteria andIntegrationNotIn(List values) { addCriterion("integration not in", values, "integration"); return (Criteria) this; } public Criteria andIntegrationBetween(Integer value1, Integer value2) { addCriterion("integration between", value1, value2, "integration"); return (Criteria) this; } public Criteria andIntegrationNotBetween(Integer value1, Integer value2) { addCriterion("integration not between", value1, value2, "integration"); return (Criteria) this; } public Criteria andGrowthIsNull() { addCriterion("growth is null"); return (Criteria) this; } public Criteria andGrowthIsNotNull() { addCriterion("growth is not null"); return (Criteria) this; } public Criteria andGrowthEqualTo(Integer value) { addCriterion("growth =", value, "growth"); return (Criteria) this; } public Criteria andGrowthNotEqualTo(Integer value) { addCriterion("growth <>", value, "growth"); return (Criteria) this; } public Criteria andGrowthGreaterThan(Integer value) { addCriterion("growth >", value, "growth"); return (Criteria) this; } public Criteria andGrowthGreaterThanOrEqualTo(Integer value) { addCriterion("growth >=", value, "growth"); return (Criteria) this; } public Criteria andGrowthLessThan(Integer value) { addCriterion("growth <", value, "growth"); return (Criteria) this; } public Criteria andGrowthLessThanOrEqualTo(Integer value) { addCriterion("growth <=", value, "growth"); return (Criteria) this; } public Criteria andGrowthIn(List values) { addCriterion("growth in", values, "growth"); return (Criteria) this; } public Criteria andGrowthNotIn(List values) { addCriterion("growth not in", values, "growth"); return (Criteria) this; } public Criteria andGrowthBetween(Integer value1, Integer value2) { addCriterion("growth between", value1, value2, "growth"); return (Criteria) this; } public Criteria andGrowthNotBetween(Integer value1, Integer value2) { addCriterion("growth not between", value1, value2, "growth"); return (Criteria) this; } public Criteria andLuckeyCountIsNull() { addCriterion("luckey_count is null"); return (Criteria) this; } public Criteria andLuckeyCountIsNotNull() { addCriterion("luckey_count is not null"); return (Criteria) this; } public Criteria andLuckeyCountEqualTo(Integer value) { addCriterion("luckey_count =", value, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountNotEqualTo(Integer value) { addCriterion("luckey_count <>", value, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountGreaterThan(Integer value) { addCriterion("luckey_count >", value, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountGreaterThanOrEqualTo(Integer value) { addCriterion("luckey_count >=", value, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountLessThan(Integer value) { addCriterion("luckey_count <", value, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountLessThanOrEqualTo(Integer value) { addCriterion("luckey_count <=", value, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountIn(List values) { addCriterion("luckey_count in", values, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountNotIn(List values) { addCriterion("luckey_count not in", values, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountBetween(Integer value1, Integer value2) { addCriterion("luckey_count between", value1, value2, "luckeyCount"); return (Criteria) this; } public Criteria andLuckeyCountNotBetween(Integer value1, Integer value2) { addCriterion("luckey_count not between", value1, value2, "luckeyCount"); return (Criteria) this; } public Criteria andHistoryIntegrationIsNull() { addCriterion("history_integration is null"); return (Criteria) this; } public Criteria andHistoryIntegrationIsNotNull() { addCriterion("history_integration is not null"); return (Criteria) this; } public Criteria andHistoryIntegrationEqualTo(Integer value) { addCriterion("history_integration =", value, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationNotEqualTo(Integer value) { addCriterion("history_integration <>", value, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationGreaterThan(Integer value) { addCriterion("history_integration >", value, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationGreaterThanOrEqualTo(Integer value) { addCriterion("history_integration >=", value, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationLessThan(Integer value) { addCriterion("history_integration <", value, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationLessThanOrEqualTo(Integer value) { addCriterion("history_integration <=", value, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationIn(List values) { addCriterion("history_integration in", values, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationNotIn(List values) { addCriterion("history_integration not in", values, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationBetween(Integer value1, Integer value2) { addCriterion("history_integration between", value1, value2, "historyIntegration"); return (Criteria) this; } public Criteria andHistoryIntegrationNotBetween(Integer value1, Integer value2) { addCriterion("history_integration not between", value1, value2, "historyIntegration"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberLevel.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class UmsMemberLevel implements Serializable { private Long id; private String name; private Integer growthPoint; @Schema(title = "是否为默认等级:0->不是;1->是") private Integer defaultStatus; @Schema(title = "免运费标准") private BigDecimal freeFreightPoint; @Schema(title = "每次评价获取的成长值") private Integer commentGrowthPoint; @Schema(title = "是否有免邮特权") private Integer priviledgeFreeFreight; @Schema(title = "是否有签到特权") private Integer priviledgeSignIn; @Schema(title = "是否有评论获奖励特权") private Integer priviledgeComment; @Schema(title = "是否有专享活动特权") private Integer priviledgePromotion; @Schema(title = "是否有会员价格特权") private Integer priviledgeMemberPrice; @Schema(title = "是否有生日特权") private Integer priviledgeBirthday; private String note; private static final long serialVersionUID = 1L; 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 Integer getGrowthPoint() { return growthPoint; } public void setGrowthPoint(Integer growthPoint) { this.growthPoint = growthPoint; } public Integer getDefaultStatus() { return defaultStatus; } public void setDefaultStatus(Integer defaultStatus) { this.defaultStatus = defaultStatus; } public BigDecimal getFreeFreightPoint() { return freeFreightPoint; } public void setFreeFreightPoint(BigDecimal freeFreightPoint) { this.freeFreightPoint = freeFreightPoint; } public Integer getCommentGrowthPoint() { return commentGrowthPoint; } public void setCommentGrowthPoint(Integer commentGrowthPoint) { this.commentGrowthPoint = commentGrowthPoint; } public Integer getPriviledgeFreeFreight() { return priviledgeFreeFreight; } public void setPriviledgeFreeFreight(Integer priviledgeFreeFreight) { this.priviledgeFreeFreight = priviledgeFreeFreight; } public Integer getPriviledgeSignIn() { return priviledgeSignIn; } public void setPriviledgeSignIn(Integer priviledgeSignIn) { this.priviledgeSignIn = priviledgeSignIn; } public Integer getPriviledgeComment() { return priviledgeComment; } public void setPriviledgeComment(Integer priviledgeComment) { this.priviledgeComment = priviledgeComment; } public Integer getPriviledgePromotion() { return priviledgePromotion; } public void setPriviledgePromotion(Integer priviledgePromotion) { this.priviledgePromotion = priviledgePromotion; } public Integer getPriviledgeMemberPrice() { return priviledgeMemberPrice; } public void setPriviledgeMemberPrice(Integer priviledgeMemberPrice) { this.priviledgeMemberPrice = priviledgeMemberPrice; } public Integer getPriviledgeBirthday() { return priviledgeBirthday; } public void setPriviledgeBirthday(Integer priviledgeBirthday) { this.priviledgeBirthday = priviledgeBirthday; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } @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(", name=").append(name); sb.append(", growthPoint=").append(growthPoint); sb.append(", defaultStatus=").append(defaultStatus); sb.append(", freeFreightPoint=").append(freeFreightPoint); sb.append(", commentGrowthPoint=").append(commentGrowthPoint); sb.append(", priviledgeFreeFreight=").append(priviledgeFreeFreight); sb.append(", priviledgeSignIn=").append(priviledgeSignIn); sb.append(", priviledgeComment=").append(priviledgeComment); sb.append(", priviledgePromotion=").append(priviledgePromotion); sb.append(", priviledgeMemberPrice=").append(priviledgeMemberPrice); sb.append(", priviledgeBirthday=").append(priviledgeBirthday); sb.append(", note=").append(note); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberLevelExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class UmsMemberLevelExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberLevelExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andGrowthPointIsNull() { addCriterion("growth_point is null"); return (Criteria) this; } public Criteria andGrowthPointIsNotNull() { addCriterion("growth_point is not null"); return (Criteria) this; } public Criteria andGrowthPointEqualTo(Integer value) { addCriterion("growth_point =", value, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointNotEqualTo(Integer value) { addCriterion("growth_point <>", value, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointGreaterThan(Integer value) { addCriterion("growth_point >", value, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointGreaterThanOrEqualTo(Integer value) { addCriterion("growth_point >=", value, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointLessThan(Integer value) { addCriterion("growth_point <", value, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointLessThanOrEqualTo(Integer value) { addCriterion("growth_point <=", value, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointIn(List values) { addCriterion("growth_point in", values, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointNotIn(List values) { addCriterion("growth_point not in", values, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointBetween(Integer value1, Integer value2) { addCriterion("growth_point between", value1, value2, "growthPoint"); return (Criteria) this; } public Criteria andGrowthPointNotBetween(Integer value1, Integer value2) { addCriterion("growth_point not between", value1, value2, "growthPoint"); return (Criteria) this; } public Criteria andDefaultStatusIsNull() { addCriterion("default_status is null"); return (Criteria) this; } public Criteria andDefaultStatusIsNotNull() { addCriterion("default_status is not null"); return (Criteria) this; } public Criteria andDefaultStatusEqualTo(Integer value) { addCriterion("default_status =", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusNotEqualTo(Integer value) { addCriterion("default_status <>", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusGreaterThan(Integer value) { addCriterion("default_status >", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusGreaterThanOrEqualTo(Integer value) { addCriterion("default_status >=", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusLessThan(Integer value) { addCriterion("default_status <", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusLessThanOrEqualTo(Integer value) { addCriterion("default_status <=", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusIn(List values) { addCriterion("default_status in", values, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusNotIn(List values) { addCriterion("default_status not in", values, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusBetween(Integer value1, Integer value2) { addCriterion("default_status between", value1, value2, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusNotBetween(Integer value1, Integer value2) { addCriterion("default_status not between", value1, value2, "defaultStatus"); return (Criteria) this; } public Criteria andFreeFreightPointIsNull() { addCriterion("free_freight_point is null"); return (Criteria) this; } public Criteria andFreeFreightPointIsNotNull() { addCriterion("free_freight_point is not null"); return (Criteria) this; } public Criteria andFreeFreightPointEqualTo(BigDecimal value) { addCriterion("free_freight_point =", value, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointNotEqualTo(BigDecimal value) { addCriterion("free_freight_point <>", value, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointGreaterThan(BigDecimal value) { addCriterion("free_freight_point >", value, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointGreaterThanOrEqualTo(BigDecimal value) { addCriterion("free_freight_point >=", value, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointLessThan(BigDecimal value) { addCriterion("free_freight_point <", value, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointLessThanOrEqualTo(BigDecimal value) { addCriterion("free_freight_point <=", value, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointIn(List values) { addCriterion("free_freight_point in", values, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointNotIn(List values) { addCriterion("free_freight_point not in", values, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointBetween(BigDecimal value1, BigDecimal value2) { addCriterion("free_freight_point between", value1, value2, "freeFreightPoint"); return (Criteria) this; } public Criteria andFreeFreightPointNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("free_freight_point not between", value1, value2, "freeFreightPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointIsNull() { addCriterion("comment_growth_point is null"); return (Criteria) this; } public Criteria andCommentGrowthPointIsNotNull() { addCriterion("comment_growth_point is not null"); return (Criteria) this; } public Criteria andCommentGrowthPointEqualTo(Integer value) { addCriterion("comment_growth_point =", value, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointNotEqualTo(Integer value) { addCriterion("comment_growth_point <>", value, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointGreaterThan(Integer value) { addCriterion("comment_growth_point >", value, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointGreaterThanOrEqualTo(Integer value) { addCriterion("comment_growth_point >=", value, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointLessThan(Integer value) { addCriterion("comment_growth_point <", value, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointLessThanOrEqualTo(Integer value) { addCriterion("comment_growth_point <=", value, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointIn(List values) { addCriterion("comment_growth_point in", values, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointNotIn(List values) { addCriterion("comment_growth_point not in", values, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointBetween(Integer value1, Integer value2) { addCriterion("comment_growth_point between", value1, value2, "commentGrowthPoint"); return (Criteria) this; } public Criteria andCommentGrowthPointNotBetween(Integer value1, Integer value2) { addCriterion("comment_growth_point not between", value1, value2, "commentGrowthPoint"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightIsNull() { addCriterion("priviledge_free_freight is null"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightIsNotNull() { addCriterion("priviledge_free_freight is not null"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightEqualTo(Integer value) { addCriterion("priviledge_free_freight =", value, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightNotEqualTo(Integer value) { addCriterion("priviledge_free_freight <>", value, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightGreaterThan(Integer value) { addCriterion("priviledge_free_freight >", value, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightGreaterThanOrEqualTo(Integer value) { addCriterion("priviledge_free_freight >=", value, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightLessThan(Integer value) { addCriterion("priviledge_free_freight <", value, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightLessThanOrEqualTo(Integer value) { addCriterion("priviledge_free_freight <=", value, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightIn(List values) { addCriterion("priviledge_free_freight in", values, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightNotIn(List values) { addCriterion("priviledge_free_freight not in", values, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightBetween(Integer value1, Integer value2) { addCriterion("priviledge_free_freight between", value1, value2, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeFreeFreightNotBetween(Integer value1, Integer value2) { addCriterion("priviledge_free_freight not between", value1, value2, "priviledgeFreeFreight"); return (Criteria) this; } public Criteria andPriviledgeSignInIsNull() { addCriterion("priviledge_sign_in is null"); return (Criteria) this; } public Criteria andPriviledgeSignInIsNotNull() { addCriterion("priviledge_sign_in is not null"); return (Criteria) this; } public Criteria andPriviledgeSignInEqualTo(Integer value) { addCriterion("priviledge_sign_in =", value, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInNotEqualTo(Integer value) { addCriterion("priviledge_sign_in <>", value, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInGreaterThan(Integer value) { addCriterion("priviledge_sign_in >", value, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInGreaterThanOrEqualTo(Integer value) { addCriterion("priviledge_sign_in >=", value, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInLessThan(Integer value) { addCriterion("priviledge_sign_in <", value, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInLessThanOrEqualTo(Integer value) { addCriterion("priviledge_sign_in <=", value, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInIn(List values) { addCriterion("priviledge_sign_in in", values, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInNotIn(List values) { addCriterion("priviledge_sign_in not in", values, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInBetween(Integer value1, Integer value2) { addCriterion("priviledge_sign_in between", value1, value2, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeSignInNotBetween(Integer value1, Integer value2) { addCriterion("priviledge_sign_in not between", value1, value2, "priviledgeSignIn"); return (Criteria) this; } public Criteria andPriviledgeCommentIsNull() { addCriterion("priviledge_comment is null"); return (Criteria) this; } public Criteria andPriviledgeCommentIsNotNull() { addCriterion("priviledge_comment is not null"); return (Criteria) this; } public Criteria andPriviledgeCommentEqualTo(Integer value) { addCriterion("priviledge_comment =", value, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentNotEqualTo(Integer value) { addCriterion("priviledge_comment <>", value, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentGreaterThan(Integer value) { addCriterion("priviledge_comment >", value, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentGreaterThanOrEqualTo(Integer value) { addCriterion("priviledge_comment >=", value, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentLessThan(Integer value) { addCriterion("priviledge_comment <", value, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentLessThanOrEqualTo(Integer value) { addCriterion("priviledge_comment <=", value, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentIn(List values) { addCriterion("priviledge_comment in", values, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentNotIn(List values) { addCriterion("priviledge_comment not in", values, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentBetween(Integer value1, Integer value2) { addCriterion("priviledge_comment between", value1, value2, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgeCommentNotBetween(Integer value1, Integer value2) { addCriterion("priviledge_comment not between", value1, value2, "priviledgeComment"); return (Criteria) this; } public Criteria andPriviledgePromotionIsNull() { addCriterion("priviledge_promotion is null"); return (Criteria) this; } public Criteria andPriviledgePromotionIsNotNull() { addCriterion("priviledge_promotion is not null"); return (Criteria) this; } public Criteria andPriviledgePromotionEqualTo(Integer value) { addCriterion("priviledge_promotion =", value, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionNotEqualTo(Integer value) { addCriterion("priviledge_promotion <>", value, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionGreaterThan(Integer value) { addCriterion("priviledge_promotion >", value, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionGreaterThanOrEqualTo(Integer value) { addCriterion("priviledge_promotion >=", value, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionLessThan(Integer value) { addCriterion("priviledge_promotion <", value, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionLessThanOrEqualTo(Integer value) { addCriterion("priviledge_promotion <=", value, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionIn(List values) { addCriterion("priviledge_promotion in", values, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionNotIn(List values) { addCriterion("priviledge_promotion not in", values, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionBetween(Integer value1, Integer value2) { addCriterion("priviledge_promotion between", value1, value2, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgePromotionNotBetween(Integer value1, Integer value2) { addCriterion("priviledge_promotion not between", value1, value2, "priviledgePromotion"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceIsNull() { addCriterion("priviledge_member_price is null"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceIsNotNull() { addCriterion("priviledge_member_price is not null"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceEqualTo(Integer value) { addCriterion("priviledge_member_price =", value, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceNotEqualTo(Integer value) { addCriterion("priviledge_member_price <>", value, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceGreaterThan(Integer value) { addCriterion("priviledge_member_price >", value, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceGreaterThanOrEqualTo(Integer value) { addCriterion("priviledge_member_price >=", value, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceLessThan(Integer value) { addCriterion("priviledge_member_price <", value, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceLessThanOrEqualTo(Integer value) { addCriterion("priviledge_member_price <=", value, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceIn(List values) { addCriterion("priviledge_member_price in", values, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceNotIn(List values) { addCriterion("priviledge_member_price not in", values, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceBetween(Integer value1, Integer value2) { addCriterion("priviledge_member_price between", value1, value2, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeMemberPriceNotBetween(Integer value1, Integer value2) { addCriterion("priviledge_member_price not between", value1, value2, "priviledgeMemberPrice"); return (Criteria) this; } public Criteria andPriviledgeBirthdayIsNull() { addCriterion("priviledge_birthday is null"); return (Criteria) this; } public Criteria andPriviledgeBirthdayIsNotNull() { addCriterion("priviledge_birthday is not null"); return (Criteria) this; } public Criteria andPriviledgeBirthdayEqualTo(Integer value) { addCriterion("priviledge_birthday =", value, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayNotEqualTo(Integer value) { addCriterion("priviledge_birthday <>", value, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayGreaterThan(Integer value) { addCriterion("priviledge_birthday >", value, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayGreaterThanOrEqualTo(Integer value) { addCriterion("priviledge_birthday >=", value, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayLessThan(Integer value) { addCriterion("priviledge_birthday <", value, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayLessThanOrEqualTo(Integer value) { addCriterion("priviledge_birthday <=", value, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayIn(List values) { addCriterion("priviledge_birthday in", values, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayNotIn(List values) { addCriterion("priviledge_birthday not in", values, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayBetween(Integer value1, Integer value2) { addCriterion("priviledge_birthday between", value1, value2, "priviledgeBirthday"); return (Criteria) this; } public Criteria andPriviledgeBirthdayNotBetween(Integer value1, Integer value2) { addCriterion("priviledge_birthday not between", value1, value2, "priviledgeBirthday"); return (Criteria) this; } public Criteria andNoteIsNull() { addCriterion("note is null"); return (Criteria) this; } public Criteria andNoteIsNotNull() { addCriterion("note is not null"); return (Criteria) this; } public Criteria andNoteEqualTo(String value) { addCriterion("note =", value, "note"); return (Criteria) this; } public Criteria andNoteNotEqualTo(String value) { addCriterion("note <>", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThan(String value) { addCriterion("note >", value, "note"); return (Criteria) this; } public Criteria andNoteGreaterThanOrEqualTo(String value) { addCriterion("note >=", value, "note"); return (Criteria) this; } public Criteria andNoteLessThan(String value) { addCriterion("note <", value, "note"); return (Criteria) this; } public Criteria andNoteLessThanOrEqualTo(String value) { addCriterion("note <=", value, "note"); return (Criteria) this; } public Criteria andNoteLike(String value) { addCriterion("note like", value, "note"); return (Criteria) this; } public Criteria andNoteNotLike(String value) { addCriterion("note not like", value, "note"); return (Criteria) this; } public Criteria andNoteIn(List values) { addCriterion("note in", values, "note"); return (Criteria) this; } public Criteria andNoteNotIn(List values) { addCriterion("note not in", values, "note"); return (Criteria) this; } public Criteria andNoteBetween(String value1, String value2) { addCriterion("note between", value1, value2, "note"); return (Criteria) this; } public Criteria andNoteNotBetween(String value1, String value2) { addCriterion("note not between", value1, value2, "note"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberLoginLog.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsMemberLoginLog implements Serializable { private Long id; private Long memberId; private Date createTime; private String ip; private String city; @Schema(title = "登录类型:0->PC;1->android;2->ios;3->小程序") private Integer loginType; private String province; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public Integer getLoginType() { return loginType; } public void setLoginType(Integer loginType) { this.loginType = loginType; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } @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(", memberId=").append(memberId); sb.append(", createTime=").append(createTime); sb.append(", ip=").append(ip); sb.append(", city=").append(city); sb.append(", loginType=").append(loginType); sb.append(", province=").append(province); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberLoginLogExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsMemberLoginLogExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberLoginLogExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andIpIsNull() { addCriterion("ip is null"); return (Criteria) this; } public Criteria andIpIsNotNull() { addCriterion("ip is not null"); return (Criteria) this; } public Criteria andIpEqualTo(String value) { addCriterion("ip =", value, "ip"); return (Criteria) this; } public Criteria andIpNotEqualTo(String value) { addCriterion("ip <>", value, "ip"); return (Criteria) this; } public Criteria andIpGreaterThan(String value) { addCriterion("ip >", value, "ip"); return (Criteria) this; } public Criteria andIpGreaterThanOrEqualTo(String value) { addCriterion("ip >=", value, "ip"); return (Criteria) this; } public Criteria andIpLessThan(String value) { addCriterion("ip <", value, "ip"); return (Criteria) this; } public Criteria andIpLessThanOrEqualTo(String value) { addCriterion("ip <=", value, "ip"); return (Criteria) this; } public Criteria andIpLike(String value) { addCriterion("ip like", value, "ip"); return (Criteria) this; } public Criteria andIpNotLike(String value) { addCriterion("ip not like", value, "ip"); return (Criteria) this; } public Criteria andIpIn(List values) { addCriterion("ip in", values, "ip"); return (Criteria) this; } public Criteria andIpNotIn(List values) { addCriterion("ip not in", values, "ip"); return (Criteria) this; } public Criteria andIpBetween(String value1, String value2) { addCriterion("ip between", value1, value2, "ip"); return (Criteria) this; } public Criteria andIpNotBetween(String value1, String value2) { addCriterion("ip not between", value1, value2, "ip"); return (Criteria) this; } public Criteria andCityIsNull() { addCriterion("city is null"); return (Criteria) this; } public Criteria andCityIsNotNull() { addCriterion("city is not null"); return (Criteria) this; } public Criteria andCityEqualTo(String value) { addCriterion("city =", value, "city"); return (Criteria) this; } public Criteria andCityNotEqualTo(String value) { addCriterion("city <>", value, "city"); return (Criteria) this; } public Criteria andCityGreaterThan(String value) { addCriterion("city >", value, "city"); return (Criteria) this; } public Criteria andCityGreaterThanOrEqualTo(String value) { addCriterion("city >=", value, "city"); return (Criteria) this; } public Criteria andCityLessThan(String value) { addCriterion("city <", value, "city"); return (Criteria) this; } public Criteria andCityLessThanOrEqualTo(String value) { addCriterion("city <=", value, "city"); return (Criteria) this; } public Criteria andCityLike(String value) { addCriterion("city like", value, "city"); return (Criteria) this; } public Criteria andCityNotLike(String value) { addCriterion("city not like", value, "city"); return (Criteria) this; } public Criteria andCityIn(List values) { addCriterion("city in", values, "city"); return (Criteria) this; } public Criteria andCityNotIn(List values) { addCriterion("city not in", values, "city"); return (Criteria) this; } public Criteria andCityBetween(String value1, String value2) { addCriterion("city between", value1, value2, "city"); return (Criteria) this; } public Criteria andCityNotBetween(String value1, String value2) { addCriterion("city not between", value1, value2, "city"); return (Criteria) this; } public Criteria andLoginTypeIsNull() { addCriterion("login_type is null"); return (Criteria) this; } public Criteria andLoginTypeIsNotNull() { addCriterion("login_type is not null"); return (Criteria) this; } public Criteria andLoginTypeEqualTo(Integer value) { addCriterion("login_type =", value, "loginType"); return (Criteria) this; } public Criteria andLoginTypeNotEqualTo(Integer value) { addCriterion("login_type <>", value, "loginType"); return (Criteria) this; } public Criteria andLoginTypeGreaterThan(Integer value) { addCriterion("login_type >", value, "loginType"); return (Criteria) this; } public Criteria andLoginTypeGreaterThanOrEqualTo(Integer value) { addCriterion("login_type >=", value, "loginType"); return (Criteria) this; } public Criteria andLoginTypeLessThan(Integer value) { addCriterion("login_type <", value, "loginType"); return (Criteria) this; } public Criteria andLoginTypeLessThanOrEqualTo(Integer value) { addCriterion("login_type <=", value, "loginType"); return (Criteria) this; } public Criteria andLoginTypeIn(List values) { addCriterion("login_type in", values, "loginType"); return (Criteria) this; } public Criteria andLoginTypeNotIn(List values) { addCriterion("login_type not in", values, "loginType"); return (Criteria) this; } public Criteria andLoginTypeBetween(Integer value1, Integer value2) { addCriterion("login_type between", value1, value2, "loginType"); return (Criteria) this; } public Criteria andLoginTypeNotBetween(Integer value1, Integer value2) { addCriterion("login_type not between", value1, value2, "loginType"); return (Criteria) this; } public Criteria andProvinceIsNull() { addCriterion("province is null"); return (Criteria) this; } public Criteria andProvinceIsNotNull() { addCriterion("province is not null"); return (Criteria) this; } public Criteria andProvinceEqualTo(String value) { addCriterion("province =", value, "province"); return (Criteria) this; } public Criteria andProvinceNotEqualTo(String value) { addCriterion("province <>", value, "province"); return (Criteria) this; } public Criteria andProvinceGreaterThan(String value) { addCriterion("province >", value, "province"); return (Criteria) this; } public Criteria andProvinceGreaterThanOrEqualTo(String value) { addCriterion("province >=", value, "province"); return (Criteria) this; } public Criteria andProvinceLessThan(String value) { addCriterion("province <", value, "province"); return (Criteria) this; } public Criteria andProvinceLessThanOrEqualTo(String value) { addCriterion("province <=", value, "province"); return (Criteria) this; } public Criteria andProvinceLike(String value) { addCriterion("province like", value, "province"); return (Criteria) this; } public Criteria andProvinceNotLike(String value) { addCriterion("province not like", value, "province"); return (Criteria) this; } public Criteria andProvinceIn(List values) { addCriterion("province in", values, "province"); return (Criteria) this; } public Criteria andProvinceNotIn(List values) { addCriterion("province not in", values, "province"); return (Criteria) this; } public Criteria andProvinceBetween(String value1, String value2) { addCriterion("province between", value1, value2, "province"); return (Criteria) this; } public Criteria andProvinceNotBetween(String value1, String value2) { addCriterion("province not between", value1, value2, "province"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberMemberTagRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsMemberMemberTagRelation implements Serializable { private Long id; private Long memberId; private Long tagId; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public Long getTagId() { return tagId; } public void setTagId(Long tagId) { this.tagId = tagId; } @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(", memberId=").append(memberId); sb.append(", tagId=").append(tagId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberMemberTagRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsMemberMemberTagRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberMemberTagRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andTagIdIsNull() { addCriterion("tag_id is null"); return (Criteria) this; } public Criteria andTagIdIsNotNull() { addCriterion("tag_id is not null"); return (Criteria) this; } public Criteria andTagIdEqualTo(Long value) { addCriterion("tag_id =", value, "tagId"); return (Criteria) this; } public Criteria andTagIdNotEqualTo(Long value) { addCriterion("tag_id <>", value, "tagId"); return (Criteria) this; } public Criteria andTagIdGreaterThan(Long value) { addCriterion("tag_id >", value, "tagId"); return (Criteria) this; } public Criteria andTagIdGreaterThanOrEqualTo(Long value) { addCriterion("tag_id >=", value, "tagId"); return (Criteria) this; } public Criteria andTagIdLessThan(Long value) { addCriterion("tag_id <", value, "tagId"); return (Criteria) this; } public Criteria andTagIdLessThanOrEqualTo(Long value) { addCriterion("tag_id <=", value, "tagId"); return (Criteria) this; } public Criteria andTagIdIn(List values) { addCriterion("tag_id in", values, "tagId"); return (Criteria) this; } public Criteria andTagIdNotIn(List values) { addCriterion("tag_id not in", values, "tagId"); return (Criteria) this; } public Criteria andTagIdBetween(Long value1, Long value2) { addCriterion("tag_id between", value1, value2, "tagId"); return (Criteria) this; } public Criteria andTagIdNotBetween(Long value1, Long value2) { addCriterion("tag_id not between", value1, value2, "tagId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberProductCategoryRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsMemberProductCategoryRelation implements Serializable { private Long id; private Long memberId; private Long productCategoryId; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public Long getProductCategoryId() { return productCategoryId; } public void setProductCategoryId(Long productCategoryId) { this.productCategoryId = productCategoryId; } @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(", memberId=").append(memberId); sb.append(", productCategoryId=").append(productCategoryId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberProductCategoryRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsMemberProductCategoryRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberProductCategoryRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andProductCategoryIdIsNull() { addCriterion("product_category_id is null"); return (Criteria) this; } public Criteria andProductCategoryIdIsNotNull() { addCriterion("product_category_id is not null"); return (Criteria) this; } public Criteria andProductCategoryIdEqualTo(Long value) { addCriterion("product_category_id =", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotEqualTo(Long value) { addCriterion("product_category_id <>", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThan(Long value) { addCriterion("product_category_id >", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("product_category_id >=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThan(Long value) { addCriterion("product_category_id <", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdLessThanOrEqualTo(Long value) { addCriterion("product_category_id <=", value, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdIn(List values) { addCriterion("product_category_id in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotIn(List values) { addCriterion("product_category_id not in", values, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdBetween(Long value1, Long value2) { addCriterion("product_category_id between", value1, value2, "productCategoryId"); return (Criteria) this; } public Criteria andProductCategoryIdNotBetween(Long value1, Long value2) { addCriterion("product_category_id not between", value1, value2, "productCategoryId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberReceiveAddress.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsMemberReceiveAddress implements Serializable { private Long id; private Long memberId; @Schema(title = "收货人名称") private String name; private String phoneNumber; @Schema(title = "是否为默认") private Integer defaultStatus; @Schema(title = "邮政编码") private String postCode; @Schema(title = "省份/直辖市") private String province; @Schema(title = "城市") private String city; @Schema(title = "区") private String region; @Schema(title = "详细地址(街道)") private String detailAddress; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public Integer getDefaultStatus() { return defaultStatus; } public void setDefaultStatus(Integer defaultStatus) { this.defaultStatus = defaultStatus; } public String getPostCode() { return postCode; } public void setPostCode(String postCode) { this.postCode = postCode; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public String getDetailAddress() { return detailAddress; } public void setDetailAddress(String detailAddress) { this.detailAddress = detailAddress; } @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(", memberId=").append(memberId); sb.append(", name=").append(name); sb.append(", phoneNumber=").append(phoneNumber); sb.append(", defaultStatus=").append(defaultStatus); sb.append(", postCode=").append(postCode); sb.append(", province=").append(province); sb.append(", city=").append(city); sb.append(", region=").append(region); sb.append(", detailAddress=").append(detailAddress); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberReceiveAddressExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsMemberReceiveAddressExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberReceiveAddressExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andPhoneNumberIsNull() { addCriterion("phone_number is null"); return (Criteria) this; } public Criteria andPhoneNumberIsNotNull() { addCriterion("phone_number is not null"); return (Criteria) this; } public Criteria andPhoneNumberEqualTo(String value) { addCriterion("phone_number =", value, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberNotEqualTo(String value) { addCriterion("phone_number <>", value, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberGreaterThan(String value) { addCriterion("phone_number >", value, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberGreaterThanOrEqualTo(String value) { addCriterion("phone_number >=", value, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberLessThan(String value) { addCriterion("phone_number <", value, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberLessThanOrEqualTo(String value) { addCriterion("phone_number <=", value, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberLike(String value) { addCriterion("phone_number like", value, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberNotLike(String value) { addCriterion("phone_number not like", value, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberIn(List values) { addCriterion("phone_number in", values, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberNotIn(List values) { addCriterion("phone_number not in", values, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberBetween(String value1, String value2) { addCriterion("phone_number between", value1, value2, "phoneNumber"); return (Criteria) this; } public Criteria andPhoneNumberNotBetween(String value1, String value2) { addCriterion("phone_number not between", value1, value2, "phoneNumber"); return (Criteria) this; } public Criteria andDefaultStatusIsNull() { addCriterion("default_status is null"); return (Criteria) this; } public Criteria andDefaultStatusIsNotNull() { addCriterion("default_status is not null"); return (Criteria) this; } public Criteria andDefaultStatusEqualTo(Integer value) { addCriterion("default_status =", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusNotEqualTo(Integer value) { addCriterion("default_status <>", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusGreaterThan(Integer value) { addCriterion("default_status >", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusGreaterThanOrEqualTo(Integer value) { addCriterion("default_status >=", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusLessThan(Integer value) { addCriterion("default_status <", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusLessThanOrEqualTo(Integer value) { addCriterion("default_status <=", value, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusIn(List values) { addCriterion("default_status in", values, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusNotIn(List values) { addCriterion("default_status not in", values, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusBetween(Integer value1, Integer value2) { addCriterion("default_status between", value1, value2, "defaultStatus"); return (Criteria) this; } public Criteria andDefaultStatusNotBetween(Integer value1, Integer value2) { addCriterion("default_status not between", value1, value2, "defaultStatus"); return (Criteria) this; } public Criteria andPostCodeIsNull() { addCriterion("post_code is null"); return (Criteria) this; } public Criteria andPostCodeIsNotNull() { addCriterion("post_code is not null"); return (Criteria) this; } public Criteria andPostCodeEqualTo(String value) { addCriterion("post_code =", value, "postCode"); return (Criteria) this; } public Criteria andPostCodeNotEqualTo(String value) { addCriterion("post_code <>", value, "postCode"); return (Criteria) this; } public Criteria andPostCodeGreaterThan(String value) { addCriterion("post_code >", value, "postCode"); return (Criteria) this; } public Criteria andPostCodeGreaterThanOrEqualTo(String value) { addCriterion("post_code >=", value, "postCode"); return (Criteria) this; } public Criteria andPostCodeLessThan(String value) { addCriterion("post_code <", value, "postCode"); return (Criteria) this; } public Criteria andPostCodeLessThanOrEqualTo(String value) { addCriterion("post_code <=", value, "postCode"); return (Criteria) this; } public Criteria andPostCodeLike(String value) { addCriterion("post_code like", value, "postCode"); return (Criteria) this; } public Criteria andPostCodeNotLike(String value) { addCriterion("post_code not like", value, "postCode"); return (Criteria) this; } public Criteria andPostCodeIn(List values) { addCriterion("post_code in", values, "postCode"); return (Criteria) this; } public Criteria andPostCodeNotIn(List values) { addCriterion("post_code not in", values, "postCode"); return (Criteria) this; } public Criteria andPostCodeBetween(String value1, String value2) { addCriterion("post_code between", value1, value2, "postCode"); return (Criteria) this; } public Criteria andPostCodeNotBetween(String value1, String value2) { addCriterion("post_code not between", value1, value2, "postCode"); return (Criteria) this; } public Criteria andProvinceIsNull() { addCriterion("province is null"); return (Criteria) this; } public Criteria andProvinceIsNotNull() { addCriterion("province is not null"); return (Criteria) this; } public Criteria andProvinceEqualTo(String value) { addCriterion("province =", value, "province"); return (Criteria) this; } public Criteria andProvinceNotEqualTo(String value) { addCriterion("province <>", value, "province"); return (Criteria) this; } public Criteria andProvinceGreaterThan(String value) { addCriterion("province >", value, "province"); return (Criteria) this; } public Criteria andProvinceGreaterThanOrEqualTo(String value) { addCriterion("province >=", value, "province"); return (Criteria) this; } public Criteria andProvinceLessThan(String value) { addCriterion("province <", value, "province"); return (Criteria) this; } public Criteria andProvinceLessThanOrEqualTo(String value) { addCriterion("province <=", value, "province"); return (Criteria) this; } public Criteria andProvinceLike(String value) { addCriterion("province like", value, "province"); return (Criteria) this; } public Criteria andProvinceNotLike(String value) { addCriterion("province not like", value, "province"); return (Criteria) this; } public Criteria andProvinceIn(List values) { addCriterion("province in", values, "province"); return (Criteria) this; } public Criteria andProvinceNotIn(List values) { addCriterion("province not in", values, "province"); return (Criteria) this; } public Criteria andProvinceBetween(String value1, String value2) { addCriterion("province between", value1, value2, "province"); return (Criteria) this; } public Criteria andProvinceNotBetween(String value1, String value2) { addCriterion("province not between", value1, value2, "province"); return (Criteria) this; } public Criteria andCityIsNull() { addCriterion("city is null"); return (Criteria) this; } public Criteria andCityIsNotNull() { addCriterion("city is not null"); return (Criteria) this; } public Criteria andCityEqualTo(String value) { addCriterion("city =", value, "city"); return (Criteria) this; } public Criteria andCityNotEqualTo(String value) { addCriterion("city <>", value, "city"); return (Criteria) this; } public Criteria andCityGreaterThan(String value) { addCriterion("city >", value, "city"); return (Criteria) this; } public Criteria andCityGreaterThanOrEqualTo(String value) { addCriterion("city >=", value, "city"); return (Criteria) this; } public Criteria andCityLessThan(String value) { addCriterion("city <", value, "city"); return (Criteria) this; } public Criteria andCityLessThanOrEqualTo(String value) { addCriterion("city <=", value, "city"); return (Criteria) this; } public Criteria andCityLike(String value) { addCriterion("city like", value, "city"); return (Criteria) this; } public Criteria andCityNotLike(String value) { addCriterion("city not like", value, "city"); return (Criteria) this; } public Criteria andCityIn(List values) { addCriterion("city in", values, "city"); return (Criteria) this; } public Criteria andCityNotIn(List values) { addCriterion("city not in", values, "city"); return (Criteria) this; } public Criteria andCityBetween(String value1, String value2) { addCriterion("city between", value1, value2, "city"); return (Criteria) this; } public Criteria andCityNotBetween(String value1, String value2) { addCriterion("city not between", value1, value2, "city"); return (Criteria) this; } public Criteria andRegionIsNull() { addCriterion("region is null"); return (Criteria) this; } public Criteria andRegionIsNotNull() { addCriterion("region is not null"); return (Criteria) this; } public Criteria andRegionEqualTo(String value) { addCriterion("region =", value, "region"); return (Criteria) this; } public Criteria andRegionNotEqualTo(String value) { addCriterion("region <>", value, "region"); return (Criteria) this; } public Criteria andRegionGreaterThan(String value) { addCriterion("region >", value, "region"); return (Criteria) this; } public Criteria andRegionGreaterThanOrEqualTo(String value) { addCriterion("region >=", value, "region"); return (Criteria) this; } public Criteria andRegionLessThan(String value) { addCriterion("region <", value, "region"); return (Criteria) this; } public Criteria andRegionLessThanOrEqualTo(String value) { addCriterion("region <=", value, "region"); return (Criteria) this; } public Criteria andRegionLike(String value) { addCriterion("region like", value, "region"); return (Criteria) this; } public Criteria andRegionNotLike(String value) { addCriterion("region not like", value, "region"); return (Criteria) this; } public Criteria andRegionIn(List values) { addCriterion("region in", values, "region"); return (Criteria) this; } public Criteria andRegionNotIn(List values) { addCriterion("region not in", values, "region"); return (Criteria) this; } public Criteria andRegionBetween(String value1, String value2) { addCriterion("region between", value1, value2, "region"); return (Criteria) this; } public Criteria andRegionNotBetween(String value1, String value2) { addCriterion("region not between", value1, value2, "region"); return (Criteria) this; } public Criteria andDetailAddressIsNull() { addCriterion("detail_address is null"); return (Criteria) this; } public Criteria andDetailAddressIsNotNull() { addCriterion("detail_address is not null"); return (Criteria) this; } public Criteria andDetailAddressEqualTo(String value) { addCriterion("detail_address =", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressNotEqualTo(String value) { addCriterion("detail_address <>", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressGreaterThan(String value) { addCriterion("detail_address >", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressGreaterThanOrEqualTo(String value) { addCriterion("detail_address >=", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressLessThan(String value) { addCriterion("detail_address <", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressLessThanOrEqualTo(String value) { addCriterion("detail_address <=", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressLike(String value) { addCriterion("detail_address like", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressNotLike(String value) { addCriterion("detail_address not like", value, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressIn(List values) { addCriterion("detail_address in", values, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressNotIn(List values) { addCriterion("detail_address not in", values, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressBetween(String value1, String value2) { addCriterion("detail_address between", value1, value2, "detailAddress"); return (Criteria) this; } public Criteria andDetailAddressNotBetween(String value1, String value2) { addCriterion("detail_address not between", value1, value2, "detailAddress"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberRuleSetting.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class UmsMemberRuleSetting implements Serializable { private Long id; @Schema(title = "连续签到天数") private Integer continueSignDay; @Schema(title = "连续签到赠送数量") private Integer continueSignPoint; @Schema(title = "每消费多少元获取1个点") private BigDecimal consumePerPoint; @Schema(title = "最低获取点数的订单金额") private BigDecimal lowOrderAmount; @Schema(title = "每笔订单最高获取点数") private Integer maxPointPerOrder; @Schema(title = "类型:0->积分规则;1->成长值规则") private Integer type; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Integer getContinueSignDay() { return continueSignDay; } public void setContinueSignDay(Integer continueSignDay) { this.continueSignDay = continueSignDay; } public Integer getContinueSignPoint() { return continueSignPoint; } public void setContinueSignPoint(Integer continueSignPoint) { this.continueSignPoint = continueSignPoint; } public BigDecimal getConsumePerPoint() { return consumePerPoint; } public void setConsumePerPoint(BigDecimal consumePerPoint) { this.consumePerPoint = consumePerPoint; } public BigDecimal getLowOrderAmount() { return lowOrderAmount; } public void setLowOrderAmount(BigDecimal lowOrderAmount) { this.lowOrderAmount = lowOrderAmount; } public Integer getMaxPointPerOrder() { return maxPointPerOrder; } public void setMaxPointPerOrder(Integer maxPointPerOrder) { this.maxPointPerOrder = maxPointPerOrder; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } @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(", continueSignDay=").append(continueSignDay); sb.append(", continueSignPoint=").append(continueSignPoint); sb.append(", consumePerPoint=").append(consumePerPoint); sb.append(", lowOrderAmount=").append(lowOrderAmount); sb.append(", maxPointPerOrder=").append(maxPointPerOrder); sb.append(", type=").append(type); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberRuleSettingExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class UmsMemberRuleSettingExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberRuleSettingExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andContinueSignDayIsNull() { addCriterion("continue_sign_day is null"); return (Criteria) this; } public Criteria andContinueSignDayIsNotNull() { addCriterion("continue_sign_day is not null"); return (Criteria) this; } public Criteria andContinueSignDayEqualTo(Integer value) { addCriterion("continue_sign_day =", value, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayNotEqualTo(Integer value) { addCriterion("continue_sign_day <>", value, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayGreaterThan(Integer value) { addCriterion("continue_sign_day >", value, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayGreaterThanOrEqualTo(Integer value) { addCriterion("continue_sign_day >=", value, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayLessThan(Integer value) { addCriterion("continue_sign_day <", value, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayLessThanOrEqualTo(Integer value) { addCriterion("continue_sign_day <=", value, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayIn(List values) { addCriterion("continue_sign_day in", values, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayNotIn(List values) { addCriterion("continue_sign_day not in", values, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayBetween(Integer value1, Integer value2) { addCriterion("continue_sign_day between", value1, value2, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignDayNotBetween(Integer value1, Integer value2) { addCriterion("continue_sign_day not between", value1, value2, "continueSignDay"); return (Criteria) this; } public Criteria andContinueSignPointIsNull() { addCriterion("continue_sign_point is null"); return (Criteria) this; } public Criteria andContinueSignPointIsNotNull() { addCriterion("continue_sign_point is not null"); return (Criteria) this; } public Criteria andContinueSignPointEqualTo(Integer value) { addCriterion("continue_sign_point =", value, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointNotEqualTo(Integer value) { addCriterion("continue_sign_point <>", value, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointGreaterThan(Integer value) { addCriterion("continue_sign_point >", value, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointGreaterThanOrEqualTo(Integer value) { addCriterion("continue_sign_point >=", value, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointLessThan(Integer value) { addCriterion("continue_sign_point <", value, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointLessThanOrEqualTo(Integer value) { addCriterion("continue_sign_point <=", value, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointIn(List values) { addCriterion("continue_sign_point in", values, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointNotIn(List values) { addCriterion("continue_sign_point not in", values, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointBetween(Integer value1, Integer value2) { addCriterion("continue_sign_point between", value1, value2, "continueSignPoint"); return (Criteria) this; } public Criteria andContinueSignPointNotBetween(Integer value1, Integer value2) { addCriterion("continue_sign_point not between", value1, value2, "continueSignPoint"); return (Criteria) this; } public Criteria andConsumePerPointIsNull() { addCriterion("consume_per_point is null"); return (Criteria) this; } public Criteria andConsumePerPointIsNotNull() { addCriterion("consume_per_point is not null"); return (Criteria) this; } public Criteria andConsumePerPointEqualTo(BigDecimal value) { addCriterion("consume_per_point =", value, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointNotEqualTo(BigDecimal value) { addCriterion("consume_per_point <>", value, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointGreaterThan(BigDecimal value) { addCriterion("consume_per_point >", value, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointGreaterThanOrEqualTo(BigDecimal value) { addCriterion("consume_per_point >=", value, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointLessThan(BigDecimal value) { addCriterion("consume_per_point <", value, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointLessThanOrEqualTo(BigDecimal value) { addCriterion("consume_per_point <=", value, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointIn(List values) { addCriterion("consume_per_point in", values, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointNotIn(List values) { addCriterion("consume_per_point not in", values, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointBetween(BigDecimal value1, BigDecimal value2) { addCriterion("consume_per_point between", value1, value2, "consumePerPoint"); return (Criteria) this; } public Criteria andConsumePerPointNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("consume_per_point not between", value1, value2, "consumePerPoint"); return (Criteria) this; } public Criteria andLowOrderAmountIsNull() { addCriterion("low_order_amount is null"); return (Criteria) this; } public Criteria andLowOrderAmountIsNotNull() { addCriterion("low_order_amount is not null"); return (Criteria) this; } public Criteria andLowOrderAmountEqualTo(BigDecimal value) { addCriterion("low_order_amount =", value, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountNotEqualTo(BigDecimal value) { addCriterion("low_order_amount <>", value, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountGreaterThan(BigDecimal value) { addCriterion("low_order_amount >", value, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("low_order_amount >=", value, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountLessThan(BigDecimal value) { addCriterion("low_order_amount <", value, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("low_order_amount <=", value, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountIn(List values) { addCriterion("low_order_amount in", values, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountNotIn(List values) { addCriterion("low_order_amount not in", values, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("low_order_amount between", value1, value2, "lowOrderAmount"); return (Criteria) this; } public Criteria andLowOrderAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("low_order_amount not between", value1, value2, "lowOrderAmount"); return (Criteria) this; } public Criteria andMaxPointPerOrderIsNull() { addCriterion("max_point_per_order is null"); return (Criteria) this; } public Criteria andMaxPointPerOrderIsNotNull() { addCriterion("max_point_per_order is not null"); return (Criteria) this; } public Criteria andMaxPointPerOrderEqualTo(Integer value) { addCriterion("max_point_per_order =", value, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderNotEqualTo(Integer value) { addCriterion("max_point_per_order <>", value, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderGreaterThan(Integer value) { addCriterion("max_point_per_order >", value, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderGreaterThanOrEqualTo(Integer value) { addCriterion("max_point_per_order >=", value, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderLessThan(Integer value) { addCriterion("max_point_per_order <", value, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderLessThanOrEqualTo(Integer value) { addCriterion("max_point_per_order <=", value, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderIn(List values) { addCriterion("max_point_per_order in", values, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderNotIn(List values) { addCriterion("max_point_per_order not in", values, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderBetween(Integer value1, Integer value2) { addCriterion("max_point_per_order between", value1, value2, "maxPointPerOrder"); return (Criteria) this; } public Criteria andMaxPointPerOrderNotBetween(Integer value1, Integer value2) { addCriterion("max_point_per_order not between", value1, value2, "maxPointPerOrder"); return (Criteria) this; } public Criteria andTypeIsNull() { addCriterion("type is null"); return (Criteria) this; } public Criteria andTypeIsNotNull() { addCriterion("type is not null"); return (Criteria) this; } public Criteria andTypeEqualTo(Integer value) { addCriterion("type =", value, "type"); return (Criteria) this; } public Criteria andTypeNotEqualTo(Integer value) { addCriterion("type <>", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThan(Integer value) { addCriterion("type >", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThanOrEqualTo(Integer value) { addCriterion("type >=", value, "type"); return (Criteria) this; } public Criteria andTypeLessThan(Integer value) { addCriterion("type <", value, "type"); return (Criteria) this; } public Criteria andTypeLessThanOrEqualTo(Integer value) { addCriterion("type <=", value, "type"); return (Criteria) this; } public Criteria andTypeIn(List values) { addCriterion("type in", values, "type"); return (Criteria) this; } public Criteria andTypeNotIn(List values) { addCriterion("type not in", values, "type"); return (Criteria) this; } public Criteria andTypeBetween(Integer value1, Integer value2) { addCriterion("type between", value1, value2, "type"); return (Criteria) this; } public Criteria andTypeNotBetween(Integer value1, Integer value2) { addCriterion("type not between", value1, value2, "type"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberStatisticsInfo.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; public class UmsMemberStatisticsInfo implements Serializable { private Long id; private Long memberId; @Schema(title = "累计消费金额") private BigDecimal consumeAmount; @Schema(title = "订单数量") private Integer orderCount; @Schema(title = "优惠券数量") private Integer couponCount; @Schema(title = "评价数") private Integer commentCount; @Schema(title = "退货数量") private Integer returnOrderCount; @Schema(title = "登录次数") private Integer loginCount; @Schema(title = "关注数量") private Integer attendCount; @Schema(title = "粉丝数量") private Integer fansCount; private Integer collectProductCount; private Integer collectSubjectCount; private Integer collectTopicCount; private Integer collectCommentCount; private Integer inviteFriendCount; @Schema(title = "最后一次下订单时间") private Date recentOrderTime; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } public BigDecimal getConsumeAmount() { return consumeAmount; } public void setConsumeAmount(BigDecimal consumeAmount) { this.consumeAmount = consumeAmount; } public Integer getOrderCount() { return orderCount; } public void setOrderCount(Integer orderCount) { this.orderCount = orderCount; } public Integer getCouponCount() { return couponCount; } public void setCouponCount(Integer couponCount) { this.couponCount = couponCount; } public Integer getCommentCount() { return commentCount; } public void setCommentCount(Integer commentCount) { this.commentCount = commentCount; } public Integer getReturnOrderCount() { return returnOrderCount; } public void setReturnOrderCount(Integer returnOrderCount) { this.returnOrderCount = returnOrderCount; } public Integer getLoginCount() { return loginCount; } public void setLoginCount(Integer loginCount) { this.loginCount = loginCount; } public Integer getAttendCount() { return attendCount; } public void setAttendCount(Integer attendCount) { this.attendCount = attendCount; } public Integer getFansCount() { return fansCount; } public void setFansCount(Integer fansCount) { this.fansCount = fansCount; } public Integer getCollectProductCount() { return collectProductCount; } public void setCollectProductCount(Integer collectProductCount) { this.collectProductCount = collectProductCount; } public Integer getCollectSubjectCount() { return collectSubjectCount; } public void setCollectSubjectCount(Integer collectSubjectCount) { this.collectSubjectCount = collectSubjectCount; } public Integer getCollectTopicCount() { return collectTopicCount; } public void setCollectTopicCount(Integer collectTopicCount) { this.collectTopicCount = collectTopicCount; } public Integer getCollectCommentCount() { return collectCommentCount; } public void setCollectCommentCount(Integer collectCommentCount) { this.collectCommentCount = collectCommentCount; } public Integer getInviteFriendCount() { return inviteFriendCount; } public void setInviteFriendCount(Integer inviteFriendCount) { this.inviteFriendCount = inviteFriendCount; } public Date getRecentOrderTime() { return recentOrderTime; } public void setRecentOrderTime(Date recentOrderTime) { this.recentOrderTime = recentOrderTime; } @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(", memberId=").append(memberId); sb.append(", consumeAmount=").append(consumeAmount); sb.append(", orderCount=").append(orderCount); sb.append(", couponCount=").append(couponCount); sb.append(", commentCount=").append(commentCount); sb.append(", returnOrderCount=").append(returnOrderCount); sb.append(", loginCount=").append(loginCount); sb.append(", attendCount=").append(attendCount); sb.append(", fansCount=").append(fansCount); sb.append(", collectProductCount=").append(collectProductCount); sb.append(", collectSubjectCount=").append(collectSubjectCount); sb.append(", collectTopicCount=").append(collectTopicCount); sb.append(", collectCommentCount=").append(collectCommentCount); sb.append(", inviteFriendCount=").append(inviteFriendCount); sb.append(", recentOrderTime=").append(recentOrderTime); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberStatisticsInfoExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsMemberStatisticsInfoExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberStatisticsInfoExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andMemberIdIsNull() { addCriterion("member_id is null"); return (Criteria) this; } public Criteria andMemberIdIsNotNull() { addCriterion("member_id is not null"); return (Criteria) this; } public Criteria andMemberIdEqualTo(Long value) { addCriterion("member_id =", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotEqualTo(Long value) { addCriterion("member_id <>", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThan(Long value) { addCriterion("member_id >", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdGreaterThanOrEqualTo(Long value) { addCriterion("member_id >=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThan(Long value) { addCriterion("member_id <", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdLessThanOrEqualTo(Long value) { addCriterion("member_id <=", value, "memberId"); return (Criteria) this; } public Criteria andMemberIdIn(List values) { addCriterion("member_id in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotIn(List values) { addCriterion("member_id not in", values, "memberId"); return (Criteria) this; } public Criteria andMemberIdBetween(Long value1, Long value2) { addCriterion("member_id between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andMemberIdNotBetween(Long value1, Long value2) { addCriterion("member_id not between", value1, value2, "memberId"); return (Criteria) this; } public Criteria andConsumeAmountIsNull() { addCriterion("consume_amount is null"); return (Criteria) this; } public Criteria andConsumeAmountIsNotNull() { addCriterion("consume_amount is not null"); return (Criteria) this; } public Criteria andConsumeAmountEqualTo(BigDecimal value) { addCriterion("consume_amount =", value, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountNotEqualTo(BigDecimal value) { addCriterion("consume_amount <>", value, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountGreaterThan(BigDecimal value) { addCriterion("consume_amount >", value, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("consume_amount >=", value, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountLessThan(BigDecimal value) { addCriterion("consume_amount <", value, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("consume_amount <=", value, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountIn(List values) { addCriterion("consume_amount in", values, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountNotIn(List values) { addCriterion("consume_amount not in", values, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("consume_amount between", value1, value2, "consumeAmount"); return (Criteria) this; } public Criteria andConsumeAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("consume_amount not between", value1, value2, "consumeAmount"); return (Criteria) this; } public Criteria andOrderCountIsNull() { addCriterion("order_count is null"); return (Criteria) this; } public Criteria andOrderCountIsNotNull() { addCriterion("order_count is not null"); return (Criteria) this; } public Criteria andOrderCountEqualTo(Integer value) { addCriterion("order_count =", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountNotEqualTo(Integer value) { addCriterion("order_count <>", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountGreaterThan(Integer value) { addCriterion("order_count >", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountGreaterThanOrEqualTo(Integer value) { addCriterion("order_count >=", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountLessThan(Integer value) { addCriterion("order_count <", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountLessThanOrEqualTo(Integer value) { addCriterion("order_count <=", value, "orderCount"); return (Criteria) this; } public Criteria andOrderCountIn(List values) { addCriterion("order_count in", values, "orderCount"); return (Criteria) this; } public Criteria andOrderCountNotIn(List values) { addCriterion("order_count not in", values, "orderCount"); return (Criteria) this; } public Criteria andOrderCountBetween(Integer value1, Integer value2) { addCriterion("order_count between", value1, value2, "orderCount"); return (Criteria) this; } public Criteria andOrderCountNotBetween(Integer value1, Integer value2) { addCriterion("order_count not between", value1, value2, "orderCount"); return (Criteria) this; } public Criteria andCouponCountIsNull() { addCriterion("coupon_count is null"); return (Criteria) this; } public Criteria andCouponCountIsNotNull() { addCriterion("coupon_count is not null"); return (Criteria) this; } public Criteria andCouponCountEqualTo(Integer value) { addCriterion("coupon_count =", value, "couponCount"); return (Criteria) this; } public Criteria andCouponCountNotEqualTo(Integer value) { addCriterion("coupon_count <>", value, "couponCount"); return (Criteria) this; } public Criteria andCouponCountGreaterThan(Integer value) { addCriterion("coupon_count >", value, "couponCount"); return (Criteria) this; } public Criteria andCouponCountGreaterThanOrEqualTo(Integer value) { addCriterion("coupon_count >=", value, "couponCount"); return (Criteria) this; } public Criteria andCouponCountLessThan(Integer value) { addCriterion("coupon_count <", value, "couponCount"); return (Criteria) this; } public Criteria andCouponCountLessThanOrEqualTo(Integer value) { addCriterion("coupon_count <=", value, "couponCount"); return (Criteria) this; } public Criteria andCouponCountIn(List values) { addCriterion("coupon_count in", values, "couponCount"); return (Criteria) this; } public Criteria andCouponCountNotIn(List values) { addCriterion("coupon_count not in", values, "couponCount"); return (Criteria) this; } public Criteria andCouponCountBetween(Integer value1, Integer value2) { addCriterion("coupon_count between", value1, value2, "couponCount"); return (Criteria) this; } public Criteria andCouponCountNotBetween(Integer value1, Integer value2) { addCriterion("coupon_count not between", value1, value2, "couponCount"); return (Criteria) this; } public Criteria andCommentCountIsNull() { addCriterion("comment_count is null"); return (Criteria) this; } public Criteria andCommentCountIsNotNull() { addCriterion("comment_count is not null"); return (Criteria) this; } public Criteria andCommentCountEqualTo(Integer value) { addCriterion("comment_count =", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountNotEqualTo(Integer value) { addCriterion("comment_count <>", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountGreaterThan(Integer value) { addCriterion("comment_count >", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountGreaterThanOrEqualTo(Integer value) { addCriterion("comment_count >=", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountLessThan(Integer value) { addCriterion("comment_count <", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountLessThanOrEqualTo(Integer value) { addCriterion("comment_count <=", value, "commentCount"); return (Criteria) this; } public Criteria andCommentCountIn(List values) { addCriterion("comment_count in", values, "commentCount"); return (Criteria) this; } public Criteria andCommentCountNotIn(List values) { addCriterion("comment_count not in", values, "commentCount"); return (Criteria) this; } public Criteria andCommentCountBetween(Integer value1, Integer value2) { addCriterion("comment_count between", value1, value2, "commentCount"); return (Criteria) this; } public Criteria andCommentCountNotBetween(Integer value1, Integer value2) { addCriterion("comment_count not between", value1, value2, "commentCount"); return (Criteria) this; } public Criteria andReturnOrderCountIsNull() { addCriterion("return_order_count is null"); return (Criteria) this; } public Criteria andReturnOrderCountIsNotNull() { addCriterion("return_order_count is not null"); return (Criteria) this; } public Criteria andReturnOrderCountEqualTo(Integer value) { addCriterion("return_order_count =", value, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountNotEqualTo(Integer value) { addCriterion("return_order_count <>", value, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountGreaterThan(Integer value) { addCriterion("return_order_count >", value, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountGreaterThanOrEqualTo(Integer value) { addCriterion("return_order_count >=", value, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountLessThan(Integer value) { addCriterion("return_order_count <", value, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountLessThanOrEqualTo(Integer value) { addCriterion("return_order_count <=", value, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountIn(List values) { addCriterion("return_order_count in", values, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountNotIn(List values) { addCriterion("return_order_count not in", values, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountBetween(Integer value1, Integer value2) { addCriterion("return_order_count between", value1, value2, "returnOrderCount"); return (Criteria) this; } public Criteria andReturnOrderCountNotBetween(Integer value1, Integer value2) { addCriterion("return_order_count not between", value1, value2, "returnOrderCount"); return (Criteria) this; } public Criteria andLoginCountIsNull() { addCriterion("login_count is null"); return (Criteria) this; } public Criteria andLoginCountIsNotNull() { addCriterion("login_count is not null"); return (Criteria) this; } public Criteria andLoginCountEqualTo(Integer value) { addCriterion("login_count =", value, "loginCount"); return (Criteria) this; } public Criteria andLoginCountNotEqualTo(Integer value) { addCriterion("login_count <>", value, "loginCount"); return (Criteria) this; } public Criteria andLoginCountGreaterThan(Integer value) { addCriterion("login_count >", value, "loginCount"); return (Criteria) this; } public Criteria andLoginCountGreaterThanOrEqualTo(Integer value) { addCriterion("login_count >=", value, "loginCount"); return (Criteria) this; } public Criteria andLoginCountLessThan(Integer value) { addCriterion("login_count <", value, "loginCount"); return (Criteria) this; } public Criteria andLoginCountLessThanOrEqualTo(Integer value) { addCriterion("login_count <=", value, "loginCount"); return (Criteria) this; } public Criteria andLoginCountIn(List values) { addCriterion("login_count in", values, "loginCount"); return (Criteria) this; } public Criteria andLoginCountNotIn(List values) { addCriterion("login_count not in", values, "loginCount"); return (Criteria) this; } public Criteria andLoginCountBetween(Integer value1, Integer value2) { addCriterion("login_count between", value1, value2, "loginCount"); return (Criteria) this; } public Criteria andLoginCountNotBetween(Integer value1, Integer value2) { addCriterion("login_count not between", value1, value2, "loginCount"); return (Criteria) this; } public Criteria andAttendCountIsNull() { addCriterion("attend_count is null"); return (Criteria) this; } public Criteria andAttendCountIsNotNull() { addCriterion("attend_count is not null"); return (Criteria) this; } public Criteria andAttendCountEqualTo(Integer value) { addCriterion("attend_count =", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountNotEqualTo(Integer value) { addCriterion("attend_count <>", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountGreaterThan(Integer value) { addCriterion("attend_count >", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountGreaterThanOrEqualTo(Integer value) { addCriterion("attend_count >=", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountLessThan(Integer value) { addCriterion("attend_count <", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountLessThanOrEqualTo(Integer value) { addCriterion("attend_count <=", value, "attendCount"); return (Criteria) this; } public Criteria andAttendCountIn(List values) { addCriterion("attend_count in", values, "attendCount"); return (Criteria) this; } public Criteria andAttendCountNotIn(List values) { addCriterion("attend_count not in", values, "attendCount"); return (Criteria) this; } public Criteria andAttendCountBetween(Integer value1, Integer value2) { addCriterion("attend_count between", value1, value2, "attendCount"); return (Criteria) this; } public Criteria andAttendCountNotBetween(Integer value1, Integer value2) { addCriterion("attend_count not between", value1, value2, "attendCount"); return (Criteria) this; } public Criteria andFansCountIsNull() { addCriterion("fans_count is null"); return (Criteria) this; } public Criteria andFansCountIsNotNull() { addCriterion("fans_count is not null"); return (Criteria) this; } public Criteria andFansCountEqualTo(Integer value) { addCriterion("fans_count =", value, "fansCount"); return (Criteria) this; } public Criteria andFansCountNotEqualTo(Integer value) { addCriterion("fans_count <>", value, "fansCount"); return (Criteria) this; } public Criteria andFansCountGreaterThan(Integer value) { addCriterion("fans_count >", value, "fansCount"); return (Criteria) this; } public Criteria andFansCountGreaterThanOrEqualTo(Integer value) { addCriterion("fans_count >=", value, "fansCount"); return (Criteria) this; } public Criteria andFansCountLessThan(Integer value) { addCriterion("fans_count <", value, "fansCount"); return (Criteria) this; } public Criteria andFansCountLessThanOrEqualTo(Integer value) { addCriterion("fans_count <=", value, "fansCount"); return (Criteria) this; } public Criteria andFansCountIn(List values) { addCriterion("fans_count in", values, "fansCount"); return (Criteria) this; } public Criteria andFansCountNotIn(List values) { addCriterion("fans_count not in", values, "fansCount"); return (Criteria) this; } public Criteria andFansCountBetween(Integer value1, Integer value2) { addCriterion("fans_count between", value1, value2, "fansCount"); return (Criteria) this; } public Criteria andFansCountNotBetween(Integer value1, Integer value2) { addCriterion("fans_count not between", value1, value2, "fansCount"); return (Criteria) this; } public Criteria andCollectProductCountIsNull() { addCriterion("collect_product_count is null"); return (Criteria) this; } public Criteria andCollectProductCountIsNotNull() { addCriterion("collect_product_count is not null"); return (Criteria) this; } public Criteria andCollectProductCountEqualTo(Integer value) { addCriterion("collect_product_count =", value, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountNotEqualTo(Integer value) { addCriterion("collect_product_count <>", value, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountGreaterThan(Integer value) { addCriterion("collect_product_count >", value, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountGreaterThanOrEqualTo(Integer value) { addCriterion("collect_product_count >=", value, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountLessThan(Integer value) { addCriterion("collect_product_count <", value, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountLessThanOrEqualTo(Integer value) { addCriterion("collect_product_count <=", value, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountIn(List values) { addCriterion("collect_product_count in", values, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountNotIn(List values) { addCriterion("collect_product_count not in", values, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountBetween(Integer value1, Integer value2) { addCriterion("collect_product_count between", value1, value2, "collectProductCount"); return (Criteria) this; } public Criteria andCollectProductCountNotBetween(Integer value1, Integer value2) { addCriterion("collect_product_count not between", value1, value2, "collectProductCount"); return (Criteria) this; } public Criteria andCollectSubjectCountIsNull() { addCriterion("collect_subject_count is null"); return (Criteria) this; } public Criteria andCollectSubjectCountIsNotNull() { addCriterion("collect_subject_count is not null"); return (Criteria) this; } public Criteria andCollectSubjectCountEqualTo(Integer value) { addCriterion("collect_subject_count =", value, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountNotEqualTo(Integer value) { addCriterion("collect_subject_count <>", value, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountGreaterThan(Integer value) { addCriterion("collect_subject_count >", value, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountGreaterThanOrEqualTo(Integer value) { addCriterion("collect_subject_count >=", value, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountLessThan(Integer value) { addCriterion("collect_subject_count <", value, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountLessThanOrEqualTo(Integer value) { addCriterion("collect_subject_count <=", value, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountIn(List values) { addCriterion("collect_subject_count in", values, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountNotIn(List values) { addCriterion("collect_subject_count not in", values, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountBetween(Integer value1, Integer value2) { addCriterion("collect_subject_count between", value1, value2, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectSubjectCountNotBetween(Integer value1, Integer value2) { addCriterion("collect_subject_count not between", value1, value2, "collectSubjectCount"); return (Criteria) this; } public Criteria andCollectTopicCountIsNull() { addCriterion("collect_topic_count is null"); return (Criteria) this; } public Criteria andCollectTopicCountIsNotNull() { addCriterion("collect_topic_count is not null"); return (Criteria) this; } public Criteria andCollectTopicCountEqualTo(Integer value) { addCriterion("collect_topic_count =", value, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountNotEqualTo(Integer value) { addCriterion("collect_topic_count <>", value, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountGreaterThan(Integer value) { addCriterion("collect_topic_count >", value, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountGreaterThanOrEqualTo(Integer value) { addCriterion("collect_topic_count >=", value, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountLessThan(Integer value) { addCriterion("collect_topic_count <", value, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountLessThanOrEqualTo(Integer value) { addCriterion("collect_topic_count <=", value, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountIn(List values) { addCriterion("collect_topic_count in", values, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountNotIn(List values) { addCriterion("collect_topic_count not in", values, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountBetween(Integer value1, Integer value2) { addCriterion("collect_topic_count between", value1, value2, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectTopicCountNotBetween(Integer value1, Integer value2) { addCriterion("collect_topic_count not between", value1, value2, "collectTopicCount"); return (Criteria) this; } public Criteria andCollectCommentCountIsNull() { addCriterion("collect_comment_count is null"); return (Criteria) this; } public Criteria andCollectCommentCountIsNotNull() { addCriterion("collect_comment_count is not null"); return (Criteria) this; } public Criteria andCollectCommentCountEqualTo(Integer value) { addCriterion("collect_comment_count =", value, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountNotEqualTo(Integer value) { addCriterion("collect_comment_count <>", value, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountGreaterThan(Integer value) { addCriterion("collect_comment_count >", value, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountGreaterThanOrEqualTo(Integer value) { addCriterion("collect_comment_count >=", value, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountLessThan(Integer value) { addCriterion("collect_comment_count <", value, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountLessThanOrEqualTo(Integer value) { addCriterion("collect_comment_count <=", value, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountIn(List values) { addCriterion("collect_comment_count in", values, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountNotIn(List values) { addCriterion("collect_comment_count not in", values, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountBetween(Integer value1, Integer value2) { addCriterion("collect_comment_count between", value1, value2, "collectCommentCount"); return (Criteria) this; } public Criteria andCollectCommentCountNotBetween(Integer value1, Integer value2) { addCriterion("collect_comment_count not between", value1, value2, "collectCommentCount"); return (Criteria) this; } public Criteria andInviteFriendCountIsNull() { addCriterion("invite_friend_count is null"); return (Criteria) this; } public Criteria andInviteFriendCountIsNotNull() { addCriterion("invite_friend_count is not null"); return (Criteria) this; } public Criteria andInviteFriendCountEqualTo(Integer value) { addCriterion("invite_friend_count =", value, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountNotEqualTo(Integer value) { addCriterion("invite_friend_count <>", value, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountGreaterThan(Integer value) { addCriterion("invite_friend_count >", value, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountGreaterThanOrEqualTo(Integer value) { addCriterion("invite_friend_count >=", value, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountLessThan(Integer value) { addCriterion("invite_friend_count <", value, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountLessThanOrEqualTo(Integer value) { addCriterion("invite_friend_count <=", value, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountIn(List values) { addCriterion("invite_friend_count in", values, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountNotIn(List values) { addCriterion("invite_friend_count not in", values, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountBetween(Integer value1, Integer value2) { addCriterion("invite_friend_count between", value1, value2, "inviteFriendCount"); return (Criteria) this; } public Criteria andInviteFriendCountNotBetween(Integer value1, Integer value2) { addCriterion("invite_friend_count not between", value1, value2, "inviteFriendCount"); return (Criteria) this; } public Criteria andRecentOrderTimeIsNull() { addCriterion("recent_order_time is null"); return (Criteria) this; } public Criteria andRecentOrderTimeIsNotNull() { addCriterion("recent_order_time is not null"); return (Criteria) this; } public Criteria andRecentOrderTimeEqualTo(Date value) { addCriterion("recent_order_time =", value, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeNotEqualTo(Date value) { addCriterion("recent_order_time <>", value, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeGreaterThan(Date value) { addCriterion("recent_order_time >", value, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeGreaterThanOrEqualTo(Date value) { addCriterion("recent_order_time >=", value, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeLessThan(Date value) { addCriterion("recent_order_time <", value, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeLessThanOrEqualTo(Date value) { addCriterion("recent_order_time <=", value, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeIn(List values) { addCriterion("recent_order_time in", values, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeNotIn(List values) { addCriterion("recent_order_time not in", values, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeBetween(Date value1, Date value2) { addCriterion("recent_order_time between", value1, value2, "recentOrderTime"); return (Criteria) this; } public Criteria andRecentOrderTimeNotBetween(Date value1, Date value2) { addCriterion("recent_order_time not between", value1, value2, "recentOrderTime"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberTag.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.math.BigDecimal; public class UmsMemberTag implements Serializable { private Long id; private String name; @Schema(title = "自动打标签完成订单数量") private Integer finishOrderCount; @Schema(title = "自动打标签完成订单金额") private BigDecimal finishOrderAmount; private static final long serialVersionUID = 1L; 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 Integer getFinishOrderCount() { return finishOrderCount; } public void setFinishOrderCount(Integer finishOrderCount) { this.finishOrderCount = finishOrderCount; } public BigDecimal getFinishOrderAmount() { return finishOrderAmount; } public void setFinishOrderAmount(BigDecimal finishOrderAmount) { this.finishOrderAmount = finishOrderAmount; } @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(", name=").append(name); sb.append(", finishOrderCount=").append(finishOrderCount); sb.append(", finishOrderAmount=").append(finishOrderAmount); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberTagExample.java ================================================ package com.macro.mall.model; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; public class UmsMemberTagExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberTagExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andFinishOrderCountIsNull() { addCriterion("finish_order_count is null"); return (Criteria) this; } public Criteria andFinishOrderCountIsNotNull() { addCriterion("finish_order_count is not null"); return (Criteria) this; } public Criteria andFinishOrderCountEqualTo(Integer value) { addCriterion("finish_order_count =", value, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountNotEqualTo(Integer value) { addCriterion("finish_order_count <>", value, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountGreaterThan(Integer value) { addCriterion("finish_order_count >", value, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountGreaterThanOrEqualTo(Integer value) { addCriterion("finish_order_count >=", value, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountLessThan(Integer value) { addCriterion("finish_order_count <", value, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountLessThanOrEqualTo(Integer value) { addCriterion("finish_order_count <=", value, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountIn(List values) { addCriterion("finish_order_count in", values, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountNotIn(List values) { addCriterion("finish_order_count not in", values, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountBetween(Integer value1, Integer value2) { addCriterion("finish_order_count between", value1, value2, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderCountNotBetween(Integer value1, Integer value2) { addCriterion("finish_order_count not between", value1, value2, "finishOrderCount"); return (Criteria) this; } public Criteria andFinishOrderAmountIsNull() { addCriterion("finish_order_amount is null"); return (Criteria) this; } public Criteria andFinishOrderAmountIsNotNull() { addCriterion("finish_order_amount is not null"); return (Criteria) this; } public Criteria andFinishOrderAmountEqualTo(BigDecimal value) { addCriterion("finish_order_amount =", value, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountNotEqualTo(BigDecimal value) { addCriterion("finish_order_amount <>", value, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountGreaterThan(BigDecimal value) { addCriterion("finish_order_amount >", value, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountGreaterThanOrEqualTo(BigDecimal value) { addCriterion("finish_order_amount >=", value, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountLessThan(BigDecimal value) { addCriterion("finish_order_amount <", value, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountLessThanOrEqualTo(BigDecimal value) { addCriterion("finish_order_amount <=", value, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountIn(List values) { addCriterion("finish_order_amount in", values, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountNotIn(List values) { addCriterion("finish_order_amount not in", values, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountBetween(BigDecimal value1, BigDecimal value2) { addCriterion("finish_order_amount between", value1, value2, "finishOrderAmount"); return (Criteria) this; } public Criteria andFinishOrderAmountNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("finish_order_amount not between", value1, value2, "finishOrderAmount"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberTask.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsMemberTask implements Serializable { private Long id; private String name; @Schema(title = "赠送成长值") private Integer growth; @Schema(title = "赠送积分") private Integer intergration; @Schema(title = "任务类型:0->新手任务;1->日常任务") private Integer type; private static final long serialVersionUID = 1L; 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 Integer getGrowth() { return growth; } public void setGrowth(Integer growth) { this.growth = growth; } public Integer getIntergration() { return intergration; } public void setIntergration(Integer intergration) { this.intergration = intergration; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } @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(", name=").append(name); sb.append(", growth=").append(growth); sb.append(", intergration=").append(intergration); sb.append(", type=").append(type); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMemberTaskExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsMemberTaskExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMemberTaskExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andGrowthIsNull() { addCriterion("growth is null"); return (Criteria) this; } public Criteria andGrowthIsNotNull() { addCriterion("growth is not null"); return (Criteria) this; } public Criteria andGrowthEqualTo(Integer value) { addCriterion("growth =", value, "growth"); return (Criteria) this; } public Criteria andGrowthNotEqualTo(Integer value) { addCriterion("growth <>", value, "growth"); return (Criteria) this; } public Criteria andGrowthGreaterThan(Integer value) { addCriterion("growth >", value, "growth"); return (Criteria) this; } public Criteria andGrowthGreaterThanOrEqualTo(Integer value) { addCriterion("growth >=", value, "growth"); return (Criteria) this; } public Criteria andGrowthLessThan(Integer value) { addCriterion("growth <", value, "growth"); return (Criteria) this; } public Criteria andGrowthLessThanOrEqualTo(Integer value) { addCriterion("growth <=", value, "growth"); return (Criteria) this; } public Criteria andGrowthIn(List values) { addCriterion("growth in", values, "growth"); return (Criteria) this; } public Criteria andGrowthNotIn(List values) { addCriterion("growth not in", values, "growth"); return (Criteria) this; } public Criteria andGrowthBetween(Integer value1, Integer value2) { addCriterion("growth between", value1, value2, "growth"); return (Criteria) this; } public Criteria andGrowthNotBetween(Integer value1, Integer value2) { addCriterion("growth not between", value1, value2, "growth"); return (Criteria) this; } public Criteria andIntergrationIsNull() { addCriterion("intergration is null"); return (Criteria) this; } public Criteria andIntergrationIsNotNull() { addCriterion("intergration is not null"); return (Criteria) this; } public Criteria andIntergrationEqualTo(Integer value) { addCriterion("intergration =", value, "intergration"); return (Criteria) this; } public Criteria andIntergrationNotEqualTo(Integer value) { addCriterion("intergration <>", value, "intergration"); return (Criteria) this; } public Criteria andIntergrationGreaterThan(Integer value) { addCriterion("intergration >", value, "intergration"); return (Criteria) this; } public Criteria andIntergrationGreaterThanOrEqualTo(Integer value) { addCriterion("intergration >=", value, "intergration"); return (Criteria) this; } public Criteria andIntergrationLessThan(Integer value) { addCriterion("intergration <", value, "intergration"); return (Criteria) this; } public Criteria andIntergrationLessThanOrEqualTo(Integer value) { addCriterion("intergration <=", value, "intergration"); return (Criteria) this; } public Criteria andIntergrationIn(List values) { addCriterion("intergration in", values, "intergration"); return (Criteria) this; } public Criteria andIntergrationNotIn(List values) { addCriterion("intergration not in", values, "intergration"); return (Criteria) this; } public Criteria andIntergrationBetween(Integer value1, Integer value2) { addCriterion("intergration between", value1, value2, "intergration"); return (Criteria) this; } public Criteria andIntergrationNotBetween(Integer value1, Integer value2) { addCriterion("intergration not between", value1, value2, "intergration"); return (Criteria) this; } public Criteria andTypeIsNull() { addCriterion("type is null"); return (Criteria) this; } public Criteria andTypeIsNotNull() { addCriterion("type is not null"); return (Criteria) this; } public Criteria andTypeEqualTo(Integer value) { addCriterion("type =", value, "type"); return (Criteria) this; } public Criteria andTypeNotEqualTo(Integer value) { addCriterion("type <>", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThan(Integer value) { addCriterion("type >", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThanOrEqualTo(Integer value) { addCriterion("type >=", value, "type"); return (Criteria) this; } public Criteria andTypeLessThan(Integer value) { addCriterion("type <", value, "type"); return (Criteria) this; } public Criteria andTypeLessThanOrEqualTo(Integer value) { addCriterion("type <=", value, "type"); return (Criteria) this; } public Criteria andTypeIn(List values) { addCriterion("type in", values, "type"); return (Criteria) this; } public Criteria andTypeNotIn(List values) { addCriterion("type not in", values, "type"); return (Criteria) this; } public Criteria andTypeBetween(Integer value1, Integer value2) { addCriterion("type between", value1, value2, "type"); return (Criteria) this; } public Criteria andTypeNotBetween(Integer value1, Integer value2) { addCriterion("type not between", value1, value2, "type"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMenu.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsMenu implements Serializable { private Long id; @Schema(title = "父级ID") private Long parentId; @Schema(title = "创建时间") private Date createTime; @Schema(title = "菜单名称") private String title; @Schema(title = "菜单级数") private Integer level; @Schema(title = "菜单排序") private Integer sort; @Schema(title = "前端名称") private String name; @Schema(title = "前端图标") private String icon; @Schema(title = "前端隐藏") private Integer hidden; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getParentId() { return parentId; } public void setParentId(Long parentId) { this.parentId = parentId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public Integer getLevel() { return level; } public void setLevel(Integer level) { this.level = level; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public Integer getHidden() { return hidden; } public void setHidden(Integer hidden) { this.hidden = hidden; } @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(", parentId=").append(parentId); sb.append(", createTime=").append(createTime); sb.append(", title=").append(title); sb.append(", level=").append(level); sb.append(", sort=").append(sort); sb.append(", name=").append(name); sb.append(", icon=").append(icon); sb.append(", hidden=").append(hidden); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsMenuExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsMenuExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsMenuExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andParentIdIsNull() { addCriterion("parent_id is null"); return (Criteria) this; } public Criteria andParentIdIsNotNull() { addCriterion("parent_id is not null"); return (Criteria) this; } public Criteria andParentIdEqualTo(Long value) { addCriterion("parent_id =", value, "parentId"); return (Criteria) this; } public Criteria andParentIdNotEqualTo(Long value) { addCriterion("parent_id <>", value, "parentId"); return (Criteria) this; } public Criteria andParentIdGreaterThan(Long value) { addCriterion("parent_id >", value, "parentId"); return (Criteria) this; } public Criteria andParentIdGreaterThanOrEqualTo(Long value) { addCriterion("parent_id >=", value, "parentId"); return (Criteria) this; } public Criteria andParentIdLessThan(Long value) { addCriterion("parent_id <", value, "parentId"); return (Criteria) this; } public Criteria andParentIdLessThanOrEqualTo(Long value) { addCriterion("parent_id <=", value, "parentId"); return (Criteria) this; } public Criteria andParentIdIn(List values) { addCriterion("parent_id in", values, "parentId"); return (Criteria) this; } public Criteria andParentIdNotIn(List values) { addCriterion("parent_id not in", values, "parentId"); return (Criteria) this; } public Criteria andParentIdBetween(Long value1, Long value2) { addCriterion("parent_id between", value1, value2, "parentId"); return (Criteria) this; } public Criteria andParentIdNotBetween(Long value1, Long value2) { addCriterion("parent_id not between", value1, value2, "parentId"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andTitleIsNull() { addCriterion("title is null"); return (Criteria) this; } public Criteria andTitleIsNotNull() { addCriterion("title is not null"); return (Criteria) this; } public Criteria andTitleEqualTo(String value) { addCriterion("title =", value, "title"); return (Criteria) this; } public Criteria andTitleNotEqualTo(String value) { addCriterion("title <>", value, "title"); return (Criteria) this; } public Criteria andTitleGreaterThan(String value) { addCriterion("title >", value, "title"); return (Criteria) this; } public Criteria andTitleGreaterThanOrEqualTo(String value) { addCriterion("title >=", value, "title"); return (Criteria) this; } public Criteria andTitleLessThan(String value) { addCriterion("title <", value, "title"); return (Criteria) this; } public Criteria andTitleLessThanOrEqualTo(String value) { addCriterion("title <=", value, "title"); return (Criteria) this; } public Criteria andTitleLike(String value) { addCriterion("title like", value, "title"); return (Criteria) this; } public Criteria andTitleNotLike(String value) { addCriterion("title not like", value, "title"); return (Criteria) this; } public Criteria andTitleIn(List values) { addCriterion("title in", values, "title"); return (Criteria) this; } public Criteria andTitleNotIn(List values) { addCriterion("title not in", values, "title"); return (Criteria) this; } public Criteria andTitleBetween(String value1, String value2) { addCriterion("title between", value1, value2, "title"); return (Criteria) this; } public Criteria andTitleNotBetween(String value1, String value2) { addCriterion("title not between", value1, value2, "title"); return (Criteria) this; } public Criteria andLevelIsNull() { addCriterion("level is null"); return (Criteria) this; } public Criteria andLevelIsNotNull() { addCriterion("level is not null"); return (Criteria) this; } public Criteria andLevelEqualTo(Integer value) { addCriterion("level =", value, "level"); return (Criteria) this; } public Criteria andLevelNotEqualTo(Integer value) { addCriterion("level <>", value, "level"); return (Criteria) this; } public Criteria andLevelGreaterThan(Integer value) { addCriterion("level >", value, "level"); return (Criteria) this; } public Criteria andLevelGreaterThanOrEqualTo(Integer value) { addCriterion("level >=", value, "level"); return (Criteria) this; } public Criteria andLevelLessThan(Integer value) { addCriterion("level <", value, "level"); return (Criteria) this; } public Criteria andLevelLessThanOrEqualTo(Integer value) { addCriterion("level <=", value, "level"); return (Criteria) this; } public Criteria andLevelIn(List values) { addCriterion("level in", values, "level"); return (Criteria) this; } public Criteria andLevelNotIn(List values) { addCriterion("level not in", values, "level"); return (Criteria) this; } public Criteria andLevelBetween(Integer value1, Integer value2) { addCriterion("level between", value1, value2, "level"); return (Criteria) this; } public Criteria andLevelNotBetween(Integer value1, Integer value2) { addCriterion("level not between", value1, value2, "level"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andHiddenIsNull() { addCriterion("hidden is null"); return (Criteria) this; } public Criteria andHiddenIsNotNull() { addCriterion("hidden is not null"); return (Criteria) this; } public Criteria andHiddenEqualTo(Integer value) { addCriterion("hidden =", value, "hidden"); return (Criteria) this; } public Criteria andHiddenNotEqualTo(Integer value) { addCriterion("hidden <>", value, "hidden"); return (Criteria) this; } public Criteria andHiddenGreaterThan(Integer value) { addCriterion("hidden >", value, "hidden"); return (Criteria) this; } public Criteria andHiddenGreaterThanOrEqualTo(Integer value) { addCriterion("hidden >=", value, "hidden"); return (Criteria) this; } public Criteria andHiddenLessThan(Integer value) { addCriterion("hidden <", value, "hidden"); return (Criteria) this; } public Criteria andHiddenLessThanOrEqualTo(Integer value) { addCriterion("hidden <=", value, "hidden"); return (Criteria) this; } public Criteria andHiddenIn(List values) { addCriterion("hidden in", values, "hidden"); return (Criteria) this; } public Criteria andHiddenNotIn(List values) { addCriterion("hidden not in", values, "hidden"); return (Criteria) this; } public Criteria andHiddenBetween(Integer value1, Integer value2) { addCriterion("hidden between", value1, value2, "hidden"); return (Criteria) this; } public Criteria andHiddenNotBetween(Integer value1, Integer value2) { addCriterion("hidden not between", value1, value2, "hidden"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsPermission.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsPermission implements Serializable { private Long id; @Schema(title = "父级权限id") private Long pid; @Schema(title = "名称") private String name; @Schema(title = "权限值") private String value; @Schema(title = "图标") private String icon; @Schema(title = "权限类型:0->目录;1->菜单;2->按钮(接口绑定权限)") private Integer type; @Schema(title = "前端资源路径") private String uri; @Schema(title = "启用状态;0->禁用;1->启用") private Integer status; @Schema(title = "创建时间") private Date createTime; @Schema(title = "排序") private Integer sort; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getPid() { return pid; } public void setPid(Long pid) { this.pid = pid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public String getUri() { return uri; } public void setUri(String uri) { this.uri = uri; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", pid=").append(pid); sb.append(", name=").append(name); sb.append(", value=").append(value); sb.append(", icon=").append(icon); sb.append(", type=").append(type); sb.append(", uri=").append(uri); sb.append(", status=").append(status); sb.append(", createTime=").append(createTime); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsPermissionExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsPermissionExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsPermissionExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andPidIsNull() { addCriterion("pid is null"); return (Criteria) this; } public Criteria andPidIsNotNull() { addCriterion("pid is not null"); return (Criteria) this; } public Criteria andPidEqualTo(Long value) { addCriterion("pid =", value, "pid"); return (Criteria) this; } public Criteria andPidNotEqualTo(Long value) { addCriterion("pid <>", value, "pid"); return (Criteria) this; } public Criteria andPidGreaterThan(Long value) { addCriterion("pid >", value, "pid"); return (Criteria) this; } public Criteria andPidGreaterThanOrEqualTo(Long value) { addCriterion("pid >=", value, "pid"); return (Criteria) this; } public Criteria andPidLessThan(Long value) { addCriterion("pid <", value, "pid"); return (Criteria) this; } public Criteria andPidLessThanOrEqualTo(Long value) { addCriterion("pid <=", value, "pid"); return (Criteria) this; } public Criteria andPidIn(List values) { addCriterion("pid in", values, "pid"); return (Criteria) this; } public Criteria andPidNotIn(List values) { addCriterion("pid not in", values, "pid"); return (Criteria) this; } public Criteria andPidBetween(Long value1, Long value2) { addCriterion("pid between", value1, value2, "pid"); return (Criteria) this; } public Criteria andPidNotBetween(Long value1, Long value2) { addCriterion("pid not between", value1, value2, "pid"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andValueIsNull() { addCriterion("value is null"); return (Criteria) this; } public Criteria andValueIsNotNull() { addCriterion("value is not null"); return (Criteria) this; } public Criteria andValueEqualTo(String value) { addCriterion("value =", value, "value"); return (Criteria) this; } public Criteria andValueNotEqualTo(String value) { addCriterion("value <>", value, "value"); return (Criteria) this; } public Criteria andValueGreaterThan(String value) { addCriterion("value >", value, "value"); return (Criteria) this; } public Criteria andValueGreaterThanOrEqualTo(String value) { addCriterion("value >=", value, "value"); return (Criteria) this; } public Criteria andValueLessThan(String value) { addCriterion("value <", value, "value"); return (Criteria) this; } public Criteria andValueLessThanOrEqualTo(String value) { addCriterion("value <=", value, "value"); return (Criteria) this; } public Criteria andValueLike(String value) { addCriterion("value like", value, "value"); return (Criteria) this; } public Criteria andValueNotLike(String value) { addCriterion("value not like", value, "value"); return (Criteria) this; } public Criteria andValueIn(List values) { addCriterion("value in", values, "value"); return (Criteria) this; } public Criteria andValueNotIn(List values) { addCriterion("value not in", values, "value"); return (Criteria) this; } public Criteria andValueBetween(String value1, String value2) { addCriterion("value between", value1, value2, "value"); return (Criteria) this; } public Criteria andValueNotBetween(String value1, String value2) { addCriterion("value not between", value1, value2, "value"); return (Criteria) this; } public Criteria andIconIsNull() { addCriterion("icon is null"); return (Criteria) this; } public Criteria andIconIsNotNull() { addCriterion("icon is not null"); return (Criteria) this; } public Criteria andIconEqualTo(String value) { addCriterion("icon =", value, "icon"); return (Criteria) this; } public Criteria andIconNotEqualTo(String value) { addCriterion("icon <>", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThan(String value) { addCriterion("icon >", value, "icon"); return (Criteria) this; } public Criteria andIconGreaterThanOrEqualTo(String value) { addCriterion("icon >=", value, "icon"); return (Criteria) this; } public Criteria andIconLessThan(String value) { addCriterion("icon <", value, "icon"); return (Criteria) this; } public Criteria andIconLessThanOrEqualTo(String value) { addCriterion("icon <=", value, "icon"); return (Criteria) this; } public Criteria andIconLike(String value) { addCriterion("icon like", value, "icon"); return (Criteria) this; } public Criteria andIconNotLike(String value) { addCriterion("icon not like", value, "icon"); return (Criteria) this; } public Criteria andIconIn(List values) { addCriterion("icon in", values, "icon"); return (Criteria) this; } public Criteria andIconNotIn(List values) { addCriterion("icon not in", values, "icon"); return (Criteria) this; } public Criteria andIconBetween(String value1, String value2) { addCriterion("icon between", value1, value2, "icon"); return (Criteria) this; } public Criteria andIconNotBetween(String value1, String value2) { addCriterion("icon not between", value1, value2, "icon"); return (Criteria) this; } public Criteria andTypeIsNull() { addCriterion("type is null"); return (Criteria) this; } public Criteria andTypeIsNotNull() { addCriterion("type is not null"); return (Criteria) this; } public Criteria andTypeEqualTo(Integer value) { addCriterion("type =", value, "type"); return (Criteria) this; } public Criteria andTypeNotEqualTo(Integer value) { addCriterion("type <>", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThan(Integer value) { addCriterion("type >", value, "type"); return (Criteria) this; } public Criteria andTypeGreaterThanOrEqualTo(Integer value) { addCriterion("type >=", value, "type"); return (Criteria) this; } public Criteria andTypeLessThan(Integer value) { addCriterion("type <", value, "type"); return (Criteria) this; } public Criteria andTypeLessThanOrEqualTo(Integer value) { addCriterion("type <=", value, "type"); return (Criteria) this; } public Criteria andTypeIn(List values) { addCriterion("type in", values, "type"); return (Criteria) this; } public Criteria andTypeNotIn(List values) { addCriterion("type not in", values, "type"); return (Criteria) this; } public Criteria andTypeBetween(Integer value1, Integer value2) { addCriterion("type between", value1, value2, "type"); return (Criteria) this; } public Criteria andTypeNotBetween(Integer value1, Integer value2) { addCriterion("type not between", value1, value2, "type"); return (Criteria) this; } public Criteria andUriIsNull() { addCriterion("uri is null"); return (Criteria) this; } public Criteria andUriIsNotNull() { addCriterion("uri is not null"); return (Criteria) this; } public Criteria andUriEqualTo(String value) { addCriterion("uri =", value, "uri"); return (Criteria) this; } public Criteria andUriNotEqualTo(String value) { addCriterion("uri <>", value, "uri"); return (Criteria) this; } public Criteria andUriGreaterThan(String value) { addCriterion("uri >", value, "uri"); return (Criteria) this; } public Criteria andUriGreaterThanOrEqualTo(String value) { addCriterion("uri >=", value, "uri"); return (Criteria) this; } public Criteria andUriLessThan(String value) { addCriterion("uri <", value, "uri"); return (Criteria) this; } public Criteria andUriLessThanOrEqualTo(String value) { addCriterion("uri <=", value, "uri"); return (Criteria) this; } public Criteria andUriLike(String value) { addCriterion("uri like", value, "uri"); return (Criteria) this; } public Criteria andUriNotLike(String value) { addCriterion("uri not like", value, "uri"); return (Criteria) this; } public Criteria andUriIn(List values) { addCriterion("uri in", values, "uri"); return (Criteria) this; } public Criteria andUriNotIn(List values) { addCriterion("uri not in", values, "uri"); return (Criteria) this; } public Criteria andUriBetween(String value1, String value2) { addCriterion("uri between", value1, value2, "uri"); return (Criteria) this; } public Criteria andUriNotBetween(String value1, String value2) { addCriterion("uri not between", value1, value2, "uri"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsResource.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsResource implements Serializable { private Long id; @Schema(title = "创建时间") private Date createTime; @Schema(title = "资源名称") private String name; @Schema(title = "资源URL") private String url; @Schema(title = "描述") private String description; @Schema(title = "资源分类ID") private Long categoryId; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Long getCategoryId() { return categoryId; } public void setCategoryId(Long categoryId) { this.categoryId = categoryId; } @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(", createTime=").append(createTime); sb.append(", name=").append(name); sb.append(", url=").append(url); sb.append(", description=").append(description); sb.append(", categoryId=").append(categoryId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsResourceCategory.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsResourceCategory implements Serializable { private Long id; @Schema(title = "创建时间") private Date createTime; @Schema(title = "分类名称") private String name; @Schema(title = "排序") private Integer sort; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", createTime=").append(createTime); sb.append(", name=").append(name); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsResourceCategoryExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsResourceCategoryExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsResourceCategoryExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsResourceExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsResourceExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsResourceExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andUrlIsNull() { addCriterion("url is null"); return (Criteria) this; } public Criteria andUrlIsNotNull() { addCriterion("url is not null"); return (Criteria) this; } public Criteria andUrlEqualTo(String value) { addCriterion("url =", value, "url"); return (Criteria) this; } public Criteria andUrlNotEqualTo(String value) { addCriterion("url <>", value, "url"); return (Criteria) this; } public Criteria andUrlGreaterThan(String value) { addCriterion("url >", value, "url"); return (Criteria) this; } public Criteria andUrlGreaterThanOrEqualTo(String value) { addCriterion("url >=", value, "url"); return (Criteria) this; } public Criteria andUrlLessThan(String value) { addCriterion("url <", value, "url"); return (Criteria) this; } public Criteria andUrlLessThanOrEqualTo(String value) { addCriterion("url <=", value, "url"); return (Criteria) this; } public Criteria andUrlLike(String value) { addCriterion("url like", value, "url"); return (Criteria) this; } public Criteria andUrlNotLike(String value) { addCriterion("url not like", value, "url"); return (Criteria) this; } public Criteria andUrlIn(List values) { addCriterion("url in", values, "url"); return (Criteria) this; } public Criteria andUrlNotIn(List values) { addCriterion("url not in", values, "url"); return (Criteria) this; } public Criteria andUrlBetween(String value1, String value2) { addCriterion("url between", value1, value2, "url"); return (Criteria) this; } public Criteria andUrlNotBetween(String value1, String value2) { addCriterion("url not between", value1, value2, "url"); return (Criteria) this; } public Criteria andDescriptionIsNull() { addCriterion("description is null"); return (Criteria) this; } public Criteria andDescriptionIsNotNull() { addCriterion("description is not null"); return (Criteria) this; } public Criteria andDescriptionEqualTo(String value) { addCriterion("description =", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotEqualTo(String value) { addCriterion("description <>", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThan(String value) { addCriterion("description >", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThanOrEqualTo(String value) { addCriterion("description >=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThan(String value) { addCriterion("description <", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThanOrEqualTo(String value) { addCriterion("description <=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLike(String value) { addCriterion("description like", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotLike(String value) { addCriterion("description not like", value, "description"); return (Criteria) this; } public Criteria andDescriptionIn(List values) { addCriterion("description in", values, "description"); return (Criteria) this; } public Criteria andDescriptionNotIn(List values) { addCriterion("description not in", values, "description"); return (Criteria) this; } public Criteria andDescriptionBetween(String value1, String value2) { addCriterion("description between", value1, value2, "description"); return (Criteria) this; } public Criteria andDescriptionNotBetween(String value1, String value2) { addCriterion("description not between", value1, value2, "description"); return (Criteria) this; } public Criteria andCategoryIdIsNull() { addCriterion("category_id is null"); return (Criteria) this; } public Criteria andCategoryIdIsNotNull() { addCriterion("category_id is not null"); return (Criteria) this; } public Criteria andCategoryIdEqualTo(Long value) { addCriterion("category_id =", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotEqualTo(Long value) { addCriterion("category_id <>", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdGreaterThan(Long value) { addCriterion("category_id >", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdGreaterThanOrEqualTo(Long value) { addCriterion("category_id >=", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdLessThan(Long value) { addCriterion("category_id <", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdLessThanOrEqualTo(Long value) { addCriterion("category_id <=", value, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdIn(List values) { addCriterion("category_id in", values, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotIn(List values) { addCriterion("category_id not in", values, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdBetween(Long value1, Long value2) { addCriterion("category_id between", value1, value2, "categoryId"); return (Criteria) this; } public Criteria andCategoryIdNotBetween(Long value1, Long value2) { addCriterion("category_id not between", value1, value2, "categoryId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsRole.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; import java.util.Date; public class UmsRole implements Serializable { private Long id; @Schema(title = "名称") private String name; @Schema(title = "描述") private String description; @Schema(title = "后台用户数量") private Integer adminCount; @Schema(title = "创建时间") private Date createTime; @Schema(title = "启用状态:0->禁用;1->启用") private Integer status; private Integer sort; private static final long serialVersionUID = 1L; 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 getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Integer getAdminCount() { return adminCount; } public void setAdminCount(Integer adminCount) { this.adminCount = adminCount; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Integer getStatus() { return status; } public void setStatus(Integer status) { this.status = status; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } @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(", name=").append(name); sb.append(", description=").append(description); sb.append(", adminCount=").append(adminCount); sb.append(", createTime=").append(createTime); sb.append(", status=").append(status); sb.append(", sort=").append(sort); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsRoleExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.Date; import java.util.List; public class UmsRoleExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsRoleExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andNameIsNull() { addCriterion("name is null"); return (Criteria) this; } public Criteria andNameIsNotNull() { addCriterion("name is not null"); return (Criteria) this; } public Criteria andNameEqualTo(String value) { addCriterion("name =", value, "name"); return (Criteria) this; } public Criteria andNameNotEqualTo(String value) { addCriterion("name <>", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThan(String value) { addCriterion("name >", value, "name"); return (Criteria) this; } public Criteria andNameGreaterThanOrEqualTo(String value) { addCriterion("name >=", value, "name"); return (Criteria) this; } public Criteria andNameLessThan(String value) { addCriterion("name <", value, "name"); return (Criteria) this; } public Criteria andNameLessThanOrEqualTo(String value) { addCriterion("name <=", value, "name"); return (Criteria) this; } public Criteria andNameLike(String value) { addCriterion("name like", value, "name"); return (Criteria) this; } public Criteria andNameNotLike(String value) { addCriterion("name not like", value, "name"); return (Criteria) this; } public Criteria andNameIn(List values) { addCriterion("name in", values, "name"); return (Criteria) this; } public Criteria andNameNotIn(List values) { addCriterion("name not in", values, "name"); return (Criteria) this; } public Criteria andNameBetween(String value1, String value2) { addCriterion("name between", value1, value2, "name"); return (Criteria) this; } public Criteria andNameNotBetween(String value1, String value2) { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } public Criteria andDescriptionIsNull() { addCriterion("description is null"); return (Criteria) this; } public Criteria andDescriptionIsNotNull() { addCriterion("description is not null"); return (Criteria) this; } public Criteria andDescriptionEqualTo(String value) { addCriterion("description =", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotEqualTo(String value) { addCriterion("description <>", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThan(String value) { addCriterion("description >", value, "description"); return (Criteria) this; } public Criteria andDescriptionGreaterThanOrEqualTo(String value) { addCriterion("description >=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThan(String value) { addCriterion("description <", value, "description"); return (Criteria) this; } public Criteria andDescriptionLessThanOrEqualTo(String value) { addCriterion("description <=", value, "description"); return (Criteria) this; } public Criteria andDescriptionLike(String value) { addCriterion("description like", value, "description"); return (Criteria) this; } public Criteria andDescriptionNotLike(String value) { addCriterion("description not like", value, "description"); return (Criteria) this; } public Criteria andDescriptionIn(List values) { addCriterion("description in", values, "description"); return (Criteria) this; } public Criteria andDescriptionNotIn(List values) { addCriterion("description not in", values, "description"); return (Criteria) this; } public Criteria andDescriptionBetween(String value1, String value2) { addCriterion("description between", value1, value2, "description"); return (Criteria) this; } public Criteria andDescriptionNotBetween(String value1, String value2) { addCriterion("description not between", value1, value2, "description"); return (Criteria) this; } public Criteria andAdminCountIsNull() { addCriterion("admin_count is null"); return (Criteria) this; } public Criteria andAdminCountIsNotNull() { addCriterion("admin_count is not null"); return (Criteria) this; } public Criteria andAdminCountEqualTo(Integer value) { addCriterion("admin_count =", value, "adminCount"); return (Criteria) this; } public Criteria andAdminCountNotEqualTo(Integer value) { addCriterion("admin_count <>", value, "adminCount"); return (Criteria) this; } public Criteria andAdminCountGreaterThan(Integer value) { addCriterion("admin_count >", value, "adminCount"); return (Criteria) this; } public Criteria andAdminCountGreaterThanOrEqualTo(Integer value) { addCriterion("admin_count >=", value, "adminCount"); return (Criteria) this; } public Criteria andAdminCountLessThan(Integer value) { addCriterion("admin_count <", value, "adminCount"); return (Criteria) this; } public Criteria andAdminCountLessThanOrEqualTo(Integer value) { addCriterion("admin_count <=", value, "adminCount"); return (Criteria) this; } public Criteria andAdminCountIn(List values) { addCriterion("admin_count in", values, "adminCount"); return (Criteria) this; } public Criteria andAdminCountNotIn(List values) { addCriterion("admin_count not in", values, "adminCount"); return (Criteria) this; } public Criteria andAdminCountBetween(Integer value1, Integer value2) { addCriterion("admin_count between", value1, value2, "adminCount"); return (Criteria) this; } public Criteria andAdminCountNotBetween(Integer value1, Integer value2) { addCriterion("admin_count not between", value1, value2, "adminCount"); return (Criteria) this; } public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; } public Criteria andCreateTimeIsNotNull() { addCriterion("create_time is not null"); return (Criteria) this; } public Criteria andCreateTimeEqualTo(Date value) { addCriterion("create_time =", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotEqualTo(Date value) { addCriterion("create_time <>", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThan(Date value) { addCriterion("create_time >", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { addCriterion("create_time >=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThan(Date value) { addCriterion("create_time <", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeLessThanOrEqualTo(Date value) { addCriterion("create_time <=", value, "createTime"); return (Criteria) this; } public Criteria andCreateTimeIn(List values) { addCriterion("create_time in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotIn(List values) { addCriterion("create_time not in", values, "createTime"); return (Criteria) this; } public Criteria andCreateTimeBetween(Date value1, Date value2) { addCriterion("create_time between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andCreateTimeNotBetween(Date value1, Date value2) { addCriterion("create_time not between", value1, value2, "createTime"); return (Criteria) this; } public Criteria andStatusIsNull() { addCriterion("status is null"); return (Criteria) this; } public Criteria andStatusIsNotNull() { addCriterion("status is not null"); return (Criteria) this; } public Criteria andStatusEqualTo(Integer value) { addCriterion("status =", value, "status"); return (Criteria) this; } public Criteria andStatusNotEqualTo(Integer value) { addCriterion("status <>", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThan(Integer value) { addCriterion("status >", value, "status"); return (Criteria) this; } public Criteria andStatusGreaterThanOrEqualTo(Integer value) { addCriterion("status >=", value, "status"); return (Criteria) this; } public Criteria andStatusLessThan(Integer value) { addCriterion("status <", value, "status"); return (Criteria) this; } public Criteria andStatusLessThanOrEqualTo(Integer value) { addCriterion("status <=", value, "status"); return (Criteria) this; } public Criteria andStatusIn(List values) { addCriterion("status in", values, "status"); return (Criteria) this; } public Criteria andStatusNotIn(List values) { addCriterion("status not in", values, "status"); return (Criteria) this; } public Criteria andStatusBetween(Integer value1, Integer value2) { addCriterion("status between", value1, value2, "status"); return (Criteria) this; } public Criteria andStatusNotBetween(Integer value1, Integer value2) { addCriterion("status not between", value1, value2, "status"); return (Criteria) this; } public Criteria andSortIsNull() { addCriterion("sort is null"); return (Criteria) this; } public Criteria andSortIsNotNull() { addCriterion("sort is not null"); return (Criteria) this; } public Criteria andSortEqualTo(Integer value) { addCriterion("sort =", value, "sort"); return (Criteria) this; } public Criteria andSortNotEqualTo(Integer value) { addCriterion("sort <>", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThan(Integer value) { addCriterion("sort >", value, "sort"); return (Criteria) this; } public Criteria andSortGreaterThanOrEqualTo(Integer value) { addCriterion("sort >=", value, "sort"); return (Criteria) this; } public Criteria andSortLessThan(Integer value) { addCriterion("sort <", value, "sort"); return (Criteria) this; } public Criteria andSortLessThanOrEqualTo(Integer value) { addCriterion("sort <=", value, "sort"); return (Criteria) this; } public Criteria andSortIn(List values) { addCriterion("sort in", values, "sort"); return (Criteria) this; } public Criteria andSortNotIn(List values) { addCriterion("sort not in", values, "sort"); return (Criteria) this; } public Criteria andSortBetween(Integer value1, Integer value2) { addCriterion("sort between", value1, value2, "sort"); return (Criteria) this; } public Criteria andSortNotBetween(Integer value1, Integer value2) { addCriterion("sort not between", value1, value2, "sort"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsRoleMenuRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsRoleMenuRelation implements Serializable { private Long id; @Schema(title = "角色ID") private Long roleId; @Schema(title = "菜单ID") private Long menuId; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getRoleId() { return roleId; } public void setRoleId(Long roleId) { this.roleId = roleId; } public Long getMenuId() { return menuId; } public void setMenuId(Long menuId) { this.menuId = menuId; } @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(", roleId=").append(roleId); sb.append(", menuId=").append(menuId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsRoleMenuRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsRoleMenuRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsRoleMenuRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andRoleIdIsNull() { addCriterion("role_id is null"); return (Criteria) this; } public Criteria andRoleIdIsNotNull() { addCriterion("role_id is not null"); return (Criteria) this; } public Criteria andRoleIdEqualTo(Long value) { addCriterion("role_id =", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotEqualTo(Long value) { addCriterion("role_id <>", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdGreaterThan(Long value) { addCriterion("role_id >", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdGreaterThanOrEqualTo(Long value) { addCriterion("role_id >=", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdLessThan(Long value) { addCriterion("role_id <", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdLessThanOrEqualTo(Long value) { addCriterion("role_id <=", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdIn(List values) { addCriterion("role_id in", values, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotIn(List values) { addCriterion("role_id not in", values, "roleId"); return (Criteria) this; } public Criteria andRoleIdBetween(Long value1, Long value2) { addCriterion("role_id between", value1, value2, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotBetween(Long value1, Long value2) { addCriterion("role_id not between", value1, value2, "roleId"); return (Criteria) this; } public Criteria andMenuIdIsNull() { addCriterion("menu_id is null"); return (Criteria) this; } public Criteria andMenuIdIsNotNull() { addCriterion("menu_id is not null"); return (Criteria) this; } public Criteria andMenuIdEqualTo(Long value) { addCriterion("menu_id =", value, "menuId"); return (Criteria) this; } public Criteria andMenuIdNotEqualTo(Long value) { addCriterion("menu_id <>", value, "menuId"); return (Criteria) this; } public Criteria andMenuIdGreaterThan(Long value) { addCriterion("menu_id >", value, "menuId"); return (Criteria) this; } public Criteria andMenuIdGreaterThanOrEqualTo(Long value) { addCriterion("menu_id >=", value, "menuId"); return (Criteria) this; } public Criteria andMenuIdLessThan(Long value) { addCriterion("menu_id <", value, "menuId"); return (Criteria) this; } public Criteria andMenuIdLessThanOrEqualTo(Long value) { addCriterion("menu_id <=", value, "menuId"); return (Criteria) this; } public Criteria andMenuIdIn(List values) { addCriterion("menu_id in", values, "menuId"); return (Criteria) this; } public Criteria andMenuIdNotIn(List values) { addCriterion("menu_id not in", values, "menuId"); return (Criteria) this; } public Criteria andMenuIdBetween(Long value1, Long value2) { addCriterion("menu_id between", value1, value2, "menuId"); return (Criteria) this; } public Criteria andMenuIdNotBetween(Long value1, Long value2) { addCriterion("menu_id not between", value1, value2, "menuId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsRolePermissionRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsRolePermissionRelation implements Serializable { private Long id; private Long roleId; private Long permissionId; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getRoleId() { return roleId; } public void setRoleId(Long roleId) { this.roleId = roleId; } public Long getPermissionId() { return permissionId; } public void setPermissionId(Long permissionId) { this.permissionId = permissionId; } @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(", roleId=").append(roleId); sb.append(", permissionId=").append(permissionId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsRolePermissionRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsRolePermissionRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsRolePermissionRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andRoleIdIsNull() { addCriterion("role_id is null"); return (Criteria) this; } public Criteria andRoleIdIsNotNull() { addCriterion("role_id is not null"); return (Criteria) this; } public Criteria andRoleIdEqualTo(Long value) { addCriterion("role_id =", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotEqualTo(Long value) { addCriterion("role_id <>", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdGreaterThan(Long value) { addCriterion("role_id >", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdGreaterThanOrEqualTo(Long value) { addCriterion("role_id >=", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdLessThan(Long value) { addCriterion("role_id <", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdLessThanOrEqualTo(Long value) { addCriterion("role_id <=", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdIn(List values) { addCriterion("role_id in", values, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotIn(List values) { addCriterion("role_id not in", values, "roleId"); return (Criteria) this; } public Criteria andRoleIdBetween(Long value1, Long value2) { addCriterion("role_id between", value1, value2, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotBetween(Long value1, Long value2) { addCriterion("role_id not between", value1, value2, "roleId"); return (Criteria) this; } public Criteria andPermissionIdIsNull() { addCriterion("permission_id is null"); return (Criteria) this; } public Criteria andPermissionIdIsNotNull() { addCriterion("permission_id is not null"); return (Criteria) this; } public Criteria andPermissionIdEqualTo(Long value) { addCriterion("permission_id =", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdNotEqualTo(Long value) { addCriterion("permission_id <>", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdGreaterThan(Long value) { addCriterion("permission_id >", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdGreaterThanOrEqualTo(Long value) { addCriterion("permission_id >=", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdLessThan(Long value) { addCriterion("permission_id <", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdLessThanOrEqualTo(Long value) { addCriterion("permission_id <=", value, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdIn(List values) { addCriterion("permission_id in", values, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdNotIn(List values) { addCriterion("permission_id not in", values, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdBetween(Long value1, Long value2) { addCriterion("permission_id between", value1, value2, "permissionId"); return (Criteria) this; } public Criteria andPermissionIdNotBetween(Long value1, Long value2) { addCriterion("permission_id not between", value1, value2, "permissionId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsRoleResourceRelation.java ================================================ package com.macro.mall.model; import io.swagger.v3.oas.annotations.media.Schema; import java.io.Serializable; public class UmsRoleResourceRelation implements Serializable { private Long id; @Schema(title = "角色ID") private Long roleId; @Schema(title = "资源ID") private Long resourceId; private static final long serialVersionUID = 1L; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getRoleId() { return roleId; } public void setRoleId(Long roleId) { this.roleId = roleId; } public Long getResourceId() { return resourceId; } public void setResourceId(Long resourceId) { this.resourceId = resourceId; } @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(", roleId=").append(roleId); sb.append(", resourceId=").append(resourceId); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); } } ================================================ FILE: mall-mbg/src/main/java/com/macro/mall/model/UmsRoleResourceRelationExample.java ================================================ package com.macro.mall.model; import java.util.ArrayList; import java.util.List; public class UmsRoleResourceRelationExample { protected String orderByClause; protected boolean distinct; protected List oredCriteria; public UmsRoleResourceRelationExample() { oredCriteria = new ArrayList<>(); } public void setOrderByClause(String orderByClause) { this.orderByClause = orderByClause; } public String getOrderByClause() { return orderByClause; } public void setDistinct(boolean distinct) { this.distinct = distinct; } public boolean isDistinct() { return distinct; } public List getOredCriteria() { return oredCriteria; } public void or(Criteria criteria) { oredCriteria.add(criteria); } public Criteria or() { Criteria criteria = createCriteriaInternal(); oredCriteria.add(criteria); return criteria; } public Criteria createCriteria() { Criteria criteria = createCriteriaInternal(); if (oredCriteria.size() == 0) { oredCriteria.add(criteria); } return criteria; } protected Criteria createCriteriaInternal() { Criteria criteria = new Criteria(); return criteria; } public void clear() { oredCriteria.clear(); orderByClause = null; distinct = false; } protected abstract static class GeneratedCriteria { protected List criteria; protected GeneratedCriteria() { super(); criteria = new ArrayList<>(); } public boolean isValid() { return criteria.size() > 0; } public List getAllCriteria() { return criteria; } public List getCriteria() { return criteria; } protected void addCriterion(String condition) { if (condition == null) { throw new RuntimeException("Value for condition cannot be null"); } criteria.add(new Criterion(condition)); } protected void addCriterion(String condition, Object value, String property) { if (value == null) { throw new RuntimeException("Value for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value)); } protected void addCriterion(String condition, Object value1, Object value2, String property) { if (value1 == null || value2 == null) { throw new RuntimeException("Between values for " + property + " cannot be null"); } criteria.add(new Criterion(condition, value1, value2)); } public Criteria andIdIsNull() { addCriterion("id is null"); return (Criteria) this; } public Criteria andIdIsNotNull() { addCriterion("id is not null"); return (Criteria) this; } public Criteria andIdEqualTo(Long value) { addCriterion("id =", value, "id"); return (Criteria) this; } public Criteria andIdNotEqualTo(Long value) { addCriterion("id <>", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThan(Long value) { addCriterion("id >", value, "id"); return (Criteria) this; } public Criteria andIdGreaterThanOrEqualTo(Long value) { addCriterion("id >=", value, "id"); return (Criteria) this; } public Criteria andIdLessThan(Long value) { addCriterion("id <", value, "id"); return (Criteria) this; } public Criteria andIdLessThanOrEqualTo(Long value) { addCriterion("id <=", value, "id"); return (Criteria) this; } public Criteria andIdIn(List values) { addCriterion("id in", values, "id"); return (Criteria) this; } public Criteria andIdNotIn(List values) { addCriterion("id not in", values, "id"); return (Criteria) this; } public Criteria andIdBetween(Long value1, Long value2) { addCriterion("id between", value1, value2, "id"); return (Criteria) this; } public Criteria andIdNotBetween(Long value1, Long value2) { addCriterion("id not between", value1, value2, "id"); return (Criteria) this; } public Criteria andRoleIdIsNull() { addCriterion("role_id is null"); return (Criteria) this; } public Criteria andRoleIdIsNotNull() { addCriterion("role_id is not null"); return (Criteria) this; } public Criteria andRoleIdEqualTo(Long value) { addCriterion("role_id =", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotEqualTo(Long value) { addCriterion("role_id <>", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdGreaterThan(Long value) { addCriterion("role_id >", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdGreaterThanOrEqualTo(Long value) { addCriterion("role_id >=", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdLessThan(Long value) { addCriterion("role_id <", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdLessThanOrEqualTo(Long value) { addCriterion("role_id <=", value, "roleId"); return (Criteria) this; } public Criteria andRoleIdIn(List values) { addCriterion("role_id in", values, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotIn(List values) { addCriterion("role_id not in", values, "roleId"); return (Criteria) this; } public Criteria andRoleIdBetween(Long value1, Long value2) { addCriterion("role_id between", value1, value2, "roleId"); return (Criteria) this; } public Criteria andRoleIdNotBetween(Long value1, Long value2) { addCriterion("role_id not between", value1, value2, "roleId"); return (Criteria) this; } public Criteria andResourceIdIsNull() { addCriterion("resource_id is null"); return (Criteria) this; } public Criteria andResourceIdIsNotNull() { addCriterion("resource_id is not null"); return (Criteria) this; } public Criteria andResourceIdEqualTo(Long value) { addCriterion("resource_id =", value, "resourceId"); return (Criteria) this; } public Criteria andResourceIdNotEqualTo(Long value) { addCriterion("resource_id <>", value, "resourceId"); return (Criteria) this; } public Criteria andResourceIdGreaterThan(Long value) { addCriterion("resource_id >", value, "resourceId"); return (Criteria) this; } public Criteria andResourceIdGreaterThanOrEqualTo(Long value) { addCriterion("resource_id >=", value, "resourceId"); return (Criteria) this; } public Criteria andResourceIdLessThan(Long value) { addCriterion("resource_id <", value, "resourceId"); return (Criteria) this; } public Criteria andResourceIdLessThanOrEqualTo(Long value) { addCriterion("resource_id <=", value, "resourceId"); return (Criteria) this; } public Criteria andResourceIdIn(List values) { addCriterion("resource_id in", values, "resourceId"); return (Criteria) this; } public Criteria andResourceIdNotIn(List values) { addCriterion("resource_id not in", values, "resourceId"); return (Criteria) this; } public Criteria andResourceIdBetween(Long value1, Long value2) { addCriterion("resource_id between", value1, value2, "resourceId"); return (Criteria) this; } public Criteria andResourceIdNotBetween(Long value1, Long value2) { addCriterion("resource_id not between", value1, value2, "resourceId"); return (Criteria) this; } } public static class Criteria extends GeneratedCriteria { protected Criteria() { super(); } } public static class Criterion { private String condition; private Object value; private Object secondValue; private boolean noValue; private boolean singleValue; private boolean betweenValue; private boolean listValue; private String typeHandler; public String getCondition() { return condition; } public Object getValue() { return value; } public Object getSecondValue() { return secondValue; } public boolean isNoValue() { return noValue; } public boolean isSingleValue() { return singleValue; } public boolean isBetweenValue() { return betweenValue; } public boolean isListValue() { return listValue; } public String getTypeHandler() { return typeHandler; } protected Criterion(String condition) { super(); this.condition = condition; this.typeHandler = null; this.noValue = true; } protected Criterion(String condition, Object value, String typeHandler) { super(); this.condition = condition; this.value = value; this.typeHandler = typeHandler; if (value instanceof List) { this.listValue = true; } else { this.singleValue = true; } } protected Criterion(String condition, Object value) { this(condition, value, null); } protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { super(); this.condition = condition; this.value = value; this.secondValue = secondValue; this.typeHandler = typeHandler; this.betweenValue = true; } protected Criterion(String condition, Object value, Object secondValue) { this(condition, value, secondValue, null); } } } ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsHelpCategoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, icon, help_count, show_status, sort delete from cms_help_category where id = #{id,jdbcType=BIGINT} delete from cms_help_category SELECT LAST_INSERT_ID() insert into cms_help_category (name, icon, help_count, show_status, sort) values (#{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{helpCount,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into cms_help_category name, icon, help_count, show_status, sort, #{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{helpCount,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update cms_help_category id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, help_count = #{row.helpCount,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update cms_help_category set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, help_count = #{row.helpCount,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update cms_help_category name = #{name,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, help_count = #{helpCount,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update cms_help_category set name = #{name,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, help_count = #{helpCount,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsHelpMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, category_id, icon, title, show_status, create_time, read_count content delete from cms_help where id = #{id,jdbcType=BIGINT} delete from cms_help SELECT LAST_INSERT_ID() insert into cms_help (category_id, icon, title, show_status, create_time, read_count, content) values (#{categoryId,jdbcType=BIGINT}, #{icon,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR}, #{showStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{readCount,jdbcType=INTEGER}, #{content,jdbcType=LONGVARCHAR}) SELECT LAST_INSERT_ID() insert into cms_help category_id, icon, title, show_status, create_time, read_count, content, #{categoryId,jdbcType=BIGINT}, #{icon,jdbcType=VARCHAR}, #{title,jdbcType=VARCHAR}, #{showStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{readCount,jdbcType=INTEGER}, #{content,jdbcType=LONGVARCHAR}, update cms_help id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, icon = #{row.icon,jdbcType=VARCHAR}, title = #{row.title,jdbcType=VARCHAR}, show_status = #{row.showStatus,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, read_count = #{row.readCount,jdbcType=INTEGER}, content = #{row.content,jdbcType=LONGVARCHAR}, update cms_help set id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, icon = #{row.icon,jdbcType=VARCHAR}, title = #{row.title,jdbcType=VARCHAR}, show_status = #{row.showStatus,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, read_count = #{row.readCount,jdbcType=INTEGER}, content = #{row.content,jdbcType=LONGVARCHAR} update cms_help set id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, icon = #{row.icon,jdbcType=VARCHAR}, title = #{row.title,jdbcType=VARCHAR}, show_status = #{row.showStatus,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, read_count = #{row.readCount,jdbcType=INTEGER} update cms_help category_id = #{categoryId,jdbcType=BIGINT}, icon = #{icon,jdbcType=VARCHAR}, title = #{title,jdbcType=VARCHAR}, show_status = #{showStatus,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, read_count = #{readCount,jdbcType=INTEGER}, content = #{content,jdbcType=LONGVARCHAR}, where id = #{id,jdbcType=BIGINT} update cms_help set category_id = #{categoryId,jdbcType=BIGINT}, icon = #{icon,jdbcType=VARCHAR}, title = #{title,jdbcType=VARCHAR}, show_status = #{showStatus,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, read_count = #{readCount,jdbcType=INTEGER}, content = #{content,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=BIGINT} update cms_help set category_id = #{categoryId,jdbcType=BIGINT}, icon = #{icon,jdbcType=VARCHAR}, title = #{title,jdbcType=VARCHAR}, show_status = #{showStatus,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, read_count = #{readCount,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsMemberReportMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, report_type, report_member_name, create_time, report_object, report_status, handle_status, note delete from cms_member_report SELECT LAST_INSERT_ID() insert into cms_member_report (report_type, report_member_name, create_time, report_object, report_status, handle_status, note) values (#{reportType,jdbcType=INTEGER}, #{reportMemberName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{reportObject,jdbcType=VARCHAR}, #{reportStatus,jdbcType=INTEGER}, #{handleStatus,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into cms_member_report report_type, report_member_name, create_time, report_object, report_status, handle_status, note, #{reportType,jdbcType=INTEGER}, #{reportMemberName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{reportObject,jdbcType=VARCHAR}, #{reportStatus,jdbcType=INTEGER}, #{handleStatus,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}, update cms_member_report id = #{row.id,jdbcType=BIGINT}, report_type = #{row.reportType,jdbcType=INTEGER}, report_member_name = #{row.reportMemberName,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, report_object = #{row.reportObject,jdbcType=VARCHAR}, report_status = #{row.reportStatus,jdbcType=INTEGER}, handle_status = #{row.handleStatus,jdbcType=INTEGER}, note = #{row.note,jdbcType=VARCHAR}, update cms_member_report set id = #{row.id,jdbcType=BIGINT}, report_type = #{row.reportType,jdbcType=INTEGER}, report_member_name = #{row.reportMemberName,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, report_object = #{row.reportObject,jdbcType=VARCHAR}, report_status = #{row.reportStatus,jdbcType=INTEGER}, handle_status = #{row.handleStatus,jdbcType=INTEGER}, note = #{row.note,jdbcType=VARCHAR} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsPrefrenceAreaMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, sub_title, sort, show_status pic delete from cms_prefrence_area where id = #{id,jdbcType=BIGINT} delete from cms_prefrence_area SELECT LAST_INSERT_ID() insert into cms_prefrence_area (name, sub_title, sort, show_status, pic) values (#{name,jdbcType=VARCHAR}, #{subTitle,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{pic,jdbcType=VARBINARY}) SELECT LAST_INSERT_ID() insert into cms_prefrence_area name, sub_title, sort, show_status, pic, #{name,jdbcType=VARCHAR}, #{subTitle,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{pic,jdbcType=VARBINARY}, update cms_prefrence_area id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, sub_title = #{row.subTitle,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, pic = #{row.pic,jdbcType=VARBINARY}, update cms_prefrence_area set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, sub_title = #{row.subTitle,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, pic = #{row.pic,jdbcType=VARBINARY} update cms_prefrence_area set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, sub_title = #{row.subTitle,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER} update cms_prefrence_area name = #{name,jdbcType=VARCHAR}, sub_title = #{subTitle,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, pic = #{pic,jdbcType=VARBINARY}, where id = #{id,jdbcType=BIGINT} update cms_prefrence_area set name = #{name,jdbcType=VARCHAR}, sub_title = #{subTitle,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, pic = #{pic,jdbcType=VARBINARY} where id = #{id,jdbcType=BIGINT} update cms_prefrence_area set name = #{name,jdbcType=VARCHAR}, sub_title = #{subTitle,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsPrefrenceAreaProductRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, prefrence_area_id, product_id delete from cms_prefrence_area_product_relation where id = #{id,jdbcType=BIGINT} delete from cms_prefrence_area_product_relation SELECT LAST_INSERT_ID() insert into cms_prefrence_area_product_relation (prefrence_area_id, product_id) values (#{prefrenceAreaId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into cms_prefrence_area_product_relation prefrence_area_id, product_id, #{prefrenceAreaId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, update cms_prefrence_area_product_relation id = #{row.id,jdbcType=BIGINT}, prefrence_area_id = #{row.prefrenceAreaId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, update cms_prefrence_area_product_relation set id = #{row.id,jdbcType=BIGINT}, prefrence_area_id = #{row.prefrenceAreaId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT} update cms_prefrence_area_product_relation prefrence_area_id = #{prefrenceAreaId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update cms_prefrence_area_product_relation set prefrence_area_id = #{prefrenceAreaId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsSubjectCategoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, icon, subject_count, show_status, sort delete from cms_subject_category where id = #{id,jdbcType=BIGINT} delete from cms_subject_category SELECT LAST_INSERT_ID() insert into cms_subject_category (name, icon, subject_count, show_status, sort) values (#{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{subjectCount,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into cms_subject_category name, icon, subject_count, show_status, sort, #{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{subjectCount,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update cms_subject_category id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, subject_count = #{row.subjectCount,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update cms_subject_category set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, subject_count = #{row.subjectCount,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update cms_subject_category name = #{name,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, subject_count = #{subjectCount,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update cms_subject_category set name = #{name,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, subject_count = #{subjectCount,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsSubjectCommentMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, subject_id, member_nick_name, member_icon, content, create_time, show_status delete from cms_subject_comment where id = #{id,jdbcType=BIGINT} delete from cms_subject_comment SELECT LAST_INSERT_ID() insert into cms_subject_comment (subject_id, member_nick_name, member_icon, content, create_time, show_status ) values (#{subjectId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{showStatus,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into cms_subject_comment subject_id, member_nick_name, member_icon, content, create_time, show_status, #{subjectId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{showStatus,jdbcType=INTEGER}, update cms_subject_comment id = #{row.id,jdbcType=BIGINT}, subject_id = #{row.subjectId,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, content = #{row.content,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, show_status = #{row.showStatus,jdbcType=INTEGER}, update cms_subject_comment set id = #{row.id,jdbcType=BIGINT}, subject_id = #{row.subjectId,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, content = #{row.content,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, show_status = #{row.showStatus,jdbcType=INTEGER} update cms_subject_comment subject_id = #{subjectId,jdbcType=BIGINT}, member_nick_name = #{memberNickName,jdbcType=VARCHAR}, member_icon = #{memberIcon,jdbcType=VARCHAR}, content = #{content,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, show_status = #{showStatus,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update cms_subject_comment set subject_id = #{subjectId,jdbcType=BIGINT}, member_nick_name = #{memberNickName,jdbcType=VARCHAR}, member_icon = #{memberIcon,jdbcType=VARCHAR}, content = #{content,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, show_status = #{showStatus,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsSubjectMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} 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 content delete from cms_subject where id = #{id,jdbcType=BIGINT} delete from cms_subject SELECT LAST_INSERT_ID() insert into cms_subject (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, content ) values (#{categoryId,jdbcType=BIGINT}, #{title,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, #{productCount,jdbcType=INTEGER}, #{recommendStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{collectCount,jdbcType=INTEGER}, #{readCount,jdbcType=INTEGER}, #{commentCount,jdbcType=INTEGER}, #{albumPics,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{showStatus,jdbcType=INTEGER}, #{forwardCount,jdbcType=INTEGER}, #{categoryName,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR} ) SELECT LAST_INSERT_ID() insert into cms_subject 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, content, #{categoryId,jdbcType=BIGINT}, #{title,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, #{productCount,jdbcType=INTEGER}, #{recommendStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{collectCount,jdbcType=INTEGER}, #{readCount,jdbcType=INTEGER}, #{commentCount,jdbcType=INTEGER}, #{albumPics,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{showStatus,jdbcType=INTEGER}, #{forwardCount,jdbcType=INTEGER}, #{categoryName,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR}, update cms_subject id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, title = #{row.title,jdbcType=VARCHAR}, pic = #{row.pic,jdbcType=VARCHAR}, product_count = #{row.productCount,jdbcType=INTEGER}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, collect_count = #{row.collectCount,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, comment_count = #{row.commentCount,jdbcType=INTEGER}, album_pics = #{row.albumPics,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, show_status = #{row.showStatus,jdbcType=INTEGER}, forward_count = #{row.forwardCount,jdbcType=INTEGER}, category_name = #{row.categoryName,jdbcType=VARCHAR}, content = #{row.content,jdbcType=LONGVARCHAR}, update cms_subject set id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, title = #{row.title,jdbcType=VARCHAR}, pic = #{row.pic,jdbcType=VARCHAR}, product_count = #{row.productCount,jdbcType=INTEGER}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, collect_count = #{row.collectCount,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, comment_count = #{row.commentCount,jdbcType=INTEGER}, album_pics = #{row.albumPics,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, show_status = #{row.showStatus,jdbcType=INTEGER}, forward_count = #{row.forwardCount,jdbcType=INTEGER}, category_name = #{row.categoryName,jdbcType=VARCHAR}, content = #{row.content,jdbcType=LONGVARCHAR} update cms_subject set id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, title = #{row.title,jdbcType=VARCHAR}, pic = #{row.pic,jdbcType=VARCHAR}, product_count = #{row.productCount,jdbcType=INTEGER}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, collect_count = #{row.collectCount,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, comment_count = #{row.commentCount,jdbcType=INTEGER}, album_pics = #{row.albumPics,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, show_status = #{row.showStatus,jdbcType=INTEGER}, forward_count = #{row.forwardCount,jdbcType=INTEGER}, category_name = #{row.categoryName,jdbcType=VARCHAR} update cms_subject category_id = #{categoryId,jdbcType=BIGINT}, title = #{title,jdbcType=VARCHAR}, pic = #{pic,jdbcType=VARCHAR}, product_count = #{productCount,jdbcType=INTEGER}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, collect_count = #{collectCount,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, comment_count = #{commentCount,jdbcType=INTEGER}, album_pics = #{albumPics,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, show_status = #{showStatus,jdbcType=INTEGER}, forward_count = #{forwardCount,jdbcType=INTEGER}, category_name = #{categoryName,jdbcType=VARCHAR}, content = #{content,jdbcType=LONGVARCHAR}, where id = #{id,jdbcType=BIGINT} update cms_subject set category_id = #{categoryId,jdbcType=BIGINT}, title = #{title,jdbcType=VARCHAR}, pic = #{pic,jdbcType=VARCHAR}, product_count = #{productCount,jdbcType=INTEGER}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, collect_count = #{collectCount,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, comment_count = #{commentCount,jdbcType=INTEGER}, album_pics = #{albumPics,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, show_status = #{showStatus,jdbcType=INTEGER}, forward_count = #{forwardCount,jdbcType=INTEGER}, category_name = #{categoryName,jdbcType=VARCHAR}, content = #{content,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=BIGINT} update cms_subject set category_id = #{categoryId,jdbcType=BIGINT}, title = #{title,jdbcType=VARCHAR}, pic = #{pic,jdbcType=VARCHAR}, product_count = #{productCount,jdbcType=INTEGER}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, collect_count = #{collectCount,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, comment_count = #{commentCount,jdbcType=INTEGER}, album_pics = #{albumPics,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, show_status = #{showStatus,jdbcType=INTEGER}, forward_count = #{forwardCount,jdbcType=INTEGER}, category_name = #{categoryName,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsSubjectProductRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, subject_id, product_id delete from cms_subject_product_relation where id = #{id,jdbcType=BIGINT} delete from cms_subject_product_relation SELECT LAST_INSERT_ID() insert into cms_subject_product_relation (subject_id, product_id) values (#{subjectId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into cms_subject_product_relation subject_id, product_id, #{subjectId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, update cms_subject_product_relation id = #{row.id,jdbcType=BIGINT}, subject_id = #{row.subjectId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, update cms_subject_product_relation set id = #{row.id,jdbcType=BIGINT}, subject_id = #{row.subjectId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT} update cms_subject_product_relation subject_id = #{subjectId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update cms_subject_product_relation set subject_id = #{subjectId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsTopicCategoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, icon, subject_count, show_status, sort delete from cms_topic_category where id = #{id,jdbcType=BIGINT} delete from cms_topic_category SELECT LAST_INSERT_ID() insert into cms_topic_category (name, icon, subject_count, show_status, sort) values (#{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{subjectCount,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into cms_topic_category name, icon, subject_count, show_status, sort, #{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{subjectCount,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update cms_topic_category id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, subject_count = #{row.subjectCount,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update cms_topic_category set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, subject_count = #{row.subjectCount,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update cms_topic_category name = #{name,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, subject_count = #{subjectCount,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update cms_topic_category set name = #{name,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, subject_count = #{subjectCount,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsTopicCommentMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_nick_name, topic_id, member_icon, content, create_time, show_status delete from cms_topic_comment where id = #{id,jdbcType=BIGINT} delete from cms_topic_comment SELECT LAST_INSERT_ID() insert into cms_topic_comment (member_nick_name, topic_id, member_icon, content, create_time, show_status ) values (#{memberNickName,jdbcType=VARCHAR}, #{topicId,jdbcType=BIGINT}, #{memberIcon,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{showStatus,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into cms_topic_comment member_nick_name, topic_id, member_icon, content, create_time, show_status, #{memberNickName,jdbcType=VARCHAR}, #{topicId,jdbcType=BIGINT}, #{memberIcon,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{showStatus,jdbcType=INTEGER}, update cms_topic_comment id = #{row.id,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, topic_id = #{row.topicId,jdbcType=BIGINT}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, content = #{row.content,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, show_status = #{row.showStatus,jdbcType=INTEGER}, update cms_topic_comment set id = #{row.id,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, topic_id = #{row.topicId,jdbcType=BIGINT}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, content = #{row.content,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, show_status = #{row.showStatus,jdbcType=INTEGER} update cms_topic_comment member_nick_name = #{memberNickName,jdbcType=VARCHAR}, topic_id = #{topicId,jdbcType=BIGINT}, member_icon = #{memberIcon,jdbcType=VARCHAR}, content = #{content,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, show_status = #{showStatus,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update cms_topic_comment set member_nick_name = #{memberNickName,jdbcType=VARCHAR}, topic_id = #{topicId,jdbcType=BIGINT}, member_icon = #{memberIcon,jdbcType=VARCHAR}, content = #{content,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, show_status = #{showStatus,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/CmsTopicMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, category_id, name, create_time, start_time, end_time, attend_count, attention_count, read_count, award_name, attend_type content delete from cms_topic where id = #{id,jdbcType=BIGINT} delete from cms_topic SELECT LAST_INSERT_ID() insert into cms_topic (category_id, name, create_time, start_time, end_time, attend_count, attention_count, read_count, award_name, attend_type, content) values (#{categoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{attendCount,jdbcType=INTEGER}, #{attentionCount,jdbcType=INTEGER}, #{readCount,jdbcType=INTEGER}, #{awardName,jdbcType=VARCHAR}, #{attendType,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR}) SELECT LAST_INSERT_ID() insert into cms_topic category_id, name, create_time, start_time, end_time, attend_count, attention_count, read_count, award_name, attend_type, content, #{categoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{attendCount,jdbcType=INTEGER}, #{attentionCount,jdbcType=INTEGER}, #{readCount,jdbcType=INTEGER}, #{awardName,jdbcType=VARCHAR}, #{attendType,jdbcType=VARCHAR}, #{content,jdbcType=LONGVARCHAR}, update cms_topic id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, start_time = #{row.startTime,jdbcType=TIMESTAMP}, end_time = #{row.endTime,jdbcType=TIMESTAMP}, attend_count = #{row.attendCount,jdbcType=INTEGER}, attention_count = #{row.attentionCount,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, award_name = #{row.awardName,jdbcType=VARCHAR}, attend_type = #{row.attendType,jdbcType=VARCHAR}, content = #{row.content,jdbcType=LONGVARCHAR}, update cms_topic set id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, start_time = #{row.startTime,jdbcType=TIMESTAMP}, end_time = #{row.endTime,jdbcType=TIMESTAMP}, attend_count = #{row.attendCount,jdbcType=INTEGER}, attention_count = #{row.attentionCount,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, award_name = #{row.awardName,jdbcType=VARCHAR}, attend_type = #{row.attendType,jdbcType=VARCHAR}, content = #{row.content,jdbcType=LONGVARCHAR} update cms_topic set id = #{row.id,jdbcType=BIGINT}, category_id = #{row.categoryId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, start_time = #{row.startTime,jdbcType=TIMESTAMP}, end_time = #{row.endTime,jdbcType=TIMESTAMP}, attend_count = #{row.attendCount,jdbcType=INTEGER}, attention_count = #{row.attentionCount,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, award_name = #{row.awardName,jdbcType=VARCHAR}, attend_type = #{row.attendType,jdbcType=VARCHAR} update cms_topic category_id = #{categoryId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, attend_count = #{attendCount,jdbcType=INTEGER}, attention_count = #{attentionCount,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, award_name = #{awardName,jdbcType=VARCHAR}, attend_type = #{attendType,jdbcType=VARCHAR}, content = #{content,jdbcType=LONGVARCHAR}, where id = #{id,jdbcType=BIGINT} update cms_topic set category_id = #{categoryId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, attend_count = #{attendCount,jdbcType=INTEGER}, attention_count = #{attentionCount,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, award_name = #{awardName,jdbcType=VARCHAR}, attend_type = #{attendType,jdbcType=VARCHAR}, content = #{content,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=BIGINT} update cms_topic set category_id = #{categoryId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, attend_count = #{attendCount,jdbcType=INTEGER}, attention_count = #{attentionCount,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, award_name = #{awardName,jdbcType=VARCHAR}, attend_type = #{attendType,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/OmsCartItemMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, product_sku_id, member_id, quantity, price, product_pic, product_name, product_sub_title, product_sku_code, member_nickname, create_date, modify_date, delete_status, product_category_id, product_brand, product_sn, product_attr delete from oms_cart_item where id = #{id,jdbcType=BIGINT} delete from oms_cart_item SELECT LAST_INSERT_ID() insert into oms_cart_item (product_id, product_sku_id, member_id, quantity, price, product_pic, product_name, product_sub_title, product_sku_code, member_nickname, create_date, modify_date, delete_status, product_category_id, product_brand, product_sn, product_attr) values (#{productId,jdbcType=BIGINT}, #{productSkuId,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{quantity,jdbcType=INTEGER}, #{price,jdbcType=DECIMAL}, #{productPic,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{productSubTitle,jdbcType=VARCHAR}, #{productSkuCode,jdbcType=VARCHAR}, #{memberNickname,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{modifyDate,jdbcType=TIMESTAMP}, #{deleteStatus,jdbcType=INTEGER}, #{productCategoryId,jdbcType=BIGINT}, #{productBrand,jdbcType=VARCHAR}, #{productSn,jdbcType=VARCHAR}, #{productAttr,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into oms_cart_item product_id, product_sku_id, member_id, quantity, price, product_pic, product_name, product_sub_title, product_sku_code, member_nickname, create_date, modify_date, delete_status, product_category_id, product_brand, product_sn, product_attr, #{productId,jdbcType=BIGINT}, #{productSkuId,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{quantity,jdbcType=INTEGER}, #{price,jdbcType=DECIMAL}, #{productPic,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{productSubTitle,jdbcType=VARCHAR}, #{productSkuCode,jdbcType=VARCHAR}, #{memberNickname,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, #{modifyDate,jdbcType=TIMESTAMP}, #{deleteStatus,jdbcType=INTEGER}, #{productCategoryId,jdbcType=BIGINT}, #{productBrand,jdbcType=VARCHAR}, #{productSn,jdbcType=VARCHAR}, #{productAttr,jdbcType=VARCHAR}, update oms_cart_item id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_sku_id = #{row.productSkuId,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, quantity = #{row.quantity,jdbcType=INTEGER}, price = #{row.price,jdbcType=DECIMAL}, product_pic = #{row.productPic,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, product_sub_title = #{row.productSubTitle,jdbcType=VARCHAR}, product_sku_code = #{row.productSkuCode,jdbcType=VARCHAR}, member_nickname = #{row.memberNickname,jdbcType=VARCHAR}, create_date = #{row.createDate,jdbcType=TIMESTAMP}, modify_date = #{row.modifyDate,jdbcType=TIMESTAMP}, delete_status = #{row.deleteStatus,jdbcType=INTEGER}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, product_brand = #{row.productBrand,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR}, product_attr = #{row.productAttr,jdbcType=VARCHAR}, update oms_cart_item set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_sku_id = #{row.productSkuId,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, quantity = #{row.quantity,jdbcType=INTEGER}, price = #{row.price,jdbcType=DECIMAL}, product_pic = #{row.productPic,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, product_sub_title = #{row.productSubTitle,jdbcType=VARCHAR}, product_sku_code = #{row.productSkuCode,jdbcType=VARCHAR}, member_nickname = #{row.memberNickname,jdbcType=VARCHAR}, create_date = #{row.createDate,jdbcType=TIMESTAMP}, modify_date = #{row.modifyDate,jdbcType=TIMESTAMP}, delete_status = #{row.deleteStatus,jdbcType=INTEGER}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, product_brand = #{row.productBrand,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR}, product_attr = #{row.productAttr,jdbcType=VARCHAR} update oms_cart_item product_id = #{productId,jdbcType=BIGINT}, product_sku_id = #{productSkuId,jdbcType=BIGINT}, member_id = #{memberId,jdbcType=BIGINT}, quantity = #{quantity,jdbcType=INTEGER}, price = #{price,jdbcType=DECIMAL}, product_pic = #{productPic,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, product_sub_title = #{productSubTitle,jdbcType=VARCHAR}, product_sku_code = #{productSkuCode,jdbcType=VARCHAR}, member_nickname = #{memberNickname,jdbcType=VARCHAR}, create_date = #{createDate,jdbcType=TIMESTAMP}, modify_date = #{modifyDate,jdbcType=TIMESTAMP}, delete_status = #{deleteStatus,jdbcType=INTEGER}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, product_brand = #{productBrand,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR}, product_attr = #{productAttr,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update oms_cart_item set product_id = #{productId,jdbcType=BIGINT}, product_sku_id = #{productSkuId,jdbcType=BIGINT}, member_id = #{memberId,jdbcType=BIGINT}, quantity = #{quantity,jdbcType=INTEGER}, price = #{price,jdbcType=DECIMAL}, product_pic = #{productPic,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, product_sub_title = #{productSubTitle,jdbcType=VARCHAR}, product_sku_code = #{productSkuCode,jdbcType=VARCHAR}, member_nickname = #{memberNickname,jdbcType=VARCHAR}, create_date = #{createDate,jdbcType=TIMESTAMP}, modify_date = #{modifyDate,jdbcType=TIMESTAMP}, delete_status = #{deleteStatus,jdbcType=INTEGER}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, product_brand = #{productBrand,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR}, product_attr = #{productAttr,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/OmsCompanyAddressMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, address_name, send_status, receive_status, name, phone, province, city, region, detail_address delete from oms_company_address where id = #{id,jdbcType=BIGINT} delete from oms_company_address SELECT LAST_INSERT_ID() insert into oms_company_address (address_name, send_status, receive_status, name, phone, province, city, region, detail_address ) values (#{addressName,jdbcType=VARCHAR}, #{sendStatus,jdbcType=INTEGER}, #{receiveStatus,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{province,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{region,jdbcType=VARCHAR}, #{detailAddress,jdbcType=VARCHAR} ) SELECT LAST_INSERT_ID() insert into oms_company_address address_name, send_status, receive_status, name, phone, province, city, region, detail_address, #{addressName,jdbcType=VARCHAR}, #{sendStatus,jdbcType=INTEGER}, #{receiveStatus,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{province,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{region,jdbcType=VARCHAR}, #{detailAddress,jdbcType=VARCHAR}, update oms_company_address id = #{row.id,jdbcType=BIGINT}, address_name = #{row.addressName,jdbcType=VARCHAR}, send_status = #{row.sendStatus,jdbcType=INTEGER}, receive_status = #{row.receiveStatus,jdbcType=INTEGER}, name = #{row.name,jdbcType=VARCHAR}, phone = #{row.phone,jdbcType=VARCHAR}, province = #{row.province,jdbcType=VARCHAR}, city = #{row.city,jdbcType=VARCHAR}, region = #{row.region,jdbcType=VARCHAR}, detail_address = #{row.detailAddress,jdbcType=VARCHAR}, update oms_company_address set id = #{row.id,jdbcType=BIGINT}, address_name = #{row.addressName,jdbcType=VARCHAR}, send_status = #{row.sendStatus,jdbcType=INTEGER}, receive_status = #{row.receiveStatus,jdbcType=INTEGER}, name = #{row.name,jdbcType=VARCHAR}, phone = #{row.phone,jdbcType=VARCHAR}, province = #{row.province,jdbcType=VARCHAR}, city = #{row.city,jdbcType=VARCHAR}, region = #{row.region,jdbcType=VARCHAR}, detail_address = #{row.detailAddress,jdbcType=VARCHAR} update oms_company_address address_name = #{addressName,jdbcType=VARCHAR}, send_status = #{sendStatus,jdbcType=INTEGER}, receive_status = #{receiveStatus,jdbcType=INTEGER}, name = #{name,jdbcType=VARCHAR}, phone = #{phone,jdbcType=VARCHAR}, province = #{province,jdbcType=VARCHAR}, city = #{city,jdbcType=VARCHAR}, region = #{region,jdbcType=VARCHAR}, detail_address = #{detailAddress,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update oms_company_address set address_name = #{addressName,jdbcType=VARCHAR}, send_status = #{sendStatus,jdbcType=INTEGER}, receive_status = #{receiveStatus,jdbcType=INTEGER}, name = #{name,jdbcType=VARCHAR}, phone = #{phone,jdbcType=VARCHAR}, province = #{province,jdbcType=VARCHAR}, city = #{city,jdbcType=VARCHAR}, region = #{region,jdbcType=VARCHAR}, detail_address = #{detailAddress,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderItemMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, order_id, order_sn, product_id, product_pic, product_name, product_brand, product_sn, product_price, product_quantity, product_sku_id, product_sku_code, product_category_id, promotion_name, promotion_amount, coupon_amount, integration_amount, real_amount, gift_integration, gift_growth, product_attr delete from oms_order_item where id = #{id,jdbcType=BIGINT} delete from oms_order_item SELECT LAST_INSERT_ID() insert into oms_order_item (order_id, order_sn, product_id, product_pic, product_name, product_brand, product_sn, product_price, product_quantity, product_sku_id, product_sku_code, product_category_id, promotion_name, promotion_amount, coupon_amount, integration_amount, real_amount, gift_integration, gift_growth, product_attr) values (#{orderId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, #{productId,jdbcType=BIGINT}, #{productPic,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{productBrand,jdbcType=VARCHAR}, #{productSn,jdbcType=VARCHAR}, #{productPrice,jdbcType=DECIMAL}, #{productQuantity,jdbcType=INTEGER}, #{productSkuId,jdbcType=BIGINT}, #{productSkuCode,jdbcType=VARCHAR}, #{productCategoryId,jdbcType=BIGINT}, #{promotionName,jdbcType=VARCHAR}, #{promotionAmount,jdbcType=DECIMAL}, #{couponAmount,jdbcType=DECIMAL}, #{integrationAmount,jdbcType=DECIMAL}, #{realAmount,jdbcType=DECIMAL}, #{giftIntegration,jdbcType=INTEGER}, #{giftGrowth,jdbcType=INTEGER}, #{productAttr,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into oms_order_item order_id, order_sn, product_id, product_pic, product_name, product_brand, product_sn, product_price, product_quantity, product_sku_id, product_sku_code, product_category_id, promotion_name, promotion_amount, coupon_amount, integration_amount, real_amount, gift_integration, gift_growth, product_attr, #{orderId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, #{productId,jdbcType=BIGINT}, #{productPic,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{productBrand,jdbcType=VARCHAR}, #{productSn,jdbcType=VARCHAR}, #{productPrice,jdbcType=DECIMAL}, #{productQuantity,jdbcType=INTEGER}, #{productSkuId,jdbcType=BIGINT}, #{productSkuCode,jdbcType=VARCHAR}, #{productCategoryId,jdbcType=BIGINT}, #{promotionName,jdbcType=VARCHAR}, #{promotionAmount,jdbcType=DECIMAL}, #{couponAmount,jdbcType=DECIMAL}, #{integrationAmount,jdbcType=DECIMAL}, #{realAmount,jdbcType=DECIMAL}, #{giftIntegration,jdbcType=INTEGER}, #{giftGrowth,jdbcType=INTEGER}, #{productAttr,jdbcType=VARCHAR}, update oms_order_item id = #{row.id,jdbcType=BIGINT}, order_id = #{row.orderId,jdbcType=BIGINT}, order_sn = #{row.orderSn,jdbcType=VARCHAR}, product_id = #{row.productId,jdbcType=BIGINT}, product_pic = #{row.productPic,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, product_brand = #{row.productBrand,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR}, product_price = #{row.productPrice,jdbcType=DECIMAL}, product_quantity = #{row.productQuantity,jdbcType=INTEGER}, product_sku_id = #{row.productSkuId,jdbcType=BIGINT}, product_sku_code = #{row.productSkuCode,jdbcType=VARCHAR}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, promotion_name = #{row.promotionName,jdbcType=VARCHAR}, promotion_amount = #{row.promotionAmount,jdbcType=DECIMAL}, coupon_amount = #{row.couponAmount,jdbcType=DECIMAL}, integration_amount = #{row.integrationAmount,jdbcType=DECIMAL}, real_amount = #{row.realAmount,jdbcType=DECIMAL}, gift_integration = #{row.giftIntegration,jdbcType=INTEGER}, gift_growth = #{row.giftGrowth,jdbcType=INTEGER}, product_attr = #{row.productAttr,jdbcType=VARCHAR}, update oms_order_item set id = #{row.id,jdbcType=BIGINT}, order_id = #{row.orderId,jdbcType=BIGINT}, order_sn = #{row.orderSn,jdbcType=VARCHAR}, product_id = #{row.productId,jdbcType=BIGINT}, product_pic = #{row.productPic,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, product_brand = #{row.productBrand,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR}, product_price = #{row.productPrice,jdbcType=DECIMAL}, product_quantity = #{row.productQuantity,jdbcType=INTEGER}, product_sku_id = #{row.productSkuId,jdbcType=BIGINT}, product_sku_code = #{row.productSkuCode,jdbcType=VARCHAR}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, promotion_name = #{row.promotionName,jdbcType=VARCHAR}, promotion_amount = #{row.promotionAmount,jdbcType=DECIMAL}, coupon_amount = #{row.couponAmount,jdbcType=DECIMAL}, integration_amount = #{row.integrationAmount,jdbcType=DECIMAL}, real_amount = #{row.realAmount,jdbcType=DECIMAL}, gift_integration = #{row.giftIntegration,jdbcType=INTEGER}, gift_growth = #{row.giftGrowth,jdbcType=INTEGER}, product_attr = #{row.productAttr,jdbcType=VARCHAR} update oms_order_item order_id = #{orderId,jdbcType=BIGINT}, order_sn = #{orderSn,jdbcType=VARCHAR}, product_id = #{productId,jdbcType=BIGINT}, product_pic = #{productPic,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, product_brand = #{productBrand,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR}, product_price = #{productPrice,jdbcType=DECIMAL}, product_quantity = #{productQuantity,jdbcType=INTEGER}, product_sku_id = #{productSkuId,jdbcType=BIGINT}, product_sku_code = #{productSkuCode,jdbcType=VARCHAR}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, promotion_name = #{promotionName,jdbcType=VARCHAR}, promotion_amount = #{promotionAmount,jdbcType=DECIMAL}, coupon_amount = #{couponAmount,jdbcType=DECIMAL}, integration_amount = #{integrationAmount,jdbcType=DECIMAL}, real_amount = #{realAmount,jdbcType=DECIMAL}, gift_integration = #{giftIntegration,jdbcType=INTEGER}, gift_growth = #{giftGrowth,jdbcType=INTEGER}, product_attr = #{productAttr,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update oms_order_item set order_id = #{orderId,jdbcType=BIGINT}, order_sn = #{orderSn,jdbcType=VARCHAR}, product_id = #{productId,jdbcType=BIGINT}, product_pic = #{productPic,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, product_brand = #{productBrand,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR}, product_price = #{productPrice,jdbcType=DECIMAL}, product_quantity = #{productQuantity,jdbcType=INTEGER}, product_sku_id = #{productSkuId,jdbcType=BIGINT}, product_sku_code = #{productSkuCode,jdbcType=VARCHAR}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, promotion_name = #{promotionName,jdbcType=VARCHAR}, promotion_amount = #{promotionAmount,jdbcType=DECIMAL}, coupon_amount = #{couponAmount,jdbcType=DECIMAL}, integration_amount = #{integrationAmount,jdbcType=DECIMAL}, real_amount = #{realAmount,jdbcType=DECIMAL}, gift_integration = #{giftIntegration,jdbcType=INTEGER}, gift_growth = #{giftGrowth,jdbcType=INTEGER}, product_attr = #{productAttr,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, coupon_id, order_sn, create_time, member_username, total_amount, pay_amount, freight_amount, promotion_amount, integration_amount, coupon_amount, discount_amount, pay_type, source_type, status, order_type, delivery_company, delivery_sn, auto_confirm_day, integration, growth, promotion_info, bill_type, bill_header, bill_content, bill_receiver_phone, bill_receiver_email, receiver_name, receiver_phone, receiver_post_code, receiver_province, receiver_city, receiver_region, receiver_detail_address, note, confirm_status, delete_status, use_integration, payment_time, delivery_time, receive_time, comment_time, modify_time delete from oms_order where id = #{id,jdbcType=BIGINT} delete from oms_order SELECT LAST_INSERT_ID() insert into oms_order (member_id, coupon_id, order_sn, create_time, member_username, total_amount, pay_amount, freight_amount, promotion_amount, integration_amount, coupon_amount, discount_amount, pay_type, source_type, status, order_type, delivery_company, delivery_sn, auto_confirm_day, integration, growth, promotion_info, bill_type, bill_header, bill_content, bill_receiver_phone, bill_receiver_email, receiver_name, receiver_phone, receiver_post_code, receiver_province, receiver_city, receiver_region, receiver_detail_address, note, confirm_status, delete_status, use_integration, payment_time, delivery_time, receive_time, comment_time, modify_time) values (#{memberId,jdbcType=BIGINT}, #{couponId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{memberUsername,jdbcType=VARCHAR}, #{totalAmount,jdbcType=DECIMAL}, #{payAmount,jdbcType=DECIMAL}, #{freightAmount,jdbcType=DECIMAL}, #{promotionAmount,jdbcType=DECIMAL}, #{integrationAmount,jdbcType=DECIMAL}, #{couponAmount,jdbcType=DECIMAL}, #{discountAmount,jdbcType=DECIMAL}, #{payType,jdbcType=INTEGER}, #{sourceType,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{orderType,jdbcType=INTEGER}, #{deliveryCompany,jdbcType=VARCHAR}, #{deliverySn,jdbcType=VARCHAR}, #{autoConfirmDay,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER}, #{promotionInfo,jdbcType=VARCHAR}, #{billType,jdbcType=INTEGER}, #{billHeader,jdbcType=VARCHAR}, #{billContent,jdbcType=VARCHAR}, #{billReceiverPhone,jdbcType=VARCHAR}, #{billReceiverEmail,jdbcType=VARCHAR}, #{receiverName,jdbcType=VARCHAR}, #{receiverPhone,jdbcType=VARCHAR}, #{receiverPostCode,jdbcType=VARCHAR}, #{receiverProvince,jdbcType=VARCHAR}, #{receiverCity,jdbcType=VARCHAR}, #{receiverRegion,jdbcType=VARCHAR}, #{receiverDetailAddress,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{confirmStatus,jdbcType=INTEGER}, #{deleteStatus,jdbcType=INTEGER}, #{useIntegration,jdbcType=INTEGER}, #{paymentTime,jdbcType=TIMESTAMP}, #{deliveryTime,jdbcType=TIMESTAMP}, #{receiveTime,jdbcType=TIMESTAMP}, #{commentTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}) SELECT LAST_INSERT_ID() insert into oms_order member_id, coupon_id, order_sn, create_time, member_username, total_amount, pay_amount, freight_amount, promotion_amount, integration_amount, coupon_amount, discount_amount, pay_type, source_type, status, order_type, delivery_company, delivery_sn, auto_confirm_day, integration, growth, promotion_info, bill_type, bill_header, bill_content, bill_receiver_phone, bill_receiver_email, receiver_name, receiver_phone, receiver_post_code, receiver_province, receiver_city, receiver_region, receiver_detail_address, note, confirm_status, delete_status, use_integration, payment_time, delivery_time, receive_time, comment_time, modify_time, #{memberId,jdbcType=BIGINT}, #{couponId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{memberUsername,jdbcType=VARCHAR}, #{totalAmount,jdbcType=DECIMAL}, #{payAmount,jdbcType=DECIMAL}, #{freightAmount,jdbcType=DECIMAL}, #{promotionAmount,jdbcType=DECIMAL}, #{integrationAmount,jdbcType=DECIMAL}, #{couponAmount,jdbcType=DECIMAL}, #{discountAmount,jdbcType=DECIMAL}, #{payType,jdbcType=INTEGER}, #{sourceType,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{orderType,jdbcType=INTEGER}, #{deliveryCompany,jdbcType=VARCHAR}, #{deliverySn,jdbcType=VARCHAR}, #{autoConfirmDay,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER}, #{promotionInfo,jdbcType=VARCHAR}, #{billType,jdbcType=INTEGER}, #{billHeader,jdbcType=VARCHAR}, #{billContent,jdbcType=VARCHAR}, #{billReceiverPhone,jdbcType=VARCHAR}, #{billReceiverEmail,jdbcType=VARCHAR}, #{receiverName,jdbcType=VARCHAR}, #{receiverPhone,jdbcType=VARCHAR}, #{receiverPostCode,jdbcType=VARCHAR}, #{receiverProvince,jdbcType=VARCHAR}, #{receiverCity,jdbcType=VARCHAR}, #{receiverRegion,jdbcType=VARCHAR}, #{receiverDetailAddress,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{confirmStatus,jdbcType=INTEGER}, #{deleteStatus,jdbcType=INTEGER}, #{useIntegration,jdbcType=INTEGER}, #{paymentTime,jdbcType=TIMESTAMP}, #{deliveryTime,jdbcType=TIMESTAMP}, #{receiveTime,jdbcType=TIMESTAMP}, #{commentTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP}, update oms_order id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, coupon_id = #{row.couponId,jdbcType=BIGINT}, order_sn = #{row.orderSn,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, member_username = #{row.memberUsername,jdbcType=VARCHAR}, total_amount = #{row.totalAmount,jdbcType=DECIMAL}, pay_amount = #{row.payAmount,jdbcType=DECIMAL}, freight_amount = #{row.freightAmount,jdbcType=DECIMAL}, promotion_amount = #{row.promotionAmount,jdbcType=DECIMAL}, integration_amount = #{row.integrationAmount,jdbcType=DECIMAL}, coupon_amount = #{row.couponAmount,jdbcType=DECIMAL}, discount_amount = #{row.discountAmount,jdbcType=DECIMAL}, pay_type = #{row.payType,jdbcType=INTEGER}, source_type = #{row.sourceType,jdbcType=INTEGER}, status = #{row.status,jdbcType=INTEGER}, order_type = #{row.orderType,jdbcType=INTEGER}, delivery_company = #{row.deliveryCompany,jdbcType=VARCHAR}, delivery_sn = #{row.deliverySn,jdbcType=VARCHAR}, auto_confirm_day = #{row.autoConfirmDay,jdbcType=INTEGER}, integration = #{row.integration,jdbcType=INTEGER}, growth = #{row.growth,jdbcType=INTEGER}, promotion_info = #{row.promotionInfo,jdbcType=VARCHAR}, bill_type = #{row.billType,jdbcType=INTEGER}, bill_header = #{row.billHeader,jdbcType=VARCHAR}, bill_content = #{row.billContent,jdbcType=VARCHAR}, bill_receiver_phone = #{row.billReceiverPhone,jdbcType=VARCHAR}, bill_receiver_email = #{row.billReceiverEmail,jdbcType=VARCHAR}, receiver_name = #{row.receiverName,jdbcType=VARCHAR}, receiver_phone = #{row.receiverPhone,jdbcType=VARCHAR}, receiver_post_code = #{row.receiverPostCode,jdbcType=VARCHAR}, receiver_province = #{row.receiverProvince,jdbcType=VARCHAR}, receiver_city = #{row.receiverCity,jdbcType=VARCHAR}, receiver_region = #{row.receiverRegion,jdbcType=VARCHAR}, receiver_detail_address = #{row.receiverDetailAddress,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, confirm_status = #{row.confirmStatus,jdbcType=INTEGER}, delete_status = #{row.deleteStatus,jdbcType=INTEGER}, use_integration = #{row.useIntegration,jdbcType=INTEGER}, payment_time = #{row.paymentTime,jdbcType=TIMESTAMP}, delivery_time = #{row.deliveryTime,jdbcType=TIMESTAMP}, receive_time = #{row.receiveTime,jdbcType=TIMESTAMP}, comment_time = #{row.commentTime,jdbcType=TIMESTAMP}, modify_time = #{row.modifyTime,jdbcType=TIMESTAMP}, update oms_order set id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, coupon_id = #{row.couponId,jdbcType=BIGINT}, order_sn = #{row.orderSn,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, member_username = #{row.memberUsername,jdbcType=VARCHAR}, total_amount = #{row.totalAmount,jdbcType=DECIMAL}, pay_amount = #{row.payAmount,jdbcType=DECIMAL}, freight_amount = #{row.freightAmount,jdbcType=DECIMAL}, promotion_amount = #{row.promotionAmount,jdbcType=DECIMAL}, integration_amount = #{row.integrationAmount,jdbcType=DECIMAL}, coupon_amount = #{row.couponAmount,jdbcType=DECIMAL}, discount_amount = #{row.discountAmount,jdbcType=DECIMAL}, pay_type = #{row.payType,jdbcType=INTEGER}, source_type = #{row.sourceType,jdbcType=INTEGER}, status = #{row.status,jdbcType=INTEGER}, order_type = #{row.orderType,jdbcType=INTEGER}, delivery_company = #{row.deliveryCompany,jdbcType=VARCHAR}, delivery_sn = #{row.deliverySn,jdbcType=VARCHAR}, auto_confirm_day = #{row.autoConfirmDay,jdbcType=INTEGER}, integration = #{row.integration,jdbcType=INTEGER}, growth = #{row.growth,jdbcType=INTEGER}, promotion_info = #{row.promotionInfo,jdbcType=VARCHAR}, bill_type = #{row.billType,jdbcType=INTEGER}, bill_header = #{row.billHeader,jdbcType=VARCHAR}, bill_content = #{row.billContent,jdbcType=VARCHAR}, bill_receiver_phone = #{row.billReceiverPhone,jdbcType=VARCHAR}, bill_receiver_email = #{row.billReceiverEmail,jdbcType=VARCHAR}, receiver_name = #{row.receiverName,jdbcType=VARCHAR}, receiver_phone = #{row.receiverPhone,jdbcType=VARCHAR}, receiver_post_code = #{row.receiverPostCode,jdbcType=VARCHAR}, receiver_province = #{row.receiverProvince,jdbcType=VARCHAR}, receiver_city = #{row.receiverCity,jdbcType=VARCHAR}, receiver_region = #{row.receiverRegion,jdbcType=VARCHAR}, receiver_detail_address = #{row.receiverDetailAddress,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, confirm_status = #{row.confirmStatus,jdbcType=INTEGER}, delete_status = #{row.deleteStatus,jdbcType=INTEGER}, use_integration = #{row.useIntegration,jdbcType=INTEGER}, payment_time = #{row.paymentTime,jdbcType=TIMESTAMP}, delivery_time = #{row.deliveryTime,jdbcType=TIMESTAMP}, receive_time = #{row.receiveTime,jdbcType=TIMESTAMP}, comment_time = #{row.commentTime,jdbcType=TIMESTAMP}, modify_time = #{row.modifyTime,jdbcType=TIMESTAMP} update oms_order member_id = #{memberId,jdbcType=BIGINT}, coupon_id = #{couponId,jdbcType=BIGINT}, order_sn = #{orderSn,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, member_username = #{memberUsername,jdbcType=VARCHAR}, total_amount = #{totalAmount,jdbcType=DECIMAL}, pay_amount = #{payAmount,jdbcType=DECIMAL}, freight_amount = #{freightAmount,jdbcType=DECIMAL}, promotion_amount = #{promotionAmount,jdbcType=DECIMAL}, integration_amount = #{integrationAmount,jdbcType=DECIMAL}, coupon_amount = #{couponAmount,jdbcType=DECIMAL}, discount_amount = #{discountAmount,jdbcType=DECIMAL}, pay_type = #{payType,jdbcType=INTEGER}, source_type = #{sourceType,jdbcType=INTEGER}, status = #{status,jdbcType=INTEGER}, order_type = #{orderType,jdbcType=INTEGER}, delivery_company = #{deliveryCompany,jdbcType=VARCHAR}, delivery_sn = #{deliverySn,jdbcType=VARCHAR}, auto_confirm_day = #{autoConfirmDay,jdbcType=INTEGER}, integration = #{integration,jdbcType=INTEGER}, growth = #{growth,jdbcType=INTEGER}, promotion_info = #{promotionInfo,jdbcType=VARCHAR}, bill_type = #{billType,jdbcType=INTEGER}, bill_header = #{billHeader,jdbcType=VARCHAR}, bill_content = #{billContent,jdbcType=VARCHAR}, bill_receiver_phone = #{billReceiverPhone,jdbcType=VARCHAR}, bill_receiver_email = #{billReceiverEmail,jdbcType=VARCHAR}, receiver_name = #{receiverName,jdbcType=VARCHAR}, receiver_phone = #{receiverPhone,jdbcType=VARCHAR}, receiver_post_code = #{receiverPostCode,jdbcType=VARCHAR}, receiver_province = #{receiverProvince,jdbcType=VARCHAR}, receiver_city = #{receiverCity,jdbcType=VARCHAR}, receiver_region = #{receiverRegion,jdbcType=VARCHAR}, receiver_detail_address = #{receiverDetailAddress,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, confirm_status = #{confirmStatus,jdbcType=INTEGER}, delete_status = #{deleteStatus,jdbcType=INTEGER}, use_integration = #{useIntegration,jdbcType=INTEGER}, payment_time = #{paymentTime,jdbcType=TIMESTAMP}, delivery_time = #{deliveryTime,jdbcType=TIMESTAMP}, receive_time = #{receiveTime,jdbcType=TIMESTAMP}, comment_time = #{commentTime,jdbcType=TIMESTAMP}, modify_time = #{modifyTime,jdbcType=TIMESTAMP}, where id = #{id,jdbcType=BIGINT} update oms_order set member_id = #{memberId,jdbcType=BIGINT}, coupon_id = #{couponId,jdbcType=BIGINT}, order_sn = #{orderSn,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, member_username = #{memberUsername,jdbcType=VARCHAR}, total_amount = #{totalAmount,jdbcType=DECIMAL}, pay_amount = #{payAmount,jdbcType=DECIMAL}, freight_amount = #{freightAmount,jdbcType=DECIMAL}, promotion_amount = #{promotionAmount,jdbcType=DECIMAL}, integration_amount = #{integrationAmount,jdbcType=DECIMAL}, coupon_amount = #{couponAmount,jdbcType=DECIMAL}, discount_amount = #{discountAmount,jdbcType=DECIMAL}, pay_type = #{payType,jdbcType=INTEGER}, source_type = #{sourceType,jdbcType=INTEGER}, status = #{status,jdbcType=INTEGER}, order_type = #{orderType,jdbcType=INTEGER}, delivery_company = #{deliveryCompany,jdbcType=VARCHAR}, delivery_sn = #{deliverySn,jdbcType=VARCHAR}, auto_confirm_day = #{autoConfirmDay,jdbcType=INTEGER}, integration = #{integration,jdbcType=INTEGER}, growth = #{growth,jdbcType=INTEGER}, promotion_info = #{promotionInfo,jdbcType=VARCHAR}, bill_type = #{billType,jdbcType=INTEGER}, bill_header = #{billHeader,jdbcType=VARCHAR}, bill_content = #{billContent,jdbcType=VARCHAR}, bill_receiver_phone = #{billReceiverPhone,jdbcType=VARCHAR}, bill_receiver_email = #{billReceiverEmail,jdbcType=VARCHAR}, receiver_name = #{receiverName,jdbcType=VARCHAR}, receiver_phone = #{receiverPhone,jdbcType=VARCHAR}, receiver_post_code = #{receiverPostCode,jdbcType=VARCHAR}, receiver_province = #{receiverProvince,jdbcType=VARCHAR}, receiver_city = #{receiverCity,jdbcType=VARCHAR}, receiver_region = #{receiverRegion,jdbcType=VARCHAR}, receiver_detail_address = #{receiverDetailAddress,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, confirm_status = #{confirmStatus,jdbcType=INTEGER}, delete_status = #{deleteStatus,jdbcType=INTEGER}, use_integration = #{useIntegration,jdbcType=INTEGER}, payment_time = #{paymentTime,jdbcType=TIMESTAMP}, delivery_time = #{deliveryTime,jdbcType=TIMESTAMP}, receive_time = #{receiveTime,jdbcType=TIMESTAMP}, comment_time = #{commentTime,jdbcType=TIMESTAMP}, modify_time = #{modifyTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderOperateHistoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, order_id, operate_man, create_time, order_status, note delete from oms_order_operate_history where id = #{id,jdbcType=BIGINT} delete from oms_order_operate_history SELECT LAST_INSERT_ID() insert into oms_order_operate_history (order_id, operate_man, create_time, order_status, note) values (#{orderId,jdbcType=BIGINT}, #{operateMan,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{orderStatus,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into oms_order_operate_history order_id, operate_man, create_time, order_status, note, #{orderId,jdbcType=BIGINT}, #{operateMan,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{orderStatus,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}, update oms_order_operate_history id = #{row.id,jdbcType=BIGINT}, order_id = #{row.orderId,jdbcType=BIGINT}, operate_man = #{row.operateMan,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, order_status = #{row.orderStatus,jdbcType=INTEGER}, note = #{row.note,jdbcType=VARCHAR}, update oms_order_operate_history set id = #{row.id,jdbcType=BIGINT}, order_id = #{row.orderId,jdbcType=BIGINT}, operate_man = #{row.operateMan,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, order_status = #{row.orderStatus,jdbcType=INTEGER}, note = #{row.note,jdbcType=VARCHAR} update oms_order_operate_history order_id = #{orderId,jdbcType=BIGINT}, operate_man = #{operateMan,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, order_status = #{orderStatus,jdbcType=INTEGER}, note = #{note,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update oms_order_operate_history set order_id = #{orderId,jdbcType=BIGINT}, operate_man = #{operateMan,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, order_status = #{orderStatus,jdbcType=INTEGER}, note = #{note,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderReturnApplyMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, order_id, company_address_id, product_id, order_sn, create_time, member_username, return_amount, return_name, return_phone, status, handle_time, product_pic, product_name, product_brand, product_attr, product_count, product_price, product_real_price, reason, description, proof_pics, handle_note, handle_man, receive_man, receive_time, receive_note delete from oms_order_return_apply where id = #{id,jdbcType=BIGINT} delete from oms_order_return_apply SELECT LAST_INSERT_ID() insert into oms_order_return_apply (order_id, company_address_id, product_id, order_sn, create_time, member_username, return_amount, return_name, return_phone, status, handle_time, product_pic, product_name, product_brand, product_attr, product_count, product_price, product_real_price, reason, description, proof_pics, handle_note, handle_man, receive_man, receive_time, receive_note) values (#{orderId,jdbcType=BIGINT}, #{companyAddressId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{memberUsername,jdbcType=VARCHAR}, #{returnAmount,jdbcType=DECIMAL}, #{returnName,jdbcType=VARCHAR}, #{returnPhone,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{handleTime,jdbcType=TIMESTAMP}, #{productPic,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{productBrand,jdbcType=VARCHAR}, #{productAttr,jdbcType=VARCHAR}, #{productCount,jdbcType=INTEGER}, #{productPrice,jdbcType=DECIMAL}, #{productRealPrice,jdbcType=DECIMAL}, #{reason,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{proofPics,jdbcType=VARCHAR}, #{handleNote,jdbcType=VARCHAR}, #{handleMan,jdbcType=VARCHAR}, #{receiveMan,jdbcType=VARCHAR}, #{receiveTime,jdbcType=TIMESTAMP}, #{receiveNote,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into oms_order_return_apply order_id, company_address_id, product_id, order_sn, create_time, member_username, return_amount, return_name, return_phone, status, handle_time, product_pic, product_name, product_brand, product_attr, product_count, product_price, product_real_price, reason, description, proof_pics, handle_note, handle_man, receive_man, receive_time, receive_note, #{orderId,jdbcType=BIGINT}, #{companyAddressId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{memberUsername,jdbcType=VARCHAR}, #{returnAmount,jdbcType=DECIMAL}, #{returnName,jdbcType=VARCHAR}, #{returnPhone,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{handleTime,jdbcType=TIMESTAMP}, #{productPic,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{productBrand,jdbcType=VARCHAR}, #{productAttr,jdbcType=VARCHAR}, #{productCount,jdbcType=INTEGER}, #{productPrice,jdbcType=DECIMAL}, #{productRealPrice,jdbcType=DECIMAL}, #{reason,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{proofPics,jdbcType=VARCHAR}, #{handleNote,jdbcType=VARCHAR}, #{handleMan,jdbcType=VARCHAR}, #{receiveMan,jdbcType=VARCHAR}, #{receiveTime,jdbcType=TIMESTAMP}, #{receiveNote,jdbcType=VARCHAR}, update oms_order_return_apply id = #{row.id,jdbcType=BIGINT}, order_id = #{row.orderId,jdbcType=BIGINT}, company_address_id = #{row.companyAddressId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, order_sn = #{row.orderSn,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, member_username = #{row.memberUsername,jdbcType=VARCHAR}, return_amount = #{row.returnAmount,jdbcType=DECIMAL}, return_name = #{row.returnName,jdbcType=VARCHAR}, return_phone = #{row.returnPhone,jdbcType=VARCHAR}, status = #{row.status,jdbcType=INTEGER}, handle_time = #{row.handleTime,jdbcType=TIMESTAMP}, product_pic = #{row.productPic,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, product_brand = #{row.productBrand,jdbcType=VARCHAR}, product_attr = #{row.productAttr,jdbcType=VARCHAR}, product_count = #{row.productCount,jdbcType=INTEGER}, product_price = #{row.productPrice,jdbcType=DECIMAL}, product_real_price = #{row.productRealPrice,jdbcType=DECIMAL}, reason = #{row.reason,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, proof_pics = #{row.proofPics,jdbcType=VARCHAR}, handle_note = #{row.handleNote,jdbcType=VARCHAR}, handle_man = #{row.handleMan,jdbcType=VARCHAR}, receive_man = #{row.receiveMan,jdbcType=VARCHAR}, receive_time = #{row.receiveTime,jdbcType=TIMESTAMP}, receive_note = #{row.receiveNote,jdbcType=VARCHAR}, update oms_order_return_apply set id = #{row.id,jdbcType=BIGINT}, order_id = #{row.orderId,jdbcType=BIGINT}, company_address_id = #{row.companyAddressId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, order_sn = #{row.orderSn,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, member_username = #{row.memberUsername,jdbcType=VARCHAR}, return_amount = #{row.returnAmount,jdbcType=DECIMAL}, return_name = #{row.returnName,jdbcType=VARCHAR}, return_phone = #{row.returnPhone,jdbcType=VARCHAR}, status = #{row.status,jdbcType=INTEGER}, handle_time = #{row.handleTime,jdbcType=TIMESTAMP}, product_pic = #{row.productPic,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, product_brand = #{row.productBrand,jdbcType=VARCHAR}, product_attr = #{row.productAttr,jdbcType=VARCHAR}, product_count = #{row.productCount,jdbcType=INTEGER}, product_price = #{row.productPrice,jdbcType=DECIMAL}, product_real_price = #{row.productRealPrice,jdbcType=DECIMAL}, reason = #{row.reason,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, proof_pics = #{row.proofPics,jdbcType=VARCHAR}, handle_note = #{row.handleNote,jdbcType=VARCHAR}, handle_man = #{row.handleMan,jdbcType=VARCHAR}, receive_man = #{row.receiveMan,jdbcType=VARCHAR}, receive_time = #{row.receiveTime,jdbcType=TIMESTAMP}, receive_note = #{row.receiveNote,jdbcType=VARCHAR} update oms_order_return_apply order_id = #{orderId,jdbcType=BIGINT}, company_address_id = #{companyAddressId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT}, order_sn = #{orderSn,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, member_username = #{memberUsername,jdbcType=VARCHAR}, return_amount = #{returnAmount,jdbcType=DECIMAL}, return_name = #{returnName,jdbcType=VARCHAR}, return_phone = #{returnPhone,jdbcType=VARCHAR}, status = #{status,jdbcType=INTEGER}, handle_time = #{handleTime,jdbcType=TIMESTAMP}, product_pic = #{productPic,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, product_brand = #{productBrand,jdbcType=VARCHAR}, product_attr = #{productAttr,jdbcType=VARCHAR}, product_count = #{productCount,jdbcType=INTEGER}, product_price = #{productPrice,jdbcType=DECIMAL}, product_real_price = #{productRealPrice,jdbcType=DECIMAL}, reason = #{reason,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, proof_pics = #{proofPics,jdbcType=VARCHAR}, handle_note = #{handleNote,jdbcType=VARCHAR}, handle_man = #{handleMan,jdbcType=VARCHAR}, receive_man = #{receiveMan,jdbcType=VARCHAR}, receive_time = #{receiveTime,jdbcType=TIMESTAMP}, receive_note = #{receiveNote,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update oms_order_return_apply set order_id = #{orderId,jdbcType=BIGINT}, company_address_id = #{companyAddressId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT}, order_sn = #{orderSn,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, member_username = #{memberUsername,jdbcType=VARCHAR}, return_amount = #{returnAmount,jdbcType=DECIMAL}, return_name = #{returnName,jdbcType=VARCHAR}, return_phone = #{returnPhone,jdbcType=VARCHAR}, status = #{status,jdbcType=INTEGER}, handle_time = #{handleTime,jdbcType=TIMESTAMP}, product_pic = #{productPic,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, product_brand = #{productBrand,jdbcType=VARCHAR}, product_attr = #{productAttr,jdbcType=VARCHAR}, product_count = #{productCount,jdbcType=INTEGER}, product_price = #{productPrice,jdbcType=DECIMAL}, product_real_price = #{productRealPrice,jdbcType=DECIMAL}, reason = #{reason,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, proof_pics = #{proofPics,jdbcType=VARCHAR}, handle_note = #{handleNote,jdbcType=VARCHAR}, handle_man = #{handleMan,jdbcType=VARCHAR}, receive_man = #{receiveMan,jdbcType=VARCHAR}, receive_time = #{receiveTime,jdbcType=TIMESTAMP}, receive_note = #{receiveNote,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderReturnReasonMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, sort, status, create_time delete from oms_order_return_reason where id = #{id,jdbcType=BIGINT} delete from oms_order_return_reason SELECT LAST_INSERT_ID() insert into oms_order_return_reason (name, sort, status, create_time) values (#{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}) SELECT LAST_INSERT_ID() insert into oms_order_return_reason name, sort, status, create_time, #{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, update oms_order_return_reason id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, update oms_order_return_reason set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP} update oms_order_return_reason name = #{name,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, where id = #{id,jdbcType=BIGINT} update oms_order_return_reason set name = #{name,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderSettingMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, flash_order_overtime, normal_order_overtime, confirm_overtime, finish_overtime, comment_overtime delete from oms_order_setting where id = #{id,jdbcType=BIGINT} delete from oms_order_setting SELECT LAST_INSERT_ID() insert into oms_order_setting (flash_order_overtime, normal_order_overtime, confirm_overtime, finish_overtime, comment_overtime ) values (#{flashOrderOvertime,jdbcType=INTEGER}, #{normalOrderOvertime,jdbcType=INTEGER}, #{confirmOvertime,jdbcType=INTEGER}, #{finishOvertime,jdbcType=INTEGER}, #{commentOvertime,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into oms_order_setting flash_order_overtime, normal_order_overtime, confirm_overtime, finish_overtime, comment_overtime, #{flashOrderOvertime,jdbcType=INTEGER}, #{normalOrderOvertime,jdbcType=INTEGER}, #{confirmOvertime,jdbcType=INTEGER}, #{finishOvertime,jdbcType=INTEGER}, #{commentOvertime,jdbcType=INTEGER}, update oms_order_setting id = #{row.id,jdbcType=BIGINT}, flash_order_overtime = #{row.flashOrderOvertime,jdbcType=INTEGER}, normal_order_overtime = #{row.normalOrderOvertime,jdbcType=INTEGER}, confirm_overtime = #{row.confirmOvertime,jdbcType=INTEGER}, finish_overtime = #{row.finishOvertime,jdbcType=INTEGER}, comment_overtime = #{row.commentOvertime,jdbcType=INTEGER}, update oms_order_setting set id = #{row.id,jdbcType=BIGINT}, flash_order_overtime = #{row.flashOrderOvertime,jdbcType=INTEGER}, normal_order_overtime = #{row.normalOrderOvertime,jdbcType=INTEGER}, confirm_overtime = #{row.confirmOvertime,jdbcType=INTEGER}, finish_overtime = #{row.finishOvertime,jdbcType=INTEGER}, comment_overtime = #{row.commentOvertime,jdbcType=INTEGER} update oms_order_setting flash_order_overtime = #{flashOrderOvertime,jdbcType=INTEGER}, normal_order_overtime = #{normalOrderOvertime,jdbcType=INTEGER}, confirm_overtime = #{confirmOvertime,jdbcType=INTEGER}, finish_overtime = #{finishOvertime,jdbcType=INTEGER}, comment_overtime = #{commentOvertime,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update oms_order_setting set flash_order_overtime = #{flashOrderOvertime,jdbcType=INTEGER}, normal_order_overtime = #{normalOrderOvertime,jdbcType=INTEGER}, confirm_overtime = #{confirmOvertime,jdbcType=INTEGER}, finish_overtime = #{finishOvertime,jdbcType=INTEGER}, comment_overtime = #{commentOvertime,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsAlbumMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, cover_pic, pic_count, sort, description delete from pms_album where id = #{id,jdbcType=BIGINT} delete from pms_album SELECT LAST_INSERT_ID() insert into pms_album (name, cover_pic, pic_count, sort, description) values (#{name,jdbcType=VARCHAR}, #{coverPic,jdbcType=VARCHAR}, #{picCount,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{description,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into pms_album name, cover_pic, pic_count, sort, description, #{name,jdbcType=VARCHAR}, #{coverPic,jdbcType=VARCHAR}, #{picCount,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{description,jdbcType=VARCHAR}, update pms_album id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, cover_pic = #{row.coverPic,jdbcType=VARCHAR}, pic_count = #{row.picCount,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, description = #{row.description,jdbcType=VARCHAR}, update pms_album set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, cover_pic = #{row.coverPic,jdbcType=VARCHAR}, pic_count = #{row.picCount,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, description = #{row.description,jdbcType=VARCHAR} update pms_album name = #{name,jdbcType=VARCHAR}, cover_pic = #{coverPic,jdbcType=VARCHAR}, pic_count = #{picCount,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, description = #{description,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_album set name = #{name,jdbcType=VARCHAR}, cover_pic = #{coverPic,jdbcType=VARCHAR}, pic_count = #{picCount,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, description = #{description,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsAlbumPicMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, album_id, pic delete from pms_album_pic where id = #{id,jdbcType=BIGINT} delete from pms_album_pic SELECT LAST_INSERT_ID() insert into pms_album_pic (album_id, pic) values (#{albumId,jdbcType=BIGINT}, #{pic,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into pms_album_pic album_id, pic, #{albumId,jdbcType=BIGINT}, #{pic,jdbcType=VARCHAR}, update pms_album_pic id = #{row.id,jdbcType=BIGINT}, album_id = #{row.albumId,jdbcType=BIGINT}, pic = #{row.pic,jdbcType=VARCHAR}, update pms_album_pic set id = #{row.id,jdbcType=BIGINT}, album_id = #{row.albumId,jdbcType=BIGINT}, pic = #{row.pic,jdbcType=VARCHAR} update pms_album_pic album_id = #{albumId,jdbcType=BIGINT}, pic = #{pic,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_album_pic set album_id = #{albumId,jdbcType=BIGINT}, pic = #{pic,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsBrandMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, first_letter, sort, factory_status, show_status, product_count, product_comment_count, logo, big_pic brand_story delete from pms_brand where id = #{id,jdbcType=BIGINT} delete from pms_brand SELECT LAST_INSERT_ID() insert into pms_brand (name, first_letter, sort, factory_status, show_status, product_count, product_comment_count, logo, big_pic, brand_story) values (#{name,jdbcType=VARCHAR}, #{firstLetter,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{factoryStatus,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{productCount,jdbcType=INTEGER}, #{productCommentCount,jdbcType=INTEGER}, #{logo,jdbcType=VARCHAR}, #{bigPic,jdbcType=VARCHAR}, #{brandStory,jdbcType=LONGVARCHAR}) SELECT LAST_INSERT_ID() insert into pms_brand name, first_letter, sort, factory_status, show_status, product_count, product_comment_count, logo, big_pic, brand_story, #{name,jdbcType=VARCHAR}, #{firstLetter,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{factoryStatus,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{productCount,jdbcType=INTEGER}, #{productCommentCount,jdbcType=INTEGER}, #{logo,jdbcType=VARCHAR}, #{bigPic,jdbcType=VARCHAR}, #{brandStory,jdbcType=LONGVARCHAR}, update pms_brand id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, first_letter = #{row.firstLetter,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, factory_status = #{row.factoryStatus,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, product_count = #{row.productCount,jdbcType=INTEGER}, product_comment_count = #{row.productCommentCount,jdbcType=INTEGER}, logo = #{row.logo,jdbcType=VARCHAR}, big_pic = #{row.bigPic,jdbcType=VARCHAR}, brand_story = #{row.brandStory,jdbcType=LONGVARCHAR}, update pms_brand set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, first_letter = #{row.firstLetter,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, factory_status = #{row.factoryStatus,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, product_count = #{row.productCount,jdbcType=INTEGER}, product_comment_count = #{row.productCommentCount,jdbcType=INTEGER}, logo = #{row.logo,jdbcType=VARCHAR}, big_pic = #{row.bigPic,jdbcType=VARCHAR}, brand_story = #{row.brandStory,jdbcType=LONGVARCHAR} update pms_brand set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, first_letter = #{row.firstLetter,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, factory_status = #{row.factoryStatus,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, product_count = #{row.productCount,jdbcType=INTEGER}, product_comment_count = #{row.productCommentCount,jdbcType=INTEGER}, logo = #{row.logo,jdbcType=VARCHAR}, big_pic = #{row.bigPic,jdbcType=VARCHAR} update pms_brand name = #{name,jdbcType=VARCHAR}, first_letter = #{firstLetter,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, factory_status = #{factoryStatus,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, product_count = #{productCount,jdbcType=INTEGER}, product_comment_count = #{productCommentCount,jdbcType=INTEGER}, logo = #{logo,jdbcType=VARCHAR}, big_pic = #{bigPic,jdbcType=VARCHAR}, brand_story = #{brandStory,jdbcType=LONGVARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_brand set name = #{name,jdbcType=VARCHAR}, first_letter = #{firstLetter,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, factory_status = #{factoryStatus,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, product_count = #{productCount,jdbcType=INTEGER}, product_comment_count = #{productCommentCount,jdbcType=INTEGER}, logo = #{logo,jdbcType=VARCHAR}, big_pic = #{bigPic,jdbcType=VARCHAR}, brand_story = #{brandStory,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=BIGINT} update pms_brand set name = #{name,jdbcType=VARCHAR}, first_letter = #{firstLetter,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, factory_status = #{factoryStatus,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, product_count = #{productCount,jdbcType=INTEGER}, product_comment_count = #{productCommentCount,jdbcType=INTEGER}, logo = #{logo,jdbcType=VARCHAR}, big_pic = #{bigPic,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsCommentMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, member_nick_name, product_name, star, member_ip, create_time, show_status, product_attribute, collect_couont, read_count, pics, member_icon, replay_count content delete from pms_comment where id = #{id,jdbcType=BIGINT} delete from pms_comment SELECT LAST_INSERT_ID() insert into pms_comment (product_id, member_nick_name, product_name, star, member_ip, create_time, show_status, product_attribute, collect_couont, read_count, pics, member_icon, replay_count, content) values (#{productId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{star,jdbcType=INTEGER}, #{memberIp,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{showStatus,jdbcType=INTEGER}, #{productAttribute,jdbcType=VARCHAR}, #{collectCouont,jdbcType=INTEGER}, #{readCount,jdbcType=INTEGER}, #{pics,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, #{replayCount,jdbcType=INTEGER}, #{content,jdbcType=LONGVARCHAR}) SELECT LAST_INSERT_ID() insert into pms_comment product_id, member_nick_name, product_name, star, member_ip, create_time, show_status, product_attribute, collect_couont, read_count, pics, member_icon, replay_count, content, #{productId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{star,jdbcType=INTEGER}, #{memberIp,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{showStatus,jdbcType=INTEGER}, #{productAttribute,jdbcType=VARCHAR}, #{collectCouont,jdbcType=INTEGER}, #{readCount,jdbcType=INTEGER}, #{pics,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, #{replayCount,jdbcType=INTEGER}, #{content,jdbcType=LONGVARCHAR}, update pms_comment id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, star = #{row.star,jdbcType=INTEGER}, member_ip = #{row.memberIp,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, show_status = #{row.showStatus,jdbcType=INTEGER}, product_attribute = #{row.productAttribute,jdbcType=VARCHAR}, collect_couont = #{row.collectCouont,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, pics = #{row.pics,jdbcType=VARCHAR}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, replay_count = #{row.replayCount,jdbcType=INTEGER}, content = #{row.content,jdbcType=LONGVARCHAR}, update pms_comment set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, star = #{row.star,jdbcType=INTEGER}, member_ip = #{row.memberIp,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, show_status = #{row.showStatus,jdbcType=INTEGER}, product_attribute = #{row.productAttribute,jdbcType=VARCHAR}, collect_couont = #{row.collectCouont,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, pics = #{row.pics,jdbcType=VARCHAR}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, replay_count = #{row.replayCount,jdbcType=INTEGER}, content = #{row.content,jdbcType=LONGVARCHAR} update pms_comment set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, star = #{row.star,jdbcType=INTEGER}, member_ip = #{row.memberIp,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, show_status = #{row.showStatus,jdbcType=INTEGER}, product_attribute = #{row.productAttribute,jdbcType=VARCHAR}, collect_couont = #{row.collectCouont,jdbcType=INTEGER}, read_count = #{row.readCount,jdbcType=INTEGER}, pics = #{row.pics,jdbcType=VARCHAR}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, replay_count = #{row.replayCount,jdbcType=INTEGER} update pms_comment product_id = #{productId,jdbcType=BIGINT}, member_nick_name = #{memberNickName,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, star = #{star,jdbcType=INTEGER}, member_ip = #{memberIp,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, show_status = #{showStatus,jdbcType=INTEGER}, product_attribute = #{productAttribute,jdbcType=VARCHAR}, collect_couont = #{collectCouont,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, pics = #{pics,jdbcType=VARCHAR}, member_icon = #{memberIcon,jdbcType=VARCHAR}, replay_count = #{replayCount,jdbcType=INTEGER}, content = #{content,jdbcType=LONGVARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_comment set product_id = #{productId,jdbcType=BIGINT}, member_nick_name = #{memberNickName,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, star = #{star,jdbcType=INTEGER}, member_ip = #{memberIp,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, show_status = #{showStatus,jdbcType=INTEGER}, product_attribute = #{productAttribute,jdbcType=VARCHAR}, collect_couont = #{collectCouont,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, pics = #{pics,jdbcType=VARCHAR}, member_icon = #{memberIcon,jdbcType=VARCHAR}, replay_count = #{replayCount,jdbcType=INTEGER}, content = #{content,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=BIGINT} update pms_comment set product_id = #{productId,jdbcType=BIGINT}, member_nick_name = #{memberNickName,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, star = #{star,jdbcType=INTEGER}, member_ip = #{memberIp,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, show_status = #{showStatus,jdbcType=INTEGER}, product_attribute = #{productAttribute,jdbcType=VARCHAR}, collect_couont = #{collectCouont,jdbcType=INTEGER}, read_count = #{readCount,jdbcType=INTEGER}, pics = #{pics,jdbcType=VARCHAR}, member_icon = #{memberIcon,jdbcType=VARCHAR}, replay_count = #{replayCount,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsCommentReplayMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, comment_id, member_nick_name, member_icon, content, create_time, type delete from pms_comment_replay where id = #{id,jdbcType=BIGINT} delete from pms_comment_replay SELECT LAST_INSERT_ID() insert into pms_comment_replay (comment_id, member_nick_name, member_icon, content, create_time, type ) values (#{commentId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{type,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into pms_comment_replay comment_id, member_nick_name, member_icon, content, create_time, type, #{commentId,jdbcType=BIGINT}, #{memberNickName,jdbcType=VARCHAR}, #{memberIcon,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{type,jdbcType=INTEGER}, update pms_comment_replay id = #{row.id,jdbcType=BIGINT}, comment_id = #{row.commentId,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, content = #{row.content,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, type = #{row.type,jdbcType=INTEGER}, update pms_comment_replay set id = #{row.id,jdbcType=BIGINT}, comment_id = #{row.commentId,jdbcType=BIGINT}, member_nick_name = #{row.memberNickName,jdbcType=VARCHAR}, member_icon = #{row.memberIcon,jdbcType=VARCHAR}, content = #{row.content,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, type = #{row.type,jdbcType=INTEGER} update pms_comment_replay comment_id = #{commentId,jdbcType=BIGINT}, member_nick_name = #{memberNickName,jdbcType=VARCHAR}, member_icon = #{memberIcon,jdbcType=VARCHAR}, content = #{content,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, type = #{type,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update pms_comment_replay set comment_id = #{commentId,jdbcType=BIGINT}, member_nick_name = #{memberNickName,jdbcType=VARCHAR}, member_icon = #{memberIcon,jdbcType=VARCHAR}, content = #{content,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, type = #{type,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsFeightTemplateMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, charge_type, first_weight, first_fee, continue_weight, continme_fee, dest delete from pms_feight_template where id = #{id,jdbcType=BIGINT} delete from pms_feight_template SELECT LAST_INSERT_ID() insert into pms_feight_template (name, charge_type, first_weight, first_fee, continue_weight, continme_fee, dest) values (#{name,jdbcType=VARCHAR}, #{chargeType,jdbcType=INTEGER}, #{firstWeight,jdbcType=DECIMAL}, #{firstFee,jdbcType=DECIMAL}, #{continueWeight,jdbcType=DECIMAL}, #{continmeFee,jdbcType=DECIMAL}, #{dest,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into pms_feight_template name, charge_type, first_weight, first_fee, continue_weight, continme_fee, dest, #{name,jdbcType=VARCHAR}, #{chargeType,jdbcType=INTEGER}, #{firstWeight,jdbcType=DECIMAL}, #{firstFee,jdbcType=DECIMAL}, #{continueWeight,jdbcType=DECIMAL}, #{continmeFee,jdbcType=DECIMAL}, #{dest,jdbcType=VARCHAR}, update pms_feight_template id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, charge_type = #{row.chargeType,jdbcType=INTEGER}, first_weight = #{row.firstWeight,jdbcType=DECIMAL}, first_fee = #{row.firstFee,jdbcType=DECIMAL}, continue_weight = #{row.continueWeight,jdbcType=DECIMAL}, continme_fee = #{row.continmeFee,jdbcType=DECIMAL}, dest = #{row.dest,jdbcType=VARCHAR}, update pms_feight_template set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, charge_type = #{row.chargeType,jdbcType=INTEGER}, first_weight = #{row.firstWeight,jdbcType=DECIMAL}, first_fee = #{row.firstFee,jdbcType=DECIMAL}, continue_weight = #{row.continueWeight,jdbcType=DECIMAL}, continme_fee = #{row.continmeFee,jdbcType=DECIMAL}, dest = #{row.dest,jdbcType=VARCHAR} update pms_feight_template name = #{name,jdbcType=VARCHAR}, charge_type = #{chargeType,jdbcType=INTEGER}, first_weight = #{firstWeight,jdbcType=DECIMAL}, first_fee = #{firstFee,jdbcType=DECIMAL}, continue_weight = #{continueWeight,jdbcType=DECIMAL}, continme_fee = #{continmeFee,jdbcType=DECIMAL}, dest = #{dest,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_feight_template set name = #{name,jdbcType=VARCHAR}, charge_type = #{chargeType,jdbcType=INTEGER}, first_weight = #{firstWeight,jdbcType=DECIMAL}, first_fee = #{firstFee,jdbcType=DECIMAL}, continue_weight = #{continueWeight,jdbcType=DECIMAL}, continme_fee = #{continmeFee,jdbcType=DECIMAL}, dest = #{dest,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsMemberPriceMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, member_level_id, member_price, member_level_name delete from pms_member_price where id = #{id,jdbcType=BIGINT} delete from pms_member_price SELECT LAST_INSERT_ID() insert into pms_member_price (product_id, member_level_id, member_price, member_level_name) values (#{productId,jdbcType=BIGINT}, #{memberLevelId,jdbcType=BIGINT}, #{memberPrice,jdbcType=DECIMAL}, #{memberLevelName,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into pms_member_price product_id, member_level_id, member_price, member_level_name, #{productId,jdbcType=BIGINT}, #{memberLevelId,jdbcType=BIGINT}, #{memberPrice,jdbcType=DECIMAL}, #{memberLevelName,jdbcType=VARCHAR}, update pms_member_price id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, member_level_id = #{row.memberLevelId,jdbcType=BIGINT}, member_price = #{row.memberPrice,jdbcType=DECIMAL}, member_level_name = #{row.memberLevelName,jdbcType=VARCHAR}, update pms_member_price set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, member_level_id = #{row.memberLevelId,jdbcType=BIGINT}, member_price = #{row.memberPrice,jdbcType=DECIMAL}, member_level_name = #{row.memberLevelName,jdbcType=VARCHAR} update pms_member_price product_id = #{productId,jdbcType=BIGINT}, member_level_id = #{memberLevelId,jdbcType=BIGINT}, member_price = #{memberPrice,jdbcType=DECIMAL}, member_level_name = #{memberLevelName,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_member_price set product_id = #{productId,jdbcType=BIGINT}, member_level_id = #{memberLevelId,jdbcType=BIGINT}, member_price = #{memberPrice,jdbcType=DECIMAL}, member_level_name = #{memberLevelName,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductAttributeCategoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, attribute_count, param_count delete from pms_product_attribute_category where id = #{id,jdbcType=BIGINT} delete from pms_product_attribute_category SELECT LAST_INSERT_ID() insert into pms_product_attribute_category (name, attribute_count, param_count ) values (#{name,jdbcType=VARCHAR}, #{attributeCount,jdbcType=INTEGER}, #{paramCount,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into pms_product_attribute_category name, attribute_count, param_count, #{name,jdbcType=VARCHAR}, #{attributeCount,jdbcType=INTEGER}, #{paramCount,jdbcType=INTEGER}, update pms_product_attribute_category id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, attribute_count = #{row.attributeCount,jdbcType=INTEGER}, param_count = #{row.paramCount,jdbcType=INTEGER}, update pms_product_attribute_category set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, attribute_count = #{row.attributeCount,jdbcType=INTEGER}, param_count = #{row.paramCount,jdbcType=INTEGER} update pms_product_attribute_category name = #{name,jdbcType=VARCHAR}, attribute_count = #{attributeCount,jdbcType=INTEGER}, param_count = #{paramCount,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update pms_product_attribute_category set name = #{name,jdbcType=VARCHAR}, attribute_count = #{attributeCount,jdbcType=INTEGER}, param_count = #{paramCount,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductAttributeMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_attribute_category_id, name, select_type, input_type, input_list, sort, filter_type, search_type, related_status, hand_add_status, type delete from pms_product_attribute where id = #{id,jdbcType=BIGINT} delete from pms_product_attribute SELECT LAST_INSERT_ID() insert into pms_product_attribute (product_attribute_category_id, name, select_type, input_type, input_list, sort, filter_type, search_type, related_status, hand_add_status, type ) values (#{productAttributeCategoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{selectType,jdbcType=INTEGER}, #{inputType,jdbcType=INTEGER}, #{inputList,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{filterType,jdbcType=INTEGER}, #{searchType,jdbcType=INTEGER}, #{relatedStatus,jdbcType=INTEGER}, #{handAddStatus,jdbcType=INTEGER}, #{type,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into pms_product_attribute product_attribute_category_id, name, select_type, input_type, input_list, sort, filter_type, search_type, related_status, hand_add_status, type, #{productAttributeCategoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{selectType,jdbcType=INTEGER}, #{inputType,jdbcType=INTEGER}, #{inputList,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, #{filterType,jdbcType=INTEGER}, #{searchType,jdbcType=INTEGER}, #{relatedStatus,jdbcType=INTEGER}, #{handAddStatus,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}, update pms_product_attribute id = #{row.id,jdbcType=BIGINT}, product_attribute_category_id = #{row.productAttributeCategoryId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, select_type = #{row.selectType,jdbcType=INTEGER}, input_type = #{row.inputType,jdbcType=INTEGER}, input_list = #{row.inputList,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, filter_type = #{row.filterType,jdbcType=INTEGER}, search_type = #{row.searchType,jdbcType=INTEGER}, related_status = #{row.relatedStatus,jdbcType=INTEGER}, hand_add_status = #{row.handAddStatus,jdbcType=INTEGER}, type = #{row.type,jdbcType=INTEGER}, update pms_product_attribute set id = #{row.id,jdbcType=BIGINT}, product_attribute_category_id = #{row.productAttributeCategoryId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, select_type = #{row.selectType,jdbcType=INTEGER}, input_type = #{row.inputType,jdbcType=INTEGER}, input_list = #{row.inputList,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, filter_type = #{row.filterType,jdbcType=INTEGER}, search_type = #{row.searchType,jdbcType=INTEGER}, related_status = #{row.relatedStatus,jdbcType=INTEGER}, hand_add_status = #{row.handAddStatus,jdbcType=INTEGER}, type = #{row.type,jdbcType=INTEGER} update pms_product_attribute product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, select_type = #{selectType,jdbcType=INTEGER}, input_type = #{inputType,jdbcType=INTEGER}, input_list = #{inputList,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, filter_type = #{filterType,jdbcType=INTEGER}, search_type = #{searchType,jdbcType=INTEGER}, related_status = #{relatedStatus,jdbcType=INTEGER}, hand_add_status = #{handAddStatus,jdbcType=INTEGER}, type = #{type,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update pms_product_attribute set product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, select_type = #{selectType,jdbcType=INTEGER}, input_type = #{inputType,jdbcType=INTEGER}, input_list = #{inputList,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, filter_type = #{filterType,jdbcType=INTEGER}, search_type = #{searchType,jdbcType=INTEGER}, related_status = #{relatedStatus,jdbcType=INTEGER}, hand_add_status = #{handAddStatus,jdbcType=INTEGER}, type = #{type,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductAttributeValueMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, product_attribute_id, value delete from pms_product_attribute_value where id = #{id,jdbcType=BIGINT} delete from pms_product_attribute_value SELECT LAST_INSERT_ID() insert into pms_product_attribute_value (product_id, product_attribute_id, value ) values (#{productId,jdbcType=BIGINT}, #{productAttributeId,jdbcType=BIGINT}, #{value,jdbcType=VARCHAR} ) SELECT LAST_INSERT_ID() insert into pms_product_attribute_value product_id, product_attribute_id, value, #{productId,jdbcType=BIGINT}, #{productAttributeId,jdbcType=BIGINT}, #{value,jdbcType=VARCHAR}, update pms_product_attribute_value id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_attribute_id = #{row.productAttributeId,jdbcType=BIGINT}, value = #{row.value,jdbcType=VARCHAR}, update pms_product_attribute_value set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_attribute_id = #{row.productAttributeId,jdbcType=BIGINT}, value = #{row.value,jdbcType=VARCHAR} update pms_product_attribute_value product_id = #{productId,jdbcType=BIGINT}, product_attribute_id = #{productAttributeId,jdbcType=BIGINT}, value = #{value,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_product_attribute_value set product_id = #{productId,jdbcType=BIGINT}, product_attribute_id = #{productAttributeId,jdbcType=BIGINT}, value = #{value,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductCategoryAttributeRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_category_id, product_attribute_id delete from pms_product_category_attribute_relation where id = #{id,jdbcType=BIGINT} delete from pms_product_category_attribute_relation SELECT LAST_INSERT_ID() insert into pms_product_category_attribute_relation (product_category_id, product_attribute_id ) values (#{productCategoryId,jdbcType=BIGINT}, #{productAttributeId,jdbcType=BIGINT} ) SELECT LAST_INSERT_ID() insert into pms_product_category_attribute_relation product_category_id, product_attribute_id, #{productCategoryId,jdbcType=BIGINT}, #{productAttributeId,jdbcType=BIGINT}, update pms_product_category_attribute_relation id = #{row.id,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, product_attribute_id = #{row.productAttributeId,jdbcType=BIGINT}, update pms_product_category_attribute_relation set id = #{row.id,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, product_attribute_id = #{row.productAttributeId,jdbcType=BIGINT} update pms_product_category_attribute_relation product_category_id = #{productCategoryId,jdbcType=BIGINT}, product_attribute_id = #{productAttributeId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update pms_product_category_attribute_relation set product_category_id = #{productCategoryId,jdbcType=BIGINT}, product_attribute_id = #{productAttributeId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductCategoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, parent_id, name, level, product_count, product_unit, nav_status, show_status, sort, icon, keywords description delete from pms_product_category where id = #{id,jdbcType=BIGINT} delete from pms_product_category SELECT LAST_INSERT_ID() insert into pms_product_category (parent_id, name, level, product_count, product_unit, nav_status, show_status, sort, icon, keywords, description) values (#{parentId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, #{productCount,jdbcType=INTEGER}, #{productUnit,jdbcType=VARCHAR}, #{navStatus,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{icon,jdbcType=VARCHAR}, #{keywords,jdbcType=VARCHAR}, #{description,jdbcType=LONGVARCHAR}) SELECT LAST_INSERT_ID() insert into pms_product_category parent_id, name, level, product_count, product_unit, nav_status, show_status, sort, icon, keywords, description, #{parentId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, #{productCount,jdbcType=INTEGER}, #{productUnit,jdbcType=VARCHAR}, #{navStatus,jdbcType=INTEGER}, #{showStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{icon,jdbcType=VARCHAR}, #{keywords,jdbcType=VARCHAR}, #{description,jdbcType=LONGVARCHAR}, update pms_product_category id = #{row.id,jdbcType=BIGINT}, parent_id = #{row.parentId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, level = #{row.level,jdbcType=INTEGER}, product_count = #{row.productCount,jdbcType=INTEGER}, product_unit = #{row.productUnit,jdbcType=VARCHAR}, nav_status = #{row.navStatus,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, icon = #{row.icon,jdbcType=VARCHAR}, keywords = #{row.keywords,jdbcType=VARCHAR}, description = #{row.description,jdbcType=LONGVARCHAR}, update pms_product_category set id = #{row.id,jdbcType=BIGINT}, parent_id = #{row.parentId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, level = #{row.level,jdbcType=INTEGER}, product_count = #{row.productCount,jdbcType=INTEGER}, product_unit = #{row.productUnit,jdbcType=VARCHAR}, nav_status = #{row.navStatus,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, icon = #{row.icon,jdbcType=VARCHAR}, keywords = #{row.keywords,jdbcType=VARCHAR}, description = #{row.description,jdbcType=LONGVARCHAR} update pms_product_category set id = #{row.id,jdbcType=BIGINT}, parent_id = #{row.parentId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, level = #{row.level,jdbcType=INTEGER}, product_count = #{row.productCount,jdbcType=INTEGER}, product_unit = #{row.productUnit,jdbcType=VARCHAR}, nav_status = #{row.navStatus,jdbcType=INTEGER}, show_status = #{row.showStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, icon = #{row.icon,jdbcType=VARCHAR}, keywords = #{row.keywords,jdbcType=VARCHAR} update pms_product_category parent_id = #{parentId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, level = #{level,jdbcType=INTEGER}, product_count = #{productCount,jdbcType=INTEGER}, product_unit = #{productUnit,jdbcType=VARCHAR}, nav_status = #{navStatus,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, icon = #{icon,jdbcType=VARCHAR}, keywords = #{keywords,jdbcType=VARCHAR}, description = #{description,jdbcType=LONGVARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_product_category set parent_id = #{parentId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, level = #{level,jdbcType=INTEGER}, product_count = #{productCount,jdbcType=INTEGER}, product_unit = #{productUnit,jdbcType=VARCHAR}, nav_status = #{navStatus,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, icon = #{icon,jdbcType=VARCHAR}, keywords = #{keywords,jdbcType=VARCHAR}, description = #{description,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=BIGINT} update pms_product_category set parent_id = #{parentId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, level = #{level,jdbcType=INTEGER}, product_count = #{productCount,jdbcType=INTEGER}, product_unit = #{productUnit,jdbcType=VARCHAR}, nav_status = #{navStatus,jdbcType=INTEGER}, show_status = #{showStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, icon = #{icon,jdbcType=VARCHAR}, keywords = #{keywords,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductFullReductionMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, full_price, reduce_price delete from pms_product_full_reduction where id = #{id,jdbcType=BIGINT} delete from pms_product_full_reduction SELECT LAST_INSERT_ID() insert into pms_product_full_reduction (product_id, full_price, reduce_price ) values (#{productId,jdbcType=BIGINT}, #{fullPrice,jdbcType=DECIMAL}, #{reducePrice,jdbcType=DECIMAL} ) SELECT LAST_INSERT_ID() insert into pms_product_full_reduction product_id, full_price, reduce_price, #{productId,jdbcType=BIGINT}, #{fullPrice,jdbcType=DECIMAL}, #{reducePrice,jdbcType=DECIMAL}, update pms_product_full_reduction id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, full_price = #{row.fullPrice,jdbcType=DECIMAL}, reduce_price = #{row.reducePrice,jdbcType=DECIMAL}, update pms_product_full_reduction set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, full_price = #{row.fullPrice,jdbcType=DECIMAL}, reduce_price = #{row.reducePrice,jdbcType=DECIMAL} update pms_product_full_reduction product_id = #{productId,jdbcType=BIGINT}, full_price = #{fullPrice,jdbcType=DECIMAL}, reduce_price = #{reducePrice,jdbcType=DECIMAL}, where id = #{id,jdbcType=BIGINT} update pms_product_full_reduction set product_id = #{productId,jdbcType=BIGINT}, full_price = #{fullPrice,jdbcType=DECIMAL}, reduce_price = #{reducePrice,jdbcType=DECIMAL} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductLadderMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, count, discount, price delete from pms_product_ladder where id = #{id,jdbcType=BIGINT} delete from pms_product_ladder SELECT LAST_INSERT_ID() insert into pms_product_ladder (product_id, count, discount, price) values (#{productId,jdbcType=BIGINT}, #{count,jdbcType=INTEGER}, #{discount,jdbcType=DECIMAL}, #{price,jdbcType=DECIMAL}) SELECT LAST_INSERT_ID() insert into pms_product_ladder product_id, count, discount, price, #{productId,jdbcType=BIGINT}, #{count,jdbcType=INTEGER}, #{discount,jdbcType=DECIMAL}, #{price,jdbcType=DECIMAL}, update pms_product_ladder id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, count = #{row.count,jdbcType=INTEGER}, discount = #{row.discount,jdbcType=DECIMAL}, price = #{row.price,jdbcType=DECIMAL}, update pms_product_ladder set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, count = #{row.count,jdbcType=INTEGER}, discount = #{row.discount,jdbcType=DECIMAL}, price = #{row.price,jdbcType=DECIMAL} update pms_product_ladder product_id = #{productId,jdbcType=BIGINT}, count = #{count,jdbcType=INTEGER}, discount = #{discount,jdbcType=DECIMAL}, price = #{price,jdbcType=DECIMAL}, where id = #{id,jdbcType=BIGINT} update pms_product_ladder set product_id = #{productId,jdbcType=BIGINT}, count = #{count,jdbcType=INTEGER}, discount = #{discount,jdbcType=DECIMAL}, price = #{price,jdbcType=DECIMAL} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} 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, original_price, stock, low_stock, unit, weight, preview_status, service_ids, keywords, note, album_pics, detail_title, promotion_start_time, promotion_end_time, promotion_per_limit, promotion_type, brand_name, product_category_name description, detail_desc, detail_html, detail_mobile_html delete from pms_product where id = #{id,jdbcType=BIGINT} delete from pms_product SELECT LAST_INSERT_ID() insert into pms_product (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, original_price, stock, low_stock, unit, weight, preview_status, service_ids, keywords, note, album_pics, detail_title, promotion_start_time, promotion_end_time, promotion_per_limit, promotion_type, brand_name, product_category_name, description, detail_desc, detail_html, detail_mobile_html) values (#{brandId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, #{feightTemplateId,jdbcType=BIGINT}, #{productAttributeCategoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, #{productSn,jdbcType=VARCHAR}, #{deleteStatus,jdbcType=INTEGER}, #{publishStatus,jdbcType=INTEGER}, #{newStatus,jdbcType=INTEGER}, #{recommandStatus,jdbcType=INTEGER}, #{verifyStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{sale,jdbcType=INTEGER}, #{price,jdbcType=DECIMAL}, #{promotionPrice,jdbcType=DECIMAL}, #{giftGrowth,jdbcType=INTEGER}, #{giftPoint,jdbcType=INTEGER}, #{usePointLimit,jdbcType=INTEGER}, #{subTitle,jdbcType=VARCHAR}, #{originalPrice,jdbcType=DECIMAL}, #{stock,jdbcType=INTEGER}, #{lowStock,jdbcType=INTEGER}, #{unit,jdbcType=VARCHAR}, #{weight,jdbcType=DECIMAL}, #{previewStatus,jdbcType=INTEGER}, #{serviceIds,jdbcType=VARCHAR}, #{keywords,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{albumPics,jdbcType=VARCHAR}, #{detailTitle,jdbcType=VARCHAR}, #{promotionStartTime,jdbcType=TIMESTAMP}, #{promotionEndTime,jdbcType=TIMESTAMP}, #{promotionPerLimit,jdbcType=INTEGER}, #{promotionType,jdbcType=INTEGER}, #{brandName,jdbcType=VARCHAR}, #{productCategoryName,jdbcType=VARCHAR}, #{description,jdbcType=LONGVARCHAR}, #{detailDesc,jdbcType=LONGVARCHAR}, #{detailHtml,jdbcType=LONGVARCHAR}, #{detailMobileHtml,jdbcType=LONGVARCHAR}) SELECT LAST_INSERT_ID() insert into pms_product 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, original_price, stock, low_stock, unit, weight, preview_status, service_ids, keywords, note, album_pics, detail_title, promotion_start_time, promotion_end_time, promotion_per_limit, promotion_type, brand_name, product_category_name, description, detail_desc, detail_html, detail_mobile_html, #{brandId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, #{feightTemplateId,jdbcType=BIGINT}, #{productAttributeCategoryId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{pic,jdbcType=VARCHAR}, #{productSn,jdbcType=VARCHAR}, #{deleteStatus,jdbcType=INTEGER}, #{publishStatus,jdbcType=INTEGER}, #{newStatus,jdbcType=INTEGER}, #{recommandStatus,jdbcType=INTEGER}, #{verifyStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{sale,jdbcType=INTEGER}, #{price,jdbcType=DECIMAL}, #{promotionPrice,jdbcType=DECIMAL}, #{giftGrowth,jdbcType=INTEGER}, #{giftPoint,jdbcType=INTEGER}, #{usePointLimit,jdbcType=INTEGER}, #{subTitle,jdbcType=VARCHAR}, #{originalPrice,jdbcType=DECIMAL}, #{stock,jdbcType=INTEGER}, #{lowStock,jdbcType=INTEGER}, #{unit,jdbcType=VARCHAR}, #{weight,jdbcType=DECIMAL}, #{previewStatus,jdbcType=INTEGER}, #{serviceIds,jdbcType=VARCHAR}, #{keywords,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{albumPics,jdbcType=VARCHAR}, #{detailTitle,jdbcType=VARCHAR}, #{promotionStartTime,jdbcType=TIMESTAMP}, #{promotionEndTime,jdbcType=TIMESTAMP}, #{promotionPerLimit,jdbcType=INTEGER}, #{promotionType,jdbcType=INTEGER}, #{brandName,jdbcType=VARCHAR}, #{productCategoryName,jdbcType=VARCHAR}, #{description,jdbcType=LONGVARCHAR}, #{detailDesc,jdbcType=LONGVARCHAR}, #{detailHtml,jdbcType=LONGVARCHAR}, #{detailMobileHtml,jdbcType=LONGVARCHAR}, update pms_product id = #{row.id,jdbcType=BIGINT}, brand_id = #{row.brandId,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, feight_template_id = #{row.feightTemplateId,jdbcType=BIGINT}, product_attribute_category_id = #{row.productAttributeCategoryId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, pic = #{row.pic,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR}, delete_status = #{row.deleteStatus,jdbcType=INTEGER}, publish_status = #{row.publishStatus,jdbcType=INTEGER}, new_status = #{row.newStatus,jdbcType=INTEGER}, recommand_status = #{row.recommandStatus,jdbcType=INTEGER}, verify_status = #{row.verifyStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, sale = #{row.sale,jdbcType=INTEGER}, price = #{row.price,jdbcType=DECIMAL}, promotion_price = #{row.promotionPrice,jdbcType=DECIMAL}, gift_growth = #{row.giftGrowth,jdbcType=INTEGER}, gift_point = #{row.giftPoint,jdbcType=INTEGER}, use_point_limit = #{row.usePointLimit,jdbcType=INTEGER}, sub_title = #{row.subTitle,jdbcType=VARCHAR}, original_price = #{row.originalPrice,jdbcType=DECIMAL}, stock = #{row.stock,jdbcType=INTEGER}, low_stock = #{row.lowStock,jdbcType=INTEGER}, unit = #{row.unit,jdbcType=VARCHAR}, weight = #{row.weight,jdbcType=DECIMAL}, preview_status = #{row.previewStatus,jdbcType=INTEGER}, service_ids = #{row.serviceIds,jdbcType=VARCHAR}, keywords = #{row.keywords,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, album_pics = #{row.albumPics,jdbcType=VARCHAR}, detail_title = #{row.detailTitle,jdbcType=VARCHAR}, promotion_start_time = #{row.promotionStartTime,jdbcType=TIMESTAMP}, promotion_end_time = #{row.promotionEndTime,jdbcType=TIMESTAMP}, promotion_per_limit = #{row.promotionPerLimit,jdbcType=INTEGER}, promotion_type = #{row.promotionType,jdbcType=INTEGER}, brand_name = #{row.brandName,jdbcType=VARCHAR}, product_category_name = #{row.productCategoryName,jdbcType=VARCHAR}, description = #{row.description,jdbcType=LONGVARCHAR}, detail_desc = #{row.detailDesc,jdbcType=LONGVARCHAR}, detail_html = #{row.detailHtml,jdbcType=LONGVARCHAR}, detail_mobile_html = #{row.detailMobileHtml,jdbcType=LONGVARCHAR}, update pms_product set id = #{row.id,jdbcType=BIGINT}, brand_id = #{row.brandId,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, feight_template_id = #{row.feightTemplateId,jdbcType=BIGINT}, product_attribute_category_id = #{row.productAttributeCategoryId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, pic = #{row.pic,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR}, delete_status = #{row.deleteStatus,jdbcType=INTEGER}, publish_status = #{row.publishStatus,jdbcType=INTEGER}, new_status = #{row.newStatus,jdbcType=INTEGER}, recommand_status = #{row.recommandStatus,jdbcType=INTEGER}, verify_status = #{row.verifyStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, sale = #{row.sale,jdbcType=INTEGER}, price = #{row.price,jdbcType=DECIMAL}, promotion_price = #{row.promotionPrice,jdbcType=DECIMAL}, gift_growth = #{row.giftGrowth,jdbcType=INTEGER}, gift_point = #{row.giftPoint,jdbcType=INTEGER}, use_point_limit = #{row.usePointLimit,jdbcType=INTEGER}, sub_title = #{row.subTitle,jdbcType=VARCHAR}, original_price = #{row.originalPrice,jdbcType=DECIMAL}, stock = #{row.stock,jdbcType=INTEGER}, low_stock = #{row.lowStock,jdbcType=INTEGER}, unit = #{row.unit,jdbcType=VARCHAR}, weight = #{row.weight,jdbcType=DECIMAL}, preview_status = #{row.previewStatus,jdbcType=INTEGER}, service_ids = #{row.serviceIds,jdbcType=VARCHAR}, keywords = #{row.keywords,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, album_pics = #{row.albumPics,jdbcType=VARCHAR}, detail_title = #{row.detailTitle,jdbcType=VARCHAR}, promotion_start_time = #{row.promotionStartTime,jdbcType=TIMESTAMP}, promotion_end_time = #{row.promotionEndTime,jdbcType=TIMESTAMP}, promotion_per_limit = #{row.promotionPerLimit,jdbcType=INTEGER}, promotion_type = #{row.promotionType,jdbcType=INTEGER}, brand_name = #{row.brandName,jdbcType=VARCHAR}, product_category_name = #{row.productCategoryName,jdbcType=VARCHAR}, description = #{row.description,jdbcType=LONGVARCHAR}, detail_desc = #{row.detailDesc,jdbcType=LONGVARCHAR}, detail_html = #{row.detailHtml,jdbcType=LONGVARCHAR}, detail_mobile_html = #{row.detailMobileHtml,jdbcType=LONGVARCHAR} update pms_product set id = #{row.id,jdbcType=BIGINT}, brand_id = #{row.brandId,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, feight_template_id = #{row.feightTemplateId,jdbcType=BIGINT}, product_attribute_category_id = #{row.productAttributeCategoryId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, pic = #{row.pic,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR}, delete_status = #{row.deleteStatus,jdbcType=INTEGER}, publish_status = #{row.publishStatus,jdbcType=INTEGER}, new_status = #{row.newStatus,jdbcType=INTEGER}, recommand_status = #{row.recommandStatus,jdbcType=INTEGER}, verify_status = #{row.verifyStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, sale = #{row.sale,jdbcType=INTEGER}, price = #{row.price,jdbcType=DECIMAL}, promotion_price = #{row.promotionPrice,jdbcType=DECIMAL}, gift_growth = #{row.giftGrowth,jdbcType=INTEGER}, gift_point = #{row.giftPoint,jdbcType=INTEGER}, use_point_limit = #{row.usePointLimit,jdbcType=INTEGER}, sub_title = #{row.subTitle,jdbcType=VARCHAR}, original_price = #{row.originalPrice,jdbcType=DECIMAL}, stock = #{row.stock,jdbcType=INTEGER}, low_stock = #{row.lowStock,jdbcType=INTEGER}, unit = #{row.unit,jdbcType=VARCHAR}, weight = #{row.weight,jdbcType=DECIMAL}, preview_status = #{row.previewStatus,jdbcType=INTEGER}, service_ids = #{row.serviceIds,jdbcType=VARCHAR}, keywords = #{row.keywords,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, album_pics = #{row.albumPics,jdbcType=VARCHAR}, detail_title = #{row.detailTitle,jdbcType=VARCHAR}, promotion_start_time = #{row.promotionStartTime,jdbcType=TIMESTAMP}, promotion_end_time = #{row.promotionEndTime,jdbcType=TIMESTAMP}, promotion_per_limit = #{row.promotionPerLimit,jdbcType=INTEGER}, promotion_type = #{row.promotionType,jdbcType=INTEGER}, brand_name = #{row.brandName,jdbcType=VARCHAR}, product_category_name = #{row.productCategoryName,jdbcType=VARCHAR} update pms_product brand_id = #{brandId,jdbcType=BIGINT}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, feight_template_id = #{feightTemplateId,jdbcType=BIGINT}, product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, pic = #{pic,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR}, delete_status = #{deleteStatus,jdbcType=INTEGER}, publish_status = #{publishStatus,jdbcType=INTEGER}, new_status = #{newStatus,jdbcType=INTEGER}, recommand_status = #{recommandStatus,jdbcType=INTEGER}, verify_status = #{verifyStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, sale = #{sale,jdbcType=INTEGER}, price = #{price,jdbcType=DECIMAL}, promotion_price = #{promotionPrice,jdbcType=DECIMAL}, gift_growth = #{giftGrowth,jdbcType=INTEGER}, gift_point = #{giftPoint,jdbcType=INTEGER}, use_point_limit = #{usePointLimit,jdbcType=INTEGER}, sub_title = #{subTitle,jdbcType=VARCHAR}, original_price = #{originalPrice,jdbcType=DECIMAL}, stock = #{stock,jdbcType=INTEGER}, low_stock = #{lowStock,jdbcType=INTEGER}, unit = #{unit,jdbcType=VARCHAR}, weight = #{weight,jdbcType=DECIMAL}, preview_status = #{previewStatus,jdbcType=INTEGER}, service_ids = #{serviceIds,jdbcType=VARCHAR}, keywords = #{keywords,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, album_pics = #{albumPics,jdbcType=VARCHAR}, detail_title = #{detailTitle,jdbcType=VARCHAR}, promotion_start_time = #{promotionStartTime,jdbcType=TIMESTAMP}, promotion_end_time = #{promotionEndTime,jdbcType=TIMESTAMP}, promotion_per_limit = #{promotionPerLimit,jdbcType=INTEGER}, promotion_type = #{promotionType,jdbcType=INTEGER}, brand_name = #{brandName,jdbcType=VARCHAR}, product_category_name = #{productCategoryName,jdbcType=VARCHAR}, description = #{description,jdbcType=LONGVARCHAR}, detail_desc = #{detailDesc,jdbcType=LONGVARCHAR}, detail_html = #{detailHtml,jdbcType=LONGVARCHAR}, detail_mobile_html = #{detailMobileHtml,jdbcType=LONGVARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_product set brand_id = #{brandId,jdbcType=BIGINT}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, feight_template_id = #{feightTemplateId,jdbcType=BIGINT}, product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, pic = #{pic,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR}, delete_status = #{deleteStatus,jdbcType=INTEGER}, publish_status = #{publishStatus,jdbcType=INTEGER}, new_status = #{newStatus,jdbcType=INTEGER}, recommand_status = #{recommandStatus,jdbcType=INTEGER}, verify_status = #{verifyStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, sale = #{sale,jdbcType=INTEGER}, price = #{price,jdbcType=DECIMAL}, promotion_price = #{promotionPrice,jdbcType=DECIMAL}, gift_growth = #{giftGrowth,jdbcType=INTEGER}, gift_point = #{giftPoint,jdbcType=INTEGER}, use_point_limit = #{usePointLimit,jdbcType=INTEGER}, sub_title = #{subTitle,jdbcType=VARCHAR}, original_price = #{originalPrice,jdbcType=DECIMAL}, stock = #{stock,jdbcType=INTEGER}, low_stock = #{lowStock,jdbcType=INTEGER}, unit = #{unit,jdbcType=VARCHAR}, weight = #{weight,jdbcType=DECIMAL}, preview_status = #{previewStatus,jdbcType=INTEGER}, service_ids = #{serviceIds,jdbcType=VARCHAR}, keywords = #{keywords,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, album_pics = #{albumPics,jdbcType=VARCHAR}, detail_title = #{detailTitle,jdbcType=VARCHAR}, promotion_start_time = #{promotionStartTime,jdbcType=TIMESTAMP}, promotion_end_time = #{promotionEndTime,jdbcType=TIMESTAMP}, promotion_per_limit = #{promotionPerLimit,jdbcType=INTEGER}, promotion_type = #{promotionType,jdbcType=INTEGER}, brand_name = #{brandName,jdbcType=VARCHAR}, product_category_name = #{productCategoryName,jdbcType=VARCHAR}, description = #{description,jdbcType=LONGVARCHAR}, detail_desc = #{detailDesc,jdbcType=LONGVARCHAR}, detail_html = #{detailHtml,jdbcType=LONGVARCHAR}, detail_mobile_html = #{detailMobileHtml,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=BIGINT} update pms_product set brand_id = #{brandId,jdbcType=BIGINT}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, feight_template_id = #{feightTemplateId,jdbcType=BIGINT}, product_attribute_category_id = #{productAttributeCategoryId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, pic = #{pic,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR}, delete_status = #{deleteStatus,jdbcType=INTEGER}, publish_status = #{publishStatus,jdbcType=INTEGER}, new_status = #{newStatus,jdbcType=INTEGER}, recommand_status = #{recommandStatus,jdbcType=INTEGER}, verify_status = #{verifyStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, sale = #{sale,jdbcType=INTEGER}, price = #{price,jdbcType=DECIMAL}, promotion_price = #{promotionPrice,jdbcType=DECIMAL}, gift_growth = #{giftGrowth,jdbcType=INTEGER}, gift_point = #{giftPoint,jdbcType=INTEGER}, use_point_limit = #{usePointLimit,jdbcType=INTEGER}, sub_title = #{subTitle,jdbcType=VARCHAR}, original_price = #{originalPrice,jdbcType=DECIMAL}, stock = #{stock,jdbcType=INTEGER}, low_stock = #{lowStock,jdbcType=INTEGER}, unit = #{unit,jdbcType=VARCHAR}, weight = #{weight,jdbcType=DECIMAL}, preview_status = #{previewStatus,jdbcType=INTEGER}, service_ids = #{serviceIds,jdbcType=VARCHAR}, keywords = #{keywords,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, album_pics = #{albumPics,jdbcType=VARCHAR}, detail_title = #{detailTitle,jdbcType=VARCHAR}, promotion_start_time = #{promotionStartTime,jdbcType=TIMESTAMP}, promotion_end_time = #{promotionEndTime,jdbcType=TIMESTAMP}, promotion_per_limit = #{promotionPerLimit,jdbcType=INTEGER}, promotion_type = #{promotionType,jdbcType=INTEGER}, brand_name = #{brandName,jdbcType=VARCHAR}, product_category_name = #{productCategoryName,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductOperateLogMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} 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 delete from pms_product_operate_log where id = #{id,jdbcType=BIGINT} delete from pms_product_operate_log SELECT LAST_INSERT_ID() insert into pms_product_operate_log (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) values (#{productId,jdbcType=BIGINT}, #{priceOld,jdbcType=DECIMAL}, #{priceNew,jdbcType=DECIMAL}, #{salePriceOld,jdbcType=DECIMAL}, #{salePriceNew,jdbcType=DECIMAL}, #{giftPointOld,jdbcType=INTEGER}, #{giftPointNew,jdbcType=INTEGER}, #{usePointLimitOld,jdbcType=INTEGER}, #{usePointLimitNew,jdbcType=INTEGER}, #{operateMan,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}) SELECT LAST_INSERT_ID() insert into pms_product_operate_log 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, #{productId,jdbcType=BIGINT}, #{priceOld,jdbcType=DECIMAL}, #{priceNew,jdbcType=DECIMAL}, #{salePriceOld,jdbcType=DECIMAL}, #{salePriceNew,jdbcType=DECIMAL}, #{giftPointOld,jdbcType=INTEGER}, #{giftPointNew,jdbcType=INTEGER}, #{usePointLimitOld,jdbcType=INTEGER}, #{usePointLimitNew,jdbcType=INTEGER}, #{operateMan,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, update pms_product_operate_log id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, price_old = #{row.priceOld,jdbcType=DECIMAL}, price_new = #{row.priceNew,jdbcType=DECIMAL}, sale_price_old = #{row.salePriceOld,jdbcType=DECIMAL}, sale_price_new = #{row.salePriceNew,jdbcType=DECIMAL}, gift_point_old = #{row.giftPointOld,jdbcType=INTEGER}, gift_point_new = #{row.giftPointNew,jdbcType=INTEGER}, use_point_limit_old = #{row.usePointLimitOld,jdbcType=INTEGER}, use_point_limit_new = #{row.usePointLimitNew,jdbcType=INTEGER}, operate_man = #{row.operateMan,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, update pms_product_operate_log set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, price_old = #{row.priceOld,jdbcType=DECIMAL}, price_new = #{row.priceNew,jdbcType=DECIMAL}, sale_price_old = #{row.salePriceOld,jdbcType=DECIMAL}, sale_price_new = #{row.salePriceNew,jdbcType=DECIMAL}, gift_point_old = #{row.giftPointOld,jdbcType=INTEGER}, gift_point_new = #{row.giftPointNew,jdbcType=INTEGER}, use_point_limit_old = #{row.usePointLimitOld,jdbcType=INTEGER}, use_point_limit_new = #{row.usePointLimitNew,jdbcType=INTEGER}, operate_man = #{row.operateMan,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP} update pms_product_operate_log product_id = #{productId,jdbcType=BIGINT}, price_old = #{priceOld,jdbcType=DECIMAL}, price_new = #{priceNew,jdbcType=DECIMAL}, sale_price_old = #{salePriceOld,jdbcType=DECIMAL}, sale_price_new = #{salePriceNew,jdbcType=DECIMAL}, gift_point_old = #{giftPointOld,jdbcType=INTEGER}, gift_point_new = #{giftPointNew,jdbcType=INTEGER}, use_point_limit_old = #{usePointLimitOld,jdbcType=INTEGER}, use_point_limit_new = #{usePointLimitNew,jdbcType=INTEGER}, operate_man = #{operateMan,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, where id = #{id,jdbcType=BIGINT} update pms_product_operate_log set product_id = #{productId,jdbcType=BIGINT}, price_old = #{priceOld,jdbcType=DECIMAL}, price_new = #{priceNew,jdbcType=DECIMAL}, sale_price_old = #{salePriceOld,jdbcType=DECIMAL}, sale_price_new = #{salePriceNew,jdbcType=DECIMAL}, gift_point_old = #{giftPointOld,jdbcType=INTEGER}, gift_point_new = #{giftPointNew,jdbcType=INTEGER}, use_point_limit_old = #{usePointLimitOld,jdbcType=INTEGER}, use_point_limit_new = #{usePointLimitNew,jdbcType=INTEGER}, operate_man = #{operateMan,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsProductVertifyRecordMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, create_time, vertify_man, status, detail delete from pms_product_vertify_record where id = #{id,jdbcType=BIGINT} delete from pms_product_vertify_record SELECT LAST_INSERT_ID() insert into pms_product_vertify_record (product_id, create_time, vertify_man, status, detail) values (#{productId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{vertifyMan,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{detail,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into pms_product_vertify_record product_id, create_time, vertify_man, status, detail, #{productId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{vertifyMan,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{detail,jdbcType=VARCHAR}, update pms_product_vertify_record id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, vertify_man = #{row.vertifyMan,jdbcType=VARCHAR}, status = #{row.status,jdbcType=INTEGER}, detail = #{row.detail,jdbcType=VARCHAR}, update pms_product_vertify_record set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, vertify_man = #{row.vertifyMan,jdbcType=VARCHAR}, status = #{row.status,jdbcType=INTEGER}, detail = #{row.detail,jdbcType=VARCHAR} update pms_product_vertify_record product_id = #{productId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, vertify_man = #{vertifyMan,jdbcType=VARCHAR}, status = #{status,jdbcType=INTEGER}, detail = #{detail,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_product_vertify_record set product_id = #{productId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, vertify_man = #{vertifyMan,jdbcType=VARCHAR}, status = #{status,jdbcType=INTEGER}, detail = #{detail,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/PmsSkuStockMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, sku_code, price, stock, low_stock, pic, sale, promotion_price, lock_stock, sp_data delete from pms_sku_stock where id = #{id,jdbcType=BIGINT} delete from pms_sku_stock SELECT LAST_INSERT_ID() insert into pms_sku_stock (product_id, sku_code, price, stock, low_stock, pic, sale, promotion_price, lock_stock, sp_data) values (#{productId,jdbcType=BIGINT}, #{skuCode,jdbcType=VARCHAR}, #{price,jdbcType=DECIMAL}, #{stock,jdbcType=INTEGER}, #{lowStock,jdbcType=INTEGER}, #{pic,jdbcType=VARCHAR}, #{sale,jdbcType=INTEGER}, #{promotionPrice,jdbcType=DECIMAL}, #{lockStock,jdbcType=INTEGER}, #{spData,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into pms_sku_stock product_id, sku_code, price, stock, low_stock, pic, sale, promotion_price, lock_stock, sp_data, #{productId,jdbcType=BIGINT}, #{skuCode,jdbcType=VARCHAR}, #{price,jdbcType=DECIMAL}, #{stock,jdbcType=INTEGER}, #{lowStock,jdbcType=INTEGER}, #{pic,jdbcType=VARCHAR}, #{sale,jdbcType=INTEGER}, #{promotionPrice,jdbcType=DECIMAL}, #{lockStock,jdbcType=INTEGER}, #{spData,jdbcType=VARCHAR}, update pms_sku_stock id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, sku_code = #{row.skuCode,jdbcType=VARCHAR}, price = #{row.price,jdbcType=DECIMAL}, stock = #{row.stock,jdbcType=INTEGER}, low_stock = #{row.lowStock,jdbcType=INTEGER}, pic = #{row.pic,jdbcType=VARCHAR}, sale = #{row.sale,jdbcType=INTEGER}, promotion_price = #{row.promotionPrice,jdbcType=DECIMAL}, lock_stock = #{row.lockStock,jdbcType=INTEGER}, sp_data = #{row.spData,jdbcType=VARCHAR}, update pms_sku_stock set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, sku_code = #{row.skuCode,jdbcType=VARCHAR}, price = #{row.price,jdbcType=DECIMAL}, stock = #{row.stock,jdbcType=INTEGER}, low_stock = #{row.lowStock,jdbcType=INTEGER}, pic = #{row.pic,jdbcType=VARCHAR}, sale = #{row.sale,jdbcType=INTEGER}, promotion_price = #{row.promotionPrice,jdbcType=DECIMAL}, lock_stock = #{row.lockStock,jdbcType=INTEGER}, sp_data = #{row.spData,jdbcType=VARCHAR} update pms_sku_stock product_id = #{productId,jdbcType=BIGINT}, sku_code = #{skuCode,jdbcType=VARCHAR}, price = #{price,jdbcType=DECIMAL}, stock = #{stock,jdbcType=INTEGER}, low_stock = #{lowStock,jdbcType=INTEGER}, pic = #{pic,jdbcType=VARCHAR}, sale = #{sale,jdbcType=INTEGER}, promotion_price = #{promotionPrice,jdbcType=DECIMAL}, lock_stock = #{lockStock,jdbcType=INTEGER}, sp_data = #{spData,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update pms_sku_stock set product_id = #{productId,jdbcType=BIGINT}, sku_code = #{skuCode,jdbcType=VARCHAR}, price = #{price,jdbcType=DECIMAL}, stock = #{stock,jdbcType=INTEGER}, low_stock = #{lowStock,jdbcType=INTEGER}, pic = #{pic,jdbcType=VARCHAR}, sale = #{sale,jdbcType=INTEGER}, promotion_price = #{promotionPrice,jdbcType=DECIMAL}, lock_stock = #{lockStock,jdbcType=INTEGER}, sp_data = #{spData,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsCouponHistoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, coupon_id, member_id, coupon_code, member_nickname, get_type, create_time, use_status, use_time, order_id, order_sn delete from sms_coupon_history where id = #{id,jdbcType=BIGINT} delete from sms_coupon_history SELECT LAST_INSERT_ID() insert into sms_coupon_history (coupon_id, member_id, coupon_code, member_nickname, get_type, create_time, use_status, use_time, order_id, order_sn) values (#{couponId,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{couponCode,jdbcType=VARCHAR}, #{memberNickname,jdbcType=VARCHAR}, #{getType,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{useStatus,jdbcType=INTEGER}, #{useTime,jdbcType=TIMESTAMP}, #{orderId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into sms_coupon_history coupon_id, member_id, coupon_code, member_nickname, get_type, create_time, use_status, use_time, order_id, order_sn, #{couponId,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, #{couponCode,jdbcType=VARCHAR}, #{memberNickname,jdbcType=VARCHAR}, #{getType,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{useStatus,jdbcType=INTEGER}, #{useTime,jdbcType=TIMESTAMP}, #{orderId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, update sms_coupon_history id = #{row.id,jdbcType=BIGINT}, coupon_id = #{row.couponId,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, coupon_code = #{row.couponCode,jdbcType=VARCHAR}, member_nickname = #{row.memberNickname,jdbcType=VARCHAR}, get_type = #{row.getType,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, use_status = #{row.useStatus,jdbcType=INTEGER}, use_time = #{row.useTime,jdbcType=TIMESTAMP}, order_id = #{row.orderId,jdbcType=BIGINT}, order_sn = #{row.orderSn,jdbcType=VARCHAR}, update sms_coupon_history set id = #{row.id,jdbcType=BIGINT}, coupon_id = #{row.couponId,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, coupon_code = #{row.couponCode,jdbcType=VARCHAR}, member_nickname = #{row.memberNickname,jdbcType=VARCHAR}, get_type = #{row.getType,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, use_status = #{row.useStatus,jdbcType=INTEGER}, use_time = #{row.useTime,jdbcType=TIMESTAMP}, order_id = #{row.orderId,jdbcType=BIGINT}, order_sn = #{row.orderSn,jdbcType=VARCHAR} update sms_coupon_history coupon_id = #{couponId,jdbcType=BIGINT}, member_id = #{memberId,jdbcType=BIGINT}, coupon_code = #{couponCode,jdbcType=VARCHAR}, member_nickname = #{memberNickname,jdbcType=VARCHAR}, get_type = #{getType,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, use_status = #{useStatus,jdbcType=INTEGER}, use_time = #{useTime,jdbcType=TIMESTAMP}, order_id = #{orderId,jdbcType=BIGINT}, order_sn = #{orderSn,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update sms_coupon_history set coupon_id = #{couponId,jdbcType=BIGINT}, member_id = #{memberId,jdbcType=BIGINT}, coupon_code = #{couponCode,jdbcType=VARCHAR}, member_nickname = #{memberNickname,jdbcType=VARCHAR}, get_type = #{getType,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, use_status = #{useStatus,jdbcType=INTEGER}, use_time = #{useTime,jdbcType=TIMESTAMP}, order_id = #{orderId,jdbcType=BIGINT}, order_sn = #{orderSn,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsCouponMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} 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 delete from sms_coupon where id = #{id,jdbcType=BIGINT} delete from sms_coupon SELECT LAST_INSERT_ID() insert into sms_coupon (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) values (#{type,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{platform,jdbcType=INTEGER}, #{count,jdbcType=INTEGER}, #{amount,jdbcType=DECIMAL}, #{perLimit,jdbcType=INTEGER}, #{minPoint,jdbcType=DECIMAL}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{useType,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}, #{publishCount,jdbcType=INTEGER}, #{useCount,jdbcType=INTEGER}, #{receiveCount,jdbcType=INTEGER}, #{enableTime,jdbcType=TIMESTAMP}, #{code,jdbcType=VARCHAR}, #{memberLevel,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into sms_coupon 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, #{type,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{platform,jdbcType=INTEGER}, #{count,jdbcType=INTEGER}, #{amount,jdbcType=DECIMAL}, #{perLimit,jdbcType=INTEGER}, #{minPoint,jdbcType=DECIMAL}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{useType,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}, #{publishCount,jdbcType=INTEGER}, #{useCount,jdbcType=INTEGER}, #{receiveCount,jdbcType=INTEGER}, #{enableTime,jdbcType=TIMESTAMP}, #{code,jdbcType=VARCHAR}, #{memberLevel,jdbcType=INTEGER}, update sms_coupon id = #{row.id,jdbcType=BIGINT}, type = #{row.type,jdbcType=INTEGER}, name = #{row.name,jdbcType=VARCHAR}, platform = #{row.platform,jdbcType=INTEGER}, count = #{row.count,jdbcType=INTEGER}, amount = #{row.amount,jdbcType=DECIMAL}, per_limit = #{row.perLimit,jdbcType=INTEGER}, min_point = #{row.minPoint,jdbcType=DECIMAL}, start_time = #{row.startTime,jdbcType=TIMESTAMP}, end_time = #{row.endTime,jdbcType=TIMESTAMP}, use_type = #{row.useType,jdbcType=INTEGER}, note = #{row.note,jdbcType=VARCHAR}, publish_count = #{row.publishCount,jdbcType=INTEGER}, use_count = #{row.useCount,jdbcType=INTEGER}, receive_count = #{row.receiveCount,jdbcType=INTEGER}, enable_time = #{row.enableTime,jdbcType=TIMESTAMP}, code = #{row.code,jdbcType=VARCHAR}, member_level = #{row.memberLevel,jdbcType=INTEGER}, update sms_coupon set id = #{row.id,jdbcType=BIGINT}, type = #{row.type,jdbcType=INTEGER}, name = #{row.name,jdbcType=VARCHAR}, platform = #{row.platform,jdbcType=INTEGER}, count = #{row.count,jdbcType=INTEGER}, amount = #{row.amount,jdbcType=DECIMAL}, per_limit = #{row.perLimit,jdbcType=INTEGER}, min_point = #{row.minPoint,jdbcType=DECIMAL}, start_time = #{row.startTime,jdbcType=TIMESTAMP}, end_time = #{row.endTime,jdbcType=TIMESTAMP}, use_type = #{row.useType,jdbcType=INTEGER}, note = #{row.note,jdbcType=VARCHAR}, publish_count = #{row.publishCount,jdbcType=INTEGER}, use_count = #{row.useCount,jdbcType=INTEGER}, receive_count = #{row.receiveCount,jdbcType=INTEGER}, enable_time = #{row.enableTime,jdbcType=TIMESTAMP}, code = #{row.code,jdbcType=VARCHAR}, member_level = #{row.memberLevel,jdbcType=INTEGER} update sms_coupon type = #{type,jdbcType=INTEGER}, name = #{name,jdbcType=VARCHAR}, platform = #{platform,jdbcType=INTEGER}, count = #{count,jdbcType=INTEGER}, amount = #{amount,jdbcType=DECIMAL}, per_limit = #{perLimit,jdbcType=INTEGER}, min_point = #{minPoint,jdbcType=DECIMAL}, start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, use_type = #{useType,jdbcType=INTEGER}, note = #{note,jdbcType=VARCHAR}, publish_count = #{publishCount,jdbcType=INTEGER}, use_count = #{useCount,jdbcType=INTEGER}, receive_count = #{receiveCount,jdbcType=INTEGER}, enable_time = #{enableTime,jdbcType=TIMESTAMP}, code = #{code,jdbcType=VARCHAR}, member_level = #{memberLevel,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update sms_coupon set type = #{type,jdbcType=INTEGER}, name = #{name,jdbcType=VARCHAR}, platform = #{platform,jdbcType=INTEGER}, count = #{count,jdbcType=INTEGER}, amount = #{amount,jdbcType=DECIMAL}, per_limit = #{perLimit,jdbcType=INTEGER}, min_point = #{minPoint,jdbcType=DECIMAL}, start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, use_type = #{useType,jdbcType=INTEGER}, note = #{note,jdbcType=VARCHAR}, publish_count = #{publishCount,jdbcType=INTEGER}, use_count = #{useCount,jdbcType=INTEGER}, receive_count = #{receiveCount,jdbcType=INTEGER}, enable_time = #{enableTime,jdbcType=TIMESTAMP}, code = #{code,jdbcType=VARCHAR}, member_level = #{memberLevel,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsCouponProductCategoryRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, coupon_id, product_category_id, product_category_name, parent_category_name delete from sms_coupon_product_category_relation where id = #{id,jdbcType=BIGINT} delete from sms_coupon_product_category_relation SELECT LAST_INSERT_ID() insert into sms_coupon_product_category_relation (coupon_id, product_category_id, product_category_name, parent_category_name) values (#{couponId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, #{productCategoryName,jdbcType=VARCHAR}, #{parentCategoryName,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into sms_coupon_product_category_relation coupon_id, product_category_id, product_category_name, parent_category_name, #{couponId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, #{productCategoryName,jdbcType=VARCHAR}, #{parentCategoryName,jdbcType=VARCHAR}, update sms_coupon_product_category_relation id = #{row.id,jdbcType=BIGINT}, coupon_id = #{row.couponId,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, product_category_name = #{row.productCategoryName,jdbcType=VARCHAR}, parent_category_name = #{row.parentCategoryName,jdbcType=VARCHAR}, update sms_coupon_product_category_relation set id = #{row.id,jdbcType=BIGINT}, coupon_id = #{row.couponId,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, product_category_name = #{row.productCategoryName,jdbcType=VARCHAR}, parent_category_name = #{row.parentCategoryName,jdbcType=VARCHAR} update sms_coupon_product_category_relation coupon_id = #{couponId,jdbcType=BIGINT}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, product_category_name = #{productCategoryName,jdbcType=VARCHAR}, parent_category_name = #{parentCategoryName,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update sms_coupon_product_category_relation set coupon_id = #{couponId,jdbcType=BIGINT}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, product_category_name = #{productCategoryName,jdbcType=VARCHAR}, parent_category_name = #{parentCategoryName,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsCouponProductRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, coupon_id, product_id, product_name, product_sn delete from sms_coupon_product_relation where id = #{id,jdbcType=BIGINT} delete from sms_coupon_product_relation SELECT LAST_INSERT_ID() insert into sms_coupon_product_relation (coupon_id, product_id, product_name, product_sn) values (#{couponId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, #{productSn,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into sms_coupon_product_relation coupon_id, product_id, product_name, product_sn, #{couponId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, #{productSn,jdbcType=VARCHAR}, update sms_coupon_product_relation id = #{row.id,jdbcType=BIGINT}, coupon_id = #{row.couponId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_name = #{row.productName,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR}, update sms_coupon_product_relation set id = #{row.id,jdbcType=BIGINT}, coupon_id = #{row.couponId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_name = #{row.productName,jdbcType=VARCHAR}, product_sn = #{row.productSn,jdbcType=VARCHAR} update sms_coupon_product_relation coupon_id = #{couponId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT}, product_name = #{productName,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update sms_coupon_product_relation set coupon_id = #{couponId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT}, product_name = #{productName,jdbcType=VARCHAR}, product_sn = #{productSn,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsFlashPromotionLogMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, product_id, member_phone, product_name, subscribe_time, send_time delete from sms_flash_promotion_log where id = #{id,jdbcType=INTEGER} delete from sms_flash_promotion_log SELECT LAST_INSERT_ID() insert into sms_flash_promotion_log (member_id, product_id, member_phone, product_name, subscribe_time, send_time ) values (#{memberId,jdbcType=INTEGER}, #{productId,jdbcType=BIGINT}, #{memberPhone,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{subscribeTime,jdbcType=TIMESTAMP}, #{sendTime,jdbcType=TIMESTAMP} ) SELECT LAST_INSERT_ID() insert into sms_flash_promotion_log member_id, product_id, member_phone, product_name, subscribe_time, send_time, #{memberId,jdbcType=INTEGER}, #{productId,jdbcType=BIGINT}, #{memberPhone,jdbcType=VARCHAR}, #{productName,jdbcType=VARCHAR}, #{subscribeTime,jdbcType=TIMESTAMP}, #{sendTime,jdbcType=TIMESTAMP}, update sms_flash_promotion_log id = #{row.id,jdbcType=INTEGER}, member_id = #{row.memberId,jdbcType=INTEGER}, product_id = #{row.productId,jdbcType=BIGINT}, member_phone = #{row.memberPhone,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, subscribe_time = #{row.subscribeTime,jdbcType=TIMESTAMP}, send_time = #{row.sendTime,jdbcType=TIMESTAMP}, update sms_flash_promotion_log set id = #{row.id,jdbcType=INTEGER}, member_id = #{row.memberId,jdbcType=INTEGER}, product_id = #{row.productId,jdbcType=BIGINT}, member_phone = #{row.memberPhone,jdbcType=VARCHAR}, product_name = #{row.productName,jdbcType=VARCHAR}, subscribe_time = #{row.subscribeTime,jdbcType=TIMESTAMP}, send_time = #{row.sendTime,jdbcType=TIMESTAMP} update sms_flash_promotion_log member_id = #{memberId,jdbcType=INTEGER}, product_id = #{productId,jdbcType=BIGINT}, member_phone = #{memberPhone,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, subscribe_time = #{subscribeTime,jdbcType=TIMESTAMP}, send_time = #{sendTime,jdbcType=TIMESTAMP}, where id = #{id,jdbcType=INTEGER} update sms_flash_promotion_log set member_id = #{memberId,jdbcType=INTEGER}, product_id = #{productId,jdbcType=BIGINT}, member_phone = #{memberPhone,jdbcType=VARCHAR}, product_name = #{productName,jdbcType=VARCHAR}, subscribe_time = #{subscribeTime,jdbcType=TIMESTAMP}, send_time = #{sendTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=INTEGER} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsFlashPromotionMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, title, start_date, end_date, status, create_time delete from sms_flash_promotion where id = #{id,jdbcType=BIGINT} delete from sms_flash_promotion SELECT LAST_INSERT_ID() insert into sms_flash_promotion (title, start_date, end_date, status, create_time) values (#{title,jdbcType=VARCHAR}, #{startDate,jdbcType=DATE}, #{endDate,jdbcType=DATE}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}) SELECT LAST_INSERT_ID() insert into sms_flash_promotion title, start_date, end_date, status, create_time, #{title,jdbcType=VARCHAR}, #{startDate,jdbcType=DATE}, #{endDate,jdbcType=DATE}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, update sms_flash_promotion id = #{row.id,jdbcType=BIGINT}, title = #{row.title,jdbcType=VARCHAR}, start_date = #{row.startDate,jdbcType=DATE}, end_date = #{row.endDate,jdbcType=DATE}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, update sms_flash_promotion set id = #{row.id,jdbcType=BIGINT}, title = #{row.title,jdbcType=VARCHAR}, start_date = #{row.startDate,jdbcType=DATE}, end_date = #{row.endDate,jdbcType=DATE}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP} update sms_flash_promotion title = #{title,jdbcType=VARCHAR}, start_date = #{startDate,jdbcType=DATE}, end_date = #{endDate,jdbcType=DATE}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, where id = #{id,jdbcType=BIGINT} update sms_flash_promotion set title = #{title,jdbcType=VARCHAR}, start_date = #{startDate,jdbcType=DATE}, end_date = #{endDate,jdbcType=DATE}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsFlashPromotionProductRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, flash_promotion_id, flash_promotion_session_id, product_id, flash_promotion_price, flash_promotion_count, flash_promotion_limit, sort delete from sms_flash_promotion_product_relation where id = #{id,jdbcType=BIGINT} delete from sms_flash_promotion_product_relation SELECT LAST_INSERT_ID() insert into sms_flash_promotion_product_relation (flash_promotion_id, flash_promotion_session_id, product_id, flash_promotion_price, flash_promotion_count, flash_promotion_limit, sort) values (#{flashPromotionId,jdbcType=BIGINT}, #{flashPromotionSessionId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, #{flashPromotionPrice,jdbcType=DECIMAL}, #{flashPromotionCount,jdbcType=INTEGER}, #{flashPromotionLimit,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into sms_flash_promotion_product_relation flash_promotion_id, flash_promotion_session_id, product_id, flash_promotion_price, flash_promotion_count, flash_promotion_limit, sort, #{flashPromotionId,jdbcType=BIGINT}, #{flashPromotionSessionId,jdbcType=BIGINT}, #{productId,jdbcType=BIGINT}, #{flashPromotionPrice,jdbcType=DECIMAL}, #{flashPromotionCount,jdbcType=INTEGER}, #{flashPromotionLimit,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update sms_flash_promotion_product_relation id = #{row.id,jdbcType=BIGINT}, flash_promotion_id = #{row.flashPromotionId,jdbcType=BIGINT}, flash_promotion_session_id = #{row.flashPromotionSessionId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, flash_promotion_price = #{row.flashPromotionPrice,jdbcType=DECIMAL}, flash_promotion_count = #{row.flashPromotionCount,jdbcType=INTEGER}, flash_promotion_limit = #{row.flashPromotionLimit,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update sms_flash_promotion_product_relation set id = #{row.id,jdbcType=BIGINT}, flash_promotion_id = #{row.flashPromotionId,jdbcType=BIGINT}, flash_promotion_session_id = #{row.flashPromotionSessionId,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, flash_promotion_price = #{row.flashPromotionPrice,jdbcType=DECIMAL}, flash_promotion_count = #{row.flashPromotionCount,jdbcType=INTEGER}, flash_promotion_limit = #{row.flashPromotionLimit,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update sms_flash_promotion_product_relation flash_promotion_id = #{flashPromotionId,jdbcType=BIGINT}, flash_promotion_session_id = #{flashPromotionSessionId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT}, flash_promotion_price = #{flashPromotionPrice,jdbcType=DECIMAL}, flash_promotion_count = #{flashPromotionCount,jdbcType=INTEGER}, flash_promotion_limit = #{flashPromotionLimit,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update sms_flash_promotion_product_relation set flash_promotion_id = #{flashPromotionId,jdbcType=BIGINT}, flash_promotion_session_id = #{flashPromotionSessionId,jdbcType=BIGINT}, product_id = #{productId,jdbcType=BIGINT}, flash_promotion_price = #{flashPromotionPrice,jdbcType=DECIMAL}, flash_promotion_count = #{flashPromotionCount,jdbcType=INTEGER}, flash_promotion_limit = #{flashPromotionLimit,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsFlashPromotionSessionMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, start_time, end_time, status, create_time delete from sms_flash_promotion_session where id = #{id,jdbcType=BIGINT} delete from sms_flash_promotion_session SELECT LAST_INSERT_ID() insert into sms_flash_promotion_session (name, start_time, end_time, status, create_time) values (#{name,jdbcType=VARCHAR}, #{startTime,jdbcType=TIME}, #{endTime,jdbcType=TIME}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}) SELECT LAST_INSERT_ID() insert into sms_flash_promotion_session name, start_time, end_time, status, create_time, #{name,jdbcType=VARCHAR}, #{startTime,jdbcType=TIME}, #{endTime,jdbcType=TIME}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, update sms_flash_promotion_session id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, start_time = #{row.startTime,jdbcType=TIME}, end_time = #{row.endTime,jdbcType=TIME}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, update sms_flash_promotion_session set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, start_time = #{row.startTime,jdbcType=TIME}, end_time = #{row.endTime,jdbcType=TIME}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP} update sms_flash_promotion_session name = #{name,jdbcType=VARCHAR}, start_time = #{startTime,jdbcType=TIME}, end_time = #{endTime,jdbcType=TIME}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, where id = #{id,jdbcType=BIGINT} update sms_flash_promotion_session set name = #{name,jdbcType=VARCHAR}, start_time = #{startTime,jdbcType=TIME}, end_time = #{endTime,jdbcType=TIME}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeAdvertiseMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, type, pic, start_time, end_time, status, click_count, order_count, url, note, sort delete from sms_home_advertise where id = #{id,jdbcType=BIGINT} delete from sms_home_advertise SELECT LAST_INSERT_ID() insert into sms_home_advertise (name, type, pic, start_time, end_time, status, click_count, order_count, url, note, sort) values (#{name,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{pic,jdbcType=VARCHAR}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{clickCount,jdbcType=INTEGER}, #{orderCount,jdbcType=INTEGER}, #{url,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into sms_home_advertise name, type, pic, start_time, end_time, status, click_count, order_count, url, note, sort, #{name,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{pic,jdbcType=VARCHAR}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{clickCount,jdbcType=INTEGER}, #{orderCount,jdbcType=INTEGER}, #{url,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, update sms_home_advertise id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, type = #{row.type,jdbcType=INTEGER}, pic = #{row.pic,jdbcType=VARCHAR}, start_time = #{row.startTime,jdbcType=TIMESTAMP}, end_time = #{row.endTime,jdbcType=TIMESTAMP}, status = #{row.status,jdbcType=INTEGER}, click_count = #{row.clickCount,jdbcType=INTEGER}, order_count = #{row.orderCount,jdbcType=INTEGER}, url = #{row.url,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, update sms_home_advertise set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, type = #{row.type,jdbcType=INTEGER}, pic = #{row.pic,jdbcType=VARCHAR}, start_time = #{row.startTime,jdbcType=TIMESTAMP}, end_time = #{row.endTime,jdbcType=TIMESTAMP}, status = #{row.status,jdbcType=INTEGER}, click_count = #{row.clickCount,jdbcType=INTEGER}, order_count = #{row.orderCount,jdbcType=INTEGER}, url = #{row.url,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER} update sms_home_advertise name = #{name,jdbcType=VARCHAR}, type = #{type,jdbcType=INTEGER}, pic = #{pic,jdbcType=VARCHAR}, start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, status = #{status,jdbcType=INTEGER}, click_count = #{clickCount,jdbcType=INTEGER}, order_count = #{orderCount,jdbcType=INTEGER}, url = #{url,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update sms_home_advertise set name = #{name,jdbcType=VARCHAR}, type = #{type,jdbcType=INTEGER}, pic = #{pic,jdbcType=VARCHAR}, start_time = #{startTime,jdbcType=TIMESTAMP}, end_time = #{endTime,jdbcType=TIMESTAMP}, status = #{status,jdbcType=INTEGER}, click_count = #{clickCount,jdbcType=INTEGER}, order_count = #{orderCount,jdbcType=INTEGER}, url = #{url,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeBrandMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, brand_id, brand_name, recommend_status, sort delete from sms_home_brand where id = #{id,jdbcType=BIGINT} delete from sms_home_brand SELECT LAST_INSERT_ID() insert into sms_home_brand (brand_id, brand_name, recommend_status, sort) values (#{brandId,jdbcType=BIGINT}, #{brandName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into sms_home_brand brand_id, brand_name, recommend_status, sort, #{brandId,jdbcType=BIGINT}, #{brandName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update sms_home_brand id = #{row.id,jdbcType=BIGINT}, brand_id = #{row.brandId,jdbcType=BIGINT}, brand_name = #{row.brandName,jdbcType=VARCHAR}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update sms_home_brand set id = #{row.id,jdbcType=BIGINT}, brand_id = #{row.brandId,jdbcType=BIGINT}, brand_name = #{row.brandName,jdbcType=VARCHAR}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update sms_home_brand brand_id = #{brandId,jdbcType=BIGINT}, brand_name = #{brandName,jdbcType=VARCHAR}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update sms_home_brand set brand_id = #{brandId,jdbcType=BIGINT}, brand_name = #{brandName,jdbcType=VARCHAR}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeNewProductMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, product_name, recommend_status, sort delete from sms_home_new_product where id = #{id,jdbcType=BIGINT} delete from sms_home_new_product SELECT LAST_INSERT_ID() insert into sms_home_new_product (product_id, product_name, recommend_status, sort) values (#{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into sms_home_new_product product_id, product_name, recommend_status, sort, #{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update sms_home_new_product id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_name = #{row.productName,jdbcType=VARCHAR}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update sms_home_new_product set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_name = #{row.productName,jdbcType=VARCHAR}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update sms_home_new_product product_id = #{productId,jdbcType=BIGINT}, product_name = #{productName,jdbcType=VARCHAR}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update sms_home_new_product set product_id = #{productId,jdbcType=BIGINT}, product_name = #{productName,jdbcType=VARCHAR}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeRecommendProductMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, product_id, product_name, recommend_status, sort delete from sms_home_recommend_product where id = #{id,jdbcType=BIGINT} delete from sms_home_recommend_product SELECT LAST_INSERT_ID() insert into sms_home_recommend_product (product_id, product_name, recommend_status, sort) values (#{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into sms_home_recommend_product product_id, product_name, recommend_status, sort, #{productId,jdbcType=BIGINT}, #{productName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update sms_home_recommend_product id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_name = #{row.productName,jdbcType=VARCHAR}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update sms_home_recommend_product set id = #{row.id,jdbcType=BIGINT}, product_id = #{row.productId,jdbcType=BIGINT}, product_name = #{row.productName,jdbcType=VARCHAR}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update sms_home_recommend_product product_id = #{productId,jdbcType=BIGINT}, product_name = #{productName,jdbcType=VARCHAR}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update sms_home_recommend_product set product_id = #{productId,jdbcType=BIGINT}, product_name = #{productName,jdbcType=VARCHAR}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/SmsHomeRecommendSubjectMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, subject_id, subject_name, recommend_status, sort delete from sms_home_recommend_subject where id = #{id,jdbcType=BIGINT} delete from sms_home_recommend_subject SELECT LAST_INSERT_ID() insert into sms_home_recommend_subject (subject_id, subject_name, recommend_status, sort) values (#{subjectId,jdbcType=BIGINT}, #{subjectName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into sms_home_recommend_subject subject_id, subject_name, recommend_status, sort, #{subjectId,jdbcType=BIGINT}, #{subjectName,jdbcType=VARCHAR}, #{recommendStatus,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update sms_home_recommend_subject id = #{row.id,jdbcType=BIGINT}, subject_id = #{row.subjectId,jdbcType=BIGINT}, subject_name = #{row.subjectName,jdbcType=VARCHAR}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update sms_home_recommend_subject set id = #{row.id,jdbcType=BIGINT}, subject_id = #{row.subjectId,jdbcType=BIGINT}, subject_name = #{row.subjectName,jdbcType=VARCHAR}, recommend_status = #{row.recommendStatus,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update sms_home_recommend_subject subject_id = #{subjectId,jdbcType=BIGINT}, subject_name = #{subjectName,jdbcType=VARCHAR}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update sms_home_recommend_subject set subject_id = #{subjectId,jdbcType=BIGINT}, subject_name = #{subjectName,jdbcType=VARCHAR}, recommend_status = #{recommendStatus,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsAdminLoginLogMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, admin_id, create_time, ip, address, user_agent delete from ums_admin_login_log where id = #{id,jdbcType=BIGINT} delete from ums_admin_login_log SELECT LAST_INSERT_ID() insert into ums_admin_login_log (admin_id, create_time, ip, address, user_agent) values (#{adminId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{ip,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{userAgent,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into ums_admin_login_log admin_id, create_time, ip, address, user_agent, #{adminId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{ip,jdbcType=VARCHAR}, #{address,jdbcType=VARCHAR}, #{userAgent,jdbcType=VARCHAR}, update ums_admin_login_log id = #{row.id,jdbcType=BIGINT}, admin_id = #{row.adminId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, ip = #{row.ip,jdbcType=VARCHAR}, address = #{row.address,jdbcType=VARCHAR}, user_agent = #{row.userAgent,jdbcType=VARCHAR}, update ums_admin_login_log set id = #{row.id,jdbcType=BIGINT}, admin_id = #{row.adminId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, ip = #{row.ip,jdbcType=VARCHAR}, address = #{row.address,jdbcType=VARCHAR}, user_agent = #{row.userAgent,jdbcType=VARCHAR} update ums_admin_login_log admin_id = #{adminId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, ip = #{ip,jdbcType=VARCHAR}, address = #{address,jdbcType=VARCHAR}, user_agent = #{userAgent,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update ums_admin_login_log set admin_id = #{adminId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, ip = #{ip,jdbcType=VARCHAR}, address = #{address,jdbcType=VARCHAR}, user_agent = #{userAgent,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsAdminMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, username, password, icon, email, nick_name, note, create_time, login_time, status delete from ums_admin where id = #{id,jdbcType=BIGINT} delete from ums_admin SELECT LAST_INSERT_ID() insert into ums_admin (username, password, icon, email, nick_name, note, create_time, login_time, status ) values (#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{loginTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into ums_admin username, password, icon, email, nick_name, note, create_time, login_time, status, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, #{note,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{loginTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, update ums_admin id = #{row.id,jdbcType=BIGINT}, username = #{row.username,jdbcType=VARCHAR}, password = #{row.password,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, email = #{row.email,jdbcType=VARCHAR}, nick_name = #{row.nickName,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, login_time = #{row.loginTime,jdbcType=TIMESTAMP}, status = #{row.status,jdbcType=INTEGER}, update ums_admin set id = #{row.id,jdbcType=BIGINT}, username = #{row.username,jdbcType=VARCHAR}, password = #{row.password,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, email = #{row.email,jdbcType=VARCHAR}, nick_name = #{row.nickName,jdbcType=VARCHAR}, note = #{row.note,jdbcType=VARCHAR}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, login_time = #{row.loginTime,jdbcType=TIMESTAMP}, status = #{row.status,jdbcType=INTEGER} update ums_admin username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, email = #{email,jdbcType=VARCHAR}, nick_name = #{nickName,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, login_time = #{loginTime,jdbcType=TIMESTAMP}, status = #{status,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_admin set username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, email = #{email,jdbcType=VARCHAR}, nick_name = #{nickName,jdbcType=VARCHAR}, note = #{note,jdbcType=VARCHAR}, create_time = #{createTime,jdbcType=TIMESTAMP}, login_time = #{loginTime,jdbcType=TIMESTAMP}, status = #{status,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsAdminPermissionRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, admin_id, permission_id, type delete from ums_admin_permission_relation where id = #{id,jdbcType=BIGINT} delete from ums_admin_permission_relation SELECT LAST_INSERT_ID() insert into ums_admin_permission_relation (admin_id, permission_id, type ) values (#{adminId,jdbcType=BIGINT}, #{permissionId,jdbcType=BIGINT}, #{type,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into ums_admin_permission_relation admin_id, permission_id, type, #{adminId,jdbcType=BIGINT}, #{permissionId,jdbcType=BIGINT}, #{type,jdbcType=INTEGER}, update ums_admin_permission_relation id = #{row.id,jdbcType=BIGINT}, admin_id = #{row.adminId,jdbcType=BIGINT}, permission_id = #{row.permissionId,jdbcType=BIGINT}, type = #{row.type,jdbcType=INTEGER}, update ums_admin_permission_relation set id = #{row.id,jdbcType=BIGINT}, admin_id = #{row.adminId,jdbcType=BIGINT}, permission_id = #{row.permissionId,jdbcType=BIGINT}, type = #{row.type,jdbcType=INTEGER} update ums_admin_permission_relation admin_id = #{adminId,jdbcType=BIGINT}, permission_id = #{permissionId,jdbcType=BIGINT}, type = #{type,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_admin_permission_relation set admin_id = #{adminId,jdbcType=BIGINT}, permission_id = #{permissionId,jdbcType=BIGINT}, type = #{type,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsAdminRoleRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, admin_id, role_id delete from ums_admin_role_relation where id = #{id,jdbcType=BIGINT} delete from ums_admin_role_relation SELECT LAST_INSERT_ID() insert into ums_admin_role_relation (admin_id, role_id) values (#{adminId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into ums_admin_role_relation admin_id, role_id, #{adminId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT}, update ums_admin_role_relation id = #{row.id,jdbcType=BIGINT}, admin_id = #{row.adminId,jdbcType=BIGINT}, role_id = #{row.roleId,jdbcType=BIGINT}, update ums_admin_role_relation set id = #{row.id,jdbcType=BIGINT}, admin_id = #{row.adminId,jdbcType=BIGINT}, role_id = #{row.roleId,jdbcType=BIGINT} update ums_admin_role_relation admin_id = #{adminId,jdbcType=BIGINT}, role_id = #{roleId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update ums_admin_role_relation set admin_id = #{adminId,jdbcType=BIGINT}, role_id = #{roleId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsGrowthChangeHistoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, create_time, change_type, change_count, operate_man, operate_note, source_type delete from ums_growth_change_history where id = #{id,jdbcType=BIGINT} delete from ums_growth_change_history SELECT LAST_INSERT_ID() insert into ums_growth_change_history (member_id, create_time, change_type, change_count, operate_man, operate_note, source_type) values (#{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{changeType,jdbcType=INTEGER}, #{changeCount,jdbcType=INTEGER}, #{operateMan,jdbcType=VARCHAR}, #{operateNote,jdbcType=VARCHAR}, #{sourceType,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into ums_growth_change_history member_id, create_time, change_type, change_count, operate_man, operate_note, source_type, #{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{changeType,jdbcType=INTEGER}, #{changeCount,jdbcType=INTEGER}, #{operateMan,jdbcType=VARCHAR}, #{operateNote,jdbcType=VARCHAR}, #{sourceType,jdbcType=INTEGER}, update ums_growth_change_history id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, change_type = #{row.changeType,jdbcType=INTEGER}, change_count = #{row.changeCount,jdbcType=INTEGER}, operate_man = #{row.operateMan,jdbcType=VARCHAR}, operate_note = #{row.operateNote,jdbcType=VARCHAR}, source_type = #{row.sourceType,jdbcType=INTEGER}, update ums_growth_change_history set id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, change_type = #{row.changeType,jdbcType=INTEGER}, change_count = #{row.changeCount,jdbcType=INTEGER}, operate_man = #{row.operateMan,jdbcType=VARCHAR}, operate_note = #{row.operateNote,jdbcType=VARCHAR}, source_type = #{row.sourceType,jdbcType=INTEGER} update ums_growth_change_history member_id = #{memberId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, change_type = #{changeType,jdbcType=INTEGER}, change_count = #{changeCount,jdbcType=INTEGER}, operate_man = #{operateMan,jdbcType=VARCHAR}, operate_note = #{operateNote,jdbcType=VARCHAR}, source_type = #{sourceType,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_growth_change_history set member_id = #{memberId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, change_type = #{changeType,jdbcType=INTEGER}, change_count = #{changeCount,jdbcType=INTEGER}, operate_man = #{operateMan,jdbcType=VARCHAR}, operate_note = #{operateNote,jdbcType=VARCHAR}, source_type = #{sourceType,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsIntegrationChangeHistoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, create_time, change_type, change_count, operate_man, operate_note, source_type delete from ums_integration_change_history where id = #{id,jdbcType=BIGINT} delete from ums_integration_change_history SELECT LAST_INSERT_ID() insert into ums_integration_change_history (member_id, create_time, change_type, change_count, operate_man, operate_note, source_type) values (#{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{changeType,jdbcType=INTEGER}, #{changeCount,jdbcType=INTEGER}, #{operateMan,jdbcType=VARCHAR}, #{operateNote,jdbcType=VARCHAR}, #{sourceType,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into ums_integration_change_history member_id, create_time, change_type, change_count, operate_man, operate_note, source_type, #{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{changeType,jdbcType=INTEGER}, #{changeCount,jdbcType=INTEGER}, #{operateMan,jdbcType=VARCHAR}, #{operateNote,jdbcType=VARCHAR}, #{sourceType,jdbcType=INTEGER}, update ums_integration_change_history id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, change_type = #{row.changeType,jdbcType=INTEGER}, change_count = #{row.changeCount,jdbcType=INTEGER}, operate_man = #{row.operateMan,jdbcType=VARCHAR}, operate_note = #{row.operateNote,jdbcType=VARCHAR}, source_type = #{row.sourceType,jdbcType=INTEGER}, update ums_integration_change_history set id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, change_type = #{row.changeType,jdbcType=INTEGER}, change_count = #{row.changeCount,jdbcType=INTEGER}, operate_man = #{row.operateMan,jdbcType=VARCHAR}, operate_note = #{row.operateNote,jdbcType=VARCHAR}, source_type = #{row.sourceType,jdbcType=INTEGER} update ums_integration_change_history member_id = #{memberId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, change_type = #{changeType,jdbcType=INTEGER}, change_count = #{changeCount,jdbcType=INTEGER}, operate_man = #{operateMan,jdbcType=VARCHAR}, operate_note = #{operateNote,jdbcType=VARCHAR}, source_type = #{sourceType,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_integration_change_history set member_id = #{memberId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, change_type = #{changeType,jdbcType=INTEGER}, change_count = #{changeCount,jdbcType=INTEGER}, operate_man = #{operateMan,jdbcType=VARCHAR}, operate_note = #{operateNote,jdbcType=VARCHAR}, source_type = #{sourceType,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsIntegrationConsumeSettingMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, deduction_per_amount, max_percent_per_order, use_unit, coupon_status delete from ums_integration_consume_setting where id = #{id,jdbcType=BIGINT} delete from ums_integration_consume_setting SELECT LAST_INSERT_ID() insert into ums_integration_consume_setting (deduction_per_amount, max_percent_per_order, use_unit, coupon_status) values (#{deductionPerAmount,jdbcType=INTEGER}, #{maxPercentPerOrder,jdbcType=INTEGER}, #{useUnit,jdbcType=INTEGER}, #{couponStatus,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into ums_integration_consume_setting deduction_per_amount, max_percent_per_order, use_unit, coupon_status, #{deductionPerAmount,jdbcType=INTEGER}, #{maxPercentPerOrder,jdbcType=INTEGER}, #{useUnit,jdbcType=INTEGER}, #{couponStatus,jdbcType=INTEGER}, update ums_integration_consume_setting id = #{row.id,jdbcType=BIGINT}, deduction_per_amount = #{row.deductionPerAmount,jdbcType=INTEGER}, max_percent_per_order = #{row.maxPercentPerOrder,jdbcType=INTEGER}, use_unit = #{row.useUnit,jdbcType=INTEGER}, coupon_status = #{row.couponStatus,jdbcType=INTEGER}, update ums_integration_consume_setting set id = #{row.id,jdbcType=BIGINT}, deduction_per_amount = #{row.deductionPerAmount,jdbcType=INTEGER}, max_percent_per_order = #{row.maxPercentPerOrder,jdbcType=INTEGER}, use_unit = #{row.useUnit,jdbcType=INTEGER}, coupon_status = #{row.couponStatus,jdbcType=INTEGER} update ums_integration_consume_setting deduction_per_amount = #{deductionPerAmount,jdbcType=INTEGER}, max_percent_per_order = #{maxPercentPerOrder,jdbcType=INTEGER}, use_unit = #{useUnit,jdbcType=INTEGER}, coupon_status = #{couponStatus,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_integration_consume_setting set deduction_per_amount = #{deductionPerAmount,jdbcType=INTEGER}, max_percent_per_order = #{maxPercentPerOrder,jdbcType=INTEGER}, use_unit = #{useUnit,jdbcType=INTEGER}, coupon_status = #{couponStatus,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberLevelMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, growth_point, default_status, free_freight_point, comment_growth_point, priviledge_free_freight, priviledge_sign_in, priviledge_comment, priviledge_promotion, priviledge_member_price, priviledge_birthday, note delete from ums_member_level where id = #{id,jdbcType=BIGINT} delete from ums_member_level SELECT LAST_INSERT_ID() insert into ums_member_level (name, growth_point, default_status, free_freight_point, comment_growth_point, priviledge_free_freight, priviledge_sign_in, priviledge_comment, priviledge_promotion, priviledge_member_price, priviledge_birthday, note) values (#{name,jdbcType=VARCHAR}, #{growthPoint,jdbcType=INTEGER}, #{defaultStatus,jdbcType=INTEGER}, #{freeFreightPoint,jdbcType=DECIMAL}, #{commentGrowthPoint,jdbcType=INTEGER}, #{priviledgeFreeFreight,jdbcType=INTEGER}, #{priviledgeSignIn,jdbcType=INTEGER}, #{priviledgeComment,jdbcType=INTEGER}, #{priviledgePromotion,jdbcType=INTEGER}, #{priviledgeMemberPrice,jdbcType=INTEGER}, #{priviledgeBirthday,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}) SELECT LAST_INSERT_ID() insert into ums_member_level name, growth_point, default_status, free_freight_point, comment_growth_point, priviledge_free_freight, priviledge_sign_in, priviledge_comment, priviledge_promotion, priviledge_member_price, priviledge_birthday, note, #{name,jdbcType=VARCHAR}, #{growthPoint,jdbcType=INTEGER}, #{defaultStatus,jdbcType=INTEGER}, #{freeFreightPoint,jdbcType=DECIMAL}, #{commentGrowthPoint,jdbcType=INTEGER}, #{priviledgeFreeFreight,jdbcType=INTEGER}, #{priviledgeSignIn,jdbcType=INTEGER}, #{priviledgeComment,jdbcType=INTEGER}, #{priviledgePromotion,jdbcType=INTEGER}, #{priviledgeMemberPrice,jdbcType=INTEGER}, #{priviledgeBirthday,jdbcType=INTEGER}, #{note,jdbcType=VARCHAR}, update ums_member_level id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, growth_point = #{row.growthPoint,jdbcType=INTEGER}, default_status = #{row.defaultStatus,jdbcType=INTEGER}, free_freight_point = #{row.freeFreightPoint,jdbcType=DECIMAL}, comment_growth_point = #{row.commentGrowthPoint,jdbcType=INTEGER}, priviledge_free_freight = #{row.priviledgeFreeFreight,jdbcType=INTEGER}, priviledge_sign_in = #{row.priviledgeSignIn,jdbcType=INTEGER}, priviledge_comment = #{row.priviledgeComment,jdbcType=INTEGER}, priviledge_promotion = #{row.priviledgePromotion,jdbcType=INTEGER}, priviledge_member_price = #{row.priviledgeMemberPrice,jdbcType=INTEGER}, priviledge_birthday = #{row.priviledgeBirthday,jdbcType=INTEGER}, note = #{row.note,jdbcType=VARCHAR}, update ums_member_level set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, growth_point = #{row.growthPoint,jdbcType=INTEGER}, default_status = #{row.defaultStatus,jdbcType=INTEGER}, free_freight_point = #{row.freeFreightPoint,jdbcType=DECIMAL}, comment_growth_point = #{row.commentGrowthPoint,jdbcType=INTEGER}, priviledge_free_freight = #{row.priviledgeFreeFreight,jdbcType=INTEGER}, priviledge_sign_in = #{row.priviledgeSignIn,jdbcType=INTEGER}, priviledge_comment = #{row.priviledgeComment,jdbcType=INTEGER}, priviledge_promotion = #{row.priviledgePromotion,jdbcType=INTEGER}, priviledge_member_price = #{row.priviledgeMemberPrice,jdbcType=INTEGER}, priviledge_birthday = #{row.priviledgeBirthday,jdbcType=INTEGER}, note = #{row.note,jdbcType=VARCHAR} update ums_member_level name = #{name,jdbcType=VARCHAR}, growth_point = #{growthPoint,jdbcType=INTEGER}, default_status = #{defaultStatus,jdbcType=INTEGER}, free_freight_point = #{freeFreightPoint,jdbcType=DECIMAL}, comment_growth_point = #{commentGrowthPoint,jdbcType=INTEGER}, priviledge_free_freight = #{priviledgeFreeFreight,jdbcType=INTEGER}, priviledge_sign_in = #{priviledgeSignIn,jdbcType=INTEGER}, priviledge_comment = #{priviledgeComment,jdbcType=INTEGER}, priviledge_promotion = #{priviledgePromotion,jdbcType=INTEGER}, priviledge_member_price = #{priviledgeMemberPrice,jdbcType=INTEGER}, priviledge_birthday = #{priviledgeBirthday,jdbcType=INTEGER}, note = #{note,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update ums_member_level set name = #{name,jdbcType=VARCHAR}, growth_point = #{growthPoint,jdbcType=INTEGER}, default_status = #{defaultStatus,jdbcType=INTEGER}, free_freight_point = #{freeFreightPoint,jdbcType=DECIMAL}, comment_growth_point = #{commentGrowthPoint,jdbcType=INTEGER}, priviledge_free_freight = #{priviledgeFreeFreight,jdbcType=INTEGER}, priviledge_sign_in = #{priviledgeSignIn,jdbcType=INTEGER}, priviledge_comment = #{priviledgeComment,jdbcType=INTEGER}, priviledge_promotion = #{priviledgePromotion,jdbcType=INTEGER}, priviledge_member_price = #{priviledgeMemberPrice,jdbcType=INTEGER}, priviledge_birthday = #{priviledgeBirthday,jdbcType=INTEGER}, note = #{note,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberLoginLogMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, create_time, ip, city, login_type, province delete from ums_member_login_log where id = #{id,jdbcType=BIGINT} delete from ums_member_login_log SELECT LAST_INSERT_ID() insert into ums_member_login_log (member_id, create_time, ip, city, login_type, province ) values (#{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{ip,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{loginType,jdbcType=INTEGER}, #{province,jdbcType=VARCHAR} ) SELECT LAST_INSERT_ID() insert into ums_member_login_log member_id, create_time, ip, city, login_type, province, #{memberId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{ip,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{loginType,jdbcType=INTEGER}, #{province,jdbcType=VARCHAR}, update ums_member_login_log id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, ip = #{row.ip,jdbcType=VARCHAR}, city = #{row.city,jdbcType=VARCHAR}, login_type = #{row.loginType,jdbcType=INTEGER}, province = #{row.province,jdbcType=VARCHAR}, update ums_member_login_log set id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, ip = #{row.ip,jdbcType=VARCHAR}, city = #{row.city,jdbcType=VARCHAR}, login_type = #{row.loginType,jdbcType=INTEGER}, province = #{row.province,jdbcType=VARCHAR} update ums_member_login_log member_id = #{memberId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, ip = #{ip,jdbcType=VARCHAR}, city = #{city,jdbcType=VARCHAR}, login_type = #{loginType,jdbcType=INTEGER}, province = #{province,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update ums_member_login_log set member_id = #{memberId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, ip = #{ip,jdbcType=VARCHAR}, city = #{city,jdbcType=VARCHAR}, login_type = #{loginType,jdbcType=INTEGER}, province = #{province,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_level_id, username, password, nickname, phone, status, create_time, icon, gender, birthday, city, job, personalized_signature, source_type, integration, growth, luckey_count, history_integration delete from ums_member where id = #{id,jdbcType=BIGINT} delete from ums_member SELECT LAST_INSERT_ID() insert into ums_member (member_level_id, username, password, nickname, phone, status, create_time, icon, gender, birthday, city, job, personalized_signature, source_type, integration, growth, luckey_count, history_integration) values (#{memberLevelId,jdbcType=BIGINT}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{nickname,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{icon,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER}, #{birthday,jdbcType=DATE}, #{city,jdbcType=VARCHAR}, #{job,jdbcType=VARCHAR}, #{personalizedSignature,jdbcType=VARCHAR}, #{sourceType,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER}, #{luckeyCount,jdbcType=INTEGER}, #{historyIntegration,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into ums_member member_level_id, username, password, nickname, phone, status, create_time, icon, gender, birthday, city, job, personalized_signature, source_type, integration, growth, luckey_count, history_integration, #{memberLevelId,jdbcType=BIGINT}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{nickname,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{icon,jdbcType=VARCHAR}, #{gender,jdbcType=INTEGER}, #{birthday,jdbcType=DATE}, #{city,jdbcType=VARCHAR}, #{job,jdbcType=VARCHAR}, #{personalizedSignature,jdbcType=VARCHAR}, #{sourceType,jdbcType=INTEGER}, #{integration,jdbcType=INTEGER}, #{growth,jdbcType=INTEGER}, #{luckeyCount,jdbcType=INTEGER}, #{historyIntegration,jdbcType=INTEGER}, update ums_member id = #{row.id,jdbcType=BIGINT}, member_level_id = #{row.memberLevelId,jdbcType=BIGINT}, username = #{row.username,jdbcType=VARCHAR}, password = #{row.password,jdbcType=VARCHAR}, nickname = #{row.nickname,jdbcType=VARCHAR}, phone = #{row.phone,jdbcType=VARCHAR}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, icon = #{row.icon,jdbcType=VARCHAR}, gender = #{row.gender,jdbcType=INTEGER}, birthday = #{row.birthday,jdbcType=DATE}, city = #{row.city,jdbcType=VARCHAR}, job = #{row.job,jdbcType=VARCHAR}, personalized_signature = #{row.personalizedSignature,jdbcType=VARCHAR}, source_type = #{row.sourceType,jdbcType=INTEGER}, integration = #{row.integration,jdbcType=INTEGER}, growth = #{row.growth,jdbcType=INTEGER}, luckey_count = #{row.luckeyCount,jdbcType=INTEGER}, history_integration = #{row.historyIntegration,jdbcType=INTEGER}, update ums_member set id = #{row.id,jdbcType=BIGINT}, member_level_id = #{row.memberLevelId,jdbcType=BIGINT}, username = #{row.username,jdbcType=VARCHAR}, password = #{row.password,jdbcType=VARCHAR}, nickname = #{row.nickname,jdbcType=VARCHAR}, phone = #{row.phone,jdbcType=VARCHAR}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, icon = #{row.icon,jdbcType=VARCHAR}, gender = #{row.gender,jdbcType=INTEGER}, birthday = #{row.birthday,jdbcType=DATE}, city = #{row.city,jdbcType=VARCHAR}, job = #{row.job,jdbcType=VARCHAR}, personalized_signature = #{row.personalizedSignature,jdbcType=VARCHAR}, source_type = #{row.sourceType,jdbcType=INTEGER}, integration = #{row.integration,jdbcType=INTEGER}, growth = #{row.growth,jdbcType=INTEGER}, luckey_count = #{row.luckeyCount,jdbcType=INTEGER}, history_integration = #{row.historyIntegration,jdbcType=INTEGER} update ums_member member_level_id = #{memberLevelId,jdbcType=BIGINT}, username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, nickname = #{nickname,jdbcType=VARCHAR}, phone = #{phone,jdbcType=VARCHAR}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, icon = #{icon,jdbcType=VARCHAR}, gender = #{gender,jdbcType=INTEGER}, birthday = #{birthday,jdbcType=DATE}, city = #{city,jdbcType=VARCHAR}, job = #{job,jdbcType=VARCHAR}, personalized_signature = #{personalizedSignature,jdbcType=VARCHAR}, source_type = #{sourceType,jdbcType=INTEGER}, integration = #{integration,jdbcType=INTEGER}, growth = #{growth,jdbcType=INTEGER}, luckey_count = #{luckeyCount,jdbcType=INTEGER}, history_integration = #{historyIntegration,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_member set member_level_id = #{memberLevelId,jdbcType=BIGINT}, username = #{username,jdbcType=VARCHAR}, password = #{password,jdbcType=VARCHAR}, nickname = #{nickname,jdbcType=VARCHAR}, phone = #{phone,jdbcType=VARCHAR}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, icon = #{icon,jdbcType=VARCHAR}, gender = #{gender,jdbcType=INTEGER}, birthday = #{birthday,jdbcType=DATE}, city = #{city,jdbcType=VARCHAR}, job = #{job,jdbcType=VARCHAR}, personalized_signature = #{personalizedSignature,jdbcType=VARCHAR}, source_type = #{sourceType,jdbcType=INTEGER}, integration = #{integration,jdbcType=INTEGER}, growth = #{growth,jdbcType=INTEGER}, luckey_count = #{luckeyCount,jdbcType=INTEGER}, history_integration = #{historyIntegration,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberMemberTagRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, tag_id delete from ums_member_member_tag_relation where id = #{id,jdbcType=BIGINT} delete from ums_member_member_tag_relation SELECT LAST_INSERT_ID() insert into ums_member_member_tag_relation (member_id, tag_id) values (#{memberId,jdbcType=BIGINT}, #{tagId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into ums_member_member_tag_relation member_id, tag_id, #{memberId,jdbcType=BIGINT}, #{tagId,jdbcType=BIGINT}, update ums_member_member_tag_relation id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, tag_id = #{row.tagId,jdbcType=BIGINT}, update ums_member_member_tag_relation set id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, tag_id = #{row.tagId,jdbcType=BIGINT} update ums_member_member_tag_relation member_id = #{memberId,jdbcType=BIGINT}, tag_id = #{tagId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update ums_member_member_tag_relation set member_id = #{memberId,jdbcType=BIGINT}, tag_id = #{tagId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberProductCategoryRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, product_category_id delete from ums_member_product_category_relation where id = #{id,jdbcType=BIGINT} delete from ums_member_product_category_relation SELECT LAST_INSERT_ID() insert into ums_member_product_category_relation (member_id, product_category_id) values (#{memberId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into ums_member_product_category_relation member_id, product_category_id, #{memberId,jdbcType=BIGINT}, #{productCategoryId,jdbcType=BIGINT}, update ums_member_product_category_relation id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT}, update ums_member_product_category_relation set id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, product_category_id = #{row.productCategoryId,jdbcType=BIGINT} update ums_member_product_category_relation member_id = #{memberId,jdbcType=BIGINT}, product_category_id = #{productCategoryId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update ums_member_product_category_relation set member_id = #{memberId,jdbcType=BIGINT}, product_category_id = #{productCategoryId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberReceiveAddressMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, name, phone_number, default_status, post_code, province, city, region, detail_address delete from ums_member_receive_address where id = #{id,jdbcType=BIGINT} delete from ums_member_receive_address SELECT LAST_INSERT_ID() insert into ums_member_receive_address (member_id, name, phone_number, default_status, post_code, province, city, region, detail_address ) values (#{memberId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{phoneNumber,jdbcType=VARCHAR}, #{defaultStatus,jdbcType=INTEGER}, #{postCode,jdbcType=VARCHAR}, #{province,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{region,jdbcType=VARCHAR}, #{detailAddress,jdbcType=VARCHAR} ) SELECT LAST_INSERT_ID() insert into ums_member_receive_address member_id, name, phone_number, default_status, post_code, province, city, region, detail_address, #{memberId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{phoneNumber,jdbcType=VARCHAR}, #{defaultStatus,jdbcType=INTEGER}, #{postCode,jdbcType=VARCHAR}, #{province,jdbcType=VARCHAR}, #{city,jdbcType=VARCHAR}, #{region,jdbcType=VARCHAR}, #{detailAddress,jdbcType=VARCHAR}, update ums_member_receive_address id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, phone_number = #{row.phoneNumber,jdbcType=VARCHAR}, default_status = #{row.defaultStatus,jdbcType=INTEGER}, post_code = #{row.postCode,jdbcType=VARCHAR}, province = #{row.province,jdbcType=VARCHAR}, city = #{row.city,jdbcType=VARCHAR}, region = #{row.region,jdbcType=VARCHAR}, detail_address = #{row.detailAddress,jdbcType=VARCHAR}, update ums_member_receive_address set id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, phone_number = #{row.phoneNumber,jdbcType=VARCHAR}, default_status = #{row.defaultStatus,jdbcType=INTEGER}, post_code = #{row.postCode,jdbcType=VARCHAR}, province = #{row.province,jdbcType=VARCHAR}, city = #{row.city,jdbcType=VARCHAR}, region = #{row.region,jdbcType=VARCHAR}, detail_address = #{row.detailAddress,jdbcType=VARCHAR} update ums_member_receive_address member_id = #{memberId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, phone_number = #{phoneNumber,jdbcType=VARCHAR}, default_status = #{defaultStatus,jdbcType=INTEGER}, post_code = #{postCode,jdbcType=VARCHAR}, province = #{province,jdbcType=VARCHAR}, city = #{city,jdbcType=VARCHAR}, region = #{region,jdbcType=VARCHAR}, detail_address = #{detailAddress,jdbcType=VARCHAR}, where id = #{id,jdbcType=BIGINT} update ums_member_receive_address set member_id = #{memberId,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, phone_number = #{phoneNumber,jdbcType=VARCHAR}, default_status = #{defaultStatus,jdbcType=INTEGER}, post_code = #{postCode,jdbcType=VARCHAR}, province = #{province,jdbcType=VARCHAR}, city = #{city,jdbcType=VARCHAR}, region = #{region,jdbcType=VARCHAR}, detail_address = #{detailAddress,jdbcType=VARCHAR} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberRuleSettingMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, continue_sign_day, continue_sign_point, consume_per_point, low_order_amount, max_point_per_order, type delete from ums_member_rule_setting where id = #{id,jdbcType=BIGINT} delete from ums_member_rule_setting SELECT LAST_INSERT_ID() insert into ums_member_rule_setting (continue_sign_day, continue_sign_point, consume_per_point, low_order_amount, max_point_per_order, type) values (#{continueSignDay,jdbcType=INTEGER}, #{continueSignPoint,jdbcType=INTEGER}, #{consumePerPoint,jdbcType=DECIMAL}, #{lowOrderAmount,jdbcType=DECIMAL}, #{maxPointPerOrder,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into ums_member_rule_setting continue_sign_day, continue_sign_point, consume_per_point, low_order_amount, max_point_per_order, type, #{continueSignDay,jdbcType=INTEGER}, #{continueSignPoint,jdbcType=INTEGER}, #{consumePerPoint,jdbcType=DECIMAL}, #{lowOrderAmount,jdbcType=DECIMAL}, #{maxPointPerOrder,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}, update ums_member_rule_setting id = #{row.id,jdbcType=BIGINT}, continue_sign_day = #{row.continueSignDay,jdbcType=INTEGER}, continue_sign_point = #{row.continueSignPoint,jdbcType=INTEGER}, consume_per_point = #{row.consumePerPoint,jdbcType=DECIMAL}, low_order_amount = #{row.lowOrderAmount,jdbcType=DECIMAL}, max_point_per_order = #{row.maxPointPerOrder,jdbcType=INTEGER}, type = #{row.type,jdbcType=INTEGER}, update ums_member_rule_setting set id = #{row.id,jdbcType=BIGINT}, continue_sign_day = #{row.continueSignDay,jdbcType=INTEGER}, continue_sign_point = #{row.continueSignPoint,jdbcType=INTEGER}, consume_per_point = #{row.consumePerPoint,jdbcType=DECIMAL}, low_order_amount = #{row.lowOrderAmount,jdbcType=DECIMAL}, max_point_per_order = #{row.maxPointPerOrder,jdbcType=INTEGER}, type = #{row.type,jdbcType=INTEGER} update ums_member_rule_setting continue_sign_day = #{continueSignDay,jdbcType=INTEGER}, continue_sign_point = #{continueSignPoint,jdbcType=INTEGER}, consume_per_point = #{consumePerPoint,jdbcType=DECIMAL}, low_order_amount = #{lowOrderAmount,jdbcType=DECIMAL}, max_point_per_order = #{maxPointPerOrder,jdbcType=INTEGER}, type = #{type,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_member_rule_setting set continue_sign_day = #{continueSignDay,jdbcType=INTEGER}, continue_sign_point = #{continueSignPoint,jdbcType=INTEGER}, consume_per_point = #{consumePerPoint,jdbcType=DECIMAL}, low_order_amount = #{lowOrderAmount,jdbcType=DECIMAL}, max_point_per_order = #{maxPointPerOrder,jdbcType=INTEGER}, type = #{type,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberStatisticsInfoMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, member_id, consume_amount, order_count, coupon_count, comment_count, return_order_count, login_count, attend_count, fans_count, collect_product_count, collect_subject_count, collect_topic_count, collect_comment_count, invite_friend_count, recent_order_time delete from ums_member_statistics_info where id = #{id,jdbcType=BIGINT} delete from ums_member_statistics_info SELECT LAST_INSERT_ID() insert into ums_member_statistics_info (member_id, consume_amount, order_count, coupon_count, comment_count, return_order_count, login_count, attend_count, fans_count, collect_product_count, collect_subject_count, collect_topic_count, collect_comment_count, invite_friend_count, recent_order_time) values (#{memberId,jdbcType=BIGINT}, #{consumeAmount,jdbcType=DECIMAL}, #{orderCount,jdbcType=INTEGER}, #{couponCount,jdbcType=INTEGER}, #{commentCount,jdbcType=INTEGER}, #{returnOrderCount,jdbcType=INTEGER}, #{loginCount,jdbcType=INTEGER}, #{attendCount,jdbcType=INTEGER}, #{fansCount,jdbcType=INTEGER}, #{collectProductCount,jdbcType=INTEGER}, #{collectSubjectCount,jdbcType=INTEGER}, #{collectTopicCount,jdbcType=INTEGER}, #{collectCommentCount,jdbcType=INTEGER}, #{inviteFriendCount,jdbcType=INTEGER}, #{recentOrderTime,jdbcType=TIMESTAMP}) SELECT LAST_INSERT_ID() insert into ums_member_statistics_info member_id, consume_amount, order_count, coupon_count, comment_count, return_order_count, login_count, attend_count, fans_count, collect_product_count, collect_subject_count, collect_topic_count, collect_comment_count, invite_friend_count, recent_order_time, #{memberId,jdbcType=BIGINT}, #{consumeAmount,jdbcType=DECIMAL}, #{orderCount,jdbcType=INTEGER}, #{couponCount,jdbcType=INTEGER}, #{commentCount,jdbcType=INTEGER}, #{returnOrderCount,jdbcType=INTEGER}, #{loginCount,jdbcType=INTEGER}, #{attendCount,jdbcType=INTEGER}, #{fansCount,jdbcType=INTEGER}, #{collectProductCount,jdbcType=INTEGER}, #{collectSubjectCount,jdbcType=INTEGER}, #{collectTopicCount,jdbcType=INTEGER}, #{collectCommentCount,jdbcType=INTEGER}, #{inviteFriendCount,jdbcType=INTEGER}, #{recentOrderTime,jdbcType=TIMESTAMP}, update ums_member_statistics_info id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, consume_amount = #{row.consumeAmount,jdbcType=DECIMAL}, order_count = #{row.orderCount,jdbcType=INTEGER}, coupon_count = #{row.couponCount,jdbcType=INTEGER}, comment_count = #{row.commentCount,jdbcType=INTEGER}, return_order_count = #{row.returnOrderCount,jdbcType=INTEGER}, login_count = #{row.loginCount,jdbcType=INTEGER}, attend_count = #{row.attendCount,jdbcType=INTEGER}, fans_count = #{row.fansCount,jdbcType=INTEGER}, collect_product_count = #{row.collectProductCount,jdbcType=INTEGER}, collect_subject_count = #{row.collectSubjectCount,jdbcType=INTEGER}, collect_topic_count = #{row.collectTopicCount,jdbcType=INTEGER}, collect_comment_count = #{row.collectCommentCount,jdbcType=INTEGER}, invite_friend_count = #{row.inviteFriendCount,jdbcType=INTEGER}, recent_order_time = #{row.recentOrderTime,jdbcType=TIMESTAMP}, update ums_member_statistics_info set id = #{row.id,jdbcType=BIGINT}, member_id = #{row.memberId,jdbcType=BIGINT}, consume_amount = #{row.consumeAmount,jdbcType=DECIMAL}, order_count = #{row.orderCount,jdbcType=INTEGER}, coupon_count = #{row.couponCount,jdbcType=INTEGER}, comment_count = #{row.commentCount,jdbcType=INTEGER}, return_order_count = #{row.returnOrderCount,jdbcType=INTEGER}, login_count = #{row.loginCount,jdbcType=INTEGER}, attend_count = #{row.attendCount,jdbcType=INTEGER}, fans_count = #{row.fansCount,jdbcType=INTEGER}, collect_product_count = #{row.collectProductCount,jdbcType=INTEGER}, collect_subject_count = #{row.collectSubjectCount,jdbcType=INTEGER}, collect_topic_count = #{row.collectTopicCount,jdbcType=INTEGER}, collect_comment_count = #{row.collectCommentCount,jdbcType=INTEGER}, invite_friend_count = #{row.inviteFriendCount,jdbcType=INTEGER}, recent_order_time = #{row.recentOrderTime,jdbcType=TIMESTAMP} update ums_member_statistics_info member_id = #{memberId,jdbcType=BIGINT}, consume_amount = #{consumeAmount,jdbcType=DECIMAL}, order_count = #{orderCount,jdbcType=INTEGER}, coupon_count = #{couponCount,jdbcType=INTEGER}, comment_count = #{commentCount,jdbcType=INTEGER}, return_order_count = #{returnOrderCount,jdbcType=INTEGER}, login_count = #{loginCount,jdbcType=INTEGER}, attend_count = #{attendCount,jdbcType=INTEGER}, fans_count = #{fansCount,jdbcType=INTEGER}, collect_product_count = #{collectProductCount,jdbcType=INTEGER}, collect_subject_count = #{collectSubjectCount,jdbcType=INTEGER}, collect_topic_count = #{collectTopicCount,jdbcType=INTEGER}, collect_comment_count = #{collectCommentCount,jdbcType=INTEGER}, invite_friend_count = #{inviteFriendCount,jdbcType=INTEGER}, recent_order_time = #{recentOrderTime,jdbcType=TIMESTAMP}, where id = #{id,jdbcType=BIGINT} update ums_member_statistics_info set member_id = #{memberId,jdbcType=BIGINT}, consume_amount = #{consumeAmount,jdbcType=DECIMAL}, order_count = #{orderCount,jdbcType=INTEGER}, coupon_count = #{couponCount,jdbcType=INTEGER}, comment_count = #{commentCount,jdbcType=INTEGER}, return_order_count = #{returnOrderCount,jdbcType=INTEGER}, login_count = #{loginCount,jdbcType=INTEGER}, attend_count = #{attendCount,jdbcType=INTEGER}, fans_count = #{fansCount,jdbcType=INTEGER}, collect_product_count = #{collectProductCount,jdbcType=INTEGER}, collect_subject_count = #{collectSubjectCount,jdbcType=INTEGER}, collect_topic_count = #{collectTopicCount,jdbcType=INTEGER}, collect_comment_count = #{collectCommentCount,jdbcType=INTEGER}, invite_friend_count = #{inviteFriendCount,jdbcType=INTEGER}, recent_order_time = #{recentOrderTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberTagMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, finish_order_count, finish_order_amount delete from ums_member_tag where id = #{id,jdbcType=BIGINT} delete from ums_member_tag SELECT LAST_INSERT_ID() insert into ums_member_tag (name, finish_order_count, finish_order_amount ) values (#{name,jdbcType=VARCHAR}, #{finishOrderCount,jdbcType=INTEGER}, #{finishOrderAmount,jdbcType=DECIMAL} ) SELECT LAST_INSERT_ID() insert into ums_member_tag name, finish_order_count, finish_order_amount, #{name,jdbcType=VARCHAR}, #{finishOrderCount,jdbcType=INTEGER}, #{finishOrderAmount,jdbcType=DECIMAL}, update ums_member_tag id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, finish_order_count = #{row.finishOrderCount,jdbcType=INTEGER}, finish_order_amount = #{row.finishOrderAmount,jdbcType=DECIMAL}, update ums_member_tag set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, finish_order_count = #{row.finishOrderCount,jdbcType=INTEGER}, finish_order_amount = #{row.finishOrderAmount,jdbcType=DECIMAL} update ums_member_tag name = #{name,jdbcType=VARCHAR}, finish_order_count = #{finishOrderCount,jdbcType=INTEGER}, finish_order_amount = #{finishOrderAmount,jdbcType=DECIMAL}, where id = #{id,jdbcType=BIGINT} update ums_member_tag set name = #{name,jdbcType=VARCHAR}, finish_order_count = #{finishOrderCount,jdbcType=INTEGER}, finish_order_amount = #{finishOrderAmount,jdbcType=DECIMAL} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMemberTaskMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, growth, intergration, type delete from ums_member_task where id = #{id,jdbcType=BIGINT} delete from ums_member_task SELECT LAST_INSERT_ID() insert into ums_member_task (name, growth, intergration, type) values (#{name,jdbcType=VARCHAR}, #{growth,jdbcType=INTEGER}, #{intergration,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into ums_member_task name, growth, intergration, type, #{name,jdbcType=VARCHAR}, #{growth,jdbcType=INTEGER}, #{intergration,jdbcType=INTEGER}, #{type,jdbcType=INTEGER}, update ums_member_task id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, growth = #{row.growth,jdbcType=INTEGER}, intergration = #{row.intergration,jdbcType=INTEGER}, type = #{row.type,jdbcType=INTEGER}, update ums_member_task set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, growth = #{row.growth,jdbcType=INTEGER}, intergration = #{row.intergration,jdbcType=INTEGER}, type = #{row.type,jdbcType=INTEGER} update ums_member_task name = #{name,jdbcType=VARCHAR}, growth = #{growth,jdbcType=INTEGER}, intergration = #{intergration,jdbcType=INTEGER}, type = #{type,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_member_task set name = #{name,jdbcType=VARCHAR}, growth = #{growth,jdbcType=INTEGER}, intergration = #{intergration,jdbcType=INTEGER}, type = #{type,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsMenuMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, parent_id, create_time, title, level, sort, name, icon, hidden delete from ums_menu where id = #{id,jdbcType=BIGINT} delete from ums_menu SELECT LAST_INSERT_ID() insert into ums_menu (parent_id, create_time, title, level, sort, name, icon, hidden) values (#{parentId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{title,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{hidden,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into ums_menu parent_id, create_time, title, level, sort, name, icon, hidden, #{parentId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{title,jdbcType=VARCHAR}, #{level,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{hidden,jdbcType=INTEGER}, update ums_menu id = #{row.id,jdbcType=BIGINT}, parent_id = #{row.parentId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, title = #{row.title,jdbcType=VARCHAR}, level = #{row.level,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, name = #{row.name,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, hidden = #{row.hidden,jdbcType=INTEGER}, update ums_menu set id = #{row.id,jdbcType=BIGINT}, parent_id = #{row.parentId,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, title = #{row.title,jdbcType=VARCHAR}, level = #{row.level,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, name = #{row.name,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, hidden = #{row.hidden,jdbcType=INTEGER} update ums_menu parent_id = #{parentId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, title = #{title,jdbcType=VARCHAR}, level = #{level,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, name = #{name,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, hidden = #{hidden,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_menu set parent_id = #{parentId,jdbcType=BIGINT}, create_time = #{createTime,jdbcType=TIMESTAMP}, title = #{title,jdbcType=VARCHAR}, level = #{level,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, name = #{name,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, hidden = #{hidden,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsPermissionMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, pid, name, value, icon, type, uri, status, create_time, sort delete from ums_permission where id = #{id,jdbcType=BIGINT} delete from ums_permission SELECT LAST_INSERT_ID() insert into ums_permission (pid, name, value, icon, type, uri, status, create_time, sort) values (#{pid,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{value,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{uri,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{sort,jdbcType=INTEGER}) SELECT LAST_INSERT_ID() insert into ums_permission pid, name, value, icon, type, uri, status, create_time, sort, #{pid,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{value,jdbcType=VARCHAR}, #{icon,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{uri,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{sort,jdbcType=INTEGER}, update ums_permission id = #{row.id,jdbcType=BIGINT}, pid = #{row.pid,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, value = #{row.value,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, type = #{row.type,jdbcType=INTEGER}, uri = #{row.uri,jdbcType=VARCHAR}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, sort = #{row.sort,jdbcType=INTEGER}, update ums_permission set id = #{row.id,jdbcType=BIGINT}, pid = #{row.pid,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, value = #{row.value,jdbcType=VARCHAR}, icon = #{row.icon,jdbcType=VARCHAR}, type = #{row.type,jdbcType=INTEGER}, uri = #{row.uri,jdbcType=VARCHAR}, status = #{row.status,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, sort = #{row.sort,jdbcType=INTEGER} update ums_permission pid = #{pid,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, value = #{value,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, type = #{type,jdbcType=INTEGER}, uri = #{uri,jdbcType=VARCHAR}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_permission set pid = #{pid,jdbcType=BIGINT}, name = #{name,jdbcType=VARCHAR}, value = #{value,jdbcType=VARCHAR}, icon = #{icon,jdbcType=VARCHAR}, type = #{type,jdbcType=INTEGER}, uri = #{uri,jdbcType=VARCHAR}, status = #{status,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsResourceCategoryMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, create_time, name, sort delete from ums_resource_category where id = #{id,jdbcType=BIGINT} delete from ums_resource_category SELECT LAST_INSERT_ID() insert into ums_resource_category (create_time, name, sort ) values (#{createTime,jdbcType=TIMESTAMP}, #{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into ums_resource_category create_time, name, sort, #{createTime,jdbcType=TIMESTAMP}, #{name,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, update ums_resource_category id = #{row.id,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, name = #{row.name,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER}, update ums_resource_category set id = #{row.id,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, name = #{row.name,jdbcType=VARCHAR}, sort = #{row.sort,jdbcType=INTEGER} update ums_resource_category create_time = #{createTime,jdbcType=TIMESTAMP}, name = #{name,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_resource_category set create_time = #{createTime,jdbcType=TIMESTAMP}, name = #{name,jdbcType=VARCHAR}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsResourceMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, create_time, name, url, description, category_id delete from ums_resource where id = #{id,jdbcType=BIGINT} delete from ums_resource SELECT LAST_INSERT_ID() insert into ums_resource (create_time, name, url, description, category_id) values (#{createTime,jdbcType=TIMESTAMP}, #{name,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{categoryId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into ums_resource create_time, name, url, description, category_id, #{createTime,jdbcType=TIMESTAMP}, #{name,jdbcType=VARCHAR}, #{url,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{categoryId,jdbcType=BIGINT}, update ums_resource id = #{row.id,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, name = #{row.name,jdbcType=VARCHAR}, url = #{row.url,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, category_id = #{row.categoryId,jdbcType=BIGINT}, update ums_resource set id = #{row.id,jdbcType=BIGINT}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, name = #{row.name,jdbcType=VARCHAR}, url = #{row.url,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, category_id = #{row.categoryId,jdbcType=BIGINT} update ums_resource create_time = #{createTime,jdbcType=TIMESTAMP}, name = #{name,jdbcType=VARCHAR}, url = #{url,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, category_id = #{categoryId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update ums_resource set create_time = #{createTime,jdbcType=TIMESTAMP}, name = #{name,jdbcType=VARCHAR}, url = #{url,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, category_id = #{categoryId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsRoleMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, name, description, admin_count, create_time, status, sort delete from ums_role where id = #{id,jdbcType=BIGINT} delete from ums_role SELECT LAST_INSERT_ID() insert into ums_role (name, description, admin_count, create_time, status, sort ) values (#{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{adminCount,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER} ) SELECT LAST_INSERT_ID() insert into ums_role name, description, admin_count, create_time, status, sort, #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{adminCount,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{status,jdbcType=INTEGER}, #{sort,jdbcType=INTEGER}, update ums_role id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, admin_count = #{row.adminCount,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, status = #{row.status,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER}, update ums_role set id = #{row.id,jdbcType=BIGINT}, name = #{row.name,jdbcType=VARCHAR}, description = #{row.description,jdbcType=VARCHAR}, admin_count = #{row.adminCount,jdbcType=INTEGER}, create_time = #{row.createTime,jdbcType=TIMESTAMP}, status = #{row.status,jdbcType=INTEGER}, sort = #{row.sort,jdbcType=INTEGER} update ums_role name = #{name,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, admin_count = #{adminCount,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, status = #{status,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER}, where id = #{id,jdbcType=BIGINT} update ums_role set name = #{name,jdbcType=VARCHAR}, description = #{description,jdbcType=VARCHAR}, admin_count = #{adminCount,jdbcType=INTEGER}, create_time = #{createTime,jdbcType=TIMESTAMP}, status = #{status,jdbcType=INTEGER}, sort = #{sort,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsRoleMenuRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, role_id, menu_id delete from ums_role_menu_relation where id = #{id,jdbcType=BIGINT} delete from ums_role_menu_relation SELECT LAST_INSERT_ID() insert into ums_role_menu_relation (role_id, menu_id) values (#{roleId,jdbcType=BIGINT}, #{menuId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into ums_role_menu_relation role_id, menu_id, #{roleId,jdbcType=BIGINT}, #{menuId,jdbcType=BIGINT}, update ums_role_menu_relation id = #{row.id,jdbcType=BIGINT}, role_id = #{row.roleId,jdbcType=BIGINT}, menu_id = #{row.menuId,jdbcType=BIGINT}, update ums_role_menu_relation set id = #{row.id,jdbcType=BIGINT}, role_id = #{row.roleId,jdbcType=BIGINT}, menu_id = #{row.menuId,jdbcType=BIGINT} update ums_role_menu_relation role_id = #{roleId,jdbcType=BIGINT}, menu_id = #{menuId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update ums_role_menu_relation set role_id = #{roleId,jdbcType=BIGINT}, menu_id = #{menuId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsRolePermissionRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, role_id, permission_id delete from ums_role_permission_relation where id = #{id,jdbcType=BIGINT} delete from ums_role_permission_relation SELECT LAST_INSERT_ID() insert into ums_role_permission_relation (role_id, permission_id) values (#{roleId,jdbcType=BIGINT}, #{permissionId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into ums_role_permission_relation role_id, permission_id, #{roleId,jdbcType=BIGINT}, #{permissionId,jdbcType=BIGINT}, update ums_role_permission_relation id = #{row.id,jdbcType=BIGINT}, role_id = #{row.roleId,jdbcType=BIGINT}, permission_id = #{row.permissionId,jdbcType=BIGINT}, update ums_role_permission_relation set id = #{row.id,jdbcType=BIGINT}, role_id = #{row.roleId,jdbcType=BIGINT}, permission_id = #{row.permissionId,jdbcType=BIGINT} update ums_role_permission_relation role_id = #{roleId,jdbcType=BIGINT}, permission_id = #{permissionId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update ums_role_permission_relation set role_id = #{roleId,jdbcType=BIGINT}, permission_id = #{permissionId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/com/macro/mall/mapper/UmsRoleResourceRelationMapper.xml ================================================ and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} and ${criterion.condition} and ${criterion.condition} #{criterion.value} and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} and ${criterion.condition} #{listItem} id, role_id, resource_id delete from ums_role_resource_relation where id = #{id,jdbcType=BIGINT} delete from ums_role_resource_relation SELECT LAST_INSERT_ID() insert into ums_role_resource_relation (role_id, resource_id) values (#{roleId,jdbcType=BIGINT}, #{resourceId,jdbcType=BIGINT}) SELECT LAST_INSERT_ID() insert into ums_role_resource_relation role_id, resource_id, #{roleId,jdbcType=BIGINT}, #{resourceId,jdbcType=BIGINT}, update ums_role_resource_relation id = #{row.id,jdbcType=BIGINT}, role_id = #{row.roleId,jdbcType=BIGINT}, resource_id = #{row.resourceId,jdbcType=BIGINT}, update ums_role_resource_relation set id = #{row.id,jdbcType=BIGINT}, role_id = #{row.roleId,jdbcType=BIGINT}, resource_id = #{row.resourceId,jdbcType=BIGINT} update ums_role_resource_relation role_id = #{roleId,jdbcType=BIGINT}, resource_id = #{resourceId,jdbcType=BIGINT}, where id = #{id,jdbcType=BIGINT} update ums_role_resource_relation set role_id = #{roleId,jdbcType=BIGINT}, resource_id = #{resourceId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} ================================================ FILE: mall-mbg/src/main/resources/generator.properties ================================================ jdbc.driverClass=com.mysql.cj.jdbc.Driver jdbc.connectionURL=jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai jdbc.userId=root jdbc.password=root ================================================ FILE: mall-mbg/src/main/resources/generatorConfig.xml ================================================
================================================ FILE: mall-monitor/.gitignore ================================================ HELP.md target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** !**/src/test/** ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans .sts4-cache ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### /nbproject/private/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ build/ ### VS Code ### .vscode/ ================================================ FILE: mall-monitor/pom.xml ================================================ 4.0.0 com.macro.mall mall-monitor 1.0-SNAPSHOT mall-monitor mall-monitor project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-web com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery de.codecentric spring-boot-admin-starter-server org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-maven-plugin io.fabric8 docker-maven-plugin ================================================ FILE: mall-monitor/src/main/java/com/macro/mall/MallMonitorApplication.java ================================================ package com.macro.mall; import de.codecentric.boot.admin.server.config.EnableAdminServer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @EnableDiscoveryClient @EnableAdminServer @SpringBootApplication public class MallMonitorApplication { public static void main(String[] args) { SpringApplication.run(MallMonitorApplication.class, args); } } ================================================ FILE: mall-monitor/src/main/java/com/macro/mall/config/SecuritySecureConfig.java ================================================ package com.macro.mall.config; import com.macro.mall.filter.CustomCsrfFilter; import de.codecentric.boot.admin.server.config.AdminServerProperties; import jakarta.servlet.DispatcherType; import org.springframework.boot.autoconfigure.security.SecurityProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.provisioning.InMemoryUserDetailsManager; import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler; import org.springframework.security.web.authentication.www.BasicAuthenticationFilter; import org.springframework.security.web.csrf.CookieCsrfTokenRepository; import org.springframework.security.web.csrf.CsrfTokenRequestAttributeHandler; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import java.util.UUID; /** * @auther macrozheng * @description Spring Boot Admin的Security相关配置 * @date 2024/1/16 * @github https://github.com/macrozheng */ @Configuration(proxyBeanMethods = false) public class SecuritySecureConfig { private final AdminServerProperties adminServer; private final SecurityProperties security; public SecuritySecureConfig(AdminServerProperties adminServer, SecurityProperties security) { this.adminServer = adminServer; this.security = security; } @Bean protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception { SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler(); successHandler.setTargetUrlParameter("redirectTo"); successHandler.setDefaultTargetUrl(this.adminServer.path("/")); http.authorizeHttpRequests((authorizeRequests) -> authorizeRequests // .requestMatchers(new AntPathRequestMatcher(this.adminServer.path("/assets/**"))) .permitAll() .requestMatchers(new AntPathRequestMatcher(this.adminServer.path("/actuator/info"))) .permitAll() .requestMatchers(new AntPathRequestMatcher(adminServer.path("/actuator/health"))) .permitAll() .requestMatchers(new AntPathRequestMatcher(this.adminServer.path("/login"))) .permitAll() .dispatcherTypeMatchers(DispatcherType.ASYNC) .permitAll() .anyRequest() .authenticated()) .formLogin( (formLogin) -> formLogin.loginPage(this.adminServer.path("/login")).successHandler(successHandler)) .logout((logout) -> logout.logoutUrl(this.adminServer.path("/logout"))) .httpBasic(Customizer.withDefaults()); http.addFilterAfter(new CustomCsrfFilter(), BasicAuthenticationFilter.class) .csrf((csrf) -> csrf.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) .csrfTokenRequestHandler(new CsrfTokenRequestAttributeHandler()) .ignoringRequestMatchers( new AntPathRequestMatcher(this.adminServer.path("/instances"), "POST"), new AntPathRequestMatcher(this.adminServer.path("/instances/*"), "DELETE"), new AntPathRequestMatcher(this.adminServer.path("/actuator/**")) )); http.rememberMe((rememberMe) -> rememberMe.key(UUID.randomUUID().toString()).tokenValiditySeconds(1209600)); return http.build(); } @Bean public InMemoryUserDetailsManager userDetailsService(PasswordEncoder passwordEncoder) { UserDetails user = User.withUsername("macro") .password(passwordEncoder.encode("123456")) .roles("USER") .build(); return new InMemoryUserDetailsManager(user); } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } } ================================================ FILE: mall-monitor/src/main/java/com/macro/mall/filter/CustomCsrfFilter.java ================================================ package com.macro.mall.filter; /* * Copyright 2014-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.security.web.csrf.CsrfToken; import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.web.util.WebUtils; import java.io.IOException; /** * @auther macrozheng * @description 自定义CSRF过滤器 * @date 2024/1/16 * @github https://github.com/macrozheng */ public class CustomCsrfFilter extends OncePerRequestFilter { public static final String CSRF_COOKIE_NAME = "XSRF-TOKEN"; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { CsrfToken csrf = (CsrfToken) request.getAttribute(CsrfToken.class.getName()); if (csrf != null) { Cookie cookie = WebUtils.getCookie(request, CSRF_COOKIE_NAME); String token = csrf.getToken(); if (cookie == null || token != null && !token.equals(cookie.getValue())) { cookie = new Cookie(CSRF_COOKIE_NAME, token); cookie.setPath("/"); response.addCookie(cookie); } } filterChain.doFilter(request, response); } } ================================================ FILE: mall-monitor/src/main/resources/application-dev.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://localhost:8848 ================================================ FILE: mall-monitor/src/main/resources/application-prod.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://nacos-registry:8848 ================================================ FILE: mall-monitor/src/main/resources/application.yml ================================================ spring: application: name: mall-monitor profiles: active: dev security: # 配置登录用户名和密码 user: name: macro password: 123456 boot: # 不显示admin-server的监控信息 admin: discovery: ignored-services: ${spring.application.name} server: port: 8101 ================================================ FILE: mall-monitor/src/test/java/com/macro/mall/MallMonitorApplicationTests.java ================================================ package com.macro.mall; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @SpringBootTest public class MallMonitorApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: mall-portal/.gitignore ================================================ /target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans .sts4-cache ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### /nbproject/private/ /build/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ ================================================ FILE: mall-portal/pom.xml ================================================ 4.0.0 com.macro.mall mall-portal 1.0-SNAPSHOT jar mall-portal mall-portal project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT com.macro.mall mall-mbg org.springframework.boot spring-boot-starter-data-mongodb org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-amqp com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config org.springframework.cloud spring-cloud-starter-openfeign com.alipay.sdk alipay-sdk-java cn.dev33 sa-token-spring-boot3-starter cn.dev33 sa-token-redis-jackson org.apache.commons commons-pool2 cn.dev33 sa-token-jwt de.codecentric spring-boot-admin-starter-client org.springframework.boot spring-boot-maven-plugin io.fabric8 docker-maven-plugin ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/MallPortalApplication.java ================================================ package com.macro.mall.portal; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; @EnableFeignClients @EnableDiscoveryClient @SpringBootApplication(scanBasePackages = "com.macro.mall") public class MallPortalApplication { public static void main(String[] args) { SpringApplication.run(MallPortalApplication.class, args); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/component/CancelOrderReceiver.java ================================================ package com.macro.mall.portal.component; import com.macro.mall.portal.service.OmsPortalOrderService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * 取消订单消息的处理者 * Created by macro on 2018/9/14. */ @Component @RabbitListener(queues = "mall.order.cancel") public class CancelOrderReceiver { private static Logger LOGGER =LoggerFactory.getLogger(CancelOrderReceiver.class); @Autowired private OmsPortalOrderService portalOrderService; @RabbitHandler public void handle(Long orderId){ portalOrderService.cancelOrder(orderId); LOGGER.info("process orderId:{}",orderId); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/component/CancelOrderSender.java ================================================ package com.macro.mall.portal.component; import com.macro.mall.portal.domain.QueueEnum; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.AmqpException; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessagePostProcessor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * 取消订单消息的发出者 * Created by macro on 2018/9/14. */ @Component public class CancelOrderSender { private static Logger LOGGER =LoggerFactory.getLogger(CancelOrderSender.class); @Autowired private AmqpTemplate amqpTemplate; public void sendMessage(Long orderId,final long delayTimes){ //给延迟队列发送消息 amqpTemplate.convertAndSend(QueueEnum.QUEUE_TTL_ORDER_CANCEL.getExchange(), QueueEnum.QUEUE_TTL_ORDER_CANCEL.getRouteKey(), orderId, new MessagePostProcessor() { @Override public Message postProcessMessage(Message message) throws AmqpException { //给消息设置延迟毫秒值 message.getMessageProperties().setExpiration(String.valueOf(delayTimes)); return message; } }); LOGGER.info("send orderId:{}",orderId); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/component/OrderTimeOutCancelTask.java ================================================ package com.macro.mall.portal.component; import com.macro.mall.portal.service.OmsPortalOrderService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** * Created by macro on 2018/8/24. * 订单超时取消并解锁库存的定时器 */ //@Component public class OrderTimeOutCancelTask { private Logger LOGGER =LoggerFactory.getLogger(OrderTimeOutCancelTask.class); @Autowired private OmsPortalOrderService portalOrderService; /** * cron表达式:Seconds Minutes Hours DayofMonth Month DayofWeek [Year] * 每10分钟扫描一次,扫描设定超时时间之前下的订单,如果没支付则取消该订单 */ @Scheduled(cron = "0 0/10 * ? * ?") private void cancelTimeOutOrder(){ Integer count = portalOrderService.cancelTimeOutOrder(); LOGGER.info("取消订单,并根据sku编号释放锁定库存,取消订单数量:{}",count); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/config/AlipayClientConfig.java ================================================ package com.macro.mall.portal.config; import com.alipay.api.AlipayClient; import com.alipay.api.DefaultAlipayClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * @auther macrozheng * @description 支付宝请求客户端配置 * @date 2023/9/8 * @github https://github.com/macrozheng */ @Configuration public class AlipayClientConfig { @Bean public AlipayClient alipayClient(AlipayConfig config){ return new DefaultAlipayClient(config.getGatewayUrl(),config.getAppId(),config.getAppPrivateKey(), config.getFormat(),config.getCharset(),config.getAlipayPublicKey(),config.getSignType()); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/config/AlipayConfig.java ================================================ package com.macro.mall.portal.config; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * @auther macrozheng * @description 支付宝支付相关配置 * @date 2023/9/8 * @github https://github.com/macrozheng */ @Getter @Setter @Component @ConfigurationProperties(prefix = "alipay") public class AlipayConfig { /** * 支付宝网关 */ private String gatewayUrl; /** * 应用ID */ private String appId; /** * 应用私钥 */ private String appPrivateKey; /** * 支付宝公钥 */ private String alipayPublicKey; /** * 用户确认支付后,支付宝调用的页面返回路径 * 开发环境为:http://localhost:8060/#/pages/money/paySuccess */ private String returnUrl; /** * 支付成功后,支付宝服务器主动通知商户服务器里的异步通知回调(需要公网能访问) * 开发环境为:http://localhost:8085/alipay/notify */ private String notifyUrl; /** * 参数返回格式,只支持JSON */ private String format = "JSON"; /** * 请求使用的编码格式 */ private String charset = "UTF-8"; /** * 生成签名字符串所使用的签名算法类型 */ private String signType = "RSA2"; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/config/JacksonConfig.java ================================================ package com.macro.mall.portal.config; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; /** * Jackson相关配置类 * json不返回null的字段 * Created by macro on 2018/8/2. */ @Configuration public class JacksonConfig { @Bean @Primary @ConditionalOnMissingBean(ObjectMapper.class) public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper = builder.createXmlMapper(false).build(); // 通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化 // Include.Include.ALWAYS 默认 // Include.NON_DEFAULT 属性为默认值不序列化 // Include.NON_EMPTY 属性为 空("") 或者为 NULL 都不序列化,则返回的json是没有这个字段的。这样对移动端会更省流量 // Include.NON_NULL 属性为NULL 不序列化,就是为null的字段不参加序列化 objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); // 字段保留,将null值转为"" // objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer() // { // @Override // public void serialize(Object o, JsonGenerator jsonGenerator, // SerializerProvider serializerProvider) // throws IOException, JsonProcessingException // { // jsonGenerator.writeString(""); // } // }); return objectMapper; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/config/MyBatisConfig.java ================================================ package com.macro.mall.portal.config; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * MyBatis相关配置 * Created by macro on 2019/4/8. */ @Configuration @EnableTransactionManagement @MapperScan({"com.macro.mall.mapper","com.macro.mall.portal.dao"}) public class MyBatisConfig { } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/config/RabbitMqConfig.java ================================================ package com.macro.mall.portal.config; import com.macro.mall.portal.domain.QueueEnum; import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * 消息队列相关配置 * Created by macro on 2018/9/14. */ @Configuration public class RabbitMqConfig { /** * 订单消息实际消费队列所绑定的交换机 */ @Bean DirectExchange orderDirect() { return (DirectExchange) ExchangeBuilder .directExchange(QueueEnum.QUEUE_ORDER_CANCEL.getExchange()) .durable(true) .build(); } /** * 订单延迟队列队列所绑定的交换机 */ @Bean DirectExchange orderTtlDirect() { return (DirectExchange) ExchangeBuilder .directExchange(QueueEnum.QUEUE_TTL_ORDER_CANCEL.getExchange()) .durable(true) .build(); } /** * 订单实际消费队列 */ @Bean public Queue orderQueue() { return new Queue(QueueEnum.QUEUE_ORDER_CANCEL.getName()); } /** * 订单延迟队列(死信队列) */ @Bean public Queue orderTtlQueue() { return QueueBuilder .durable(QueueEnum.QUEUE_TTL_ORDER_CANCEL.getName()) .withArgument("x-dead-letter-exchange", QueueEnum.QUEUE_ORDER_CANCEL.getExchange())//到期后转发的交换机 .withArgument("x-dead-letter-routing-key", QueueEnum.QUEUE_ORDER_CANCEL.getRouteKey())//到期后转发的路由键 .build(); } /** * 将订单队列绑定到交换机 */ @Bean Binding orderBinding(DirectExchange orderDirect,Queue orderQueue){ return BindingBuilder .bind(orderQueue) .to(orderDirect) .with(QueueEnum.QUEUE_ORDER_CANCEL.getRouteKey()); } /** * 将订单延迟队列绑定到交换机 */ @Bean Binding orderTtlBinding(DirectExchange orderTtlDirect,Queue orderTtlQueue){ return BindingBuilder .bind(orderTtlQueue) .to(orderTtlDirect) .with(QueueEnum.QUEUE_TTL_ORDER_CANCEL.getRouteKey()); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/config/RedisConfig.java ================================================ package com.macro.mall.portal.config; import com.macro.mall.common.config.BaseRedisConfig; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Configuration; /** * Redis相关配置 * Created by macro on 2020/3/2. */ @EnableCaching @Configuration public class RedisConfig extends BaseRedisConfig { } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/config/SpringDocConfig.java ================================================ package com.macro.mall.portal.config; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; import org.springdoc.core.customizers.GlobalOpenApiCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * SpringDoc相关配置 * Created by macro on 2024/3/5. */ @Configuration public class SpringDocConfig implements WebMvcConfigurer { private static final String SECURITY_SCHEME_NAME = "Authorization"; @Bean public OpenAPI mallPortalOpenAPI() { return new OpenAPI() .info(new Info().title("mall前台系统") .description("mall前台相关接口文档") .version("v1.0.0") .license(new License().name("Apache 2.0") .url("https://github.com/macrozheng/mall-learning"))) .externalDocs(new ExternalDocumentation() .description("SpringBoot实战电商项目mall(60K+Star)全套文档") .url("http://www.macrozheng.com")) .addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)) .components(new Components() .addSecuritySchemes(SECURITY_SCHEME_NAME, new SecurityScheme() .name(SECURITY_SCHEME_NAME) .type(SecurityScheme.Type.HTTP) .scheme("bearer") .bearerFormat("JWT"))); } @Override public void addViewControllers(ViewControllerRegistry registry) { //配置访问`/swagger-ui/`路径时可以直接跳转到`/swagger-ui/index.html` registry.addViewController("/swagger-ui/").setViewName("redirect:/swagger-ui/index.html"); } @Bean public GlobalOpenApiCustomizer orderGlobalOpenApiCustomizer() { //解决Knife4j配置认证后无法自动添加认证头的问题 return openApi -> { //全局添加鉴权参数 if (openApi.getPaths() != null) { openApi.getPaths().forEach((s, pathItem) -> { pathItem.readOperations().forEach(operation -> { operation.addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)); }); }); } }; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/config/SpringTaskConfig.java ================================================ package com.macro.mall.portal.config; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; /** * 定时任务相关配置 * Created by macro on 2019/4/8. */ @Configuration @EnableScheduling public class SpringTaskConfig { } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/AlipayController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.portal.config.AlipayConfig; import com.macro.mall.portal.domain.AliPayParam; import com.macro.mall.portal.service.AlipayService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * @auther macrozheng * @description 支付宝支付Controller * @date 2023/9/8 * @github https://github.com/macrozheng */ @Controller @Tag(name = "AlipayController", description = "支付宝支付相关接口") @RequestMapping("/alipay") public class AlipayController { @Autowired private AlipayConfig alipayConfig; @Autowired private AlipayService alipayService; @Operation(summary = "支付宝电脑网站支付") @RequestMapping(value = "/pay", method = RequestMethod.GET) public void pay(AliPayParam aliPayParam, HttpServletResponse response) throws IOException { response.setContentType("text/html;charset=" + alipayConfig.getCharset()); response.getWriter().write(alipayService.pay(aliPayParam)); response.getWriter().flush(); response.getWriter().close(); } @Operation(summary = "支付宝手机网站支付") @RequestMapping(value = "/webPay", method = RequestMethod.GET) public void webPay(AliPayParam aliPayParam, HttpServletResponse response) throws IOException { response.setContentType("text/html;charset=" + alipayConfig.getCharset()); response.getWriter().write(alipayService.webPay(aliPayParam)); response.getWriter().flush(); response.getWriter().close(); } @Operation(summary = "支付宝异步回调",description = "必须为POST请求,执行成功返回success,执行失败返回failure") @RequestMapping(value = "/notify", method = RequestMethod.POST) public String notify(HttpServletRequest request){ Map params = new HashMap<>(); Map requestParams = request.getParameterMap(); for (String name : requestParams.keySet()) { params.put(name, request.getParameter(name)); } return alipayService.notify(params); } @Operation(summary = "支付宝统一收单线下交易查询",description = "订单支付成功返回交易状态:TRADE_SUCCESS") @RequestMapping(value = "/query", method = RequestMethod.GET) @ResponseBody public CommonResult query(String outTradeNo, String tradeNo){ return CommonResult.success(alipayService.query(outTradeNo,tradeNo)); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/HomeController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.CmsSubject; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.PmsProductCategory; import com.macro.mall.portal.domain.HomeContentResult; import com.macro.mall.portal.service.HomeService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 首页内容管理Controller * Created by macro on 2019/1/28. */ @Controller @Tag(name = "HomeController", description = "首页内容管理") @RequestMapping("/home") public class HomeController { @Autowired private HomeService homeService; @Operation(summary = "首页内容页信息展示") @RequestMapping(value = "/content", method = RequestMethod.GET) @ResponseBody public CommonResult content() { HomeContentResult contentResult = homeService.content(); return CommonResult.success(contentResult); } @Operation(summary = "分页获取推荐商品") @RequestMapping(value = "/recommendProductList", method = RequestMethod.GET) @ResponseBody public CommonResult> recommendProductList(@RequestParam(value = "pageSize", defaultValue = "4") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List productList = homeService.recommendProductList(pageSize, pageNum); return CommonResult.success(productList); } @Operation(summary = "获取首页商品分类") @RequestMapping(value = "/productCateList/{parentId}", method = RequestMethod.GET) @ResponseBody public CommonResult> getProductCateList(@PathVariable Long parentId) { List productCategoryList = homeService.getProductCateList(parentId); return CommonResult.success(productCategoryList); } @Operation(summary = "根据分类获取专题") @RequestMapping(value = "/subjectList", method = RequestMethod.GET) @ResponseBody public CommonResult> getSubjectList(@RequestParam(required = false) Long cateId, @RequestParam(value = "pageSize", defaultValue = "4") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List subjectList = homeService.getSubjectList(cateId,pageSize,pageNum); return CommonResult.success(subjectList); } @Operation(summary = "分页获取人气推荐商品") @RequestMapping(value = "/hotProductList", method = RequestMethod.GET) @ResponseBody public CommonResult> hotProductList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "6") Integer pageSize) { List productList = homeService.hotProductList(pageNum,pageSize); return CommonResult.success(productList); } @Operation(summary = "分页获取新品推荐商品") @RequestMapping(value = "/newProductList", method = RequestMethod.GET) @ResponseBody public CommonResult> newProductList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "6") Integer pageSize) { List productList = homeService.newProductList(pageNum,pageSize); return CommonResult.success(productList); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/MemberAttentionController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.portal.domain.MemberBrandAttention; import com.macro.mall.portal.domain.MemberProductCollection; import com.macro.mall.portal.service.MemberAttentionService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 会员关注品牌管理Controller * Created by macro on 2018/8/2. */ @Controller @Tag(name = "MemberAttentionController", description = "会员关注品牌管理") @RequestMapping("/member/attention") public class MemberAttentionController { @Autowired private MemberAttentionService memberAttentionService; @Operation(summary = "添加品牌关注") @RequestMapping(value = "/add", method = RequestMethod.POST) @ResponseBody public CommonResult add(@RequestBody MemberBrandAttention memberBrandAttention) { int count = memberAttentionService.add(memberBrandAttention); if(count>0){ return CommonResult.success(count); }else{ return CommonResult.failed(); } } @Operation(summary = "取消关注") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(Long brandId) { int count = memberAttentionService.delete(brandId); if(count>0){ return CommonResult.success(count); }else{ return CommonResult.failed(); } } @Operation(summary = "显示关注列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) { Page page = memberAttentionService.list(pageNum,pageSize); return CommonResult.success(CommonPage.restPage(page)); } @Operation(summary = "显示关注品牌详情") @RequestMapping(value = "/detail", method = RequestMethod.GET) @ResponseBody public CommonResult detail(@RequestParam Long brandId) { MemberBrandAttention memberBrandAttention = memberAttentionService.detail(brandId); return CommonResult.success(memberBrandAttention); } @Operation(summary = "清空关注列表") @RequestMapping(value = "/clear", method = RequestMethod.POST) @ResponseBody public CommonResult clear() { memberAttentionService.clear(); return CommonResult.success(null); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/MemberProductCollectionController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.portal.domain.MemberProductCollection; import com.macro.mall.portal.service.MemberCollectionService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 会员收藏管理Controller * Created by macro on 2018/8/2. */ @Controller @Tag(name = "MemberCollectionController", description = "会员收藏管理") @RequestMapping("/member/productCollection") public class MemberProductCollectionController { @Autowired private MemberCollectionService memberCollectionService; @Operation(summary = "添加商品收藏") @RequestMapping(value = "/add", method = RequestMethod.POST) @ResponseBody public CommonResult add(@RequestBody MemberProductCollection productCollection) { int count = memberCollectionService.add(productCollection); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "删除收藏商品") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(Long productId) { int count = memberCollectionService.delete(productId); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "显示收藏列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) { Page page = memberCollectionService.list(pageNum,pageSize); return CommonResult.success(CommonPage.restPage(page)); } @Operation(summary = "显示收藏商品详情") @RequestMapping(value = "/detail", method = RequestMethod.GET) @ResponseBody public CommonResult detail(@RequestParam Long productId) { MemberProductCollection memberProductCollection = memberCollectionService.detail(productId); return CommonResult.success(memberProductCollection); } @Operation(summary = "清空收藏列表") @RequestMapping(value = "/clear", method = RequestMethod.POST) @ResponseBody public CommonResult clear() { memberCollectionService.clear(); return CommonResult.success(null); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/MemberReadHistoryController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.portal.domain.MemberReadHistory; import com.macro.mall.portal.service.MemberReadHistoryService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 会员商品浏览记录管理Controller * Created by macro on 2018/8/3. */ @Controller @Tag(name = "MemberReadHistoryController", description = "会员商品浏览记录管理") @RequestMapping("/member/readHistory") public class MemberReadHistoryController { @Autowired private MemberReadHistoryService memberReadHistoryService; @Operation(summary = "创建浏览记录") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody MemberReadHistory memberReadHistory) { int count = memberReadHistoryService.create(memberReadHistory); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "删除浏览记录") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = memberReadHistoryService.delete(ids); if (count > 0) { return CommonResult.success(count); } else { return CommonResult.failed(); } } @Operation(summary = "清空除浏览记录") @RequestMapping(value = "/clear", method = RequestMethod.POST) @ResponseBody public CommonResult clear() { memberReadHistoryService.clear(); return CommonResult.success(null); } @Operation(summary = "分页获取用户浏览记录") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize) { Page page = memberReadHistoryService.list(pageNum, pageSize); return CommonResult.success(CommonPage.restPage(page)); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/OmsCartItemController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.OmsCartItem; import com.macro.mall.portal.domain.CartProduct; import com.macro.mall.portal.domain.CartPromotionItem; import com.macro.mall.portal.service.OmsCartItemService; import com.macro.mall.portal.service.UmsMemberService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 购物车管理Controller * Created by macro on 2018/8/2. */ @Controller @Tag(name = "OmsCartItemController", description = "购物车管理") @RequestMapping("/cart") public class OmsCartItemController { @Autowired private OmsCartItemService cartItemService; @Autowired private UmsMemberService memberService; @Operation(summary = "添加商品到购物车") @RequestMapping(value = "/add", method = RequestMethod.POST) @ResponseBody public CommonResult add(@RequestBody OmsCartItem cartItem) { int count = cartItemService.add(cartItem); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取某个会员的购物车列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list() { List cartItemList = cartItemService.list(memberService.getCurrentMember().getId()); return CommonResult.success(cartItemList); } @Operation(summary = "获取某个会员的购物车列表,包括促销信息") @RequestMapping(value = "/list/promotion", method = RequestMethod.GET) @ResponseBody public CommonResult> listPromotion(@RequestParam(required = false) List cartIds) { List cartPromotionItemList = cartItemService.listPromotion(memberService.getCurrentMember().getId(), cartIds); return CommonResult.success(cartPromotionItemList); } @Operation(summary = "修改购物车中某个商品的数量") @RequestMapping(value = "/update/quantity", method = RequestMethod.GET) @ResponseBody public CommonResult updateQuantity(@RequestParam Long id, @RequestParam Integer quantity) { int count = cartItemService.updateQuantity(id, memberService.getCurrentMember().getId(), quantity); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "获取购物车中某个商品的规格,用于重选规格") @RequestMapping(value = "/getProduct/{productId}", method = RequestMethod.GET) @ResponseBody public CommonResult getCartProduct(@PathVariable Long productId) { CartProduct cartProduct = cartItemService.getCartProduct(productId); return CommonResult.success(cartProduct); } @Operation(summary = "修改购物车中商品的规格") @RequestMapping(value = "/update/attr", method = RequestMethod.POST) @ResponseBody public CommonResult updateAttr(@RequestBody OmsCartItem cartItem) { int count = cartItemService.updateAttr(cartItem); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "删除购物车中的某个商品") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { int count = cartItemService.delete(memberService.getCurrentMember().getId(), ids); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "清空购物车") @RequestMapping(value = "/clear", method = RequestMethod.POST) @ResponseBody public CommonResult clear() { int count = cartItemService.clear(memberService.getCurrentMember().getId()); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/OmsPortalOrderController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.portal.domain.ConfirmOrderResult; import com.macro.mall.portal.domain.OmsOrderDetail; import com.macro.mall.portal.domain.OrderParam; import com.macro.mall.portal.service.OmsPortalOrderService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 订单管理Controller * Created by macro on 2018/8/30. */ @Controller @Tag(name = "OmsPortalOrderController", description = "订单管理") @RequestMapping("/order") public class OmsPortalOrderController { @Autowired private OmsPortalOrderService portalOrderService; @Operation(summary = "根据购物车信息生成确认单信息") @RequestMapping(value = "/generateConfirmOrder", method = RequestMethod.POST) @ResponseBody public CommonResult generateConfirmOrder(@RequestBody List cartIds) { ConfirmOrderResult confirmOrderResult = portalOrderService.generateConfirmOrder(cartIds); return CommonResult.success(confirmOrderResult); } @Operation(summary = "根据购物车信息生成订单") @RequestMapping(value = "/generateOrder", method = RequestMethod.POST) @ResponseBody public CommonResult generateOrder(@RequestBody OrderParam orderParam) { Map result = portalOrderService.generateOrder(orderParam); return CommonResult.success(result, "下单成功"); } @Operation(summary = "用户支付成功的回调") @RequestMapping(value = "/paySuccess", method = RequestMethod.POST) @ResponseBody public CommonResult paySuccess(@RequestParam Long orderId,@RequestParam Integer payType) { Integer count = portalOrderService.paySuccess(orderId,payType); return CommonResult.success(count, "支付成功"); } @Operation(summary = "自动取消超时订单") @RequestMapping(value = "/cancelTimeOutOrder", method = RequestMethod.POST) @ResponseBody public CommonResult cancelTimeOutOrder() { portalOrderService.cancelTimeOutOrder(); return CommonResult.success(null); } @Operation(summary = "取消单个超时订单") @RequestMapping(value = "/cancelOrder", method = RequestMethod.POST) @ResponseBody public CommonResult cancelOrder(Long orderId) { portalOrderService.sendDelayMessageCancelOrder(orderId); return CommonResult.success(null); } @Operation(summary = "按状态分页获取用户订单列表") @Parameter(name = "status", description = "订单状态:-1->全部;0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭", in = ParameterIn.QUERY, schema = @Schema(type = "integer",defaultValue = "-1",allowableValues = {"-1","0","1","2","3","4"})) @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam Integer status, @RequestParam(required = false, defaultValue = "1") Integer pageNum, @RequestParam(required = false, defaultValue = "5") Integer pageSize) { CommonPage orderPage = portalOrderService.list(status,pageNum,pageSize); return CommonResult.success(orderPage); } @Operation(summary = "根据ID获取订单详情") @RequestMapping(value = "/detail/{orderId}", method = RequestMethod.GET) @ResponseBody public CommonResult detail(@PathVariable Long orderId) { OmsOrderDetail orderDetail = portalOrderService.detail(orderId); return CommonResult.success(orderDetail); } @Operation(summary = "用户取消订单") @RequestMapping(value = "/cancelUserOrder", method = RequestMethod.POST) @ResponseBody public CommonResult cancelUserOrder(Long orderId) { portalOrderService.cancelOrder(orderId); return CommonResult.success(null); } @Operation(summary = "用户确认收货") @RequestMapping(value = "/confirmReceiveOrder", method = RequestMethod.POST) @ResponseBody public CommonResult confirmReceiveOrder(Long orderId) { portalOrderService.confirmReceiveOrder(orderId); return CommonResult.success(null); } @Operation(summary = "用户删除订单") @RequestMapping(value = "/deleteOrder", method = RequestMethod.POST) @ResponseBody public CommonResult deleteOrder(Long orderId) { portalOrderService.deleteOrder(orderId); return CommonResult.success(null); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/OmsPortalOrderReturnApplyController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.portal.domain.OmsOrderReturnApplyParam; import com.macro.mall.portal.service.OmsPortalOrderReturnApplyService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; /** * 申请退货管理Controller * Created by macro on 2018/10/17. */ @Controller @Tag(name = "OmsPortalOrderReturnApplyController", description = "申请退货管理") @RequestMapping("/returnApply") public class OmsPortalOrderReturnApplyController { @Autowired private OmsPortalOrderReturnApplyService returnApplyService; @Operation(summary = "申请退货") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody public CommonResult create(@RequestBody OmsOrderReturnApplyParam returnApply) { int count = returnApplyService.create(returnApply); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/PmsPortalProductController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.PmsProduct; import com.macro.mall.portal.domain.PmsPortalProductDetail; import com.macro.mall.portal.domain.PmsProductCategoryNode; import com.macro.mall.portal.service.PmsPortalProductService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 前台商品管理Controller * Created by macro on 2020/4/6. */ @Controller @Tag(name = "PmsPortalProductController", description = "前台商品管理") @RequestMapping("/product") public class PmsPortalProductController { @Autowired private PmsPortalProductService portalProductService; @Operation(summary = "综合搜索、筛选、排序") @Parameter(name = "sort", description = "排序字段:0->按相关度;1->按新品;2->按销量;3->价格从低到高;4->价格从高到低", in= ParameterIn.QUERY,schema = @Schema(type = "integer",defaultValue = "0",allowableValues = {"0","1","2","3","4"})) @RequestMapping(value = "/search", method = RequestMethod.GET) @ResponseBody public CommonResult> search(@RequestParam(required = false) String keyword, @RequestParam(required = false) Long brandId, @RequestParam(required = false) Long productCategoryId, @RequestParam(required = false, defaultValue = "0") Integer pageNum, @RequestParam(required = false, defaultValue = "5") Integer pageSize, @RequestParam(required = false, defaultValue = "0") Integer sort) { List productList = portalProductService.search(keyword, brandId, productCategoryId, pageNum, pageSize, sort); return CommonResult.success(CommonPage.restPage(productList)); } @Operation(summary = "以树形结构获取所有商品分类") @RequestMapping(value = "/categoryTreeList", method = RequestMethod.GET) @ResponseBody public CommonResult> categoryTreeList() { List list = portalProductService.categoryTreeList(); return CommonResult.success(list); } @Operation(summary = "获取前台商品详情") @RequestMapping(value = "/detail/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult detail(@PathVariable Long id) { PmsPortalProductDetail productDetail = portalProductService.detail(id); return CommonResult.success(productDetail); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/PortalBrandController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.PmsBrand; import com.macro.mall.model.PmsProduct; import com.macro.mall.portal.service.PortalBrandService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 首页品牌推荐管理Controller * Created by macro on 2020/5/15. */ @Controller @Tag(name = "PortalBrandController", description = "前台品牌管理") @RequestMapping("/brand") public class PortalBrandController { @Autowired private PortalBrandService homeBrandService; @Operation(summary = "分页获取推荐品牌") @RequestMapping(value = "/recommendList", method = RequestMethod.GET) @ResponseBody public CommonResult> recommendList(@RequestParam(value = "pageSize", defaultValue = "6") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { List brandList = homeBrandService.recommendList(pageNum, pageSize); return CommonResult.success(brandList); } @Operation(summary = "获取品牌详情") @RequestMapping(value = "/detail/{brandId}", method = RequestMethod.GET) @ResponseBody public CommonResult detail(@PathVariable Long brandId) { PmsBrand brand = homeBrandService.detail(brandId); return CommonResult.success(brand); } @Operation(summary = "分页获取品牌相关商品") @RequestMapping(value = "/productList", method = RequestMethod.GET) @ResponseBody public CommonResult> productList(@RequestParam Long brandId, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "6") Integer pageSize) { CommonPage result = homeBrandService.productList(brandId,pageNum, pageSize); return CommonResult.success(result); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/UmsMemberController.java ================================================ package com.macro.mall.portal.controller; import cn.dev33.satoken.stp.SaTokenInfo; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.UmsMember; import com.macro.mall.portal.service.UmsMemberService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.HashMap; import java.util.Map; /** * 会员登录注册管理Controller * Created by macro on 2018/8/3. */ @Controller @Tag(name = "UmsMemberController", description = "会员登录注册管理") @RequestMapping("/sso") public class UmsMemberController { @Autowired private UmsMemberService memberService; @Value("${sa-token.token-prefix}") private String tokenHead; @Operation(summary = "会员注册") @RequestMapping(value = "/register", method = RequestMethod.POST) @ResponseBody public CommonResult register(@RequestParam String username, @RequestParam String password, @RequestParam String telephone, @RequestParam String authCode) { memberService.register(username, password, telephone, authCode); return CommonResult.success(null,"注册成功"); } @Operation(summary = "会员登录") @RequestMapping(value = "/login", method = RequestMethod.POST) @ResponseBody public CommonResult login(@RequestParam String username, @RequestParam String password) { SaTokenInfo saTokenInfo = memberService.login(username, password); if (saTokenInfo == null) { return CommonResult.validateFailed("用户名或密码错误"); } Map tokenMap = new HashMap<>(); tokenMap.put("token", saTokenInfo.getTokenValue() ); tokenMap.put("tokenHead", tokenHead+" "); return CommonResult.success(tokenMap); } @Operation(summary = "获取会员信息") @RequestMapping(value = "/info", method = RequestMethod.GET) @ResponseBody public CommonResult info() { UmsMember member = memberService.getCurrentMember(); return CommonResult.success(member); } @Operation(summary = "登出功能") @RequestMapping(value = "/logout", method = RequestMethod.POST) @ResponseBody public CommonResult logout() { memberService.logout(); return CommonResult.success(null); } @Operation(summary = "获取验证码") @RequestMapping(value = "/getAuthCode", method = RequestMethod.GET) @ResponseBody public CommonResult getAuthCode(@RequestParam String telephone) { String authCode = memberService.generateAuthCode(telephone); return CommonResult.success(authCode,"获取验证码成功"); } @Operation(summary = "修改密码") @RequestMapping(value = "/updatePassword", method = RequestMethod.POST) @ResponseBody public CommonResult updatePassword(@RequestParam String telephone, @RequestParam String password, @RequestParam String authCode) { memberService.updatePassword(telephone,password,authCode); return CommonResult.success(null,"密码修改成功"); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/UmsMemberCouponController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.SmsCoupon; import com.macro.mall.model.SmsCouponHistory; import com.macro.mall.portal.domain.CartPromotionItem; import com.macro.mall.portal.domain.SmsCouponHistoryDetail; import com.macro.mall.portal.service.OmsCartItemService; import com.macro.mall.portal.service.UmsMemberCouponService; import com.macro.mall.portal.service.UmsMemberService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 会员优惠券管理Controller * Created by macro on 2018/8/29. */ @Controller @Tag(name = "UmsMemberCouponController", description = "用户优惠券管理") @RequestMapping("/member/coupon") public class UmsMemberCouponController { @Autowired private UmsMemberCouponService memberCouponService; @Autowired private OmsCartItemService cartItemService; @Autowired private UmsMemberService memberService; @Operation(summary = "领取指定优惠券") @RequestMapping(value = "/add/{couponId}", method = RequestMethod.POST) @ResponseBody public CommonResult add(@PathVariable Long couponId) { memberCouponService.add(couponId); return CommonResult.success(null,"领取成功"); } @Operation(summary = "获取会员优惠券历史列表") @Parameter(name = "useStatus", description = "优惠券筛选类型:0->未使用;1->已使用;2->已过期", in = ParameterIn.QUERY,schema = @Schema(type = "integer",allowableValues = {"0","1","2"})) @RequestMapping(value = "/listHistory", method = RequestMethod.GET) @ResponseBody public CommonResult> listHistory(@RequestParam(value = "useStatus", required = false) Integer useStatus) { List couponHistoryList = memberCouponService.listHistory(useStatus); return CommonResult.success(couponHistoryList); } @Operation(summary = "获取会员优惠券列表") @Parameter(name = "useStatus", description = "优惠券筛选类型:0->未使用;1->已使用;2->已过期", in = ParameterIn.QUERY,schema = @Schema(type = "integer",allowableValues = {"0","1","2"})) @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "useStatus", required = false) Integer useStatus) { List couponList = memberCouponService.list(useStatus); return CommonResult.success(couponList); } @Operation(summary = "获取登录会员购物车的相关优惠券") @Parameter(name = "type", description = "使用可用:0->不可用;1->可用", in = ParameterIn.PATH,schema = @Schema(type = "integer",defaultValue = "1",allowableValues = {"0","1"})) @RequestMapping(value = "/list/cart/{type}", method = RequestMethod.GET) @ResponseBody public CommonResult> listCart(@PathVariable Integer type) { List cartPromotionItemList = cartItemService.listPromotion(memberService.getCurrentMember().getId(), null); List couponHistoryList = memberCouponService.listCart(cartPromotionItemList, type); return CommonResult.success(couponHistoryList); } @Operation(summary = "获取当前商品相关优惠券") @RequestMapping(value = "/listByProduct/{productId}", method = RequestMethod.GET) @ResponseBody public CommonResult> listByProduct(@PathVariable Long productId) { List couponHistoryList = memberCouponService.listByProduct(productId); return CommonResult.success(couponHistoryList); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/controller/UmsMemberReceiveAddressController.java ================================================ package com.macro.mall.portal.controller; import com.macro.mall.common.api.CommonResult; import com.macro.mall.model.UmsMemberReceiveAddress; import com.macro.mall.portal.service.UmsMemberReceiveAddressService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 会员收货地址管理Controller * Created by macro on 2018/8/28. */ @Controller @Tag(name = "UmsMemberReceiveAddressController", description = "会员收货地址管理") @RequestMapping("/member/address") public class UmsMemberReceiveAddressController { @Autowired private UmsMemberReceiveAddressService memberReceiveAddressService; @Operation(summary = "添加收货地址") @RequestMapping(value = "/add", method = RequestMethod.POST) @ResponseBody public CommonResult add(@RequestBody UmsMemberReceiveAddress address) { int count = memberReceiveAddressService.add(address); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "删除收货地址") @RequestMapping(value = "/delete/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@PathVariable Long id) { int count = memberReceiveAddressService.delete(id); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "修改收货地址") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody UmsMemberReceiveAddress address) { int count = memberReceiveAddressService.update(id, address); if (count > 0) { return CommonResult.success(count); } return CommonResult.failed(); } @Operation(summary = "显示所有收货地址") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list() { List addressList = memberReceiveAddressService.list(); return CommonResult.success(addressList); } @Operation(summary = "获取收货地址详情") @RequestMapping(value = "/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult getItem(@PathVariable Long id) { UmsMemberReceiveAddress address = memberReceiveAddressService.getItem(id); return CommonResult.success(address); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/dao/HomeDao.java ================================================ package com.macro.mall.portal.dao; import com.macro.mall.model.CmsSubject; import com.macro.mall.model.PmsBrand; import com.macro.mall.model.PmsProduct; import com.macro.mall.portal.domain.FlashPromotionProduct; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 首页内容管理自定义Dao * Created by macro on 2019/1/28. */ public interface HomeDao { /** * 获取推荐品牌 */ List getRecommendBrandList(@Param("offset") Integer offset,@Param("limit") Integer limit); /** * 获取秒杀商品 */ List getFlashProductList(@Param("flashPromotionId") Long flashPromotionId, @Param("sessionId") Long sessionId); /** * 获取新品推荐 */ List getNewProductList(@Param("offset") Integer offset,@Param("limit") Integer limit); /** * 获取人气推荐 */ List getHotProductList(@Param("offset") Integer offset,@Param("limit") Integer limit); /** * 获取推荐专题 */ List getRecommendSubjectList(@Param("offset") Integer offset, @Param("limit") Integer limit); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/dao/PortalOrderDao.java ================================================ package com.macro.mall.portal.dao; import com.macro.mall.model.OmsOrderItem; import com.macro.mall.portal.domain.OmsOrderDetail; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 前台订单自定义Dao * Created by macro on 2018/9/4. */ public interface PortalOrderDao { /** * 获取订单及下单商品详情 */ OmsOrderDetail getDetail(@Param("orderId") Long orderId); /** * 修改 pms_sku_stock表的锁定库存及真实库存 */ int updateSkuStock(@Param("itemList") List orderItemList); /** * 获取超时订单 * @param minute 超时时间(分) */ List getTimeOutOrders(@Param("minute") Integer minute); /** * 批量修改订单状态 */ int updateOrderStatus(@Param("ids") List ids,@Param("status") Integer status); /** * 解除取消订单的库存锁定 */ int releaseSkuStockLock(@Param("itemList") List orderItemList); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/dao/PortalOrderItemDao.java ================================================ package com.macro.mall.portal.dao; import com.macro.mall.model.OmsOrderItem; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 订单商品信息自定义Dao * Created by macro on 2018/9/3. */ public interface PortalOrderItemDao { int insertList(@Param("list") List list); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/dao/PortalProductDao.java ================================================ package com.macro.mall.portal.dao; import com.macro.mall.model.SmsCoupon; import com.macro.mall.portal.domain.CartProduct; import com.macro.mall.portal.domain.PromotionProduct; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 前台系统自定义商品Dao * Created by macro on 2018/8/2. */ public interface PortalProductDao { CartProduct getCartProduct(@Param("id") Long id); List getPromotionProductList(@Param("ids") List ids); List getAvailableCouponList(@Param("productId") Long productId,@Param("productCategoryId")Long productCategoryId); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/dao/SmsCouponHistoryDao.java ================================================ package com.macro.mall.portal.dao; import com.macro.mall.model.SmsCoupon; import com.macro.mall.portal.domain.SmsCouponHistoryDetail; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 会员优惠券领取历史自定义Dao * Created by macro on 2018/8/29. */ public interface SmsCouponHistoryDao { List getDetailList(@Param("memberId") Long memberId); List getCouponList(@Param("memberId") Long memberId, @Param("useStatus")Integer useStatus); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/AliPayParam.java ================================================ package com.macro.mall.portal.domain; import lombok.Data; import java.math.BigDecimal; /** * @auther macrozheng * @description 支付宝支付请求参数 * @date 2023/9/8 * @github https://github.com/macrozheng */ @Data public class AliPayParam { /** * 商户订单号,商家自定义,保持唯一性 */ private String outTradeNo; /** * 商品的标题/交易标题/订单标题/订单关键字等 */ private String subject; /** * 订单总金额,单位为元,精确到小数点后两位 */ private BigDecimal totalAmount; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/CartProduct.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.PmsProductAttribute; import com.macro.mall.model.PmsSkuStock; import java.util.List; /** * 购物车中选择规格的商品信息 * Created by macro 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; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/CartPromotionItem.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.OmsCartItem; import java.math.BigDecimal; /** * Created by macro on 2018/8/27. * 购物车中促销信息的封装 */ public class CartPromotionItem extends OmsCartItem{ //促销活动信息 private String promotionMessage; //促销活动减去的金额,针对每个商品 private BigDecimal reduceAmount; //商品的真实库存(剩余库存-锁定库存) private Integer realStock; //购买商品赠送积分 private Integer integration; //购买商品赠送成长值 private Integer growth; public String getPromotionMessage() { return promotionMessage; } public void setPromotionMessage(String promotionMessage) { this.promotionMessage = promotionMessage; } public BigDecimal getReduceAmount() { return reduceAmount; } public void setReduceAmount(BigDecimal reduceAmount) { this.reduceAmount = reduceAmount; } public Integer getRealStock() { return realStock; } public void setRealStock(Integer realStock) { this.realStock = realStock; } public Integer getIntegration() { return integration; } public void setIntegration(Integer integration) { this.integration = integration; } public Integer getGrowth() { return growth; } public void setGrowth(Integer growth) { this.growth = growth; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/ConfirmOrderResult.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.UmsIntegrationConsumeSetting; import com.macro.mall.model.UmsMemberReceiveAddress; import java.math.BigDecimal; import java.util.List; /** * 确认单信息封装 * Created by macro on 2018/8/30. */ public class ConfirmOrderResult { //包含优惠信息的购物车信息 private List cartPromotionItemList; //用户收货地址列表 private List memberReceiveAddressList; //用户可用优惠券列表 private List couponHistoryDetailList; //积分使用规则 private UmsIntegrationConsumeSetting integrationConsumeSetting; //会员持有的积分 private Integer memberIntegration; //计算的金额 private CalcAmount calcAmount; public List getCartPromotionItemList() { return cartPromotionItemList; } public void setCartPromotionItemList(List cartPromotionItemList) { this.cartPromotionItemList = cartPromotionItemList; } public List getMemberReceiveAddressList() { return memberReceiveAddressList; } public void setMemberReceiveAddressList(List memberReceiveAddressList) { this.memberReceiveAddressList = memberReceiveAddressList; } public List getCouponHistoryDetailList() { return couponHistoryDetailList; } public void setCouponHistoryDetailList(List couponHistoryDetailList) { this.couponHistoryDetailList = couponHistoryDetailList; } public UmsIntegrationConsumeSetting getIntegrationConsumeSetting() { return integrationConsumeSetting; } public void setIntegrationConsumeSetting(UmsIntegrationConsumeSetting integrationConsumeSetting) { this.integrationConsumeSetting = integrationConsumeSetting; } public Integer getMemberIntegration() { return memberIntegration; } public void setMemberIntegration(Integer memberIntegration) { this.memberIntegration = memberIntegration; } public CalcAmount getCalcAmount() { return calcAmount; } public void setCalcAmount(CalcAmount calcAmount) { this.calcAmount = calcAmount; } public static class CalcAmount{ //订单商品总金额 private BigDecimal totalAmount; //运费 private BigDecimal freightAmount; //活动优惠 private BigDecimal promotionAmount; //应付金额 private BigDecimal payAmount; public BigDecimal getTotalAmount() { return totalAmount; } public void setTotalAmount(BigDecimal totalAmount) { this.totalAmount = totalAmount; } public BigDecimal getFreightAmount() { return freightAmount; } public void setFreightAmount(BigDecimal freightAmount) { this.freightAmount = freightAmount; } public BigDecimal getPromotionAmount() { return promotionAmount; } public void setPromotionAmount(BigDecimal promotionAmount) { this.promotionAmount = promotionAmount; } public BigDecimal getPayAmount() { return payAmount; } public void setPayAmount(BigDecimal payAmount) { this.payAmount = payAmount; } } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/FlashPromotionProduct.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.PmsProduct; import lombok.Getter; import lombok.Setter; import java.math.BigDecimal; /** * 秒杀信息和商品对象封装 * Created by macro on 2019/1/28. */ @Getter @Setter public class FlashPromotionProduct extends PmsProduct{ private BigDecimal flashPromotionPrice; private Integer flashPromotionCount; private Integer flashPromotionLimit; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/HomeContentResult.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.CmsSubject; import com.macro.mall.model.PmsBrand; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.SmsHomeAdvertise; import lombok.Getter; import lombok.Setter; import java.util.List; /** * 首页内容返回信息封装 * Created by macro on 2019/1/28. */ @Getter @Setter public class HomeContentResult { //轮播广告 private List advertiseList; //推荐品牌 private List brandList; //当前秒杀场次 private HomeFlashPromotion homeFlashPromotion; //新品推荐 private List newProductList; //人气推荐 private List hotProductList; //推荐专题 private List subjectList; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/HomeFlashPromotion.java ================================================ package com.macro.mall.portal.domain; import lombok.Getter; import lombok.Setter; import java.util.Date; import java.util.List; /** * 首页当前秒杀场次信息 * Created by macro on 2019/1/28. */ @Getter @Setter public class HomeFlashPromotion { private Date startTime; private Date endTime; private Date nextStartTime; private Date nextEndTime; //属于该秒杀活动的商品 private List productList; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/MemberBrandAttention.java ================================================ package com.macro.mall.portal.domain; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.index.Indexed; import org.springframework.data.mongodb.core.mapping.Document; import java.util.Date; /** * 会员关注的品牌 * Created by macro on 2018/8/2. */ @Document public class MemberBrandAttention { @Id private String id; @Indexed private Long memberId; private String memberNickname; private String memberIcon; @Indexed private Long brandId; private String brandName; private String brandLogo; private String brandCity; private Date createTime; public String getId() { return id; } public void setId(String id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } 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 Long getBrandId() { return brandId; } public void setBrandId(Long brandId) { this.brandId = brandId; } public String getBrandName() { return brandName; } public void setBrandName(String brandName) { this.brandName = brandName; } public String getBrandLogo() { return brandLogo; } public void setBrandLogo(String brandLogo) { this.brandLogo = brandLogo; } public String getBrandCity() { return brandCity; } public void setBrandCity(String brandCity) { this.brandCity = brandCity; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/MemberProductCollection.java ================================================ package com.macro.mall.portal.domain; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.index.Indexed; import java.util.Date; /** * 用户收藏的商品 * Created by macro on 2018/8/2. */ public class MemberProductCollection { @Id private String id; @Indexed private Long memberId; private String memberNickname; private String memberIcon; @Indexed private Long productId; private String productName; private String productPic; private String productSubTitle; private String productPrice; private Date createTime; public String getId() { return id; } public void setId(String id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } 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 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 getProductPic() { return productPic; } public void setProductPic(String productPic) { this.productPic = productPic; } public String getProductSubTitle() { return productSubTitle; } public void setProductSubTitle(String productSubTitle) { this.productSubTitle = productSubTitle; } public String getProductPrice() { return productPrice; } public void setProductPrice(String productPrice) { this.productPrice = productPrice; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/MemberReadHistory.java ================================================ package com.macro.mall.portal.domain; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.index.Indexed; import org.springframework.data.mongodb.core.mapping.Document; import java.util.Date; /** * 用户商品浏览历史记录 * Created by macro on 2018/8/3. */ @Document public class MemberReadHistory { @Id private String id; @Indexed private Long memberId; private String memberNickname; private String memberIcon; @Indexed private Long productId; private String productName; private String productPic; private String productSubTitle; private String productPrice; private Date createTime; public String getId() { return id; } public void setId(String id) { this.id = id; } public Long getMemberId() { return memberId; } public void setMemberId(Long memberId) { this.memberId = memberId; } 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 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 getProductPic() { return productPic; } public void setProductPic(String productPic) { this.productPic = productPic; } public String getProductSubTitle() { return productSubTitle; } public void setProductSubTitle(String productSubTitle) { this.productSubTitle = productSubTitle; } public String getProductPrice() { return productPrice; } public void setProductPrice(String productPrice) { this.productPrice = productPrice; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/OmsOrderDetail.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.OmsOrder; import com.macro.mall.model.OmsOrderItem; import java.util.List; /** * 包含订单商品信息的订单详情 * Created by macro on 2018/9/4. */ public class OmsOrderDetail extends OmsOrder { private List orderItemList; public List getOrderItemList() { return orderItemList; } public void setOrderItemList(List orderItemList) { this.orderItemList = orderItemList; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/OmsOrderReturnApplyParam.java ================================================ package com.macro.mall.portal.domain; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import java.math.BigDecimal; /** * 申请退货参数 * Created by macro on 2018/10/17. */ @Getter @Setter public class OmsOrderReturnApplyParam { @Schema(title = "订单id") private Long orderId; @Schema(title = "退货商品id") private Long productId; @Schema(title = "订单编号") private String orderSn; @Schema(title = "会员用户名") private String memberUsername; @Schema(title = "退货人姓名") private String returnName; @Schema(title = "退货人电话") private String returnPhone; @Schema(title = "商品图片") private String productPic; @Schema(title = "商品名称") private String productName; @Schema(title = "商品品牌") private String productBrand; @Schema(title = "商品销售属性:颜色:红色;尺码:xl;") private String productAttr; @Schema(title = "退货数量") private Integer productCount; @Schema(title = "商品单价") private BigDecimal productPrice; @Schema(title = "商品实际支付单价") private BigDecimal productRealPrice; @Schema(title = "原因") private String reason; @Schema(title = "描述") private String description; @Schema(title = "凭证图片,以逗号隔开") private String proofPics; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/OrderParam.java ================================================ package com.macro.mall.portal.domain; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.List; /** * 生成订单时传入的参数 * Created by macro on 2018/8/30. */ @Data @EqualsAndHashCode(callSuper = false) public class OrderParam { @Schema(title = "收货地址ID") private Long memberReceiveAddressId; @Schema(title = "优惠券ID") private Long couponId; @Schema(title = "使用的积分数") private Integer useIntegration; @Schema(title = "支付方式") private Integer payType; @Schema(title = "被选中的购物车商品ID") private List cartIds; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/PmsPortalProductDetail.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.*; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; import java.util.List; /** * 前台商品详情 * Created by macro on 2020/4/6. */ @Getter @Setter public class PmsPortalProductDetail{ @Schema(title = "商品信息") private PmsProduct product; @Schema(title = "商品品牌") private PmsBrand brand; @Schema(title = "商品属性与参数") private List productAttributeList; @Schema(title = "手动录入的商品属性与参数值") private List productAttributeValueList; @Schema(title = "商品的sku库存信息") private List skuStockList; @Schema(title = "商品阶梯价格设置") private List productLadderList; @Schema(title = "商品满减价格设置") private List productFullReductionList; @Schema(title = "商品可用优惠券") private List couponList; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/PmsProductCategoryNode.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.PmsProductCategory; import lombok.Getter; import lombok.Setter; import java.util.List; /** * 商品分类,包含子分类 * Created by macro on 2020/4/6. */ @Getter @Setter public class PmsProductCategoryNode extends PmsProductCategory { private List children; } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/PromotionProduct.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.PmsProductFullReduction; import com.macro.mall.model.PmsProductLadder; import com.macro.mall.model.PmsSkuStock; import java.util.List; /** * Created by macro 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; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/QueueEnum.java ================================================ package com.macro.mall.portal.domain; import lombok.Getter; /** * 消息队列枚举配置 * Created by macro on 2018/9/14. */ @Getter public enum QueueEnum { /** * 消息通知队列 */ QUEUE_ORDER_CANCEL("mall.order.direct", "mall.order.cancel", "mall.order.cancel"), /** * 消息通知ttl队列 */ QUEUE_TTL_ORDER_CANCEL("mall.order.direct.ttl", "mall.order.cancel.ttl", "mall.order.cancel.ttl"); /** * 交换名称 */ private String exchange; /** * 队列名称 */ private String name; /** * 路由键 */ private String routeKey; QueueEnum(String exchange, String name, String routeKey) { this.exchange = exchange; this.name = name; this.routeKey = routeKey; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/domain/SmsCouponHistoryDetail.java ================================================ package com.macro.mall.portal.domain; import com.macro.mall.model.SmsCoupon; import com.macro.mall.model.SmsCouponHistory; import com.macro.mall.model.SmsCouponProductCategoryRelation; import com.macro.mall.model.SmsCouponProductRelation; import java.util.List; /** * 优惠券领取历史详情封装 * Created by macro 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; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/repository/MemberBrandAttentionRepository.java ================================================ package com.macro.mall.portal.repository; import com.macro.mall.portal.domain.MemberBrandAttention; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.mongodb.repository.MongoRepository; import java.util.List; /** * 会员关注Repository * Created by macro on 2018/8/2. */ public interface MemberBrandAttentionRepository extends MongoRepository { MemberBrandAttention findByMemberIdAndBrandId(Long memberId, Long brandId); int deleteByMemberIdAndBrandId(Long memberId,Long brandId); Page findByMemberId(Long memberId, Pageable pageable); void deleteAllByMemberId(Long memberId); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/repository/MemberProductCollectionRepository.java ================================================ package com.macro.mall.portal.repository; import com.macro.mall.portal.domain.MemberProductCollection; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.mongodb.repository.MongoRepository; import java.util.List; /** * 商品收藏Repository * Created by macro on 2018/8/2. */ public interface MemberProductCollectionRepository extends MongoRepository { MemberProductCollection findByMemberIdAndProductId(Long memberId, Long productId); int deleteByMemberIdAndProductId(Long memberId,Long productId); Page findByMemberId(Long memberId, Pageable pageable); void deleteAllByMemberId(Long memberId); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/repository/MemberReadHistoryRepository.java ================================================ package com.macro.mall.portal.repository; import com.macro.mall.portal.domain.MemberReadHistory; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.mongodb.repository.MongoRepository; import java.util.List; /** * 会员商品浏览历史Repository * Created by macro on 2018/8/3. */ public interface MemberReadHistoryRepository extends MongoRepository { Page findByMemberIdOrderByCreateTimeDesc(Long memberId, Pageable pageable); void deleteAllByMemberId(Long memberId); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/AlipayService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.portal.domain.AliPayParam; import java.util.Map; /** * @auther macrozheng * @description 支付宝支付Service * @date 2023/9/8 * @github https://github.com/macrozheng */ public interface AlipayService { /** * 根据提交参数生成电脑支付页面 */ String pay(AliPayParam aliPayParam); /** * 支付宝异步回调处理 */ String notify(Map params); /** * 查询支付宝交易状态 * @param outTradeNo 商户订单编号 * @param tradeNo 支付宝交易编号 * @return 支付宝交易状态 */ String query(String outTradeNo, String tradeNo); /** * 根据提交参数生成手机支付页面 */ String webPay(AliPayParam aliPayParam); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/HomeService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.model.CmsSubject; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.PmsProductCategory; import com.macro.mall.portal.domain.HomeContentResult; import java.util.List; /** * 首页内容管理Service * Created by macro on 2019/1/28. */ public interface HomeService { /** * 获取首页内容 */ HomeContentResult content(); /** * 首页商品推荐 */ List recommendProductList(Integer pageSize, Integer pageNum); /** * 获取商品分类 * @param parentId 0:获取一级分类;其他:获取指定二级分类 */ List getProductCateList(Long parentId); /** * 根据专题分类分页获取专题 * @param cateId 专题分类id */ List getSubjectList(Long cateId, Integer pageSize, Integer pageNum); /** * 分页获取人气推荐商品 */ List hotProductList(Integer pageNum, Integer pageSize); /** * 分页获取新品推荐商品 */ List newProductList(Integer pageNum, Integer pageSize); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/MemberAttentionService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.portal.domain.MemberBrandAttention; import org.springframework.data.domain.Page; import java.util.List; /** * 会员关注Service * Created by macro on 2018/8/2. */ public interface MemberAttentionService { /** * 添加关注 */ int add(MemberBrandAttention memberBrandAttention); /** * 取消关注 */ int delete(Long brandId); /** * 获取用户关注列表 */ Page list(Integer pageNum, Integer pageSize); /** * 获取用户关注详情 */ MemberBrandAttention detail(Long brandId); /** * 清空关注列表 */ void clear(); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/MemberCollectionService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.portal.domain.MemberProductCollection; import org.springframework.data.domain.Page; import java.util.List; /** * 会员收藏Service * Created by macro on 2018/8/2. */ public interface MemberCollectionService { int add(MemberProductCollection productCollection); int delete(Long productId); Page list(Integer pageNum, Integer pageSize); MemberProductCollection detail(Long productId); void clear(); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/MemberReadHistoryService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.portal.domain.MemberReadHistory; import org.springframework.data.domain.Page; import java.util.List; /** * 会员浏览记录管理Service * Created by macro on 2018/8/3. */ public interface MemberReadHistoryService { /** * 生成浏览记录 */ int create(MemberReadHistory memberReadHistory); /** * 批量删除浏览记录 */ int delete(List ids); /** * 分页获取用户浏览历史记录 */ Page list(Integer pageNum, Integer pageSize); /** * 清空浏览记录 */ void clear(); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/OmsCartItemService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.model.OmsCartItem; import com.macro.mall.portal.domain.CartProduct; import com.macro.mall.portal.domain.CartPromotionItem; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 购物车管理Service * Created by macro on 2018/8/2. */ public interface OmsCartItemService { /** * 查询购物车中是否包含该商品,有增加数量,无添加到购物车 */ @Transactional int add(OmsCartItem cartItem); /** * 根据会员编号获取购物车列表 */ List list(Long memberId); /** * 获取包含促销活动信息的购物车列表 */ List listPromotion(Long memberId, List cartIds); /** * 修改某个购物车商品的数量 */ int updateQuantity(Long id, Long memberId, Integer quantity); /** * 批量删除购物车中的商品 */ int delete(Long memberId,List ids); /** *获取购物车中用于选择商品规格的商品信息 */ CartProduct getCartProduct(Long productId); /** * 修改购物车中商品的规格 */ @Transactional int updateAttr(OmsCartItem cartItem); /** * 清空购物车 */ int clear(Long memberId); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/OmsPortalOrderReturnApplyService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.portal.domain.OmsOrderReturnApplyParam; /** * 订单退货管理Service * Created by macro on 2018/10/17. */ public interface OmsPortalOrderReturnApplyService { /** * 提交申请 */ int create(OmsOrderReturnApplyParam returnApply); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/OmsPortalOrderService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.common.api.CommonPage; import com.macro.mall.portal.domain.ConfirmOrderResult; import com.macro.mall.portal.domain.OmsOrderDetail; import com.macro.mall.portal.domain.OrderParam; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; /** * 前台订单管理Service * Created by macro on 2018/8/30. */ public interface OmsPortalOrderService { /** * 根据用户购物车信息生成确认单信息 */ ConfirmOrderResult generateConfirmOrder(List cartIds); /** * 根据提交信息生成订单 */ @Transactional Map generateOrder(OrderParam orderParam); /** * 支付成功后的回调 */ @Transactional Integer paySuccess(Long orderId, Integer payType); /** * 自动取消超时订单 */ @Transactional Integer cancelTimeOutOrder(); /** * 取消单个超时订单 */ @Transactional void cancelOrder(Long orderId); /** * 发送延迟消息取消订单 */ void sendDelayMessageCancelOrder(Long orderId); /** * 确认收货 */ void confirmReceiveOrder(Long orderId); /** * 分页获取用户订单 */ CommonPage list(Integer status, Integer pageNum, Integer pageSize); /** * 根据订单ID获取订单详情 */ OmsOrderDetail detail(Long orderId); /** * 用户根据订单ID删除订单 */ void deleteOrder(Long orderId); /** * 根据orderSn来实现的支付成功逻辑 */ @Transactional void paySuccessByOrderSn(String orderSn, Integer payType); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/OmsPromotionService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.model.OmsCartItem; import com.macro.mall.portal.domain.CartPromotionItem; import java.util.List; /** * Created by macro on 2018/8/27. * 促销管理Service */ public interface OmsPromotionService { /** * 计算购物车中的促销活动信息 * @param cartItemList 购物车 */ List calcCartPromotion(List cartItemList); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/PmsPortalProductService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.model.PmsProduct; import com.macro.mall.portal.domain.PmsPortalProductDetail; import com.macro.mall.portal.domain.PmsProductCategoryNode; import java.util.List; /** * 前台商品管理Service * Created by macro on 2020/4/6. */ public interface PmsPortalProductService { /** * 综合搜索商品 */ List search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize, Integer sort); /** * 以树形结构获取所有商品分类 */ List categoryTreeList(); /** * 获取前台商品详情 */ PmsPortalProductDetail detail(Long id); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/PortalBrandService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.common.api.CommonPage; import com.macro.mall.model.PmsBrand; import com.macro.mall.model.PmsProduct; import java.util.List; /** * 前台品牌管理Service * Created by macro on 2020/5/15. */ public interface PortalBrandService { /** * 分页获取推荐品牌 */ List recommendList(Integer pageNum, Integer pageSize); /** * 获取品牌详情 */ PmsBrand detail(Long brandId); /** * 分页获取品牌关联商品 */ CommonPage productList(Long brandId, Integer pageNum, Integer pageSize); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberCacheService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.model.UmsMember; /** * 会员信息缓存业务类 * Created by macro on 2020/3/14. */ public interface UmsMemberCacheService { /** * 删除会员用户缓存 */ void delMember(Long memberId); /** * 获取会员用户缓存 */ UmsMember getMember(Long memberId); /** * 设置会员用户缓存 */ void setMember(UmsMember member); /** * 设置验证码 */ void setAuthCode(String telephone, String authCode); /** * 获取验证码 */ String getAuthCode(String telephone); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberCouponService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.model.SmsCoupon; import com.macro.mall.model.SmsCouponHistory; import com.macro.mall.portal.domain.CartPromotionItem; import com.macro.mall.portal.domain.SmsCouponHistoryDetail; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 用户优惠券管理Service * Created by macro on 2018/8/29. */ public interface UmsMemberCouponService { /** * 会员添加优惠券 */ @Transactional void add(Long couponId); /** * 获取优惠券历史列表 */ List listHistory(Integer useStatus); /** * 根据购物车信息获取可用优惠券 */ List listCart(List cartItemList, Integer type); /** * 获取当前商品相关优惠券 */ List listByProduct(Long productId); /** * 获取用户优惠券列表 */ List list(Integer useStatus); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberReceiveAddressService.java ================================================ package com.macro.mall.portal.service; import com.macro.mall.model.UmsMemberReceiveAddress; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 用户地址管理Service * Created by macro on 2018/8/28. */ public interface UmsMemberReceiveAddressService { /** * 添加收货地址 */ int add(UmsMemberReceiveAddress address); /** * 删除收货地址 * @param id 地址表的id */ int delete(Long id); /** * 修改收货地址 * @param id 地址表的id * @param address 修改的收货地址信息 */ @Transactional int update(Long id, UmsMemberReceiveAddress address); /** * 返回当前用户的收货地址 */ List list(); /** * 获取地址详情 * @param id 地址id */ UmsMemberReceiveAddress getItem(Long id); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/UmsMemberService.java ================================================ package com.macro.mall.portal.service; import cn.dev33.satoken.stp.SaTokenInfo; import com.macro.mall.model.UmsMember; import org.springframework.transaction.annotation.Transactional; /** * 会员管理Service * Created by macro on 2018/8/3. */ public interface UmsMemberService { /** * 根据用户名获取会员 */ UmsMember getByUsername(String username); /** * 根据会员编号获取会员 */ UmsMember getById(Long id); /** * 用户注册 */ @Transactional void register(String username, String password, String telephone, String authCode); /** * 生成验证码 */ String generateAuthCode(String telephone); /** * 修改密码 */ @Transactional void updatePassword(String telephone, String password, String authCode); /** * 获取当前登录会员 */ UmsMember getCurrentMember(); /** * 根据会员id修改会员积分 */ void updateIntegration(Long id,Integer integration); /** * 登录后获取token */ SaTokenInfo login(String username, String password); /** * 登出功能 */ void logout(); } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/AlipayServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.alipay.api.AlipayApiException; import com.alipay.api.AlipayClient; import com.alipay.api.internal.util.AlipaySignature; import com.alipay.api.request.AlipayTradePagePayRequest; import com.alipay.api.request.AlipayTradeQueryRequest; import com.alipay.api.request.AlipayTradeWapPayRequest; import com.alipay.api.response.AlipayTradeQueryResponse; import com.macro.mall.mapper.OmsOrderMapper; import com.macro.mall.portal.config.AlipayConfig; import com.macro.mall.portal.domain.AliPayParam; import com.macro.mall.portal.service.AlipayService; import com.macro.mall.portal.service.OmsPortalOrderService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Map; /** * @auther macrozheng * @description 支付宝支付Service实现类 * @date 2023/9/8 * @github https://github.com/macrozheng */ @Slf4j @Service public class AlipayServiceImpl implements AlipayService { @Autowired private AlipayConfig alipayConfig; @Autowired private AlipayClient alipayClient; @Autowired private OmsOrderMapper orderMapper; @Autowired private OmsPortalOrderService portalOrderService; @Override public String pay(AliPayParam aliPayParam) { AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); if(StrUtil.isNotEmpty(alipayConfig.getNotifyUrl())){ //异步接收地址,公网可访问 request.setNotifyUrl(alipayConfig.getNotifyUrl()); } if(StrUtil.isNotEmpty(alipayConfig.getReturnUrl())){ //同步跳转地址 request.setReturnUrl(alipayConfig.getReturnUrl()); } //******必传参数****** JSONObject bizContent = new JSONObject(); //商户订单号,商家自定义,保持唯一性 bizContent.put("out_trade_no", aliPayParam.getOutTradeNo()); //支付金额,最小值0.01元 bizContent.put("total_amount", aliPayParam.getTotalAmount()); //订单标题,不可使用特殊符号 bizContent.put("subject", aliPayParam.getSubject()); //电脑网站支付场景固定传值FAST_INSTANT_TRADE_PAY bizContent.put("product_code", "FAST_INSTANT_TRADE_PAY"); request.setBizContent(bizContent.toString()); String formHtml = null; try { formHtml = alipayClient.pageExecute(request).getBody(); } catch (AlipayApiException e) { e.printStackTrace(); } return formHtml; } @Override public String notify(Map params) { String result = "failure"; boolean signVerified = false; try { //调用SDK验证签名 signVerified = AlipaySignature.rsaCheckV1(params, alipayConfig.getAlipayPublicKey(), alipayConfig.getCharset(), alipayConfig.getSignType()); } catch (AlipayApiException e) { log.error("支付回调签名校验异常!",e); e.printStackTrace(); } if (signVerified) { String tradeStatus = params.get("trade_status"); if("TRADE_SUCCESS".equals(tradeStatus)){ result = "success"; log.info("notify方法被调用了,tradeStatus:{}",tradeStatus); String outTradeNo = params.get("out_trade_no"); portalOrderService.paySuccessByOrderSn(outTradeNo,1); }else{ log.warn("订单未支付成功,trade_status:{}",tradeStatus); } } else { log.warn("支付回调签名校验失败!"); } return result; } @Override public String query(String outTradeNo, String tradeNo) { AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); //******必传参数****** JSONObject bizContent = new JSONObject(); //设置查询参数,out_trade_no和trade_no至少传一个 if(StrUtil.isNotEmpty(outTradeNo)){ bizContent.put("out_trade_no",outTradeNo); } if(StrUtil.isNotEmpty(tradeNo)){ bizContent.put("trade_no",tradeNo); } //交易结算信息: trade_settle_info String[] queryOptions = {"trade_settle_info"}; bizContent.put("query_options", queryOptions); request.setBizContent(bizContent.toString()); AlipayTradeQueryResponse response = null; try { response = alipayClient.execute(request); } catch (AlipayApiException e) { log.error("查询支付宝账单异常!",e); } if(response.isSuccess()){ log.info("查询支付宝账单成功!"); if("TRADE_SUCCESS".equals(response.getTradeStatus())){ portalOrderService.paySuccessByOrderSn(outTradeNo,1); } } else { log.error("查询支付宝账单失败!"); } //交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) return response.getTradeStatus(); } @Override public String webPay(AliPayParam aliPayParam) { AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest (); if(StrUtil.isNotEmpty(alipayConfig.getNotifyUrl())){ //异步接收地址,公网可访问 request.setNotifyUrl(alipayConfig.getNotifyUrl()); } if(StrUtil.isNotEmpty(alipayConfig.getReturnUrl())){ //同步跳转地址 request.setReturnUrl(alipayConfig.getReturnUrl()); } //******必传参数****** JSONObject bizContent = new JSONObject(); //商户订单号,商家自定义,保持唯一性 bizContent.put("out_trade_no", aliPayParam.getOutTradeNo()); //支付金额,最小值0.01元 bizContent.put("total_amount", aliPayParam.getTotalAmount()); //订单标题,不可使用特殊符号 bizContent.put("subject", aliPayParam.getSubject()); //手机网站支付默认传值FAST_INSTANT_TRADE_PAY bizContent.put("product_code", "QUICK_WAP_WAY"); request.setBizContent(bizContent.toString()); String formHtml = null; try { formHtml = alipayClient.pageExecute(request).getBody(); } catch (AlipayApiException e) { e.printStackTrace(); } return formHtml; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/HomeServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.*; import com.macro.mall.model.*; import com.macro.mall.portal.dao.HomeDao; import com.macro.mall.portal.domain.FlashPromotionProduct; import com.macro.mall.portal.domain.HomeContentResult; import com.macro.mall.portal.domain.HomeFlashPromotion; import com.macro.mall.portal.service.HomeService; import com.macro.mall.portal.util.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; /** * 首页内容管理Service实现类 * Created by macro on 2019/1/28. */ @Service public class HomeServiceImpl implements HomeService { @Autowired private SmsHomeAdvertiseMapper advertiseMapper; @Autowired private HomeDao homeDao; @Autowired private SmsFlashPromotionMapper flashPromotionMapper; @Autowired private SmsFlashPromotionSessionMapper promotionSessionMapper; @Autowired private PmsProductMapper productMapper; @Autowired private PmsProductCategoryMapper productCategoryMapper; @Autowired private CmsSubjectMapper subjectMapper; @Override public HomeContentResult content() { HomeContentResult result = new HomeContentResult(); //获取首页广告 result.setAdvertiseList(getHomeAdvertiseList()); //获取推荐品牌 result.setBrandList(homeDao.getRecommendBrandList(0,6)); //获取秒杀信息 result.setHomeFlashPromotion(getHomeFlashPromotion()); //获取新品推荐 result.setNewProductList(homeDao.getNewProductList(0,4)); //获取人气推荐 result.setHotProductList(homeDao.getHotProductList(0,4)); //获取推荐专题 result.setSubjectList(homeDao.getRecommendSubjectList(0,4)); return result; } @Override public List recommendProductList(Integer pageSize, Integer pageNum) { // TODO: 2019/1/29 暂时默认推荐所有商品 PageHelper.startPage(pageNum,pageSize); PmsProductExample example = new PmsProductExample(); example.createCriteria() .andDeleteStatusEqualTo(0) .andPublishStatusEqualTo(1); return productMapper.selectByExample(example); } @Override public List getProductCateList(Long parentId) { PmsProductCategoryExample example = new PmsProductCategoryExample(); example.createCriteria() .andShowStatusEqualTo(1) .andParentIdEqualTo(parentId); example.setOrderByClause("sort desc"); return productCategoryMapper.selectByExample(example); } @Override public List getSubjectList(Long cateId, Integer pageSize, Integer pageNum) { PageHelper.startPage(pageNum,pageSize); CmsSubjectExample example = new CmsSubjectExample(); CmsSubjectExample.Criteria criteria = example.createCriteria(); criteria.andShowStatusEqualTo(1); if(cateId!=null){ criteria.andCategoryIdEqualTo(cateId); } return subjectMapper.selectByExample(example); } @Override public List hotProductList(Integer pageNum, Integer pageSize) { int offset = pageSize * (pageNum - 1); return homeDao.getHotProductList(offset, pageSize); } @Override public List newProductList(Integer pageNum, Integer pageSize) { int offset = pageSize * (pageNum - 1); return homeDao.getNewProductList(offset, pageSize); } private HomeFlashPromotion getHomeFlashPromotion() { HomeFlashPromotion homeFlashPromotion = new HomeFlashPromotion(); //获取当前秒杀活动 Date now = new Date(); SmsFlashPromotion flashPromotion = getFlashPromotion(now); if (flashPromotion != null) { //获取当前秒杀场次 SmsFlashPromotionSession flashPromotionSession = getFlashPromotionSession(now); if (flashPromotionSession != null) { homeFlashPromotion.setStartTime(flashPromotionSession.getStartTime()); homeFlashPromotion.setEndTime(flashPromotionSession.getEndTime()); //获取下一个秒杀场次 SmsFlashPromotionSession nextSession = getNextFlashPromotionSession(homeFlashPromotion.getStartTime()); if(nextSession!=null){ homeFlashPromotion.setNextStartTime(nextSession.getStartTime()); homeFlashPromotion.setNextEndTime(nextSession.getEndTime()); } //获取秒杀商品 List flashProductList = homeDao.getFlashProductList(flashPromotion.getId(), flashPromotionSession.getId()); homeFlashPromotion.setProductList(flashProductList); } } return homeFlashPromotion; } //获取下一个场次信息 private SmsFlashPromotionSession getNextFlashPromotionSession(Date date) { SmsFlashPromotionSessionExample sessionExample = new SmsFlashPromotionSessionExample(); sessionExample.createCriteria() .andStartTimeGreaterThan(date); sessionExample.setOrderByClause("start_time asc"); List promotionSessionList = promotionSessionMapper.selectByExample(sessionExample); if (!CollectionUtils.isEmpty(promotionSessionList)) { return promotionSessionList.get(0); } return null; } private List getHomeAdvertiseList() { SmsHomeAdvertiseExample example = new SmsHomeAdvertiseExample(); example.createCriteria().andTypeEqualTo(1).andStatusEqualTo(1); example.setOrderByClause("sort desc"); return advertiseMapper.selectByExample(example); } //根据时间获取秒杀活动 private SmsFlashPromotion getFlashPromotion(Date date) { Date currDate = DateUtil.getDate(date); SmsFlashPromotionExample example = new SmsFlashPromotionExample(); example.createCriteria() .andStatusEqualTo(1) .andStartDateLessThanOrEqualTo(currDate) .andEndDateGreaterThanOrEqualTo(currDate); List flashPromotionList = flashPromotionMapper.selectByExample(example); if (!CollectionUtils.isEmpty(flashPromotionList)) { return flashPromotionList.get(0); } return null; } //根据时间获取秒杀场次 private SmsFlashPromotionSession getFlashPromotionSession(Date date) { Date currTime = DateUtil.getTime(date); SmsFlashPromotionSessionExample sessionExample = new SmsFlashPromotionSessionExample(); sessionExample.createCriteria() .andStartTimeLessThanOrEqualTo(currTime) .andEndTimeGreaterThanOrEqualTo(currTime); List promotionSessionList = promotionSessionMapper.selectByExample(sessionExample); if (!CollectionUtils.isEmpty(promotionSessionList)) { return promotionSessionList.get(0); } return null; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberAttentionServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.macro.mall.model.UmsMember; import com.macro.mall.portal.domain.MemberBrandAttention; import com.macro.mall.portal.repository.MemberBrandAttentionRepository; import com.macro.mall.portal.service.MemberAttentionService; import com.macro.mall.portal.service.UmsMemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * 会员关注Service实现类 * Created by macro on 2018/8/2. */ @Service public class MemberAttentionServiceImpl implements MemberAttentionService { @Autowired private MemberBrandAttentionRepository memberBrandAttentionRepository; @Autowired private UmsMemberService memberService; @Override public int add(MemberBrandAttention memberBrandAttention) { int count = 0; UmsMember member = memberService.getCurrentMember(); memberBrandAttention.setMemberId(member.getId()); memberBrandAttention.setMemberNickname(member.getNickname()); memberBrandAttention.setMemberIcon(member.getIcon()); memberBrandAttention.setCreateTime(new Date()); MemberBrandAttention findAttention = memberBrandAttentionRepository.findByMemberIdAndBrandId(memberBrandAttention.getMemberId(), memberBrandAttention.getBrandId()); if (findAttention == null) { memberBrandAttentionRepository.save(memberBrandAttention); count = 1; } return count; } @Override public int delete(Long brandId) { UmsMember member = memberService.getCurrentMember(); return memberBrandAttentionRepository.deleteByMemberIdAndBrandId(member.getId(),brandId); } @Override public Page list(Integer pageNum, Integer pageSize) { UmsMember member = memberService.getCurrentMember(); Pageable pageable = PageRequest.of(pageNum-1,pageSize); return memberBrandAttentionRepository.findByMemberId(member.getId(),pageable); } @Override public MemberBrandAttention detail(Long brandId) { UmsMember member = memberService.getCurrentMember(); return memberBrandAttentionRepository.findByMemberIdAndBrandId(member.getId(), brandId); } @Override public void clear() { UmsMember member = memberService.getCurrentMember(); memberBrandAttentionRepository.deleteAllByMemberId(member.getId()); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberCollectionServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.macro.mall.model.UmsMember; import com.macro.mall.portal.domain.MemberProductCollection; import com.macro.mall.portal.repository.MemberProductCollectionRepository; import com.macro.mall.portal.service.MemberCollectionService; import com.macro.mall.portal.service.UmsMemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import java.util.List; /** * 会员收藏Service实现类 * Created by macro on 2018/8/2. */ @Service public class MemberCollectionServiceImpl implements MemberCollectionService { @Autowired private MemberProductCollectionRepository productCollectionRepository; @Autowired private UmsMemberService memberService; @Override public int add(MemberProductCollection productCollection) { int count = 0; UmsMember member = memberService.getCurrentMember(); productCollection.setMemberId(member.getId()); productCollection.setMemberNickname(member.getNickname()); productCollection.setMemberIcon(member.getIcon()); MemberProductCollection findCollection = productCollectionRepository.findByMemberIdAndProductId(productCollection.getMemberId(), productCollection.getProductId()); if (findCollection == null) { productCollectionRepository.save(productCollection); count = 1; } return count; } @Override public int delete(Long productId) { UmsMember member = memberService.getCurrentMember(); return productCollectionRepository.deleteByMemberIdAndProductId(member.getId(), productId); } @Override public Page list(Integer pageNum, Integer pageSize) { UmsMember member = memberService.getCurrentMember(); Pageable pageable = PageRequest.of(pageNum - 1, pageSize); return productCollectionRepository.findByMemberId(member.getId(), pageable); } @Override public MemberProductCollection detail(Long productId) { UmsMember member = memberService.getCurrentMember(); return productCollectionRepository.findByMemberIdAndProductId(member.getId(), productId); } @Override public void clear() { UmsMember member = memberService.getCurrentMember(); productCollectionRepository.deleteAllByMemberId(member.getId()); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/MemberReadHistoryServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.macro.mall.model.UmsMember; import com.macro.mall.portal.domain.MemberReadHistory; import com.macro.mall.portal.repository.MemberReadHistoryRepository; import com.macro.mall.portal.service.MemberReadHistoryService; import com.macro.mall.portal.service.UmsMemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * 会员浏览记录管理Service实现类 * Created by macro on 2018/8/3. */ @Service public class MemberReadHistoryServiceImpl implements MemberReadHistoryService { @Autowired private MemberReadHistoryRepository memberReadHistoryRepository; @Autowired private UmsMemberService memberService; @Override public int create(MemberReadHistory memberReadHistory) { UmsMember member = memberService.getCurrentMember(); memberReadHistory.setMemberId(member.getId()); memberReadHistory.setMemberNickname(member.getNickname()); memberReadHistory.setMemberIcon(member.getIcon()); memberReadHistory.setId(null); memberReadHistory.setCreateTime(new Date()); memberReadHistoryRepository.save(memberReadHistory); return 1; } @Override public int delete(List ids) { List deleteList = new ArrayList<>(); for(String id:ids){ MemberReadHistory memberReadHistory = new MemberReadHistory(); memberReadHistory.setId(id); deleteList.add(memberReadHistory); } memberReadHistoryRepository.deleteAll(deleteList); return ids.size(); } @Override public Page list(Integer pageNum, Integer pageSize) { UmsMember member = memberService.getCurrentMember(); Pageable pageable = PageRequest.of(pageNum-1, pageSize); return memberReadHistoryRepository.findByMemberIdOrderByCreateTimeDesc(member.getId(),pageable); } @Override public void clear() { UmsMember member = memberService.getCurrentMember(); memberReadHistoryRepository.deleteAllByMemberId(member.getId()); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsCartItemServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import cn.hutool.core.collection.CollUtil; import com.macro.mall.mapper.OmsCartItemMapper; import com.macro.mall.model.OmsCartItem; import com.macro.mall.model.OmsCartItemExample; import com.macro.mall.model.UmsMember; import com.macro.mall.portal.dao.PortalProductDao; import com.macro.mall.portal.domain.CartProduct; import com.macro.mall.portal.domain.CartPromotionItem; import com.macro.mall.portal.service.OmsCartItemService; import com.macro.mall.portal.service.OmsPromotionService; import com.macro.mall.portal.service.UmsMemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * 购物车管理Service实现类 * Created by macro on 2018/8/2. */ @Service public class OmsCartItemServiceImpl implements OmsCartItemService { @Autowired private OmsCartItemMapper cartItemMapper; @Autowired private PortalProductDao productDao; @Autowired private OmsPromotionService promotionService; @Autowired private UmsMemberService memberService; @Override public int add(OmsCartItem cartItem) { int count; UmsMember currentMember =memberService.getCurrentMember(); cartItem.setMemberId(currentMember.getId()); cartItem.setMemberNickname(currentMember.getNickname()); cartItem.setDeleteStatus(0); OmsCartItem existCartItem = getCartItem(cartItem); if (existCartItem == null) { cartItem.setCreateDate(new Date()); count = cartItemMapper.insert(cartItem); } else { cartItem.setModifyDate(new Date()); existCartItem.setQuantity(existCartItem.getQuantity() + cartItem.getQuantity()); count = cartItemMapper.updateByPrimaryKey(existCartItem); } return count; } /** * 根据会员id,商品id和规格获取购物车中商品 */ private OmsCartItem getCartItem(OmsCartItem cartItem) { OmsCartItemExample example = new OmsCartItemExample(); OmsCartItemExample.Criteria criteria = example.createCriteria().andMemberIdEqualTo(cartItem.getMemberId()) .andProductIdEqualTo(cartItem.getProductId()).andDeleteStatusEqualTo(0); if (cartItem.getProductSkuId()!=null) { criteria.andProductSkuIdEqualTo(cartItem.getProductSkuId()); } List cartItemList = cartItemMapper.selectByExample(example); if (!CollectionUtils.isEmpty(cartItemList)) { return cartItemList.get(0); } return null; } @Override public List list(Long memberId) { OmsCartItemExample example = new OmsCartItemExample(); example.createCriteria().andDeleteStatusEqualTo(0).andMemberIdEqualTo(memberId); return cartItemMapper.selectByExample(example); } @Override public List listPromotion(Long memberId, List cartIds) { List cartItemList = list(memberId); if(CollUtil.isNotEmpty(cartIds)){ cartItemList = cartItemList.stream().filter(item->cartIds.contains(item.getId())).collect(Collectors.toList()); } List cartPromotionItemList = new ArrayList<>(); if(!CollectionUtils.isEmpty(cartItemList)){ cartPromotionItemList = promotionService.calcCartPromotion(cartItemList); } return cartPromotionItemList; } @Override public int updateQuantity(Long id, Long memberId, Integer quantity) { OmsCartItem cartItem = new OmsCartItem(); cartItem.setQuantity(quantity); OmsCartItemExample example = new OmsCartItemExample(); example.createCriteria().andDeleteStatusEqualTo(0) .andIdEqualTo(id).andMemberIdEqualTo(memberId); return cartItemMapper.updateByExampleSelective(cartItem, example); } @Override public int delete(Long memberId, List ids) { OmsCartItem record = new OmsCartItem(); record.setDeleteStatus(1); OmsCartItemExample example = new OmsCartItemExample(); example.createCriteria().andIdIn(ids).andMemberIdEqualTo(memberId); return cartItemMapper.updateByExampleSelective(record, example); } @Override public CartProduct getCartProduct(Long productId) { return productDao.getCartProduct(productId); } @Override public int updateAttr(OmsCartItem cartItem) { //删除原购物车信息 OmsCartItem updateCart = new OmsCartItem(); updateCart.setId(cartItem.getId()); updateCart.setModifyDate(new Date()); updateCart.setDeleteStatus(1); cartItemMapper.updateByPrimaryKeySelective(updateCart); cartItem.setId(null); add(cartItem); return 1; } @Override public int clear(Long memberId) { OmsCartItem record = new OmsCartItem(); record.setDeleteStatus(1); OmsCartItemExample example = new OmsCartItemExample(); example.createCriteria().andMemberIdEqualTo(memberId); return cartItemMapper.updateByExampleSelective(record,example); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPortalOrderReturnApplyServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.macro.mall.mapper.OmsOrderReturnApplyMapper; import com.macro.mall.model.OmsOrderReturnApply; import com.macro.mall.portal.domain.OmsOrderReturnApplyParam; import com.macro.mall.portal.service.OmsPortalOrderReturnApplyService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; /** * 订单退货管理Service实现类 * Created by macro on 2018/10/17. */ @Service public class OmsPortalOrderReturnApplyServiceImpl implements OmsPortalOrderReturnApplyService { @Autowired private OmsOrderReturnApplyMapper returnApplyMapper; @Override public int create(OmsOrderReturnApplyParam returnApply) { OmsOrderReturnApply realApply = new OmsOrderReturnApply(); BeanUtils.copyProperties(returnApply,realApply); realApply.setCreateTime(new Date()); realApply.setStatus(0); return returnApplyMapper.insert(realApply); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPortalOrderServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import com.github.pagehelper.PageHelper; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.exception.Asserts; import com.macro.mall.common.service.RedisService; import com.macro.mall.mapper.*; import com.macro.mall.model.*; import com.macro.mall.portal.component.CancelOrderSender; import com.macro.mall.portal.dao.PortalOrderDao; import com.macro.mall.portal.dao.PortalOrderItemDao; import com.macro.mall.portal.dao.SmsCouponHistoryDao; import com.macro.mall.portal.domain.*; import com.macro.mall.portal.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; /** * 前台订单管理Service * Created by macro on 2018/8/30. */ @Service public class OmsPortalOrderServiceImpl implements OmsPortalOrderService { @Autowired private UmsMemberService memberService; @Autowired private OmsCartItemService cartItemService; @Autowired private UmsMemberReceiveAddressService memberReceiveAddressService; @Autowired private UmsMemberCouponService memberCouponService; @Autowired private UmsIntegrationConsumeSettingMapper integrationConsumeSettingMapper; @Autowired private PmsSkuStockMapper skuStockMapper; @Autowired private SmsCouponHistoryDao couponHistoryDao; @Autowired private OmsOrderMapper orderMapper; @Autowired private PortalOrderItemDao orderItemDao; @Autowired private SmsCouponHistoryMapper couponHistoryMapper; @Autowired private RedisService redisService; @Value("${redis.key.orderId}") private String REDIS_KEY_ORDER_ID; @Value("${redis.database}") private String REDIS_DATABASE; @Autowired private PortalOrderDao portalOrderDao; @Autowired private OmsOrderSettingMapper orderSettingMapper; @Autowired private OmsOrderItemMapper orderItemMapper; @Autowired private CancelOrderSender cancelOrderSender; @Override public ConfirmOrderResult generateConfirmOrder(List cartIds) { ConfirmOrderResult result = new ConfirmOrderResult(); //获取购物车信息 UmsMember currentMember = memberService.getCurrentMember(); List cartPromotionItemList = cartItemService.listPromotion(currentMember.getId(),cartIds); result.setCartPromotionItemList(cartPromotionItemList); //获取用户收货地址列表 List memberReceiveAddressList = memberReceiveAddressService.list(); result.setMemberReceiveAddressList(memberReceiveAddressList); //获取用户可用优惠券列表 List couponHistoryDetailList = memberCouponService.listCart(cartPromotionItemList, 1); result.setCouponHistoryDetailList(couponHistoryDetailList); //获取用户积分 result.setMemberIntegration(currentMember.getIntegration()); //获取积分使用规则 UmsIntegrationConsumeSetting integrationConsumeSetting = integrationConsumeSettingMapper.selectByPrimaryKey(1L); result.setIntegrationConsumeSetting(integrationConsumeSetting); //计算总金额、活动优惠、应付金额 ConfirmOrderResult.CalcAmount calcAmount = calcCartAmount(cartPromotionItemList); result.setCalcAmount(calcAmount); return result; } @Override public Map generateOrder(OrderParam orderParam) { List orderItemList = new ArrayList<>(); //校验收货地址 if(orderParam.getMemberReceiveAddressId()==null){ Asserts.fail("请选择收货地址!"); } //获取购物车及优惠信息 UmsMember currentMember = memberService.getCurrentMember(); List cartPromotionItemList = cartItemService.listPromotion(currentMember.getId(), orderParam.getCartIds()); for (CartPromotionItem cartPromotionItem : cartPromotionItemList) { //生成下单商品信息 OmsOrderItem orderItem = new OmsOrderItem(); orderItem.setProductId(cartPromotionItem.getProductId()); orderItem.setProductName(cartPromotionItem.getProductName()); orderItem.setProductPic(cartPromotionItem.getProductPic()); orderItem.setProductAttr(cartPromotionItem.getProductAttr()); orderItem.setProductBrand(cartPromotionItem.getProductBrand()); orderItem.setProductSn(cartPromotionItem.getProductSn()); orderItem.setProductPrice(cartPromotionItem.getPrice()); orderItem.setProductQuantity(cartPromotionItem.getQuantity()); orderItem.setProductSkuId(cartPromotionItem.getProductSkuId()); orderItem.setProductSkuCode(cartPromotionItem.getProductSkuCode()); orderItem.setProductCategoryId(cartPromotionItem.getProductCategoryId()); orderItem.setPromotionAmount(cartPromotionItem.getReduceAmount()); orderItem.setPromotionName(cartPromotionItem.getPromotionMessage()); orderItem.setGiftIntegration(cartPromotionItem.getIntegration()); orderItem.setGiftGrowth(cartPromotionItem.getGrowth()); orderItemList.add(orderItem); } //判断购物车中商品是否都有库存 if (!hasStock(cartPromotionItemList)) { Asserts.fail("库存不足,无法下单"); } //判断使用使用了优惠券 if (orderParam.getCouponId() == null) { //不用优惠券 for (OmsOrderItem orderItem : orderItemList) { orderItem.setCouponAmount(new BigDecimal(0)); } } else { //使用优惠券 SmsCouponHistoryDetail couponHistoryDetail = getUseCoupon(cartPromotionItemList, orderParam.getCouponId()); if (couponHistoryDetail == null) { Asserts.fail("该优惠券不可用"); } //对下单商品的优惠券进行处理 handleCouponAmount(orderItemList, couponHistoryDetail); } //判断是否使用积分 if (orderParam.getUseIntegration() == null||orderParam.getUseIntegration().equals(0)) { //不使用积分 for (OmsOrderItem orderItem : orderItemList) { orderItem.setIntegrationAmount(new BigDecimal(0)); } } else { //使用积分 BigDecimal totalAmount = calcTotalAmount(orderItemList); BigDecimal integrationAmount = getUseIntegrationAmount(orderParam.getUseIntegration(), totalAmount, currentMember, orderParam.getCouponId() != null); if (integrationAmount.compareTo(new BigDecimal(0)) == 0) { Asserts.fail("积分不可用"); } else { //可用情况下分摊到可用商品中 for (OmsOrderItem orderItem : orderItemList) { BigDecimal perAmount = orderItem.getProductPrice().divide(totalAmount, 3, RoundingMode.HALF_EVEN).multiply(integrationAmount); orderItem.setIntegrationAmount(perAmount); } } } //计算order_item的实付金额 handleRealAmount(orderItemList); //进行库存锁定 lockStock(cartPromotionItemList); //根据商品合计、运费、活动优惠、优惠券、积分计算应付金额 OmsOrder order = new OmsOrder(); order.setDiscountAmount(new BigDecimal(0)); order.setTotalAmount(calcTotalAmount(orderItemList)); order.setFreightAmount(new BigDecimal(0)); order.setPromotionAmount(calcPromotionAmount(orderItemList)); order.setPromotionInfo(getOrderPromotionInfo(orderItemList)); if (orderParam.getCouponId() == null) { order.setCouponAmount(new BigDecimal(0)); } else { order.setCouponId(orderParam.getCouponId()); order.setCouponAmount(calcCouponAmount(orderItemList)); } if (orderParam.getUseIntegration() == null) { order.setIntegration(0); order.setIntegrationAmount(new BigDecimal(0)); } else { order.setIntegration(orderParam.getUseIntegration()); order.setIntegrationAmount(calcIntegrationAmount(orderItemList)); } order.setPayAmount(calcPayAmount(order)); //转化为订单信息并插入数据库 order.setMemberId(currentMember.getId()); order.setCreateTime(new Date()); order.setMemberUsername(currentMember.getUsername()); //支付方式:0->未支付;1->支付宝;2->微信 order.setPayType(orderParam.getPayType()); //订单来源:0->PC订单;1->app订单 order.setSourceType(1); //订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单 order.setStatus(0); //订单类型:0->正常订单;1->秒杀订单 order.setOrderType(0); //收货人信息:姓名、电话、邮编、地址 UmsMemberReceiveAddress address = memberReceiveAddressService.getItem(orderParam.getMemberReceiveAddressId()); order.setReceiverName(address.getName()); order.setReceiverPhone(address.getPhoneNumber()); order.setReceiverPostCode(address.getPostCode()); order.setReceiverProvince(address.getProvince()); order.setReceiverCity(address.getCity()); order.setReceiverRegion(address.getRegion()); order.setReceiverDetailAddress(address.getDetailAddress()); //0->未确认;1->已确认 order.setConfirmStatus(0); order.setDeleteStatus(0); //计算赠送积分 order.setIntegration(calcGifIntegration(orderItemList)); //计算赠送成长值 order.setGrowth(calcGiftGrowth(orderItemList)); //生成订单号 order.setOrderSn(generateOrderSn(order)); //设置自动收货天数 List orderSettings = orderSettingMapper.selectByExample(new OmsOrderSettingExample()); if(CollUtil.isNotEmpty(orderSettings)){ order.setAutoConfirmDay(orderSettings.get(0).getConfirmOvertime()); } // TODO: 2018/9/3 bill_*,delivery_* //插入order表和order_item表 orderMapper.insert(order); for (OmsOrderItem orderItem : orderItemList) { orderItem.setOrderId(order.getId()); orderItem.setOrderSn(order.getOrderSn()); } orderItemDao.insertList(orderItemList); //如使用优惠券更新优惠券使用状态 if (orderParam.getCouponId() != null) { updateCouponStatus(orderParam.getCouponId(), currentMember.getId(), 1); } //如使用积分需要扣除积分 if (orderParam.getUseIntegration() != null) { order.setUseIntegration(orderParam.getUseIntegration()); if(currentMember.getIntegration()==null){ currentMember.setIntegration(0); } memberService.updateIntegration(currentMember.getId(), currentMember.getIntegration() - orderParam.getUseIntegration()); } //删除购物车中的下单商品 deleteCartItemList(cartPromotionItemList, currentMember); //发送延迟消息取消订单 sendDelayMessageCancelOrder(order.getId()); Map result = new HashMap<>(); result.put("order", order); result.put("orderItemList", orderItemList); return result; } @Override public Integer paySuccess(Long orderId, Integer payType) { //修改订单支付状态 OmsOrder order = new OmsOrder(); order.setId(orderId); order.setStatus(1); order.setPaymentTime(new Date()); order.setPayType(payType); orderMapper.updateByPrimaryKeySelective(order); //恢复所有下单商品的锁定库存,扣减真实库存 OmsOrderDetail orderDetail = portalOrderDao.getDetail(orderId); int count = portalOrderDao.updateSkuStock(orderDetail.getOrderItemList()); return count; } @Override public Integer cancelTimeOutOrder() { Integer count=0; OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L); //查询超时、未支付的订单及订单详情 List timeOutOrders = portalOrderDao.getTimeOutOrders(orderSetting.getNormalOrderOvertime()); if (CollectionUtils.isEmpty(timeOutOrders)) { return count; } //修改订单状态为交易取消 List ids = new ArrayList<>(); for (OmsOrderDetail timeOutOrder : timeOutOrders) { ids.add(timeOutOrder.getId()); } portalOrderDao.updateOrderStatus(ids, 4); for (OmsOrderDetail timeOutOrder : timeOutOrders) { //解除订单商品库存锁定 portalOrderDao.releaseSkuStockLock(timeOutOrder.getOrderItemList()); //修改优惠券使用状态 updateCouponStatus(timeOutOrder.getCouponId(), timeOutOrder.getMemberId(), 0); //返还使用积分 if (timeOutOrder.getUseIntegration() != null) { UmsMember member = memberService.getById(timeOutOrder.getMemberId()); memberService.updateIntegration(timeOutOrder.getMemberId(), member.getIntegration() + timeOutOrder.getUseIntegration()); } } return timeOutOrders.size(); } @Override public void cancelOrder(Long orderId) { //查询未付款的取消订单 OmsOrderExample example = new OmsOrderExample(); example.createCriteria().andIdEqualTo(orderId).andStatusEqualTo(0).andDeleteStatusEqualTo(0); List cancelOrderList = orderMapper.selectByExample(example); if (CollectionUtils.isEmpty(cancelOrderList)) { return; } OmsOrder cancelOrder = cancelOrderList.get(0); if (cancelOrder != null) { //修改订单状态为取消 cancelOrder.setStatus(4); orderMapper.updateByPrimaryKeySelective(cancelOrder); OmsOrderItemExample orderItemExample = new OmsOrderItemExample(); orderItemExample.createCriteria().andOrderIdEqualTo(orderId); List orderItemList = orderItemMapper.selectByExample(orderItemExample); //解除订单商品库存锁定 if (!CollectionUtils.isEmpty(orderItemList)) { portalOrderDao.releaseSkuStockLock(orderItemList); } //修改优惠券使用状态 updateCouponStatus(cancelOrder.getCouponId(), cancelOrder.getMemberId(), 0); //返还使用积分 if (cancelOrder.getUseIntegration() != null) { UmsMember member = memberService.getById(cancelOrder.getMemberId()); memberService.updateIntegration(cancelOrder.getMemberId(), member.getIntegration() + cancelOrder.getUseIntegration()); } } } @Override public void sendDelayMessageCancelOrder(Long orderId) { //获取订单超时时间 OmsOrderSetting orderSetting = orderSettingMapper.selectByPrimaryKey(1L); long delayTimes = orderSetting.getNormalOrderOvertime() * 60 * 1000; //发送延迟消息 cancelOrderSender.sendMessage(orderId, delayTimes); } @Override public void confirmReceiveOrder(Long orderId) { UmsMember member = memberService.getCurrentMember(); OmsOrder order = orderMapper.selectByPrimaryKey(orderId); if(!member.getId().equals(order.getMemberId())){ Asserts.fail("不能确认他人订单!"); } if(order.getStatus()!=2){ Asserts.fail("该订单还未发货!"); } order.setStatus(3); order.setConfirmStatus(1); order.setReceiveTime(new Date()); orderMapper.updateByPrimaryKey(order); } @Override public CommonPage list(Integer status, Integer pageNum, Integer pageSize) { if(status==-1){ status = null; } UmsMember member = memberService.getCurrentMember(); PageHelper.startPage(pageNum,pageSize); OmsOrderExample orderExample = new OmsOrderExample(); OmsOrderExample.Criteria criteria = orderExample.createCriteria(); criteria.andDeleteStatusEqualTo(0) .andMemberIdEqualTo(member.getId()); if(status!=null){ criteria.andStatusEqualTo(status); } orderExample.setOrderByClause("create_time desc"); List orderList = orderMapper.selectByExample(orderExample); CommonPage orderPage = CommonPage.restPage(orderList); //设置分页信息 CommonPage resultPage = new CommonPage<>(); resultPage.setPageNum(orderPage.getPageNum()); resultPage.setPageSize(orderPage.getPageSize()); resultPage.setTotal(orderPage.getTotal()); resultPage.setTotalPage(orderPage.getTotalPage()); if(CollUtil.isEmpty(orderList)){ return resultPage; } //设置数据信息 List orderIds = orderList.stream().map(OmsOrder::getId).collect(Collectors.toList()); OmsOrderItemExample orderItemExample = new OmsOrderItemExample(); orderItemExample.createCriteria().andOrderIdIn(orderIds); List orderItemList = orderItemMapper.selectByExample(orderItemExample); List orderDetailList = new ArrayList<>(); for (OmsOrder omsOrder : orderList) { OmsOrderDetail orderDetail = new OmsOrderDetail(); BeanUtil.copyProperties(omsOrder,orderDetail); List relatedItemList = orderItemList.stream().filter(item -> item.getOrderId().equals(orderDetail.getId())).collect(Collectors.toList()); orderDetail.setOrderItemList(relatedItemList); orderDetailList.add(orderDetail); } resultPage.setList(orderDetailList); return resultPage; } @Override public OmsOrderDetail detail(Long orderId) { OmsOrder omsOrder = orderMapper.selectByPrimaryKey(orderId); OmsOrderItemExample example = new OmsOrderItemExample(); example.createCriteria().andOrderIdEqualTo(orderId); List orderItemList = orderItemMapper.selectByExample(example); OmsOrderDetail orderDetail = new OmsOrderDetail(); BeanUtil.copyProperties(omsOrder,orderDetail); orderDetail.setOrderItemList(orderItemList); return orderDetail; } @Override public void deleteOrder(Long orderId) { UmsMember member = memberService.getCurrentMember(); OmsOrder order = orderMapper.selectByPrimaryKey(orderId); if(!member.getId().equals(order.getMemberId())){ Asserts.fail("不能删除他人订单!"); } if(order.getStatus()==3||order.getStatus()==4){ order.setDeleteStatus(1); orderMapper.updateByPrimaryKey(order); }else{ Asserts.fail("只能删除已完成或已关闭的订单!"); } } @Override public void paySuccessByOrderSn(String orderSn, Integer payType) { OmsOrderExample example = new OmsOrderExample(); example.createCriteria() .andOrderSnEqualTo(orderSn) .andStatusEqualTo(0) .andDeleteStatusEqualTo(0); List orderList = orderMapper.selectByExample(example); if(CollUtil.isNotEmpty(orderList)){ OmsOrder order = orderList.get(0); paySuccess(order.getId(),payType); } } /** * 生成18位订单编号:8位日期+2位平台号码+2位支付方式+6位以上自增id */ private String generateOrderSn(OmsOrder order) { StringBuilder sb = new StringBuilder(); String date = new SimpleDateFormat("yyyyMMdd").format(new Date()); String key = REDIS_DATABASE+":"+ REDIS_KEY_ORDER_ID + date; Long increment = redisService.incr(key, 1); sb.append(date); sb.append(String.format("%02d", order.getSourceType())); sb.append(String.format("%02d", order.getPayType())); String incrementStr = increment.toString(); if (incrementStr.length() <= 6) { sb.append(String.format("%06d", increment)); } else { sb.append(incrementStr); } return sb.toString(); } /** * 删除下单商品的购物车信息 */ private void deleteCartItemList(List cartPromotionItemList, UmsMember currentMember) { List ids = new ArrayList<>(); for (CartPromotionItem cartPromotionItem : cartPromotionItemList) { ids.add(cartPromotionItem.getId()); } cartItemService.delete(currentMember.getId(), ids); } /** * 计算该订单赠送的成长值 */ private Integer calcGiftGrowth(List orderItemList) { Integer sum = 0; for (OmsOrderItem orderItem : orderItemList) { sum = sum + orderItem.getGiftGrowth() * orderItem.getProductQuantity(); } return sum; } /** * 计算该订单赠送的积分 */ private Integer calcGifIntegration(List orderItemList) { int sum = 0; for (OmsOrderItem orderItem : orderItemList) { sum += orderItem.getGiftIntegration() * orderItem.getProductQuantity(); } return sum; } /** * 将优惠券信息更改为指定状态 * * @param couponId 优惠券id * @param memberId 会员id * @param useStatus 0->未使用;1->已使用 */ private void updateCouponStatus(Long couponId, Long memberId, Integer useStatus) { if (couponId == null) return; //查询第一张优惠券 SmsCouponHistoryExample example = new SmsCouponHistoryExample(); example.createCriteria().andMemberIdEqualTo(memberId) .andCouponIdEqualTo(couponId).andUseStatusEqualTo(useStatus == 0 ? 1 : 0); List couponHistoryList = couponHistoryMapper.selectByExample(example); if (!CollectionUtils.isEmpty(couponHistoryList)) { SmsCouponHistory couponHistory = couponHistoryList.get(0); couponHistory.setUseTime(new Date()); couponHistory.setUseStatus(useStatus); couponHistoryMapper.updateByPrimaryKeySelective(couponHistory); } } private void handleRealAmount(List orderItemList) { for (OmsOrderItem orderItem : orderItemList) { //原价-促销优惠-优惠券抵扣-积分抵扣 BigDecimal realAmount = orderItem.getProductPrice() .subtract(orderItem.getPromotionAmount()) .subtract(orderItem.getCouponAmount()) .subtract(orderItem.getIntegrationAmount()); orderItem.setRealAmount(realAmount); } } /** * 获取订单促销信息 */ private String getOrderPromotionInfo(List orderItemList) { StringBuilder sb = new StringBuilder(); for (OmsOrderItem orderItem : orderItemList) { sb.append(orderItem.getPromotionName()); sb.append(";"); } String result = sb.toString(); if (result.endsWith(";")) { result = result.substring(0, result.length() - 1); } return result; } /** * 计算订单应付金额 */ private BigDecimal calcPayAmount(OmsOrder order) { //总金额+运费-促销优惠-优惠券优惠-积分抵扣 BigDecimal payAmount = order.getTotalAmount() .add(order.getFreightAmount()) .subtract(order.getPromotionAmount()) .subtract(order.getCouponAmount()) .subtract(order.getIntegrationAmount()); return payAmount; } /** * 计算订单优惠券金额 */ private BigDecimal calcIntegrationAmount(List orderItemList) { BigDecimal integrationAmount = new BigDecimal(0); for (OmsOrderItem orderItem : orderItemList) { if (orderItem.getIntegrationAmount() != null) { integrationAmount = integrationAmount.add(orderItem.getIntegrationAmount().multiply(new BigDecimal(orderItem.getProductQuantity()))); } } return integrationAmount; } /** * 计算订单优惠券金额 */ private BigDecimal calcCouponAmount(List orderItemList) { BigDecimal couponAmount = new BigDecimal(0); for (OmsOrderItem orderItem : orderItemList) { if (orderItem.getCouponAmount() != null) { couponAmount = couponAmount.add(orderItem.getCouponAmount().multiply(new BigDecimal(orderItem.getProductQuantity()))); } } return couponAmount; } /** * 计算订单活动优惠 */ private BigDecimal calcPromotionAmount(List orderItemList) { BigDecimal promotionAmount = new BigDecimal(0); for (OmsOrderItem orderItem : orderItemList) { if (orderItem.getPromotionAmount() != null) { promotionAmount = promotionAmount.add(orderItem.getPromotionAmount().multiply(new BigDecimal(orderItem.getProductQuantity()))); } } return promotionAmount; } /** * 获取可用积分抵扣金额 * * @param useIntegration 使用的积分数量 * @param totalAmount 订单总金额 * @param currentMember 使用的用户 * @param hasCoupon 是否已经使用优惠券 */ private BigDecimal getUseIntegrationAmount(Integer useIntegration, BigDecimal totalAmount, UmsMember currentMember, boolean hasCoupon) { BigDecimal zeroAmount = new BigDecimal(0); //判断用户是否有这么多积分 if (useIntegration.compareTo(currentMember.getIntegration()) > 0) { return zeroAmount; } //根据积分使用规则判断是否可用 //是否可与优惠券共用 UmsIntegrationConsumeSetting integrationConsumeSetting = integrationConsumeSettingMapper.selectByPrimaryKey(1L); if (hasCoupon && integrationConsumeSetting.getCouponStatus().equals(0)) { //不可与优惠券共用 return zeroAmount; } //是否达到最低使用积分门槛 if (useIntegration.compareTo(integrationConsumeSetting.getUseUnit()) < 0) { return zeroAmount; } //是否超过订单抵用最高百分比 BigDecimal integrationAmount = new BigDecimal(useIntegration).divide(new BigDecimal(integrationConsumeSetting.getUseUnit()), 2, RoundingMode.HALF_EVEN); BigDecimal maxPercent = new BigDecimal(integrationConsumeSetting.getMaxPercentPerOrder()).divide(new BigDecimal(100), 2, RoundingMode.HALF_EVEN); if (integrationAmount.compareTo(totalAmount.multiply(maxPercent)) > 0) { return zeroAmount; } return integrationAmount; } /** * 对优惠券优惠进行处理 * * @param orderItemList order_item列表 * @param couponHistoryDetail 可用优惠券详情 */ private void handleCouponAmount(List orderItemList, SmsCouponHistoryDetail couponHistoryDetail) { SmsCoupon coupon = couponHistoryDetail.getCoupon(); if (coupon.getUseType().equals(0)) { //全场通用 calcPerCouponAmount(orderItemList, coupon); } else if (coupon.getUseType().equals(1)) { //指定分类 List couponOrderItemList = getCouponOrderItemByRelation(couponHistoryDetail, orderItemList, 0); calcPerCouponAmount(couponOrderItemList, coupon); } else if (coupon.getUseType().equals(2)) { //指定商品 List couponOrderItemList = getCouponOrderItemByRelation(couponHistoryDetail, orderItemList, 1); calcPerCouponAmount(couponOrderItemList, coupon); } } /** * 对每个下单商品进行优惠券金额分摊的计算 * * @param orderItemList 可用优惠券的下单商品商品 */ private void calcPerCouponAmount(List orderItemList, SmsCoupon coupon) { BigDecimal totalAmount = calcTotalAmount(orderItemList); for (OmsOrderItem orderItem : orderItemList) { //(商品价格/可用商品总价)*优惠券面额 BigDecimal couponAmount = orderItem.getProductPrice().divide(totalAmount, 3, RoundingMode.HALF_EVEN).multiply(coupon.getAmount()); orderItem.setCouponAmount(couponAmount); } } /** * 获取与优惠券有关系的下单商品 * * @param couponHistoryDetail 优惠券详情 * @param orderItemList 下单商品 * @param type 使用关系类型:0->相关分类;1->指定商品 */ private List getCouponOrderItemByRelation(SmsCouponHistoryDetail couponHistoryDetail, List orderItemList, int type) { List result = new ArrayList<>(); if (type == 0) { List categoryIdList = new ArrayList<>(); for (SmsCouponProductCategoryRelation productCategoryRelation : couponHistoryDetail.getCategoryRelationList()) { categoryIdList.add(productCategoryRelation.getProductCategoryId()); } for (OmsOrderItem orderItem : orderItemList) { if (categoryIdList.contains(orderItem.getProductCategoryId())) { result.add(orderItem); } else { orderItem.setCouponAmount(new BigDecimal(0)); } } } else if (type == 1) { List productIdList = new ArrayList<>(); for (SmsCouponProductRelation productRelation : couponHistoryDetail.getProductRelationList()) { productIdList.add(productRelation.getProductId()); } for (OmsOrderItem orderItem : orderItemList) { if (productIdList.contains(orderItem.getProductId())) { result.add(orderItem); } else { orderItem.setCouponAmount(new BigDecimal(0)); } } } return result; } /** * 获取该用户可以使用的优惠券 * * @param cartPromotionItemList 购物车优惠列表 * @param couponId 使用优惠券id */ private SmsCouponHistoryDetail getUseCoupon(List cartPromotionItemList, Long couponId) { List couponHistoryDetailList = memberCouponService.listCart(cartPromotionItemList, 1); for (SmsCouponHistoryDetail couponHistoryDetail : couponHistoryDetailList) { if (couponHistoryDetail.getCoupon().getId().equals(couponId)) { return couponHistoryDetail; } } return null; } /** * 计算总金额 */ private BigDecimal calcTotalAmount(List orderItemList) { BigDecimal totalAmount = new BigDecimal("0"); for (OmsOrderItem item : orderItemList) { totalAmount = totalAmount.add(item.getProductPrice().multiply(new BigDecimal(item.getProductQuantity()))); } return totalAmount; } /** * 锁定下单商品的所有库存 */ private void lockStock(List cartPromotionItemList) { for (CartPromotionItem cartPromotionItem : cartPromotionItemList) { PmsSkuStock skuStock = skuStockMapper.selectByPrimaryKey(cartPromotionItem.getProductSkuId()); skuStock.setLockStock(skuStock.getLockStock() + cartPromotionItem.getQuantity()); skuStockMapper.updateByPrimaryKeySelective(skuStock); } } /** * 判断下单商品是否都有库存 */ private boolean hasStock(List cartPromotionItemList) { for (CartPromotionItem cartPromotionItem : cartPromotionItemList) { if (cartPromotionItem.getRealStock()==null //判断真实库存是否为空 ||cartPromotionItem.getRealStock() <= 0 //判断真实库存是否小于0 || cartPromotionItem.getRealStock() < cartPromotionItem.getQuantity()) //判断真实库存是否小于下单的数量 { return false; } } return true; } /** * 计算购物车中商品的价格 */ private ConfirmOrderResult.CalcAmount calcCartAmount(List cartPromotionItemList) { ConfirmOrderResult.CalcAmount calcAmount = new ConfirmOrderResult.CalcAmount(); calcAmount.setFreightAmount(new BigDecimal(0)); BigDecimal totalAmount = new BigDecimal("0"); BigDecimal promotionAmount = new BigDecimal("0"); for (CartPromotionItem cartPromotionItem : cartPromotionItemList) { totalAmount = totalAmount.add(cartPromotionItem.getPrice().multiply(new BigDecimal(cartPromotionItem.getQuantity()))); promotionAmount = promotionAmount.add(cartPromotionItem.getReduceAmount().multiply(new BigDecimal(cartPromotionItem.getQuantity()))); } calcAmount.setTotalAmount(totalAmount); calcAmount.setPromotionAmount(promotionAmount); calcAmount.setPayAmount(totalAmount.subtract(promotionAmount)); return calcAmount; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsPromotionServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.macro.mall.model.OmsCartItem; import com.macro.mall.model.PmsProductFullReduction; import com.macro.mall.model.PmsProductLadder; import com.macro.mall.model.PmsSkuStock; import com.macro.mall.portal.dao.PortalProductDao; import com.macro.mall.portal.domain.CartPromotionItem; import com.macro.mall.portal.domain.PromotionProduct; import com.macro.mall.portal.service.OmsPromotionService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; /** * Created by macro on 2018/8/27. * 促销管理Service实现类 */ @Service public class OmsPromotionServiceImpl implements OmsPromotionService { @Autowired private PortalProductDao portalProductDao; @Override public List calcCartPromotion(List cartItemList) { //1.先根据productId对CartItem进行分组,以spu为单位进行计算优惠 Map> productCartMap = groupCartItemBySpu(cartItemList); //2.查询所有商品的优惠相关信息 List promotionProductList = getPromotionProductList(cartItemList); //3.根据商品促销类型计算商品促销优惠价格 List cartPromotionItemList = new ArrayList<>(); for (Map.Entry> entry : productCartMap.entrySet()) { Long productId = entry.getKey(); PromotionProduct promotionProduct = getPromotionProductById(productId, promotionProductList); List itemList = entry.getValue(); Integer promotionType = promotionProduct.getPromotionType(); if (promotionType == 1) { //单品促销 for (OmsCartItem item : itemList) { CartPromotionItem cartPromotionItem = new CartPromotionItem(); BeanUtils.copyProperties(item,cartPromotionItem); cartPromotionItem.setPromotionMessage("单品促销"); //商品原价-促销价 PmsSkuStock skuStock = getOriginalPrice(promotionProduct, item.getProductSkuId()); BigDecimal originalPrice = skuStock.getPrice(); //单品促销使用原价 cartPromotionItem.setPrice(originalPrice); cartPromotionItem.setReduceAmount(originalPrice.subtract(skuStock.getPromotionPrice())); cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock()); cartPromotionItem.setIntegration(promotionProduct.getGiftPoint()); cartPromotionItem.setGrowth(promotionProduct.getGiftGrowth()); cartPromotionItemList.add(cartPromotionItem); } } else if (promotionType == 3) { //打折优惠 int count = getCartItemCount(itemList); PmsProductLadder ladder = getProductLadder(count, promotionProduct.getProductLadderList()); if(ladder!=null){ for (OmsCartItem item : itemList) { CartPromotionItem cartPromotionItem = new CartPromotionItem(); BeanUtils.copyProperties(item,cartPromotionItem); String message = getLadderPromotionMessage(ladder); cartPromotionItem.setPromotionMessage(message); //商品原价-折扣*商品原价 PmsSkuStock skuStock = getOriginalPrice(promotionProduct,item.getProductSkuId()); BigDecimal originalPrice = skuStock.getPrice(); BigDecimal reduceAmount = originalPrice.subtract(ladder.getDiscount().multiply(originalPrice)); cartPromotionItem.setReduceAmount(reduceAmount); cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock()); cartPromotionItem.setIntegration(promotionProduct.getGiftPoint()); cartPromotionItem.setGrowth(promotionProduct.getGiftGrowth()); cartPromotionItemList.add(cartPromotionItem); } }else{ handleNoReduce(cartPromotionItemList,itemList,promotionProduct); } } else if (promotionType == 4) { //满减 BigDecimal totalAmount= getCartItemAmount(itemList,promotionProductList); PmsProductFullReduction fullReduction = getProductFullReduction(totalAmount,promotionProduct.getProductFullReductionList()); if(fullReduction!=null){ for (OmsCartItem item : itemList) { CartPromotionItem cartPromotionItem = new CartPromotionItem(); BeanUtils.copyProperties(item,cartPromotionItem); String message = getFullReductionPromotionMessage(fullReduction); cartPromotionItem.setPromotionMessage(message); //(商品原价/总价)*满减金额 PmsSkuStock skuStock= getOriginalPrice(promotionProduct, item.getProductSkuId()); BigDecimal originalPrice = skuStock.getPrice(); BigDecimal reduceAmount = originalPrice.divide(totalAmount,RoundingMode.HALF_EVEN).multiply(fullReduction.getReducePrice()); cartPromotionItem.setReduceAmount(reduceAmount); cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock()); cartPromotionItem.setIntegration(promotionProduct.getGiftPoint()); cartPromotionItem.setGrowth(promotionProduct.getGiftGrowth()); cartPromotionItemList.add(cartPromotionItem); } }else{ handleNoReduce(cartPromotionItemList,itemList,promotionProduct); } } else { //无优惠 handleNoReduce(cartPromotionItemList, itemList,promotionProduct); } } return cartPromotionItemList; } /** * 查询所有商品的优惠相关信息 */ private List getPromotionProductList(List cartItemList) { List productIdList = new ArrayList<>(); for(OmsCartItem cartItem:cartItemList){ productIdList.add(cartItem.getProductId()); } return portalProductDao.getPromotionProductList(productIdList); } /** * 以spu为单位对购物车中商品进行分组 */ private Map> groupCartItemBySpu(List cartItemList) { Map> productCartMap = new TreeMap<>(); for (OmsCartItem cartItem : cartItemList) { List productCartItemList = productCartMap.get(cartItem.getProductId()); if (productCartItemList == null) { productCartItemList = new ArrayList<>(); productCartItemList.add(cartItem); productCartMap.put(cartItem.getProductId(), productCartItemList); } else { productCartItemList.add(cartItem); } } return productCartMap; } /** * 获取满减促销消息 */ private String getFullReductionPromotionMessage(PmsProductFullReduction fullReduction) { StringBuilder sb = new StringBuilder(); sb.append("满减优惠:"); sb.append("满"); sb.append(fullReduction.getFullPrice()); sb.append("元,"); sb.append("减"); sb.append(fullReduction.getReducePrice()); sb.append("元"); return sb.toString(); } /** * 对没满足优惠条件的商品进行处理 */ private void handleNoReduce(List cartPromotionItemList, List itemList,PromotionProduct promotionProduct) { for (OmsCartItem item : itemList) { CartPromotionItem cartPromotionItem = new CartPromotionItem(); BeanUtils.copyProperties(item,cartPromotionItem); cartPromotionItem.setPromotionMessage("无优惠"); cartPromotionItem.setReduceAmount(new BigDecimal(0)); PmsSkuStock skuStock = getOriginalPrice(promotionProduct,item.getProductSkuId()); if(skuStock!=null){ cartPromotionItem.setRealStock(skuStock.getStock()-skuStock.getLockStock()); } cartPromotionItem.setIntegration(promotionProduct.getGiftPoint()); cartPromotionItem.setGrowth(promotionProduct.getGiftGrowth()); cartPromotionItemList.add(cartPromotionItem); } } private PmsProductFullReduction getProductFullReduction(BigDecimal totalAmount,List fullReductionList) { //按条件从高到低排序 fullReductionList.sort(new Comparator() { @Override public int compare(PmsProductFullReduction o1, PmsProductFullReduction o2) { return o2.getFullPrice().subtract(o1.getFullPrice()).intValue(); } }); for(PmsProductFullReduction fullReduction:fullReductionList){ if(totalAmount.subtract(fullReduction.getFullPrice()).intValue()>=0){ return fullReduction; } } return null; } /** * 获取打折优惠的促销信息 */ private String getLadderPromotionMessage(PmsProductLadder ladder) { StringBuilder sb = new StringBuilder(); sb.append("打折优惠:"); sb.append("满"); sb.append(ladder.getCount()); sb.append("件,"); sb.append("打"); sb.append(ladder.getDiscount().multiply(new BigDecimal(10))); sb.append("折"); return sb.toString(); } /** * 根据购买商品数量获取满足条件的打折优惠策略 */ private PmsProductLadder getProductLadder(int count, List productLadderList) { //按数量从大到小排序 productLadderList.sort(new Comparator() { @Override public int compare(PmsProductLadder o1, PmsProductLadder o2) { return o2.getCount() - o1.getCount(); } }); for (PmsProductLadder productLadder : productLadderList) { if (count >= productLadder.getCount()) { return productLadder; } } return null; } /** * 获取购物车中指定商品的数量 */ private int getCartItemCount(List itemList) { int count = 0; for (OmsCartItem item : itemList) { count += item.getQuantity(); } return count; } /** * 获取购物车中指定商品的总价 */ private BigDecimal getCartItemAmount(List itemList, List promotionProductList) { BigDecimal amount = new BigDecimal(0); for (OmsCartItem item : itemList) { //计算出商品原价 PromotionProduct promotionProduct = getPromotionProductById(item.getProductId(), promotionProductList); PmsSkuStock skuStock = getOriginalPrice(promotionProduct,item.getProductSkuId()); amount = amount.add(skuStock.getPrice().multiply(new BigDecimal(item.getQuantity()))); } return amount; } /** * 获取商品的原价 */ private PmsSkuStock getOriginalPrice(PromotionProduct promotionProduct, Long productSkuId) { for (PmsSkuStock skuStock : promotionProduct.getSkuStockList()) { if (productSkuId.equals(skuStock.getId())) { return skuStock; } } return null; } /** * 根据商品id获取商品的促销信息 */ private PromotionProduct getPromotionProductById(Long productId, List promotionProductList) { for (PromotionProduct promotionProduct : promotionProductList) { if (productId.equals(promotionProduct.getId())) { return promotionProduct; } } return null; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/PmsPortalProductServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.macro.mall.mapper.*; import com.macro.mall.model.*; import com.macro.mall.portal.dao.PortalProductDao; import com.macro.mall.portal.domain.PmsPortalProductDetail; import com.macro.mall.portal.domain.PmsProductCategoryNode; import com.macro.mall.portal.service.PmsPortalProductService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * 前台订单管理Service实现类 * Created by macro on 2020/4/6. */ @Service public class PmsPortalProductServiceImpl implements PmsPortalProductService { @Autowired private PmsProductMapper productMapper; @Autowired private PmsProductCategoryMapper productCategoryMapper; @Autowired private PmsBrandMapper brandMapper; @Autowired private PmsProductAttributeMapper productAttributeMapper; @Autowired private PmsProductAttributeValueMapper productAttributeValueMapper; @Autowired private PmsSkuStockMapper skuStockMapper; @Autowired private PmsProductLadderMapper productLadderMapper; @Autowired private PmsProductFullReductionMapper productFullReductionMapper; @Autowired private PortalProductDao portalProductDao; @Override public List search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize, Integer sort) { PageHelper.startPage(pageNum, pageSize); PmsProductExample example = new PmsProductExample(); PmsProductExample.Criteria criteria = example.createCriteria(); criteria.andDeleteStatusEqualTo(0); if (StrUtil.isNotEmpty(keyword)) { criteria.andNameLike("%" + keyword + "%"); } if (brandId != null) { criteria.andBrandIdEqualTo(brandId); } if (productCategoryId != null) { criteria.andProductCategoryIdEqualTo(productCategoryId); } //1->按新品;2->按销量;3->价格从低到高;4->价格从高到低 if (sort == 1) { example.setOrderByClause("id desc"); } else if (sort == 2) { example.setOrderByClause("sale desc"); } else if (sort == 3) { example.setOrderByClause("price asc"); } else if (sort == 4) { example.setOrderByClause("price desc"); } return productMapper.selectByExample(example); } @Override public List categoryTreeList() { PmsProductCategoryExample example = new PmsProductCategoryExample(); List allList = productCategoryMapper.selectByExample(example); List result = allList.stream() .filter(item -> item.getParentId().equals(0L)) .map(item -> covert(item, allList)).collect(Collectors.toList()); return result; } @Override public PmsPortalProductDetail detail(Long id) { PmsPortalProductDetail result = new PmsPortalProductDetail(); //获取商品信息 PmsProduct product = productMapper.selectByPrimaryKey(id); result.setProduct(product); //获取品牌信息 PmsBrand brand = brandMapper.selectByPrimaryKey(product.getBrandId()); result.setBrand(brand); //获取商品属性信息 PmsProductAttributeExample attributeExample = new PmsProductAttributeExample(); attributeExample.createCriteria().andProductAttributeCategoryIdEqualTo(product.getProductAttributeCategoryId()); List productAttributeList = productAttributeMapper.selectByExample(attributeExample); result.setProductAttributeList(productAttributeList); //获取商品属性值信息 if(CollUtil.isNotEmpty(productAttributeList)){ List attributeIds = productAttributeList.stream().map(PmsProductAttribute::getId).collect(Collectors.toList()); PmsProductAttributeValueExample attributeValueExample = new PmsProductAttributeValueExample(); attributeValueExample.createCriteria().andProductIdEqualTo(product.getId()) .andProductAttributeIdIn(attributeIds); List productAttributeValueList = productAttributeValueMapper.selectByExample(attributeValueExample); result.setProductAttributeValueList(productAttributeValueList); } //获取商品SKU库存信息 PmsSkuStockExample skuExample = new PmsSkuStockExample(); skuExample.createCriteria().andProductIdEqualTo(product.getId()); List skuStockList = skuStockMapper.selectByExample(skuExample); result.setSkuStockList(skuStockList); //商品阶梯价格设置 if(product.getPromotionType()==3){ PmsProductLadderExample ladderExample = new PmsProductLadderExample(); ladderExample.createCriteria().andProductIdEqualTo(product.getId()); List productLadderList = productLadderMapper.selectByExample(ladderExample); result.setProductLadderList(productLadderList); } //商品满减价格设置 if(product.getPromotionType()==4){ PmsProductFullReductionExample fullReductionExample = new PmsProductFullReductionExample(); fullReductionExample.createCriteria().andProductIdEqualTo(product.getId()); List productFullReductionList = productFullReductionMapper.selectByExample(fullReductionExample); result.setProductFullReductionList(productFullReductionList); } //商品可用优惠券 result.setCouponList(portalProductDao.getAvailableCouponList(product.getId(),product.getProductCategoryId())); return result; } /** * 初始对象转化为节点对象 */ private PmsProductCategoryNode covert(PmsProductCategory item, List allList) { PmsProductCategoryNode node = new PmsProductCategoryNode(); BeanUtils.copyProperties(item, node); List children = allList.stream() .filter(subItem -> subItem.getParentId().equals(item.getId())) .map(subItem -> covert(subItem, allList)).collect(Collectors.toList()); node.setChildren(children); return node; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/PortalBrandServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.github.pagehelper.PageHelper; import com.macro.mall.common.api.CommonPage; import com.macro.mall.mapper.PmsBrandMapper; import com.macro.mall.mapper.PmsProductMapper; import com.macro.mall.model.PmsBrand; import com.macro.mall.model.PmsProduct; import com.macro.mall.model.PmsProductExample; import com.macro.mall.portal.dao.HomeDao; import com.macro.mall.portal.service.PortalBrandService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 前台品牌管理Service实现类 * Created by macro on 2020/5/15. */ @Service public class PortalBrandServiceImpl implements PortalBrandService { @Autowired private HomeDao homeDao; @Autowired private PmsBrandMapper brandMapper; @Autowired private PmsProductMapper productMapper; @Override public List recommendList(Integer pageNum, Integer pageSize) { int offset = (pageNum - 1) * pageSize; return homeDao.getRecommendBrandList(offset, pageSize); } @Override public PmsBrand detail(Long brandId) { return brandMapper.selectByPrimaryKey(brandId); } @Override public CommonPage productList(Long brandId, Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum,pageSize); PmsProductExample example = new PmsProductExample(); example.createCriteria().andDeleteStatusEqualTo(0) .andBrandIdEqualTo(brandId); List productList = productMapper.selectByExample(example); return CommonPage.restPage(productList); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberCacheServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.macro.mall.common.annotation.CacheException; import com.macro.mall.common.service.RedisService; import com.macro.mall.mapper.UmsMemberMapper; import com.macro.mall.model.UmsMember; import com.macro.mall.portal.service.UmsMemberCacheService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; /** * UmsMemberCacheService实现类 * Created by macro on 2020/3/14. */ @Service public class UmsMemberCacheServiceImpl implements UmsMemberCacheService { @Autowired private RedisService redisService; @Value("${redis.database}") private String REDIS_DATABASE; @Value("${redis.expire.common}") private Long REDIS_EXPIRE; @Value("${redis.expire.authCode}") private Long REDIS_EXPIRE_AUTH_CODE; @Value("${redis.key.member}") private String REDIS_KEY_MEMBER; @Value("${redis.key.authCode}") private String REDIS_KEY_AUTH_CODE; @Override public void delMember(Long memberId) { String key = REDIS_DATABASE + ":" + REDIS_KEY_MEMBER + ":" + memberId; redisService.del(key); } @Override public UmsMember getMember(Long memberId) { String key = REDIS_DATABASE + ":" + REDIS_KEY_MEMBER + ":" + memberId; return (UmsMember) redisService.get(key); } @Override public void setMember(UmsMember member) { String key = REDIS_DATABASE + ":" + REDIS_KEY_MEMBER + ":" + member.getId(); redisService.set(key, member, REDIS_EXPIRE); } @CacheException @Override public void setAuthCode(String telephone, String authCode) { String key = REDIS_DATABASE + ":" + REDIS_KEY_AUTH_CODE + ":" + telephone; redisService.set(key, authCode, REDIS_EXPIRE_AUTH_CODE); } @CacheException @Override public String getAuthCode(String telephone) { String key = REDIS_DATABASE + ":" + REDIS_KEY_AUTH_CODE + ":" + telephone; return (String) redisService.get(key); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberCouponServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import cn.hutool.core.collection.CollUtil; import com.macro.mall.common.exception.Asserts; import com.macro.mall.mapper.*; import com.macro.mall.model.*; import com.macro.mall.portal.dao.SmsCouponHistoryDao; import com.macro.mall.portal.domain.CartPromotionItem; import com.macro.mall.portal.domain.SmsCouponHistoryDetail; import com.macro.mall.portal.service.UmsMemberCouponService; import com.macro.mall.portal.service.UmsMemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Random; import java.util.stream.Collectors; /** * 会员优惠券管理Service实现类 * Created by macro on 2018/8/29. */ @Service public class UmsMemberCouponServiceImpl implements UmsMemberCouponService { @Autowired private UmsMemberService memberService; @Autowired private SmsCouponMapper couponMapper; @Autowired private SmsCouponHistoryMapper couponHistoryMapper; @Autowired private SmsCouponHistoryDao couponHistoryDao; @Autowired private SmsCouponProductRelationMapper couponProductRelationMapper; @Autowired private SmsCouponProductCategoryRelationMapper couponProductCategoryRelationMapper; @Autowired private PmsProductMapper productMapper; @Override public void add(Long couponId) { UmsMember currentMember = memberService.getCurrentMember(); //获取优惠券信息,判断数量 SmsCoupon coupon = couponMapper.selectByPrimaryKey(couponId); if(coupon==null){ Asserts.fail("优惠券不存在"); } if(coupon.getCount()<=0){ Asserts.fail("优惠券已经领完了"); } Date now = new Date(); if(now.before(coupon.getEnableTime())){ Asserts.fail("优惠券还没到领取时间"); } //判断用户领取的优惠券数量是否超过限制 SmsCouponHistoryExample couponHistoryExample = new SmsCouponHistoryExample(); couponHistoryExample.createCriteria().andCouponIdEqualTo(couponId).andMemberIdEqualTo(currentMember.getId()); long count = couponHistoryMapper.countByExample(couponHistoryExample); if(count>=coupon.getPerLimit()){ Asserts.fail("您已经领取过该优惠券"); } //生成领取优惠券历史 SmsCouponHistory couponHistory = new SmsCouponHistory(); couponHistory.setCouponId(couponId); couponHistory.setCouponCode(generateCouponCode(currentMember.getId())); couponHistory.setCreateTime(now); couponHistory.setMemberId(currentMember.getId()); couponHistory.setMemberNickname(currentMember.getNickname()); //主动领取 couponHistory.setGetType(1); //未使用 couponHistory.setUseStatus(0); couponHistoryMapper.insert(couponHistory); //修改优惠券表的数量、领取数量 coupon.setCount(coupon.getCount()-1); coupon.setReceiveCount(coupon.getReceiveCount()==null?1:coupon.getReceiveCount()+1); couponMapper.updateByPrimaryKey(coupon); } /** * 16位优惠码生成:时间戳后8位+4位随机数+用户id后4位 */ private String generateCouponCode(Long memberId) { StringBuilder sb = new StringBuilder(); Long currentTimeMillis = System.currentTimeMillis(); String timeMillisStr = currentTimeMillis.toString(); sb.append(timeMillisStr.substring(timeMillisStr.length() - 8)); for (int i = 0; i < 4; i++) { sb.append(new Random().nextInt(10)); } String memberIdStr = memberId.toString(); if (memberIdStr.length() <= 4) { sb.append(String.format("%04d", memberId)); } else { sb.append(memberIdStr.substring(memberIdStr.length()-4)); } return sb.toString(); } @Override public List listHistory(Integer useStatus) { UmsMember currentMember = memberService.getCurrentMember(); SmsCouponHistoryExample couponHistoryExample=new SmsCouponHistoryExample(); SmsCouponHistoryExample.Criteria criteria = couponHistoryExample.createCriteria(); criteria.andMemberIdEqualTo(currentMember.getId()); if(useStatus!=null){ criteria.andUseStatusEqualTo(useStatus); } return couponHistoryMapper.selectByExample(couponHistoryExample); } @Override public List listCart(List cartItemList, Integer type) { UmsMember currentMember = memberService.getCurrentMember(); Date now = new Date(); //获取该用户所有优惠券 List allList = couponHistoryDao.getDetailList(currentMember.getId()); //根据优惠券使用类型来判断优惠券是否可用 List enableList = new ArrayList<>(); List disableList = new ArrayList<>(); for (SmsCouponHistoryDetail couponHistoryDetail : allList) { Integer useType = couponHistoryDetail.getCoupon().getUseType(); BigDecimal minPoint = couponHistoryDetail.getCoupon().getMinPoint(); Date endTime = couponHistoryDetail.getCoupon().getEndTime(); if(useType.equals(0)){ //0->全场通用 //判断是否满足优惠起点 //计算购物车商品的总价 BigDecimal totalAmount = calcTotalAmount(cartItemList); if(now.before(endTime)&&totalAmount.subtract(minPoint).intValue()>=0){ enableList.add(couponHistoryDetail); }else{ disableList.add(couponHistoryDetail); } }else if(useType.equals(1)){ //1->指定分类 //计算指定分类商品的总价 List productCategoryIds = new ArrayList<>(); for (SmsCouponProductCategoryRelation categoryRelation : couponHistoryDetail.getCategoryRelationList()) { productCategoryIds.add(categoryRelation.getProductCategoryId()); } BigDecimal totalAmount = calcTotalAmountByproductCategoryId(cartItemList,productCategoryIds); if(now.before(endTime)&&totalAmount.intValue()>0&&totalAmount.subtract(minPoint).intValue()>=0){ enableList.add(couponHistoryDetail); }else{ disableList.add(couponHistoryDetail); } }else if(useType.equals(2)){ //2->指定商品 //计算指定商品的总价 List productIds = new ArrayList<>(); for (SmsCouponProductRelation productRelation : couponHistoryDetail.getProductRelationList()) { productIds.add(productRelation.getProductId()); } BigDecimal totalAmount = calcTotalAmountByProductId(cartItemList,productIds); if(now.before(endTime)&&totalAmount.intValue()>0&&totalAmount.subtract(minPoint).intValue()>=0){ enableList.add(couponHistoryDetail); }else{ disableList.add(couponHistoryDetail); } } } if(type.equals(1)){ return enableList; }else{ return disableList; } } @Override public List listByProduct(Long productId) { List allCouponIds = new ArrayList<>(); //获取指定商品优惠券 SmsCouponProductRelationExample cprExample = new SmsCouponProductRelationExample(); cprExample.createCriteria().andProductIdEqualTo(productId); List cprList = couponProductRelationMapper.selectByExample(cprExample); if(CollUtil.isNotEmpty(cprList)){ List couponIds = cprList.stream().map(SmsCouponProductRelation::getCouponId).collect(Collectors.toList()); allCouponIds.addAll(couponIds); } //获取指定分类优惠券 PmsProduct product = productMapper.selectByPrimaryKey(productId); SmsCouponProductCategoryRelationExample cpcrExample = new SmsCouponProductCategoryRelationExample(); cpcrExample.createCriteria().andProductCategoryIdEqualTo(product.getProductCategoryId()); List cpcrList = couponProductCategoryRelationMapper.selectByExample(cpcrExample); if(CollUtil.isNotEmpty(cpcrList)){ List couponIds = cpcrList.stream().map(SmsCouponProductCategoryRelation::getCouponId).collect(Collectors.toList()); allCouponIds.addAll(couponIds); } if(CollUtil.isEmpty(allCouponIds)){ return new ArrayList<>(); } //所有优惠券 SmsCouponExample couponExample = new SmsCouponExample(); couponExample.createCriteria().andEndTimeGreaterThan(new Date()) .andStartTimeLessThan(new Date()) .andUseTypeEqualTo(0); couponExample.or(couponExample.createCriteria() .andEndTimeGreaterThan(new Date()) .andStartTimeLessThan(new Date()) .andUseTypeNotEqualTo(0) .andIdIn(allCouponIds)); return couponMapper.selectByExample(couponExample); } @Override public List list(Integer useStatus) { UmsMember member = memberService.getCurrentMember(); return couponHistoryDao.getCouponList(member.getId(),useStatus); } private BigDecimal calcTotalAmount(List cartItemList) { BigDecimal total = new BigDecimal("0"); for (CartPromotionItem item : cartItemList) { BigDecimal realPrice = item.getPrice().subtract(item.getReduceAmount()); total=total.add(realPrice.multiply(new BigDecimal(item.getQuantity()))); } return total; } private BigDecimal calcTotalAmountByproductCategoryId(List cartItemList,List productCategoryIds) { BigDecimal total = new BigDecimal("0"); for (CartPromotionItem item : cartItemList) { if(productCategoryIds.contains(item.getProductCategoryId())){ BigDecimal realPrice = item.getPrice().subtract(item.getReduceAmount()); total=total.add(realPrice.multiply(new BigDecimal(item.getQuantity()))); } } return total; } private BigDecimal calcTotalAmountByProductId(List cartItemList,List productIds) { BigDecimal total = new BigDecimal("0"); for (CartPromotionItem item : cartItemList) { if(productIds.contains(item.getProductId())){ BigDecimal realPrice = item.getPrice().subtract(item.getReduceAmount()); total=total.add(realPrice.multiply(new BigDecimal(item.getQuantity()))); } } return total; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberReceiveAddressServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import com.macro.mall.mapper.UmsMemberReceiveAddressMapper; import com.macro.mall.model.UmsMember; import com.macro.mall.model.UmsMemberReceiveAddress; import com.macro.mall.model.UmsMemberReceiveAddressExample; import com.macro.mall.portal.service.UmsMemberReceiveAddressService; import com.macro.mall.portal.service.UmsMemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; /** * 用户地址管理Service实现类 * Created by macro on 2018/8/28. */ @Service public class UmsMemberReceiveAddressServiceImpl implements UmsMemberReceiveAddressService { @Autowired private UmsMemberService memberService; @Autowired private UmsMemberReceiveAddressMapper addressMapper; @Override public int add(UmsMemberReceiveAddress address) { UmsMember currentMember = memberService.getCurrentMember(); address.setMemberId(currentMember.getId()); return addressMapper.insert(address); } @Override public int delete(Long id) { UmsMember currentMember = memberService.getCurrentMember(); UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample(); example.createCriteria().andMemberIdEqualTo(currentMember.getId()).andIdEqualTo(id); return addressMapper.deleteByExample(example); } @Override public int update(Long id, UmsMemberReceiveAddress address) { address.setId(null); UmsMember currentMember = memberService.getCurrentMember(); UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample(); example.createCriteria().andMemberIdEqualTo(currentMember.getId()).andIdEqualTo(id); if(address.getDefaultStatus()==1){ //先将原来的默认地址去除 UmsMemberReceiveAddress record= new UmsMemberReceiveAddress(); record.setDefaultStatus(0); UmsMemberReceiveAddressExample updateExample = new UmsMemberReceiveAddressExample(); updateExample.createCriteria() .andMemberIdEqualTo(currentMember.getId()) .andDefaultStatusEqualTo(1); addressMapper.updateByExampleSelective(record,updateExample); } return addressMapper.updateByExampleSelective(address,example); } @Override public List list() { UmsMember currentMember = memberService.getCurrentMember(); UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample(); example.createCriteria().andMemberIdEqualTo(currentMember.getId()); return addressMapper.selectByExample(example); } @Override public UmsMemberReceiveAddress getItem(Long id) { UmsMember currentMember = memberService.getCurrentMember(); UmsMemberReceiveAddressExample example = new UmsMemberReceiveAddressExample(); example.createCriteria().andMemberIdEqualTo(currentMember.getId()).andIdEqualTo(id); List addressList = addressMapper.selectByExample(example); if(!CollectionUtils.isEmpty(addressList)){ return addressList.get(0); } return null; } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/service/impl/UmsMemberServiceImpl.java ================================================ package com.macro.mall.portal.service.impl; import cn.dev33.satoken.stp.SaTokenInfo; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.BCrypt; import com.macro.mall.common.constant.AuthConstant; import com.macro.mall.common.dto.UserDto; import com.macro.mall.common.exception.Asserts; import com.macro.mall.mapper.UmsMemberLevelMapper; import com.macro.mall.mapper.UmsMemberMapper; import com.macro.mall.model.UmsMember; import com.macro.mall.model.UmsMemberExample; import com.macro.mall.model.UmsMemberLevel; import com.macro.mall.model.UmsMemberLevelExample; import com.macro.mall.portal.service.UmsMemberCacheService; import com.macro.mall.portal.service.UmsMemberService; import com.macro.mall.portal.util.StpMemberUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.util.Date; import java.util.List; import java.util.Random; /** * 会员管理Service实现类 * Created by macro on 2018/8/3. */ @Service public class UmsMemberServiceImpl implements UmsMemberService { private static final Logger LOGGER = LoggerFactory.getLogger(UmsMemberServiceImpl.class); @Autowired private UmsMemberMapper memberMapper; @Autowired private UmsMemberLevelMapper memberLevelMapper; @Autowired private UmsMemberCacheService memberCacheService; @Value("${redis.key.authCode}") private String REDIS_KEY_PREFIX_AUTH_CODE; @Value("${redis.expire.authCode}") private Long AUTH_CODE_EXPIRE_SECONDS; @Override public UmsMember getByUsername(String username) { UmsMemberExample example = new UmsMemberExample(); example.createCriteria().andUsernameEqualTo(username); List memberList = memberMapper.selectByExample(example); if (!CollectionUtils.isEmpty(memberList)) { return memberList.get(0); } return null; } @Override public UmsMember getById(Long id) { return memberMapper.selectByPrimaryKey(id); } @Override public void register(String username, String password, String telephone, String authCode) { //验证验证码 if(!verifyAuthCode(authCode,telephone)){ Asserts.fail("验证码错误"); } //查询是否已有该用户 UmsMemberExample example = new UmsMemberExample(); example.createCriteria().andUsernameEqualTo(username); example.or(example.createCriteria().andPhoneEqualTo(telephone)); List umsMembers = memberMapper.selectByExample(example); if (!CollectionUtils.isEmpty(umsMembers)) { Asserts.fail("该用户已经存在"); } //没有该用户进行添加操作 UmsMember umsMember = new UmsMember(); umsMember.setUsername(username); umsMember.setPhone(telephone); umsMember.setPassword(BCrypt.hashpw(password)); umsMember.setCreateTime(new Date()); umsMember.setStatus(1); //获取默认会员等级并设置 UmsMemberLevelExample levelExample = new UmsMemberLevelExample(); levelExample.createCriteria().andDefaultStatusEqualTo(1); List memberLevelList = memberLevelMapper.selectByExample(levelExample); if (!CollectionUtils.isEmpty(memberLevelList)) { umsMember.setMemberLevelId(memberLevelList.get(0).getId()); } memberMapper.insert(umsMember); umsMember.setPassword(null); } @Override public String generateAuthCode(String telephone) { StringBuilder sb = new StringBuilder(); Random random = new Random(); for(int i=0;i<6;i++){ sb.append(random.nextInt(10)); } memberCacheService.setAuthCode(telephone,sb.toString()); return sb.toString(); } @Override public void updatePassword(String telephone, String password, String authCode) { UmsMemberExample example = new UmsMemberExample(); example.createCriteria().andPhoneEqualTo(telephone); List memberList = memberMapper.selectByExample(example); if(CollectionUtils.isEmpty(memberList)){ Asserts.fail("该账号不存在"); } //验证验证码 if(!verifyAuthCode(authCode,telephone)){ Asserts.fail("验证码错误"); } UmsMember umsMember = memberList.get(0); umsMember.setPassword(BCrypt.hashpw(password)); memberMapper.updateByPrimaryKeySelective(umsMember); memberCacheService.delMember(umsMember.getId()); } @Override public UmsMember getCurrentMember() { UserDto userDto = (UserDto) StpMemberUtil.getSession().get(AuthConstant.STP_MEMBER_INFO); UmsMember member = memberCacheService.getMember(userDto.getId()); if(member!=null){ return member; }else{ member = getById(userDto.getId()); memberCacheService.setMember(member); return member; } } @Override public void updateIntegration(Long id, Integer integration) { UmsMember record=new UmsMember(); record.setId(id); record.setIntegration(integration); memberMapper.updateByPrimaryKeySelective(record); memberCacheService.delMember(id); } @Override public SaTokenInfo login(String username, String password) { if(StrUtil.isEmpty(username)||StrUtil.isEmpty(password)){ Asserts.fail("用户名或密码不能为空!"); } UmsMember member = getByUsername(username); if(member==null){ Asserts.fail("找不到该用户!"); } if (!BCrypt.checkpw(password, member.getPassword())) { Asserts.fail("密码不正确!"); } if(member.getStatus()!=1){ Asserts.fail("该账号已被禁用!"); } // 登录校验成功后,一行代码实现登录 StpMemberUtil.login(member.getId()); UserDto userDto = new UserDto(); userDto.setId(member.getId()); userDto.setUsername(member.getUsername()); userDto.setClientId(AuthConstant.PORTAL_CLIENT_ID); // 将用户信息存储到Session中 StpMemberUtil.getSession().set(AuthConstant.STP_MEMBER_INFO,userDto); // 获取当前登录用户Token信息 return StpMemberUtil.getTokenInfo(); } @Override public void logout() { //先清空缓存 UserDto userDto = (UserDto) StpMemberUtil.getSession().get(AuthConstant.STP_MEMBER_INFO); memberCacheService.delMember(userDto.getId()); //再调用sa-token的登出方法 StpMemberUtil.logout(); } //对输入的验证码进行校验 private boolean verifyAuthCode(String authCode, String telephone){ if(StringUtils.isEmpty(authCode)){ return false; } String realAuthCode = memberCacheService.getAuthCode(telephone); return authCode.equals(realAuthCode); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/util/DateUtil.java ================================================ package com.macro.mall.portal.util; import java.util.Calendar; import java.util.Date; /** * 日期工具类 * Created by macro on 2019/1/29. */ public class DateUtil { /** * 从Date类型的时间中提取日期部分 */ public static Date getDate(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); return calendar.getTime(); } /** * 从Date类型的时间中提取时间部分 */ public static Date getTime(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.YEAR, 1970); calendar.set(Calendar.MONTH, 0); calendar.set(Calendar.DAY_OF_MONTH, 1); return calendar.getTime(); } } ================================================ FILE: mall-portal/src/main/java/com/macro/mall/portal/util/StpMemberUtil.java ================================================ /* * Copyright 2020-2099 sa-token.cc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.macro.mall.portal.util; import cn.dev33.satoken.SaManager; import cn.dev33.satoken.fun.SaFunction; import cn.dev33.satoken.jwt.StpLogicJwtForSimple; import cn.dev33.satoken.listener.SaTokenEventCenter; import cn.dev33.satoken.session.SaSession; import cn.dev33.satoken.session.TokenSign; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpLogic; import java.util.List; /** * @auther macrozheng * @description 前台商城用户登录认证工具类 * 拷贝于默认的StpUtil,仅改动了TYPE和stpLogic对象 * @date 2024/1/26 * @github https://github.com/macrozheng */ public class StpMemberUtil { private StpMemberUtil() {} /** * 多账号体系下的类型标识 */ public static final String TYPE = "memberLogin"; /** * 底层使用的 StpLogic 对象 */ public static StpLogic stpLogic = new StpLogicJwtForSimple(TYPE); /** * 获取当前 StpLogic 的账号类型 * * @return / */ public static String getLoginType(){ return stpLogic.getLoginType(); } /** * 安全的重置 StpLogic 对象 * *
1、更改此账户的 StpLogic 对象 *
2、put 到全局 StpLogic 集合中 *
3、发送日志 * * @param newStpLogic / */ public static void setStpLogic(StpLogic newStpLogic) { // 1、重置此账户的 StpLogic 对象 stpLogic = newStpLogic; // 2、添加到全局 StpLogic 集合中 // 以便可以通过 SaManager.getStpLogic(type) 的方式来全局获取到这个 StpLogic SaManager.putStpLogic(newStpLogic); // 3、$$ 发布事件:更新了 stpLogic 对象 SaTokenEventCenter.doSetStpLogic(stpLogic); } /** * 获取 StpLogic 对象 * * @return / */ public static StpLogic getStpLogic() { return stpLogic; } // ------------------- 获取 token 相关 ------------------- /** * 返回 token 名称,此名称在以下地方体现:Cookie 保存 token 时的名称、提交 token 时参数的名称、存储 token 时的 key 前缀 * * @return / */ public static String getTokenName() { return stpLogic.getTokenName(); } /** * 在当前会话写入指定 token 值 * * @param tokenValue token 值 */ public static void setTokenValue(String tokenValue){ stpLogic.setTokenValue(tokenValue); } /** * 在当前会话写入指定 token 值 * * @param tokenValue token 值 * @param cookieTimeout Cookie存活时间(秒) */ public static void setTokenValue(String tokenValue, int cookieTimeout){ stpLogic.setTokenValue(tokenValue, cookieTimeout); } /** * 在当前会话写入指定 token 值 * * @param tokenValue token 值 * @param loginModel 登录参数 */ public static void setTokenValue(String tokenValue, SaLoginModel loginModel){ stpLogic.setTokenValue(tokenValue, loginModel); } /** * 获取当前请求的 token 值 * * @return 当前tokenValue */ public static String getTokenValue() { return stpLogic.getTokenValue(); } /** * 获取当前请求的 token 值 (不裁剪前缀) * * @return / */ public static String getTokenValueNotCut(){ return stpLogic.getTokenValueNotCut(); } /** * 获取当前会话的 token 参数信息 * * @return token 参数信息 */ public static SaTokenInfo getTokenInfo() { return stpLogic.getTokenInfo(); } // ------------------- 登录相关操作 ------------------- // --- 登录 /** * 会话登录 * * @param id 账号id,建议的类型:(long | int | String) */ public static void login(Object id) { stpLogic.login(id); } /** * 会话登录,并指定登录设备类型 * * @param id 账号id,建议的类型:(long | int | String) * @param device 设备类型 */ public static void login(Object id, String device) { stpLogic.login(id, device); } /** * 会话登录,并指定是否 [记住我] * * @param id 账号id,建议的类型:(long | int | String) * @param isLastingCookie 是否为持久Cookie,值为 true 时记住我,值为 false 时关闭浏览器需要重新登录 */ public static void login(Object id, boolean isLastingCookie) { stpLogic.login(id, isLastingCookie); } /** * 会话登录,并指定此次登录 token 的有效期, 单位:秒 * * @param id 账号id,建议的类型:(long | int | String) * @param timeout 此次登录 token 的有效期, 单位:秒 */ public static void login(Object id, long timeout) { stpLogic.login(id, timeout); } /** * 会话登录,并指定所有登录参数 Model * * @param id 账号id,建议的类型:(long | int | String) * @param loginModel 此次登录的参数Model */ public static void login(Object id, SaLoginModel loginModel) { stpLogic.login(id, loginModel); } /** * 创建指定账号 id 的登录会话数据 * * @param id 账号id,建议的类型:(long | int | String) * @return 返回会话令牌 */ public static String createLoginSession(Object id) { return stpLogic.createLoginSession(id); } /** * 创建指定账号 id 的登录会话数据 * * @param id 账号id,建议的类型:(long | int | String) * @param loginModel 此次登录的参数Model * @return 返回会话令牌 */ public static String createLoginSession(Object id, SaLoginModel loginModel) { return stpLogic.createLoginSession(id, loginModel); } // --- 注销 /** * 在当前客户端会话注销 */ public static void logout() { stpLogic.logout(); } /** * 会话注销,根据账号id * * @param loginId 账号id */ public static void logout(Object loginId) { stpLogic.logout(loginId); } /** * 会话注销,根据账号id 和 设备类型 * * @param loginId 账号id * @param device 设备类型 (填 null 代表注销该账号的所有设备类型) */ public static void logout(Object loginId, String device) { stpLogic.logout(loginId, device); } /** * 会话注销,根据指定 Token * * @param tokenValue 指定 token */ public static void logoutByTokenValue(String tokenValue) { stpLogic.logoutByTokenValue(tokenValue); } /** * 踢人下线,根据账号id *

当对方再次访问系统时,会抛出 NotLoginException 异常,场景值=-5

* * @param loginId 账号id */ public static void kickout(Object loginId) { stpLogic.kickout(loginId); } /** * 踢人下线,根据账号id 和 设备类型 *

当对方再次访问系统时,会抛出 NotLoginException 异常,场景值=-5

* * @param loginId 账号id * @param device 设备类型 (填 null 代表踢出该账号的所有设备类型) */ public static void kickout(Object loginId, String device) { stpLogic.kickout(loginId, device); } /** * 踢人下线,根据指定 token *

当对方再次访问系统时,会抛出 NotLoginException 异常,场景值=-5

* * @param tokenValue 指定 token */ public static void kickoutByTokenValue(String tokenValue) { stpLogic.kickoutByTokenValue(tokenValue); } /** * 顶人下线,根据账号id 和 设备类型 *

当对方再次访问系统时,会抛出 NotLoginException 异常,场景值=-4

* * @param loginId 账号id * @param device 设备类型 (填 null 代表顶替该账号的所有设备类型) */ public static void replaced(Object loginId, String device) { stpLogic.replaced(loginId, device); } // 会话查询 /** * 判断当前会话是否已经登录 * * @return 已登录返回 true,未登录返回 false */ public static boolean isLogin() { return stpLogic.isLogin(); } /** * 判断指定账号是否已经登录 * * @return 已登录返回 true,未登录返回 false */ public static boolean isLogin(Object loginId) { return stpLogic.isLogin(loginId); } /** * 检验当前会话是否已经登录,如未登录,则抛出异常 */ public static void checkLogin() { stpLogic.checkLogin(); } /** * 获取当前会话账号id,如果未登录,则抛出异常 * * @return 账号id */ public static Object getLoginId() { return stpLogic.getLoginId(); } /** * 获取当前会话账号id, 如果未登录,则返回默认值 * * @param 返回类型 * @param defaultValue 默认值 * @return 登录id */ public static T getLoginId(T defaultValue) { return stpLogic.getLoginId(defaultValue); } /** * 获取当前会话账号id, 如果未登录,则返回null * * @return 账号id */ public static Object getLoginIdDefaultNull() { return stpLogic.getLoginIdDefaultNull(); } /** * 获取当前会话账号id, 并转换为 String 类型 * * @return 账号id */ public static String getLoginIdAsString() { return stpLogic.getLoginIdAsString(); } /** * 获取当前会话账号id, 并转换为 int 类型 * * @return 账号id */ public static int getLoginIdAsInt() { return stpLogic.getLoginIdAsInt(); } /** * 获取当前会话账号id, 并转换为 long 类型 * * @return 账号id */ public static long getLoginIdAsLong() { return stpLogic.getLoginIdAsLong(); } /** * 获取指定 token 对应的账号id,如果未登录,则返回 null * * @param tokenValue token * @return 账号id */ public static Object getLoginIdByToken(String tokenValue) { return stpLogic.getLoginIdByToken(tokenValue); } /** * 获取当前 Token 的扩展信息(此函数只在jwt模式下生效) * * @param key 键值 * @return 对应的扩展数据 */ public static Object getExtra(String key) { return stpLogic.getExtra(key); } /** * 获取指定 Token 的扩展信息(此函数只在jwt模式下生效) * * @param tokenValue 指定的 Token 值 * @param key 键值 * @return 对应的扩展数据 */ public static Object getExtra(String tokenValue, String key) { return stpLogic.getExtra(tokenValue, key); } // ------------------- Account-Session 相关 ------------------- /** * 获取指定账号 id 的 Account-Session, 如果该 SaSession 尚未创建,isCreate=是否新建并返回 * * @param loginId 账号id * @param isCreate 是否新建 * @return SaSession 对象 */ public static SaSession getSessionByLoginId(Object loginId, boolean isCreate) { return stpLogic.getSessionByLoginId(loginId, isCreate); } /** * 获取指定 key 的 SaSession, 如果该 SaSession 尚未创建,则返回 null * * @param sessionId SessionId * @return Session对象 */ public static SaSession getSessionBySessionId(String sessionId) { return stpLogic.getSessionBySessionId(sessionId); } /** * 获取指定账号 id 的 Account-Session,如果该 SaSession 尚未创建,则新建并返回 * * @param loginId 账号id * @return SaSession 对象 */ public static SaSession getSessionByLoginId(Object loginId) { return stpLogic.getSessionByLoginId(loginId); } /** * 获取当前已登录账号的 Account-Session, 如果该 SaSession 尚未创建,isCreate=是否新建并返回 * * @param isCreate 是否新建 * @return Session对象 */ public static SaSession getSession(boolean isCreate) { return stpLogic.getSession(isCreate); } /** * 获取当前已登录账号的 Account-Session,如果该 SaSession 尚未创建,则新建并返回 * * @return Session对象 */ public static SaSession getSession() { return stpLogic.getSession(); } // ------------------- Token-Session 相关 ------------------- /** * 获取指定 token 的 Token-Session,如果该 SaSession 尚未创建,则新建并返回 * * @param tokenValue Token值 * @return Session对象 */ public static SaSession getTokenSessionByToken(String tokenValue) { return stpLogic.getTokenSessionByToken(tokenValue); } /** * 获取当前 token 的 Token-Session,如果该 SaSession 尚未创建,则新建并返回 * * @return Session对象 */ public static SaSession getTokenSession() { return stpLogic.getTokenSession(); } /** * 获取当前匿名 Token-Session (可在未登录情况下使用的Token-Session) * * @return Token-Session 对象 */ public static SaSession getAnonTokenSession() { return stpLogic.getAnonTokenSession(); } // ------------------- Active-Timeout token 最低活跃度 验证相关 ------------------- /** * 续签当前 token:(将 [最后操作时间] 更新为当前时间戳) *

* 请注意: 即使 token 已被冻结 也可续签成功, * 如果此场景下需要提示续签失败,可在此之前调用 checkActiveTimeout() 强制检查是否冻结即可 *

*/ public static void updateLastActiveToNow() { stpLogic.updateLastActiveToNow(); } /** * 检查当前 token 是否已被冻结,如果是则抛出异常 */ public static void checkActiveTimeout() { stpLogic.checkActiveTimeout(); } // ------------------- 过期时间相关 ------------------- /** * 获取当前会话 token 剩余有效时间(单位: 秒,返回 -1 代表永久有效,-2 代表没有这个值) * * @return token剩余有效时间 */ public static long getTokenTimeout() { return stpLogic.getTokenTimeout(); } /** * 获取指定 token 剩余有效时间(单位: 秒,返回 -1 代表永久有效,-2 代表没有这个值) * * @param token 指定token * @return token剩余有效时间 */ public static long getTokenTimeout(String token) { return stpLogic.getTokenTimeout(token); } /** * 获取当前登录账号的 Account-Session 剩余有效时间(单位: 秒,返回 -1 代表永久有效,-2 代表没有这个值) * * @return token剩余有效时间 */ public static long getSessionTimeout() { return stpLogic.getSessionTimeout(); } /** * 获取当前 token 的 Token-Session 剩余有效时间(单位: 秒,返回 -1 代表永久有效,-2 代表没有这个值) * * @return token剩余有效时间 */ public static long getTokenSessionTimeout() { return stpLogic.getTokenSessionTimeout(); } /** * 获取当前 token 剩余活跃有效期:当前 token 距离被冻结还剩多少时间(单位: 秒,返回 -1 代表永不冻结,-2 代表没有这个值或 token 已被冻结了) * * @return / */ public static long getTokenActiveTimeout() { return stpLogic.getTokenActiveTimeout(); } /** * 对当前 token 的 timeout 值进行续期 * * @param timeout 要修改成为的有效时间 (单位: 秒) */ public static void renewTimeout(long timeout) { stpLogic.renewTimeout(timeout); } /** * 对指定 token 的 timeout 值进行续期 * * @param tokenValue 指定 token * @param timeout 要修改成为的有效时间 (单位: 秒,填 -1 代表要续为永久有效) */ public static void renewTimeout(String tokenValue, long timeout) { stpLogic.renewTimeout(tokenValue, timeout); } // ------------------- 角色认证操作 ------------------- /** * 获取:当前账号的角色集合 * * @return / */ public static List getRoleList() { return stpLogic.getRoleList(); } /** * 获取:指定账号的角色集合 * * @param loginId 指定账号id * @return / */ public static List getRoleList(Object loginId) { return stpLogic.getRoleList(loginId); } /** * 判断:当前账号是否拥有指定角色, 返回 true 或 false * * @param role 角色 * @return / */ public static boolean hasRole(String role) { return stpLogic.hasRole(role); } /** * 判断:指定账号是否含有指定角色标识, 返回 true 或 false * * @param loginId 账号id * @param role 角色标识 * @return 是否含有指定角色标识 */ public static boolean hasRole(Object loginId, String role) { return stpLogic.hasRole(loginId, role); } /** * 判断:当前账号是否含有指定角色标识 [ 指定多个,必须全部验证通过 ] * * @param roleArray 角色标识数组 * @return true或false */ public static boolean hasRoleAnd(String... roleArray){ return stpLogic.hasRoleAnd(roleArray); } /** * 判断:当前账号是否含有指定角色标识 [ 指定多个,只要其一验证通过即可 ] * * @param roleArray 角色标识数组 * @return true或false */ public static boolean hasRoleOr(String... roleArray){ return stpLogic.hasRoleOr(roleArray); } /** * 校验:当前账号是否含有指定角色标识, 如果验证未通过,则抛出异常: NotRoleException * * @param role 角色标识 */ public static void checkRole(String role) { stpLogic.checkRole(role); } /** * 校验:当前账号是否含有指定角色标识 [ 指定多个,必须全部验证通过 ] * * @param roleArray 角色标识数组 */ public static void checkRoleAnd(String... roleArray){ stpLogic.checkRoleAnd(roleArray); } /** * 校验:当前账号是否含有指定角色标识 [ 指定多个,只要其一验证通过即可 ] * * @param roleArray 角色标识数组 */ public static void checkRoleOr(String... roleArray){ stpLogic.checkRoleOr(roleArray); } // ------------------- 权限认证操作 ------------------- /** * 获取:当前账号的权限码集合 * * @return / */ public static List getPermissionList() { return stpLogic.getPermissionList(); } /** * 获取:指定账号的权限码集合 * * @param loginId 指定账号id * @return / */ public static List getPermissionList(Object loginId) { return stpLogic.getPermissionList(loginId); } /** * 判断:当前账号是否含有指定权限, 返回 true 或 false * * @param permission 权限码 * @return 是否含有指定权限 */ public static boolean hasPermission(String permission) { return stpLogic.hasPermission(permission); } /** * 判断:指定账号 id 是否含有指定权限, 返回 true 或 false * * @param loginId 账号 id * @param permission 权限码 * @return 是否含有指定权限 */ public static boolean hasPermission(Object loginId, String permission) { return stpLogic.hasPermission(loginId, permission); } /** * 判断:当前账号是否含有指定权限 [ 指定多个,必须全部具有 ] * * @param permissionArray 权限码数组 * @return true 或 false */ public static boolean hasPermissionAnd(String... permissionArray){ return stpLogic.hasPermissionAnd(permissionArray); } /** * 判断:当前账号是否含有指定权限 [ 指定多个,只要其一验证通过即可 ] * * @param permissionArray 权限码数组 * @return true 或 false */ public static boolean hasPermissionOr(String... permissionArray){ return stpLogic.hasPermissionOr(permissionArray); } /** * 校验:当前账号是否含有指定权限, 如果验证未通过,则抛出异常: NotPermissionException * * @param permission 权限码 */ public static void checkPermission(String permission) { stpLogic.checkPermission(permission); } /** * 校验:当前账号是否含有指定权限 [ 指定多个,必须全部验证通过 ] * * @param permissionArray 权限码数组 */ public static void checkPermissionAnd(String... permissionArray) { stpLogic.checkPermissionAnd(permissionArray); } /** * 校验:当前账号是否含有指定权限 [ 指定多个,只要其一验证通过即可 ] * * @param permissionArray 权限码数组 */ public static void checkPermissionOr(String... permissionArray) { stpLogic.checkPermissionOr(permissionArray); } // ------------------- id 反查 token 相关操作 ------------------- /** * 获取指定账号 id 的 token *

* 在配置为允许并发登录时,此方法只会返回队列的最后一个 token, * 如果你需要返回此账号 id 的所有 token,请调用 getTokenValueListByLoginId *

* * @param loginId 账号id * @return token值 */ public static String getTokenValueByLoginId(Object loginId) { return stpLogic.getTokenValueByLoginId(loginId); } /** * 获取指定账号 id 指定设备类型端的 token *

* 在配置为允许并发登录时,此方法只会返回队列的最后一个 token, * 如果你需要返回此账号 id 的所有 token,请调用 getTokenValueListByLoginId *

* * @param loginId 账号id * @param device 设备类型,填 null 代表不限设备类型 * @return token值 */ public static String getTokenValueByLoginId(Object loginId, String device) { return stpLogic.getTokenValueByLoginId(loginId, device); } /** * 获取指定账号 id 的 token 集合 * * @param loginId 账号id * @return 此 loginId 的所有相关 token */ public static List getTokenValueListByLoginId(Object loginId) { return stpLogic.getTokenValueListByLoginId(loginId); } /** * 获取指定账号 id 指定设备类型端的 token 集合 * * @param loginId 账号id * @param device 设备类型,填 null 代表不限设备类型 * @return 此 loginId 的所有登录 token */ public static List getTokenValueListByLoginId(Object loginId, String device) { return stpLogic.getTokenValueListByLoginId(loginId, device); } /** * 获取指定账号 id 指定设备类型端的 tokenSign 集合 * * @param loginId 账号id * @param device 设备类型,填 null 代表不限设备类型 * @return 此 loginId 的所有登录 tokenSign */ public static List getTokenSignListByLoginId(Object loginId, String device) { return stpLogic.getTokenSignListByLoginId(loginId, device); } /** * 返回当前会话的登录设备类型 * * @return 当前令牌的登录设备类型 */ public static String getLoginDevice() { return stpLogic.getLoginDevice(); } // ------------------- 会话管理 ------------------- /** * 根据条件查询缓存中所有的 token * * @param keyword 关键字 * @param start 开始处索引 * @param size 获取数量 (-1代表一直获取到末尾) * @param sortType 排序类型(true=正序,false=反序) * * @return token集合 */ public static List searchTokenValue(String keyword, int start, int size, boolean sortType) { return stpLogic.searchTokenValue(keyword, start, size, sortType); } /** * 根据条件查询缓存中所有的 SessionId * * @param keyword 关键字 * @param start 开始处索引 * @param size 获取数量 (-1代表一直获取到末尾) * @param sortType 排序类型(true=正序,false=反序) * * @return sessionId集合 */ public static List searchSessionId(String keyword, int start, int size, boolean sortType) { return stpLogic.searchSessionId(keyword, start, size, sortType); } /** * 根据条件查询缓存中所有的 Token-Session-Id * * @param keyword 关键字 * @param start 开始处索引 * @param size 获取数量 (-1代表一直获取到末尾) * @param sortType 排序类型(true=正序,false=反序) * * @return sessionId集合 */ public static List searchTokenSessionId(String keyword, int start, int size, boolean sortType) { return stpLogic.searchTokenSessionId(keyword, start, size, sortType); } // ------------------- 账号封禁 ------------------- /** * 封禁:指定账号 *

此方法不会直接将此账号id踢下线,如需封禁后立即掉线,请追加调用 StpUtil.logout(id) * * @param loginId 指定账号id * @param time 封禁时间, 单位: 秒 (-1=永久封禁) */ public static void disable(Object loginId, long time) { stpLogic.disable(loginId, time); } /** * 判断:指定账号是否已被封禁 (true=已被封禁, false=未被封禁) * * @param loginId 账号id * @return / */ public static boolean isDisable(Object loginId) { return stpLogic.isDisable(loginId); } /** * 校验:指定账号是否已被封禁,如果被封禁则抛出异常 * * @param loginId 账号id */ public static void checkDisable(Object loginId) { stpLogic.checkDisable(loginId); } /** * 获取:指定账号剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁) * * @param loginId 账号id * @return / */ public static long getDisableTime(Object loginId) { return stpLogic.getDisableTime(loginId); } /** * 解封:指定账号 * * @param loginId 账号id */ public static void untieDisable(Object loginId) { stpLogic.untieDisable(loginId); } // ------------------- 分类封禁 ------------------- /** * 封禁:指定账号的指定服务 *

此方法不会直接将此账号id踢下线,如需封禁后立即掉线,请追加调用 StpUtil.logout(id) * * @param loginId 指定账号id * @param service 指定服务 * @param time 封禁时间, 单位: 秒 (-1=永久封禁) */ public static void disable(Object loginId, String service, long time) { stpLogic.disable(loginId, service, time); } /** * 判断:指定账号的指定服务 是否已被封禁(true=已被封禁, false=未被封禁) * * @param loginId 账号id * @param service 指定服务 * @return / */ public static boolean isDisable(Object loginId, String service) { return stpLogic.isDisable(loginId, service); } /** * 校验:指定账号 指定服务 是否已被封禁,如果被封禁则抛出异常 * * @param loginId 账号id * @param services 指定服务,可以指定多个 */ public static void checkDisable(Object loginId, String... services) { stpLogic.checkDisable(loginId, services); } /** * 获取:指定账号 指定服务 剩余封禁时间,单位:秒(-1=永久封禁,-2=未被封禁) * * @param loginId 账号id * @param service 指定服务 * @return see note */ public static long getDisableTime(Object loginId, String service) { return stpLogic.getDisableTime(loginId, service); } /** * 解封:指定账号、指定服务 * * @param loginId 账号id * @param services 指定服务,可以指定多个 */ public static void untieDisable(Object loginId, String... services) { stpLogic.untieDisable(loginId, services); } // ------------------- 阶梯封禁 ------------------- /** * 封禁:指定账号,并指定封禁等级 * * @param loginId 指定账号id * @param level 指定封禁等级 * @param time 封禁时间, 单位: 秒 (-1=永久封禁) */ public static void disableLevel(Object loginId, int level, long time) { stpLogic.disableLevel(loginId, level, time); } /** * 封禁:指定账号的指定服务,并指定封禁等级 * * @param loginId 指定账号id * @param service 指定封禁服务 * @param level 指定封禁等级 * @param time 封禁时间, 单位: 秒 (-1=永久封禁) */ public static void disableLevel(Object loginId, String service, int level, long time) { stpLogic.disableLevel(loginId, service, level, time); } /** * 判断:指定账号是否已被封禁到指定等级 * * @param loginId 指定账号id * @param level 指定封禁等级 * @return / */ public static boolean isDisableLevel(Object loginId, int level) { return stpLogic.isDisableLevel(loginId, level); } /** * 判断:指定账号的指定服务,是否已被封禁到指定等级 * * @param loginId 指定账号id * @param service 指定封禁服务 * @param level 指定封禁等级 * @return / */ public static boolean isDisableLevel(Object loginId, String service, int level) { return stpLogic.isDisableLevel(loginId, service, level); } /** * 校验:指定账号是否已被封禁到指定等级(如果已经达到,则抛出异常) * * @param loginId 指定账号id * @param level 封禁等级 (只有 封禁等级 ≥ 此值 才会抛出异常) */ public static void checkDisableLevel(Object loginId, int level) { stpLogic.checkDisableLevel(loginId, level); } /** * 校验:指定账号的指定服务,是否已被封禁到指定等级(如果已经达到,则抛出异常) * * @param loginId 指定账号id * @param service 指定封禁服务 * @param level 封禁等级 (只有 封禁等级 ≥ 此值 才会抛出异常) */ public static void checkDisableLevel(Object loginId, String service, int level) { stpLogic.checkDisableLevel(loginId, service, level); } /** * 获取:指定账号被封禁的等级,如果未被封禁则返回-2 * * @param loginId 指定账号id * @return / */ public static int getDisableLevel(Object loginId) { return stpLogic.getDisableLevel(loginId); } /** * 获取:指定账号的 指定服务 被封禁的等级,如果未被封禁则返回-2 * * @param loginId 指定账号id * @param service 指定封禁服务 * @return / */ public static int getDisableLevel(Object loginId, String service) { return stpLogic.getDisableLevel(loginId, service); } // ------------------- 临时身份切换 ------------------- /** * 临时切换身份为指定账号id * * @param loginId 指定loginId */ public static void switchTo(Object loginId) { stpLogic.switchTo(loginId); } /** * 结束临时切换身份 */ public static void endSwitch() { stpLogic.endSwitch(); } /** * 判断当前请求是否正处于 [ 身份临时切换 ] 中 * * @return / */ public static boolean isSwitch() { return stpLogic.isSwitch(); } /** * 在一个 lambda 代码段里,临时切换身份为指定账号id,lambda 结束后自动恢复 * * @param loginId 指定账号id * @param function 要执行的方法 */ public static void switchTo(Object loginId, SaFunction function) { stpLogic.switchTo(loginId, function); } // ------------------- 二级认证 ------------------- /** * 在当前会话 开启二级认证 * * @param safeTime 维持时间 (单位: 秒) */ public static void openSafe(long safeTime) { stpLogic.openSafe(safeTime); } /** * 在当前会话 开启二级认证 * * @param service 业务标识 * @param safeTime 维持时间 (单位: 秒) */ public static void openSafe(String service, long safeTime) { stpLogic.openSafe(service, safeTime); } /** * 判断:当前会话是否处于二级认证时间内 * * @return true=二级认证已通过, false=尚未进行二级认证或认证已超时 */ public static boolean isSafe() { return stpLogic.isSafe(); } /** * 判断:当前会话 是否处于指定业务的二级认证时间内 * * @param service 业务标识 * @return true=二级认证已通过, false=尚未进行二级认证或认证已超时 */ public static boolean isSafe(String service) { return stpLogic.isSafe(service); } /** * 判断:指定 token 是否处于二级认证时间内 * * @param tokenValue Token 值 * @param service 业务标识 * @return true=二级认证已通过, false=尚未进行二级认证或认证已超时 */ public static boolean isSafe(String tokenValue, String service) { return stpLogic.isSafe(tokenValue, service); } /** * 校验:当前会话是否已通过二级认证,如未通过则抛出异常 */ public static void checkSafe() { stpLogic.checkSafe(); } /** * 校验:检查当前会话是否已通过指定业务的二级认证,如未通过则抛出异常 * * @param service 业务标识 */ public static void checkSafe(String service) { stpLogic.checkSafe(service); } /** * 获取:当前会话的二级认证剩余有效时间(单位: 秒, 返回-2代表尚未通过二级认证) * * @return 剩余有效时间 */ public static long getSafeTime() { return stpLogic.getSafeTime(); } /** * 获取:当前会话的二级认证剩余有效时间(单位: 秒, 返回-2代表尚未通过二级认证) * * @param service 业务标识 * @return 剩余有效时间 */ public static long getSafeTime(String service) { return stpLogic.getSafeTime(service); } /** * 在当前会话 结束二级认证 */ public static void closeSafe() { stpLogic.closeSafe(); } /** * 在当前会话 结束指定业务标识的二级认证 * * @param service 业务标识 */ public static void closeSafe(String service) { stpLogic.closeSafe(service); } } ================================================ FILE: mall-portal/src/main/resources/application.yml ================================================ server: port: 8085 spring: mvc: pathmatch: matching-strategy: ant_path_matcher datasource: url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root druid: initial-size: 5 #连接池初始化大小 min-idle: 10 #最小空闲连接数 max-active: 20 #最大连接数 web-stat-filter: exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不统计这些请求数据 stat-view-servlet: #访问监控网页的登录用户名和密码 login-username: druid login-password: druid data: mongodb: host: localhost port: 27017 database: mall-port redis: host: localhost # Redis服务器地址 database: 0 # Redis数据库索引(默认为0) port: 6379 # Redis服务器连接端口 password: # Redis服务器连接密码(默认为空) timeout: 3000ms # 连接超时时间(毫秒) rabbitmq: host: localhost port: 5672 virtual-host: /mall username: mall password: mall mybatis: mapper-locations: - classpath:dao/*.xml - classpath*:com/**/mapper/*.xml management: endpoints: web: exposure: include: '*' #暴露Actuator的监控端点 endpoint: health: show-details: always #显示健康的详细信息 env: show-values: always #默认Actuator的环境变量会以****显示,这里开启显示 configprops: show-values: always #默认Actuator的配置属性会以****显示,这里开启显示 info: enabled: true redis: database: mall-swarm key: authCode: 'ums:authCode' orderId: 'oms:orderId' member: 'ums:member' expire: authCode: 90 # 验证码超期时间 common: 86400 # 24小时 rabbitmq: queue: name: cancelOrder: cancelOrderQueue springdoc: swagger-ui: # 修改Swagger UI路径 path: /swagger-ui.html # 开启Swagger UI界面 enabled: true # 用于配置tag和operation的展开方式,这里配置为都不展开 doc-expansion: 'none' api-docs: # 修改api-docs路径 path: /v3/api-docs # 开启api-docs enabled: true group-configs: - group: 'mall-portal' packages-to-scan: com.macro.mall.portal.controller sa-token: # token名称 (同时也是cookie名称) token-name: Authorization # token有效期,单位秒,-1代表永不过期 timeout: 604800 # token临时有效期 (指定时间内无操作就视为token过期),单位秒 active-timeout: -1 # 是否允许同一账号并发登录 (为false时新登录挤掉旧登录) is-concurrent: true # 在多人登录同一账号时,是否共用一个token (为false时每次登录新建一个token) is-share: false # token风格 token-style: uuid # 是否输出操作日志 is-log: false # 是否从cookie中读取token is-read-cookie: false # 是否从head中读取token is-read-header: true # token前缀 token-prefix: Bearer # jwt秘钥 jwt-secret-key: sa-secret-key123 # 是否打印banner is-print: false ================================================ FILE: mall-portal/src/main/resources/bootstrap-dev.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://localhost:8848 config: server-addr: http://localhost:8848 file-extension: yaml ================================================ FILE: mall-portal/src/main/resources/bootstrap-prod.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://nacos-registry:8848 config: server-addr: http://nacos-registry:8848 file-extension: yaml ================================================ FILE: mall-portal/src/main/resources/bootstrap.yml ================================================ spring: profiles: active: dev application: name: mall-portal ================================================ FILE: mall-portal/src/main/resources/dao/HomeDao.xml ================================================ ================================================ FILE: mall-portal/src/main/resources/dao/PortalOrderDao.xml ================================================ UPDATE pms_sku_stock SET stock = CASE id WHEN #{item.productSkuId} THEN stock - #{item.productQuantity} END, lock_stock = CASE id WHEN #{item.productSkuId} THEN lock_stock - #{item.productQuantity} END WHERE id IN #{item.productSkuId} update oms_order set status=#{status} where id in #{id} UPDATE pms_sku_stock SET lock_stock = CASE id WHEN #{item.productSkuId} THEN lock_stock - #{item.productQuantity} END WHERE id IN #{item.productSkuId} ================================================ FILE: mall-portal/src/main/resources/dao/PortalOrderItemDao.xml ================================================ insert into oms_order_item (order_id, order_sn, product_id, product_pic, product_name, product_brand, product_sn, product_price, product_quantity, product_sku_id, product_category_id, product_sku_code,promotion_name, promotion_amount, coupon_amount, integration_amount, real_amount,product_attr) values (#{item.orderId,jdbcType=BIGINT}, #{item.orderSn,jdbcType=VARCHAR}, #{item.productId,jdbcType=BIGINT}, #{item.productPic,jdbcType=VARCHAR}, #{item.productName,jdbcType=VARCHAR}, #{item.productBrand,jdbcType=VARCHAR}, #{item.productSn,jdbcType=VARCHAR}, #{item.productPrice,jdbcType=DECIMAL}, #{item.productQuantity,jdbcType=INTEGER}, #{item.productSkuId,jdbcType=BIGINT}, #{item.productCategoryId,jdbcType=BIGINT}, #{item.productSkuCode,jdbcType=VARCHAR}, #{item.promotionName,jdbcType=VARCHAR}, #{item.promotionAmount,jdbcType=DECIMAL}, #{item.couponAmount,jdbcType=DECIMAL}, #{item.integrationAmount,jdbcType=DECIMAL}, #{item.realAmount,jdbcType=DECIMAL},#{item.productAttr,jdbcType=VARCHAR}) ================================================ FILE: mall-portal/src/main/resources/dao/PortalProductDao.xml ================================================ ================================================ FILE: mall-portal/src/main/resources/dao/SmsCouponHistoryDao.xml ================================================ ================================================ FILE: mall-portal/src/test/java/com/macro/mall/portal/MallPortalApplicationTests.java ================================================ package com.macro.mall.portal; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @SpringBootTest public class MallPortalApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: mall-portal/src/test/java/com/macro/mall/portal/PortalProductDaoTests.java ================================================ package com.macro.mall.portal; import com.macro.mall.portal.dao.PortalProductDao; import com.macro.mall.portal.domain.PromotionProduct; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.ArrayList; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; /** * Created by macro on 2018/8/27. * 前台商品查询逻辑单元测试 */ @SpringBootTest public class PortalProductDaoTests { @Autowired private PortalProductDao portalProductDao; @Test public void testGetPromotionProductList(){ List ids = new ArrayList<>(); ids.add(26L); ids.add(27L); ids.add(28L); ids.add(29L); List promotionProductList = portalProductDao.getPromotionProductList(ids); assertEquals(4,promotionProductList.size()); } } ================================================ FILE: mall-search/.gitignore ================================================ /target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans .sts4-cache ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### /nbproject/private/ /build/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ ================================================ FILE: mall-search/pom.xml ================================================ 4.0.0 com.macro.mall mall-search 1.0-SNAPSHOT jar mall-search mall-search project for mall com.macro.mall mall-swarm 1.0-SNAPSHOT com.macro.mall mall-mbg org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-elasticsearch com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config de.codecentric spring-boot-admin-starter-client org.springframework.boot spring-boot-maven-plugin io.fabric8 docker-maven-plugin ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/MallSearchApplication.java ================================================ package com.macro.mall.search; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @EnableDiscoveryClient @SpringBootApplication public class MallSearchApplication { public static void main(String[] args) { SpringApplication.run(MallSearchApplication.class, args); } } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/config/MyBatisConfig.java ================================================ package com.macro.mall.search.config; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Configuration; /** * MyBatis相关配置 * Created by macro on 2019/4/8. */ @Configuration @MapperScan({"com.macro.mall.mapper","com.macro.mall.search.dao"}) public class MyBatisConfig { } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/config/SpringDocConfig.java ================================================ package com.macro.mall.search.config; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * SpringDoc相关配置 * Created by macro on 2024/3/5. */ @Configuration public class SpringDocConfig implements WebMvcConfigurer { @Bean public OpenAPI mallSearchOpenAPI() { return new OpenAPI() .info(new Info().title("mall搜索系统") .description("mall搜索相关接口文档") .version("v1.0.0") .license(new License().name("Apache 2.0") .url("https://github.com/macrozheng/mall-learning"))) .externalDocs(new ExternalDocumentation() .description("SpringBoot实战电商项目mall(60K+Star)全套文档") .url("http://www.macrozheng.com")); } @Override public void addViewControllers(ViewControllerRegistry registry) { //配置访问`/swagger-ui/`路径时可以直接跳转到`/swagger-ui/index.html` registry.addViewController("/swagger-ui/").setViewName("redirect:/swagger-ui/index.html"); } } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/controller/EsProductController.java ================================================ package com.macro.mall.search.controller; import com.macro.mall.common.api.CommonPage; import com.macro.mall.common.api.CommonResult; import com.macro.mall.search.domain.EsProduct; import com.macro.mall.search.domain.EsProductRelatedInfo; import com.macro.mall.search.service.EsProductService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 搜索商品管理Controller * Created by macro on 2018/6/19. */ @Controller @Tag(name = "EsProductController", description = "搜索商品管理") @RequestMapping("/esProduct") public class EsProductController { @Autowired private EsProductService esProductService; @Operation(summary = "导入所有数据库中商品到ES") @RequestMapping(value = "/importAll", method = RequestMethod.POST) @ResponseBody public CommonResult importAllList() { int count = esProductService.importAll(); return CommonResult.success(count); } @Operation(summary = "根据id删除商品") @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult delete(@PathVariable Long id) { esProductService.delete(id); return CommonResult.success(null); } @Operation(summary = "根据id批量删除商品") @RequestMapping(value = "/delete/batch", method = RequestMethod.POST) @ResponseBody public CommonResult delete(@RequestParam("ids") List ids) { esProductService.delete(ids); return CommonResult.success(null); } @Operation(summary = "根据id创建商品") @RequestMapping(value = "/create/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult create(@PathVariable Long id) { EsProduct esProduct = esProductService.create(id); if (esProduct != null) { return CommonResult.success(esProduct); } else { return CommonResult.failed(); } } @Operation(summary = "简单搜索") @RequestMapping(value = "/search/simple", method = RequestMethod.GET) @ResponseBody public CommonResult> search(@RequestParam(required = false) String keyword, @RequestParam(required = false, defaultValue = "0") Integer pageNum, @RequestParam(required = false, defaultValue = "5") Integer pageSize) { Page esProductPage = esProductService.search(keyword, pageNum, pageSize); return CommonResult.success(CommonPage.restPage(esProductPage)); } @Operation(summary = "综合搜索、筛选、排序") @Parameter(name = "sort", description = "排序字段:0->按相关度;1->按新品;2->按销量;3->价格从低到高;4->价格从高到低", in = ParameterIn.QUERY, schema = @Schema(type = "integer",defaultValue = "0",allowableValues = {"0","1","2","3","4"})) @RequestMapping(value = "/search", method = RequestMethod.GET) @ResponseBody public CommonResult> search(@RequestParam(required = false) String keyword, @RequestParam(required = false) Long brandId, @RequestParam(required = false) Long productCategoryId, @RequestParam(required = false, defaultValue = "0") Integer pageNum, @RequestParam(required = false, defaultValue = "5") Integer pageSize, @RequestParam(required = false, defaultValue = "0") Integer sort) { Page esProductPage = esProductService.search(keyword, brandId, productCategoryId, pageNum, pageSize, sort); return CommonResult.success(CommonPage.restPage(esProductPage)); } @Operation(summary = "根据商品id推荐商品") @RequestMapping(value = "/recommend/{id}", method = RequestMethod.GET) @ResponseBody public CommonResult> recommend(@PathVariable Long id, @RequestParam(required = false, defaultValue = "0") Integer pageNum, @RequestParam(required = false, defaultValue = "5") Integer pageSize) { Page esProductPage = esProductService.recommend(id, pageNum, pageSize); return CommonResult.success(CommonPage.restPage(esProductPage)); } @Operation(summary = "获取搜索的相关品牌、分类及筛选属性") @RequestMapping(value = "/search/relate", method = RequestMethod.GET) @ResponseBody public CommonResult searchRelatedInfo(@RequestParam(required = false) String keyword) { EsProductRelatedInfo productRelatedInfo = esProductService.searchRelatedInfo(keyword); return CommonResult.success(productRelatedInfo); } } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/dao/EsProductDao.java ================================================ package com.macro.mall.search.dao; import com.macro.mall.search.domain.EsProduct; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 搜索商品管理自定义Dao * Created by macro on 2018/6/19. */ public interface EsProductDao { /** * 获取指定ID的搜索商品 */ List getAllEsProductList(@Param("id") Long id); } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/domain/EsProduct.java ================================================ package com.macro.mall.search.domain; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.annotations.Setting; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; /** * 搜索商品的信息 * Created by macro on 2018/6/19. */ @Document(indexName = "pms") @Setting(shards = 1,replicas = 0) public class EsProduct implements Serializable { private static final long serialVersionUID = -1L; @Id private Long id; @Field(type = FieldType.Keyword) private String productSn; private Long brandId; @Field(type = FieldType.Keyword) private String brandName; private Long productCategoryId; @Field(type = FieldType.Keyword) private String productCategoryName; private String pic; @Field(analyzer = "ik_max_word",type = FieldType.Text) private String name; @Field(analyzer = "ik_max_word",type = FieldType.Text) private String subTitle; @Field(analyzer = "ik_max_word",type = FieldType.Text) private String keywords; private BigDecimal price; private Integer sale; private Integer newStatus; private Integer recommandStatus; private Integer stock; private Integer promotionType; private Integer sort; @Field(type =FieldType.Nested) private List attrValueList; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getProductSn() { return productSn; } public void setProductSn(String productSn) { this.productSn = productSn; } public Long getBrandId() { return brandId; } public void setBrandId(Long brandId) { this.brandId = brandId; } public String getBrandName() { return brandName; } public void setBrandName(String brandName) { this.brandName = brandName; } 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 getPic() { return pic; } public void setPic(String pic) { this.pic = pic; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSubTitle() { return subTitle; } public void setSubTitle(String subTitle) { this.subTitle = subTitle; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public Integer getSale() { return sale; } public void setSale(Integer sale) { this.sale = sale; } public Integer getNewStatus() { return newStatus; } public void setNewStatus(Integer newStatus) { this.newStatus = newStatus; } public Integer getRecommandStatus() { return recommandStatus; } public void setRecommandStatus(Integer recommandStatus) { this.recommandStatus = recommandStatus; } public Integer getStock() { return stock; } public void setStock(Integer stock) { this.stock = stock; } public Integer getPromotionType() { return promotionType; } public void setPromotionType(Integer promotionType) { this.promotionType = promotionType; } public Integer getSort() { return sort; } public void setSort(Integer sort) { this.sort = sort; } public List getAttrValueList() { return attrValueList; } public void setAttrValueList(List attrValueList) { this.attrValueList = attrValueList; } public String getKeywords() { return keywords; } public void setKeywords(String keywords) { this.keywords = keywords; } } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/domain/EsProductAttributeValue.java ================================================ package com.macro.mall.search.domain; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; import java.io.Serializable; /** * 搜索商品的属性信息 * Created by macro on 2018/6/27. */ public class EsProductAttributeValue implements Serializable { private static final long serialVersionUID = 1L; private Long id; private Long productAttributeId; //属性值 @Field(type = FieldType.Keyword) private String value; //属性参数:0->规格;1->参数 private Integer type; //属性名称 @Field(type=FieldType.Keyword) private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Long getProductAttributeId() { return productAttributeId; } public void setProductAttributeId(Long productAttributeId) { this.productAttributeId = productAttributeId; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/domain/EsProductRelatedInfo.java ================================================ package com.macro.mall.search.domain; import java.util.List; /** * 搜索商品的品牌名称,分类名称及属性 * Created by macro on 2018/6/27. */ public class EsProductRelatedInfo { private List brandNames; private List productCategoryNames; private List productAttrs; public List getBrandNames() { return brandNames; } public void setBrandNames(List brandNames) { this.brandNames = brandNames; } public List getProductCategoryNames() { return productCategoryNames; } public void setProductCategoryNames(List productCategoryNames) { this.productCategoryNames = productCategoryNames; } public List getProductAttrs() { return productAttrs; } public void setProductAttrs(List productAttrs) { this.productAttrs = productAttrs; } public static class ProductAttr{ private Long attrId; private String attrName; private List attrValues; public Long getAttrId() { return attrId; } public void setAttrId(Long attrId) { this.attrId = attrId; } public List getAttrValues() { return attrValues; } public void setAttrValues(List attrValues) { this.attrValues = attrValues; } public String getAttrName() { return attrName; } public void setAttrName(String attrName) { this.attrName = attrName; } } } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/repository/EsProductRepository.java ================================================ package com.macro.mall.search.repository; import com.macro.mall.search.domain.EsProduct; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; /** * 搜索商品ES操作类 * Created by macro on 2018/6/19. */ public interface EsProductRepository extends ElasticsearchRepository { /** * 搜索查询 * * @param name 商品名称 * @param subTitle 商品标题 * @param keywords 商品关键字 * @param page 分页信息 */ Page findByNameOrSubTitleOrKeywords(String name, String subTitle, String keywords,Pageable page); } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/service/EsProductService.java ================================================ package com.macro.mall.search.service; import com.macro.mall.search.domain.EsProduct; import com.macro.mall.search.domain.EsProductRelatedInfo; import org.springframework.data.domain.Page; import java.util.List; /** * 商品搜索管理Service * Created by macro on 2018/6/19. */ public interface EsProductService { /** * 从数据库中导入所有商品到ES */ int importAll(); /** * 根据id删除商品 */ void delete(Long id); /** * 根据id创建商品 */ EsProduct create(Long id); /** * 批量删除商品 */ void delete(List ids); /** * 根据关键字搜索名称或者副标题 */ Page search(String keyword, Integer pageNum, Integer pageSize); /** * 根据关键字搜索名称或者副标题复合查询 */ Page search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize,Integer sort); /** * 根据商品id推荐相关商品 */ Page recommend(Long id, Integer pageNum, Integer pageSize); /** * 获取搜索词相关品牌、分类、属性 */ EsProductRelatedInfo searchRelatedInfo(String keyword); } ================================================ FILE: mall-search/src/main/java/com/macro/mall/search/service/impl/EsProductServiceImpl.java ================================================ package com.macro.mall.search.service.impl; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import co.elastic.clients.elasticsearch._types.aggregations.*; import co.elastic.clients.elasticsearch._types.aggregations.Aggregation; import co.elastic.clients.elasticsearch._types.query_dsl.*; import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders; import co.elastic.clients.util.ObjectBuilder; import com.macro.mall.search.dao.EsProductDao; import com.macro.mall.search.domain.EsProduct; import com.macro.mall.search.domain.EsProductRelatedInfo; import com.macro.mall.search.repository.EsProductRepository; import com.macro.mall.search.service.EsProductService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.*; import org.springframework.data.elasticsearch.client.elc.*; import org.springframework.data.elasticsearch.core.SearchHit; import org.springframework.data.elasticsearch.core.SearchHits; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; /** * 搜索商品管理Service实现类 * Created by macro on 2018/6/19. */ @Service public class EsProductServiceImpl implements EsProductService { private static final Logger LOGGER = LoggerFactory.getLogger(EsProductServiceImpl.class); @Autowired private EsProductDao productDao; @Autowired private EsProductRepository productRepository; @Autowired private ElasticsearchTemplate elasticsearchTemplate; @Override public int importAll() { List esProductList = productDao.getAllEsProductList(null); Iterable esProductIterable = productRepository.saveAll(esProductList); Iterator iterator = esProductIterable.iterator(); int result = 0; while (iterator.hasNext()) { result++; iterator.next(); } return result; } @Override public void delete(Long id) { productRepository.deleteById(id); } @Override public EsProduct create(Long id) { EsProduct result = null; List esProductList = productDao.getAllEsProductList(id); if (esProductList.size() > 0) { EsProduct esProduct = esProductList.get(0); result = productRepository.save(esProduct); } return result; } @Override public void delete(List ids) { if (!CollectionUtils.isEmpty(ids)) { List esProductList = new ArrayList<>(); for (Long id : ids) { EsProduct esProduct = new EsProduct(); esProduct.setId(id); esProductList.add(esProduct); } productRepository.deleteAll(esProductList); } } @Override public Page search(String keyword, Integer pageNum, Integer pageSize) { Pageable pageable = PageRequest.of(pageNum, pageSize); return productRepository.findByNameOrSubTitleOrKeywords(keyword, keyword, keyword, pageable); } @Override public Page search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize,Integer sort) { Pageable pageable = PageRequest.of(pageNum, pageSize); NativeQueryBuilder nativeQueryBuilder = new NativeQueryBuilder(); //分页 nativeQueryBuilder.withPageable(pageable); //过滤 if (brandId != null || productCategoryId != null) { Query boolQuery = QueryBuilders.bool(builder -> { if (brandId != null) { builder.must(QueryBuilders.term(b -> b.field("brandId").value(brandId))); } if (productCategoryId != null) { builder.must(QueryBuilders.term(b -> b.field("productCategoryId").value(productCategoryId))); } return builder; }); nativeQueryBuilder.withFilter(boolQuery); } //搜索 if (StrUtil.isEmpty(keyword)) { nativeQueryBuilder.withQuery(QueryBuilders.matchAll(builder -> builder)); } else { List functionScoreList = new ArrayList<>(); functionScoreList.add(new FunctionScore.Builder() .filter(QueryBuilders.match(builder -> builder.field("name").query(keyword))) .weight(10.0) .build()); functionScoreList.add(new FunctionScore.Builder() .filter(QueryBuilders.match(builder -> builder.field("subTitle").query(keyword))) .weight(5.0) .build()); functionScoreList.add(new FunctionScore.Builder() .filter(QueryBuilders.match(builder -> builder.field("keywords").query(keyword))) .weight(2.0) .build()); FunctionScoreQuery.Builder functionScoreQueryBuilder = QueryBuilders.functionScore() .functions(functionScoreList) .scoreMode(FunctionScoreMode.Sum) .minScore(2.0); nativeQueryBuilder.withQuery(builder -> builder.functionScore(functionScoreQueryBuilder.build())); } //排序 if(sort==1){ //按新品从新到旧 nativeQueryBuilder.withSort(Sort.by(Sort.Order.desc("id"))); }else if(sort==2){ //按销量从高到低 nativeQueryBuilder.withSort(Sort.by(Sort.Order.desc("sale"))); }else if(sort==3){ //按价格从低到高 nativeQueryBuilder.withSort(Sort.by(Sort.Order.asc("price"))); }else if(sort==4){ //按价格从高到低 nativeQueryBuilder.withSort(Sort.by(Sort.Order.desc("price"))); } //按相关度 nativeQueryBuilder.withSort(Sort.by(Sort.Order.desc("_score"))); NativeQuery nativeQuery = nativeQueryBuilder.build(); LOGGER.info("DSL:{}", nativeQuery.getQuery().toString()); SearchHits searchHits = elasticsearchTemplate.search(nativeQuery, EsProduct.class); if(searchHits.getTotalHits()<=0){ return new PageImpl<>(ListUtil.empty(),pageable,0); } List searchProductList = searchHits.stream().map(SearchHit::getContent).collect(Collectors.toList()); return new PageImpl<>(searchProductList,pageable,searchHits.getTotalHits()); } @Override public Page recommend(Long id, Integer pageNum, Integer pageSize) { Pageable pageable = PageRequest.of(pageNum, pageSize); List esProductList = productDao.getAllEsProductList(id); if (esProductList.size() > 0) { EsProduct esProduct = esProductList.get(0); String keyword = esProduct.getName(); Long brandId = esProduct.getBrandId(); Long productCategoryId = esProduct.getProductCategoryId(); //构建查询条件 NativeQueryBuilder nativeQueryBuilder = new NativeQueryBuilder(); //分页 nativeQueryBuilder.withPageable(pageable); //用于过滤掉相同的商品 nativeQueryBuilder.withFilter(QueryBuilders.bool(build -> build.mustNot(QueryBuilders.term(b->b.field("id").value(id))))); //根据商品标题、品牌、分类进行搜索 List functionScoreList = new ArrayList<>(); functionScoreList.add(new FunctionScore.Builder() .filter(QueryBuilders.match(builder -> builder.field("name").query(keyword))) .weight(8.0) .build()); functionScoreList.add(new FunctionScore.Builder() .filter(QueryBuilders.match(builder -> builder.field("subTitle").query(keyword))) .weight(2.0) .build()); functionScoreList.add(new FunctionScore.Builder() .filter(QueryBuilders.match(builder -> builder.field("keywords").query(keyword))) .weight(2.0) .build()); functionScoreList.add(new FunctionScore.Builder() .filter(QueryBuilders.match(builder -> builder.field("brandId").query(brandId))) .weight(5.0) .build()); functionScoreList.add(new FunctionScore.Builder() .filter(QueryBuilders.match(builder -> builder.field("productCategoryId").query(productCategoryId))) .weight(3.0) .build()); FunctionScoreQuery.Builder functionScoreQueryBuilder = QueryBuilders.functionScore() .functions(functionScoreList) .scoreMode(FunctionScoreMode.Sum) .minScore(2.0); nativeQueryBuilder.withQuery(builder -> builder.functionScore(functionScoreQueryBuilder.build())); NativeQuery nativeQuery = nativeQueryBuilder.build(); LOGGER.info("DSL:{}", nativeQuery.getQuery().toString()); SearchHits searchHits = elasticsearchTemplate.search(nativeQuery, EsProduct.class); if(searchHits.getTotalHits()<=0){ return new PageImpl<>(ListUtil.empty(),pageable,0); } List searchProductList = searchHits.stream().map(SearchHit::getContent).collect(Collectors.toList()); return new PageImpl<>(searchProductList,pageable,searchHits.getTotalHits()); } return new PageImpl<>(ListUtil.empty()); } @Override public EsProductRelatedInfo searchRelatedInfo(String keyword) { NativeQueryBuilder nativeQueryBuilder = new NativeQueryBuilder(); //搜索条件 if(StrUtil.isEmpty(keyword)){ nativeQueryBuilder.withQuery(QueryBuilders.matchAll(builder -> builder)); }else{ nativeQueryBuilder.withQuery(QueryBuilders.multiMatch(builder -> builder.fields("name","subTitle","keywords").query(keyword))); } //聚合搜索品牌名称 nativeQueryBuilder.withAggregation("brandNames",AggregationBuilders.terms(builder -> builder.field("brandName").size(10))); //聚合搜索分类名称 nativeQueryBuilder.withAggregation("productCategoryNames",AggregationBuilders.terms(builder -> builder.field("productCategoryName").size(10))); //聚合搜索商品属性,去除type=0的属性 Aggregation aggregation = new Aggregation.Builder().nested(builder -> builder.path("attrValueList")) .aggregations("productAttrs",new Aggregation.Builder() .filter(b->b.term(a->a.field("attrValueList.type").value("1"))) .aggregations("attrIds",new Aggregation.Builder().terms(b->b.field("attrValueList.productAttributeId").size(10)) .aggregations("attrValues",new Aggregation.Builder().terms(b->b.field("attrValueList.value").size(10)).build()) .aggregations("attrNames",new Aggregation.Builder().terms(b->b.field("attrValueList.name").size(10)).build()) .build()).build()).build(); nativeQueryBuilder.withAggregation("allAttrValues",aggregation); NativeQuery nativeQuery = nativeQueryBuilder.build(); LOGGER.info("DSL:{}", nativeQueryBuilder.getQuery().toString()); SearchHits searchHits = elasticsearchTemplate.search(nativeQuery, EsProduct.class); return convertProductRelatedInfo(searchHits); } /** * 将返回结果转换为对象 */ private EsProductRelatedInfo convertProductRelatedInfo(SearchHits response) { EsProductRelatedInfo productRelatedInfo = new EsProductRelatedInfo(); Map esAggregationMap = ((ElasticsearchAggregations) response.getAggregations()).aggregationsAsMap(); //设置品牌 ElasticsearchAggregation brandNames = esAggregationMap.get("brandNames"); List brandNameList = new ArrayList<>(); List brandNameBuckets = ((StringTermsAggregate) brandNames.aggregation().getAggregate()._get()).buckets().array(); for(int i = 0; i productCategoryNameList = new ArrayList<>(); List productCategoryNameBuckets = ((StringTermsAggregate) productCategoryNames.aggregation().getAggregate()._get()).buckets().array(); for(int i = 0; i attrIdBuckets = ((LongTermsAggregate) ((FilterAggregate) ((NestedAggregate) productAttrs.aggregation().getAggregate()._get()).aggregations().get("productAttrs")._get()).aggregations().get("attrIds")._get()).buckets().array(); List attrList = new ArrayList<>(); for (LongTermsBucket item : attrIdBuckets) { EsProductRelatedInfo.ProductAttr attr = new EsProductRelatedInfo.ProductAttr(); attr.setAttrId(item.key()); List attrValueList = new ArrayList<>(); List attrValues = ((StringTermsAggregate) item.aggregations().get("attrValues")._get()).buckets().array(); List attrNames = ((StringTermsAggregate) item.aggregations().get("attrNames")._get()).buckets().array(); for (StringTermsBucket attrValue : attrValues) { attrValueList.add(attrValue.key().stringValue()); } attr.setAttrValues(attrValueList); if(!CollectionUtils.isEmpty(attrNames)){ String attrName = attrNames.get(0).key().stringValue(); attr.setAttrName(attrName); } attrList.add(attr); } productRelatedInfo.setProductAttrs(attrList); return productRelatedInfo; } } ================================================ FILE: mall-search/src/main/resources/application.yml ================================================ server: port: 8081 spring: mvc: pathmatch: matching-strategy: ant_path_matcher datasource: url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root druid: initial-size: 5 #连接池初始化大小 min-idle: 10 #最小空闲连接数 max-active: 20 #最大连接数 web-stat-filter: exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不统计这些请求数据 stat-view-servlet: #访问监控网页的登录用户名和密码 login-username: druid login-password: druid data: elasticsearch: repositories: enabled: true elasticsearch: uris: localhost:9200 mybatis: mapper-locations: - classpath:dao/*.xml - classpath*:com/**/mapper/*.xml management: endpoints: web: exposure: include: '*' #暴露Actuator的监控端点 endpoint: health: show-details: always #显示健康的详细信息 env: show-values: always #默认Actuator的环境变量会以****显示,这里开启显示 configprops: show-values: always #默认Actuator的配置属性会以****显示,这里开启显示 info: enabled: true springdoc: swagger-ui: # 修改Swagger UI路径 path: /swagger-ui.html # 开启Swagger UI界面 enabled: true # 用于配置tag和operation的展开方式,这里配置为都不展开 doc-expansion: 'none' api-docs: # 修改api-docs路径 path: /v3/api-docs # 开启api-docs enabled: true group-configs: - group: 'mall-search' packages-to-scan: com.macro.mall.search.controller ================================================ FILE: mall-search/src/main/resources/bootstrap-dev.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://localhost:8848 config: server-addr: http://localhost:8848 file-extension: yaml ================================================ FILE: mall-search/src/main/resources/bootstrap-prod.yml ================================================ spring: cloud: nacos: discovery: server-addr: http://nacos-registry:8848 config: server-addr: http://nacos-registry:8848 file-extension: yaml ================================================ FILE: mall-search/src/main/resources/bootstrap.yml ================================================ spring: profiles: active: dev application: name: mall-search ================================================ FILE: mall-search/src/main/resources/dao/EsProductDao.xml ================================================ ================================================ FILE: mall-search/src/test/java/com/macro/mall/search/MallSearchApplicationTests.java ================================================ package com.macro.mall.search; import com.macro.mall.search.dao.EsProductDao; import com.macro.mall.search.domain.EsProduct; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.elasticsearch.client.elc.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.IndexOperations; import java.util.List; import java.util.Map; @SpringBootTest public class MallSearchApplicationTests { @Autowired private EsProductDao productDao; @Autowired private ElasticsearchTemplate elasticsearchTemplate; @Test public void contextLoads() { } @Test public void testGetAllEsProductList(){ List esProductList = productDao.getAllEsProductList(null); System.out.print(esProductList); } @Test public void testEsProductMapping(){ IndexOperations indexOperations = elasticsearchTemplate.indexOps(EsProduct.class); indexOperations.putMapping(indexOperations.createMapping(EsProduct.class)); Map mapping = indexOperations.getMapping(); System.out.println(mapping); } } ================================================ FILE: pom.xml ================================================ 4.0.0 com.macro.mall mall-swarm 1.0-SNAPSHOT pom mall-common mall-mbg mall-demo mall-admin mall-search mall-portal mall-monitor mall-gateway mall-auth org.springframework.boot spring-boot-starter-parent 3.2.2 UTF-8 UTF-8 true http://192.168.3.101:2375 0.43.3 17 3.2.2 2023.0.1 2023.0.1.0 2.1.0 6.1.0 1.2.9 5.8.16 1.4.2 3.5.14 3.0.3 8.0.29 3.2.2 2.5.0 4.38.61.ALL 5.3 3.2.2 8.4.5 4.5.0 1.37.0 1.0-SNAPSHOT 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-aop org.springframework.boot spring-boot-starter-test test cn.hutool hutool-all org.projectlombok lombok org.springframework.boot spring-boot-configuration-processor true org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring-cloud-alibaba.version} pom import com.macro.mall mall-common ${mall-common.version} com.macro.mall mall-mbg ${mall-mbg.version} com.github.pagehelper pagehelper-spring-boot-starter ${pagehelper-starter.version} com.github.pagehelper pagehelper ${pagehelper.version} org.mybatis.spring.boot mybatis-spring-boot-starter ${mybatis-spring-boot-starter.version} com.alibaba druid-spring-boot-starter ${druid.version} cn.hutool hutool-all ${hutool.version} com.github.xiaoymin knife4j-gateway-spring-boot-starter ${knife4j.version} com.github.xiaoymin knife4j-openapi3-jakarta-spring-boot-starter ${knife4j.version} org.mybatis.generator mybatis-generator-core ${mybatis-generator.version} org.mybatis mybatis ${mybatis.version} mysql mysql-connector-java ${mysql-connector.version} org.springframework.data spring-data-commons ${spring-data-commons.version} com.aliyun.oss aliyun-sdk-oss ${aliyun-oss.version} net.logstash.logback logstash-logback-encoder ${logstash-logback.version} de.codecentric spring-boot-admin-starter-server ${spring-boot-admin.version} de.codecentric spring-boot-admin-starter-client ${spring-boot-admin.version} io.minio minio ${minio.version} com.alipay.sdk alipay-sdk-java ${alipay-sdk.version} cn.dev33 sa-token-reactor-spring-boot3-starter ${sa-token.version} cn.dev33 sa-token-spring-boot3-starter ${sa-token.version} cn.dev33 sa-token-redis-jackson ${sa-token.version} cn.dev33 sa-token-jwt ${sa-token.version} org.springframework.boot spring-boot-maven-plugin ${spring-boot.version} io.fabric8 docker-maven-plugin ${docker.maven.plugin.version} build-image package build ${docker.host} mall/${project.name}:${project.version} openjdk:17 ${project.build.finalName}.jar / artifact ["java", "-jar","-Dspring.profiles.active=prod","/${project.build.finalName}.jar"] macrozheng org.apache.maven.plugins maven-compiler-plugin -parameters aliyunmaven aliyun https://maven.aliyun.com/repository/public central2 central2 https://repo1.maven.org/maven2/ aliyunmaven aliyun https://maven.aliyun.com/repository/public central2 central2 https://repo1.maven.org/maven2/