gitextract_3i1j6qal/ ├── .gitignore ├── README.md ├── Redme.md ├── docs/ │ ├── xxbao.vp │ ├── 电商-数据库详细设计说明书V0.4.doc │ └── 电商平台框架-后台框架.doc ├── pom.xml ├── sql/ │ └── weixin.sql ├── weixin-common/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── common/ │ │ ├── constant/ │ │ │ ├── Constant.java │ │ │ └── weixin/ │ │ │ ├── WeixinFinalValue.java │ │ │ └── WeixinUrl.java │ │ ├── exception/ │ │ │ ├── BusinessException.java │ │ │ ├── ErrorEntity.java │ │ │ ├── MassageException.java │ │ │ └── WeixinException.java │ │ ├── model/ │ │ │ └── Page.java │ │ ├── security/ │ │ │ ├── CodecUtil.java │ │ │ ├── Digests.java │ │ │ ├── Encodes.java │ │ │ └── SecretUtils.java │ │ └── utils/ │ │ ├── CacheUtils.java │ │ ├── Captcha.java │ │ ├── DateUtils.java │ │ ├── Exceptions.java │ │ ├── JSONUtils.java │ │ ├── ServletUtils.java │ │ ├── SpringContextHolder.java │ │ ├── StringFormat.java │ │ ├── StringUtils.java │ │ └── SystemUtils.java │ └── resources/ │ └── weixinconfig.properties ├── weixin-common-config/ │ └── pom.xml ├── weixin-common-entity/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── common/ │ └── entity/ │ ├── BaseEntity.java │ ├── DataEntity.java │ ├── enums/ │ │ ├── Sex.java │ │ └── Status.java │ └── id/ │ ├── IdGen.java │ ├── IdGenerator.java │ └── package-info.java ├── weixin-common-service/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── common/ │ └── core/ │ └── dao/ │ └── BaseDaoMapper.java ├── weixin-notify-pay/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── webapp/ │ ├── WEB-INF/ │ │ └── web.xml │ └── index.jsp ├── weixin-rabbitmq-model/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rabbitmq/ │ ├── enums/ │ │ └── MsgType.java │ └── model/ │ └── SmsModel.java ├── weixin-rpc-admin/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── admin/ │ ├── entity/ │ │ ├── Admin.java │ │ ├── AdminRole.java │ │ ├── Permission.java │ │ ├── Role.java │ │ └── RolePermission.java │ └── service/ │ └── RpcAdminService.java ├── weixin-rpc-cart/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── cart/ │ ├── entity/ │ │ ├── CartInfo.java │ │ └── ShoppingCart.java │ ├── model/ │ │ └── ProductModel.java │ └── service/ │ └── RpcCartService.java ├── weixin-rpc-comment/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── comment/ │ ├── entity/ │ │ └── Comment.java │ └── service/ │ └── RpcCommentService.java ├── weixin-rpc-httpclient/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── httpclient/ │ └── service/ │ └── RpcHttpClientService.java ├── weixin-rpc-item/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── item/ │ ├── entity/ │ │ ├── Picture.java │ │ ├── Product.java │ │ └── ProductType.java │ └── service/ │ └── RpcProductService.java ├── weixin-rpc-log/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── log/ │ ├── entity/ │ │ └── Log.java │ ├── enums/ │ │ └── LogType.java │ ├── model/ │ │ └── RequestModel.java │ └── service/ │ └── RpcLogService.java ├── weixin-rpc-message/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── message/ │ ├── entity/ │ │ ├── EmailTemplate.java │ │ ├── SmsHistory.java │ │ └── SmsTemplate.java │ └── service/ │ └── RpcSmsService.java ├── weixin-rpc-order/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── order/ │ ├── entity/ │ │ ├── ArayacakAddress.java │ │ ├── ArayacakDeliveryTime.java │ │ ├── City.java │ │ ├── Country.java │ │ ├── DeliveryTime.java │ │ ├── DeliveryType.java │ │ ├── FlowStatus.java │ │ ├── OrderInfo.java │ │ ├── OrderProductDetail.java │ │ ├── OrderReturn.java │ │ ├── OrderReturnDetail.java │ │ ├── Pay.java │ │ ├── Province.java │ │ ├── RefundType.java │ │ ├── ReturnReason.java │ │ ├── ReturnStatus.java │ │ ├── Town.java │ │ └── Village.java │ ├── enumType/ │ │ ├── FlowStatus.java │ │ ├── OrderStatus.java │ │ ├── OrderType.java │ │ ├── PayStatus.java │ │ └── PayWay.java │ └── service/ │ └── RpcOrderService.java ├── weixin-rpc-promotion/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── promotion/ │ ├── entity/ │ │ ├── Coupon.java │ │ ├── CouponCode.java │ │ └── CouponHistory.java │ ├── enums/ │ │ └── CouponType.java │ └── service/ │ └── RpcCouponService.java ├── weixin-rpc-rabbitmq/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── rabbitmq/ │ └── service/ │ ├── RpcRabbitLogService.java │ └── RpcRabbitSmsService.java ├── weixin-rpc-redis/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── redis/ │ └── service/ │ └── RpcRedisService.java ├── weixin-rpc-system/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── system/ │ ├── entity/ │ │ ├── Ad.java │ │ ├── AdJoinPosition.java │ │ ├── AdPosition.java │ │ ├── Notice.java │ │ ├── NoticeType.java │ │ ├── PictureResource.java │ │ ├── PictureResourceType.java │ │ └── SystemParam.java │ └── service/ │ └── RpcSystemService.java ├── weixin-rpc-user/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── user/ │ ├── entity/ │ │ ├── Account.java │ │ ├── AccountLevel.java │ │ ├── AccountUpgradeHistory.java │ │ ├── Behavior.java │ │ ├── BonusPointRecord.java │ │ ├── CashRecord.java │ │ ├── City.java │ │ ├── Country.java │ │ ├── CouponRecord.java │ │ ├── DeliveryAddress.java │ │ ├── Member.java │ │ ├── ProductFocus.java │ │ └── Province.java │ ├── enumType/ │ │ ├── BehaviorType.java │ │ ├── Credit.java │ │ ├── Sex.java │ │ ├── SourceFrom.java │ │ └── TXType.java │ └── service/ │ └── RpcUserService.java ├── weixin-rpc-wxtools/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── cheng/ │ └── weixin/ │ └── rpc/ │ └── wxtools/ │ ├── content/ │ │ └── WeixinContent.java │ ├── entity/ │ │ ├── WxGroup.java │ │ └── WxMenu.java │ ├── enums/ │ │ ├── ActionType.java │ │ ├── Event.java │ │ ├── MidiaType.java │ │ ├── MsgType.java │ │ └── Status.java │ ├── request/ │ │ └── model/ │ │ ├── BaseMessage.java │ │ ├── ImageMessage.java │ │ ├── MediaMessage.java │ │ ├── ModelMsgData.java │ │ ├── MusicMessage.java │ │ ├── NewsMessage.java │ │ ├── TemplateMessage.java │ │ ├── TextMessage.java │ │ ├── VoiceMessage.java │ │ ├── WxImage.java │ │ ├── WxMenu.java │ │ ├── WxMusic.java │ │ ├── WxNews.java │ │ └── WxVoice.java │ ├── response/ │ │ └── model/ │ │ ├── AccessToken.java │ │ ├── SendTemplateMassage.java │ │ ├── WxGroup.java │ │ └── WxMedia.java │ └── service/ │ ├── RpcMessageHandleService.java │ ├── RpcWxGroupService.java │ └── RpcWxMenuService.java ├── weixin-service-admin/ │ ├── pom.xml │ ├── shell/ │ │ └── service-admin.sh │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── admin/ │ │ │ ├── dao/ │ │ │ │ ├── AdminDaoMapper.java │ │ │ │ ├── AdminRoleDaoMapper.java │ │ │ │ ├── PermissionDaoMapper.java │ │ │ │ └── RoleDaoMapper.java │ │ │ └── service/ │ │ │ └── AdminService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ ├── mybatis/ │ │ │ ├── mapper/ │ │ │ │ ├── AdminMapper.xml │ │ │ │ ├── AdminRoleMapper.xml │ │ │ │ ├── PermissionMapper.xml │ │ │ │ └── RoleMapper.xml │ │ │ └── mybatis-config.xml │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ └── spring-mybatis.xml │ └── test/ │ └── java/ │ └── com/ │ └── cheng/ │ └── shrio/ │ └── passwd/ │ └── TestPssWd.java ├── weixin-service-cart/ │ ├── pom.xml │ ├── shell/ │ │ └── service-cart.sh │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── cart/ │ │ │ └── service/ │ │ │ └── CartService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-consumer.xml │ │ └── spring-dubbo-provider.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── cart/ │ │ ├── TestAll.java │ │ └── TestCart.java │ └── resources/ │ ├── log4j.properties │ ├── spring-context.xml │ └── spring-dubbo-consumer.xml ├── weixin-service-comment/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── comment/ │ │ │ ├── dao/ │ │ │ │ └── CommentDaoMapper.java │ │ │ └── service/ │ │ │ └── CommentService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ ├── mybatis/ │ │ │ ├── mapper/ │ │ │ │ └── CommentMapper.xml │ │ │ └── mybatis-config.xml │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ └── spring-mybatis.xml │ └── test/ │ └── java/ │ └── com/ │ └── cheng/ │ └── comment/ │ └── test/ │ └── TestMain.java ├── weixin-service-httpclient/ │ ├── pom.xml │ ├── shell/ │ │ └── service-httpclient.sh │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── service/ │ │ └── httpclient/ │ │ ├── service/ │ │ │ └── HttpClientService.java │ │ └── utils/ │ │ └── ClientEvictExpiredConnections.java │ └── resources/ │ ├── httpClient.properties │ ├── log4j.properties │ └── spring/ │ ├── spring-context.xml │ ├── spring-dubbo-provider.xml │ └── spring-httpclient.xml ├── weixin-service-item/ │ ├── pom.xml │ ├── shell/ │ │ └── service-item.sh │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── item/ │ │ │ ├── dao/ │ │ │ │ ├── PictureDaoMapper.java │ │ │ │ ├── ProductDaoMapper.java │ │ │ │ └── ProductTypeDaoMapper.java │ │ │ └── service/ │ │ │ └── ProductService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ ├── mybatis/ │ │ │ ├── mapper/ │ │ │ │ ├── PictureMapper.xml │ │ │ │ ├── ProductMapper.xml │ │ │ │ └── ProductTypeMapper.xml │ │ │ └── mybatis-config.xml │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ └── spring-mybatis.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── item/ │ │ └── test/ │ │ └── TestAll.java │ └── resources/ │ ├── log4j.properties │ ├── spring-context.xml │ └── spring-mybatis.xml ├── weixin-service-log/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── log/ │ │ │ ├── dao/ │ │ │ │ └── LogDaoMapper.java │ │ │ └── service/ │ │ │ ├── LogMQService.java │ │ │ └── LogService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ ├── mybatis/ │ │ │ ├── mapper/ │ │ │ │ └── LogMapper.xml │ │ │ └── mybatis-config.xml │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ ├── spring-mybatis.xml │ │ └── spring-rabbitmq-listen.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── log/ │ │ └── test/ │ │ └── TestMain.java │ └── resources/ │ ├── LogMapper.xml │ ├── log4j.properties │ ├── mybatis-config.xml │ ├── spring-context.xml │ └── spring-mybatis.xml ├── weixin-service-message/ │ ├── pom.xml │ ├── shell/ │ │ └── service-message.sh │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── message/ │ │ │ ├── dao/ │ │ │ │ ├── EmailTemplateDaoMapper.java │ │ │ │ ├── SmsHistoryDaoMapper.java │ │ │ │ └── SmsTemplateDaoMapper.java │ │ │ └── service/ │ │ │ └── SmsService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ ├── mybatis/ │ │ │ ├── mapper/ │ │ │ │ ├── EmailTemplateMapper.xml │ │ │ │ ├── SmsHistoryMapper.xml │ │ │ │ └── SmsTemplateMapper.xml │ │ │ └── mybatis-config.xml │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ ├── spring-mybatis.xml │ │ └── spring-rabbitmq-listen.xml │ └── test/ │ └── java/ │ └── com/ │ └── cheng/ │ └── test/ │ └── TestMain.java ├── weixin-service-order/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── order/ │ │ │ ├── dao/ │ │ │ │ ├── ArayacakAddressDaoMapper.java │ │ │ │ ├── ArayacakDeliveryTimeDaoMapper.java │ │ │ │ ├── CityDaoMapper.java │ │ │ │ ├── CountryDaoMapper.java │ │ │ │ ├── DeliveryTimeDaoMapper.java │ │ │ │ ├── DeliveryTypeDaoMapper.java │ │ │ │ ├── FlowStatusDaoMapper.java │ │ │ │ ├── OrderInfoDaoMapper.java │ │ │ │ ├── OrderProductDetailDaoMapper.java │ │ │ │ ├── OrderReturnDaoMapper.java │ │ │ │ ├── OrderReturnDetailDaoMapper.java │ │ │ │ ├── PayDaoMapper.java │ │ │ │ ├── ProvinceDaoMapper.java │ │ │ │ ├── RefundTypeDaoMapper.java │ │ │ │ ├── ReturnReasonDaoMapper.java │ │ │ │ ├── ReturnStatusDaoMapper.java │ │ │ │ ├── TownDaoMapper.java │ │ │ │ └── VillageDaoMapper.java │ │ │ └── service/ │ │ │ └── OrderService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ ├── mybatis/ │ │ │ ├── mapper/ │ │ │ │ ├── ArayacakAddressMapper.xml │ │ │ │ ├── ArayacakDeliveryTimeMapper.xml │ │ │ │ ├── CityMapper.xml │ │ │ │ ├── CountryMapper.xml │ │ │ │ ├── DeliveryTimeMapper.xml │ │ │ │ ├── DeliveryTypeMapper.xml │ │ │ │ ├── FlowStatusMapper.xml │ │ │ │ ├── OrderInfoMapper.xml │ │ │ │ ├── OrderProductDetailMapper.xml │ │ │ │ ├── OrderReturnDetailMapper.xml │ │ │ │ ├── OrderReturnMapper.xml │ │ │ │ ├── PayMapper.xml │ │ │ │ ├── ProvinceMapper.xml │ │ │ │ ├── RefundTypeMapper.xml │ │ │ │ ├── ReturnReasonMapper.xml │ │ │ │ ├── ReturnStatusMapper.xml │ │ │ │ ├── TownMapper.xml │ │ │ │ └── VillageMapper.xml │ │ │ └── mybatis-config.xml │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ └── spring-mybatis.xml │ └── test/ │ └── java/ │ └── com/ │ └── cheng/ │ └── order/ │ └── test/ │ └── TestMain.java ├── weixin-service-promotion/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── service/ │ │ └── promotion/ │ │ ├── dao/ │ │ │ ├── CouponCodeDaoMapper.java │ │ │ ├── CouponDaoMapper.java │ │ │ └── CouponHistoryDaoMapper.java │ │ └── service/ │ │ └── CouponService.java │ └── resources/ │ ├── log4j.properties │ ├── mybatis/ │ │ ├── mapper/ │ │ │ ├── CouponCodeMapper.xml │ │ │ ├── CouponHistoryMapper.xml │ │ │ └── CouponMapper.xml │ │ └── mybatis-config.xml │ └── spring/ │ ├── spring-context.xml │ ├── spring-dubbo-provider.xml │ └── spring-mybatis.xml ├── weixin-service-rabbitmq/ │ ├── pom.xml │ ├── shell/ │ │ └── service-rabbitmq.sh │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── rabbitmq/ │ │ │ ├── RabbitLogService.java │ │ │ └── RabbitSmsService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ └── spring-rabbitmq.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── test/ │ │ ├── Foo.java │ │ ├── SpringMain.java │ │ ├── TestMain.java │ │ └── UserModel.java │ └── resources/ │ ├── context-direct.xml │ ├── context.xml │ ├── log4j.properties │ ├── spring-context.xml │ └── spring-rabbitmq.xml ├── weixin-service-redis/ │ ├── pom.xml │ ├── shell/ │ │ └── service-redis.sh │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── redis/ │ │ │ └── service/ │ │ │ ├── RedisService.java │ │ │ └── redis/ │ │ │ ├── Function.java │ │ │ └── RedisService_bak.java │ │ └── resources/ │ │ ├── Redme.md │ │ ├── log4j.properties │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ └── spring-redis.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── test/ │ │ ├── TestAll.java │ │ └── TestMain.java │ └── resources/ │ ├── log4j.properties │ ├── spring-context.xml │ └── spring-redis.xml ├── weixin-service-system/ │ ├── pom.xml │ ├── shell/ │ │ └── service-system.sh │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── service/ │ │ └── system/ │ │ ├── dao/ │ │ │ ├── AdDaoMapper.java │ │ │ ├── AdJoinPositionDaoMapper.java │ │ │ ├── AdPositionDaoMapper.java │ │ │ ├── NoticeDaoMapper.java │ │ │ ├── NoticeTypeDaoMapper.java │ │ │ └── SystemParamDaoMapper.java │ │ └── service/ │ │ └── SystemService.java │ └── resources/ │ ├── log4j.properties │ ├── mybatis/ │ │ ├── mapper/ │ │ │ ├── AdJoinPositionMapper.xml │ │ │ ├── AdMapper.xml │ │ │ ├── AdPositionMapper.xml │ │ │ ├── NoticeMapper.xml │ │ │ └── SystemParamMapper.xml │ │ └── mybatis-config.xml │ └── spring/ │ ├── spring-context.xml │ ├── spring-dubbo-provider.xml │ └── spring-mybatis.xml ├── weixin-service-timer/ │ ├── pom.xml │ ├── shell/ │ │ └── service-redis.sh │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── service/ │ │ └── timer/ │ │ ├── main/ │ │ │ └── TimerMain.java │ │ └── token/ │ │ └── RefreshAccessTokenTask.java │ └── resources/ │ ├── config.properties │ ├── log4j.properties │ └── spring/ │ ├── spring-context.xml │ ├── spring-dubbo-consumer.xml │ └── spring-quartz.xml ├── weixin-service-user/ │ ├── pom.xml │ ├── shell/ │ │ └── service-user.sh │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── cheng/ │ │ │ └── weixin/ │ │ │ └── service/ │ │ │ └── user/ │ │ │ ├── dao/ │ │ │ │ ├── AccountDaoMapper.java │ │ │ │ ├── AccountLevelDaoMapper.java │ │ │ │ ├── AccountUpgradeHistoryDaoMapper.java │ │ │ │ ├── BehaviorDaoMapper.java │ │ │ │ ├── BonusPointRecordDaoMapper.java │ │ │ │ ├── CashRecordDaoMapper.java │ │ │ │ ├── CityDaoMapper.java │ │ │ │ ├── CountryDaoMapper.java │ │ │ │ ├── CouponRecordDaoMapper.java │ │ │ │ ├── DeliveryAddressDaoMapper.java │ │ │ │ ├── MemberDaoMapper.java │ │ │ │ ├── ProductFocusDaoMapper.java │ │ │ │ └── ProvinceDaoMapper.java │ │ │ └── service/ │ │ │ └── UserService.java │ │ └── resources/ │ │ ├── log4j.properties │ │ ├── mybatis/ │ │ │ ├── mapper/ │ │ │ │ ├── AccountLevelMapper.xml │ │ │ │ ├── AccountMapper.xml │ │ │ │ ├── AccountUpgradeHistoryMapper.xml │ │ │ │ ├── BehaviorMapper.xml │ │ │ │ ├── BonusPointRecorMapper.xml │ │ │ │ ├── CashRecordMapper.xml │ │ │ │ ├── CityMapper.xml │ │ │ │ ├── CountryMapper.xml │ │ │ │ ├── CouponRecordMapper.xml │ │ │ │ ├── DeliveryAddressMapper.xml │ │ │ │ ├── MemberMapper.xml │ │ │ │ ├── ProductFocusMapper.xml │ │ │ │ └── ProvinceMapper.xml │ │ │ └── mybatis-config.xml │ │ └── spring/ │ │ ├── spring-context.xml │ │ ├── spring-dubbo-provider.xml │ │ └── spring-mybatis.xml │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── test/ │ │ ├── TestAll.java │ │ └── TestMain.java │ └── resources/ │ ├── log4j.properties │ ├── spring-context.xml │ └── spring-mybatis.xml ├── weixin-service-wxtools/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── service/ │ │ └── wxtools/ │ │ ├── dao/ │ │ │ ├── WxGroupDaoMapper.java │ │ │ └── WxMenuDaoMapper.java │ │ ├── httputils/ │ │ │ ├── HttpClientService.java │ │ │ └── HttpUtils.java │ │ ├── service/ │ │ │ ├── WxGroupService.java │ │ │ ├── WxMenuService.java │ │ │ └── msghandle/ │ │ │ └── MessageHandle.java │ │ └── utils/ │ │ └── XMLUtils.java │ └── resources/ │ ├── mybatis/ │ │ ├── mapper/ │ │ │ └── WxGroupMapper.xml │ │ └── mybatis-config.xml │ └── spring/ │ ├── spring-context.xml │ ├── spring-dubbo-consumer.xml │ ├── spring-dubbo-provider.xml │ └── spring-mybatis.xml ├── weixin-web-manage/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── web/ │ │ └── manage/ │ │ ├── controllers/ │ │ │ ├── AdminController.java │ │ │ ├── BaseController.java │ │ │ ├── IndexController.java │ │ │ └── LoginController.java │ │ ├── interceptor/ │ │ │ └── LogInterceptor.java │ │ ├── security/ │ │ │ ├── SystemAuthorizingRealm.java │ │ │ ├── WxFormAuthenticationFilter.java │ │ │ └── WxUsernamePasswordToken.java │ │ └── utils/ │ │ └── UserUtils.java │ ├── resources/ │ │ ├── ehcache/ │ │ │ └── ehcache.xml │ │ ├── globalconf.properties │ │ ├── log4j.properties │ │ ├── rebel.xml │ │ └── spring/ │ │ ├── applicationContext.xml │ │ ├── spring-dubbo-consumer.xml │ │ ├── spring-mvc.xml │ │ └── spring-shrio.xml │ └── webapp/ │ ├── WEB-INF/ │ │ ├── include/ │ │ │ └── taglibs.jsp │ │ ├── tags/ │ │ │ └── captcha.tag │ │ ├── views/ │ │ │ ├── home.jsp │ │ │ ├── index.jsp │ │ │ ├── login.jsp │ │ │ └── test.jsp │ │ └── web.xml │ ├── static/ │ │ ├── css/ │ │ │ ├── bootstrap.min14ed.css │ │ │ ├── font-awesome.min93e3.css │ │ │ ├── plugins/ │ │ │ │ ├── awesome-bootstrap-checkbox/ │ │ │ │ │ └── awesome-bootstrap-checkbox.css │ │ │ │ ├── chosen/ │ │ │ │ │ └── chosen.css │ │ │ │ ├── clockpicker/ │ │ │ │ │ └── clockpicker.css │ │ │ │ ├── codemirror/ │ │ │ │ │ ├── ambiance.css │ │ │ │ │ └── codemirror.css │ │ │ │ ├── dataTables/ │ │ │ │ │ └── dataTables.bootstrap.css │ │ │ │ ├── datapicker/ │ │ │ │ │ └── datepicker3.css │ │ │ │ ├── dropzone/ │ │ │ │ │ ├── basic.css │ │ │ │ │ └── dropzone.css │ │ │ │ ├── footable/ │ │ │ │ │ └── footable.core.css │ │ │ │ ├── fullcalendar/ │ │ │ │ │ ├── fullcalendar.css │ │ │ │ │ └── fullcalendar.print.css │ │ │ │ ├── iCheck/ │ │ │ │ │ └── custom.css │ │ │ │ ├── ionRangeSlider/ │ │ │ │ │ ├── ion.rangeSlider.css │ │ │ │ │ └── ion.rangeSlider.skinFlat.css │ │ │ │ ├── jqgrid/ │ │ │ │ │ └── ui.jqgridffe4.css │ │ │ │ ├── nouslider/ │ │ │ │ │ └── jquery.nouislider.css │ │ │ │ ├── plyr/ │ │ │ │ │ └── plyr.css │ │ │ │ ├── simditor/ │ │ │ │ │ └── simditor.css │ │ │ │ ├── steps/ │ │ │ │ │ └── jquery.steps.css │ │ │ │ ├── summernote/ │ │ │ │ │ ├── summernote-bs3.css │ │ │ │ │ └── summernote.css │ │ │ │ ├── sweetalert/ │ │ │ │ │ └── sweetalert.css │ │ │ │ ├── switchery/ │ │ │ │ │ └── switchery.css │ │ │ │ ├── treeview/ │ │ │ │ │ └── bootstrap-treeview.css │ │ │ │ └── webuploader/ │ │ │ │ └── webuploader.css │ │ │ └── style.min862f.css │ │ ├── html/ │ │ │ ├── home.html │ │ │ ├── index.html │ │ │ ├── login.html │ │ │ └── w-index.html │ │ ├── js/ │ │ │ └── plugins/ │ │ │ ├── beautifyhtml/ │ │ │ │ └── beautifyhtml.js │ │ │ ├── chosen/ │ │ │ │ └── chosen.jquery.js │ │ │ ├── clockpicker/ │ │ │ │ └── clockpicker.js │ │ │ ├── codemirror/ │ │ │ │ ├── codemirror.js │ │ │ │ └── mode/ │ │ │ │ └── javascript/ │ │ │ │ └── javascript.js │ │ │ ├── dataTables/ │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ └── jquery.dataTables.js │ │ │ ├── datapicker/ │ │ │ │ └── bootstrap-datepicker.js │ │ │ ├── diff_match_patch/ │ │ │ │ └── diff_match_patch.js │ │ │ ├── dropzone/ │ │ │ │ └── dropzone.js │ │ │ ├── easypiechart/ │ │ │ │ └── jquery.easypiechart.js │ │ │ ├── echarts/ │ │ │ │ └── echarts-all.js │ │ │ ├── fancybox/ │ │ │ │ ├── jquery.fancybox.css │ │ │ │ └── jquery.fancybox.js │ │ │ ├── flot/ │ │ │ │ ├── curvedLines.js │ │ │ │ ├── jquery.flot.js │ │ │ │ ├── jquery.flot.pie.js │ │ │ │ ├── jquery.flot.resize.js │ │ │ │ ├── jquery.flot.spline.js │ │ │ │ └── jquery.flot.symbol.js │ │ │ ├── gritter/ │ │ │ │ └── jquery.gritter.css │ │ │ ├── jeditable/ │ │ │ │ └── jquery.jeditable.js │ │ │ ├── jqgrid/ │ │ │ │ ├── i18n/ │ │ │ │ │ └── grid.locale-cnffe4.js │ │ │ │ └── jquery.jqGrid.minffe4.js │ │ │ ├── jsKnob/ │ │ │ │ └── jquery.knob.js │ │ │ ├── jvectormap/ │ │ │ │ └── jquery-jvectormap-world-mill-en.js │ │ │ ├── layer/ │ │ │ │ ├── extend/ │ │ │ │ │ └── layer.ext.js │ │ │ │ ├── laydate/ │ │ │ │ │ ├── laydate.js │ │ │ │ │ ├── need/ │ │ │ │ │ │ └── laydate.css │ │ │ │ │ └── skins/ │ │ │ │ │ ├── dahong/ │ │ │ │ │ │ └── laydate.css │ │ │ │ │ ├── default/ │ │ │ │ │ │ └── laydate.css │ │ │ │ │ └── molv/ │ │ │ │ │ └── laydate.css │ │ │ │ ├── laydate-v1.1/ │ │ │ │ │ ├── demo.html │ │ │ │ │ ├── layDate官网.url │ │ │ │ │ ├── laydate/ │ │ │ │ │ │ ├── laydate.js │ │ │ │ │ │ ├── need/ │ │ │ │ │ │ │ └── laydate.css │ │ │ │ │ │ └── skins/ │ │ │ │ │ │ ├── dahong/ │ │ │ │ │ │ │ └── laydate.css │ │ │ │ │ │ ├── default/ │ │ │ │ │ │ │ └── laydate.css │ │ │ │ │ │ └── molv/ │ │ │ │ │ │ └── laydate.css │ │ │ │ │ └── 更新日志.txt │ │ │ │ ├── layim/ │ │ │ │ │ ├── layim.css │ │ │ │ │ └── layim.js │ │ │ │ └── skin/ │ │ │ │ ├── layer.css │ │ │ │ ├── layer.ext.css │ │ │ │ └── moon/ │ │ │ │ └── style.css │ │ │ ├── markdown/ │ │ │ │ ├── bootstrap-markdown.js │ │ │ │ ├── bootstrap-markdown.zh.js │ │ │ │ ├── markdown.js │ │ │ │ └── to-markdown.js │ │ │ ├── metisMenu/ │ │ │ │ └── jquery.metisMenu.js │ │ │ ├── morris/ │ │ │ │ └── morris.js │ │ │ ├── nestable/ │ │ │ │ └── jquery.nestable.js │ │ │ ├── plyr/ │ │ │ │ └── plyr.js │ │ │ ├── prettyfile/ │ │ │ │ └── bootstrap-prettyfile.js │ │ │ ├── rickshaw/ │ │ │ │ └── vendor/ │ │ │ │ └── d3.v3.js │ │ │ ├── simditor/ │ │ │ │ ├── hotkeys.js │ │ │ │ ├── module.js │ │ │ │ ├── simditor.js │ │ │ │ └── uploader.js │ │ │ ├── summernote/ │ │ │ │ └── summernote-zh-CN.js │ │ │ ├── switchery/ │ │ │ │ └── switchery.js │ │ │ ├── treeview/ │ │ │ │ └── bootstrap-treeview.js │ │ │ └── webuploader/ │ │ │ └── index.html │ │ ├── plugins/ │ │ │ └── fullavatareditor/ │ │ │ └── scripts/ │ │ │ ├── fullAvatarEditor.js │ │ │ ├── jQuery.Cookie.js │ │ │ ├── swfobject.js │ │ │ └── test.js │ │ └── test/ │ │ └── index.html │ └── test.jsp └── weixin-web-mobile/ ├── pom.xml └── src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── cheng/ │ │ └── weixin/ │ │ └── web/ │ │ └── mobile/ │ │ ├── ControllerExceptionHandle.java │ │ ├── WeixinController.java │ │ ├── controller/ │ │ │ ├── BaseController.java │ │ │ ├── CartController.java │ │ │ ├── CommentController.java │ │ │ ├── IndexController.java │ │ │ ├── LoginController.java │ │ │ ├── MallController.java │ │ │ ├── OrderController.java │ │ │ ├── ProductController.java │ │ │ ├── PromotionController.java │ │ │ └── UserController.java │ │ ├── exception/ │ │ │ ├── BaseException.java │ │ │ ├── BusinessException.java │ │ │ ├── IllegalParameterException.java │ │ │ ├── LoginException.java │ │ │ ├── OrderException.java │ │ │ ├── ProductException.java │ │ │ ├── TokenException.java │ │ │ ├── UserException.java │ │ │ └── message/ │ │ │ └── StatusCode.java │ │ ├── i18n/ │ │ │ └── Resources.java │ │ ├── interceptor/ │ │ │ ├── LogInterceptor.java │ │ │ └── MaliciousRequestInterceptor.java │ │ ├── json/ │ │ │ ├── CustomObjectMapper.java │ │ │ └── JsonpHttpMessageConverter.java │ │ ├── model/ │ │ │ ├── Book.java │ │ │ ├── Meta.java │ │ │ ├── Response.java │ │ │ └── User.java │ │ ├── param/ │ │ │ ├── AddressDto.java │ │ │ ├── LoginDto.java │ │ │ ├── PageDto.java │ │ │ ├── PaymentDto.java │ │ │ ├── ProductCategoryDto.java │ │ │ ├── ProductDto.java │ │ │ ├── ProductListDto.java │ │ │ ├── RegDto.java │ │ │ └── package-info.java │ │ ├── properties/ │ │ │ ├── Configuration.java │ │ │ ├── Global.java │ │ │ └── Properties.java │ │ ├── result/ │ │ │ ├── Promotion/ │ │ │ │ └── CouponDto.java │ │ │ ├── cart/ │ │ │ │ ├── ProductCartInfo.java │ │ │ │ ├── ProductInfo.java │ │ │ │ ├── ProductInfoComparator.java │ │ │ │ └── ShoppingCartInfo.java │ │ │ ├── comment/ │ │ │ │ └── ProductComment.java │ │ │ ├── index/ │ │ │ │ ├── Index.java │ │ │ │ ├── IndexAd.java │ │ │ │ ├── IndexBuy.java │ │ │ │ ├── IndexImage.java │ │ │ │ ├── IndexNotice.java │ │ │ │ └── IndexProduct.java │ │ │ ├── mall/ │ │ │ │ ├── Mall.java │ │ │ │ ├── MallBuy.java │ │ │ │ ├── ProductCategory.java │ │ │ │ └── Products.java │ │ │ ├── order/ │ │ │ │ ├── ArayacakTownAddr.java │ │ │ │ ├── ArayacakVillageAddr.java │ │ │ │ ├── BuyInfo.java │ │ │ │ ├── Detail.java │ │ │ │ ├── OrderDeliveryTime.java │ │ │ │ ├── OrderList.java │ │ │ │ ├── OrderPay.java │ │ │ │ ├── ProductDetail.java │ │ │ │ ├── ProductList.java │ │ │ │ ├── Status.java │ │ │ │ └── SubmitOrderInfo.java │ │ │ ├── package-info.java │ │ │ ├── product/ │ │ │ │ ├── ProductDetail.java │ │ │ │ └── ProductPic.java │ │ │ └── user/ │ │ │ ├── DeliveryAddr.java │ │ │ └── UserDetail.java │ │ ├── security/ │ │ │ ├── IgnoreSecurity.java │ │ │ ├── LocalUser.java │ │ │ ├── SecurityAspect.java │ │ │ ├── TokenManager.java │ │ │ ├── User.java │ │ │ ├── impl/ │ │ │ │ ├── DefaultTokenManager.java │ │ │ │ └── RedisTokenManager.java │ │ │ └── package-info.java │ │ └── service/ │ │ ├── SysCartService.java │ │ ├── SysCommentService.java │ │ ├── SysIndexService.java │ │ ├── SysLoginService.java │ │ ├── SysOrderService.java │ │ ├── SysProductService.java │ │ ├── SysPromotionService.java │ │ ├── SysUserService.java │ │ └── sysMallService.java │ ├── resources/ │ │ ├── globalconf.properties │ │ ├── i18n/ │ │ │ ├── messages_en.properties │ │ │ └── messages_zh.properties │ │ ├── log4j.properties │ │ ├── rebel.xml │ │ └── spring/ │ │ ├── applicationContext.xml │ │ ├── spring-dubbo-consumer.xml │ │ └── spring-mvc.xml │ └── webapp/ │ ├── WEB-INF/ │ │ ├── views/ │ │ │ └── index.jsp │ │ └── web.xml │ └── index.jsp └── test/ ├── java/ │ └── com/ │ └── cheng/ │ └── dubbo/ │ └── consumer/ │ └── test/ │ ├── ConsumerTest.java │ ├── ServiceTest.java │ ├── TestAll.java │ └── TestDemo.java └── resources/ ├── applicationContext.xml ├── log4j.properties └── spring-dubbo-consumer.xml