From 922cfdc056b76c6ae16a53405399010e7e7fc052 Mon Sep 17 00:00:00 2001 From: gugu Date: Tue, 21 Jun 2016 20:18:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=BE=AE=E4=BF=A1=E3=80=81io?= =?UTF-8?q?nic-android=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goshop-common-service.iml | 2 + goshop-common-shiro/goshop-common-shiro.iml | 2 + goshop-common-web/goshop-common-web.iml | 4 + goshop-common-web/pom.xml | 6 + .../goshop/common/web/utils/ImageUtils.java | 293 ++++ .../goshop/common/web/utils/TokenUtils.java | 73 + goshop-common/goshop-common.iml | 4 + goshop-common/pom.xml | 8 + .../org/goshop/common/utils/BeanUtils.java | 82 + .../common/utils/RegexValidateUtil.java | 111 ++ goshop-facade-cms/goshop-facade-cms.iml | 4 + goshop-facade-email/pom.xml | 15 + .../java/org/goshop/email/i/EMailService.java | 14 + goshop-facade-goods/pom.xml | 35 + .../org/goshop/goods/i/GoodsClassService.java | 30 + .../org/goshop/goods/i/GoodsTypeService.java | 11 + .../org/goshop/goods/pojo/GoodsClass.java | 134 ++ .../java/org/goshop/goods/pojo/GoodsType.java | 55 + goshop-facade-store/pom.xml | 39 + .../org/goshop/store/i/StoreClassService.java | 44 + .../store/i/StoreGoodsClassService.java | 12 + .../org/goshop/store/i/StoreGradeService.java | 29 + .../org/goshop/store/i/StoreJoinService.java | 44 + .../java/org/goshop/store/i/StoreService.java | 33 + .../goshop/store/model/JsonManagement.java | 20 + .../store/model/JsonManagementClass.java | 28 + .../goshop/store/model/StoreInfoModel.java | 45 + .../java/org/goshop/store/pojo/Store.java | 457 +++++ .../org/goshop/store/pojo/StoreClass.java | 75 + .../goshop/store/pojo/StoreGoodsClass.java | 65 + .../org/goshop/store/pojo/StoreGrade.java | 133 ++ .../java/org/goshop/store/pojo/StoreJoin.java | 486 ++++++ .../org/goshop/store/pojo/StoreWithBLOBs.java | 63 + goshop-facade-users/goshop-facade-users.iml | 4 + .../goshop/users/i/FindPasswordService.java | 16 + .../org/goshop/users/i/MemberService.java | 42 + .../java/org/goshop/users/i/UserService.java | 6 + .../org/goshop/users/pojo/FindPassword.java | 37 + goshop-service-cms/goshop-service-cms.iml | 6 +- goshop-service-cms/pom.xml | 1 - goshop-service-email/pom.xml | 150 ++ .../email/service/EMailServiceImpl.java | 29 + .../goshop/email/utils/MailAuthenticator.java | 55 + .../org/goshop/email/utils/SimpleMail.java | 27 + .../goshop/email/utils/SimpleMailSender.java | 176 ++ .../src/main/resources/log4j.properties | 27 + .../main/resources/resource/email.properties | 2 + .../applicationContext-dubbo-provider.xml | 33 + .../main/resources/spring/spring-context.xml | 19 + .../email/service/EMailServiceImplTest.java | 22 + .../src/test/java/service/DubboProvider.java | 36 + .../src/test/java/service/SpringBaseTest.java | 18 + goshop-service-goods/pom.xml | 181 ++ .../goods/service/GoodsClassServiceImpl.java | 81 + .../goods/service/GoodsTypeServiceImpl.java | 22 + .../store/mapper/master/GoodsClassMapper.java | 30 + .../store/mapper/master/GoodsClassMapper.xml | 229 +++ .../store/mapper/master/GoodsTypeMapper.java | 22 + .../store/mapper/master/GoodsTypeMapper.xml | 99 ++ .../mapper/read/ReadGoodsClassMapper.java | 30 + .../mapper/read/ReadGoodsClassMapper.xml | 229 +++ .../mapper/read/ReadGoodsTypeMapper.java | 22 + .../store/mapper/read/ReadGoodsTypeMapper.xml | 99 ++ goshop-service-store/pom.xml | 185 +++ .../store/mapper/master/StoreClassMapper.java | 36 + .../store/mapper/master/StoreClassMapper.xml | 188 +++ .../mapper/master/StoreGoodsClassMapper.java | 21 + .../mapper/master/StoreGoodsClassMapper.xml | 120 ++ .../store/mapper/master/StoreGradeMapper.java | 30 + .../store/mapper/master/StoreGradeMapper.xml | 234 +++ .../store/mapper/master/StoreJoinMapper.java | 40 + .../store/mapper/master/StoreJoinMapper.xml | 632 +++++++ .../store/mapper/master/StoreMapper.java | 39 + .../store/mapper/master/StoreMapper.xml | 731 ++++++++ .../mapper/read/ReadStoreClassMapper.java | 36 + .../mapper/read/ReadStoreClassMapper.xml | 188 +++ .../read/ReadStoreGoodsClassMapper.java | 21 + .../mapper/read/ReadStoreGoodsClassMapper.xml | 120 ++ .../mapper/read/ReadStoreGradeMapper.java | 30 + .../mapper/read/ReadStoreGradeMapper.xml | 234 +++ .../mapper/read/ReadStoreJoinMapper.java | 40 + .../store/mapper/read/ReadStoreJoinMapper.xml | 632 +++++++ .../store/mapper/read/ReadStoreMapper.java | 39 + .../store/mapper/read/ReadStoreMapper.xml | 731 ++++++++ .../store/service/StoreClassServiceImpl.java | 130 ++ .../service/StoreGoodsClassServiceImpl.java | 20 + .../store/service/StoreGradeServiceImpl.java | 100 ++ .../store/service/StoreJoinServiceImpl.java | 224 +++ .../store/service/StoreServiceImpl.java | 104 ++ .../src/main/resources/log4j.properties | 27 + .../main/resources/mybatis/SqlMapConfig.xml | 13 + .../src/main/resources/resource/db.properties | 11 + .../spring/applicationContext-dao.xml | 82 + .../applicationContext-dubbo-provider.xml | 40 + .../spring/applicationContext-jedis.xml | 75 + .../spring/applicationContext-shiro.xml | 26 + .../main/resources/spring/spring-context.xml | 22 + goshop-service-users/goshop-service-users.iml | 7 +- goshop-service-users/pom.xml | 5 +- .../mapper/master/FindPasswordMapper.java | 28 + .../mapper/master/FindPasswordMapper.xml | 54 + .../mapper/read/ReadFindPasswordMapper.java | 28 + .../mapper/read/ReadFindPasswordMapper.xml | 54 + .../service/FindPasswordEMailServiceImpl.java | 67 + .../users/service/MemberServiceImpl.java | 164 ++ .../goshop/users/service/UserServiceImpl.java | 15 + .../main/resources/dubbo/dubbo-consumer.xml | 24 + .../resources/dubbo/dubbo-reference-email.xml | 11 + .../main/resources/spring/spring-context.xml | 1 + goshop-web-manager/goshop-web-manager.iml | 4 +- goshop-web-portal/pom.xml | 124 ++ .../controller/AttachmentController.java | 27 + .../portal/controller/HomeController.java | 18 + .../portal/controller/LoginController.java | 165 ++ .../portal/controller/MemberController.java | 233 +++ .../portal/controller/MessageController.java | 36 + .../portal/controller/RegisterController.java | 85 + .../controller/StoreJoinController.java | 261 +++ .../org/goshop/portal/model/MemberModel.java | 130 ++ .../org/goshop/portal/model/PrivacyModel.java | 81 + .../main/resources/dubbo/dubbo-consumer.xml | 25 + .../resources/dubbo/dubbo-reference-cms.xml | 17 + .../resources/dubbo/dubbo-reference-user.xml | 15 + .../src/main/resources/log4j.properties | 5 + .../resources/resource/freemarker.properties | 11 + .../resources/resource/resource.properties | 9 + .../spring/applicationContext-jedis.xml | 75 + .../spring/applicationContext-shiro.xml | 149 ++ .../main/resources/spring/spring-context.xml | 26 + .../src/main/resources/spring/springmvc.xml | 92 + .../src/main/webapp/WEB-INF/ftl/button.ftl | 58 + .../src/main/webapp/WEB-INF/ftl/footer.ftl | 10 + .../webapp/WEB-INF/ftl/forget_password.ftl | 181 ++ .../src/main/webapp/WEB-INF/ftl/index.ftl | 19 + .../src/main/webapp/WEB-INF/ftl/login.ftl | 198 +++ .../webapp/WEB-INF/ftl/member/address.ftl | 4 + .../webapp/WEB-INF/ftl/member/binding.ftl | 4 + .../webapp/WEB-INF/ftl/member/deposit.ftl | 4 + .../main/webapp/WEB-INF/ftl/member/detail.ftl | 4 + .../webapp/WEB-INF/ftl/member/framework.ftl | 66 + .../webapp/WEB-INF/ftl/member/set_avatar.ftl | 48 + .../WEB-INF/ftl/member/set_avatar_upload.ftl | 80 + .../webapp/WEB-INF/ftl/member/set_base.ftl | 181 ++ .../webapp/WEB-INF/ftl/member/set_email.ftl | 67 + .../WEB-INF/ftl/member/set_password.ftl | 72 + .../webapp/WEB-INF/ftl/member/set_sidebar.ftl | 11 + .../webapp/WEB-INF/ftl/member/tabmenu.ftl | 6 + .../webapp/WEB-INF/ftl/member/withdraw.ftl | 4 + .../main/webapp/WEB-INF/ftl/member_header.ftl | 21 + .../src/main/webapp/WEB-INF/ftl/message.ftl | 76 + .../webapp/WEB-INF/ftl/password_update.ftl | 186 +++ .../src/main/webapp/WEB-INF/ftl/refuse.ftl | 74 + .../src/main/webapp/WEB-INF/ftl/register.ftl | 306 ++++ .../main/webapp/WEB-INF/ftl/simple_header.ftl | 6 + .../main/webapp/WEB-INF/ftl/store/header.ftl | 12 + .../webapp/WEB-INF/ftl/store/settled_pay.ftl | 329 ++++ .../WEB-INF/ftl/store/settled_step_four.ftl | 65 + .../WEB-INF/ftl/store/settled_step_one.ftl | 356 ++++ .../WEB-INF/ftl/store/settled_step_three.ftl | 289 ++++ .../WEB-INF/ftl/store/settled_step_two.ftl | 320 ++++ .../main/webapp/WEB-INF/ftl/store/sidebar.ftl | 10 + .../WEB-INF/ftl/store/store_agreement.ftl | 45 + .../src/main/webapp/WEB-INF/ftl/top.ftl | 57 + .../src/main/webapp/WEB-INF/web.xml | 90 + goshop-web-portal/src/main/webapp/index.jsp | 2 + .../main/webapp/static/images/2014grate.png | Bin 0 -> 1199 bytes .../static/images/2014shop_background_img.png | Bin 0 -> 6510 bytes .../src/main/webapp/static/images/CP.png | Bin 0 -> 3212 bytes .../src/main/webapp/static/images/bg.png | Bin 0 -> 185 bytes .../src/main/webapp/static/images/btn.gif | Bin 0 -> 1799 bytes .../webapp/static/images/buy/buy_step.gif | Bin 0 -> 3140 bytes .../main/webapp/static/images/buy/cart.png | Bin 0 -> 20399 bytes .../main/webapp/static/images/buy/gift.png | Bin 0 -> 11680 bytes .../main/webapp/static/images/buy/pay-use.png | Bin 0 -> 649 bytes .../main/webapp/static/images/checking.gif | Bin 0 -> 847 bytes .../static/images/default_admin_avatar.png | Bin 0 -> 591 bytes .../src/main/webapp/static/images/delect.ico | Bin 0 -> 2462 bytes .../src/main/webapp/static/images/gift.png | Bin 0 -> 403 bytes .../main/webapp/static/images/group_bg.png | Bin 0 -> 1510 bytes .../src/main/webapp/static/images/home_bg.png | Bin 0 -> 16713 bytes .../src/main/webapp/static/images/ico.gif | Bin 0 -> 12951 bytes .../src/main/webapp/static/images/index.html | 0 .../src/main/webapp/static/images/loading.gif | Bin 0 -> 673 bytes .../src/main/webapp/static/images/login.png | Bin 0 -> 21443 bytes .../src/main/webapp/static/images/login/2.jpg | Bin 0 -> 38782 bytes .../main/webapp/static/images/login/login.png | Bin 0 -> 21443 bytes .../static/images/login/login_bg_01.png | Bin 0 -> 8232 bytes .../static/images/login/login_bg_01_pic.png | Bin 0 -> 33488 bytes .../static/images/login/login_bg_02.png | Bin 0 -> 11659 bytes .../static/images/login/login_bg_02_pic.png | Bin 0 -> 30600 bytes .../webapp/static/images/login/login_code.gif | Bin 0 -> 250 bytes .../main/webapp/static/images/login_qq.jpg | Bin 0 -> 19649 bytes .../main/webapp/static/images/login_weibo.jpg | Bin 0 -> 21539 bytes .../src/main/webapp/static/images/logo.png | Bin 0 -> 71614 bytes .../static/images/member-card/mail-send.png | Bin 0 -> 692 bytes .../webapp/static/images/member-card/sex.png | Bin 0 -> 1144 bytes .../webapp/static/images/member/ad_next.png | Bin 0 -> 355 bytes .../webapp/static/images/member/ad_prev.png | Bin 0 -> 364 bytes .../webapp/static/images/member/ad_scroll.png | Bin 0 -> 623 bytes .../webapp/static/images/member/ajax-edit.gif | Bin 0 -> 183 bytes .../webapp/static/images/member/album_bg.gif | Bin 0 -> 6480 bytes .../static/images/member/bg_repeat_x.png | Bin 0 -> 233 bytes .../main/webapp/static/images/member/btn.gif | Bin 0 -> 23827 bytes .../images/member/bundling_goods_thumb.gif | Bin 0 -> 2042 bytes .../webapp/static/images/member/buyer_bg.png | Bin 0 -> 291 bytes .../static/images/member/buyer_header.png | Bin 0 -> 6914 bytes .../webapp/static/images/member/close.gif | Bin 0 -> 142 bytes .../webapp/static/images/member/cut_bg.png | Bin 0 -> 219 bytes .../static/images/member/default_image.png | Bin 0 -> 3037 bytes .../main/webapp/static/images/member/del.png | Bin 0 -> 544 bytes .../webapp/static/images/member/gray_th.jpg | Bin 0 -> 13153 bytes .../main/webapp/static/images/member/ico.gif | Bin 0 -> 14634 bytes .../static/images/member/menu_dotted.gif | Bin 0 -> 54 bytes .../webapp/static/images/member/modify.png | Bin 0 -> 2908 bytes .../webapp/static/images/member/modify1.png | Bin 0 -> 44619 bytes .../main/webapp/static/images/member/mubg.png | Bin 0 -> 241 bytes .../webapp/static/images/member/ncus_body.png | Bin 0 -> 265 bytes .../static/images/member/ncus_public.png | Bin 0 -> 183176 bytes .../static/images/member/ncus_repeat_x.png | Bin 0 -> 406 bytes .../webapp/static/images/member/oldbtn.gif | Bin 0 -> 746 bytes .../webapp/static/images/member/opa75.png | Bin 0 -> 110 bytes .../main/webapp/static/images/member/open.gif | Bin 0 -> 148 bytes .../webapp/static/images/member/repeat_x.png | Bin 0 -> 219 bytes .../webapp/static/images/member/right.gif | Bin 0 -> 347 bytes .../webapp/static/images/member/search.png | Bin 0 -> 3326 bytes .../webapp/static/images/member/search1.png | Bin 0 -> 45242 bytes .../member/shareicon/shareicon_qqweibo.png | Bin 0 -> 10504 bytes .../member/shareicon/shareicon_qqzone.png | Bin 0 -> 10317 bytes .../member/shareicon/shareicon_renren.png | Bin 0 -> 8805 bytes .../member/shareicon/shareicon_sinaweibo.png | Bin 0 -> 11782 bytes .../images/member/shareicon/shareicons.gif | Bin 0 -> 4425 bytes .../static/images/member/sns_bg_repeat_x.png | Bin 0 -> 307 bytes .../webapp/static/images/member/sort_asc.gif | Bin 0 -> 183 bytes .../webapp/static/images/member/sort_desc.gif | Bin 0 -> 287 bytes .../webapp/static/images/member/ssns_bg.png | Bin 0 -> 212 bytes .../webapp/static/images/member/ssns_pics.png | Bin 0 -> 472 bytes .../webapp/static/images/member/success.gif | Bin 0 -> 1413 bytes .../static/images/member/upload_loading.gif | Bin 0 -> 2499 bytes .../static/images/member/warning_bg.png | Bin 0 -> 1323 bytes .../src/main/webapp/static/images/mjs-pic.gif | Bin 0 -> 14706 bytes .../main/webapp/static/images/nc_arrows.gif | Bin 0 -> 201 bytes .../main/webapp/static/images/nc_sortbar.gif | Bin 0 -> 230 bytes .../main/webapp/static/images/ncsc_bg_img.png | Bin 0 -> 58480 bytes .../src/main/webapp/static/images/no_pic.gif | Bin 0 -> 43 bytes .../src/main/webapp/static/images/nothing.gif | Bin 0 -> 1644 bytes .../webapp/static/images/qq_bind_small.gif | Bin 0 -> 2944 bytes .../src/main/webapp/static/images/right.gif | Bin 0 -> 347 bytes .../src/main/webapp/static/images/right1.gif | Bin 0 -> 900 bytes .../src/main/webapp/static/images/rmb.gif | Bin 0 -> 64 bytes .../src/main/webapp/static/images/rmb_b.gif | Bin 0 -> 71 bytes .../src/main/webapp/static/images/rmb_s.gif | Bin 0 -> 57 bytes .../main/webapp/static/images/sale_price.gif | Bin 0 -> 3171 bytes .../src/main/webapp/static/images/sex.png | Bin 0 -> 1144 bytes .../images/shop/2014_ncs_public_img.png | Bin 0 -> 9861 bytes .../webapp/static/images/shop/bundling.gif | Bin 0 -> 1439 bytes .../main/webapp/static/images/shop/hand.png | Bin 0 -> 430 bytes .../main/webapp/static/images/shop/public.png | Bin 0 -> 56548 bytes .../webapp/static/images/shop/repeat_x.png | Bin 0 -> 204 bytes .../webapp/static/images/shop/switch_bar.png | Bin 0 -> 622 bytes .../webapp/static/images/shop/userinfo_bg.gif | Bin 0 -> 2014 bytes .../main/webapp/static/images/shop/zoom.cur | Bin 0 -> 766 bytes .../main/webapp/static/images/shop/zoom.png | Bin 0 -> 547 bytes .../webapp/static/images/sina_bind_small.gif | Bin 0 -> 1277 bytes .../webapp/static/images/sky/bg_position.gif | Bin 0 -> 53579 bytes .../main/webapp/static/images/sky/body_bg.png | Bin 0 -> 275 bytes .../webapp/static/images/sky/button_bg.gif | Bin 0 -> 595 bytes .../webapp/static/images/sky/button_bg.png | Bin 0 -> 1413 bytes .../webapp/static/images/sky/fixed_bg.png | Bin 0 -> 219 bytes .../main/webapp/static/images/sky/left.png | Bin 0 -> 195 bytes .../main/webapp/static/images/sky/prompt.gif | Bin 0 -> 361 bytes .../webapp/static/images/sky/shopnc_logo.png | Bin 0 -> 7130 bytes .../src/main/webapp/static/images/smile.gif | Bin 0 -> 400 bytes .../static/images/store_joinin/body_bg.png | Bin 0 -> 44659 bytes .../static/images/store_joinin/img_bg.png | Bin 0 -> 3330 bytes .../static/images/tip-yellowsimple_arrows.gif | Bin 0 -> 107 bytes .../src/main/webapp/static/images/top_bg.png | Bin 0 -> 1060 bytes .../main/webapp/static/images/transparent.gif | Bin 0 -> 43 bytes .../src/main/webapp/static/images/update.gif | Bin 0 -> 1377 bytes .../src/main/webapp/static/scripts/admincp.js | 137 ++ .../main/webapp/static/scripts/jquery.edit.js | 430 +++++ .../static/scripts/jquery.store_class.js | 75 + .../src/main/webapp/static/scripts/member.js | 241 +++ .../src/main/webapp/static/scripts/shop.js | 39 + .../main/webapp/static/styles/csshover.htc | 121 ++ .../font-awesome/css/font-awesome-ie7.css | 1203 ++++++++++++++ .../font-awesome/css/font-awesome-ie7.min.css | 384 +++++ .../styles/font-awesome/css/font-awesome.css | 1479 +++++++++++++++++ .../font-awesome/css/font-awesome.min.css | 403 +++++ .../styles/font-awesome/font/FontAwesome.otf | Bin 0 -> 61896 bytes .../font-awesome/font/fontawesome-webfont.eot | Bin 0 -> 37405 bytes .../font-awesome/font/fontawesome-webfont.svg | 399 +++++ .../font-awesome/font/fontawesome-webfont.ttf | Bin 0 -> 79076 bytes .../font/fontawesome-webfont.woff | Bin 0 -> 43572 bytes .../main/webapp/static/styles/home_login.css | 140 ++ .../src/main/webapp/static/styles/member.css | 966 +++++++++++ .../webapp/static/styles/store_joinin.css | 560 +++++++ pom.xml | 31 + 297 files changed, 21314 insertions(+), 8 deletions(-) create mode 100644 goshop-common-web/src/main/java/org/goshop/common/web/utils/ImageUtils.java create mode 100644 goshop-common-web/src/main/java/org/goshop/common/web/utils/TokenUtils.java create mode 100644 goshop-common/src/main/java/org/goshop/common/utils/BeanUtils.java create mode 100644 goshop-common/src/main/java/org/goshop/common/utils/RegexValidateUtil.java create mode 100644 goshop-facade-email/pom.xml create mode 100644 goshop-facade-email/src/main/java/org/goshop/email/i/EMailService.java create mode 100644 goshop-facade-goods/pom.xml create mode 100644 goshop-facade-goods/src/main/java/org/goshop/goods/i/GoodsClassService.java create mode 100644 goshop-facade-goods/src/main/java/org/goshop/goods/i/GoodsTypeService.java create mode 100644 goshop-facade-goods/src/main/java/org/goshop/goods/pojo/GoodsClass.java create mode 100644 goshop-facade-goods/src/main/java/org/goshop/goods/pojo/GoodsType.java create mode 100644 goshop-facade-store/pom.xml create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/i/StoreClassService.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/i/StoreGoodsClassService.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/i/StoreGradeService.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/i/StoreJoinService.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/i/StoreService.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/model/JsonManagement.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/model/JsonManagementClass.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/model/StoreInfoModel.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/pojo/Store.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreClass.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreGoodsClass.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreGrade.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreJoin.java create mode 100644 goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreWithBLOBs.java create mode 100644 goshop-facade-users/src/main/java/org/goshop/users/i/FindPasswordService.java create mode 100644 goshop-facade-users/src/main/java/org/goshop/users/pojo/FindPassword.java create mode 100644 goshop-service-email/pom.xml create mode 100644 goshop-service-email/src/main/java/org/goshop/email/service/EMailServiceImpl.java create mode 100644 goshop-service-email/src/main/java/org/goshop/email/utils/MailAuthenticator.java create mode 100644 goshop-service-email/src/main/java/org/goshop/email/utils/SimpleMail.java create mode 100644 goshop-service-email/src/main/java/org/goshop/email/utils/SimpleMailSender.java create mode 100644 goshop-service-email/src/main/resources/log4j.properties create mode 100644 goshop-service-email/src/main/resources/resource/email.properties create mode 100644 goshop-service-email/src/main/resources/spring/applicationContext-dubbo-provider.xml create mode 100644 goshop-service-email/src/main/resources/spring/spring-context.xml create mode 100644 goshop-service-email/src/test/java/org/goshop/email/service/EMailServiceImplTest.java create mode 100644 goshop-service-email/src/test/java/service/DubboProvider.java create mode 100644 goshop-service-email/src/test/java/service/SpringBaseTest.java create mode 100644 goshop-service-goods/pom.xml create mode 100644 goshop-service-goods/src/main/java/org/goshop/goods/service/GoodsClassServiceImpl.java create mode 100644 goshop-service-goods/src/main/java/org/goshop/goods/service/GoodsTypeServiceImpl.java create mode 100644 goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsClassMapper.java create mode 100644 goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsClassMapper.xml create mode 100644 goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsTypeMapper.java create mode 100644 goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsTypeMapper.xml create mode 100644 goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsClassMapper.java create mode 100644 goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsClassMapper.xml create mode 100644 goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsTypeMapper.java create mode 100644 goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsTypeMapper.xml create mode 100644 goshop-service-store/pom.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreClassMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreClassMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGoodsClassMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGoodsClassMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGradeMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGradeMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreJoinMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreJoinMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreClassMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreClassMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGoodsClassMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGoodsClassMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGradeMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGradeMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreJoinMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreJoinMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreMapper.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreMapper.xml create mode 100644 goshop-service-store/src/main/java/org/goshop/store/service/StoreClassServiceImpl.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/service/StoreGoodsClassServiceImpl.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/service/StoreGradeServiceImpl.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/service/StoreJoinServiceImpl.java create mode 100644 goshop-service-store/src/main/java/org/goshop/store/service/StoreServiceImpl.java create mode 100644 goshop-service-store/src/main/resources/log4j.properties create mode 100644 goshop-service-store/src/main/resources/mybatis/SqlMapConfig.xml create mode 100644 goshop-service-store/src/main/resources/resource/db.properties create mode 100644 goshop-service-store/src/main/resources/spring/applicationContext-dao.xml create mode 100644 goshop-service-store/src/main/resources/spring/applicationContext-dubbo-provider.xml create mode 100644 goshop-service-store/src/main/resources/spring/applicationContext-jedis.xml create mode 100644 goshop-service-store/src/main/resources/spring/applicationContext-shiro.xml create mode 100644 goshop-service-store/src/main/resources/spring/spring-context.xml create mode 100644 goshop-service-users/src/main/java/org/goshop/users/mapper/master/FindPasswordMapper.java create mode 100644 goshop-service-users/src/main/java/org/goshop/users/mapper/master/FindPasswordMapper.xml create mode 100644 goshop-service-users/src/main/java/org/goshop/users/mapper/read/ReadFindPasswordMapper.java create mode 100644 goshop-service-users/src/main/java/org/goshop/users/mapper/read/ReadFindPasswordMapper.xml create mode 100644 goshop-service-users/src/main/java/org/goshop/users/service/FindPasswordEMailServiceImpl.java create mode 100644 goshop-service-users/src/main/resources/dubbo/dubbo-consumer.xml create mode 100644 goshop-service-users/src/main/resources/dubbo/dubbo-reference-email.xml create mode 100644 goshop-web-portal/pom.xml create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/controller/AttachmentController.java create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/controller/HomeController.java create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/controller/LoginController.java create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/controller/MemberController.java create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/controller/MessageController.java create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/controller/RegisterController.java create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/controller/StoreJoinController.java create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/model/MemberModel.java create mode 100644 goshop-web-portal/src/main/java/org/goshop/portal/model/PrivacyModel.java create mode 100644 goshop-web-portal/src/main/resources/dubbo/dubbo-consumer.xml create mode 100644 goshop-web-portal/src/main/resources/dubbo/dubbo-reference-cms.xml create mode 100644 goshop-web-portal/src/main/resources/dubbo/dubbo-reference-user.xml create mode 100644 goshop-web-portal/src/main/resources/log4j.properties create mode 100644 goshop-web-portal/src/main/resources/resource/freemarker.properties create mode 100644 goshop-web-portal/src/main/resources/resource/resource.properties create mode 100644 goshop-web-portal/src/main/resources/spring/applicationContext-jedis.xml create mode 100644 goshop-web-portal/src/main/resources/spring/applicationContext-shiro.xml create mode 100644 goshop-web-portal/src/main/resources/spring/spring-context.xml create mode 100644 goshop-web-portal/src/main/resources/spring/springmvc.xml create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/button.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/footer.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/forget_password.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/index.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/login.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/address.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/binding.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/deposit.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/detail.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/framework.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_avatar.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_avatar_upload.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_base.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_email.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_password.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_sidebar.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/tabmenu.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/withdraw.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/member_header.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/message.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/password_update.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/refuse.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/register.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/simple_header.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/header.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_pay.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_four.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_one.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_three.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_two.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/sidebar.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/store_agreement.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/ftl/top.ftl create mode 100644 goshop-web-portal/src/main/webapp/WEB-INF/web.xml create mode 100644 goshop-web-portal/src/main/webapp/index.jsp create mode 100644 goshop-web-portal/src/main/webapp/static/images/2014grate.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/2014shop_background_img.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/CP.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/btn.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/buy/buy_step.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/buy/cart.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/buy/gift.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/buy/pay-use.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/checking.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/default_admin_avatar.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/delect.ico create mode 100644 goshop-web-portal/src/main/webapp/static/images/gift.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/group_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/home_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/ico.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/index.html create mode 100644 goshop-web-portal/src/main/webapp/static/images/loading.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/login.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/login/2.jpg create mode 100644 goshop-web-portal/src/main/webapp/static/images/login/login.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/login/login_bg_01.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/login/login_bg_01_pic.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/login/login_bg_02.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/login/login_bg_02_pic.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/login/login_code.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/login_qq.jpg create mode 100644 goshop-web-portal/src/main/webapp/static/images/login_weibo.jpg create mode 100644 goshop-web-portal/src/main/webapp/static/images/logo.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member-card/mail-send.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member-card/sex.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ad_next.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ad_prev.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ad_scroll.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ajax-edit.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/album_bg.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/bg_repeat_x.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/btn.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/bundling_goods_thumb.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/buyer_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/buyer_header.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/close.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/cut_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/default_image.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/del.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/gray_th.jpg create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ico.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/menu_dotted.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/modify.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/modify1.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/mubg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ncus_body.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ncus_public.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ncus_repeat_x.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/oldbtn.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/opa75.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/open.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/repeat_x.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/right.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/search.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/search1.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_qqweibo.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_qqzone.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_renren.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_sinaweibo.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicons.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/sns_bg_repeat_x.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/sort_asc.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/sort_desc.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ssns_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/ssns_pics.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/success.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/upload_loading.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/member/warning_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/mjs-pic.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/nc_arrows.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/nc_sortbar.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/ncsc_bg_img.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/no_pic.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/nothing.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/qq_bind_small.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/right.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/right1.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/rmb.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/rmb_b.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/rmb_s.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/sale_price.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/sex.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/2014_ncs_public_img.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/bundling.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/hand.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/public.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/repeat_x.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/switch_bar.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/userinfo_bg.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/zoom.cur create mode 100644 goshop-web-portal/src/main/webapp/static/images/shop/zoom.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/sina_bind_small.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/sky/bg_position.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/sky/body_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/sky/button_bg.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/sky/button_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/sky/fixed_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/sky/left.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/sky/prompt.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/sky/shopnc_logo.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/smile.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/store_joinin/body_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/store_joinin/img_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/tip-yellowsimple_arrows.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/top_bg.png create mode 100644 goshop-web-portal/src/main/webapp/static/images/transparent.gif create mode 100644 goshop-web-portal/src/main/webapp/static/images/update.gif create mode 100644 goshop-web-portal/src/main/webapp/static/scripts/admincp.js create mode 100644 goshop-web-portal/src/main/webapp/static/scripts/jquery.edit.js create mode 100644 goshop-web-portal/src/main/webapp/static/scripts/jquery.store_class.js create mode 100644 goshop-web-portal/src/main/webapp/static/scripts/member.js create mode 100644 goshop-web-portal/src/main/webapp/static/scripts/shop.js create mode 100644 goshop-web-portal/src/main/webapp/static/styles/csshover.htc create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/css/font-awesome-ie7.css create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/css/font-awesome-ie7.min.css create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/css/font-awesome.css create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/css/font-awesome.min.css create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/font/FontAwesome.otf create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/font/fontawesome-webfont.eot create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/font/fontawesome-webfont.svg create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/font/fontawesome-webfont.ttf create mode 100644 goshop-web-portal/src/main/webapp/static/styles/font-awesome/font/fontawesome-webfont.woff create mode 100644 goshop-web-portal/src/main/webapp/static/styles/home_login.css create mode 100644 goshop-web-portal/src/main/webapp/static/styles/member.css create mode 100644 goshop-web-portal/src/main/webapp/static/styles/store_joinin.css diff --git a/goshop-common-service/goshop-common-service.iml b/goshop-common-service/goshop-common-service.iml index 7e95bb8..a26102c 100644 --- a/goshop-common-service/goshop-common-service.iml +++ b/goshop-common-service/goshop-common-service.iml @@ -16,6 +16,8 @@ + + diff --git a/goshop-common-shiro/goshop-common-shiro.iml b/goshop-common-shiro/goshop-common-shiro.iml index 1c776ea..aa02b78 100644 --- a/goshop-common-shiro/goshop-common-shiro.iml +++ b/goshop-common-shiro/goshop-common-shiro.iml @@ -34,6 +34,8 @@ + + diff --git a/goshop-common-web/goshop-common-web.iml b/goshop-common-web/goshop-common-web.iml index f006df7..c3c0a38 100644 --- a/goshop-common-web/goshop-common-web.iml +++ b/goshop-common-web/goshop-common-web.iml @@ -18,6 +18,8 @@ + + @@ -45,5 +47,7 @@ + + \ No newline at end of file diff --git a/goshop-common-web/pom.xml b/goshop-common-web/pom.xml index ebf2f52..f269d8b 100644 --- a/goshop-common-web/pom.xml +++ b/goshop-common-web/pom.xml @@ -75,6 +75,12 @@ dubbo + + + commons-fileupload + commons-fileupload + + \ No newline at end of file diff --git a/goshop-common-web/src/main/java/org/goshop/common/web/utils/ImageUtils.java b/goshop-common-web/src/main/java/org/goshop/common/web/utils/ImageUtils.java new file mode 100644 index 0000000..bd233bd --- /dev/null +++ b/goshop-common-web/src/main/java/org/goshop/common/web/utils/ImageUtils.java @@ -0,0 +1,293 @@ +package org.goshop.common.web.utils; + +import com.sun.image.codec.jpeg.JPEGCodec; +import com.sun.image.codec.jpeg.JPEGEncodeParam; +import com.sun.image.codec.jpeg.JPEGImageEncoder; +import org.apache.commons.fileupload.disk.DiskFileItem; +import org.goshop.common.utils.FileUtils; +import org.goshop.common.utils.IDUtils; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; +import java.awt.image.*; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * 创 建 人:gugu + * 创建日期:2015-05-25 + * 修 改 人: + * 修改日 期: + * 描 述:图片操作工具类。 + */ +public class ImageUtils { + + + + /** + * @param inputStream + * 源图像地址 + * @param x + * 目标切片起点x坐标 + * @param y + * 目标切片起点y坐标 + * @param destWidth + * 目标切片宽度 + * @param destHeight + * 目标切片高度 + */ + public static void abscut(InputStream inputStream, int x, int y, int destWidth, + int destHeight,int size,String destImagePath) throws IOException { + Image img; + ImageFilter cropFilter; + // 读取源图像 + BufferedImage bi = ImageIO.read(inputStream); + int srcWidth = bi.getWidth(); // 源图宽度 + int srcHeight = bi.getHeight(); // 源图高度 + + int scale=0; + if(srcWidth>srcHeight){ + scale=srcWidth; + }else{ + scale=srcHeight; + } + //if (srcWidth >= destWidth && srcHeight >= destHeight) { + Image image = bi.getScaledInstance(srcWidth, srcHeight, + Image.SCALE_DEFAULT); + + /* **************************************** + * 判断原图的宽高和DIV宽高的大小 根据图片外层DIV的宽度,选择的起始点则有相对变化 + * ************************************** + */ + int x1 = x*scale/size; + int y1 = y*scale/size; + int w = destWidth*scale/size; + int h = destHeight*scale/size; + + // 四个参数分别为图像起点坐标和宽高 + // 即: CropImageFilter(int x,int y,int width,int height) + cropFilter = new CropImageFilter(x1, y1, w, h); + img = Toolkit.getDefaultToolkit().createImage( + new FilteredImageSource(image.getSource(), cropFilter)); + BufferedImage tag = new BufferedImage(w, h, + BufferedImage.TYPE_INT_RGB); + Graphics g = tag.getGraphics(); + g.drawImage(img, 0, 0, null); // 绘制缩小后的图 + g.dispose(); + // 输出为文件 + File file = new File(destImagePath); + // 判断目录或文件是否存在 ,不存在创建文件夹 + if(!file.getParentFile().exists()){ + file.getParentFile().mkdirs(); + } + ImageIO.write(tag, "JPEG",file); + //} + } + + public static void abscut(InputStream inputStream, int x, int y, int width, int height,String destImagePath) throws IOException { + + Image img; + ImageFilter cropFilter; + // 读取源图像 + BufferedImage bi = ImageIO.read(inputStream); + int srcWidth = bi.getWidth(); // 源图宽度 + int srcHeight = bi.getHeight(); // 源图高度 + //if (srcWidth >= destWidth && srcHeight >= destHeight) { + Image image = bi.getScaledInstance(srcWidth, srcHeight, + Image.SCALE_DEFAULT); + // 四个参数分别为图像起点坐标和宽高 + // 即: CropImageFilter(int x,int y,int width,int height) + cropFilter = new CropImageFilter(x, y, width, height); + img = Toolkit.getDefaultToolkit().createImage( + new FilteredImageSource(image.getSource(), cropFilter)); + BufferedImage tag = new BufferedImage(width, height, + BufferedImage.TYPE_INT_RGB); + Graphics g = tag.getGraphics(); + g.drawImage(img, 0, 0, null); // 绘制缩小后的图 + g.dispose(); + // 输出为文件 + File file = new File(destImagePath); + // 判断目录或文件是否存在 ,不存在创建文件夹 + if(!file.getParentFile().exists()){ + file.getParentFile().mkdirs(); + } + ImageIO.write(tag, "JPEG",file); + //} + } + + /** + * 图片缩放 + * @param originalFile + * @param resizedFile + * @param newWidth + * @param quality + * @throws IOException + */ + public static void resize(File originalFile, File resizedFile, + int newWidth, float quality) throws IOException { + + if (quality > 1) { + throw new IllegalArgumentException( + "Quality has to be between 0 and 1"); + } + + ImageIcon ii = new ImageIcon(originalFile.getCanonicalPath()); + resize(ii, resizedFile,newWidth,quality); + } // Example usage + + public static void resize(Image image, File resizedFile, + int newWidth, float quality) throws IOException { + + if (quality > 1) { + throw new IllegalArgumentException( + "Quality has to be between 0 and 1"); + } + + ImageIcon ii = new ImageIcon(image); + resize(ii, resizedFile,newWidth,quality); + } // Example usage + + public static void resize(ImageIcon ii, File resizedFile, + int newWidth, float quality) throws IOException { + + if (quality > 1) { + throw new IllegalArgumentException( + "Quality has to be between 0 and 1"); + } + Image i = ii.getImage(); + Image resizedImage = null; + + int iWidth = i.getWidth(null); + int iHeight = i.getHeight(null); + + if (iWidth > iHeight) { + resizedImage = i.getScaledInstance(newWidth, (newWidth * iHeight) + / iWidth, Image.SCALE_SMOOTH); + } else { + resizedImage = i.getScaledInstance((newWidth * iWidth) / iHeight, + newWidth, Image.SCALE_SMOOTH); + } + + // This code ensures that all the pixels in the image are loaded. + Image temp = new ImageIcon(resizedImage).getImage(); + + // Create the buffered image. + BufferedImage bufferedImage = new BufferedImage(temp.getWidth(null), + temp.getHeight(null), BufferedImage.TYPE_INT_RGB); + + // Copy image to buffered image. + Graphics g = bufferedImage.createGraphics(); + + // Clear background and paint the image. + g.setColor(Color.white); + g.fillRect(0, 0, temp.getWidth(null), temp.getHeight(null)); + g.drawImage(temp, 0, 0, null); + g.dispose(); + + // Soften. + float softenFactor = 0.05f; + float[] softenArray = { 0, softenFactor, 0, softenFactor, + 1 - (softenFactor * 4), softenFactor, 0, softenFactor, 0 }; + Kernel kernel = new Kernel(3, 3, softenArray); + ConvolveOp cOp = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null); + bufferedImage = cOp.filter(bufferedImage, null); + + // Write the jpeg to a file. + FileOutputStream out = new FileOutputStream(resizedFile); + + // Encodes image as a JPEG data stream + JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); + + JPEGEncodeParam param = encoder + .getDefaultJPEGEncodeParam(bufferedImage); + + param.setQuality(quality, true); + + encoder.setJPEGEncodeParam(param); + encoder.encode(bufferedImage); + } // Example usage + + public static String save(String rootPath,String catalogue,MultipartFile pic, int maxWidth) throws IOException { + BufferedImage bi = null; + InputStream is =null; + + is = pic.getInputStream(); + // 读取源图像 + bi = ImageIO.read(is); + int srcWidth = bi.getWidth(); // 源图宽度 + int srcHeight = bi.getHeight(); // 源图高度 + Image image = bi.getScaledInstance(srcWidth, srcHeight, + Image.SCALE_DEFAULT); + String fileName = pic.getOriginalFilename(); + String type= FileUtils.getFileType(fileName).toLowerCase(); + + StringBuffer pathSB = new StringBuffer(); + pathSB.append(catalogue); + pathSB.append("/"); + String uuid = IDUtils.getUuid(); + pathSB.append(uuid+"."+type); + + if(srcWidth>maxWidth){ + srcHeight=maxWidth; + } + String filePath = pathSB.toString(); + + File file= new File(rootPath+filePath); + if(!file.getParentFile().exists()){ + file.getParentFile().mkdirs(); + } + ImageUtils.resize(image, file, srcHeight, 1); + return filePath; + } + + public static File save(MultipartFile pic, int maxWidth) throws IOException { + BufferedImage bi = null; + InputStream is =null; + + is = pic.getInputStream(); + // 读取源图像 + bi = ImageIO.read(is); + int srcWidth = bi.getWidth(); // 源图宽度 + int srcHeight = bi.getHeight(); // 源图高度 + Image image = bi.getScaledInstance(srcWidth, srcHeight, + Image.SCALE_DEFAULT); + if(srcWidth>maxWidth){ + srcHeight=maxWidth; + } + CommonsMultipartFile cf= (CommonsMultipartFile)pic; + DiskFileItem fi = (DiskFileItem)cf.getFileItem(); + File file = fi.getStoreLocation(); + ImageUtils.resize(image, file, srcHeight, 1); + return file; + } + + public static void abscut(InputStream inputStream, int x, int y, int width, int height,File file) throws IOException { + + Image img; + ImageFilter cropFilter; + // 读取源图像 + BufferedImage bi = ImageIO.read(inputStream); + int srcWidth = bi.getWidth(); // 源图宽度 + int srcHeight = bi.getHeight(); // 源图高度 + //if (srcWidth >= destWidth && srcHeight >= destHeight) { + Image image = bi.getScaledInstance(srcWidth, srcHeight, + Image.SCALE_DEFAULT); + // 四个参数分别为图像起点坐标和宽高 + // 即: CropImageFilter(int x,int y,int width,int height) + cropFilter = new CropImageFilter(x, y, width, height); + img = Toolkit.getDefaultToolkit().createImage( + new FilteredImageSource(image.getSource(), cropFilter)); + BufferedImage tag = new BufferedImage(width, height, + BufferedImage.TYPE_INT_RGB); + Graphics g = tag.getGraphics(); + g.drawImage(img, 0, 0, null); // 绘制缩小后的图 + g.dispose(); + ImageIO.write(tag, "JPEG", file); + //} + } +} diff --git a/goshop-common-web/src/main/java/org/goshop/common/web/utils/TokenUtils.java b/goshop-common-web/src/main/java/org/goshop/common/web/utils/TokenUtils.java new file mode 100644 index 0000000..5817ccb --- /dev/null +++ b/goshop-common-web/src/main/java/org/goshop/common/web/utils/TokenUtils.java @@ -0,0 +1,73 @@ +package org.goshop.common.web.utils; + +import sun.misc.BASE64Encoder; + +import javax.servlet.http.HttpServletRequest; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Random; + +/** + * Created by Administrator on 2016/3/16. + */ +public class TokenUtils { + + private TokenUtils(){} + private static final TokenUtils token = new TokenUtils(); + + /** + * 页面上表单要生成的表单隐藏域 + */ + public static final String TOKEN="S_TOKEN"; + + public static TokenUtils getInstance(){ + return token; + } + + /** + * 显示页面时生成toke + * @param request + */ + public void saveToken(HttpServletRequest request){ + String token = System.currentTimeMillis()+new Random().nextInt()+""; //随机的值 + try { + MessageDigest md = MessageDigest.getInstance("md5"); //注意下面的处理方式 + byte[] md5 = md.digest(token.getBytes()); + token = new BASE64Encoder().encode(md5); //base64编码 + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); + } + request.getSession().setAttribute(TOKEN,token); + request.setAttribute(TOKEN,token); + } + + /** + * 验证toke,并删除toke + * @param request true 验证通过 false 不通过 + * @return + */ + public boolean verifyToken(HttpServletRequest request){ + if (isRepeatSubmit(request)) { + return false; + } + request.getSession(false).removeAttribute(TOKEN); + return true; + } + + + private boolean isRepeatSubmit(HttpServletRequest request) { + String serverToken = (String) request.getSession().getAttribute( + TOKEN); + if (serverToken == null) { + return true; + } + String clinetToken = request.getParameter(TOKEN); + if (clinetToken == null) { + return true; + } + if (!serverToken.equals(clinetToken)) { + return true; + } + return false; + } +} diff --git a/goshop-common/goshop-common.iml b/goshop-common/goshop-common.iml index 3f7955c..f60b769 100644 --- a/goshop-common/goshop-common.iml +++ b/goshop-common/goshop-common.iml @@ -17,5 +17,9 @@ + + + + \ No newline at end of file diff --git a/goshop-common/pom.xml b/goshop-common/pom.xml index e0b3d70..7ad3e0d 100644 --- a/goshop-common/pom.xml +++ b/goshop-common/pom.xml @@ -22,5 +22,13 @@ org.apache.commons commons-lang3 + + commons-beanutils + commons-beanutils + + + org.springframework + spring-core + \ No newline at end of file diff --git a/goshop-common/src/main/java/org/goshop/common/utils/BeanUtils.java b/goshop-common/src/main/java/org/goshop/common/utils/BeanUtils.java new file mode 100644 index 0000000..3513940 --- /dev/null +++ b/goshop-common/src/main/java/org/goshop/common/utils/BeanUtils.java @@ -0,0 +1,82 @@ +package org.goshop.common.utils; + + +import org.apache.commons.beanutils.PropertyUtils; +import org.springframework.util.ReflectionUtils; + +import java.lang.reflect.Field; +import java.util.Iterator; +import java.util.Map; + +/** + * 创 建 人:Wesley + * 创建日期:2015-05-25 + * 修 改 人: + * 修改日 期: + * 描 述:扩展org.apache.commons.beanutils.BeanUtils。 + */ +public class BeanUtils { + /** + * 将源对象中的值覆盖到目标对象中,仅覆盖源对象中不为NULL值的属性 + * + * @param dest + * 目标对象,标准的JavaBean + * @param orig + * 源对象,可为Map、标准的JavaBean + */ + @SuppressWarnings("rawtypes") + public static void applyIf(Object dest, Object orig) throws Exception { + try { + if (orig instanceof Map) { + Iterator names = ((Map) orig).keySet().iterator(); + while (names.hasNext()) { + String name = (String) names.next(); + if (PropertyUtils.isWriteable(dest, name)) { + Object value = ((Map) orig).get(name); + if (value != null) { + PropertyUtils.setSimpleProperty(dest, name, value); + } + } + } + } else { + Field[] fields = orig.getClass().getDeclaredFields(); + for (int i = 0; i < fields.length; i++) { + String name = fields[i].getName(); + Field destField= ReflectionUtils.findField(dest.getClass(), name); + if(destField==null){ + continue; + } + if (PropertyUtils.isReadable(orig, name) && PropertyUtils.isWriteable(dest, name)) { + Object value = PropertyUtils.getSimpleProperty(orig, name); + if (value != null) { + PropertyUtils.setSimpleProperty(dest, name, value); + } + } + } + } + } catch (Exception e) { + throw new Exception("将源对象中的值覆盖到目标对象中,仅覆盖源对象中不为NULL值的属性", e); + } + } + + + public static boolean checkObjProperty(Object orig, Map dest) throws Exception { + try { + Field[] fields = orig.getClass().getDeclaredFields(); + for (int i = 0; i < fields.length; i++) { + String name = fields[i].getName(); + if (!dest.containsKey(name)) { + if (PropertyUtils.isReadable(orig, name)) { + Object value = PropertyUtils.getSimpleProperty(orig, name); + if (value == null) { + return true; + } + } + } + } + return false; + } catch (Exception e) { + throw new Exception("将源对象中的值覆盖到目标对象中,仅覆盖源对象中不为NULL值的属性", e); + } + } +} \ No newline at end of file diff --git a/goshop-common/src/main/java/org/goshop/common/utils/RegexValidateUtil.java b/goshop-common/src/main/java/org/goshop/common/utils/RegexValidateUtil.java new file mode 100644 index 0000000..e489258 --- /dev/null +++ b/goshop-common/src/main/java/org/goshop/common/utils/RegexValidateUtil.java @@ -0,0 +1,111 @@ +package org.goshop.common.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Created by Administrator on 2016/3/19. + */ +public class RegexValidateUtil { + + static boolean flag = false; + static String regex = ""; + public static boolean check(String str, String regex) { + try { + Pattern pattern = Pattern.compile(regex); + Matcher matcher = pattern.matcher(str); + flag = matcher.matches(); + } catch (Exception e) { + flag = false; + } + return flag; + } + /** + * 验证非空 + * + * @param notEmputy + * @return + */ + public static boolean checkNotEmputy(String notEmputy) { + regex = "^\\s*$"; + return check(notEmputy, regex) ? false : true; + } + + /** + * 验证用户名 + * + * @param loginUser + * @return + */ + public static boolean checkLoginUser(String loginUser) { + regex = "^[a-zA-z][a-zA-Z0-9_]{2,9}$"; + return check(loginUser, regex) ? false : true; + } + + /** + * 验证密码 + * + * @param password + * @return + * 以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 + */ + public static boolean checkPassword(String password) { + regex = "^[a-zA-Z]\\w{5,17}$"; + return check(password, regex) ? false : true; + } + /** + * 验证邮箱 + * + * @param email + * @return + */ + public static boolean checkEmail(String email) { + String regex = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$"; + return check(email, regex); + } + /** + * 验证手机号码 + * + * 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147 + * 联通号码段:130、131、132、136、185、186、145 + * 电信号码段:133、153、180、189 + * + * @param cellphone + * @return + */ + public static boolean checkCellphone(String cellphone) { + String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$"; + return check(cellphone, regex); + } + /** + * 验证固话号码 + * + * @param telephone + * @return + */ + public static boolean checkTelephone(String telephone) { + String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$"; + return check(telephone, regex); + } + /** + * 验证传真号码 + * + * @param fax + * @return + */ + public static boolean checkFax(String fax) { + String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$"; + return check(fax, regex); + } + + /** + * 验证QQ号码 + * + * @param QQ + * @return + */ + public static boolean checkQQ(String QQ) { + String regex = "^[1-9][0-9]{4,} $"; + return check(QQ, regex); + } +} diff --git a/goshop-facade-cms/goshop-facade-cms.iml b/goshop-facade-cms/goshop-facade-cms.iml index 381764c..00d3e34 100644 --- a/goshop-facade-cms/goshop-facade-cms.iml +++ b/goshop-facade-cms/goshop-facade-cms.iml @@ -13,6 +13,10 @@ + + + + diff --git a/goshop-facade-email/pom.xml b/goshop-facade-email/pom.xml new file mode 100644 index 0000000..87ee2e7 --- /dev/null +++ b/goshop-facade-email/pom.xml @@ -0,0 +1,15 @@ + + + + ghosp-parent + org.goshop + 2.0-SNAPSHOT + + 4.0.0 + + goshop-facade-email + + + \ No newline at end of file diff --git a/goshop-facade-email/src/main/java/org/goshop/email/i/EMailService.java b/goshop-facade-email/src/main/java/org/goshop/email/i/EMailService.java new file mode 100644 index 0000000..aecda41 --- /dev/null +++ b/goshop-facade-email/src/main/java/org/goshop/email/i/EMailService.java @@ -0,0 +1,14 @@ +package org.goshop.email.i; + +/** + * Created by Administrator on 2016/3/21. + */ +public interface EMailService { + /** + * 发送邮件 + * @param email 邮件地址 + * @param title 邮件标题 + * @param emailContent 邮件内容 + */ + void send(String email, String title, String emailContent); +} diff --git a/goshop-facade-goods/pom.xml b/goshop-facade-goods/pom.xml new file mode 100644 index 0000000..827868d --- /dev/null +++ b/goshop-facade-goods/pom.xml @@ -0,0 +1,35 @@ + + + + ghosp-parent + org.goshop + 2.0-SNAPSHOT + + 4.0.0 + + goshop-facade-goods + + + + + org.goshop + goshop-common + + + org.goshop + goshop-facade-users + + + com.github.pagehelper + pagehelper + + + + com.fasterxml.jackson.core + jackson-databind + + + + \ No newline at end of file diff --git a/goshop-facade-goods/src/main/java/org/goshop/goods/i/GoodsClassService.java b/goshop-facade-goods/src/main/java/org/goshop/goods/i/GoodsClassService.java new file mode 100644 index 0000000..60aed23 --- /dev/null +++ b/goshop-facade-goods/src/main/java/org/goshop/goods/i/GoodsClassService.java @@ -0,0 +1,30 @@ +package org.goshop.goods.i; + +import com.github.pagehelper.PageInfo; +import org.goshop.goods.pojo.GoodsClass; + +import java.util.List; + +/** + * Created by Administrator on 2016/4/12. + */ +public interface GoodsClassService { + + List findTreeByGcParentId(Integer gcParentId); + + List findByGcParentId(Integer gcParentId); + + int save(GoodsClass goodsClass); + + boolean checkByIdNameParentId(Integer gcId, String gcName, Integer gcParentId); + + PageInfo findAll(Integer curPage, Integer size); + + PageInfo findGradeByGcParentId(Integer gcParentId, Integer curPage, Integer size); + + List findGradeByGcParentId(Integer gcParentId); + + GoodsClass findOne(Integer gcId); + + int delete(Integer id); +} diff --git a/goshop-facade-goods/src/main/java/org/goshop/goods/i/GoodsTypeService.java b/goshop-facade-goods/src/main/java/org/goshop/goods/i/GoodsTypeService.java new file mode 100644 index 0000000..6148799 --- /dev/null +++ b/goshop-facade-goods/src/main/java/org/goshop/goods/i/GoodsTypeService.java @@ -0,0 +1,11 @@ +package org.goshop.goods.i; + + + +import org.goshop.goods.pojo.GoodsType; + +import java.util.List; + +public interface GoodsTypeService { + List findAll(); +} diff --git a/goshop-facade-goods/src/main/java/org/goshop/goods/pojo/GoodsClass.java b/goshop-facade-goods/src/main/java/org/goshop/goods/pojo/GoodsClass.java new file mode 100644 index 0000000..08d34da --- /dev/null +++ b/goshop-facade-goods/src/main/java/org/goshop/goods/pojo/GoodsClass.java @@ -0,0 +1,134 @@ +package org.goshop.goods.pojo; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +public class GoodsClass implements Serializable { + @JsonProperty("gc_id") + private Integer gcId; + @JsonProperty("gc_name") + private String gcName; + @JsonProperty("type_id") + private Integer typeId; + @JsonProperty("type_name") + @JsonInclude(JsonInclude.Include.ALWAYS) + private String typeName; + @JsonProperty("gc_parent_id") + private Integer gcParentId; + @JsonProperty("gc_sort") + private Integer gcSort; + @JsonProperty("gc_title") + private String gcTitle; + @JsonProperty("gc_keywords") + private String gcKeywords; + @JsonProperty("gc_description") + private String gcDescription; + @JsonProperty("sc_pic") + private String gcPic; + //虚拟字段 + private Integer grade; + + public Integer getGrade() { + return grade; + } + + public void setGrade(Integer grade) { + this.grade = grade; + } + + public String getGcPic() { + return gcPic; + } + + public void setGcPic(String gcPic) { + this.gcPic = gcPic; + } + + private List children = new ArrayList(); + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } + + public Integer getGcId() { + return gcId; + } + + public void setGcId(Integer gcId) { + this.gcId = gcId; + } + + public String getGcName() { + return gcName; + } + + public void setGcName(String gcName) { + this.gcName = gcName == null ? null : gcName.trim(); + } + + public Integer getTypeId() { + return typeId; + } + + public void setTypeId(Integer typeId) { + this.typeId = typeId; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName == null ? null : typeName.trim(); + } + + public Integer getGcParentId() { + return gcParentId; + } + + public void setGcParentId(Integer gcParentId) { + this.gcParentId = gcParentId; + } + + public Integer getGcSort() { + return gcSort; + } + + public void setGcSort(Integer gcSort) { + this.gcSort = gcSort; + } + + public String getGcTitle() { + return gcTitle; + } + + public void setGcTitle(String gcTitle) { + this.gcTitle = gcTitle == null ? null : gcTitle.trim(); + } + + public String getGcKeywords() { + return gcKeywords; + } + + public void setGcKeywords(String gcKeywords) { + this.gcKeywords = gcKeywords == null ? null : gcKeywords.trim(); + } + + public String getGcDescription() { + return gcDescription; + } + + public void setGcDescription(String gcDescription) { + this.gcDescription = gcDescription == null ? null : gcDescription.trim(); + } + +} \ No newline at end of file diff --git a/goshop-facade-goods/src/main/java/org/goshop/goods/pojo/GoodsType.java b/goshop-facade-goods/src/main/java/org/goshop/goods/pojo/GoodsType.java new file mode 100644 index 0000000..c68a1ee --- /dev/null +++ b/goshop-facade-goods/src/main/java/org/goshop/goods/pojo/GoodsType.java @@ -0,0 +1,55 @@ +package org.goshop.goods.pojo; + +import java.io.Serializable; + +public class GoodsType implements Serializable { + private Integer typeId; + + private String typeName; + + private Integer typeSort; + + private Integer classId; + + private String className; + + public Integer getTypeId() { + return typeId; + } + + public void setTypeId(Integer typeId) { + this.typeId = typeId; + } + + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName == null ? null : typeName.trim(); + } + + public Integer getTypeSort() { + return typeSort; + } + + public void setTypeSort(Integer typeSort) { + this.typeSort = typeSort; + } + + public Integer getClassId() { + return classId; + } + + public void setClassId(Integer classId) { + this.classId = classId; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className == null ? null : className.trim(); + } +} \ No newline at end of file diff --git a/goshop-facade-store/pom.xml b/goshop-facade-store/pom.xml new file mode 100644 index 0000000..1a25919 --- /dev/null +++ b/goshop-facade-store/pom.xml @@ -0,0 +1,39 @@ + + + + ghosp-parent + org.goshop + 2.0-SNAPSHOT + + 4.0.0 + + goshop-facade-store + + + + + org.goshop + goshop-common + + + org.goshop + goshop-facade-users + + + org.goshop + goshop-facade-goods + + + com.github.pagehelper + pagehelper + + + + com.fasterxml.jackson.core + jackson-databind + + + + \ No newline at end of file diff --git a/goshop-facade-store/src/main/java/org/goshop/store/i/StoreClassService.java b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreClassService.java new file mode 100644 index 0000000..f02aced --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreClassService.java @@ -0,0 +1,44 @@ +package org.goshop.store.i; + +import com.github.pagehelper.PageInfo; +import org.goshop.store.pojo.StoreClass; + +import java.util.List; + +/** + * Created by Administrator on 2016/3/29. + */ +public interface StoreClassService { + List findAllOrderBySort(); + + int save(StoreClass storeClass); + + /** + * 校验是否存在此分类名称 + * @param name + * @return + */ + boolean checkByNameParentId(String name, Long parentId); + + PageInfo findTreePageByParentId(Integer curPage, Integer pageSize, Long parentId); + + StoreClass findOne(Long id); + + boolean checkByIdNameParentId(Long id, String name, Long parentId); + + int update(StoreClass storeClass); + + int updateSort(Long id, String value); + + int updateName(Long id, String value); + + List findByParentId(Long parentId); + + int delete(Long id); + + void delete(Long[] ids); + + List findTreeByParentId(Long parentId); + + PageInfo findGradeByParentId(Integer curPage, Integer pageSize, Long parentId); +} diff --git a/goshop-facade-store/src/main/java/org/goshop/store/i/StoreGoodsClassService.java b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreGoodsClassService.java new file mode 100644 index 0000000..18293c4 --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreGoodsClassService.java @@ -0,0 +1,12 @@ +package org.goshop.store.i; + +import org.goshop.store.pojo.StoreGoodsClass; + +import java.util.List; + +/** + * Created by Administrator on 2016/4/12. + */ +public interface StoreGoodsClassService { + List findByStcParentId(Integer id); +} diff --git a/goshop-facade-store/src/main/java/org/goshop/store/i/StoreGradeService.java b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreGradeService.java new file mode 100644 index 0000000..e2aa0e8 --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreGradeService.java @@ -0,0 +1,29 @@ +package org.goshop.store.i; + +import com.github.pagehelper.PageInfo; +import org.goshop.store.pojo.StoreGrade; + +import java.util.List; + +/** + * Created by Administrator on 2016/4/12. + */ +public interface StoreGradeService { + PageInfo findAll(Integer curPage, Integer pageSize); + + int save(StoreGrade storeGrade); + + StoreGrade findOne(Integer id); + + void delete(Integer[] ids); + + boolean checkBySgIdSgName(String sgName, Integer sgId); + + boolean checkBySgIdSgSort(Integer sgSort, Integer sgId); + + void delete(Integer id); + + PageInfo findBySgName(String sgName, Integer curPage, Integer pageSize); + + List findAll(); +} diff --git a/goshop-facade-store/src/main/java/org/goshop/store/i/StoreJoinService.java b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreJoinService.java new file mode 100644 index 0000000..6ed7c5f --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreJoinService.java @@ -0,0 +1,44 @@ +package org.goshop.store.i; + +import com.github.pagehelper.PageInfo; +import org.goshop.store.model.StoreInfoModel; +import org.goshop.store.pojo.Store; +import org.goshop.store.pojo.StoreJoin; +import org.goshop.users.pojo.User; + +/** + * Created by Administrator on 2016/3/24. + */ +public interface StoreJoinService { + /** + * 用户申请卖家 + * @param storeJoin + */ + void applySeller(User user, StoreJoin storeJoin); + + /** + * 第三步用户申请卖家,并返回所需的实体信息 + * @param user + * @param storeJoin + * @return + */ + StoreInfoModel applySellerThree(User user, StoreJoin storeJoin); + + boolean verificationSellerName(String sellerName, Long userId); + + boolean verificationStoreName(String storeName, Long userId); + + StoreJoin save(User user, StoreJoin storeJoin, String[] ids, String[] names); + + Store getCurrentStore(User user); + + StoreJoin getCurrentUserStoreJoin(User user); + + int paySave(StoreJoin storeJoin); + + PageInfo findAll(Integer curPage, Integer pageSize); + + StoreJoin find(Long memberId); + + void saveVerify(Long member_id, String verify_type, String join_message, String[] commis_rate); +} diff --git a/goshop-facade-store/src/main/java/org/goshop/store/i/StoreService.java b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreService.java new file mode 100644 index 0000000..014a244 --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/i/StoreService.java @@ -0,0 +1,33 @@ +package org.goshop.store.i; + +import com.github.pagehelper.PageInfo; +import org.goshop.store.pojo.Store; +import org.goshop.store.pojo.StoreJoin; +import org.goshop.store.pojo.StoreWithBLOBs; +import org.goshop.users.pojo.User; + +/** + * Created by Administrator on 2016/4/14. + */ +public interface StoreService { + PageInfo findAll(Integer curPage, Integer size); + + /** + * 申请开店 + * @param storeJoin + * @return + */ + int openStore(StoreJoin storeJoin); + + int save(StoreWithBLOBs store); + + Store getCurrentStore(User user); + + PageInfo find(Integer gradeId, String sellerName, String storeType, String storeName, Integer curPage, Integer size); + + Store findOne(Integer storeId); + + void update(StoreWithBLOBs store); + + Store findByMemberId(Long userId); +} diff --git a/goshop-facade-store/src/main/java/org/goshop/store/model/JsonManagement.java b/goshop-facade-store/src/main/java/org/goshop/store/model/JsonManagement.java new file mode 100644 index 0000000..1fb7265 --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/model/JsonManagement.java @@ -0,0 +1,20 @@ +package org.goshop.store.model; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Administrator on 2015/11/6. + */ +public class JsonManagement { + + private List jmcs = new ArrayList<>(); + + public List getJmcs() { + return jmcs; + } + + public void setJmcs(List jmcs) { + this.jmcs = jmcs; + } +} diff --git a/goshop-facade-store/src/main/java/org/goshop/store/model/JsonManagementClass.java b/goshop-facade-store/src/main/java/org/goshop/store/model/JsonManagementClass.java new file mode 100644 index 0000000..56ff2e0 --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/model/JsonManagementClass.java @@ -0,0 +1,28 @@ +package org.goshop.store.model; + +/** + * 经营类目 + * Created by Administrator on 2015/10/29. + */ +public class JsonManagementClass { + + private String id; + + private String name; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/goshop-facade-store/src/main/java/org/goshop/store/model/StoreInfoModel.java b/goshop-facade-store/src/main/java/org/goshop/store/model/StoreInfoModel.java new file mode 100644 index 0000000..ac3f495 --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/model/StoreInfoModel.java @@ -0,0 +1,45 @@ +package org.goshop.store.model; + +import org.goshop.goods.pojo.GoodsClass; +import org.goshop.store.pojo.StoreClass; +import org.goshop.store.pojo.StoreGrade; + +import java.io.Serializable; +import java.util.List; + +/** + * Created by Administrator on 2016/3/27. + */ +public class StoreInfoModel implements Serializable { + + //店铺分类 + private List storeClassParentList; + //店铺等级 + private List storeGradeList; + //经营类目 + private List goodsClassParentList; + + public List getStoreClassParentList() { + return storeClassParentList; + } + + public void setStoreClassParentList(List storeClassParentList) { + this.storeClassParentList = storeClassParentList; + } + + public List getStoreGradeList() { + return storeGradeList; + } + + public void setStoreGradeList(List storeGradeList) { + this.storeGradeList = storeGradeList; + } + + public List getGoodsClassParentList() { + return goodsClassParentList; + } + + public void setGoodsClassParentList(List goodsClassParentList) { + this.goodsClassParentList = goodsClassParentList; + } +} diff --git a/goshop-facade-store/src/main/java/org/goshop/store/pojo/Store.java b/goshop-facade-store/src/main/java/org/goshop/store/pojo/Store.java new file mode 100644 index 0000000..31b5616 --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/pojo/Store.java @@ -0,0 +1,457 @@ +package org.goshop.store.pojo; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +public class Store implements Serializable { + private Integer storeId; + + private String storeName; + + private Boolean storeAuth; + + private Boolean nameAuth; + + private Integer gradeId; + + private Long memberId; + + private String memberName; + + private String sellerName; + + private String storeOwnerCard; + + private Integer scId; + + private String storeCompanyName; + + private Integer areaId; + + private String areaInfo; + + private String storeAddress; + + private String storeZip; + + private String storeTel; + + private String storeImage; + + private String storeImage1; + + private Integer storeState; + + private String storeCloseInfo; + + private Integer storeSort; + + private Date storeTime; + + private Date storeEndTime; + + private String storeLabel; + + private String storeBanner; + + private String storeKeywords; + + private String storeDescription; + + private String storeQq; + + private String storeWw; + + private String storeDomain; + + private Boolean storeDomainTimes; + + private Boolean storeRecommend; + + private String storeTheme; + + private Integer storeCredit; + + private Float praiseRate; + + private Float storeDesccredit; + + private Float storeServicecredit; + + private Float storeDeliverycredit; + + private Integer storeCollect; + + private String storeStamp; + + private String storePrintdesc; + + private Integer storeSales; + + private String storeWorkingtime; + + private BigDecimal storeFreePrice; + + private Byte storeStorageAlarm; + + public Integer getStoreId() { + return storeId; + } + + public void setStoreId(Integer storeId) { + this.storeId = storeId; + } + + public String getStoreName() { + return storeName; + } + + public void setStoreName(String storeName) { + this.storeName = storeName == null ? null : storeName.trim(); + } + + public Boolean getStoreAuth() { + return storeAuth; + } + + public void setStoreAuth(Boolean storeAuth) { + this.storeAuth = storeAuth; + } + + public Boolean getNameAuth() { + return nameAuth; + } + + public void setNameAuth(Boolean nameAuth) { + this.nameAuth = nameAuth; + } + + public Integer getGradeId() { + return gradeId; + } + + public void setGradeId(Integer gradeId) { + this.gradeId = gradeId; + } + + public Long getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public String getMemberName() { + return memberName; + } + + public void setMemberName(String memberName) { + this.memberName = memberName == null ? null : memberName.trim(); + } + + public String getSellerName() { + return sellerName; + } + + public void setSellerName(String sellerName) { + this.sellerName = sellerName == null ? null : sellerName.trim(); + } + + public String getStoreOwnerCard() { + return storeOwnerCard; + } + + public void setStoreOwnerCard(String storeOwnerCard) { + this.storeOwnerCard = storeOwnerCard == null ? null : storeOwnerCard.trim(); + } + + public Integer getScId() { + return scId; + } + + public void setScId(Integer scId) { + this.scId = scId; + } + + public String getStoreCompanyName() { + return storeCompanyName; + } + + public void setStoreCompanyName(String storeCompanyName) { + this.storeCompanyName = storeCompanyName == null ? null : storeCompanyName.trim(); + } + + public Integer getAreaId() { + return areaId; + } + + public void setAreaId(Integer areaId) { + this.areaId = areaId; + } + + public String getAreaInfo() { + return areaInfo; + } + + public void setAreaInfo(String areaInfo) { + this.areaInfo = areaInfo == null ? null : areaInfo.trim(); + } + + public String getStoreAddress() { + return storeAddress; + } + + public void setStoreAddress(String storeAddress) { + this.storeAddress = storeAddress == null ? null : storeAddress.trim(); + } + + public String getStoreZip() { + return storeZip; + } + + public void setStoreZip(String storeZip) { + this.storeZip = storeZip == null ? null : storeZip.trim(); + } + + public String getStoreTel() { + return storeTel; + } + + public void setStoreTel(String storeTel) { + this.storeTel = storeTel == null ? null : storeTel.trim(); + } + + public String getStoreImage() { + return storeImage; + } + + public void setStoreImage(String storeImage) { + this.storeImage = storeImage == null ? null : storeImage.trim(); + } + + public String getStoreImage1() { + return storeImage1; + } + + public void setStoreImage1(String storeImage1) { + this.storeImage1 = storeImage1 == null ? null : storeImage1.trim(); + } + + public Integer getStoreState() { + return storeState; + } + + public void setStoreState(Integer storeState) { + this.storeState = storeState; + } + + public String getStoreCloseInfo() { + return storeCloseInfo; + } + + public void setStoreCloseInfo(String storeCloseInfo) { + this.storeCloseInfo = storeCloseInfo == null ? null : storeCloseInfo.trim(); + } + + public Integer getStoreSort() { + return storeSort; + } + + public void setStoreSort(Integer storeSort) { + this.storeSort = storeSort; + } + + public Date getStoreTime() { + return storeTime; + } + + public void setStoreTime(Date storeTime) { + this.storeTime = storeTime; + } + + public Date getStoreEndTime() { + return storeEndTime; + } + + public void setStoreEndTime(Date storeEndTime) { + this.storeEndTime = storeEndTime ; + } + + public String getStoreLabel() { + return storeLabel; + } + + public void setStoreLabel(String storeLabel) { + this.storeLabel = storeLabel == null ? null : storeLabel.trim(); + } + + public String getStoreBanner() { + return storeBanner; + } + + public void setStoreBanner(String storeBanner) { + this.storeBanner = storeBanner == null ? null : storeBanner.trim(); + } + + public String getStoreKeywords() { + return storeKeywords; + } + + public void setStoreKeywords(String storeKeywords) { + this.storeKeywords = storeKeywords == null ? null : storeKeywords.trim(); + } + + public String getStoreDescription() { + return storeDescription; + } + + public void setStoreDescription(String storeDescription) { + this.storeDescription = storeDescription == null ? null : storeDescription.trim(); + } + + public String getStoreQq() { + return storeQq; + } + + public void setStoreQq(String storeQq) { + this.storeQq = storeQq == null ? null : storeQq.trim(); + } + + public String getStoreWw() { + return storeWw; + } + + public void setStoreWw(String storeWw) { + this.storeWw = storeWw == null ? null : storeWw.trim(); + } + + public String getStoreDomain() { + return storeDomain; + } + + public void setStoreDomain(String storeDomain) { + this.storeDomain = storeDomain == null ? null : storeDomain.trim(); + } + + public Boolean getStoreDomainTimes() { + return storeDomainTimes; + } + + public void setStoreDomainTimes(Boolean storeDomainTimes) { + this.storeDomainTimes = storeDomainTimes; + } + + public Boolean getStoreRecommend() { + return storeRecommend; + } + + public void setStoreRecommend(Boolean storeRecommend) { + this.storeRecommend = storeRecommend; + } + + public String getStoreTheme() { + return storeTheme; + } + + public void setStoreTheme(String storeTheme) { + this.storeTheme = storeTheme == null ? null : storeTheme.trim(); + } + + public Integer getStoreCredit() { + return storeCredit; + } + + public void setStoreCredit(Integer storeCredit) { + this.storeCredit = storeCredit; + } + + public Float getPraiseRate() { + return praiseRate; + } + + public void setPraiseRate(Float praiseRate) { + this.praiseRate = praiseRate; + } + + public Float getStoreDesccredit() { + return storeDesccredit; + } + + public void setStoreDesccredit(Float storeDesccredit) { + this.storeDesccredit = storeDesccredit; + } + + public Float getStoreServicecredit() { + return storeServicecredit; + } + + public void setStoreServicecredit(Float storeServicecredit) { + this.storeServicecredit = storeServicecredit; + } + + public Float getStoreDeliverycredit() { + return storeDeliverycredit; + } + + public void setStoreDeliverycredit(Float storeDeliverycredit) { + this.storeDeliverycredit = storeDeliverycredit; + } + + public Integer getStoreCollect() { + return storeCollect; + } + + public void setStoreCollect(Integer storeCollect) { + this.storeCollect = storeCollect; + } + + public String getStoreStamp() { + return storeStamp; + } + + public void setStoreStamp(String storeStamp) { + this.storeStamp = storeStamp == null ? null : storeStamp.trim(); + } + + public String getStorePrintdesc() { + return storePrintdesc; + } + + public void setStorePrintdesc(String storePrintdesc) { + this.storePrintdesc = storePrintdesc == null ? null : storePrintdesc.trim(); + } + + public Integer getStoreSales() { + return storeSales; + } + + public void setStoreSales(Integer storeSales) { + this.storeSales = storeSales; + } + + public String getStoreWorkingtime() { + return storeWorkingtime; + } + + public void setStoreWorkingtime(String storeWorkingtime) { + this.storeWorkingtime = storeWorkingtime == null ? null : storeWorkingtime.trim(); + } + + public BigDecimal getStoreFreePrice() { + return storeFreePrice; + } + + public void setStoreFreePrice(BigDecimal storeFreePrice) { + this.storeFreePrice = storeFreePrice; + } + + public Byte getStoreStorageAlarm() { + return storeStorageAlarm; + } + + public void setStoreStorageAlarm(Byte storeStorageAlarm) { + this.storeStorageAlarm = storeStorageAlarm; + } +} \ No newline at end of file diff --git a/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreClass.java b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreClass.java new file mode 100644 index 0000000..5a12ada --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreClass.java @@ -0,0 +1,75 @@ +package org.goshop.store.pojo; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +public class StoreClass implements Serializable { + @JsonProperty("sc_id") + private Long id; + @JsonProperty("sc_sort") + private Integer sort; + @JsonProperty("sc_name") + private String name; + @JsonProperty("sc_parent_id") + private Long parentId; + + //虚拟字段 + private Integer grade; + + public Integer getGrade() { + return grade; + } + + public void setGrade(Integer grade) { + this.grade = grade; + } + + @JsonIgnore + private List children = new ArrayList(); + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + 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 == null ? null : name.trim(); + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId ; + } + + public List getChildren() { + return children; + } + + public void setChildren(List children) { + this.children = children; + } +} \ No newline at end of file diff --git a/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreGoodsClass.java b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreGoodsClass.java new file mode 100644 index 0000000..577fe4a --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreGoodsClass.java @@ -0,0 +1,65 @@ +package org.goshop.store.pojo; + +import java.io.Serializable; + +public class StoreGoodsClass implements Serializable { + private Integer stcId; + + private String stcName; + + private Integer stcParentId; + + private Boolean stcState; + + private Integer storeId; + + private Integer stcSort; + + public Integer getStcId() { + return stcId; + } + + public void setStcId(Integer stcId) { + this.stcId = stcId; + } + + public String getStcName() { + return stcName; + } + + public void setStcName(String stcName) { + this.stcName = stcName == null ? null : stcName.trim(); + } + + public Integer getStcParentId() { + return stcParentId; + } + + public void setStcParentId(Integer stcParentId) { + this.stcParentId = stcParentId; + } + + public Boolean getStcState() { + return stcState; + } + + public void setStcState(Boolean stcState) { + this.stcState = stcState; + } + + public Integer getStoreId() { + return storeId; + } + + public void setStoreId(Integer storeId) { + this.storeId = storeId; + } + + public Integer getStcSort() { + return stcSort; + } + + public void setStcSort(Integer stcSort) { + this.stcSort = stcSort; + } +} \ No newline at end of file diff --git a/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreGrade.java b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreGrade.java new file mode 100644 index 0000000..4ad1833 --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreGrade.java @@ -0,0 +1,133 @@ +package org.goshop.store.pojo; + +import java.io.Serializable; + +public class StoreGrade implements Serializable { + private Integer sgId; + /** + * 等级名称 + */ + private String sgName; + /** + * 可发布商品数量 + */ + private Integer sgGoodsLimit; + /** + * 可上传图片数量 + */ + private Integer sgAlbumLimit; + + private Integer sgSpaceLimit; + + private Integer sgTemplateNumber; + + private String sgTemplate; + /** + * 收费标准 + */ + private String sgPrice; + + private Boolean sgConfirm; + + private String sgFunction; + + private Integer sgSort; + + private String sgDescription; + + public Integer getSgId() { + return sgId; + } + + public void setSgId(Integer sgId) { + this.sgId = sgId; + } + + public String getSgName() { + return sgName; + } + + public void setSgName(String sgName) { + this.sgName = sgName == null ? null : sgName.trim(); + } + + public Integer getSgGoodsLimit() { + return sgGoodsLimit; + } + + public void setSgGoodsLimit(Integer sgGoodsLimit) { + this.sgGoodsLimit = sgGoodsLimit; + } + + public Integer getSgAlbumLimit() { + return sgAlbumLimit; + } + + public void setSgAlbumLimit(Integer sgAlbumLimit) { + this.sgAlbumLimit = sgAlbumLimit; + } + + public Integer getSgSpaceLimit() { + return sgSpaceLimit; + } + + public void setSgSpaceLimit(Integer sgSpaceLimit) { + this.sgSpaceLimit = sgSpaceLimit; + } + + public Integer getSgTemplateNumber() { + return sgTemplateNumber; + } + + public void setSgTemplateNumber(Integer sgTemplateNumber) { + this.sgTemplateNumber = sgTemplateNumber; + } + + public String getSgTemplate() { + return sgTemplate; + } + + public void setSgTemplate(String sgTemplate) { + this.sgTemplate = sgTemplate == null ? null : sgTemplate.trim(); + } + + public String getSgPrice() { + return sgPrice; + } + + public void setSgPrice(String sgPrice) { + this.sgPrice = sgPrice == null ? null : sgPrice.trim(); + } + + public Boolean getSgConfirm() { + return sgConfirm; + } + + public void setSgConfirm(Boolean sgConfirm) { + this.sgConfirm = sgConfirm; + } + + public String getSgFunction() { + return sgFunction; + } + + public void setSgFunction(String sgFunction) { + this.sgFunction = sgFunction == null ? null : sgFunction.trim(); + } + + public Integer getSgSort() { + return sgSort; + } + + public void setSgSort(Integer sgSort) { + this.sgSort = sgSort; + } + + public String getSgDescription() { + return sgDescription; + } + + public void setSgDescription(String sgDescription) { + this.sgDescription = sgDescription == null ? null : sgDescription.trim(); + } +} \ No newline at end of file diff --git a/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreJoin.java b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreJoin.java new file mode 100644 index 0000000..7edf8ff --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreJoin.java @@ -0,0 +1,486 @@ +package org.goshop.store.pojo; + +import java.io.Serializable; +import java.util.Date; + +public class StoreJoin implements Serializable { + private Long memberId; + + private String memberName; + + private String companyName; + + private String companyAddress; + + private String companyAddressDetail; + + private String companyPhone; + + private Integer companyEmployeeCount; + + private Integer companyRegisteredCapital; + + private String contactsName; + + private String contactsPhone; + + private String contactsEmail; + + private String businessLicenceNumber; + + private String businessLicenceAddress; + + private Date businessLicenceStart; + + private Date businessLicenceEnd; + + private String businessSphere; + + private String businessLicenceNumberElectronic; + + private String organizationCode; + + private String organizationCodeElectronic; + + private String generalTaxpayer; + + private String bankAccountName; + + private String bankAccountNumber; + + private String bankName; + + private String bankCode; + + private String bankAddress; + + private String bankLicenceElectronic; + + private Boolean isSettlementAccount; + + private String settlementBankAccountName; + + private String settlementBankAccountNumber; + + private String settlementBankName; + + private String settlementBankCode; + + private String settlementBankAddress; + + private String taxRegistrationCertificate; + + private String taxpayerId; + + private String taxRegistrationCertificateElectronic; + + private String sellerName; + + private String storeName; + + private String storeClassIds; + + private String storeClassNames; + + private String joininState; + + private String joininMessage; + + private String sgName; + + private Integer sgId; + + private String scName; + + private Integer scId; + + private String storeClassCommisRates; + + private String payingMoneyCertificate; + + private String payingMoneyCertificateExplain; + + public Long getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public String getMemberName() { + return memberName; + } + + public void setMemberName(String memberName) { + this.memberName = memberName == null ? null : memberName.trim(); + } + + public String getCompanyName() { + return companyName; + } + + public void setCompanyName(String companyName) { + this.companyName = companyName == null ? null : companyName.trim(); + } + + public String getCompanyAddress() { + return companyAddress; + } + + public void setCompanyAddress(String companyAddress) { + this.companyAddress = companyAddress == null ? null : companyAddress.trim(); + } + + public String getCompanyAddressDetail() { + return companyAddressDetail; + } + + public void setCompanyAddressDetail(String companyAddressDetail) { + this.companyAddressDetail = companyAddressDetail == null ? null : companyAddressDetail.trim(); + } + + public String getCompanyPhone() { + return companyPhone; + } + + public void setCompanyPhone(String companyPhone) { + this.companyPhone = companyPhone == null ? null : companyPhone.trim(); + } + + public Integer getCompanyEmployeeCount() { + return companyEmployeeCount; + } + + public void setCompanyEmployeeCount(Integer companyEmployeeCount) { + this.companyEmployeeCount = companyEmployeeCount; + } + + public Integer getCompanyRegisteredCapital() { + return companyRegisteredCapital; + } + + public void setCompanyRegisteredCapital(Integer companyRegisteredCapital) { + this.companyRegisteredCapital = companyRegisteredCapital; + } + + public String getContactsName() { + return contactsName; + } + + public void setContactsName(String contactsName) { + this.contactsName = contactsName == null ? null : contactsName.trim(); + } + + public String getContactsPhone() { + return contactsPhone; + } + + public void setContactsPhone(String contactsPhone) { + this.contactsPhone = contactsPhone == null ? null : contactsPhone.trim(); + } + + public String getContactsEmail() { + return contactsEmail; + } + + public void setContactsEmail(String contactsEmail) { + this.contactsEmail = contactsEmail == null ? null : contactsEmail.trim(); + } + + public String getBusinessLicenceNumber() { + return businessLicenceNumber; + } + + public void setBusinessLicenceNumber(String businessLicenceNumber) { + this.businessLicenceNumber = businessLicenceNumber == null ? null : businessLicenceNumber.trim(); + } + + public String getBusinessLicenceAddress() { + return businessLicenceAddress; + } + + public void setBusinessLicenceAddress(String businessLicenceAddress) { + this.businessLicenceAddress = businessLicenceAddress == null ? null : businessLicenceAddress.trim(); + } + + public Date getBusinessLicenceStart() { + return businessLicenceStart; + } + + public void setBusinessLicenceStart(Date businessLicenceStart) { + this.businessLicenceStart = businessLicenceStart; + } + + public Date getBusinessLicenceEnd() { + return businessLicenceEnd; + } + + public void setBusinessLicenceEnd(Date businessLicenceEnd) { + this.businessLicenceEnd = businessLicenceEnd; + } + + public String getBusinessSphere() { + return businessSphere; + } + + public void setBusinessSphere(String businessSphere) { + this.businessSphere = businessSphere == null ? null : businessSphere.trim(); + } + + public String getBusinessLicenceNumberElectronic() { + return businessLicenceNumberElectronic; + } + + public void setBusinessLicenceNumberElectronic(String businessLicenceNumberElectronic) { + this.businessLicenceNumberElectronic = businessLicenceNumberElectronic == null ? null : businessLicenceNumberElectronic.trim(); + } + + public String getOrganizationCode() { + return organizationCode; + } + + public void setOrganizationCode(String organizationCode) { + this.organizationCode = organizationCode == null ? null : organizationCode.trim(); + } + + public String getOrganizationCodeElectronic() { + return organizationCodeElectronic; + } + + public void setOrganizationCodeElectronic(String organizationCodeElectronic) { + this.organizationCodeElectronic = organizationCodeElectronic == null ? null : organizationCodeElectronic.trim(); + } + + public String getGeneralTaxpayer() { + return generalTaxpayer; + } + + public void setGeneralTaxpayer(String generalTaxpayer) { + this.generalTaxpayer = generalTaxpayer == null ? null : generalTaxpayer.trim(); + } + + public String getBankAccountName() { + return bankAccountName; + } + + public void setBankAccountName(String bankAccountName) { + this.bankAccountName = bankAccountName == null ? null : bankAccountName.trim(); + } + + public String getBankAccountNumber() { + return bankAccountNumber; + } + + public void setBankAccountNumber(String bankAccountNumber) { + this.bankAccountNumber = bankAccountNumber == null ? null : bankAccountNumber.trim(); + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName == null ? null : bankName.trim(); + } + + public String getBankCode() { + return bankCode; + } + + public void setBankCode(String bankCode) { + this.bankCode = bankCode == null ? null : bankCode.trim(); + } + + public String getBankAddress() { + return bankAddress; + } + + public void setBankAddress(String bankAddress) { + this.bankAddress = bankAddress == null ? null : bankAddress.trim(); + } + + public String getBankLicenceElectronic() { + return bankLicenceElectronic; + } + + public void setBankLicenceElectronic(String bankLicenceElectronic) { + this.bankLicenceElectronic = bankLicenceElectronic == null ? null : bankLicenceElectronic.trim(); + } + + public Boolean getIsSettlementAccount() { + return isSettlementAccount; + } + + public void setIsSettlementAccount(Boolean isSettlementAccount) { + this.isSettlementAccount = isSettlementAccount; + } + + public String getSettlementBankAccountName() { + return settlementBankAccountName; + } + + public void setSettlementBankAccountName(String settlementBankAccountName) { + this.settlementBankAccountName = settlementBankAccountName == null ? null : settlementBankAccountName.trim(); + } + + public String getSettlementBankAccountNumber() { + return settlementBankAccountNumber; + } + + public void setSettlementBankAccountNumber(String settlementBankAccountNumber) { + this.settlementBankAccountNumber = settlementBankAccountNumber == null ? null : settlementBankAccountNumber.trim(); + } + + public String getSettlementBankName() { + return settlementBankName; + } + + public void setSettlementBankName(String settlementBankName) { + this.settlementBankName = settlementBankName == null ? null : settlementBankName.trim(); + } + + public String getSettlementBankCode() { + return settlementBankCode; + } + + public void setSettlementBankCode(String settlementBankCode) { + this.settlementBankCode = settlementBankCode == null ? null : settlementBankCode.trim(); + } + + public String getSettlementBankAddress() { + return settlementBankAddress; + } + + public void setSettlementBankAddress(String settlementBankAddress) { + this.settlementBankAddress = settlementBankAddress == null ? null : settlementBankAddress.trim(); + } + + public String getTaxRegistrationCertificate() { + return taxRegistrationCertificate; + } + + public void setTaxRegistrationCertificate(String taxRegistrationCertificate) { + this.taxRegistrationCertificate = taxRegistrationCertificate == null ? null : taxRegistrationCertificate.trim(); + } + + public String getTaxpayerId() { + return taxpayerId; + } + + public void setTaxpayerId(String taxpayerId) { + this.taxpayerId = taxpayerId == null ? null : taxpayerId.trim(); + } + + public String getTaxRegistrationCertificateElectronic() { + return taxRegistrationCertificateElectronic; + } + + public void setTaxRegistrationCertificateElectronic(String taxRegistrationCertificateElectronic) { + this.taxRegistrationCertificateElectronic = taxRegistrationCertificateElectronic == null ? null : taxRegistrationCertificateElectronic.trim(); + } + + public String getSellerName() { + return sellerName; + } + + public void setSellerName(String sellerName) { + this.sellerName = sellerName == null ? null : sellerName.trim(); + } + + public String getStoreName() { + return storeName; + } + + public void setStoreName(String storeName) { + this.storeName = storeName == null ? null : storeName.trim(); + } + + public String getStoreClassIds() { + return storeClassIds; + } + + public void setStoreClassIds(String storeClassIds) { + this.storeClassIds = storeClassIds == null ? null : storeClassIds.trim(); + } + + public String getStoreClassNames() { + return storeClassNames; + } + + public void setStoreClassNames(String storeClassNames) { + this.storeClassNames = storeClassNames == null ? null : storeClassNames.trim(); + } + + public String getJoininState() { + return joininState; + } + + public void setJoininState(String joininState) { + this.joininState = joininState == null ? null : joininState.trim(); + } + + public String getJoininMessage() { + return joininMessage; + } + + public void setJoininMessage(String joininMessage) { + this.joininMessage = joininMessage == null ? null : joininMessage.trim(); + } + + public String getSgName() { + return sgName; + } + + public void setSgName(String sgName) { + this.sgName = sgName == null ? null : sgName.trim(); + } + + public Integer getSgId() { + return sgId; + } + + public void setSgId(Integer sgId) { + this.sgId = sgId; + } + + public String getScName() { + return scName; + } + + public void setScName(String scName) { + this.scName = scName == null ? null : scName.trim(); + } + + public Integer getScId() { + return scId; + } + + public void setScId(Integer scId) { + this.scId = scId; + } + + public String getStoreClassCommisRates() { + return storeClassCommisRates; + } + + public void setStoreClassCommisRates(String storeClassCommisRates) { + this.storeClassCommisRates = storeClassCommisRates == null ? null : storeClassCommisRates.trim(); + } + + public String getPayingMoneyCertificate() { + return payingMoneyCertificate; + } + + public void setPayingMoneyCertificate(String payingMoneyCertificate) { + this.payingMoneyCertificate = payingMoneyCertificate == null ? null : payingMoneyCertificate.trim(); + } + + public String getPayingMoneyCertificateExplain() { + return payingMoneyCertificateExplain; + } + + public void setPayingMoneyCertificateExplain(String payingMoneyCertificateExplain) { + this.payingMoneyCertificateExplain = payingMoneyCertificateExplain == null ? null : payingMoneyCertificateExplain.trim(); + } +} \ No newline at end of file diff --git a/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreWithBLOBs.java b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreWithBLOBs.java new file mode 100644 index 0000000..d2534ff --- /dev/null +++ b/goshop-facade-store/src/main/java/org/goshop/store/pojo/StoreWithBLOBs.java @@ -0,0 +1,63 @@ +package org.goshop.store.pojo; + +public class StoreWithBLOBs extends Store { + private String description; + + private String storeZy; + + private String storeSlide; + + private String storeSlideUrl; + + private String storePresales; + + private String storeAftersales; + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public String getStoreZy() { + return storeZy; + } + + public void setStoreZy(String storeZy) { + this.storeZy = storeZy == null ? null : storeZy.trim(); + } + + public String getStoreSlide() { + return storeSlide; + } + + public void setStoreSlide(String storeSlide) { + this.storeSlide = storeSlide == null ? null : storeSlide.trim(); + } + + public String getStoreSlideUrl() { + return storeSlideUrl; + } + + public void setStoreSlideUrl(String storeSlideUrl) { + this.storeSlideUrl = storeSlideUrl == null ? null : storeSlideUrl.trim(); + } + + public String getStorePresales() { + return storePresales; + } + + public void setStorePresales(String storePresales) { + this.storePresales = storePresales == null ? null : storePresales.trim(); + } + + public String getStoreAftersales() { + return storeAftersales; + } + + public void setStoreAftersales(String storeAftersales) { + this.storeAftersales = storeAftersales == null ? null : storeAftersales.trim(); + } +} \ No newline at end of file diff --git a/goshop-facade-users/goshop-facade-users.iml b/goshop-facade-users/goshop-facade-users.iml index 50b4be0..52f71df 100644 --- a/goshop-facade-users/goshop-facade-users.iml +++ b/goshop-facade-users/goshop-facade-users.iml @@ -13,6 +13,10 @@ + + + + diff --git a/goshop-facade-users/src/main/java/org/goshop/users/i/FindPasswordService.java b/goshop-facade-users/src/main/java/org/goshop/users/i/FindPasswordService.java new file mode 100644 index 0000000..7dc20c2 --- /dev/null +++ b/goshop-facade-users/src/main/java/org/goshop/users/i/FindPasswordService.java @@ -0,0 +1,16 @@ +package org.goshop.users.i; + +/** + * Created by Administrator on 2016/3/21. + */ +public interface FindPasswordService { + String getContent(String username); + + int saveFindPassword(String username, String key); + + void deleteInvalid(); + + String findByKey(String key); + + void delete(String key); +} diff --git a/goshop-facade-users/src/main/java/org/goshop/users/i/MemberService.java b/goshop-facade-users/src/main/java/org/goshop/users/i/MemberService.java index 374c438..e99f0a9 100644 --- a/goshop-facade-users/src/main/java/org/goshop/users/i/MemberService.java +++ b/goshop-facade-users/src/main/java/org/goshop/users/i/MemberService.java @@ -2,6 +2,7 @@ import com.github.pagehelper.PageInfo; import org.goshop.users.pojo.Member; +import org.goshop.users.pojo.User; /** * Created by Administrator on 2016/4/18. @@ -24,4 +25,45 @@ public interface MemberService { int add(String loginName, String password, Member member); int addAndSetAdmin(String loginName, String password, Member member); + + /** + * 检查用户下是否有此电子邮件 + * @param loginName + * @param email + * @return + */ + Boolean checkLoginNameByEmail(String loginName, String email); + /** + * 发送邮件找回密码 + * @param username + * @param email + */ + void sendEmailFindPassword(String username, String email); + + void updatePassword(String key,String password) throws Exception; + + void updatePassword(Long userId,String password) throws Exception; + + Member findUserByUserId(Long userId); + + int updateByUserId(Member member); + + Boolean checkPassword(Long userId, String password); + + int updateEmail(Long userId, String email); + /** + * 检测邮件 + * @param memberEmail true为已存在这个邮件 + * @return + */ + Boolean checkEmail(String memberEmail); + + int saveAvatar(Long userId, String memberAvatar); + + /** + * 保存用户数据 + * @param member + * @return + */ + int saveMember(Member member,User user); } diff --git a/goshop-facade-users/src/main/java/org/goshop/users/i/UserService.java b/goshop-facade-users/src/main/java/org/goshop/users/i/UserService.java index 09f5d55..fcc0f29 100644 --- a/goshop-facade-users/src/main/java/org/goshop/users/i/UserService.java +++ b/goshop-facade-users/src/main/java/org/goshop/users/i/UserService.java @@ -32,4 +32,10 @@ public interface UserService { void updateLoginInfo(User user, String ip); List findByRole(Long userId); + + int updateByPrimaryKey(User user); + + User selectByPrimaryKey(Long userId); + + int insert(User user); } diff --git a/goshop-facade-users/src/main/java/org/goshop/users/pojo/FindPassword.java b/goshop-facade-users/src/main/java/org/goshop/users/pojo/FindPassword.java new file mode 100644 index 0000000..abd7887 --- /dev/null +++ b/goshop-facade-users/src/main/java/org/goshop/users/pojo/FindPassword.java @@ -0,0 +1,37 @@ +package org.goshop.users.pojo; + + +import java.io.Serializable; +import java.sql.Timestamp; + +public class FindPassword implements Serializable { + private String loginName; + + private Timestamp created; + + private String random; + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName == null ? null : loginName.trim(); + } + + public Timestamp getCreated() { + return created; + } + + public void setCreated(Timestamp created) { + this.created = created; + } + + public String getRandom() { + return random; + } + + public void setRandom(String random) { + this.random = random == null ? null : random.trim(); + } +} \ No newline at end of file diff --git a/goshop-service-cms/goshop-service-cms.iml b/goshop-service-cms/goshop-service-cms.iml index 129ff68..0274635 100644 --- a/goshop-service-cms/goshop-service-cms.iml +++ b/goshop-service-cms/goshop-service-cms.iml @@ -14,6 +14,8 @@ + + @@ -30,9 +32,9 @@ + + - - diff --git a/goshop-service-cms/pom.xml b/goshop-service-cms/pom.xml index d0ab8da..a43aef0 100644 --- a/goshop-service-cms/pom.xml +++ b/goshop-service-cms/pom.xml @@ -100,7 +100,6 @@ javax.servlet javax.servlet-api - 3.0.1 provided diff --git a/goshop-service-email/pom.xml b/goshop-service-email/pom.xml new file mode 100644 index 0000000..73b60cb --- /dev/null +++ b/goshop-service-email/pom.xml @@ -0,0 +1,150 @@ + + + + ghosp-parent + org.goshop + 2.0-SNAPSHOT + + 4.0.0 + + goshop-service-email + + + + + org.goshop + goshop-facade-email + + + org.goshop + goshop-common-config + + + org.goshop + goshop-common-service + + + + + javax.mail + mail + + + + com.alibaba + dubbo + + + + + org.springframework + spring-context + + + org.springframework + spring-beans + + + org.springframework + spring-aspects + + + + junit + junit + test + + + org.springframework + spring-test + test + + + org.hamcrest + hamcrest-all + test + + + + javax.servlet + javax.servlet-api + provided + + + + + + + + src/main/java + + **/*.properties + **/*.xml + + false + + + ${project.build.directory}/classes + src/main/resources + true + + **/*.xml + **/*.properties + + + + ${project.build.directory}/classes/META-INF/spring + src/main/resources/spring + true + + spring-context.xml + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + target/classes/ + + + com.alibaba.dubbo.container.Main + + false + true + lib/ + + + . + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + package + + copy-dependencies + + + jar + jar + + ${project.build.directory}/lib + + + + + + + + \ No newline at end of file diff --git a/goshop-service-email/src/main/java/org/goshop/email/service/EMailServiceImpl.java b/goshop-service-email/src/main/java/org/goshop/email/service/EMailServiceImpl.java new file mode 100644 index 0000000..905b949 --- /dev/null +++ b/goshop-service-email/src/main/java/org/goshop/email/service/EMailServiceImpl.java @@ -0,0 +1,29 @@ +package org.goshop.email.service; + +import org.goshop.email.utils.SimpleMailSender; +import org.goshop.email.i.EMailService; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.mail.MessagingException; + +@Service("eMailService") +public class EMailServiceImpl implements EMailService { + + @Value("${EMAIL_ADDRESS}") + private String eMailAddress; + + @Value("${EMAIL_PASSWORD}") + private String eMailPassword; + + + @Override + public void send(String email,String title, String emailContent) { + SimpleMailSender sms = new SimpleMailSender(eMailAddress,eMailPassword); + try { + sms.send(email,title,emailContent); + } catch (MessagingException e) { + e.printStackTrace(); + } + } +} diff --git a/goshop-service-email/src/main/java/org/goshop/email/utils/MailAuthenticator.java b/goshop-service-email/src/main/java/org/goshop/email/utils/MailAuthenticator.java new file mode 100644 index 0000000..fd81f14 --- /dev/null +++ b/goshop-service-email/src/main/java/org/goshop/email/utils/MailAuthenticator.java @@ -0,0 +1,55 @@ +package org.goshop.email.utils; + +import javax.mail.Authenticator; +import javax.mail.PasswordAuthentication; + +/** + * 服务器邮箱登录验证 + * + * @author MZULE + * + */ +public class MailAuthenticator extends Authenticator { + + /** + * 用户名(登录邮箱) + */ + private String username; + /** + * 密码 + */ + private String password; + + /** + * 初始化邮箱和密码 + * + * @param username 邮箱 + * @param password 密码 + */ + public MailAuthenticator(String username, String password) { + this.username = username; + this.password = password; + } + + String getPassword() { + return password; + } + + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + + String getUsername() { + return username; + } + + public void setPassword(String password) { + this.password = password; + } + + public void setUsername(String username) { + this.username = username; + } + +} \ No newline at end of file diff --git a/goshop-service-email/src/main/java/org/goshop/email/utils/SimpleMail.java b/goshop-service-email/src/main/java/org/goshop/email/utils/SimpleMail.java new file mode 100644 index 0000000..b2a61d9 --- /dev/null +++ b/goshop-service-email/src/main/java/org/goshop/email/utils/SimpleMail.java @@ -0,0 +1,27 @@ +package org.goshop.email.utils; + +/** + * Created by Administrator on 2016/3/21. + */ +public class SimpleMail { + + private String subject; + + private Object content; + + public String getSubject() { + return subject; + } + + public void setSubject(String subject) { + this.subject = subject; + } + + public Object getContent() { + return content; + } + + public void setContent(Object content) { + this.content = content; + } +} diff --git a/goshop-service-email/src/main/java/org/goshop/email/utils/SimpleMailSender.java b/goshop-service-email/src/main/java/org/goshop/email/utils/SimpleMailSender.java new file mode 100644 index 0000000..d031dc0 --- /dev/null +++ b/goshop-service-email/src/main/java/org/goshop/email/utils/SimpleMailSender.java @@ -0,0 +1,176 @@ +package org.goshop.email.utils; + +import javax.mail.Message; +import javax.mail.MessagingException; +import javax.mail.Session; +import javax.mail.Transport; +import javax.mail.internet.AddressException; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeMessage; +import java.util.List; +import java.util.Properties; + +/** + * 简单邮件发送器,可单发,群发。 + * + * @author MZULE + * + */ +public class SimpleMailSender { + + /** + * 发送邮件的props文件 + */ + private final transient Properties props = System.getProperties(); + /** + * 邮件服务器登录验证 + */ + private transient MailAuthenticator authenticator; + + /** + * 邮箱session + */ + private transient Session session; + + /** + * 初始化邮件发送器 + * + * @param smtpHostName + * SMTP邮件服务器地址 + * @param username + * 发送邮件的用户名(地址) + * @param password + * 发送邮件的密码 + */ + public SimpleMailSender(final String smtpHostName, final String username, + final String password) { + init(username, password, smtpHostName); + } + + /** + * 初始化邮件发送器 + * + * @param username + * 发送邮件的用户名(地址),并以此解析SMTP服务器地址 + * @param password + * 发送邮件的密码 + */ + public SimpleMailSender(final String username, final String password) { + //通过邮箱地址解析出smtp服务器,对大多数邮箱都管用 + final String smtpHostName = "smtp." + username.split("@")[1]; + init(username, password, smtpHostName); + + } + + /** + * 初始化 + * + * @param username + * 发送邮件的用户名(地址) + * @param password + * 密码 + * @param smtpHostName + * SMTP主机地址 + */ + private void init(String username, String password, String smtpHostName) { + // 初始化props + props.put("mail.smtp.auth", "true"); + props.put("mail.smtp.host", smtpHostName); + // 验证 + authenticator = new MailAuthenticator(username, password); + // 创建session + session = Session.getInstance(props, authenticator); + } + + /** + * 发送邮件 + * + * @param recipient + * 收件人邮箱地址 + * @param subject + * 邮件主题 + * @param content + * 邮件内容 + * @throws AddressException + * @throws MessagingException + */ + public void send(String recipient, String subject, Object content) + throws AddressException, MessagingException { + // 创建mime类型邮件 + final MimeMessage message = new MimeMessage(session); + // 设置发信人 + message.setFrom(new InternetAddress(authenticator.getUsername())); + // 设置收件人 + message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); + // 设置主题 + message.setSubject(subject); + // 设置邮件内容 + message.setContent(content.toString(), "text/html;charset=utf-8"); + // 发送 + Transport.send(message); + } + + /** + * 群发邮件 + * + * @param recipients + * 收件人们 + * @param subject + * 主题 + * @param content + * 内容 + * @throws AddressException + * @throws MessagingException + */ + public void send(List recipients, String subject, Object content) + throws AddressException, MessagingException { + // 创建mime类型邮件 + final MimeMessage message = new MimeMessage(session); + // 设置发信人 + message.setFrom(new InternetAddress(authenticator.getUsername())); + // 设置收件人们 + final int num = recipients.size(); + InternetAddress[] addresses = new InternetAddress[num]; + for (int i = 0; i < num; i++) { + addresses[i] = new InternetAddress(recipients.get(i)); + } + message.setRecipients(Message.RecipientType.TO, addresses); + // 设置主题 + message.setSubject(subject); + // 设置邮件内容 + message.setContent(content.toString(), "text/html;charset=utf-8"); + // 发送 + Transport.send(message); + } + + /** + * 发送邮件 + * + * @param recipient + * 收件人邮箱地址 + * @param mail + * 邮件对象 + * @throws AddressException + * @throws MessagingException + */ + public void send(String recipient, SimpleMail mail) + throws AddressException, MessagingException { + send(recipient, mail.getSubject(), mail.getContent()); + } + + /** + * 群发邮件 + * + * @param recipients + * 收件人们 + * @param mail + * 邮件对象 + * @throws AddressException + * @throws MessagingException + */ + public void send(List recipients, SimpleMail mail) + throws AddressException, MessagingException { + send(recipients, mail.getSubject(), mail.getContent()); + } + +} \ No newline at end of file diff --git a/goshop-service-email/src/main/resources/log4j.properties b/goshop-service-email/src/main/resources/log4j.properties new file mode 100644 index 0000000..38213ab --- /dev/null +++ b/goshop-service-email/src/main/resources/log4j.properties @@ -0,0 +1,27 @@ +#开发日志将在本地输出,并输出SQL + +log4j.rootLogger=${log4j.leve},A1,DRF +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +# log4j.appender.A1.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n +log4j.appender.A1.layout.ConversionPattern=%d %5p [%F:%L] : %m%n + +log4j.appender.DRF=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DRF.Threshold=${log4j.leve} +log4j.appender.DRF.DatePattern='.'yyyy-MM-dd +log4j.appender.DRF.File=target/logs/goshop-service-email.log +log4j.appender.DRF.Append=true +log4j.appender.DRF.layout=org.apache.log4j.PatternLayout +log4j.appender.DRF.layout.ConversionPattern=[%-5p][%d{yyyyMMdd HH:mm:ss,SSS}][%C{1}:%L] %m%n + + +###输出SQL +log4j.logger.com.ibatis=${log4j.ale} +log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=${log4j.ale} +log4j.logger.com.ibatis.common.jdbc.ScriptRunner=${log4j.leve} +log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=${log4j.ale} +log4j.logger.java.sql.Connection=${log4j.ale} +log4j.logger.java.sql.Statement=${log4j.ale} +log4j.logger.java.sql.PreparedStatement=${log4j.ale} +org.springframework = ${log4j.ale} +org.apache.zookeeper = ${log4j.ale} diff --git a/goshop-service-email/src/main/resources/resource/email.properties b/goshop-service-email/src/main/resources/resource/email.properties new file mode 100644 index 0000000..322d2f0 --- /dev/null +++ b/goshop-service-email/src/main/resources/resource/email.properties @@ -0,0 +1,2 @@ +EMAIL_ADDRESS=pzh_goshop@126.com +EMAIL_PASSWORD=pzh1234567 \ No newline at end of file diff --git a/goshop-service-email/src/main/resources/spring/applicationContext-dubbo-provider.xml b/goshop-service-email/src/main/resources/spring/applicationContext-dubbo-provider.xml new file mode 100644 index 0000000..6280b71 --- /dev/null +++ b/goshop-service-email/src/main/resources/spring/applicationContext-dubbo-provider.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-email/src/main/resources/spring/spring-context.xml b/goshop-service-email/src/main/resources/spring/spring-context.xml new file mode 100644 index 0000000..5aaa3dc --- /dev/null +++ b/goshop-service-email/src/main/resources/spring/spring-context.xml @@ -0,0 +1,19 @@ + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-email/src/test/java/org/goshop/email/service/EMailServiceImplTest.java b/goshop-service-email/src/test/java/org/goshop/email/service/EMailServiceImplTest.java new file mode 100644 index 0000000..4c734db --- /dev/null +++ b/goshop-service-email/src/test/java/org/goshop/email/service/EMailServiceImplTest.java @@ -0,0 +1,22 @@ +package org.goshop.email.service; + +import org.goshop.email.i.EMailService; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import service.SpringBaseTest; + +import static org.junit.Assert.*; + +/** + * Created by Administrator on 2016/6/21. + */ +public class EMailServiceImplTest extends SpringBaseTest { + + @Autowired + EMailService eMailService; + + @Test + public void testSend() throws Exception { + eMailService.send("pzh_gugu@126.com","找回密码","你来吧!"); + } +} \ No newline at end of file diff --git a/goshop-service-email/src/test/java/service/DubboProvider.java b/goshop-service-email/src/test/java/service/DubboProvider.java new file mode 100644 index 0000000..e7bfa8b --- /dev/null +++ b/goshop-service-email/src/test/java/service/DubboProvider.java @@ -0,0 +1,36 @@ +package service; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +/** + * + * @描述: 启动Dubbo服务用的MainClass. + * @作者: WuShuicheng . + * @创建时间: 2013-11-5,下午9:47:55 . + * @版本: 1.0 . + */ +public class DubboProvider { + + private static final Log log = LogFactory.getLog(DubboProvider.class); + + public static void main(String[] args) { + try { + ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/spring-context.xml"); + context.start(); + } catch (Exception e) { + log.error("== DubboProvider context start error:",e); + } + synchronized (DubboProvider.class) { + while (true) { + try { + DubboProvider.class.wait(); + } catch (InterruptedException e) { + log.error("== synchronized error:",e); + } + } + } + } + +} \ No newline at end of file diff --git a/goshop-service-email/src/test/java/service/SpringBaseTest.java b/goshop-service-email/src/test/java/service/SpringBaseTest.java new file mode 100644 index 0000000..cfaa61c --- /dev/null +++ b/goshop-service-email/src/test/java/service/SpringBaseTest.java @@ -0,0 +1,18 @@ +package service; + + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = { "classpath*:/spring/spring-context.xml" }) +public class SpringBaseTest extends AbstractJUnit4SpringContextTests /*AbstractTransactionalJUnit4SpringContextTests*/{ + //@Before + @Test + public void setup() { + + } +} \ No newline at end of file diff --git a/goshop-service-goods/pom.xml b/goshop-service-goods/pom.xml new file mode 100644 index 0000000..bb90f25 --- /dev/null +++ b/goshop-service-goods/pom.xml @@ -0,0 +1,181 @@ + + + + ghosp-parent + org.goshop + 2.0-SNAPSHOT + + 4.0.0 + + goshop-service-goods + + + + + + org.goshop + goshop-facade-goods + + + org.goshop + goshop-common-config + + + org.goshop + goshop-common-service + + + org.goshop + goshop-common-shiro + + + + + org.mybatis + mybatis + + + org.mybatis + mybatis-spring + + + com.github.miemiedev + mybatis-paginator + + + com.github.pagehelper + pagehelper + + + + mysql + mysql-connector-java + + + + com.alibaba + druid + + + + com.alibaba + dubbo + + + + + org.springframework + spring-context + + + org.springframework + spring-beans + + + org.springframework + spring-jdbc + + + org.springframework + spring-aspects + + + + junit + junit + test + + + org.springframework + spring-test + test + + + org.hamcrest + hamcrest-all + test + + + + javax.servlet + javax.servlet-api + provided + + + + + + + + src/main/java + + **/*.properties + **/*.xml + + false + + + ${project.build.directory}/classes + src/main/resources + true + + **/*.xml + **/*.properties + + + + ${project.build.directory}/classes/META-INF/spring + src/main/resources/spring + true + + spring-context.xml + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + target/classes/ + + + com.alibaba.dubbo.container.Main + + false + true + lib/ + + + . + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + package + + copy-dependencies + + + jar + jar + + ${project.build.directory}/lib + + + + + + + + \ No newline at end of file diff --git a/goshop-service-goods/src/main/java/org/goshop/goods/service/GoodsClassServiceImpl.java b/goshop-service-goods/src/main/java/org/goshop/goods/service/GoodsClassServiceImpl.java new file mode 100644 index 0000000..91ce959 --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/goods/service/GoodsClassServiceImpl.java @@ -0,0 +1,81 @@ +package org.goshop.goods.service; + +import com.github.pagehelper.PageInfo; +import org.goshop.common.exception.MapperException; +import org.goshop.common.utils.PageUtils; +import org.goshop.goods.i.GoodsClassService; +import org.goshop.goods.pojo.GoodsClass; +import org.goshop.store.mapper.master.GoodsClassMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service("goodsClassService") +public class GoodsClassServiceImpl implements GoodsClassService { + + @Autowired + GoodsClassMapper goodsClassMapper; + + @Override + public List findTreeByGcParentId(Integer gcParentId) { + return goodsClassMapper.findTreeByGcParentId(gcParentId); + } + + @Override + public List findByGcParentId(Integer parentId) { + if(parentId==null){ + parentId=0; + } + return goodsClassMapper.findByGcParentId(parentId); + } + + @Override + public int save(GoodsClass goodsClass) { + return goodsClassMapper.insert(goodsClass); + } + + @Override + public boolean checkByIdNameParentId(Integer gcId, String gcName, Integer gcParentId) { + List list = goodsClassMapper.findByGcNameGcParentId(gcName,gcParentId); + if(list.size()>1){ + throw new MapperException("数据异常"); + }else if(list.size()==1){ + if(gcId==null){ + return false; + }else if(list.get(0).getGcId()!=gcId){ + return false; + } + } + return true; + } + + @Override + public PageInfo findAll(Integer curPage, Integer pageSize) { + PageUtils.startPage(curPage,pageSize); + List list=goodsClassMapper.findAll(); + return new PageInfo(list); + } + + @Override + public PageInfo findGradeByGcParentId(Integer gcParentId, Integer curPage, Integer pageSize) { + PageUtils.startPage(curPage,pageSize); + List list=goodsClassMapper.findGradeByGcParentId(gcParentId); + return new PageInfo(list); + } + + @Override + public List findGradeByGcParentId(Integer gcParentId) { + return goodsClassMapper.findGradeByGcParentId(gcParentId); + } + + @Override + public GoodsClass findOne(Integer gcId) { + return goodsClassMapper.selectByPrimaryKey(gcId); + } + + @Override + public int delete(Integer id) { + return goodsClassMapper.deleteByPrimaryKey(id); + } +} diff --git a/goshop-service-goods/src/main/java/org/goshop/goods/service/GoodsTypeServiceImpl.java b/goshop-service-goods/src/main/java/org/goshop/goods/service/GoodsTypeServiceImpl.java new file mode 100644 index 0000000..30dae37 --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/goods/service/GoodsTypeServiceImpl.java @@ -0,0 +1,22 @@ +package org.goshop.goods.service; + +import org.goshop.goods.i.GoodsTypeService; +import org.goshop.goods.pojo.GoodsType; +import org.goshop.store.mapper.master.GoodsTypeMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + + +@Service("goodsTypeService") +public class GoodsTypeServiceImpl implements GoodsTypeService { + + @Autowired + GoodsTypeMapper goodsTypeMapper; + + @Override + public List findAll() { + return goodsTypeMapper.findAll(); + } +} diff --git a/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsClassMapper.java b/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsClassMapper.java new file mode 100644 index 0000000..1e4f69d --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsClassMapper.java @@ -0,0 +1,30 @@ +package org.goshop.store.mapper.master; + +import org.apache.ibatis.annotations.Param; +import org.goshop.goods.pojo.GoodsClass; + +import java.util.List; + +public interface GoodsClassMapper { + int deleteByPrimaryKey(Integer gcId); + + int insert(GoodsClass record); + + int insertSelective(GoodsClass record); + + GoodsClass selectByPrimaryKey(Integer gcId); + + int updateByPrimaryKeySelective(GoodsClass record); + + int updateByPrimaryKey(GoodsClass record); + + List findTreeByGcParentId(Integer gcParentId); + + List findByGcParentId(@Param("gcParentId") Integer parentId); + + List findByGcNameGcParentId(@Param("gcName") String gcName, @Param("gcParentId") Integer gcParentId); + + List findAll(); + + List findGradeByGcParentId(@Param("gcParentId") Integer gcParentId); +} \ No newline at end of file diff --git a/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsClassMapper.xml b/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsClassMapper.xml new file mode 100644 index 0000000..ff71a4f --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsClassMapper.xml @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gc_id, gc_name, type_id, type_name, gc_parent_id, gc_sort, gc_title, gc_keywords, + gc_description,gc_pic + + + + delete from gs_goods_class + where gc_id = #{gcId,jdbcType=INTEGER} + + + insert into gs_goods_class (gc_id, gc_name, type_id, + type_name, gc_parent_id, gc_sort, + gc_title, gc_keywords, gc_description, + gc_pic) + values (#{gcId,jdbcType=INTEGER}, #{gcName,jdbcType=VARCHAR}, #{typeId,jdbcType=INTEGER}, + #{typeName,jdbcType=VARCHAR}, #{gcParentId,jdbcType=INTEGER}, #{gcSort,jdbcType=INTEGER}, + #{gcTitle,jdbcType=VARCHAR}, #{gcKeywords,jdbcType=VARCHAR}, #{gcDescription,jdbcType=VARCHAR}, + #{gcPic,jdbcType=VARCHAR}) + + + insert into gs_goods_class + + + gc_id, + + + gc_name, + + + type_id, + + + type_name, + + + gc_parent_id, + + + gc_sort, + + + gc_title, + + + gc_keywords, + + + gc_description, + + + gc_pic, + + + + + #{gcId,jdbcType=INTEGER}, + + + #{gcName,jdbcType=VARCHAR}, + + + #{typeId,jdbcType=INTEGER}, + + + #{typeName,jdbcType=VARCHAR}, + + + #{gcParentId,jdbcType=INTEGER}, + + + #{gcSort,jdbcType=INTEGER}, + + + #{gcTitle,jdbcType=VARCHAR}, + + + #{gcKeywords,jdbcType=VARCHAR}, + + + #{gcDescription,jdbcType=VARCHAR}, + + + #{gcPic,jdbcType=VARCHAR}, + + + + + update gs_goods_class + + + gc_name = #{gcName,jdbcType=VARCHAR}, + + + type_id = #{typeId,jdbcType=INTEGER}, + + + type_name = #{typeName,jdbcType=VARCHAR}, + + + gc_parent_id = #{gcParentId,jdbcType=INTEGER}, + + + gc_sort = #{gcSort,jdbcType=INTEGER}, + + + gc_title = #{gcTitle,jdbcType=VARCHAR}, + + + gc_keywords = #{gcKeywords,jdbcType=VARCHAR}, + + + gc_description = #{gcDescription,jdbcType=VARCHAR}, + + + gc_pic = #{gcPic,jdbcType=VARCHAR}, + + + where gc_id = #{gcId,jdbcType=INTEGER} + + + update gs_goods_class + set gc_name = #{gcName,jdbcType=VARCHAR}, + type_id = #{typeId,jdbcType=INTEGER}, + type_name = #{typeName,jdbcType=VARCHAR}, + gc_parent_id = #{gcParentId,jdbcType=INTEGER}, + gc_sort = #{gcSort,jdbcType=INTEGER}, + gc_title = #{gcTitle,jdbcType=VARCHAR}, + gc_keywords = #{gcKeywords,jdbcType=VARCHAR}, + gc_description = #{gcDescription,jdbcType=VARCHAR}, + gc_pic = #{gcPic,jdbcType=VARCHAR} + where gc_id = #{gcId,jdbcType=INTEGER} + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsTypeMapper.java b/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsTypeMapper.java new file mode 100644 index 0000000..cb3a418 --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsTypeMapper.java @@ -0,0 +1,22 @@ +package org.goshop.store.mapper.master; + + +import org.goshop.goods.pojo.GoodsType; + +import java.util.List; + +public interface GoodsTypeMapper { + int deleteByPrimaryKey(Integer typeId); + + int insert(GoodsType record); + + int insertSelective(GoodsType record); + + GoodsType selectByPrimaryKey(Integer typeId); + + int updateByPrimaryKeySelective(GoodsType record); + + int updateByPrimaryKey(GoodsType record); + + List findAll(); +} \ No newline at end of file diff --git a/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsTypeMapper.xml b/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsTypeMapper.xml new file mode 100644 index 0000000..30d4c34 --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/store/mapper/master/GoodsTypeMapper.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + type_id, type_name, type_sort, class_id, class_name + + + + delete from gs_goods_type + where type_id = #{typeId,jdbcType=INTEGER} + + + insert into gs_goods_type (type_id, type_name, type_sort, + class_id, class_name) + values (#{typeId,jdbcType=INTEGER}, #{typeName,jdbcType=VARCHAR}, #{typeSort,jdbcType=BIT}, + #{classId,jdbcType=INTEGER}, #{className,jdbcType=VARCHAR}) + + + insert into gs_goods_type + + + type_id, + + + type_name, + + + type_sort, + + + class_id, + + + class_name, + + + + + #{typeId,jdbcType=INTEGER}, + + + #{typeName,jdbcType=VARCHAR}, + + + #{typeSort,jdbcType=BIT}, + + + #{classId,jdbcType=INTEGER}, + + + #{className,jdbcType=VARCHAR}, + + + + + update gs_goods_type + + + type_name = #{typeName,jdbcType=VARCHAR}, + + + type_sort = #{typeSort,jdbcType=BIT}, + + + class_id = #{classId,jdbcType=INTEGER}, + + + class_name = #{className,jdbcType=VARCHAR}, + + + where type_id = #{typeId,jdbcType=INTEGER} + + + update gs_goods_type + set type_name = #{typeName,jdbcType=VARCHAR}, + type_sort = #{typeSort,jdbcType=BIT}, + class_id = #{classId,jdbcType=INTEGER}, + class_name = #{className,jdbcType=VARCHAR} + where type_id = #{typeId,jdbcType=INTEGER} + + + + \ No newline at end of file diff --git a/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsClassMapper.java b/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsClassMapper.java new file mode 100644 index 0000000..0aa4728 --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsClassMapper.java @@ -0,0 +1,30 @@ +package org.goshop.store.mapper.read; + +import org.apache.ibatis.annotations.Param; +import org.goshop.goods.pojo.GoodsClass; + +import java.util.List; + +public interface ReadGoodsClassMapper { + int deleteByPrimaryKey(Integer gcId); + + int insert(GoodsClass record); + + int insertSelective(GoodsClass record); + + GoodsClass selectByPrimaryKey(Integer gcId); + + int updateByPrimaryKeySelective(GoodsClass record); + + int updateByPrimaryKey(GoodsClass record); + + List findTreeByGcParentId(Integer gcParentId); + + List findByGcParentId(@Param("gcParentId") Integer parentId); + + List findByGcNameGcParentId(@Param("gcName") String gcName, @Param("gcParentId") Integer gcParentId); + + List findAll(); + + List findGradeByGcParentId(@Param("gcParentId") Integer gcParentId); +} \ No newline at end of file diff --git a/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsClassMapper.xml b/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsClassMapper.xml new file mode 100644 index 0000000..cb6ba5f --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsClassMapper.xml @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gc_id, gc_name, type_id, type_name, gc_parent_id, gc_sort, gc_title, gc_keywords, + gc_description,gc_pic + + + + delete from gs_goods_class + where gc_id = #{gcId,jdbcType=INTEGER} + + + insert into gs_goods_class (gc_id, gc_name, type_id, + type_name, gc_parent_id, gc_sort, + gc_title, gc_keywords, gc_description, + gc_pic) + values (#{gcId,jdbcType=INTEGER}, #{gcName,jdbcType=VARCHAR}, #{typeId,jdbcType=INTEGER}, + #{typeName,jdbcType=VARCHAR}, #{gcParentId,jdbcType=INTEGER}, #{gcSort,jdbcType=INTEGER}, + #{gcTitle,jdbcType=VARCHAR}, #{gcKeywords,jdbcType=VARCHAR}, #{gcDescription,jdbcType=VARCHAR}, + #{gcPic,jdbcType=VARCHAR}) + + + insert into gs_goods_class + + + gc_id, + + + gc_name, + + + type_id, + + + type_name, + + + gc_parent_id, + + + gc_sort, + + + gc_title, + + + gc_keywords, + + + gc_description, + + + gc_pic, + + + + + #{gcId,jdbcType=INTEGER}, + + + #{gcName,jdbcType=VARCHAR}, + + + #{typeId,jdbcType=INTEGER}, + + + #{typeName,jdbcType=VARCHAR}, + + + #{gcParentId,jdbcType=INTEGER}, + + + #{gcSort,jdbcType=INTEGER}, + + + #{gcTitle,jdbcType=VARCHAR}, + + + #{gcKeywords,jdbcType=VARCHAR}, + + + #{gcDescription,jdbcType=VARCHAR}, + + + #{gcPic,jdbcType=VARCHAR}, + + + + + update gs_goods_class + + + gc_name = #{gcName,jdbcType=VARCHAR}, + + + type_id = #{typeId,jdbcType=INTEGER}, + + + type_name = #{typeName,jdbcType=VARCHAR}, + + + gc_parent_id = #{gcParentId,jdbcType=INTEGER}, + + + gc_sort = #{gcSort,jdbcType=INTEGER}, + + + gc_title = #{gcTitle,jdbcType=VARCHAR}, + + + gc_keywords = #{gcKeywords,jdbcType=VARCHAR}, + + + gc_description = #{gcDescription,jdbcType=VARCHAR}, + + + gc_pic = #{gcPic,jdbcType=VARCHAR}, + + + where gc_id = #{gcId,jdbcType=INTEGER} + + + update gs_goods_class + set gc_name = #{gcName,jdbcType=VARCHAR}, + type_id = #{typeId,jdbcType=INTEGER}, + type_name = #{typeName,jdbcType=VARCHAR}, + gc_parent_id = #{gcParentId,jdbcType=INTEGER}, + gc_sort = #{gcSort,jdbcType=INTEGER}, + gc_title = #{gcTitle,jdbcType=VARCHAR}, + gc_keywords = #{gcKeywords,jdbcType=VARCHAR}, + gc_description = #{gcDescription,jdbcType=VARCHAR}, + gc_pic = #{gcPic,jdbcType=VARCHAR} + where gc_id = #{gcId,jdbcType=INTEGER} + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsTypeMapper.java b/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsTypeMapper.java new file mode 100644 index 0000000..13a0b15 --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsTypeMapper.java @@ -0,0 +1,22 @@ +package org.goshop.store.mapper.read; + + +import org.goshop.goods.pojo.GoodsType; + +import java.util.List; + +public interface ReadGoodsTypeMapper { + int deleteByPrimaryKey(Integer typeId); + + int insert(GoodsType record); + + int insertSelective(GoodsType record); + + GoodsType selectByPrimaryKey(Integer typeId); + + int updateByPrimaryKeySelective(GoodsType record); + + int updateByPrimaryKey(GoodsType record); + + List findAll(); +} \ No newline at end of file diff --git a/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsTypeMapper.xml b/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsTypeMapper.xml new file mode 100644 index 0000000..33fb47d --- /dev/null +++ b/goshop-service-goods/src/main/java/org/goshop/store/mapper/read/ReadGoodsTypeMapper.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + type_id, type_name, type_sort, class_id, class_name + + + + delete from gs_goods_type + where type_id = #{typeId,jdbcType=INTEGER} + + + insert into gs_goods_type (type_id, type_name, type_sort, + class_id, class_name) + values (#{typeId,jdbcType=INTEGER}, #{typeName,jdbcType=VARCHAR}, #{typeSort,jdbcType=BIT}, + #{classId,jdbcType=INTEGER}, #{className,jdbcType=VARCHAR}) + + + insert into gs_goods_type + + + type_id, + + + type_name, + + + type_sort, + + + class_id, + + + class_name, + + + + + #{typeId,jdbcType=INTEGER}, + + + #{typeName,jdbcType=VARCHAR}, + + + #{typeSort,jdbcType=BIT}, + + + #{classId,jdbcType=INTEGER}, + + + #{className,jdbcType=VARCHAR}, + + + + + update gs_goods_type + + + type_name = #{typeName,jdbcType=VARCHAR}, + + + type_sort = #{typeSort,jdbcType=BIT}, + + + class_id = #{classId,jdbcType=INTEGER}, + + + class_name = #{className,jdbcType=VARCHAR}, + + + where type_id = #{typeId,jdbcType=INTEGER} + + + update gs_goods_type + set type_name = #{typeName,jdbcType=VARCHAR}, + type_sort = #{typeSort,jdbcType=BIT}, + class_id = #{classId,jdbcType=INTEGER}, + class_name = #{className,jdbcType=VARCHAR} + where type_id = #{typeId,jdbcType=INTEGER} + + + + \ No newline at end of file diff --git a/goshop-service-store/pom.xml b/goshop-service-store/pom.xml new file mode 100644 index 0000000..96efd89 --- /dev/null +++ b/goshop-service-store/pom.xml @@ -0,0 +1,185 @@ + + + + ghosp-parent + org.goshop + 2.0-SNAPSHOT + + 4.0.0 + + goshop-service-store + + + + + + org.goshop + goshop-facade-store + + + org.goshop + goshop-facade-goods + + + org.goshop + goshop-common-config + + + org.goshop + goshop-common-service + + + org.goshop + goshop-common-shiro + + + + + org.mybatis + mybatis + + + org.mybatis + mybatis-spring + + + com.github.miemiedev + mybatis-paginator + + + com.github.pagehelper + pagehelper + + + + mysql + mysql-connector-java + + + + com.alibaba + druid + + + + com.alibaba + dubbo + + + + + org.springframework + spring-context + + + org.springframework + spring-beans + + + org.springframework + spring-jdbc + + + org.springframework + spring-aspects + + + + junit + junit + test + + + org.springframework + spring-test + test + + + org.hamcrest + hamcrest-all + test + + + + javax.servlet + javax.servlet-api + provided + + + + + + + + src/main/java + + **/*.properties + **/*.xml + + false + + + ${project.build.directory}/classes + src/main/resources + true + + **/*.xml + **/*.properties + + + + ${project.build.directory}/classes/META-INF/spring + src/main/resources/spring + true + + spring-context.xml + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + target/classes/ + + + com.alibaba.dubbo.container.Main + + false + true + lib/ + + + . + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-dependencies + package + + copy-dependencies + + + jar + jar + + ${project.build.directory}/lib + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreClassMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreClassMapper.java new file mode 100644 index 0000000..548d070 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreClassMapper.java @@ -0,0 +1,36 @@ +package org.goshop.store.mapper.master; + +import org.goshop.store.pojo.StoreClass; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface StoreClassMapper { + int deleteByPrimaryKey(Long id); + + int insert(StoreClass record); + + int insertSelective(StoreClass record); + + StoreClass selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(StoreClass record); + + int updateByPrimaryKey(StoreClass record); + + List findAllOrderBySort(); + + int findCountByNameParentId(@Param("name") String name, @Param("parentId") Long parentId); + + List findTreeByParentId(Long parentId); + + List findByNameParentId(@Param("name") String name, @Param("parentId") Long parentId); + + int updateSort(@Param("id") Long id, @Param("sort") Integer sort); + + int updateName(@Param("id") Long id, @Param("name") String name); + + List findByParentId(@Param("parentId") Long parentId); + + List findGradeByParentId(@Param("parentId") Long parentId); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreClassMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreClassMapper.xml new file mode 100644 index 0000000..2c87f60 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreClassMapper.xml @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + id, sort, name, PARENT_ID + + + + delete from gs_store_class + where id = #{id,jdbcType=BIGINT} + + + insert into gs_store_class (id, sort, name, + PARENT_ID) + values (#{id,jdbcType=BIGINT}, #{sort,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, + #{parentId,jdbcType=BIGINT}) + + + insert into gs_store_class + + + id, + + + sort, + + + name, + + + PARENT_ID, + + + + + #{id,jdbcType=BIGINT}, + + + #{sort,jdbcType=INTEGER}, + + + #{name,jdbcType=VARCHAR}, + + + #{parentId,jdbcType=BIGINT}, + + + + + update gs_store_class + + + sort = #{sort,jdbcType=INTEGER}, + + + name = #{name,jdbcType=VARCHAR}, + + + PARENT_ID = #{parentId,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update gs_store_class + set sort = #{sort,jdbcType=INTEGER}, + name = #{name,jdbcType=VARCHAR}, + PARENT_ID = #{parentId,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + + + + + + + + + + + + update gs_store_class + set sort = #{sort,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + + + + update gs_store_class + set name = #{name,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGoodsClassMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGoodsClassMapper.java new file mode 100644 index 0000000..decbe50 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGoodsClassMapper.java @@ -0,0 +1,21 @@ +package org.goshop.store.mapper.master; + +import org.goshop.store.pojo.StoreGoodsClass; + +import java.util.List; + +public interface StoreGoodsClassMapper { + int deleteByPrimaryKey(Integer stcId); + + int insert(StoreGoodsClass record); + + int insertSelective(StoreGoodsClass record); + + StoreGoodsClass selectByPrimaryKey(Integer stcId); + + int updateByPrimaryKeySelective(StoreGoodsClass record); + + int updateByPrimaryKey(StoreGoodsClass record); + + List findByStcParentId(Integer parentId); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGoodsClassMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGoodsClassMapper.xml new file mode 100644 index 0000000..5f0abec --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGoodsClassMapper.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + stc_id, stc_name, stc_parent_id, stc_state, store_id, stc_sort + + + + delete from gs_store_goods_class + where stc_id = #{stcId,jdbcType=INTEGER} + + + insert into gs_store_goods_class (stc_id, stc_name, stc_parent_id, + stc_state, store_id, stc_sort + ) + values (#{stcId,jdbcType=INTEGER}, #{stcName,jdbcType=VARCHAR}, #{stcParentId,jdbcType=INTEGER}, + #{stcState,jdbcType=BIT}, #{storeId,jdbcType=INTEGER}, #{stcSort,jdbcType=INTEGER} + ) + + + insert into gs_store_goods_class + + + stc_id, + + + stc_name, + + + stc_parent_id, + + + stc_state, + + + store_id, + + + stc_sort, + + + + + #{stcId,jdbcType=INTEGER}, + + + #{stcName,jdbcType=VARCHAR}, + + + #{stcParentId,jdbcType=INTEGER}, + + + #{stcState,jdbcType=BIT}, + + + #{storeId,jdbcType=INTEGER}, + + + #{stcSort,jdbcType=INTEGER}, + + + + + update gs_store_goods_class + + + stc_name = #{stcName,jdbcType=VARCHAR}, + + + stc_parent_id = #{stcParentId,jdbcType=INTEGER}, + + + stc_state = #{stcState,jdbcType=BIT}, + + + store_id = #{storeId,jdbcType=INTEGER}, + + + stc_sort = #{stcSort,jdbcType=INTEGER}, + + + where stc_id = #{stcId,jdbcType=INTEGER} + + + update gs_store_goods_class + set stc_name = #{stcName,jdbcType=VARCHAR}, + stc_parent_id = #{stcParentId,jdbcType=INTEGER}, + stc_state = #{stcState,jdbcType=BIT}, + store_id = #{storeId,jdbcType=INTEGER}, + stc_sort = #{stcSort,jdbcType=INTEGER} + where stc_id = #{stcId,jdbcType=INTEGER} + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGradeMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGradeMapper.java new file mode 100644 index 0000000..cc113fc --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGradeMapper.java @@ -0,0 +1,30 @@ +package org.goshop.store.mapper.master; + +import org.goshop.store.pojo.StoreGrade; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface StoreGradeMapper { + int deleteByPrimaryKey(Integer sgId); + + int insert(StoreGrade record); + + int insertSelective(StoreGrade record); + + StoreGrade selectByPrimaryKey(Integer sgId); + + int updateByPrimaryKeySelective(StoreGrade record); + + int updateByPrimaryKeyWithBLOBs(StoreGrade record); + + int updateByPrimaryKey(StoreGrade record); + + List findAll(); + + List findBySgName(@Param("sgName") String sgName); + + List checkBySgIdSgSort(@Param("sgSort") Integer sgSort); + + List findByLikeSgName(@Param("sgName") String sgName); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGradeMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGradeMapper.xml new file mode 100644 index 0000000..8152848 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreGradeMapper.xml @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + sg_id, sg_name, sg_goods_limit, sg_album_limit, sg_space_limit, sg_template_number, + sg_template, sg_price, sg_confirm, sg_function, sg_sort + + + sg_description + + + + delete from gs_store_grade + where sg_id = #{sgId,jdbcType=INTEGER} + + + insert into gs_store_grade (sg_id, sg_name, sg_goods_limit, + sg_album_limit, sg_space_limit, sg_template_number, + sg_template, sg_price, sg_confirm, + sg_function, sg_sort, sg_description + ) + values (#{sgId,jdbcType=INTEGER}, #{sgName,jdbcType=CHAR}, #{sgGoodsLimit,jdbcType=INTEGER}, + #{sgAlbumLimit,jdbcType=INTEGER}, #{sgSpaceLimit,jdbcType=INTEGER}, #{sgTemplateNumber,jdbcType=INTEGER}, + #{sgTemplate,jdbcType=VARCHAR}, #{sgPrice,jdbcType=VARCHAR}, #{sgConfirm,jdbcType=BIT}, + #{sgFunction,jdbcType=VARCHAR}, #{sgSort,jdbcType=INTEGER}, #{sgDescription,jdbcType=LONGVARCHAR} + ) + + + insert into gs_store_grade + + + sg_id, + + + sg_name, + + + sg_goods_limit, + + + sg_album_limit, + + + sg_space_limit, + + + sg_template_number, + + + sg_template, + + + sg_price, + + + sg_confirm, + + + sg_function, + + + sg_sort, + + + sg_description, + + + + + #{sgId,jdbcType=INTEGER}, + + + #{sgName,jdbcType=CHAR}, + + + #{sgGoodsLimit,jdbcType=INTEGER}, + + + #{sgAlbumLimit,jdbcType=INTEGER}, + + + #{sgSpaceLimit,jdbcType=INTEGER}, + + + #{sgTemplateNumber,jdbcType=INTEGER}, + + + #{sgTemplate,jdbcType=VARCHAR}, + + + #{sgPrice,jdbcType=VARCHAR}, + + + #{sgConfirm,jdbcType=BIT}, + + + #{sgFunction,jdbcType=VARCHAR}, + + + #{sgSort,jdbcType=INTEGER}, + + + #{sgDescription,jdbcType=LONGVARCHAR}, + + + + + update gs_store_grade + + + sg_name = #{sgName,jdbcType=CHAR}, + + + sg_goods_limit = #{sgGoodsLimit,jdbcType=INTEGER}, + + + sg_album_limit = #{sgAlbumLimit,jdbcType=INTEGER}, + + + sg_space_limit = #{sgSpaceLimit,jdbcType=INTEGER}, + + + sg_template_number = #{sgTemplateNumber,jdbcType=INTEGER}, + + + sg_template = #{sgTemplate,jdbcType=VARCHAR}, + + + sg_price = #{sgPrice,jdbcType=VARCHAR}, + + + sg_confirm = #{sgConfirm,jdbcType=BIT}, + + + sg_function = #{sgFunction,jdbcType=VARCHAR}, + + + sg_sort = #{sgSort,jdbcType=INTEGER}, + + + sg_description = #{sgDescription,jdbcType=LONGVARCHAR}, + + + where sg_id = #{sgId,jdbcType=INTEGER} + + + update gs_store_grade + set sg_name = #{sgName,jdbcType=CHAR}, + sg_goods_limit = #{sgGoodsLimit,jdbcType=INTEGER}, + sg_album_limit = #{sgAlbumLimit,jdbcType=INTEGER}, + sg_space_limit = #{sgSpaceLimit,jdbcType=INTEGER}, + sg_template_number = #{sgTemplateNumber,jdbcType=INTEGER}, + sg_template = #{sgTemplate,jdbcType=VARCHAR}, + sg_price = #{sgPrice,jdbcType=VARCHAR}, + sg_confirm = #{sgConfirm,jdbcType=BIT}, + sg_function = #{sgFunction,jdbcType=VARCHAR}, + sg_sort = #{sgSort,jdbcType=INTEGER}, + sg_description = #{sgDescription,jdbcType=LONGVARCHAR} + where sg_id = #{sgId,jdbcType=INTEGER} + + + update gs_store_grade + set sg_name = #{sgName,jdbcType=CHAR}, + sg_goods_limit = #{sgGoodsLimit,jdbcType=INTEGER}, + sg_album_limit = #{sgAlbumLimit,jdbcType=INTEGER}, + sg_space_limit = #{sgSpaceLimit,jdbcType=INTEGER}, + sg_template_number = #{sgTemplateNumber,jdbcType=INTEGER}, + sg_template = #{sgTemplate,jdbcType=VARCHAR}, + sg_price = #{sgPrice,jdbcType=VARCHAR}, + sg_confirm = #{sgConfirm,jdbcType=BIT}, + sg_function = #{sgFunction,jdbcType=VARCHAR}, + sg_sort = #{sgSort,jdbcType=INTEGER} + where sg_id = #{sgId,jdbcType=INTEGER} + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreJoinMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreJoinMapper.java new file mode 100644 index 0000000..4e74533 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreJoinMapper.java @@ -0,0 +1,40 @@ +package org.goshop.store.mapper.master; + +import org.goshop.store.pojo.StoreJoin; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface StoreJoinMapper { + + //已提交申请 + static String JOIN_STATIC_APPLY = "10"; + //缴费完成 + static String JOIN_STATIC_PAY = "11"; + //审核成功 + static String JOIN_STATIC_EXMINE_YES = "20"; + //审核失败 + static String JOIN_STATIC_EXMINE_NO = "30"; + //缴费审核失败 + static String JOIN_STATIC_PAY_NO = "31"; + //审核通过开店 + static String JOIN_STATIC_YES = "40"; + + int deleteByPrimaryKey(Long memberId); + + int insert(StoreJoin record); + + int insertSelective(StoreJoin record); + + StoreJoin selectByPrimaryKey(Long memberId); + + int updateByPrimaryKeySelective(StoreJoin record); + + int updateByPrimaryKey(StoreJoin record); + + List findBySellerName(@Param("sellerName") String sellerName); + + List findByStoreName(@Param("storeName") String storeName); + + List findAll(); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreJoinMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreJoinMapper.xml new file mode 100644 index 0000000..798afd6 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreJoinMapper.xml @@ -0,0 +1,632 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + member_id, member_name, company_name, company_address, company_address_detail, company_phone, + company_employee_count, company_registered_capital, contacts_name, contacts_phone, + contacts_email, business_licence_number, business_licence_address, business_licence_start, + business_licence_end, business_sphere, business_licence_number_electronic, organization_code, + organization_code_electronic, general_taxpayer, bank_account_name, bank_account_number, + bank_name, bank_code, bank_address, bank_licence_electronic, is_settlement_account, + settlement_bank_account_name, settlement_bank_account_number, settlement_bank_name, + settlement_bank_code, settlement_bank_address, tax_registration_certificate, taxpayer_id, + tax_registration_certificate_electronic, seller_name, store_name, store_class_ids, + store_class_names, joinin_state, joinin_message, sg_name, sg_id, sc_name, sc_id, + store_class_commis_rates, paying_money_certificate, paying_money_certificate_explain + + + + delete from gs_store_join + where member_id = #{memberId,jdbcType=BIGINT} + + + insert into gs_store_join (member_id, member_name, company_name, + company_address, company_address_detail, company_phone, + company_employee_count, company_registered_capital, + contacts_name, contacts_phone, contacts_email, + business_licence_number, business_licence_address, + business_licence_start, business_licence_end, business_sphere, + business_licence_number_electronic, organization_code, + organization_code_electronic, general_taxpayer, + bank_account_name, bank_account_number, bank_name, + bank_code, bank_address, bank_licence_electronic, + is_settlement_account, settlement_bank_account_name, + settlement_bank_account_number, settlement_bank_name, + settlement_bank_code, settlement_bank_address, + tax_registration_certificate, taxpayer_id, + tax_registration_certificate_electronic, seller_name, + store_name, store_class_ids, store_class_names, + joinin_state, joinin_message, sg_name, + sg_id, sc_name, sc_id, + store_class_commis_rates, paying_money_certificate, + paying_money_certificate_explain) + values (#{memberId,jdbcType=BIGINT}, #{memberName,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR}, + #{companyAddress,jdbcType=VARCHAR}, #{companyAddressDetail,jdbcType=VARCHAR}, #{companyPhone,jdbcType=VARCHAR}, + #{companyEmployeeCount,jdbcType=INTEGER}, #{companyRegisteredCapital,jdbcType=INTEGER}, + #{contactsName,jdbcType=VARCHAR}, #{contactsPhone,jdbcType=VARCHAR}, #{contactsEmail,jdbcType=VARCHAR}, + #{businessLicenceNumber,jdbcType=VARCHAR}, #{businessLicenceAddress,jdbcType=VARCHAR}, + #{businessLicenceStart,jdbcType=DATE}, #{businessLicenceEnd,jdbcType=DATE}, #{businessSphere,jdbcType=VARCHAR}, + #{businessLicenceNumberElectronic,jdbcType=VARCHAR}, #{organizationCode,jdbcType=VARCHAR}, + #{organizationCodeElectronic,jdbcType=VARCHAR}, #{generalTaxpayer,jdbcType=VARCHAR}, + #{bankAccountName,jdbcType=VARCHAR}, #{bankAccountNumber,jdbcType=VARCHAR}, #{bankName,jdbcType=VARCHAR}, + #{bankCode,jdbcType=VARCHAR}, #{bankAddress,jdbcType=VARCHAR}, #{bankLicenceElectronic,jdbcType=VARCHAR}, + #{isSettlementAccount,jdbcType=BIT}, #{settlementBankAccountName,jdbcType=VARCHAR}, + #{settlementBankAccountNumber,jdbcType=VARCHAR}, #{settlementBankName,jdbcType=VARCHAR}, + #{settlementBankCode,jdbcType=VARCHAR}, #{settlementBankAddress,jdbcType=VARCHAR}, + #{taxRegistrationCertificate,jdbcType=VARCHAR}, #{taxpayerId,jdbcType=VARCHAR}, + #{taxRegistrationCertificateElectronic,jdbcType=VARCHAR}, #{sellerName,jdbcType=VARCHAR}, + #{storeName,jdbcType=VARCHAR}, #{storeClassIds,jdbcType=VARCHAR}, #{storeClassNames,jdbcType=VARCHAR}, + #{joininState,jdbcType=VARCHAR}, #{joininMessage,jdbcType=VARCHAR}, #{sgName,jdbcType=VARCHAR}, + #{sgId,jdbcType=INTEGER}, #{scName,jdbcType=VARCHAR}, #{scId,jdbcType=INTEGER}, + #{storeClassCommisRates,jdbcType=VARCHAR}, #{payingMoneyCertificate,jdbcType=VARCHAR}, + #{payingMoneyCertificateExplain,jdbcType=VARCHAR}) + + + insert into gs_store_join + + + member_id, + + + member_name, + + + company_name, + + + company_address, + + + company_address_detail, + + + company_phone, + + + company_employee_count, + + + company_registered_capital, + + + contacts_name, + + + contacts_phone, + + + contacts_email, + + + business_licence_number, + + + business_licence_address, + + + business_licence_start, + + + business_licence_end, + + + business_sphere, + + + business_licence_number_electronic, + + + organization_code, + + + organization_code_electronic, + + + general_taxpayer, + + + bank_account_name, + + + bank_account_number, + + + bank_name, + + + bank_code, + + + bank_address, + + + bank_licence_electronic, + + + is_settlement_account, + + + settlement_bank_account_name, + + + settlement_bank_account_number, + + + settlement_bank_name, + + + settlement_bank_code, + + + settlement_bank_address, + + + tax_registration_certificate, + + + taxpayer_id, + + + tax_registration_certificate_electronic, + + + seller_name, + + + store_name, + + + store_class_ids, + + + store_class_names, + + + joinin_state, + + + joinin_message, + + + sg_name, + + + sg_id, + + + sc_name, + + + sc_id, + + + store_class_commis_rates, + + + paying_money_certificate, + + + paying_money_certificate_explain, + + + + + #{memberId,jdbcType=BIGINT}, + + + #{memberName,jdbcType=VARCHAR}, + + + #{companyName,jdbcType=VARCHAR}, + + + #{companyAddress,jdbcType=VARCHAR}, + + + #{companyAddressDetail,jdbcType=VARCHAR}, + + + #{companyPhone,jdbcType=VARCHAR}, + + + #{companyEmployeeCount,jdbcType=INTEGER}, + + + #{companyRegisteredCapital,jdbcType=INTEGER}, + + + #{contactsName,jdbcType=VARCHAR}, + + + #{contactsPhone,jdbcType=VARCHAR}, + + + #{contactsEmail,jdbcType=VARCHAR}, + + + #{businessLicenceNumber,jdbcType=VARCHAR}, + + + #{businessLicenceAddress,jdbcType=VARCHAR}, + + + #{businessLicenceStart,jdbcType=DATE}, + + + #{businessLicenceEnd,jdbcType=DATE}, + + + #{businessSphere,jdbcType=VARCHAR}, + + + #{businessLicenceNumberElectronic,jdbcType=VARCHAR}, + + + #{organizationCode,jdbcType=VARCHAR}, + + + #{organizationCodeElectronic,jdbcType=VARCHAR}, + + + #{generalTaxpayer,jdbcType=VARCHAR}, + + + #{bankAccountName,jdbcType=VARCHAR}, + + + #{bankAccountNumber,jdbcType=VARCHAR}, + + + #{bankName,jdbcType=VARCHAR}, + + + #{bankCode,jdbcType=VARCHAR}, + + + #{bankAddress,jdbcType=VARCHAR}, + + + #{bankLicenceElectronic,jdbcType=VARCHAR}, + + + #{isSettlementAccount,jdbcType=BIT}, + + + #{settlementBankAccountName,jdbcType=VARCHAR}, + + + #{settlementBankAccountNumber,jdbcType=VARCHAR}, + + + #{settlementBankName,jdbcType=VARCHAR}, + + + #{settlementBankCode,jdbcType=VARCHAR}, + + + #{settlementBankAddress,jdbcType=VARCHAR}, + + + #{taxRegistrationCertificate,jdbcType=VARCHAR}, + + + #{taxpayerId,jdbcType=VARCHAR}, + + + #{taxRegistrationCertificateElectronic,jdbcType=VARCHAR}, + + + #{sellerName,jdbcType=VARCHAR}, + + + #{storeName,jdbcType=VARCHAR}, + + + #{storeClassIds,jdbcType=VARCHAR}, + + + #{storeClassNames,jdbcType=VARCHAR}, + + + #{joininState,jdbcType=VARCHAR}, + + + #{joininMessage,jdbcType=VARCHAR}, + + + #{sgName,jdbcType=VARCHAR}, + + + #{sgId,jdbcType=INTEGER}, + + + #{scName,jdbcType=VARCHAR}, + + + #{scId,jdbcType=INTEGER}, + + + #{storeClassCommisRates,jdbcType=VARCHAR}, + + + #{payingMoneyCertificate,jdbcType=VARCHAR}, + + + #{payingMoneyCertificateExplain,jdbcType=VARCHAR}, + + + + + update gs_store_join + + + member_name = #{memberName,jdbcType=VARCHAR}, + + + company_name = #{companyName,jdbcType=VARCHAR}, + + + company_address = #{companyAddress,jdbcType=VARCHAR}, + + + company_address_detail = #{companyAddressDetail,jdbcType=VARCHAR}, + + + company_phone = #{companyPhone,jdbcType=VARCHAR}, + + + company_employee_count = #{companyEmployeeCount,jdbcType=INTEGER}, + + + company_registered_capital = #{companyRegisteredCapital,jdbcType=INTEGER}, + + + contacts_name = #{contactsName,jdbcType=VARCHAR}, + + + contacts_phone = #{contactsPhone,jdbcType=VARCHAR}, + + + contacts_email = #{contactsEmail,jdbcType=VARCHAR}, + + + business_licence_number = #{businessLicenceNumber,jdbcType=VARCHAR}, + + + business_licence_address = #{businessLicenceAddress,jdbcType=VARCHAR}, + + + business_licence_start = #{businessLicenceStart,jdbcType=DATE}, + + + business_licence_end = #{businessLicenceEnd,jdbcType=DATE}, + + + business_sphere = #{businessSphere,jdbcType=VARCHAR}, + + + business_licence_number_electronic = #{businessLicenceNumberElectronic,jdbcType=VARCHAR}, + + + organization_code = #{organizationCode,jdbcType=VARCHAR}, + + + organization_code_electronic = #{organizationCodeElectronic,jdbcType=VARCHAR}, + + + general_taxpayer = #{generalTaxpayer,jdbcType=VARCHAR}, + + + bank_account_name = #{bankAccountName,jdbcType=VARCHAR}, + + + bank_account_number = #{bankAccountNumber,jdbcType=VARCHAR}, + + + bank_name = #{bankName,jdbcType=VARCHAR}, + + + bank_code = #{bankCode,jdbcType=VARCHAR}, + + + bank_address = #{bankAddress,jdbcType=VARCHAR}, + + + bank_licence_electronic = #{bankLicenceElectronic,jdbcType=VARCHAR}, + + + is_settlement_account = #{isSettlementAccount,jdbcType=BIT}, + + + settlement_bank_account_name = #{settlementBankAccountName,jdbcType=VARCHAR}, + + + settlement_bank_account_number = #{settlementBankAccountNumber,jdbcType=VARCHAR}, + + + settlement_bank_name = #{settlementBankName,jdbcType=VARCHAR}, + + + settlement_bank_code = #{settlementBankCode,jdbcType=VARCHAR}, + + + settlement_bank_address = #{settlementBankAddress,jdbcType=VARCHAR}, + + + tax_registration_certificate = #{taxRegistrationCertificate,jdbcType=VARCHAR}, + + + taxpayer_id = #{taxpayerId,jdbcType=VARCHAR}, + + + tax_registration_certificate_electronic = #{taxRegistrationCertificateElectronic,jdbcType=VARCHAR}, + + + seller_name = #{sellerName,jdbcType=VARCHAR}, + + + store_name = #{storeName,jdbcType=VARCHAR}, + + + store_class_ids = #{storeClassIds,jdbcType=VARCHAR}, + + + store_class_names = #{storeClassNames,jdbcType=VARCHAR}, + + + joinin_state = #{joininState,jdbcType=VARCHAR}, + + + joinin_message = #{joininMessage,jdbcType=VARCHAR}, + + + sg_name = #{sgName,jdbcType=VARCHAR}, + + + sg_id = #{sgId,jdbcType=INTEGER}, + + + sc_name = #{scName,jdbcType=VARCHAR}, + + + sc_id = #{scId,jdbcType=INTEGER}, + + + store_class_commis_rates = #{storeClassCommisRates,jdbcType=VARCHAR}, + + + paying_money_certificate = #{payingMoneyCertificate,jdbcType=VARCHAR}, + + + paying_money_certificate_explain = #{payingMoneyCertificateExplain,jdbcType=VARCHAR}, + + + where member_id = #{memberId,jdbcType=BIGINT} + + + update gs_store_join + set member_name = #{memberName,jdbcType=VARCHAR}, + company_name = #{companyName,jdbcType=VARCHAR}, + company_address = #{companyAddress,jdbcType=VARCHAR}, + company_address_detail = #{companyAddressDetail,jdbcType=VARCHAR}, + company_phone = #{companyPhone,jdbcType=VARCHAR}, + company_employee_count = #{companyEmployeeCount,jdbcType=INTEGER}, + company_registered_capital = #{companyRegisteredCapital,jdbcType=INTEGER}, + contacts_name = #{contactsName,jdbcType=VARCHAR}, + contacts_phone = #{contactsPhone,jdbcType=VARCHAR}, + contacts_email = #{contactsEmail,jdbcType=VARCHAR}, + business_licence_number = #{businessLicenceNumber,jdbcType=VARCHAR}, + business_licence_address = #{businessLicenceAddress,jdbcType=VARCHAR}, + business_licence_start = #{businessLicenceStart,jdbcType=DATE}, + business_licence_end = #{businessLicenceEnd,jdbcType=DATE}, + business_sphere = #{businessSphere,jdbcType=VARCHAR}, + business_licence_number_electronic = #{businessLicenceNumberElectronic,jdbcType=VARCHAR}, + organization_code = #{organizationCode,jdbcType=VARCHAR}, + organization_code_electronic = #{organizationCodeElectronic,jdbcType=VARCHAR}, + general_taxpayer = #{generalTaxpayer,jdbcType=VARCHAR}, + bank_account_name = #{bankAccountName,jdbcType=VARCHAR}, + bank_account_number = #{bankAccountNumber,jdbcType=VARCHAR}, + bank_name = #{bankName,jdbcType=VARCHAR}, + bank_code = #{bankCode,jdbcType=VARCHAR}, + bank_address = #{bankAddress,jdbcType=VARCHAR}, + bank_licence_electronic = #{bankLicenceElectronic,jdbcType=VARCHAR}, + is_settlement_account = #{isSettlementAccount,jdbcType=BIT}, + settlement_bank_account_name = #{settlementBankAccountName,jdbcType=VARCHAR}, + settlement_bank_account_number = #{settlementBankAccountNumber,jdbcType=VARCHAR}, + settlement_bank_name = #{settlementBankName,jdbcType=VARCHAR}, + settlement_bank_code = #{settlementBankCode,jdbcType=VARCHAR}, + settlement_bank_address = #{settlementBankAddress,jdbcType=VARCHAR}, + tax_registration_certificate = #{taxRegistrationCertificate,jdbcType=VARCHAR}, + taxpayer_id = #{taxpayerId,jdbcType=VARCHAR}, + tax_registration_certificate_electronic = #{taxRegistrationCertificateElectronic,jdbcType=VARCHAR}, + seller_name = #{sellerName,jdbcType=VARCHAR}, + store_name = #{storeName,jdbcType=VARCHAR}, + store_class_ids = #{storeClassIds,jdbcType=VARCHAR}, + store_class_names = #{storeClassNames,jdbcType=VARCHAR}, + joinin_state = #{joininState,jdbcType=VARCHAR}, + joinin_message = #{joininMessage,jdbcType=VARCHAR}, + sg_name = #{sgName,jdbcType=VARCHAR}, + sg_id = #{sgId,jdbcType=INTEGER}, + sc_name = #{scName,jdbcType=VARCHAR}, + sc_id = #{scId,jdbcType=INTEGER}, + store_class_commis_rates = #{storeClassCommisRates,jdbcType=VARCHAR}, + paying_money_certificate = #{payingMoneyCertificate,jdbcType=VARCHAR}, + paying_money_certificate_explain = #{payingMoneyCertificateExplain,jdbcType=VARCHAR} + where member_id = #{memberId,jdbcType=BIGINT} + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreMapper.java new file mode 100644 index 0000000..37972e3 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreMapper.java @@ -0,0 +1,39 @@ +package org.goshop.store.mapper.master; + +import org.goshop.store.pojo.Store; +import org.goshop.store.pojo.StoreWithBLOBs; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface StoreMapper { + int deleteByPrimaryKey(Integer storeId); + + int insert(StoreWithBLOBs record); + + int insertSelective(StoreWithBLOBs record); + + StoreWithBLOBs selectByPrimaryKey(Integer storeId); + + int updateByPrimaryKeySelective(StoreWithBLOBs record); + + int updateByPrimaryKeyWithBLOBs(StoreWithBLOBs record); + + int updateByPrimaryKey(Store record); + + Store findByMemberId(@Param("memberId") Long memberId); + + List findAll(); + + /** + * + * @param gradeId 等级 + * @param sellerName 店主 + * @param storeName 店铺 + * @param storeState 店铺状态 + * @param isExpire 是否即将过期 + * @param isExpired 是否过期 + * @return + */ + List find(@Param("gradeId") Integer gradeId, @Param("sellerName") String sellerName, @Param("storeName") String storeName, @Param("storeState") Integer storeState, @Param("isExpire") Boolean isExpire, @Param("isExpired") Boolean isExpired); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreMapper.xml new file mode 100644 index 0000000..84450d9 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/master/StoreMapper.xml @@ -0,0 +1,731 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + store_id, store_name, store_auth, name_auth, grade_id, member_id, member_name, seller_name, + store_owner_card, sc_id, store_company_name, area_id, area_info, store_address, store_zip, + store_tel, store_image, store_image1, store_state, store_close_info, store_sort, + store_time, store_end_time, store_label, store_banner, store_keywords, store_description, + store_qq, store_ww, store_domain, store_domain_times, store_recommend, store_theme, + store_credit, praise_rate, store_desccredit, store_servicecredit, store_deliverycredit, + store_collect, store_stamp, store_printdesc, store_sales, store_workingtime, store_free_price, + store_storage_alarm + + + description, store_zy, store_slide, store_slide_url, store_presales, store_aftersales + + + + delete from gs_store + where store_id = #{storeId,jdbcType=INTEGER} + + + insert into gs_store (store_id, store_name, store_auth, + name_auth, grade_id, member_id, + member_name, seller_name, store_owner_card, + sc_id, store_company_name, area_id, + area_info, store_address, store_zip, + store_tel, store_image, store_image1, + store_state, store_close_info, store_sort, + store_time, store_end_time, store_label, + store_banner, store_keywords, store_description, + store_qq, store_ww, store_domain, + store_domain_times, store_recommend, store_theme, + store_credit, praise_rate, store_desccredit, + store_servicecredit, store_deliverycredit, store_collect, + store_stamp, store_printdesc, store_sales, + store_workingtime, store_free_price, store_storage_alarm, + description, store_zy, store_slide, + store_slide_url, store_presales, store_aftersales + ) + values (#{storeId,jdbcType=INTEGER}, #{storeName,jdbcType=VARCHAR}, #{storeAuth,jdbcType=BIT}, + #{nameAuth,jdbcType=BIT}, #{gradeId,jdbcType=INTEGER}, #{memberId,jdbcType=BIGINT}, + #{memberName,jdbcType=VARCHAR}, #{sellerName,jdbcType=VARCHAR}, #{storeOwnerCard,jdbcType=VARCHAR}, + #{scId,jdbcType=INTEGER}, #{storeCompanyName,jdbcType=VARCHAR}, #{areaId,jdbcType=INTEGER}, + #{areaInfo,jdbcType=VARCHAR}, #{storeAddress,jdbcType=VARCHAR}, #{storeZip,jdbcType=VARCHAR}, + #{storeTel,jdbcType=VARCHAR}, #{storeImage,jdbcType=VARCHAR}, #{storeImage1,jdbcType=VARCHAR}, + #{storeState,jdbcType=BIT}, #{storeCloseInfo,jdbcType=VARCHAR}, #{storeSort,jdbcType=INTEGER}, + #{storeTime,jdbcType=DATE}, #{storeEndTime,jdbcType=DATE}, #{storeLabel,jdbcType=VARCHAR}, + #{storeBanner,jdbcType=VARCHAR}, #{storeKeywords,jdbcType=VARCHAR}, #{storeDescription,jdbcType=VARCHAR}, + #{storeQq,jdbcType=VARCHAR}, #{storeWw,jdbcType=VARCHAR}, #{storeDomain,jdbcType=VARCHAR}, + #{storeDomainTimes,jdbcType=BIT}, #{storeRecommend,jdbcType=BIT}, #{storeTheme,jdbcType=VARCHAR}, + #{storeCredit,jdbcType=INTEGER}, #{praiseRate,jdbcType=REAL}, #{storeDesccredit,jdbcType=REAL}, + #{storeServicecredit,jdbcType=REAL}, #{storeDeliverycredit,jdbcType=REAL}, #{storeCollect,jdbcType=INTEGER}, + #{storeStamp,jdbcType=VARCHAR}, #{storePrintdesc,jdbcType=VARCHAR}, #{storeSales,jdbcType=INTEGER}, + #{storeWorkingtime,jdbcType=VARCHAR}, #{storeFreePrice,jdbcType=DECIMAL}, #{storeStorageAlarm,jdbcType=TINYINT}, + #{description,jdbcType=LONGVARCHAR}, #{storeZy,jdbcType=LONGVARCHAR}, #{storeSlide,jdbcType=LONGVARCHAR}, + #{storeSlideUrl,jdbcType=LONGVARCHAR}, #{storePresales,jdbcType=LONGVARCHAR}, #{storeAftersales,jdbcType=LONGVARCHAR} + ) + + + insert into gs_store + + + store_id, + + + store_name, + + + store_auth, + + + name_auth, + + + grade_id, + + + member_id, + + + member_name, + + + seller_name, + + + store_owner_card, + + + sc_id, + + + store_company_name, + + + area_id, + + + area_info, + + + store_address, + + + store_zip, + + + store_tel, + + + store_image, + + + store_image1, + + + store_state, + + + store_close_info, + + + store_sort, + + + store_time, + + + store_end_time, + + + store_label, + + + store_banner, + + + store_keywords, + + + store_description, + + + store_qq, + + + store_ww, + + + store_domain, + + + store_domain_times, + + + store_recommend, + + + store_theme, + + + store_credit, + + + praise_rate, + + + store_desccredit, + + + store_servicecredit, + + + store_deliverycredit, + + + store_collect, + + + store_stamp, + + + store_printdesc, + + + store_sales, + + + store_workingtime, + + + store_free_price, + + + store_storage_alarm, + + + description, + + + store_zy, + + + store_slide, + + + store_slide_url, + + + store_presales, + + + store_aftersales, + + + + + #{storeId,jdbcType=INTEGER}, + + + #{storeName,jdbcType=VARCHAR}, + + + #{storeAuth,jdbcType=BIT}, + + + #{nameAuth,jdbcType=BIT}, + + + #{gradeId,jdbcType=INTEGER}, + + + #{memberId,jdbcType=BIGINT}, + + + #{memberName,jdbcType=VARCHAR}, + + + #{sellerName,jdbcType=VARCHAR}, + + + #{storeOwnerCard,jdbcType=VARCHAR}, + + + #{scId,jdbcType=INTEGER}, + + + #{storeCompanyName,jdbcType=VARCHAR}, + + + #{areaId,jdbcType=INTEGER}, + + + #{areaInfo,jdbcType=VARCHAR}, + + + #{storeAddress,jdbcType=VARCHAR}, + + + #{storeZip,jdbcType=VARCHAR}, + + + #{storeTel,jdbcType=VARCHAR}, + + + #{storeImage,jdbcType=VARCHAR}, + + + #{storeImage1,jdbcType=VARCHAR}, + + + #{storeState,jdbcType=BIT}, + + + #{storeCloseInfo,jdbcType=VARCHAR}, + + + #{storeSort,jdbcType=INTEGER}, + + + #{storeTime,jdbcType=DATE}, + + + #{storeEndTime,jdbcType=DATE}, + + + #{storeLabel,jdbcType=VARCHAR}, + + + #{storeBanner,jdbcType=VARCHAR}, + + + #{storeKeywords,jdbcType=VARCHAR}, + + + #{storeDescription,jdbcType=VARCHAR}, + + + #{storeQq,jdbcType=VARCHAR}, + + + #{storeWw,jdbcType=VARCHAR}, + + + #{storeDomain,jdbcType=VARCHAR}, + + + #{storeDomainTimes,jdbcType=BIT}, + + + #{storeRecommend,jdbcType=BIT}, + + + #{storeTheme,jdbcType=VARCHAR}, + + + #{storeCredit,jdbcType=INTEGER}, + + + #{praiseRate,jdbcType=REAL}, + + + #{storeDesccredit,jdbcType=REAL}, + + + #{storeServicecredit,jdbcType=REAL}, + + + #{storeDeliverycredit,jdbcType=REAL}, + + + #{storeCollect,jdbcType=INTEGER}, + + + #{storeStamp,jdbcType=VARCHAR}, + + + #{storePrintdesc,jdbcType=VARCHAR}, + + + #{storeSales,jdbcType=INTEGER}, + + + #{storeWorkingtime,jdbcType=VARCHAR}, + + + #{storeFreePrice,jdbcType=DECIMAL}, + + + #{storeStorageAlarm,jdbcType=TINYINT}, + + + #{description,jdbcType=LONGVARCHAR}, + + + #{storeZy,jdbcType=LONGVARCHAR}, + + + #{storeSlide,jdbcType=LONGVARCHAR}, + + + #{storeSlideUrl,jdbcType=LONGVARCHAR}, + + + #{storePresales,jdbcType=LONGVARCHAR}, + + + #{storeAftersales,jdbcType=LONGVARCHAR}, + + + + + update gs_store + + + store_name = #{storeName,jdbcType=VARCHAR}, + + + store_auth = #{storeAuth,jdbcType=BIT}, + + + name_auth = #{nameAuth,jdbcType=BIT}, + + + grade_id = #{gradeId,jdbcType=INTEGER}, + + + member_id = #{memberId,jdbcType=BIGINT}, + + + member_name = #{memberName,jdbcType=VARCHAR}, + + + seller_name = #{sellerName,jdbcType=VARCHAR}, + + + store_owner_card = #{storeOwnerCard,jdbcType=VARCHAR}, + + + sc_id = #{scId,jdbcType=INTEGER}, + + + store_company_name = #{storeCompanyName,jdbcType=VARCHAR}, + + + area_id = #{areaId,jdbcType=INTEGER}, + + + area_info = #{areaInfo,jdbcType=VARCHAR}, + + + store_address = #{storeAddress,jdbcType=VARCHAR}, + + + store_zip = #{storeZip,jdbcType=VARCHAR}, + + + store_tel = #{storeTel,jdbcType=VARCHAR}, + + + store_image = #{storeImage,jdbcType=VARCHAR}, + + + store_image1 = #{storeImage1,jdbcType=VARCHAR}, + + + store_state = #{storeState,jdbcType=BIT}, + + + store_close_info = #{storeCloseInfo,jdbcType=VARCHAR}, + + + store_sort = #{storeSort,jdbcType=INTEGER}, + + + store_time = #{storeTime,jdbcType=DATE}, + + + store_end_time = #{storeEndTime,jdbcType=DATE}, + + + store_label = #{storeLabel,jdbcType=VARCHAR}, + + + store_banner = #{storeBanner,jdbcType=VARCHAR}, + + + store_keywords = #{storeKeywords,jdbcType=VARCHAR}, + + + store_description = #{storeDescription,jdbcType=VARCHAR}, + + + store_qq = #{storeQq,jdbcType=VARCHAR}, + + + store_ww = #{storeWw,jdbcType=VARCHAR}, + + + store_domain = #{storeDomain,jdbcType=VARCHAR}, + + + store_domain_times = #{storeDomainTimes,jdbcType=BIT}, + + + store_recommend = #{storeRecommend,jdbcType=BIT}, + + + store_theme = #{storeTheme,jdbcType=VARCHAR}, + + + store_credit = #{storeCredit,jdbcType=INTEGER}, + + + praise_rate = #{praiseRate,jdbcType=REAL}, + + + store_desccredit = #{storeDesccredit,jdbcType=REAL}, + + + store_servicecredit = #{storeServicecredit,jdbcType=REAL}, + + + store_deliverycredit = #{storeDeliverycredit,jdbcType=REAL}, + + + store_collect = #{storeCollect,jdbcType=INTEGER}, + + + store_stamp = #{storeStamp,jdbcType=VARCHAR}, + + + store_printdesc = #{storePrintdesc,jdbcType=VARCHAR}, + + + store_sales = #{storeSales,jdbcType=INTEGER}, + + + store_workingtime = #{storeWorkingtime,jdbcType=VARCHAR}, + + + store_free_price = #{storeFreePrice,jdbcType=DECIMAL}, + + + store_storage_alarm = #{storeStorageAlarm,jdbcType=TINYINT}, + + + description = #{description,jdbcType=LONGVARCHAR}, + + + store_zy = #{storeZy,jdbcType=LONGVARCHAR}, + + + store_slide = #{storeSlide,jdbcType=LONGVARCHAR}, + + + store_slide_url = #{storeSlideUrl,jdbcType=LONGVARCHAR}, + + + store_presales = #{storePresales,jdbcType=LONGVARCHAR}, + + + store_aftersales = #{storeAftersales,jdbcType=LONGVARCHAR}, + + + where store_id = #{storeId,jdbcType=INTEGER} + + + update gs_store + set store_name = #{storeName,jdbcType=VARCHAR}, + store_auth = #{storeAuth,jdbcType=BIT}, + name_auth = #{nameAuth,jdbcType=BIT}, + grade_id = #{gradeId,jdbcType=INTEGER}, + member_id = #{memberId,jdbcType=BIGINT}, + member_name = #{memberName,jdbcType=VARCHAR}, + seller_name = #{sellerName,jdbcType=VARCHAR}, + store_owner_card = #{storeOwnerCard,jdbcType=VARCHAR}, + sc_id = #{scId,jdbcType=INTEGER}, + store_company_name = #{storeCompanyName,jdbcType=VARCHAR}, + area_id = #{areaId,jdbcType=INTEGER}, + area_info = #{areaInfo,jdbcType=VARCHAR}, + store_address = #{storeAddress,jdbcType=VARCHAR}, + store_zip = #{storeZip,jdbcType=VARCHAR}, + store_tel = #{storeTel,jdbcType=VARCHAR}, + store_image = #{storeImage,jdbcType=VARCHAR}, + store_image1 = #{storeImage1,jdbcType=VARCHAR}, + store_state = #{storeState,jdbcType=BIT}, + store_close_info = #{storeCloseInfo,jdbcType=VARCHAR}, + store_sort = #{storeSort,jdbcType=INTEGER}, + store_time = #{storeTime,jdbcType=DATE}, + store_end_time = #{storeEndTime,jdbcType=DATE}, + store_label = #{storeLabel,jdbcType=VARCHAR}, + store_banner = #{storeBanner,jdbcType=VARCHAR}, + store_keywords = #{storeKeywords,jdbcType=VARCHAR}, + store_description = #{storeDescription,jdbcType=VARCHAR}, + store_qq = #{storeQq,jdbcType=VARCHAR}, + store_ww = #{storeWw,jdbcType=VARCHAR}, + store_domain = #{storeDomain,jdbcType=VARCHAR}, + store_domain_times = #{storeDomainTimes,jdbcType=BIT}, + store_recommend = #{storeRecommend,jdbcType=BIT}, + store_theme = #{storeTheme,jdbcType=VARCHAR}, + store_credit = #{storeCredit,jdbcType=INTEGER}, + praise_rate = #{praiseRate,jdbcType=REAL}, + store_desccredit = #{storeDesccredit,jdbcType=REAL}, + store_servicecredit = #{storeServicecredit,jdbcType=REAL}, + store_deliverycredit = #{storeDeliverycredit,jdbcType=REAL}, + store_collect = #{storeCollect,jdbcType=INTEGER}, + store_stamp = #{storeStamp,jdbcType=VARCHAR}, + store_printdesc = #{storePrintdesc,jdbcType=VARCHAR}, + store_sales = #{storeSales,jdbcType=INTEGER}, + store_workingtime = #{storeWorkingtime,jdbcType=VARCHAR}, + store_free_price = #{storeFreePrice,jdbcType=DECIMAL}, + store_storage_alarm = #{storeStorageAlarm,jdbcType=TINYINT}, + description = #{description,jdbcType=LONGVARCHAR}, + store_zy = #{storeZy,jdbcType=LONGVARCHAR}, + store_slide = #{storeSlide,jdbcType=LONGVARCHAR}, + store_slide_url = #{storeSlideUrl,jdbcType=LONGVARCHAR}, + store_presales = #{storePresales,jdbcType=LONGVARCHAR}, + store_aftersales = #{storeAftersales,jdbcType=LONGVARCHAR} + where store_id = #{storeId,jdbcType=INTEGER} + + + update gs_store + set store_name = #{storeName,jdbcType=VARCHAR}, + store_auth = #{storeAuth,jdbcType=BIT}, + name_auth = #{nameAuth,jdbcType=BIT}, + grade_id = #{gradeId,jdbcType=INTEGER}, + member_id = #{memberId,jdbcType=BIGINT}, + member_name = #{memberName,jdbcType=VARCHAR}, + seller_name = #{sellerName,jdbcType=VARCHAR}, + store_owner_card = #{storeOwnerCard,jdbcType=VARCHAR}, + sc_id = #{scId,jdbcType=INTEGER}, + store_company_name = #{storeCompanyName,jdbcType=VARCHAR}, + area_id = #{areaId,jdbcType=INTEGER}, + area_info = #{areaInfo,jdbcType=VARCHAR}, + store_address = #{storeAddress,jdbcType=VARCHAR}, + store_zip = #{storeZip,jdbcType=VARCHAR}, + store_tel = #{storeTel,jdbcType=VARCHAR}, + store_image = #{storeImage,jdbcType=VARCHAR}, + store_image1 = #{storeImage1,jdbcType=VARCHAR}, + store_state = #{storeState,jdbcType=BIT}, + store_close_info = #{storeCloseInfo,jdbcType=VARCHAR}, + store_sort = #{storeSort,jdbcType=INTEGER}, + store_time = #{storeTime,jdbcType=DATE}, + store_end_time = #{storeEndTime,jdbcType=DATE}, + store_label = #{storeLabel,jdbcType=VARCHAR}, + store_banner = #{storeBanner,jdbcType=VARCHAR}, + store_keywords = #{storeKeywords,jdbcType=VARCHAR}, + store_description = #{storeDescription,jdbcType=VARCHAR}, + store_qq = #{storeQq,jdbcType=VARCHAR}, + store_ww = #{storeWw,jdbcType=VARCHAR}, + store_domain = #{storeDomain,jdbcType=VARCHAR}, + store_domain_times = #{storeDomainTimes,jdbcType=BIT}, + store_recommend = #{storeRecommend,jdbcType=BIT}, + store_theme = #{storeTheme,jdbcType=VARCHAR}, + store_credit = #{storeCredit,jdbcType=INTEGER}, + praise_rate = #{praiseRate,jdbcType=REAL}, + store_desccredit = #{storeDesccredit,jdbcType=REAL}, + store_servicecredit = #{storeServicecredit,jdbcType=REAL}, + store_deliverycredit = #{storeDeliverycredit,jdbcType=REAL}, + store_collect = #{storeCollect,jdbcType=INTEGER}, + store_stamp = #{storeStamp,jdbcType=VARCHAR}, + store_printdesc = #{storePrintdesc,jdbcType=VARCHAR}, + store_sales = #{storeSales,jdbcType=INTEGER}, + store_workingtime = #{storeWorkingtime,jdbcType=VARCHAR}, + store_free_price = #{storeFreePrice,jdbcType=DECIMAL}, + store_storage_alarm = #{storeStorageAlarm,jdbcType=TINYINT} + where store_id = #{storeId,jdbcType=INTEGER} + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreClassMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreClassMapper.java new file mode 100644 index 0000000..6ccb9d0 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreClassMapper.java @@ -0,0 +1,36 @@ +package org.goshop.store.mapper.read; + +import org.goshop.store.pojo.StoreClass; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ReadStoreClassMapper { + int deleteByPrimaryKey(Long id); + + int insert(StoreClass record); + + int insertSelective(StoreClass record); + + StoreClass selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(StoreClass record); + + int updateByPrimaryKey(StoreClass record); + + List findAllOrderBySort(); + + int findCountByNameParentId(@Param("name") String name, @Param("parentId") Long parentId); + + List findTreeByParentId(Long parentId); + + List findByNameParentId(@Param("name") String name, @Param("parentId") Long parentId); + + int updateSort(@Param("id") Long id, @Param("sort") Integer sort); + + int updateName(@Param("id") Long id, @Param("name") String name); + + List findByParentId(@Param("parentId") Long parentId); + + List findGradeByParentId(@Param("parentId") Long parentId); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreClassMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreClassMapper.xml new file mode 100644 index 0000000..ee1ee28 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreClassMapper.xml @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + id, sort, name, PARENT_ID + + + + delete from gs_store_class + where id = #{id,jdbcType=BIGINT} + + + insert into gs_store_class (id, sort, name, + PARENT_ID) + values (#{id,jdbcType=BIGINT}, #{sort,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, + #{parentId,jdbcType=BIGINT}) + + + insert into gs_store_class + + + id, + + + sort, + + + name, + + + PARENT_ID, + + + + + #{id,jdbcType=BIGINT}, + + + #{sort,jdbcType=INTEGER}, + + + #{name,jdbcType=VARCHAR}, + + + #{parentId,jdbcType=BIGINT}, + + + + + update gs_store_class + + + sort = #{sort,jdbcType=INTEGER}, + + + name = #{name,jdbcType=VARCHAR}, + + + PARENT_ID = #{parentId,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update gs_store_class + set sort = #{sort,jdbcType=INTEGER}, + name = #{name,jdbcType=VARCHAR}, + PARENT_ID = #{parentId,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + + + + + + + + + + + + update gs_store_class + set sort = #{sort,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + + + + update gs_store_class + set name = #{name,jdbcType=INTEGER} + where id = #{id,jdbcType=BIGINT} + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGoodsClassMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGoodsClassMapper.java new file mode 100644 index 0000000..8ca0a01 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGoodsClassMapper.java @@ -0,0 +1,21 @@ +package org.goshop.store.mapper.read; + +import org.goshop.store.pojo.StoreGoodsClass; + +import java.util.List; + +public interface ReadStoreGoodsClassMapper { + int deleteByPrimaryKey(Integer stcId); + + int insert(StoreGoodsClass record); + + int insertSelective(StoreGoodsClass record); + + StoreGoodsClass selectByPrimaryKey(Integer stcId); + + int updateByPrimaryKeySelective(StoreGoodsClass record); + + int updateByPrimaryKey(StoreGoodsClass record); + + List findByStcParentId(Integer parentId); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGoodsClassMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGoodsClassMapper.xml new file mode 100644 index 0000000..83ddd3c --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGoodsClassMapper.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + stc_id, stc_name, stc_parent_id, stc_state, store_id, stc_sort + + + + delete from gs_store_goods_class + where stc_id = #{stcId,jdbcType=INTEGER} + + + insert into gs_store_goods_class (stc_id, stc_name, stc_parent_id, + stc_state, store_id, stc_sort + ) + values (#{stcId,jdbcType=INTEGER}, #{stcName,jdbcType=VARCHAR}, #{stcParentId,jdbcType=INTEGER}, + #{stcState,jdbcType=BIT}, #{storeId,jdbcType=INTEGER}, #{stcSort,jdbcType=INTEGER} + ) + + + insert into gs_store_goods_class + + + stc_id, + + + stc_name, + + + stc_parent_id, + + + stc_state, + + + store_id, + + + stc_sort, + + + + + #{stcId,jdbcType=INTEGER}, + + + #{stcName,jdbcType=VARCHAR}, + + + #{stcParentId,jdbcType=INTEGER}, + + + #{stcState,jdbcType=BIT}, + + + #{storeId,jdbcType=INTEGER}, + + + #{stcSort,jdbcType=INTEGER}, + + + + + update gs_store_goods_class + + + stc_name = #{stcName,jdbcType=VARCHAR}, + + + stc_parent_id = #{stcParentId,jdbcType=INTEGER}, + + + stc_state = #{stcState,jdbcType=BIT}, + + + store_id = #{storeId,jdbcType=INTEGER}, + + + stc_sort = #{stcSort,jdbcType=INTEGER}, + + + where stc_id = #{stcId,jdbcType=INTEGER} + + + update gs_store_goods_class + set stc_name = #{stcName,jdbcType=VARCHAR}, + stc_parent_id = #{stcParentId,jdbcType=INTEGER}, + stc_state = #{stcState,jdbcType=BIT}, + store_id = #{storeId,jdbcType=INTEGER}, + stc_sort = #{stcSort,jdbcType=INTEGER} + where stc_id = #{stcId,jdbcType=INTEGER} + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGradeMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGradeMapper.java new file mode 100644 index 0000000..61d59aa --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGradeMapper.java @@ -0,0 +1,30 @@ +package org.goshop.store.mapper.read; + +import org.goshop.store.pojo.StoreGrade; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ReadStoreGradeMapper { + int deleteByPrimaryKey(Integer sgId); + + int insert(StoreGrade record); + + int insertSelective(StoreGrade record); + + StoreGrade selectByPrimaryKey(Integer sgId); + + int updateByPrimaryKeySelective(StoreGrade record); + + int updateByPrimaryKeyWithBLOBs(StoreGrade record); + + int updateByPrimaryKey(StoreGrade record); + + List findAll(); + + List findBySgName(@Param("sgName") String sgName); + + List checkBySgIdSgSort(@Param("sgSort") Integer sgSort); + + List findByLikeSgName(@Param("sgName") String sgName); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGradeMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGradeMapper.xml new file mode 100644 index 0000000..fbb1ec5 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreGradeMapper.xml @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + sg_id, sg_name, sg_goods_limit, sg_album_limit, sg_space_limit, sg_template_number, + sg_template, sg_price, sg_confirm, sg_function, sg_sort + + + sg_description + + + + delete from gs_store_grade + where sg_id = #{sgId,jdbcType=INTEGER} + + + insert into gs_store_grade (sg_id, sg_name, sg_goods_limit, + sg_album_limit, sg_space_limit, sg_template_number, + sg_template, sg_price, sg_confirm, + sg_function, sg_sort, sg_description + ) + values (#{sgId,jdbcType=INTEGER}, #{sgName,jdbcType=CHAR}, #{sgGoodsLimit,jdbcType=INTEGER}, + #{sgAlbumLimit,jdbcType=INTEGER}, #{sgSpaceLimit,jdbcType=INTEGER}, #{sgTemplateNumber,jdbcType=INTEGER}, + #{sgTemplate,jdbcType=VARCHAR}, #{sgPrice,jdbcType=VARCHAR}, #{sgConfirm,jdbcType=BIT}, + #{sgFunction,jdbcType=VARCHAR}, #{sgSort,jdbcType=INTEGER}, #{sgDescription,jdbcType=LONGVARCHAR} + ) + + + insert into gs_store_grade + + + sg_id, + + + sg_name, + + + sg_goods_limit, + + + sg_album_limit, + + + sg_space_limit, + + + sg_template_number, + + + sg_template, + + + sg_price, + + + sg_confirm, + + + sg_function, + + + sg_sort, + + + sg_description, + + + + + #{sgId,jdbcType=INTEGER}, + + + #{sgName,jdbcType=CHAR}, + + + #{sgGoodsLimit,jdbcType=INTEGER}, + + + #{sgAlbumLimit,jdbcType=INTEGER}, + + + #{sgSpaceLimit,jdbcType=INTEGER}, + + + #{sgTemplateNumber,jdbcType=INTEGER}, + + + #{sgTemplate,jdbcType=VARCHAR}, + + + #{sgPrice,jdbcType=VARCHAR}, + + + #{sgConfirm,jdbcType=BIT}, + + + #{sgFunction,jdbcType=VARCHAR}, + + + #{sgSort,jdbcType=INTEGER}, + + + #{sgDescription,jdbcType=LONGVARCHAR}, + + + + + update gs_store_grade + + + sg_name = #{sgName,jdbcType=CHAR}, + + + sg_goods_limit = #{sgGoodsLimit,jdbcType=INTEGER}, + + + sg_album_limit = #{sgAlbumLimit,jdbcType=INTEGER}, + + + sg_space_limit = #{sgSpaceLimit,jdbcType=INTEGER}, + + + sg_template_number = #{sgTemplateNumber,jdbcType=INTEGER}, + + + sg_template = #{sgTemplate,jdbcType=VARCHAR}, + + + sg_price = #{sgPrice,jdbcType=VARCHAR}, + + + sg_confirm = #{sgConfirm,jdbcType=BIT}, + + + sg_function = #{sgFunction,jdbcType=VARCHAR}, + + + sg_sort = #{sgSort,jdbcType=INTEGER}, + + + sg_description = #{sgDescription,jdbcType=LONGVARCHAR}, + + + where sg_id = #{sgId,jdbcType=INTEGER} + + + update gs_store_grade + set sg_name = #{sgName,jdbcType=CHAR}, + sg_goods_limit = #{sgGoodsLimit,jdbcType=INTEGER}, + sg_album_limit = #{sgAlbumLimit,jdbcType=INTEGER}, + sg_space_limit = #{sgSpaceLimit,jdbcType=INTEGER}, + sg_template_number = #{sgTemplateNumber,jdbcType=INTEGER}, + sg_template = #{sgTemplate,jdbcType=VARCHAR}, + sg_price = #{sgPrice,jdbcType=VARCHAR}, + sg_confirm = #{sgConfirm,jdbcType=BIT}, + sg_function = #{sgFunction,jdbcType=VARCHAR}, + sg_sort = #{sgSort,jdbcType=INTEGER}, + sg_description = #{sgDescription,jdbcType=LONGVARCHAR} + where sg_id = #{sgId,jdbcType=INTEGER} + + + update gs_store_grade + set sg_name = #{sgName,jdbcType=CHAR}, + sg_goods_limit = #{sgGoodsLimit,jdbcType=INTEGER}, + sg_album_limit = #{sgAlbumLimit,jdbcType=INTEGER}, + sg_space_limit = #{sgSpaceLimit,jdbcType=INTEGER}, + sg_template_number = #{sgTemplateNumber,jdbcType=INTEGER}, + sg_template = #{sgTemplate,jdbcType=VARCHAR}, + sg_price = #{sgPrice,jdbcType=VARCHAR}, + sg_confirm = #{sgConfirm,jdbcType=BIT}, + sg_function = #{sgFunction,jdbcType=VARCHAR}, + sg_sort = #{sgSort,jdbcType=INTEGER} + where sg_id = #{sgId,jdbcType=INTEGER} + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreJoinMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreJoinMapper.java new file mode 100644 index 0000000..81deeea --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreJoinMapper.java @@ -0,0 +1,40 @@ +package org.goshop.store.mapper.read; + +import org.goshop.store.pojo.StoreJoin; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ReadStoreJoinMapper { + + //已提交申请 + static String JOIN_STATIC_APPLY = "10"; + //缴费完成 + static String JOIN_STATIC_PAY = "11"; + //审核成功 + static String JOIN_STATIC_EXMINE_YES = "20"; + //审核失败 + static String JOIN_STATIC_EXMINE_NO = "30"; + //缴费审核失败 + static String JOIN_STATIC_PAY_NO = "31"; + //审核通过开店 + static String JOIN_STATIC_YES = "40"; + + int deleteByPrimaryKey(Long memberId); + + int insert(StoreJoin record); + + int insertSelective(StoreJoin record); + + StoreJoin selectByPrimaryKey(Long memberId); + + int updateByPrimaryKeySelective(StoreJoin record); + + int updateByPrimaryKey(StoreJoin record); + + List findBySellerName(@Param("sellerName") String sellerName); + + List findByStoreName(@Param("storeName") String storeName); + + List findAll(); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreJoinMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreJoinMapper.xml new file mode 100644 index 0000000..46c145e --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreJoinMapper.xml @@ -0,0 +1,632 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + member_id, member_name, company_name, company_address, company_address_detail, company_phone, + company_employee_count, company_registered_capital, contacts_name, contacts_phone, + contacts_email, business_licence_number, business_licence_address, business_licence_start, + business_licence_end, business_sphere, business_licence_number_electronic, organization_code, + organization_code_electronic, general_taxpayer, bank_account_name, bank_account_number, + bank_name, bank_code, bank_address, bank_licence_electronic, is_settlement_account, + settlement_bank_account_name, settlement_bank_account_number, settlement_bank_name, + settlement_bank_code, settlement_bank_address, tax_registration_certificate, taxpayer_id, + tax_registration_certificate_electronic, seller_name, store_name, store_class_ids, + store_class_names, joinin_state, joinin_message, sg_name, sg_id, sc_name, sc_id, + store_class_commis_rates, paying_money_certificate, paying_money_certificate_explain + + + + delete from gs_store_join + where member_id = #{memberId,jdbcType=BIGINT} + + + insert into gs_store_join (member_id, member_name, company_name, + company_address, company_address_detail, company_phone, + company_employee_count, company_registered_capital, + contacts_name, contacts_phone, contacts_email, + business_licence_number, business_licence_address, + business_licence_start, business_licence_end, business_sphere, + business_licence_number_electronic, organization_code, + organization_code_electronic, general_taxpayer, + bank_account_name, bank_account_number, bank_name, + bank_code, bank_address, bank_licence_electronic, + is_settlement_account, settlement_bank_account_name, + settlement_bank_account_number, settlement_bank_name, + settlement_bank_code, settlement_bank_address, + tax_registration_certificate, taxpayer_id, + tax_registration_certificate_electronic, seller_name, + store_name, store_class_ids, store_class_names, + joinin_state, joinin_message, sg_name, + sg_id, sc_name, sc_id, + store_class_commis_rates, paying_money_certificate, + paying_money_certificate_explain) + values (#{memberId,jdbcType=BIGINT}, #{memberName,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR}, + #{companyAddress,jdbcType=VARCHAR}, #{companyAddressDetail,jdbcType=VARCHAR}, #{companyPhone,jdbcType=VARCHAR}, + #{companyEmployeeCount,jdbcType=INTEGER}, #{companyRegisteredCapital,jdbcType=INTEGER}, + #{contactsName,jdbcType=VARCHAR}, #{contactsPhone,jdbcType=VARCHAR}, #{contactsEmail,jdbcType=VARCHAR}, + #{businessLicenceNumber,jdbcType=VARCHAR}, #{businessLicenceAddress,jdbcType=VARCHAR}, + #{businessLicenceStart,jdbcType=DATE}, #{businessLicenceEnd,jdbcType=DATE}, #{businessSphere,jdbcType=VARCHAR}, + #{businessLicenceNumberElectronic,jdbcType=VARCHAR}, #{organizationCode,jdbcType=VARCHAR}, + #{organizationCodeElectronic,jdbcType=VARCHAR}, #{generalTaxpayer,jdbcType=VARCHAR}, + #{bankAccountName,jdbcType=VARCHAR}, #{bankAccountNumber,jdbcType=VARCHAR}, #{bankName,jdbcType=VARCHAR}, + #{bankCode,jdbcType=VARCHAR}, #{bankAddress,jdbcType=VARCHAR}, #{bankLicenceElectronic,jdbcType=VARCHAR}, + #{isSettlementAccount,jdbcType=BIT}, #{settlementBankAccountName,jdbcType=VARCHAR}, + #{settlementBankAccountNumber,jdbcType=VARCHAR}, #{settlementBankName,jdbcType=VARCHAR}, + #{settlementBankCode,jdbcType=VARCHAR}, #{settlementBankAddress,jdbcType=VARCHAR}, + #{taxRegistrationCertificate,jdbcType=VARCHAR}, #{taxpayerId,jdbcType=VARCHAR}, + #{taxRegistrationCertificateElectronic,jdbcType=VARCHAR}, #{sellerName,jdbcType=VARCHAR}, + #{storeName,jdbcType=VARCHAR}, #{storeClassIds,jdbcType=VARCHAR}, #{storeClassNames,jdbcType=VARCHAR}, + #{joininState,jdbcType=VARCHAR}, #{joininMessage,jdbcType=VARCHAR}, #{sgName,jdbcType=VARCHAR}, + #{sgId,jdbcType=INTEGER}, #{scName,jdbcType=VARCHAR}, #{scId,jdbcType=INTEGER}, + #{storeClassCommisRates,jdbcType=VARCHAR}, #{payingMoneyCertificate,jdbcType=VARCHAR}, + #{payingMoneyCertificateExplain,jdbcType=VARCHAR}) + + + insert into gs_store_join + + + member_id, + + + member_name, + + + company_name, + + + company_address, + + + company_address_detail, + + + company_phone, + + + company_employee_count, + + + company_registered_capital, + + + contacts_name, + + + contacts_phone, + + + contacts_email, + + + business_licence_number, + + + business_licence_address, + + + business_licence_start, + + + business_licence_end, + + + business_sphere, + + + business_licence_number_electronic, + + + organization_code, + + + organization_code_electronic, + + + general_taxpayer, + + + bank_account_name, + + + bank_account_number, + + + bank_name, + + + bank_code, + + + bank_address, + + + bank_licence_electronic, + + + is_settlement_account, + + + settlement_bank_account_name, + + + settlement_bank_account_number, + + + settlement_bank_name, + + + settlement_bank_code, + + + settlement_bank_address, + + + tax_registration_certificate, + + + taxpayer_id, + + + tax_registration_certificate_electronic, + + + seller_name, + + + store_name, + + + store_class_ids, + + + store_class_names, + + + joinin_state, + + + joinin_message, + + + sg_name, + + + sg_id, + + + sc_name, + + + sc_id, + + + store_class_commis_rates, + + + paying_money_certificate, + + + paying_money_certificate_explain, + + + + + #{memberId,jdbcType=BIGINT}, + + + #{memberName,jdbcType=VARCHAR}, + + + #{companyName,jdbcType=VARCHAR}, + + + #{companyAddress,jdbcType=VARCHAR}, + + + #{companyAddressDetail,jdbcType=VARCHAR}, + + + #{companyPhone,jdbcType=VARCHAR}, + + + #{companyEmployeeCount,jdbcType=INTEGER}, + + + #{companyRegisteredCapital,jdbcType=INTEGER}, + + + #{contactsName,jdbcType=VARCHAR}, + + + #{contactsPhone,jdbcType=VARCHAR}, + + + #{contactsEmail,jdbcType=VARCHAR}, + + + #{businessLicenceNumber,jdbcType=VARCHAR}, + + + #{businessLicenceAddress,jdbcType=VARCHAR}, + + + #{businessLicenceStart,jdbcType=DATE}, + + + #{businessLicenceEnd,jdbcType=DATE}, + + + #{businessSphere,jdbcType=VARCHAR}, + + + #{businessLicenceNumberElectronic,jdbcType=VARCHAR}, + + + #{organizationCode,jdbcType=VARCHAR}, + + + #{organizationCodeElectronic,jdbcType=VARCHAR}, + + + #{generalTaxpayer,jdbcType=VARCHAR}, + + + #{bankAccountName,jdbcType=VARCHAR}, + + + #{bankAccountNumber,jdbcType=VARCHAR}, + + + #{bankName,jdbcType=VARCHAR}, + + + #{bankCode,jdbcType=VARCHAR}, + + + #{bankAddress,jdbcType=VARCHAR}, + + + #{bankLicenceElectronic,jdbcType=VARCHAR}, + + + #{isSettlementAccount,jdbcType=BIT}, + + + #{settlementBankAccountName,jdbcType=VARCHAR}, + + + #{settlementBankAccountNumber,jdbcType=VARCHAR}, + + + #{settlementBankName,jdbcType=VARCHAR}, + + + #{settlementBankCode,jdbcType=VARCHAR}, + + + #{settlementBankAddress,jdbcType=VARCHAR}, + + + #{taxRegistrationCertificate,jdbcType=VARCHAR}, + + + #{taxpayerId,jdbcType=VARCHAR}, + + + #{taxRegistrationCertificateElectronic,jdbcType=VARCHAR}, + + + #{sellerName,jdbcType=VARCHAR}, + + + #{storeName,jdbcType=VARCHAR}, + + + #{storeClassIds,jdbcType=VARCHAR}, + + + #{storeClassNames,jdbcType=VARCHAR}, + + + #{joininState,jdbcType=VARCHAR}, + + + #{joininMessage,jdbcType=VARCHAR}, + + + #{sgName,jdbcType=VARCHAR}, + + + #{sgId,jdbcType=INTEGER}, + + + #{scName,jdbcType=VARCHAR}, + + + #{scId,jdbcType=INTEGER}, + + + #{storeClassCommisRates,jdbcType=VARCHAR}, + + + #{payingMoneyCertificate,jdbcType=VARCHAR}, + + + #{payingMoneyCertificateExplain,jdbcType=VARCHAR}, + + + + + update gs_store_join + + + member_name = #{memberName,jdbcType=VARCHAR}, + + + company_name = #{companyName,jdbcType=VARCHAR}, + + + company_address = #{companyAddress,jdbcType=VARCHAR}, + + + company_address_detail = #{companyAddressDetail,jdbcType=VARCHAR}, + + + company_phone = #{companyPhone,jdbcType=VARCHAR}, + + + company_employee_count = #{companyEmployeeCount,jdbcType=INTEGER}, + + + company_registered_capital = #{companyRegisteredCapital,jdbcType=INTEGER}, + + + contacts_name = #{contactsName,jdbcType=VARCHAR}, + + + contacts_phone = #{contactsPhone,jdbcType=VARCHAR}, + + + contacts_email = #{contactsEmail,jdbcType=VARCHAR}, + + + business_licence_number = #{businessLicenceNumber,jdbcType=VARCHAR}, + + + business_licence_address = #{businessLicenceAddress,jdbcType=VARCHAR}, + + + business_licence_start = #{businessLicenceStart,jdbcType=DATE}, + + + business_licence_end = #{businessLicenceEnd,jdbcType=DATE}, + + + business_sphere = #{businessSphere,jdbcType=VARCHAR}, + + + business_licence_number_electronic = #{businessLicenceNumberElectronic,jdbcType=VARCHAR}, + + + organization_code = #{organizationCode,jdbcType=VARCHAR}, + + + organization_code_electronic = #{organizationCodeElectronic,jdbcType=VARCHAR}, + + + general_taxpayer = #{generalTaxpayer,jdbcType=VARCHAR}, + + + bank_account_name = #{bankAccountName,jdbcType=VARCHAR}, + + + bank_account_number = #{bankAccountNumber,jdbcType=VARCHAR}, + + + bank_name = #{bankName,jdbcType=VARCHAR}, + + + bank_code = #{bankCode,jdbcType=VARCHAR}, + + + bank_address = #{bankAddress,jdbcType=VARCHAR}, + + + bank_licence_electronic = #{bankLicenceElectronic,jdbcType=VARCHAR}, + + + is_settlement_account = #{isSettlementAccount,jdbcType=BIT}, + + + settlement_bank_account_name = #{settlementBankAccountName,jdbcType=VARCHAR}, + + + settlement_bank_account_number = #{settlementBankAccountNumber,jdbcType=VARCHAR}, + + + settlement_bank_name = #{settlementBankName,jdbcType=VARCHAR}, + + + settlement_bank_code = #{settlementBankCode,jdbcType=VARCHAR}, + + + settlement_bank_address = #{settlementBankAddress,jdbcType=VARCHAR}, + + + tax_registration_certificate = #{taxRegistrationCertificate,jdbcType=VARCHAR}, + + + taxpayer_id = #{taxpayerId,jdbcType=VARCHAR}, + + + tax_registration_certificate_electronic = #{taxRegistrationCertificateElectronic,jdbcType=VARCHAR}, + + + seller_name = #{sellerName,jdbcType=VARCHAR}, + + + store_name = #{storeName,jdbcType=VARCHAR}, + + + store_class_ids = #{storeClassIds,jdbcType=VARCHAR}, + + + store_class_names = #{storeClassNames,jdbcType=VARCHAR}, + + + joinin_state = #{joininState,jdbcType=VARCHAR}, + + + joinin_message = #{joininMessage,jdbcType=VARCHAR}, + + + sg_name = #{sgName,jdbcType=VARCHAR}, + + + sg_id = #{sgId,jdbcType=INTEGER}, + + + sc_name = #{scName,jdbcType=VARCHAR}, + + + sc_id = #{scId,jdbcType=INTEGER}, + + + store_class_commis_rates = #{storeClassCommisRates,jdbcType=VARCHAR}, + + + paying_money_certificate = #{payingMoneyCertificate,jdbcType=VARCHAR}, + + + paying_money_certificate_explain = #{payingMoneyCertificateExplain,jdbcType=VARCHAR}, + + + where member_id = #{memberId,jdbcType=BIGINT} + + + update gs_store_join + set member_name = #{memberName,jdbcType=VARCHAR}, + company_name = #{companyName,jdbcType=VARCHAR}, + company_address = #{companyAddress,jdbcType=VARCHAR}, + company_address_detail = #{companyAddressDetail,jdbcType=VARCHAR}, + company_phone = #{companyPhone,jdbcType=VARCHAR}, + company_employee_count = #{companyEmployeeCount,jdbcType=INTEGER}, + company_registered_capital = #{companyRegisteredCapital,jdbcType=INTEGER}, + contacts_name = #{contactsName,jdbcType=VARCHAR}, + contacts_phone = #{contactsPhone,jdbcType=VARCHAR}, + contacts_email = #{contactsEmail,jdbcType=VARCHAR}, + business_licence_number = #{businessLicenceNumber,jdbcType=VARCHAR}, + business_licence_address = #{businessLicenceAddress,jdbcType=VARCHAR}, + business_licence_start = #{businessLicenceStart,jdbcType=DATE}, + business_licence_end = #{businessLicenceEnd,jdbcType=DATE}, + business_sphere = #{businessSphere,jdbcType=VARCHAR}, + business_licence_number_electronic = #{businessLicenceNumberElectronic,jdbcType=VARCHAR}, + organization_code = #{organizationCode,jdbcType=VARCHAR}, + organization_code_electronic = #{organizationCodeElectronic,jdbcType=VARCHAR}, + general_taxpayer = #{generalTaxpayer,jdbcType=VARCHAR}, + bank_account_name = #{bankAccountName,jdbcType=VARCHAR}, + bank_account_number = #{bankAccountNumber,jdbcType=VARCHAR}, + bank_name = #{bankName,jdbcType=VARCHAR}, + bank_code = #{bankCode,jdbcType=VARCHAR}, + bank_address = #{bankAddress,jdbcType=VARCHAR}, + bank_licence_electronic = #{bankLicenceElectronic,jdbcType=VARCHAR}, + is_settlement_account = #{isSettlementAccount,jdbcType=BIT}, + settlement_bank_account_name = #{settlementBankAccountName,jdbcType=VARCHAR}, + settlement_bank_account_number = #{settlementBankAccountNumber,jdbcType=VARCHAR}, + settlement_bank_name = #{settlementBankName,jdbcType=VARCHAR}, + settlement_bank_code = #{settlementBankCode,jdbcType=VARCHAR}, + settlement_bank_address = #{settlementBankAddress,jdbcType=VARCHAR}, + tax_registration_certificate = #{taxRegistrationCertificate,jdbcType=VARCHAR}, + taxpayer_id = #{taxpayerId,jdbcType=VARCHAR}, + tax_registration_certificate_electronic = #{taxRegistrationCertificateElectronic,jdbcType=VARCHAR}, + seller_name = #{sellerName,jdbcType=VARCHAR}, + store_name = #{storeName,jdbcType=VARCHAR}, + store_class_ids = #{storeClassIds,jdbcType=VARCHAR}, + store_class_names = #{storeClassNames,jdbcType=VARCHAR}, + joinin_state = #{joininState,jdbcType=VARCHAR}, + joinin_message = #{joininMessage,jdbcType=VARCHAR}, + sg_name = #{sgName,jdbcType=VARCHAR}, + sg_id = #{sgId,jdbcType=INTEGER}, + sc_name = #{scName,jdbcType=VARCHAR}, + sc_id = #{scId,jdbcType=INTEGER}, + store_class_commis_rates = #{storeClassCommisRates,jdbcType=VARCHAR}, + paying_money_certificate = #{payingMoneyCertificate,jdbcType=VARCHAR}, + paying_money_certificate_explain = #{payingMoneyCertificateExplain,jdbcType=VARCHAR} + where member_id = #{memberId,jdbcType=BIGINT} + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreMapper.java b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreMapper.java new file mode 100644 index 0000000..ee69cc6 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreMapper.java @@ -0,0 +1,39 @@ +package org.goshop.store.mapper.read; + +import org.goshop.store.pojo.Store; +import org.goshop.store.pojo.StoreWithBLOBs; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface ReadStoreMapper { + int deleteByPrimaryKey(Integer storeId); + + int insert(StoreWithBLOBs record); + + int insertSelective(StoreWithBLOBs record); + + StoreWithBLOBs selectByPrimaryKey(Integer storeId); + + int updateByPrimaryKeySelective(StoreWithBLOBs record); + + int updateByPrimaryKeyWithBLOBs(StoreWithBLOBs record); + + int updateByPrimaryKey(Store record); + + Store findByMemberId(@Param("memberId") Long memberId); + + List findAll(); + + /** + * + * @param gradeId 等级 + * @param sellerName 店主 + * @param storeName 店铺 + * @param storeState 店铺状态 + * @param isExpire 是否即将过期 + * @param isExpired 是否过期 + * @return + */ + List find(@Param("gradeId") Integer gradeId, @Param("sellerName") String sellerName, @Param("storeName") String storeName, @Param("storeState") Integer storeState, @Param("isExpire") Boolean isExpire, @Param("isExpired") Boolean isExpired); +} \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreMapper.xml b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreMapper.xml new file mode 100644 index 0000000..f95b8f5 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/mapper/read/ReadStoreMapper.xml @@ -0,0 +1,731 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + store_id, store_name, store_auth, name_auth, grade_id, member_id, member_name, seller_name, + store_owner_card, sc_id, store_company_name, area_id, area_info, store_address, store_zip, + store_tel, store_image, store_image1, store_state, store_close_info, store_sort, + store_time, store_end_time, store_label, store_banner, store_keywords, store_description, + store_qq, store_ww, store_domain, store_domain_times, store_recommend, store_theme, + store_credit, praise_rate, store_desccredit, store_servicecredit, store_deliverycredit, + store_collect, store_stamp, store_printdesc, store_sales, store_workingtime, store_free_price, + store_storage_alarm + + + description, store_zy, store_slide, store_slide_url, store_presales, store_aftersales + + + + delete from gs_store + where store_id = #{storeId,jdbcType=INTEGER} + + + insert into gs_store (store_id, store_name, store_auth, + name_auth, grade_id, member_id, + member_name, seller_name, store_owner_card, + sc_id, store_company_name, area_id, + area_info, store_address, store_zip, + store_tel, store_image, store_image1, + store_state, store_close_info, store_sort, + store_time, store_end_time, store_label, + store_banner, store_keywords, store_description, + store_qq, store_ww, store_domain, + store_domain_times, store_recommend, store_theme, + store_credit, praise_rate, store_desccredit, + store_servicecredit, store_deliverycredit, store_collect, + store_stamp, store_printdesc, store_sales, + store_workingtime, store_free_price, store_storage_alarm, + description, store_zy, store_slide, + store_slide_url, store_presales, store_aftersales + ) + values (#{storeId,jdbcType=INTEGER}, #{storeName,jdbcType=VARCHAR}, #{storeAuth,jdbcType=BIT}, + #{nameAuth,jdbcType=BIT}, #{gradeId,jdbcType=INTEGER}, #{memberId,jdbcType=BIGINT}, + #{memberName,jdbcType=VARCHAR}, #{sellerName,jdbcType=VARCHAR}, #{storeOwnerCard,jdbcType=VARCHAR}, + #{scId,jdbcType=INTEGER}, #{storeCompanyName,jdbcType=VARCHAR}, #{areaId,jdbcType=INTEGER}, + #{areaInfo,jdbcType=VARCHAR}, #{storeAddress,jdbcType=VARCHAR}, #{storeZip,jdbcType=VARCHAR}, + #{storeTel,jdbcType=VARCHAR}, #{storeImage,jdbcType=VARCHAR}, #{storeImage1,jdbcType=VARCHAR}, + #{storeState,jdbcType=BIT}, #{storeCloseInfo,jdbcType=VARCHAR}, #{storeSort,jdbcType=INTEGER}, + #{storeTime,jdbcType=DATE}, #{storeEndTime,jdbcType=DATE}, #{storeLabel,jdbcType=VARCHAR}, + #{storeBanner,jdbcType=VARCHAR}, #{storeKeywords,jdbcType=VARCHAR}, #{storeDescription,jdbcType=VARCHAR}, + #{storeQq,jdbcType=VARCHAR}, #{storeWw,jdbcType=VARCHAR}, #{storeDomain,jdbcType=VARCHAR}, + #{storeDomainTimes,jdbcType=BIT}, #{storeRecommend,jdbcType=BIT}, #{storeTheme,jdbcType=VARCHAR}, + #{storeCredit,jdbcType=INTEGER}, #{praiseRate,jdbcType=REAL}, #{storeDesccredit,jdbcType=REAL}, + #{storeServicecredit,jdbcType=REAL}, #{storeDeliverycredit,jdbcType=REAL}, #{storeCollect,jdbcType=INTEGER}, + #{storeStamp,jdbcType=VARCHAR}, #{storePrintdesc,jdbcType=VARCHAR}, #{storeSales,jdbcType=INTEGER}, + #{storeWorkingtime,jdbcType=VARCHAR}, #{storeFreePrice,jdbcType=DECIMAL}, #{storeStorageAlarm,jdbcType=TINYINT}, + #{description,jdbcType=LONGVARCHAR}, #{storeZy,jdbcType=LONGVARCHAR}, #{storeSlide,jdbcType=LONGVARCHAR}, + #{storeSlideUrl,jdbcType=LONGVARCHAR}, #{storePresales,jdbcType=LONGVARCHAR}, #{storeAftersales,jdbcType=LONGVARCHAR} + ) + + + insert into gs_store + + + store_id, + + + store_name, + + + store_auth, + + + name_auth, + + + grade_id, + + + member_id, + + + member_name, + + + seller_name, + + + store_owner_card, + + + sc_id, + + + store_company_name, + + + area_id, + + + area_info, + + + store_address, + + + store_zip, + + + store_tel, + + + store_image, + + + store_image1, + + + store_state, + + + store_close_info, + + + store_sort, + + + store_time, + + + store_end_time, + + + store_label, + + + store_banner, + + + store_keywords, + + + store_description, + + + store_qq, + + + store_ww, + + + store_domain, + + + store_domain_times, + + + store_recommend, + + + store_theme, + + + store_credit, + + + praise_rate, + + + store_desccredit, + + + store_servicecredit, + + + store_deliverycredit, + + + store_collect, + + + store_stamp, + + + store_printdesc, + + + store_sales, + + + store_workingtime, + + + store_free_price, + + + store_storage_alarm, + + + description, + + + store_zy, + + + store_slide, + + + store_slide_url, + + + store_presales, + + + store_aftersales, + + + + + #{storeId,jdbcType=INTEGER}, + + + #{storeName,jdbcType=VARCHAR}, + + + #{storeAuth,jdbcType=BIT}, + + + #{nameAuth,jdbcType=BIT}, + + + #{gradeId,jdbcType=INTEGER}, + + + #{memberId,jdbcType=BIGINT}, + + + #{memberName,jdbcType=VARCHAR}, + + + #{sellerName,jdbcType=VARCHAR}, + + + #{storeOwnerCard,jdbcType=VARCHAR}, + + + #{scId,jdbcType=INTEGER}, + + + #{storeCompanyName,jdbcType=VARCHAR}, + + + #{areaId,jdbcType=INTEGER}, + + + #{areaInfo,jdbcType=VARCHAR}, + + + #{storeAddress,jdbcType=VARCHAR}, + + + #{storeZip,jdbcType=VARCHAR}, + + + #{storeTel,jdbcType=VARCHAR}, + + + #{storeImage,jdbcType=VARCHAR}, + + + #{storeImage1,jdbcType=VARCHAR}, + + + #{storeState,jdbcType=BIT}, + + + #{storeCloseInfo,jdbcType=VARCHAR}, + + + #{storeSort,jdbcType=INTEGER}, + + + #{storeTime,jdbcType=DATE}, + + + #{storeEndTime,jdbcType=DATE}, + + + #{storeLabel,jdbcType=VARCHAR}, + + + #{storeBanner,jdbcType=VARCHAR}, + + + #{storeKeywords,jdbcType=VARCHAR}, + + + #{storeDescription,jdbcType=VARCHAR}, + + + #{storeQq,jdbcType=VARCHAR}, + + + #{storeWw,jdbcType=VARCHAR}, + + + #{storeDomain,jdbcType=VARCHAR}, + + + #{storeDomainTimes,jdbcType=BIT}, + + + #{storeRecommend,jdbcType=BIT}, + + + #{storeTheme,jdbcType=VARCHAR}, + + + #{storeCredit,jdbcType=INTEGER}, + + + #{praiseRate,jdbcType=REAL}, + + + #{storeDesccredit,jdbcType=REAL}, + + + #{storeServicecredit,jdbcType=REAL}, + + + #{storeDeliverycredit,jdbcType=REAL}, + + + #{storeCollect,jdbcType=INTEGER}, + + + #{storeStamp,jdbcType=VARCHAR}, + + + #{storePrintdesc,jdbcType=VARCHAR}, + + + #{storeSales,jdbcType=INTEGER}, + + + #{storeWorkingtime,jdbcType=VARCHAR}, + + + #{storeFreePrice,jdbcType=DECIMAL}, + + + #{storeStorageAlarm,jdbcType=TINYINT}, + + + #{description,jdbcType=LONGVARCHAR}, + + + #{storeZy,jdbcType=LONGVARCHAR}, + + + #{storeSlide,jdbcType=LONGVARCHAR}, + + + #{storeSlideUrl,jdbcType=LONGVARCHAR}, + + + #{storePresales,jdbcType=LONGVARCHAR}, + + + #{storeAftersales,jdbcType=LONGVARCHAR}, + + + + + update gs_store + + + store_name = #{storeName,jdbcType=VARCHAR}, + + + store_auth = #{storeAuth,jdbcType=BIT}, + + + name_auth = #{nameAuth,jdbcType=BIT}, + + + grade_id = #{gradeId,jdbcType=INTEGER}, + + + member_id = #{memberId,jdbcType=BIGINT}, + + + member_name = #{memberName,jdbcType=VARCHAR}, + + + seller_name = #{sellerName,jdbcType=VARCHAR}, + + + store_owner_card = #{storeOwnerCard,jdbcType=VARCHAR}, + + + sc_id = #{scId,jdbcType=INTEGER}, + + + store_company_name = #{storeCompanyName,jdbcType=VARCHAR}, + + + area_id = #{areaId,jdbcType=INTEGER}, + + + area_info = #{areaInfo,jdbcType=VARCHAR}, + + + store_address = #{storeAddress,jdbcType=VARCHAR}, + + + store_zip = #{storeZip,jdbcType=VARCHAR}, + + + store_tel = #{storeTel,jdbcType=VARCHAR}, + + + store_image = #{storeImage,jdbcType=VARCHAR}, + + + store_image1 = #{storeImage1,jdbcType=VARCHAR}, + + + store_state = #{storeState,jdbcType=BIT}, + + + store_close_info = #{storeCloseInfo,jdbcType=VARCHAR}, + + + store_sort = #{storeSort,jdbcType=INTEGER}, + + + store_time = #{storeTime,jdbcType=DATE}, + + + store_end_time = #{storeEndTime,jdbcType=DATE}, + + + store_label = #{storeLabel,jdbcType=VARCHAR}, + + + store_banner = #{storeBanner,jdbcType=VARCHAR}, + + + store_keywords = #{storeKeywords,jdbcType=VARCHAR}, + + + store_description = #{storeDescription,jdbcType=VARCHAR}, + + + store_qq = #{storeQq,jdbcType=VARCHAR}, + + + store_ww = #{storeWw,jdbcType=VARCHAR}, + + + store_domain = #{storeDomain,jdbcType=VARCHAR}, + + + store_domain_times = #{storeDomainTimes,jdbcType=BIT}, + + + store_recommend = #{storeRecommend,jdbcType=BIT}, + + + store_theme = #{storeTheme,jdbcType=VARCHAR}, + + + store_credit = #{storeCredit,jdbcType=INTEGER}, + + + praise_rate = #{praiseRate,jdbcType=REAL}, + + + store_desccredit = #{storeDesccredit,jdbcType=REAL}, + + + store_servicecredit = #{storeServicecredit,jdbcType=REAL}, + + + store_deliverycredit = #{storeDeliverycredit,jdbcType=REAL}, + + + store_collect = #{storeCollect,jdbcType=INTEGER}, + + + store_stamp = #{storeStamp,jdbcType=VARCHAR}, + + + store_printdesc = #{storePrintdesc,jdbcType=VARCHAR}, + + + store_sales = #{storeSales,jdbcType=INTEGER}, + + + store_workingtime = #{storeWorkingtime,jdbcType=VARCHAR}, + + + store_free_price = #{storeFreePrice,jdbcType=DECIMAL}, + + + store_storage_alarm = #{storeStorageAlarm,jdbcType=TINYINT}, + + + description = #{description,jdbcType=LONGVARCHAR}, + + + store_zy = #{storeZy,jdbcType=LONGVARCHAR}, + + + store_slide = #{storeSlide,jdbcType=LONGVARCHAR}, + + + store_slide_url = #{storeSlideUrl,jdbcType=LONGVARCHAR}, + + + store_presales = #{storePresales,jdbcType=LONGVARCHAR}, + + + store_aftersales = #{storeAftersales,jdbcType=LONGVARCHAR}, + + + where store_id = #{storeId,jdbcType=INTEGER} + + + update gs_store + set store_name = #{storeName,jdbcType=VARCHAR}, + store_auth = #{storeAuth,jdbcType=BIT}, + name_auth = #{nameAuth,jdbcType=BIT}, + grade_id = #{gradeId,jdbcType=INTEGER}, + member_id = #{memberId,jdbcType=BIGINT}, + member_name = #{memberName,jdbcType=VARCHAR}, + seller_name = #{sellerName,jdbcType=VARCHAR}, + store_owner_card = #{storeOwnerCard,jdbcType=VARCHAR}, + sc_id = #{scId,jdbcType=INTEGER}, + store_company_name = #{storeCompanyName,jdbcType=VARCHAR}, + area_id = #{areaId,jdbcType=INTEGER}, + area_info = #{areaInfo,jdbcType=VARCHAR}, + store_address = #{storeAddress,jdbcType=VARCHAR}, + store_zip = #{storeZip,jdbcType=VARCHAR}, + store_tel = #{storeTel,jdbcType=VARCHAR}, + store_image = #{storeImage,jdbcType=VARCHAR}, + store_image1 = #{storeImage1,jdbcType=VARCHAR}, + store_state = #{storeState,jdbcType=BIT}, + store_close_info = #{storeCloseInfo,jdbcType=VARCHAR}, + store_sort = #{storeSort,jdbcType=INTEGER}, + store_time = #{storeTime,jdbcType=DATE}, + store_end_time = #{storeEndTime,jdbcType=DATE}, + store_label = #{storeLabel,jdbcType=VARCHAR}, + store_banner = #{storeBanner,jdbcType=VARCHAR}, + store_keywords = #{storeKeywords,jdbcType=VARCHAR}, + store_description = #{storeDescription,jdbcType=VARCHAR}, + store_qq = #{storeQq,jdbcType=VARCHAR}, + store_ww = #{storeWw,jdbcType=VARCHAR}, + store_domain = #{storeDomain,jdbcType=VARCHAR}, + store_domain_times = #{storeDomainTimes,jdbcType=BIT}, + store_recommend = #{storeRecommend,jdbcType=BIT}, + store_theme = #{storeTheme,jdbcType=VARCHAR}, + store_credit = #{storeCredit,jdbcType=INTEGER}, + praise_rate = #{praiseRate,jdbcType=REAL}, + store_desccredit = #{storeDesccredit,jdbcType=REAL}, + store_servicecredit = #{storeServicecredit,jdbcType=REAL}, + store_deliverycredit = #{storeDeliverycredit,jdbcType=REAL}, + store_collect = #{storeCollect,jdbcType=INTEGER}, + store_stamp = #{storeStamp,jdbcType=VARCHAR}, + store_printdesc = #{storePrintdesc,jdbcType=VARCHAR}, + store_sales = #{storeSales,jdbcType=INTEGER}, + store_workingtime = #{storeWorkingtime,jdbcType=VARCHAR}, + store_free_price = #{storeFreePrice,jdbcType=DECIMAL}, + store_storage_alarm = #{storeStorageAlarm,jdbcType=TINYINT}, + description = #{description,jdbcType=LONGVARCHAR}, + store_zy = #{storeZy,jdbcType=LONGVARCHAR}, + store_slide = #{storeSlide,jdbcType=LONGVARCHAR}, + store_slide_url = #{storeSlideUrl,jdbcType=LONGVARCHAR}, + store_presales = #{storePresales,jdbcType=LONGVARCHAR}, + store_aftersales = #{storeAftersales,jdbcType=LONGVARCHAR} + where store_id = #{storeId,jdbcType=INTEGER} + + + update gs_store + set store_name = #{storeName,jdbcType=VARCHAR}, + store_auth = #{storeAuth,jdbcType=BIT}, + name_auth = #{nameAuth,jdbcType=BIT}, + grade_id = #{gradeId,jdbcType=INTEGER}, + member_id = #{memberId,jdbcType=BIGINT}, + member_name = #{memberName,jdbcType=VARCHAR}, + seller_name = #{sellerName,jdbcType=VARCHAR}, + store_owner_card = #{storeOwnerCard,jdbcType=VARCHAR}, + sc_id = #{scId,jdbcType=INTEGER}, + store_company_name = #{storeCompanyName,jdbcType=VARCHAR}, + area_id = #{areaId,jdbcType=INTEGER}, + area_info = #{areaInfo,jdbcType=VARCHAR}, + store_address = #{storeAddress,jdbcType=VARCHAR}, + store_zip = #{storeZip,jdbcType=VARCHAR}, + store_tel = #{storeTel,jdbcType=VARCHAR}, + store_image = #{storeImage,jdbcType=VARCHAR}, + store_image1 = #{storeImage1,jdbcType=VARCHAR}, + store_state = #{storeState,jdbcType=BIT}, + store_close_info = #{storeCloseInfo,jdbcType=VARCHAR}, + store_sort = #{storeSort,jdbcType=INTEGER}, + store_time = #{storeTime,jdbcType=DATE}, + store_end_time = #{storeEndTime,jdbcType=DATE}, + store_label = #{storeLabel,jdbcType=VARCHAR}, + store_banner = #{storeBanner,jdbcType=VARCHAR}, + store_keywords = #{storeKeywords,jdbcType=VARCHAR}, + store_description = #{storeDescription,jdbcType=VARCHAR}, + store_qq = #{storeQq,jdbcType=VARCHAR}, + store_ww = #{storeWw,jdbcType=VARCHAR}, + store_domain = #{storeDomain,jdbcType=VARCHAR}, + store_domain_times = #{storeDomainTimes,jdbcType=BIT}, + store_recommend = #{storeRecommend,jdbcType=BIT}, + store_theme = #{storeTheme,jdbcType=VARCHAR}, + store_credit = #{storeCredit,jdbcType=INTEGER}, + praise_rate = #{praiseRate,jdbcType=REAL}, + store_desccredit = #{storeDesccredit,jdbcType=REAL}, + store_servicecredit = #{storeServicecredit,jdbcType=REAL}, + store_deliverycredit = #{storeDeliverycredit,jdbcType=REAL}, + store_collect = #{storeCollect,jdbcType=INTEGER}, + store_stamp = #{storeStamp,jdbcType=VARCHAR}, + store_printdesc = #{storePrintdesc,jdbcType=VARCHAR}, + store_sales = #{storeSales,jdbcType=INTEGER}, + store_workingtime = #{storeWorkingtime,jdbcType=VARCHAR}, + store_free_price = #{storeFreePrice,jdbcType=DECIMAL}, + store_storage_alarm = #{storeStorageAlarm,jdbcType=TINYINT} + where store_id = #{storeId,jdbcType=INTEGER} + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/java/org/goshop/store/service/StoreClassServiceImpl.java b/goshop-service-store/src/main/java/org/goshop/store/service/StoreClassServiceImpl.java new file mode 100644 index 0000000..20e1c53 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/service/StoreClassServiceImpl.java @@ -0,0 +1,130 @@ +package org.goshop.store.service; + +import com.github.pagehelper.PageInfo; +import org.goshop.common.exception.MapperException; +import org.goshop.common.exception.PageException; +import org.goshop.common.utils.PageUtils; +import org.goshop.store.i.StoreClassService; +import org.goshop.store.mapper.master.StoreClassMapper; +import org.goshop.store.pojo.StoreClass; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import java.util.List; + +@Service("storeClassService") +public class StoreClassServiceImpl implements StoreClassService { + + @Autowired + StoreClassMapper storeClassMapper; + + @Override + public List findAllOrderBySort() { + return storeClassMapper.findAllOrderBySort(); + } + + @Override + public int save(StoreClass storeClass) { + Assert.hasText(storeClass.getName(),"分类名称不能为空!"); + if(!checkByNameParentId(storeClass.getName(), storeClass.getParentId())){ + throw new PageException("分类名称已经存在!"); + } + return storeClassMapper.insert(storeClass); + } + + @Override + public boolean checkByNameParentId(String name,Long parentId) { + int count = storeClassMapper.findCountByNameParentId(name,parentId); + if(count>0) { + return false; + } + return true; + } + + @Override + public PageInfo findTreePageByParentId(Integer curPage,Integer pageSize,Long parentId) { + PageUtils.startPage(curPage,pageSize); + //2、查询结果 + List list=storeClassMapper.findTreeByParentId(parentId); + //3、取分页后结果 + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } + + @Override + public StoreClass findOne(Long id) { + return storeClassMapper.selectByPrimaryKey(id); + } + + @Override + public boolean checkByIdNameParentId(Long id, String name, Long parentId) { + List list = storeClassMapper.findByNameParentId(name,parentId); + if(list.size()>1){ + throw new MapperException("数据异常"); + }else if(list.size()==1){ + if(id==null){ + return false; + }else if(list.get(0).getId()!=id){ + return false; + } + } + return true; + } + + @Override + public int update(StoreClass storeClass) { + Assert.hasText(storeClass.getName(),"分类名称不能为空!"); + Assert.notNull(storeClass.getId(),"没有修改id!"); + if(!checkByIdNameParentId(storeClass.getId(),storeClass.getName(), storeClass.getParentId())){ + throw new PageException("分类名称已经存在!"); + } + return storeClassMapper.updateByPrimaryKeySelective(storeClass); + } + + @Override + public int updateSort(Long id, String value) { + Assert.notNull(id,"id不能为空!"); + Assert.hasText(value,"排序值不能为空!"); + return storeClassMapper.updateSort(id,Integer.valueOf(value)); + } + + @Override + public int updateName(Long id, String value) { + Assert.notNull(id,"id不能为空!"); + Assert.hasText(value,"名称不能为空!"); + return storeClassMapper.updateName(id,value); + } + + @Override + public List findByParentId(Long parentId) { + return storeClassMapper.findByParentId(parentId); + } + + @Override + public int delete(Long id) { + return storeClassMapper.deleteByPrimaryKey(id); + } + + @Override + public void delete(Long[] ids) { + for(Long id:ids){ + this.delete(id); + } + } + + @Override + public List findTreeByParentId(Long parentId) { + return storeClassMapper.findTreeByParentId(parentId); + } + + @Override + public PageInfo findGradeByParentId(Integer curPage, Integer pageSize, Long parentId) { + PageUtils.startPage(curPage,pageSize); + //2、查询结果 + List list=storeClassMapper.findGradeByParentId(parentId); + //3、取分页后结果 + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } +} diff --git a/goshop-service-store/src/main/java/org/goshop/store/service/StoreGoodsClassServiceImpl.java b/goshop-service-store/src/main/java/org/goshop/store/service/StoreGoodsClassServiceImpl.java new file mode 100644 index 0000000..e7d3743 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/service/StoreGoodsClassServiceImpl.java @@ -0,0 +1,20 @@ +package org.goshop.store.service; + +import org.goshop.store.i.StoreGoodsClassService; +import org.goshop.store.mapper.master.StoreGoodsClassMapper; +import org.goshop.store.pojo.StoreGoodsClass; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service("storeGoodsClassService") +public class StoreGoodsClassServiceImpl implements StoreGoodsClassService { + @Autowired + StoreGoodsClassMapper storeGoodsClassMapper; + + @Override + public List findByStcParentId(Integer parentId) { + return storeGoodsClassMapper.findByStcParentId(parentId); + } +} diff --git a/goshop-service-store/src/main/java/org/goshop/store/service/StoreGradeServiceImpl.java b/goshop-service-store/src/main/java/org/goshop/store/service/StoreGradeServiceImpl.java new file mode 100644 index 0000000..e944bb2 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/service/StoreGradeServiceImpl.java @@ -0,0 +1,100 @@ +package org.goshop.store.service; + +import com.github.pagehelper.PageInfo; +import org.goshop.common.exception.MapperException; +import org.goshop.common.utils.PageUtils; +import org.goshop.store.i.StoreGradeService; +import org.goshop.store.mapper.master.StoreGradeMapper; +import org.goshop.store.pojo.StoreGrade; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import java.util.List; + +@Service("storeGradeService") +public class StoreGradeServiceImpl implements StoreGradeService { + + @Autowired + StoreGradeMapper storeGradeMapper; + + @Override + public PageInfo findAll(Integer curPage, Integer pageSize) { + PageUtils.startPage(curPage,pageSize); + List list = storeGradeMapper.findAll(); + //3、取分页后结果 + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } + + @Override + public int save(StoreGrade storeGrade) { + Assert.isTrue(checkBySgIdSgName(storeGrade.getSgName(), storeGrade.getSgId()),"名称已经存在!"); + Assert.isTrue(checkBySgIdSgSort(storeGrade.getSgSort(), storeGrade.getSgId()),"等级已经存在!"); + if(storeGrade.getSgId()!=null){ + return storeGradeMapper.updateByPrimaryKeySelective(storeGrade); + } + return storeGradeMapper.insert(storeGrade); + } + + @Override + public StoreGrade findOne(Integer id) { + return storeGradeMapper.selectByPrimaryKey(id); + } + + @Override + public void delete(Integer[] ids) { + for(Integer id:ids) { + storeGradeMapper.deleteByPrimaryKey(id); + } + } + + @Override + public boolean checkBySgIdSgName(String sgName, Integer sgId) { + List list=storeGradeMapper.findBySgName(sgName); + if(list.size()>1){ + throw new MapperException("店铺等级中名称重复数据异常!"); + }else if(list.size()==1){ + if(sgId==null){ + return false; + }else if(list.get(0).getSgId()!=sgId){ + return false; + } + } + return true; + } + + @Override + public boolean checkBySgIdSgSort(Integer sgSort, Integer sgId) { + List list=storeGradeMapper.checkBySgIdSgSort(sgSort); + if(list.size()>1){ + throw new MapperException("店铺等级中等级重复数据异常!"); + }else if(list.size()==1){ + if(sgId==null){ + return false; + }else if(list.get(0).getSgId()!=sgId){ + return false; + } + } + return true; + } + + @Override + public void delete(Integer id) { + storeGradeMapper.deleteByPrimaryKey(id); + } + + @Override + public PageInfo findBySgName(String sgName, Integer curPage, Integer pageSize) { + PageUtils.startPage(curPage,pageSize); + List list = storeGradeMapper.findByLikeSgName(sgName); + //3、取分页后结果 + PageInfo pageInfo = new PageInfo<>(list); + return pageInfo; + } + + @Override + public List findAll() { + return storeGradeMapper.findAll(); + } +} diff --git a/goshop-service-store/src/main/java/org/goshop/store/service/StoreJoinServiceImpl.java b/goshop-service-store/src/main/java/org/goshop/store/service/StoreJoinServiceImpl.java new file mode 100644 index 0000000..f6be06d --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/service/StoreJoinServiceImpl.java @@ -0,0 +1,224 @@ +package org.goshop.store.service; + +import com.github.pagehelper.PageInfo; +import org.goshop.common.exception.MapperException; +import org.goshop.common.exception.PageException; +import org.goshop.common.utils.PageUtils; +import org.goshop.common.web.utils.JsonUtils; +import org.goshop.goods.i.GoodsClassService; +import org.goshop.goods.pojo.GoodsClass; +import org.goshop.store.i.StoreClassService; +import org.goshop.store.i.StoreGradeService; +import org.goshop.store.i.StoreService; +import org.goshop.store.mapper.master.StoreJoinMapper; +import org.goshop.store.model.JsonManagement; +import org.goshop.store.model.JsonManagementClass; +import org.goshop.store.pojo.*; +import org.goshop.store.model.StoreInfoModel; +import org.goshop.store.i.StoreJoinService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.goshop.users.pojo.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.Assert; + +import java.util.ArrayList; +import java.util.List; + +@Service("storeJoinService") +public class StoreJoinServiceImpl implements StoreJoinService { + + protected final Log logger = LogFactory.getLog(this.getClass()); + + private static final String verify_type_fail="fail"; + + private static final String verify_type_pass="pass"; + + + @Autowired + StoreJoinMapper storeJoinMapper; + + @Autowired + StoreClassService storeClassService; + + @Autowired + StoreGradeService storeGradeService; + + @Autowired + GoodsClassService goodsClassService; + + @Autowired + StoreService storeService; + + @Override + public void applySeller(User user, StoreJoin storeJoin) { + StoreJoin userStoreJoin = this.getCurrentUserStoreJoin(user.getId()); + storeJoin.setMemberId(user.getId()); + if (userStoreJoin == null) { + storeJoin.setMemberName(user.getLoginName()); + storeJoinMapper.insert(storeJoin); + } else { + storeJoinMapper.updateByPrimaryKeySelective(storeJoin); + } + } + + @Override + public StoreInfoModel applySellerThree(User user, StoreJoin storeJoin) { + StoreJoin userStoreJoin = getCurrentUserStoreJoin(user.getId()); + Assert.notNull(userStoreJoin, "请先执行第一步!"); + storeJoin.setMemberId(user.getId()); + storeJoinMapper.updateByPrimaryKeySelective(storeJoin); + //店铺分类 + List storeClassParentList = storeClassService.findTreeByParentId(null); + //店铺等级 + List storeGradeList = storeGradeService.findAll(); + //经营类目 + List goodsClassParentList = goodsClassService.findByGcParentId(0); + + StoreInfoModel storeInfoModel = new StoreInfoModel(); + storeInfoModel.setStoreClassParentList(storeClassParentList); + storeInfoModel.setStoreGradeList(storeGradeList); + storeInfoModel.setGoodsClassParentList(goodsClassParentList); + return storeInfoModel; + } + + @Override + public boolean verificationSellerName(String sellerName,Long userId) { + List list=storeJoinMapper.findBySellerName(sellerName); + if(list.size()>1){ + throw new MapperException("数据异常"); + }else if(list.size()==1){ + if(list.get(0).getMemberId()!=userId){ + return false; + } + } + return true; + } + + @Override + public boolean verificationStoreName(String storeName,Long userId) { + List list=storeJoinMapper.findByStoreName(storeName); + if(list.size()>1){ + throw new MapperException("数据异常"); + }else if(list.size()==1){ + if(list.get(0).getMemberId()!=userId){ + return false; + } + } + return true; + } + + @Override + public StoreJoin save(User user,StoreJoin storeJoin, String[] ids, String[] names) { + StoreJoin userStoreJoin = getCurrentUserStoreJoin(user.getId()); + Assert.notNull(userStoreJoin, "请先执行第一步!"); + Assert.isTrue(ids.length == names.length, "经营类目,数据异常!"); + storeJoin.setMemberId(user.getId()); + + List jsonManagementList = new ArrayList<>(); + + + for (int i = 0; i < ids.length; i++) { + JsonManagement jm = new JsonManagement(); + + String[] idArray = ids[i].split(","); + String[] nameArray = names[i].split(","); + if (ids.length == 4 && idArray.length == 1) { + List JsonManagementClassList = new ArrayList<>(); + for (int y = 0; y < 3; y++) { + try { + JsonManagementClass jsonManagementClass = new JsonManagementClass(); + jsonManagementClass.setId(ids[y]); + jsonManagementClass.setName(names[y]); + JsonManagementClassList.add(jsonManagementClass); + } catch (Exception e) { + e.printStackTrace(); + } + } + jm.setJmcs(JsonManagementClassList); + jsonManagementList.add(jm); + break; + } else { + List JsonManagementClassList = new ArrayList<>(); + for (int y = 0; y < idArray.length; y++) { + try { + JsonManagementClass jsonManagementClass = new JsonManagementClass(); + jsonManagementClass.setId(idArray[y]); + jsonManagementClass.setName(nameArray[y]); + JsonManagementClassList.add(jsonManagementClass); + } catch (Exception e) { + e.printStackTrace(); + } + } + jm.setJmcs(JsonManagementClassList); + jsonManagementList.add(jm); + } + } + storeJoin.setStoreClassIds(JsonUtils.objectToJson(jsonManagementList)); + storeJoin.setJoininState(StoreJoinMapper.JOIN_STATIC_APPLY); + storeJoinMapper.updateByPrimaryKeySelective(storeJoin); + return storeJoinMapper.selectByPrimaryKey(user.getId()); + } + + @Override + public Store getCurrentStore(User user) { + return storeService.findByMemberId(user.getId()); + } + + @Override + public StoreJoin getCurrentUserStoreJoin(User user) { + return storeJoinMapper.selectByPrimaryKey(user.getId()); + } + + @Override + public int paySave(StoreJoin storeJoin) { + storeJoin.setJoininState(storeJoinMapper.JOIN_STATIC_PAY); + return storeJoinMapper.updateByPrimaryKey(storeJoin); + } + + private StoreJoin getCurrentUserStoreJoin(Long userId) { + return storeJoinMapper.selectByPrimaryKey(userId); + } + + @Override + public PageInfo findAll(Integer curPage, Integer pageSize) { + PageUtils.startPage(curPage,pageSize); + List list = storeJoinMapper.findAll(); + return new PageInfo<>(list); + } + + @Override + public StoreJoin find(Long memberId) { + return storeJoinMapper.selectByPrimaryKey(memberId); + } + + @Override + public void saveVerify(Long memberId, String verify_type, String join_message, String[] commis_rate) { + StoreJoin storeJoin= storeJoinMapper.selectByPrimaryKey(memberId); + storeJoin.setJoininMessage(join_message); + boolean isStore = false; + if(storeJoin.getJoininState().equals(storeJoinMapper.JOIN_STATIC_APPLY)) { + if (verify_type_pass.equals(verify_type)) { + storeJoin.setJoininState(storeJoinMapper.JOIN_STATIC_EXMINE_YES); + } else { + storeJoin.setJoininState(storeJoinMapper.JOIN_STATIC_EXMINE_NO); + } + }else{ + if (verify_type_pass.equals(verify_type)) { + storeJoin.setJoininState(storeJoinMapper.JOIN_STATIC_YES); + isStore=true; + } else { + storeJoin.setJoininState(storeJoinMapper.JOIN_STATIC_PAY_NO); + } + } + storeJoinMapper.updateByPrimaryKey(storeJoin); + if(isStore){ + try { + storeService.openStore(storeJoin); + }catch (Exception e){ + throw new PageException("开店失败"); + } + } + } +} diff --git a/goshop-service-store/src/main/java/org/goshop/store/service/StoreServiceImpl.java b/goshop-service-store/src/main/java/org/goshop/store/service/StoreServiceImpl.java new file mode 100644 index 0000000..2d5d246 --- /dev/null +++ b/goshop-service-store/src/main/java/org/goshop/store/service/StoreServiceImpl.java @@ -0,0 +1,104 @@ +package org.goshop.store.service; + +import com.github.pagehelper.PageInfo; +import org.goshop.common.utils.PageUtils; +import org.goshop.store.i.StoreService; +import org.goshop.store.mapper.master.StoreMapper; +import org.goshop.store.pojo.Store; +import org.goshop.store.pojo.StoreJoin; +import org.goshop.store.pojo.StoreWithBLOBs; +import org.goshop.users.pojo.User; +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("storeService") +public class StoreServiceImpl implements StoreService { + + @Autowired + StoreMapper storeMapper; + + @Override + public PageInfo findAll(Integer curPage, Integer pageSize) { + PageUtils.startPage(curPage,pageSize); + List list=storeMapper.findAll(); + return new PageInfo<>(list); + } + + @Override + public int openStore(StoreJoin storeJoin) { + StoreWithBLOBs store = new StoreWithBLOBs(); + store.setStoreName(storeJoin.getStoreName()); + store.setGradeId(storeJoin.getSgId()); + store.setMemberName(storeJoin.getMemberName()); + store.setMemberId(storeJoin.getMemberId()); + store.setSellerName(storeJoin.getSellerName()); + store.setScId(storeJoin.getScId()); + store.setStoreCompanyName(storeJoin.getCompanyName()); + store.setStoreAddress(storeJoin.getCompanyAddressDetail()); + store.setStoreTel(storeJoin.getContactsPhone()); + store.setStoreImage1(storeJoin.getBusinessLicenceNumberElectronic()); + store.setStoreState(1); + store.setStoreTime(new Date()); + return this.save(store); + } + + @Override + public int save(StoreWithBLOBs store) { + return storeMapper.insertSelective(store); + } + + @Override + public Store getCurrentStore(User user) { + return storeMapper.findByMemberId(user.getId()); + } + + @Override + public PageInfo find(Integer gradeId, String sellerName, String storeType, String storeName, Integer curPage, Integer pageSize) { + + //店铺状态 + Integer storeState =null; + //是否即将过期 + Boolean isExpire=null; + //是否过期 + Boolean isExpired=null; + + if(StringUtils.hasText(storeType)) { + switch (storeType) { + case "open": + storeState = 1; + break; + case "close": + storeState = 0; + break; + case "expire": + isExpire = true; + break; + case "expired": + isExpired = true; + break; + } + } + PageUtils.startPage(curPage,pageSize); + List list=storeMapper.find(gradeId,sellerName,storeName,storeState,isExpire,isExpired); + return new PageInfo<>(list); + } + + @Override + public Store findOne(Integer storeId) { + return storeMapper.selectByPrimaryKey(storeId); + } + + @Override + public void update(StoreWithBLOBs store) { + storeMapper.updateByPrimaryKeySelective(store); + } + + @Override + public Store findByMemberId(Long userId) { + return storeMapper.findByMemberId(userId); + } +} diff --git a/goshop-service-store/src/main/resources/log4j.properties b/goshop-service-store/src/main/resources/log4j.properties new file mode 100644 index 0000000..95321ed --- /dev/null +++ b/goshop-service-store/src/main/resources/log4j.properties @@ -0,0 +1,27 @@ +#开发日志将在本地输出,并输出SQL + +log4j.rootLogger=${log4j.leve},A1,DRF +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +# log4j.appender.A1.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n +log4j.appender.A1.layout.ConversionPattern=%d %5p [%F:%L] : %m%n + +log4j.appender.DRF=org.apache.log4j.DailyRollingFileAppender +log4j.appender.DRF.Threshold=${log4j.leve} +log4j.appender.DRF.DatePattern='.'yyyy-MM-dd +log4j.appender.DRF.File=logs/goshop-service-cms.log +log4j.appender.DRF.Append=true +log4j.appender.DRF.layout=org.apache.log4j.PatternLayout +log4j.appender.DRF.layout.ConversionPattern=[%-5p][%d{yyyyMMdd HH:mm:ss,SSS}][%C{1}:%L] %m%n + + +###输出SQL +log4j.logger.com.ibatis=${log4j.ale} +log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=${log4j.ale} +log4j.logger.com.ibatis.common.jdbc.ScriptRunner=${log4j.leve} +log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=${log4j.ale} +log4j.logger.java.sql.Connection=${log4j.ale} +log4j.logger.java.sql.Statement=${log4j.ale} +log4j.logger.java.sql.PreparedStatement=${log4j.ale} +org.springframework = ${log4j.ale} +org.apache.zookeeper = ${log4j.ale} diff --git a/goshop-service-store/src/main/resources/mybatis/SqlMapConfig.xml b/goshop-service-store/src/main/resources/mybatis/SqlMapConfig.xml new file mode 100644 index 0000000..b725d2f --- /dev/null +++ b/goshop-service-store/src/main/resources/mybatis/SqlMapConfig.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/resources/resource/db.properties b/goshop-service-store/src/main/resources/resource/db.properties new file mode 100644 index 0000000..37307f6 --- /dev/null +++ b/goshop-service-store/src/main/resources/resource/db.properties @@ -0,0 +1,11 @@ +# ⣬Ҫд +master.jdbc.url=jdbc:mysql://127.0.0.1:3306/goshop_st?characterEncoding=utf-8 +master.jdbc.username=root +master.jdbc.password=root +master.jdbc.driver=com.mysql.jdbc.Driver + +# ӿ⣬ֻ +read.jdbc.url=jdbc:mysql://127.0.0.1:3306/goshop_cms?characterEncoding=utf-8 +read.jdbc.username=root +read.jdbc.password=root +read.jdbc.driver=com.mysql.jdbc.Driver \ No newline at end of file diff --git a/goshop-service-store/src/main/resources/spring/applicationContext-dao.xml b/goshop-service-store/src/main/resources/spring/applicationContext-dao.xml new file mode 100644 index 0000000..cf8298f --- /dev/null +++ b/goshop-service-store/src/main/resources/spring/applicationContext-dao.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/resources/spring/applicationContext-dubbo-provider.xml b/goshop-service-store/src/main/resources/spring/applicationContext-dubbo-provider.xml new file mode 100644 index 0000000..5974725 --- /dev/null +++ b/goshop-service-store/src/main/resources/spring/applicationContext-dubbo-provider.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/resources/spring/applicationContext-jedis.xml b/goshop-service-store/src/main/resources/spring/applicationContext-jedis.xml new file mode 100644 index 0000000..f03dbff --- /dev/null +++ b/goshop-service-store/src/main/resources/spring/applicationContext-jedis.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/resources/spring/applicationContext-shiro.xml b/goshop-service-store/src/main/resources/spring/applicationContext-shiro.xml new file mode 100644 index 0000000..ca4a576 --- /dev/null +++ b/goshop-service-store/src/main/resources/spring/applicationContext-shiro.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-store/src/main/resources/spring/spring-context.xml b/goshop-service-store/src/main/resources/spring/spring-context.xml new file mode 100644 index 0000000..82eed77 --- /dev/null +++ b/goshop-service-store/src/main/resources/spring/spring-context.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-users/goshop-service-users.iml b/goshop-service-users/goshop-service-users.iml index 93f2d06..e88ebab 100644 --- a/goshop-service-users/goshop-service-users.iml +++ b/goshop-service-users/goshop-service-users.iml @@ -15,6 +15,8 @@ + + @@ -30,9 +32,9 @@ + + - - @@ -40,6 +42,7 @@ + diff --git a/goshop-service-users/pom.xml b/goshop-service-users/pom.xml index 7ef36f6..3e245ec 100644 --- a/goshop-service-users/pom.xml +++ b/goshop-service-users/pom.xml @@ -28,6 +28,10 @@ org.goshop goshop-common-shiro + + org.goshop + goshop-facade-email + @@ -99,7 +103,6 @@ javax.servlet javax.servlet-api - 3.0.1 provided diff --git a/goshop-service-users/src/main/java/org/goshop/users/mapper/master/FindPasswordMapper.java b/goshop-service-users/src/main/java/org/goshop/users/mapper/master/FindPasswordMapper.java new file mode 100644 index 0000000..391bf29 --- /dev/null +++ b/goshop-service-users/src/main/java/org/goshop/users/mapper/master/FindPasswordMapper.java @@ -0,0 +1,28 @@ +package org.goshop.users.mapper.master; + +import org.goshop.users.pojo.FindPassword; + +public interface FindPasswordMapper { + int insert(FindPassword record); + + int insertSelective(FindPassword record); + + /** + * 删除过期 + */ + void deleteInvalid(); + + /** + * 通过编码查找用户名 + * @param key + * @return + */ + String findByKey(String key); + + /** + * 删除此链接 + * @param key + * @return + */ + int delete(String key); +} \ No newline at end of file diff --git a/goshop-service-users/src/main/java/org/goshop/users/mapper/master/FindPasswordMapper.xml b/goshop-service-users/src/main/java/org/goshop/users/mapper/master/FindPasswordMapper.xml new file mode 100644 index 0000000..b42e856 --- /dev/null +++ b/goshop-service-users/src/main/java/org/goshop/users/mapper/master/FindPasswordMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + insert into gs_find_password (login_name, created, random + ) + values (#{loginName,jdbcType=VARCHAR}, #{created,jdbcType=DATE}, #{random,jdbcType=VARCHAR} + ) + + + insert into gs_find_password + + + login_name, + + + created, + + + random, + + + + + #{loginName,jdbcType=VARCHAR}, + + + #{created,jdbcType=DATE}, + + + #{random,jdbcType=VARCHAR}, + + + + + delete from gs_find_password where NOW() - interval 1 day >= created; + + + + delete from gs_find_password where random=#{random,jdbcType=VARCHAR}; + + + + \ No newline at end of file diff --git a/goshop-service-users/src/main/java/org/goshop/users/mapper/read/ReadFindPasswordMapper.java b/goshop-service-users/src/main/java/org/goshop/users/mapper/read/ReadFindPasswordMapper.java new file mode 100644 index 0000000..ca81ec1 --- /dev/null +++ b/goshop-service-users/src/main/java/org/goshop/users/mapper/read/ReadFindPasswordMapper.java @@ -0,0 +1,28 @@ +package org.goshop.users.mapper.read; + +import org.goshop.users.pojo.FindPassword; + +public interface ReadFindPasswordMapper { + int insert(FindPassword record); + + int insertSelective(FindPassword record); + + /** + * 删除过期 + */ + void deleteInvalid(); + + /** + * 通过编码查找用户名 + * @param key + * @return + */ + String findByKey(String key); + + /** + * 删除此链接 + * @param key + * @return + */ + int delete(String key); +} \ No newline at end of file diff --git a/goshop-service-users/src/main/java/org/goshop/users/mapper/read/ReadFindPasswordMapper.xml b/goshop-service-users/src/main/java/org/goshop/users/mapper/read/ReadFindPasswordMapper.xml new file mode 100644 index 0000000..4180d7e --- /dev/null +++ b/goshop-service-users/src/main/java/org/goshop/users/mapper/read/ReadFindPasswordMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + insert into gs_find_password (login_name, created, random + ) + values (#{loginName,jdbcType=VARCHAR}, #{created,jdbcType=DATE}, #{random,jdbcType=VARCHAR} + ) + + + insert into gs_find_password + + + login_name, + + + created, + + + random, + + + + + #{loginName,jdbcType=VARCHAR}, + + + #{created,jdbcType=DATE}, + + + #{random,jdbcType=VARCHAR}, + + + + + delete from gs_find_password where NOW() - interval 1 day >= created; + + + + delete from gs_find_password where random=#{random,jdbcType=VARCHAR}; + + + + \ No newline at end of file diff --git a/goshop-service-users/src/main/java/org/goshop/users/service/FindPasswordEMailServiceImpl.java b/goshop-service-users/src/main/java/org/goshop/users/service/FindPasswordEMailServiceImpl.java new file mode 100644 index 0000000..2b2fd23 --- /dev/null +++ b/goshop-service-users/src/main/java/org/goshop/users/service/FindPasswordEMailServiceImpl.java @@ -0,0 +1,67 @@ +package org.goshop.users.service; + +import org.goshop.common.utils.RandomUtils; +import org.goshop.users.mapper.master.FindPasswordMapper; +import org.goshop.users.pojo.FindPassword; +import org.goshop.users.i.FindPasswordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.sql.Timestamp; +import java.text.MessageFormat; + +@Service +public class FindPasswordEMailServiceImpl implements FindPasswordService { + + @Value("${EMAIL_ADDRESS}") + private String eMailAddress; + + @Value("${SHOP_URL}") + private String shopUrl; + + @Autowired + FindPasswordMapper findPasswordMapper; + + private static String content = "" + + "
" + + "" + + "
{0}�����ã�
�����Ϊ�����������������Ҫ��ɴ˹��̣���㰴�������ӡ�
" + + "�븴�����������޸����룺{1}
�����δ��������󣬿����������û����������������ĵ����ʼ���ַ�������ʻ���Ȼ��ȫ�������������δ����Ȩ����Ա�����������ʻ�����Ӧ����ǰ�������ʻ�ҳ��, �����������롣
����
֧��
"; + + + @Override + public String getContent(String username) { + String key = RandomUtils.generateString(28); + this.saveFindPassword(username,key); + String url =shopUrl+"/password/update.html?key="+key; + return MessageFormat.format(content, username, url); + } + + @Override + public int saveFindPassword(String username, String key) { + //ɾ�������޸��������� + findPasswordMapper.deleteInvalid(); + //���浱ǰkey + FindPassword findPassword = new FindPassword(); + findPassword.setCreated(new Timestamp(System.currentTimeMillis())); + findPassword.setRandom(key); + findPassword.setLoginName(username); + return findPasswordMapper.insert(findPassword); + } + + @Override + public void deleteInvalid(){ + findPasswordMapper.deleteInvalid(); + } + + @Override + public String findByKey(String key) { + return findPasswordMapper.findByKey(key); + } + + @Override + public void delete(String key) { + findPasswordMapper.delete(key); + } +} diff --git a/goshop-service-users/src/main/java/org/goshop/users/service/MemberServiceImpl.java b/goshop-service-users/src/main/java/org/goshop/users/service/MemberServiceImpl.java index ff0a1bf..82660b2 100644 --- a/goshop-service-users/src/main/java/org/goshop/users/service/MemberServiceImpl.java +++ b/goshop-service-users/src/main/java/org/goshop/users/service/MemberServiceImpl.java @@ -3,7 +3,12 @@ import com.github.pagehelper.PageInfo; import org.goshop.common.exception.MapperException; import org.goshop.common.utils.PageUtils; +import org.goshop.common.utils.RandomUtils; +import org.goshop.common.utils.RegexValidateUtil; +import org.goshop.email.i.EMailService; +import org.goshop.shiro.service.PasswordService; import org.goshop.users.i.AdminService; +import org.goshop.users.i.FindPasswordService; import org.goshop.users.i.MemberService; import org.goshop.users.i.UserService; import org.goshop.users.mapper.master.MemberMapper; @@ -11,8 +16,11 @@ import org.goshop.users.pojo.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.Assert; import org.springframework.util.StringUtils; +import java.math.BigDecimal; +import java.sql.Timestamp; import java.util.List; @Service("memberService") @@ -27,6 +35,15 @@ public class MemberServiceImpl implements MemberService { @Autowired AdminService adminService; + @Autowired + FindPasswordService findPasswordService; + + @Autowired + EMailService eMailService; + + @Autowired + PasswordService passwordService; + @Override public PageInfo findAll(Integer curPage, Integer pageSize) { PageUtils.startPage(curPage,pageSize); @@ -148,4 +165,151 @@ public PageInfo query(String searchFieldName, String searchFieldValue, S List list = memberMapper.query(loginName, memberEmail, memberTruename, informAllow, isBuy, isAllowtalk, memberState, sort); return new PageInfo<>(list); } + + @Override + public Boolean checkLoginNameByEmail(String loginName, String email) { + int count=memberMapper.checkLoginNameByEmail(loginName, email); + if(count>0){ + return false; + } + return true; + } + + @Override + public void sendEmailFindPassword(String username, String email) { + String emailContent = findPasswordService.getContent(username); + eMailService.send(email,"找回密码",emailContent); + } + + + @Override + public void updatePassword(String key, String password) throws Exception { + findPasswordService.deleteInvalid(); + String loginName=findPasswordService.findByKey(key); + if(StringUtils.hasText(loginName)){ + User user=userService.findByLoginName(loginName); + user.setPassword(password); + userService.updateByPrimaryKey(passWordUser(user)); + findPasswordService.delete(key); + }else{ + throw new Exception("此链接已过期!"); + } + + } + + @Override + public void updatePassword(Long userId, String password) throws Exception { + User user=userService.selectByPrimaryKey(userId); + user.setPassword(password); + userService.updateByPrimaryKey(passWordUser(user)); + } + /** + * 将密码加密 + * @param user + * @return + */ + private User passWordUser(User user){ + + if(StringUtils.hasText(user.getPassword())){ + String salt= RandomUtils.generateString(5); + user.setPassword(passwordService.encryptPassword(user.getPassword(),salt)); + user.setSalt(salt); + } + return user; + } + + @Override + public Member findUserByUserId(Long userId) { + return memberMapper.findUserByUserId(userId); + } + + @Override + public int updateByUserId(Member member) { + return memberMapper.updateByUserId(member); + } + + @Override + public Boolean checkPassword(Long userId, String password) { + User user=userService.selectByPrimaryKey(userId); + Assert.notNull(user,"没有此用户!"); + String ciphertext=passwordService.encryptPassword(password,user.getSalt()); + if(ciphertext.equals(user.getPassword())){ + return true; + } + return false; + } + + @Override + public int updateEmail(Long userId, String email) { + if(checkEmail(email)) { + return memberMapper.updateEmail(userId,email); + }else{ + throw new MapperException("邮件已被使用!"); + } + } + + @Override + public Boolean checkEmail(String memberEmail) { + int count=memberMapper.findByMemberEmailCount(memberEmail); + if(count>0){ + return false; + } + return true; + } + + @Override + public int saveAvatar(Long userId, String memberAvatar) { + return memberMapper.saveAvatar(userId,memberAvatar); + } + + @Override + public int saveMember(Member member,User user) { + //判断用户名是否符合规范 + Assert.isTrue(RegexValidateUtil.checkLoginUser(user.getLoginName())==false,"登录名不能为空,并且在字母开头2~9为数字或字母的组合!"); + //判断登录名是否重复 + Assert.isTrue(this.checkLoginName(user.getLoginName()), "登录名已经存在!"); + //判断邮件是否符合规范 + Assert.isTrue(RegexValidateUtil.checkEmail(member.getMemberEmail()),"邮件填写错误!"); + //判断邮件是否重复 + Assert.isTrue(this.checkEmail(member.getMemberEmail()), "此邮件已经注册!"); + //验证密码格式 + Assert.isTrue(RegexValidateUtil.checkPassword(user.getPassword()), "以字母开头,长度在6~18之间,只能包含字符、数字和下划线!"); + //密码加密、设置盐值 + user=this.passWordUser(user); + user=this.setDefaultUser(user); + userService.insert(user); + member=this.setDefaultMember(member,user.getId()); + return memberMapper.insert(member); + + } + + public User setDefaultUser(User user) { + user.setUpcreated(new Timestamp(System.currentTimeMillis())); + user.setCreated(new Timestamp(System.currentTimeMillis())); + user.setType(1); + user.setEnable(1); + return user; + } + + public Member setDefaultMember(Member member,Long userId) { + member.setUserId(userId); + member.setMemberTime(new Timestamp(System.currentTimeMillis())); + //是否允许举报(1可以/2不可以) + member.setInformAllow(1); + //会员是否有购买权限 1为开启 0为关闭 + member.setIsBuy(1); + //会员是否有咨询和发送站内信的权限 1为开启 0为关闭 + member.setIsAllowtalk(1); + //会员的开启状态 1为开启 0为关闭 + member.setMemberState(1); + //会员积分 + member.setMemberPoints(0); + //预存款可用金额 + member.setAvailablePredeposit(new BigDecimal(0)); + //预存款冻结金额 + member.setFreezePredeposit(new BigDecimal(0)); + //会员信用 + member.setMemberCredit(0); + return member; + } } diff --git a/goshop-service-users/src/main/java/org/goshop/users/service/UserServiceImpl.java b/goshop-service-users/src/main/java/org/goshop/users/service/UserServiceImpl.java index 4f4179e..7734518 100644 --- a/goshop-service-users/src/main/java/org/goshop/users/service/UserServiceImpl.java +++ b/goshop-service-users/src/main/java/org/goshop/users/service/UserServiceImpl.java @@ -81,6 +81,21 @@ public List findByRole(Long userId) { return readUserMapper.findByRole(userId); } + @Override + public int updateByPrimaryKey(User user) { + return userMapper.updateByPrimaryKey(user); + } + + @Override + public User selectByPrimaryKey(Long userId) { + return readUserMapper.selectByPrimaryKey(userId); + } + + @Override + public int insert(User user) { + return userMapper.insert(user); + } + /** * 将密码加密 diff --git a/goshop-service-users/src/main/resources/dubbo/dubbo-consumer.xml b/goshop-service-users/src/main/resources/dubbo/dubbo-consumer.xml new file mode 100644 index 0000000..bff0235 --- /dev/null +++ b/goshop-service-users/src/main/resources/dubbo/dubbo-consumer.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-service-users/src/main/resources/dubbo/dubbo-reference-email.xml b/goshop-service-users/src/main/resources/dubbo/dubbo-reference-email.xml new file mode 100644 index 0000000..59ea2fe --- /dev/null +++ b/goshop-service-users/src/main/resources/dubbo/dubbo-reference-email.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/goshop-service-users/src/main/resources/spring/spring-context.xml b/goshop-service-users/src/main/resources/spring/spring-context.xml index 434e240..7d98d16 100644 --- a/goshop-service-users/src/main/resources/spring/spring-context.xml +++ b/goshop-service-users/src/main/resources/spring/spring-context.xml @@ -19,5 +19,6 @@ + \ No newline at end of file diff --git a/goshop-web-manager/goshop-web-manager.iml b/goshop-web-manager/goshop-web-manager.iml index 1c3a214..3655b0b 100644 --- a/goshop-web-manager/goshop-web-manager.iml +++ b/goshop-web-manager/goshop-web-manager.iml @@ -24,6 +24,8 @@ + + @@ -33,8 +35,6 @@ - - diff --git a/goshop-web-portal/pom.xml b/goshop-web-portal/pom.xml new file mode 100644 index 0000000..8e68c80 --- /dev/null +++ b/goshop-web-portal/pom.xml @@ -0,0 +1,124 @@ + + + ghosp-parent + org.goshop + 2.0-SNAPSHOT + + 4.0.0 + goshop-web-portal + war + + + + + + + org.goshop + goshop-common-config + + + org.goshop + goshop-common-service + + + org.goshop + goshop-common-shiro + + + org.goshop + goshop-common-web + + + org.goshop + goshop-facade-users + + + org.goshop + goshop-facade-cms + + + org.goshop + goshop-facade-store + + + + com.alibaba + dubbo + + + org.apache.zookeeper + zookeeper + + + com.github.sgroschupf + zkclient + + + + + junit + junit + test + + + + org.springframework + spring-context + + + org.springframework + spring-beans + + + org.springframework + spring-webmvc + + + org.springframework + spring-jdbc + + + org.springframework + spring-aspects + + + + + javax.servlet + servlet-api + provided + + + + commons-fileupload + commons-fileupload + + + com.googlecode.rapid-framework + rapid-core + + + commons-lang + commons-lang + + + + + + + + org.apache.maven.plugins + maven-war-plugin + 2.1.1 + + WEB-INF/web.xml + false + + shop + + + + + + diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/controller/AttachmentController.java b/goshop-web-portal/src/main/java/org/goshop/portal/controller/AttachmentController.java new file mode 100644 index 0000000..cca9152 --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/controller/AttachmentController.java @@ -0,0 +1,27 @@ +package org.goshop.portal.controller; + + +import org.goshop.common.attachment.AttachmentService; +import org.goshop.common.web.utils.DownloadUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; + +@Controller +@RequestMapping("/att") +public class AttachmentController { + + @Autowired + AttachmentService attachmentService; + + @RequestMapping + public void download(String path,String inline,String name,HttpServletResponse response) { + //File file=attachmentService.download(path); + //DownloadUtils.download(response, file, inline, name); + attachmentService.download(path,name,response); + } + +} \ No newline at end of file diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/controller/HomeController.java b/goshop-web-portal/src/main/java/org/goshop/portal/controller/HomeController.java new file mode 100644 index 0000000..1cea9de --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/controller/HomeController.java @@ -0,0 +1,18 @@ +package org.goshop.portal.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@RequestMapping(value = "/home") +public class HomeController { + /** + * 打开首页 + */ + @RequestMapping + public String index() { + return "index"; + } + + +} diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/controller/LoginController.java b/goshop-web-portal/src/main/java/org/goshop/portal/controller/LoginController.java new file mode 100644 index 0000000..ed62a1b --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/controller/LoginController.java @@ -0,0 +1,165 @@ +package org.goshop.portal.controller; + +import org.goshop.common.context.ValidationCodeServlet; +import org.goshop.common.web.utils.ResponseMessageUtils; +import org.goshop.common.web.utils.TokenUtils; +import org.goshop.users.i.MemberService; +import org.goshop.shiro.service.ShiroConfig; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.*; +import org.apache.shiro.subject.Subject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@Controller +public class LoginController { + + @Autowired + MemberService memberService; + + @Autowired + ValidationCodeServlet validationCodeServlet; + /** + * 用户登陆 + */ + @RequestMapping("/login") + public String login(Model model,HttpServletRequest request,HttpServletResponse response) { + //如果登陆失败从request中获取认证异常信息,shiroLoginFailure就是shiro异常类的全限定名 + String exceptionClassName = (String) request.getAttribute(ShiroConfig.shiroLoginFailure); + //根据shiro返回的异常类路径判断,抛出指定异常信息 + if(StringUtils.hasText(exceptionClassName)){ + if (UnknownAccountException.class.getName().equals(exceptionClassName)) { + //最终会抛给异常处理器 + model.addAttribute("P_EXCEPTION","账号不存在"); + } else if (IncorrectCredentialsException.class.getName().equals( + exceptionClassName)) { + model.addAttribute("P_EXCEPTION","用户名/密码错误"); + } else if("randomCodeError".equals(exceptionClassName)){ + model.addAttribute("P_EXCEPTION","验证码错误"); + }else if(LockedAccountException.class.getName().equals(exceptionClassName)){ + model.addAttribute("P_EXCEPTION", "账号已被锁定,请与系统管理员联系!"); + }else if(AuthenticationException.class.getName().equals(exceptionClassName)){ + model.addAttribute("P_EXCEPTION", "您没有授权!"); + }else { + model.addAttribute("P_EXCEPTION", "未知异常!"); + } + } + //此方法不处理登陆成功(认证成功),shiro认证成功会自动跳转到上一个请求路径 + //登陆失败还到login页面 + return "login"; + } + + /** + * 用户登陆 + */ + @RequestMapping("/ajax/login") + @ResponseBody + public Object ajaxLogin(String username,String password,boolean rememberMe, + HttpServletRequest request,HttpServletResponse response) { + //根据shiro返回的异常类路径判断,抛出指定异常信息 + String url = request.getContextPath() + "/login.html"; + Subject currentUser = SecurityUtils.getSubject(); + if (!currentUser.isAuthenticated()) { + UsernamePasswordToken token = new UsernamePasswordToken(username, password); + token.setRememberMe(rememberMe); + + try{ + currentUser.login(token); + }catch(UnknownAccountException ex){ + ResponseMessageUtils.xmlCDataOut(response, "账号不存在!", url); + return null; + }catch(IncorrectCredentialsException ex){ + ResponseMessageUtils.xmlCDataOut(response, "密码错误!", url); + return null; + }catch(LockedAccountException ex){ + ResponseMessageUtils.xmlCDataOut(response, "账号已被锁定,请与系统管理员联系!", url); + return null; + }catch(AuthenticationException ex){ + ResponseMessageUtils.xmlCDataOut(response, "您没有授权!", url); + return null; + } + } + ResponseMessageUtils.xmlCDataOut(response, "登录成功!", request.getContextPath() + "/home.html"); + //返回json数据 + return null; + } + + /** + * 拒绝访问 + * @return + */ + @RequestMapping("refuse") + public String refuse(){ + return "refuse"; + } + + @RequestMapping("forget_password") + public String forgetPassword(HttpServletRequest request){ + TokenUtils.getInstance().saveToken(request); + return "forget_password"; + } + + @RequestMapping("/find_password") + @ResponseBody + public Object findPassword(String username, + String email, + HttpServletRequest request, + HttpServletResponse response) { + String url = request.getContextPath() + "/forget_password.html"; + if (!TokenUtils.getInstance().verifyToken(request)) { + ResponseMessageUtils.xmlCDataOut(response, "你已提交了用户数据!", url); + }else if (!validationCodeServlet.isCaptcha(request)) { + ResponseMessageUtils.xmlCDataOut(response, "验证码错误!", url); + }else if(memberService.checkLoginName(username)){ + ResponseMessageUtils.xmlCDataOut(response, "系统没有此用户!", url); + }else if(memberService.checkLoginNameByEmail(username,email)){ + ResponseMessageUtils.xmlCDataOut(response, "该用户没有注册此电子邮件!", url); + }else { + try { + memberService.sendEmailFindPassword(username, email); + }catch (Exception e){ + ResponseMessageUtils.xmlCDataOut(response, "邮件发送失败,请联系管理员!", url); + } + ResponseMessageUtils.xmlCDataOut(response, "邮件发送成功!", request.getContextPath() + "/login.html"); + } + return null; + } + + @RequestMapping(value="/password/update",method = RequestMethod.GET) + public String passwordUpdatePage(String key,Model model,HttpServletRequest request){ + TokenUtils.getInstance().saveToken(request); + model.addAttribute("P_KEY",key); + return "password_update"; + } + + @RequestMapping(value="/password/update" ,method = RequestMethod.POST) + @ResponseBody + public String passwordUpdate(String key, + String password, + String password_confirm, + HttpServletRequest request,HttpServletResponse response){ + TokenUtils.getInstance().saveToken(request); + String url = request.getContextPath() + "/password/update.html?key="+key; + if(!password.equals(password_confirm)){ + ResponseMessageUtils.xmlCDataOut(response, "两次密码输入不一样,请检查!", url); + } + if (!validationCodeServlet.isCaptcha(request)) { + ResponseMessageUtils.xmlCDataOut(response, "验证码错误!", url); + } + try{ + memberService.updatePassword(key,password); + }catch (Exception e){ + ResponseMessageUtils.xmlCDataOut(response, e.getMessage(), url); + } + ResponseMessageUtils.xmlCDataOut(response, "密码修改成功,请登陆!", request.getContextPath() + "/login.html"); + return null; + } +} diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/controller/MemberController.java b/goshop-web-portal/src/main/java/org/goshop/portal/controller/MemberController.java new file mode 100644 index 0000000..5a7218d --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/controller/MemberController.java @@ -0,0 +1,233 @@ +package org.goshop.portal.controller; + +import org.goshop.common.attachment.AttachmentService; +import org.goshop.common.context.CustomTimestampEditor; +import org.goshop.common.exception.PageException; +import org.goshop.common.utils.*; +import org.goshop.common.web.utils.ImageUtils; +import org.goshop.common.web.utils.JsonUtils; +import org.goshop.common.web.utils.ResponseMessageUtils; +import org.goshop.users.pojo.Member; +import org.goshop.users.pojo.User; +import org.goshop.users.i.MemberService; +import org.goshop.portal.model.MemberModel; +import org.goshop.portal.model.PrivacyModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.propertyeditors.CustomDateEditor; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.ServletRequestDataBinder; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.*; +import java.text.SimpleDateFormat; + +@Controller +@RequestMapping(value = "/member") +public class MemberController { + + @InitBinder + protected void initBinder(HttpServletRequest request, + ServletRequestDataBinder binder) throws Exception { + //对于需要转换为Date类型的属性,使用DateEditor进行处理 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + dateFormat.setLenient(false); + + SimpleDateFormat datetimeFormat = new SimpleDateFormat( + "yyyy-MM-dd HH:mm:ss"); + datetimeFormat.setLenient(false); + + binder.registerCustomEditor(java.util.Date.class, new CustomDateEditor( + dateFormat, true)); + binder.registerCustomEditor(java.sql.Timestamp.class, + new CustomTimestampEditor(datetimeFormat, true)); + } + + @Autowired + MemberService memberService; + + @Autowired + AttachmentService attachmentService; + + @RequestMapping("/base_set") + public String index(User user,Model model, + HttpServletRequest request, + HttpServletResponse response){ + Member member=memberService.findUserByUserId(user.getId()); + String json=member.getMemberPrivacy(); + if(StringUtils.hasText(json)) { + PrivacyModel pm = (PrivacyModel) JsonUtils.jsonToPojo(json, PrivacyModel.class); + model.addAttribute("P_PRIVACY", pm); + }else{ + model.addAttribute("P_PRIVACY", new PrivacyModel()); + } + model.addAttribute("P_MEMBER",member); + return "member/set_base"; + } + + @RequestMapping("/base_save") + @ResponseBody + public void baseSave(User user,MemberModel memberModel, + HttpServletRequest request, + HttpServletResponse response){ + + String url = request.getContextPath() + "/member/base_set.html"; + String name = "保存成功!"; + try { + Member member =new Member(); + BeanUtils.applyIf(member, memberModel); + if(memberModel.getPrivacyModel()!=null) { + String json = JsonUtils.objectToJson(memberModel.getPrivacyModel()); + member.setMemberPrivacy(json); + } + member.setUserId(user.getId()); + memberService.updateByUserId(member); + } catch (Exception ex) { + ex.printStackTrace(); + name = "保存失败!"; + } + ResponseMessageUtils.xmlCDataOut(response, name, url); + } + + @RequestMapping(value="/password",method = RequestMethod.GET) + public String password(Model model, + HttpServletRequest request, + HttpServletResponse response){ + return "member/set_password"; + } + + @RequestMapping(value="/password",method = RequestMethod.POST) + @ResponseBody + public void passwordSave(User user,String orig_password, + String new_password,String confirm_password,Model model, + HttpServletRequest request, + HttpServletResponse response){ + String url = request.getContextPath() + "/member/password.html"; + String name = "密码修改成功!"; + if(StringUtils.hasText(orig_password)&&StringUtils.hasText(new_password)&&StringUtils.hasText(confirm_password)) { + if (new_password.equals(confirm_password)) { + Boolean is=memberService.checkPassword(user.getId(), orig_password); + if(is){ + try { + memberService.updatePassword(user.getId(),confirm_password); + } catch (Exception e) { + e.printStackTrace(); + name="修改密码错误!"; + } + }else { + name = "原密码错误,请确认!"; + } + } else { + name = "两次密码不同,请确认!"; + } + }else{ + name = "密码不能为空,请确认!"; + } + ResponseMessageUtils.xmlCDataOut(response, name, url); + } + + @RequestMapping(value="/email",method = RequestMethod.GET) + public String email(Model model, + HttpServletRequest request, + HttpServletResponse response){ + return "member/set_email"; + } + + @RequestMapping(value="/email",method = RequestMethod.POST) + @ResponseBody + public void emailSave(User user,String orig_password,String email,Model model, + HttpServletRequest request, + HttpServletResponse response){ + String url = request.getContextPath() + "/member/email.html"; + String name = "email修改成功!"; + if(StringUtils.hasText(orig_password)){ + Boolean is=memberService.checkPassword(user.getId(), orig_password); + if(is){ + memberService.updateEmail(user.getId(), email); + }else{ + name = "原密码错误,请确认!"; + } + }else{ + name = "密码不能为空!"; + } + ResponseMessageUtils.xmlCDataOut(response, name, url); + } + + @RequestMapping(value="/avatar",method = RequestMethod.GET) + public String avatar(User user,Model model, + HttpServletRequest request, + HttpServletResponse response){ + Member member=memberService.findUserByUserId(user.getId()); + model.addAttribute("P_MEMBER", member); + return "member/set_avatar"; + } + + @RequestMapping(value="/upload",method = RequestMethod.POST) + public String upload(Model model, + @RequestParam(value = "pic") MultipartFile pic, + HttpServletRequest request, + HttpServletResponse response){ + File file= null; + try { + file = ImageUtils.save(pic, 500); + } catch (IOException e) { + e.printStackTrace(); + throw new PageException("裁剪图片错误!"); + } + String type = FileUtils.getFileType(pic.getOriginalFilename()).toLowerCase(); + try { + String path=attachmentService.upload(file,type); + model.addAttribute("P_USER_IMAGE",path); + } catch (Exception e) { + e.printStackTrace(); + throw new PageException("上传图片错误!"); + } + InputStream is= null; + try { + is = new FileInputStream(file); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + BufferedImage bi= null; + try { + bi = ImageIO.read(is); + } catch (IOException e) { + e.printStackTrace(); + } + model.addAttribute("P_IMAGE_WIDTH",bi.getWidth()); + model.addAttribute("P_IMAGE_HEIGHT",bi.getHeight()); + return "member/set_avatar_upload"; + } + + @RequestMapping(value="/avatar",method = RequestMethod.POST) + public String avatarSave(User user,Model model, + @RequestParam("x1")Integer x1, + @RequestParam("y1")Integer y1, + @RequestParam("x2")Integer x2, + @RequestParam("y2")Integer y2, + @RequestParam("w")Integer width, + @RequestParam("h")Integer height, + @RequestParam("newfile")String newFile, + HttpServletRequest request, + HttpServletResponse response){ + try { + File file = attachmentService.download(newFile); + String type = FileUtils.getFileType(newFile).toLowerCase(); + InputStream is = new FileInputStream(file); + File tempFile = File.createTempFile("temp_images_"+ IDUtils.getUuid(),"."+type); + ImageUtils.abscut(is, x1, y1, width, height, tempFile); + String path=attachmentService.upload(tempFile,type); + memberService.saveAvatar(user.getId(),path); + }catch (Exception e){ + e.printStackTrace(); + throw new PageException("头像文件保存错误!"); + } + return "redirect:/member/avatar.html"; + } +} diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/controller/MessageController.java b/goshop-web-portal/src/main/java/org/goshop/portal/controller/MessageController.java new file mode 100644 index 0000000..3af0ca5 --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/controller/MessageController.java @@ -0,0 +1,36 @@ +package org.goshop.portal.controller; + +import org.goshop.common.context.MessageService; +import org.goshop.common.context.MessageInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.servlet.http.HttpServletRequest; + +@Controller +@RequestMapping(value = "/msg") +public class MessageController { + + @Autowired + MessageService messageService; + + @RequestMapping + public String Message(String message, + String returnUrl, + Model model,HttpServletRequest request) { + if(StringUtils.hasText(message)){ + model.addAttribute("P_MESSAGE", message); + }else { + MessageInfo m = messageService.get(request.getSession().getId()); + model.addAttribute("P_MESSAGE", m.getMessage()); + model.addAttribute("P_RETURN_URL", m.getReturnUrl()); + } + if(StringUtils.hasText(returnUrl)) { + model.addAttribute("P_RETURN_URL", returnUrl); + } + return "message"; + } +} diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/controller/RegisterController.java b/goshop-web-portal/src/main/java/org/goshop/portal/controller/RegisterController.java new file mode 100644 index 0000000..a220d57 --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/controller/RegisterController.java @@ -0,0 +1,85 @@ +package org.goshop.portal.controller; + +import org.goshop.common.context.ValidationCodeServlet; +import org.goshop.common.pojo.ResponseStatus; +import org.goshop.common.web.utils.ResponseMessageUtils; +import org.goshop.common.web.utils.TokenUtils; +import org.goshop.users.pojo.Member; +import org.goshop.users.pojo.User; +import org.goshop.users.i.MemberService; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.subject.Subject; +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.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@Controller +@RequestMapping(value = "/register") +public class RegisterController { + + @Autowired + MemberService memberService; + + @Autowired + ValidationCodeServlet validationCodeServlet; + + @RequestMapping + public String register(HttpServletRequest request) { + TokenUtils.getInstance().saveToken(request); + return "register"; + } + + @RequestMapping("save") + @ResponseBody + public Object save(Member member, + User user, + String password_confirm, + HttpServletRequest request, + HttpServletResponse response) { + String url = request.getContextPath() + "/register.html"; + if (!TokenUtils.getInstance().verifyToken(request)) { + ResponseMessageUtils.xmlCDataOut(response, "你已提交了用户数据!", url); + } + + if (!(password_confirm != null && password_confirm.equals(user.getPassword()))) { + ResponseMessageUtils.xmlCDataOut(response, "两次密码不同!", url); + } + + if (!validationCodeServlet.isCaptcha(request)) { + ResponseMessageUtils.xmlCDataOut(response, "验证码错误!", url); + } + + String password = user.getPassword(); + try { + memberService.saveMember(member,user); + }catch (Exception e){ + e.printStackTrace(); + ResponseMessageUtils.xmlCDataOut(response, "保存用户错误请联系管理员", url); + } + + + + //注册用户自动登录 + Subject subject = SecurityUtils.getSubject(); + UsernamePasswordToken token = new UsernamePasswordToken(user.getLoginName(),password); + token.setRememberMe(true); + subject.login(token); + + url = request.getContextPath() + "/home.html"; + ResponseMessageUtils.xmlCDataOut(response, "欢迎来到电商测试建议您尽快完善资料,祝您购物愉快!", url); + return null; + } + + @RequestMapping("/check/captcha") + @ResponseBody + public Object captcha(HttpServletRequest request) { + return ResponseStatus.get(validationCodeServlet.isCaptcha(request)); + } + + +} diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/controller/StoreJoinController.java b/goshop-web-portal/src/main/java/org/goshop/portal/controller/StoreJoinController.java new file mode 100644 index 0000000..c2aea01 --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/controller/StoreJoinController.java @@ -0,0 +1,261 @@ +package org.goshop.portal.controller; + +import org.goshop.common.attachment.AttachmentService; +import org.goshop.common.context.CustomTimestampEditor; +import org.goshop.common.exception.PageException; +import org.goshop.common.web.utils.JsonUtils; +import org.goshop.store.model.JsonManagement; +import org.goshop.store.i.StoreJoinService; +import org.goshop.store.model.StoreInfoModel; +import org.goshop.store.pojo.Store; +import org.goshop.store.pojo.StoreJoin; +import org.goshop.users.pojo.User; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.propertyeditors.CustomDateEditor; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.util.Assert; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.ServletRequestDataBinder; +import org.springframework.web.bind.annotation.InitBinder; +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.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.List; + +@Controller +@RequestMapping(value = "/store_join") +public class StoreJoinController { + + @Autowired + StoreJoinService storeJoinService; + + @Autowired + AttachmentService attachmentService; + + @InitBinder + protected void initBinder(HttpServletRequest request, + ServletRequestDataBinder binder) throws Exception { + //对于需要转换为Date类型的属性,使用DateEditor进行处理 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + dateFormat.setLenient(false); + + SimpleDateFormat datetimeFormat = new SimpleDateFormat( + "yyyy-MM-dd HH:mm:ss"); + datetimeFormat.setLenient(false); + + binder.registerCustomEditor(java.util.Date.class, new CustomDateEditor( + dateFormat, true)); + binder.registerCustomEditor(java.sql.Timestamp.class, + new CustomTimestampEditor(datetimeFormat, true)); + } + + @RequestMapping("/agreement") + public String agreement(Model model, + User user, + @RequestParam(value = "state", required = false) String statePage, + HttpServletRequest request, + HttpServletResponse response) { + String jump = jump(user,statePage); + if (jump != null) { + return jump; + } + model.addAttribute("P_STEP", 1); + return "store/store_agreement"; + + } + + public String jump(User user,String statePage) { + Store store = storeJoinService.getCurrentStore(user); + if (store != null) { + return "redirect:/se/goods/addstep/one"; + } + StoreJoin storeJoin = storeJoinService.getCurrentUserStoreJoin(user); + if (storeJoin != null) { + String state = storeJoin.getJoininState(); + //if (StringUtils.hasText(state) && state.equals("30") && !StringUtils.hasText(statePage)) { + // return "redirect:/store_join/step1.html"; + //} else if (StringUtils.hasText(state)) { + return "redirect:/store_join/step4.html"; + // } + } + + return null; + } + + @RequestMapping("/step1") + public String stepOne(Model model, + HttpServletRequest request, + HttpServletResponse response) { + model.addAttribute("P_STEP", 1); + model.addAttribute("P_SIDEBAR", 1); + return "store/settled_step_one"; + + } + + @RequestMapping(value = "/step2", method = RequestMethod.POST) + public String stepTwo(User user,StoreJoin storeJoin, + BindingResult result, + Model model, + @RequestParam("businessLicenceNumber_electronic") MultipartFile businessLicenceNumberFile,//营业执照号电子版 + @RequestParam("organization_code_electronic") MultipartFile organizationCodeFile,//组织机构代码证电子版 + @RequestParam("general_taxpayer") MultipartFile generalTaxpayerFile,//一般纳税人证明 + HttpServletRequest request, + HttpServletResponse response) { + Assert.isTrue(businessLicenceNumberFile.getSize() > 0, "请上传营业执照号电子版!"); + Assert.isTrue(businessLicenceNumberFile.getSize() < 1000000, "营业执照号电子版文件超过了1M,请编辑后重新上传!"); + + Assert.isTrue(organizationCodeFile.getSize() > 0, "请上传组织机构代码证电子版!"); + Assert.isTrue(organizationCodeFile.getSize() < 1000000, "组织机构代码证电子版文件超过了1M,请编辑后重新上传!"); + + Assert.isTrue(generalTaxpayerFile.getSize() > 0, "请上传一般纳税人证明!"); + Assert.isTrue(generalTaxpayerFile.getSize() < 1000000, "一般纳税人证明文件超过了1M,请编辑后重新上传!"); + + try { + String business= attachmentService.upload(businessLicenceNumberFile); + String organization = attachmentService.upload(organizationCodeFile); + String generalTaxpayer=attachmentService.upload(generalTaxpayerFile); + storeJoin.setBusinessLicenceNumberElectronic(business); + storeJoin.setOrganizationCodeElectronic(organization); + storeJoin.setGeneralTaxpayer(generalTaxpayer); + } catch (IOException e) { + e.printStackTrace(); + throw new PageException("文件保存错误!"); + } + + try { + storeJoinService.applySeller(user,storeJoin); + }catch (Exception e){ + throw new PageException(e.getMessage()); + } + model.addAttribute("P_STEP", 2); + model.addAttribute("P_SIDEBAR", 2); + return "store/settled_step_two"; + } + + @RequestMapping(value = "/step3", method = RequestMethod.POST) + public String stepThree(User user,StoreJoin storeJoin, + Model model, + @RequestParam("bank_licence_electronic") MultipartFile bankLicenceElectronicFile,//开户银行许可证电子版 + @RequestParam("taxRegistrationCertificate_electronic") MultipartFile taxRegistrationCertificateElectronicFile,//税务登记证号电子版 + HttpServletRequest request, + HttpServletResponse response) { + + + Assert.isTrue(bankLicenceElectronicFile.getSize() > 0, "请上传开户银行许可证电子版!"); + Assert.isTrue(bankLicenceElectronicFile.getSize() < 1000000, "开户银行许可证电子版文件超过了1M,请编辑后重新上传!"); + + Assert.isTrue(taxRegistrationCertificateElectronicFile.getSize() > 0, "请上传税务登记证号电子版!"); + Assert.isTrue(taxRegistrationCertificateElectronicFile.getSize() < 1000000, "税务登记证号电子版文件超过了1M,请编辑后重新上传!"); + + try { + String bankLicence= attachmentService.upload(bankLicenceElectronicFile); + String taxRegistrationCertificate = attachmentService.upload(taxRegistrationCertificateElectronicFile); + storeJoin.setBankLicenceElectronic(bankLicence); + storeJoin.setTaxRegistrationCertificateElectronic(taxRegistrationCertificate); + } catch (IOException e) { + e.printStackTrace(); + throw new PageException("文件保存错误!"); + } + + try { + StoreInfoModel storeInfoModel=storeJoinService.applySellerThree(user,storeJoin); + model.addAttribute("P_PARENT_STORECLASS", storeInfoModel.getStoreClassParentList()); + model.addAttribute("P_PARENT_GOODSCLASS", storeInfoModel.getGoodsClassParentList()); + model.addAttribute("P_STOREGRADE", storeInfoModel.getStoreGradeList()); + }catch (Exception e){ + throw new PageException("保存财务信息错误:"+e.toString()); + } + + model.addAttribute("P_STEP", 3); + model.addAttribute("P_SIDEBAR", 3); + return "store/settled_step_three"; + + } + + @RequestMapping(value = "/step4", method = RequestMethod.POST) + public String stepFour(User user,StoreJoin storeJoin, + @RequestParam(value = "store_class_ids[]",required = false) String[] ids, + @RequestParam(value = "store_class_names[]",required = false) String[] names, + Model model, HttpServletRequest request, + HttpServletResponse response) { + + StoreJoin dataBase = storeJoinService.save(user,storeJoin, ids, names); + + model.addAttribute("P_STEP", 4); + model.addAttribute("P_SIDEBAR", 4); + model.addAttribute("P_STORE_JOIN", dataBase); + return "store/settled_step_four"; + + } + + @RequestMapping(value = "/step4", method = RequestMethod.GET) + public String stepFour(User user,Model model, HttpServletRequest request, + HttpServletResponse response) { + + StoreJoin storeJoinin = storeJoinService.getCurrentUserStoreJoin(user); + + Store store = storeJoinService.getCurrentStore(user); + if (store != null) { + return "redirect:/se/goods/addstep/one"; + } + + model.addAttribute("P_STEP", 4); + model.addAttribute("P_SIDEBAR", 4); + model.addAttribute("P_STORE_JOIN", storeJoinin); + return "store/settled_step_four"; + + } + + @RequestMapping(value = "/pay") + public String pay(User user,Model model, HttpServletRequest request, + HttpServletResponse response) { + StoreJoin storeJoin = storeJoinService.getCurrentUserStoreJoin(user); + if (!storeJoin.getJoininState().equals("20") && !storeJoin.getJoininState().equals("31")) { + return "redirect:/store_join/agreement"; + } + String scIds = storeJoin.getStoreClassIds(); + List jsonManagementList = JsonUtils.jsonToList(scIds, JsonManagement.class); + + model.addAttribute("P_CLASS_LIST", jsonManagementList); + model.addAttribute("P_STEP", 5); + model.addAttribute("P_SIDEBAR", 5); + model.addAttribute("P_STORE_JOIN", storeJoin); + return "store/settled_pay"; + + } + + + @RequestMapping(value = "/pay_save") + public String paySave(User user, + @RequestParam("paying_money_certificate") MultipartFile certificate,//上传付款凭证 + @RequestParam("paying_money_certificate_explain") String explain,//备注 + Model model, HttpServletRequest request, + HttpServletResponse response) { + StoreJoin storeJoin = storeJoinService.getCurrentUserStoreJoin(user); + if (!storeJoin.getJoininState().equals("20") && !storeJoin.getJoininState().equals("31")) { + return "redirect:/store_join/agreement"; + } + storeJoin.setPayingMoneyCertificateExplain(explain); + + Assert.isTrue(certificate.getSize() > 0, "请上传付款凭证电子版!"); + Assert.isTrue(certificate.getSize() < 1000000, "付款凭证电子版文件超过了1M,请编辑后重新上传!"); + + try { + String certificateStr= attachmentService.upload(certificate); + storeJoin.setPayingMoneyCertificate(certificateStr); + } catch (IOException e) { + e.printStackTrace(); + throw new PageException("文件保存错误!"); + } + storeJoinService.paySave(storeJoin); + return "redirect:/store_join/step4.html"; + + } +} diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/model/MemberModel.java b/goshop-web-portal/src/main/java/org/goshop/portal/model/MemberModel.java new file mode 100644 index 0000000..8e0d2bc --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/model/MemberModel.java @@ -0,0 +1,130 @@ +package org.goshop.portal.model; + +import java.util.Date; + +/** + * Created by Administrator on 2016/2/23. + */ +public class MemberModel { + + /** + * 真实姓名 + */ + private String memberTruename; + /** + * 会员性别 + */ + private Integer memberSex; + /** + * 生日 + */ + private Date memberBirthday; + /** + * QQ * + */ + private String memberQq; + /** + * 阿里旺旺 + */ + private String memberWw; + /** + * 地区ID + */ + private Integer memberAreaid; + /** + * 城市ID + */ + private Integer memberCityid; + /** + * 省份ID + */ + private Integer memberProvinceid; + /** + * 地区内容 + */ + private String memberAreainfo; + /** + * 隐私设置 + */ + private PrivacyModel privacyModel; + + public String getMemberTruename() { + return memberTruename; + } + + public void setMemberTruename(String memberTruename) { + this.memberTruename = memberTruename; + } + + public Integer getMemberSex() { + return memberSex; + } + + public void setMemberSex(Integer memberSex) { + this.memberSex = memberSex; + } + + public Date getMemberBirthday() { + return memberBirthday; + } + + public void setMemberBirthday(Date memberBirthday) { + this.memberBirthday = memberBirthday; + } + + public String getMemberQq() { + return memberQq; + } + + public void setMemberQq(String memberQq) { + this.memberQq = memberQq; + } + + public String getMemberWw() { + return memberWw; + } + + public void setMemberWw(String memberWw) { + this.memberWw = memberWw; + } + + public Integer getMemberAreaid() { + return memberAreaid; + } + + public void setMemberAreaid(Integer memberAreaid) { + this.memberAreaid = memberAreaid; + } + + public Integer getMemberCityid() { + return memberCityid; + } + + public void setMemberCityid(Integer memberCityid) { + this.memberCityid = memberCityid; + } + + public Integer getMemberProvinceid() { + return memberProvinceid; + } + + public void setMemberProvinceid(Integer memberProvinceid) { + this.memberProvinceid = memberProvinceid; + } + + public String getMemberAreainfo() { + return memberAreainfo; + } + + public void setMemberAreainfo(String memberAreainfo) { + this.memberAreainfo = memberAreainfo; + } + + public PrivacyModel getPrivacyModel() { + return privacyModel; + } + + public void setPrivacyModel(PrivacyModel privacyModel) { + this.privacyModel = privacyModel; + } +} diff --git a/goshop-web-portal/src/main/java/org/goshop/portal/model/PrivacyModel.java b/goshop-web-portal/src/main/java/org/goshop/portal/model/PrivacyModel.java new file mode 100644 index 0000000..1e11049 --- /dev/null +++ b/goshop-web-portal/src/main/java/org/goshop/portal/model/PrivacyModel.java @@ -0,0 +1,81 @@ +package org.goshop.portal.model; + +/** + * 隐私设置 + */ +public class PrivacyModel { + + /** + * 0=公开 1=好友可见 2=保密 + */ + + private Integer email; + + private Integer truename; + + private Integer sex; + + private Integer birthday; + + private Integer area; + + private Integer qq; + + private Integer ww; + + public Integer getEmail() { + return email; + } + + public void setEmail(Integer email) { + this.email = email; + } + + public Integer getTruename() { + return truename; + } + + public void setTruename(Integer truename) { + this.truename = truename; + } + + public Integer getSex() { + return sex; + } + + public void setSex(Integer sex) { + this.sex = sex; + } + + public Integer getBirthday() { + return birthday; + } + + public void setBirthday(Integer birthday) { + this.birthday = birthday; + } + + public Integer getArea() { + return area; + } + + public void setArea(Integer area) { + this.area = area; + } + + public Integer getQq() { + return qq; + } + + public void setQq(Integer qq) { + this.qq = qq; + } + + public Integer getWw() { + return ww; + } + + public void setWw(Integer ww) { + this.ww = ww; + } +} diff --git a/goshop-web-portal/src/main/resources/dubbo/dubbo-consumer.xml b/goshop-web-portal/src/main/resources/dubbo/dubbo-consumer.xml new file mode 100644 index 0000000..c40d401 --- /dev/null +++ b/goshop-web-portal/src/main/resources/dubbo/dubbo-consumer.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/dubbo/dubbo-reference-cms.xml b/goshop-web-portal/src/main/resources/dubbo/dubbo-reference-cms.xml new file mode 100644 index 0000000..602084d --- /dev/null +++ b/goshop-web-portal/src/main/resources/dubbo/dubbo-reference-cms.xml @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/dubbo/dubbo-reference-user.xml b/goshop-web-portal/src/main/resources/dubbo/dubbo-reference-user.xml new file mode 100644 index 0000000..4618b70 --- /dev/null +++ b/goshop-web-portal/src/main/resources/dubbo/dubbo-reference-user.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/log4j.properties b/goshop-web-portal/src/main/resources/log4j.properties new file mode 100644 index 0000000..1cc991f --- /dev/null +++ b/goshop-web-portal/src/main/resources/log4j.properties @@ -0,0 +1,5 @@ +log4j.rootLogger=DEBUG,A1 +log4j.logger.org.mybatis = DEBUG +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/resource/freemarker.properties b/goshop-web-portal/src/main/resources/resource/freemarker.properties new file mode 100644 index 0000000..cde0e7c --- /dev/null +++ b/goshop-web-portal/src/main/resources/resource/freemarker.properties @@ -0,0 +1,11 @@ +tag_syntax=auto_detect +template_update_delay=5 +defaultEncoding=UTF-8 +url_escaping_charset=UTF-8 +locale=zh_CN +boolean_format=true,false +datetime_format=yyyy-MM-dd HH:mm:ss +date_format=yyyy-MM-dd +time_format=HH:mm:ss +number_format=0.###### +whitespace_stripping=true \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/resource/resource.properties b/goshop-web-portal/src/main/resources/resource/resource.properties new file mode 100644 index 0000000..9d76464 --- /dev/null +++ b/goshop-web-portal/src/main/resources/resource/resource.properties @@ -0,0 +1,9 @@ +COMMON_URL=http://127.0.0.1:8080/common +SHOP_REST_URL=http://127.0.0.1:8080/shop_r +SHOP_URL=http://127.0.0.1:8080/shop +MANAGER_URL=http://127.0.0.1:8080/admin +SELLER_URL=http://127.0.0.1:8080/se +EMAIL_ADDRESS=pzh_goshop@126.com +EMAIL_PASSWORD=pzh1234567 +#文件路径 +FILE_PATH=D:/webFile/goshop \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/spring/applicationContext-jedis.xml b/goshop-web-portal/src/main/resources/spring/applicationContext-jedis.xml new file mode 100644 index 0000000..f03dbff --- /dev/null +++ b/goshop-web-portal/src/main/resources/spring/applicationContext-jedis.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/spring/applicationContext-shiro.xml b/goshop-web-portal/src/main/resources/spring/applicationContext-shiro.xml new file mode 100644 index 0000000..acbafc4 --- /dev/null +++ b/goshop-web-portal/src/main/resources/spring/applicationContext-shiro.xml @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + /validationCodeServlet.png**= anon + /static/** = anon + /refuse = anon + /att**=anon + + /logout = logout + /login.do = authc + + + /** = roles[admin] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/spring/spring-context.xml b/goshop-web-portal/src/main/resources/spring/spring-context.xml new file mode 100644 index 0000000..1a4e3be --- /dev/null +++ b/goshop-web-portal/src/main/resources/spring/spring-context.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/resources/spring/springmvc.xml b/goshop-web-portal/src/main/resources/spring/springmvc.xml new file mode 100644 index 0000000..7d1b43f --- /dev/null +++ b/goshop-web-portal/src/main/resources/spring/springmvc.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/button.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/button.ftl new file mode 100644 index 0000000..adb4aad --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/button.ftl @@ -0,0 +1,58 @@ + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/footer.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/footer.ftl new file mode 100644 index 0000000..89957e7 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/footer.ftl @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/forget_password.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/forget_password.ftl new file mode 100644 index 0000000..8323d39 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/forget_password.ftl @@ -0,0 +1,181 @@ +<#assign S_URL=request.contextPath /> + + + + + 电商平台 - 找回密码 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +<#include "simple_header.ftl"/> + + + + +<#include "footer.ftl" /> + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/index.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/index.ftl new file mode 100644 index 0000000..79aaf64 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/index.ftl @@ -0,0 +1,19 @@ +<#assign S_URL=request.contextPath /> + + + + + +电商首页 + +<@shiro.guest> +欢迎游客访问,登录 注册 + + +<@shiro.user> +欢迎[<@shiro.principal property="loginName"/>]登录,退出 +, 店铺申请 +,个人中心 + + + diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/login.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/login.ftl new file mode 100644 index 0000000..e2a261b --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/login.ftl @@ -0,0 +1,198 @@ +<#assign S_URL=request.contextPath /> + + + + + 电商平台 - 用户登陆 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +<#include "simple_header.ftl"/> + + + + + + + + +<#include "footer.ftl" /> + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/address.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/address.ftl new file mode 100644 index 0000000..d2709ce --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/address.ftl @@ -0,0 +1,4 @@ +<@override name="main"> + 地址设置 + +<@extends name="framework.ftl"/> \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/binding.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/binding.ftl new file mode 100644 index 0000000..62e4f7d --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/binding.ftl @@ -0,0 +1,4 @@ +<@override name="main"> + 绑定 + +<@extends name="framework.ftl"/> \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/deposit.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/deposit.ftl new file mode 100644 index 0000000..ed0a99c --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/deposit.ftl @@ -0,0 +1,4 @@ +<@override name="main"> + 预存款 + +<@extends name="framework.ftl"/> \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/detail.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/detail.ftl new file mode 100644 index 0000000..9ae11d2 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/detail.ftl @@ -0,0 +1,4 @@ +<@override name="main"> + 明细 + +<@extends name="framework.ftl"/> \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/framework.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/framework.ftl new file mode 100644 index 0000000..feb4339 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/framework.ftl @@ -0,0 +1,66 @@ +<#assign S_URL=request.contextPath /> + + + + + + 会员中心 + + + + + + + + + + + + + + + + + + + + + + + +
+
+<#include "../top.ftl"/> +<#include "../member_header.ftl"/> +
+
+ <#include "set_sidebar.ftl"/> +
+ +
+
我的商城» + 个人资料»基本信息
+
+ +
+ + +
+ <#include "tabmenu.ftl" /> + + <@block name="main" > + +
+
+
+
+<#include "../footer.ftl"/> + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_avatar.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_avatar.ftl new file mode 100644 index 0000000..48353ca --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_avatar.ftl @@ -0,0 +1,48 @@ +<#assign P_OP="avatar" /> +<@override name="main"> +
+
+
+
头像预览:
+
+
+
+

完善个人信息资料,上传头像图片有助于您结识更多的朋友。
头像默认尺寸为120x120像素,请根据系统操作提示进行裁剪并生效。 +

+
+
+
+
更换头像:
+
+ +
+
+
+
+ + +<@extends name="framework.ftl"/> \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_avatar_upload.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_avatar_upload.ftl new file mode 100644 index 0000000..bf6447b --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_avatar_upload.ftl @@ -0,0 +1,80 @@ +<#assign P_OP="avatar" /> +<@override name="main"> + + +
+ + + + + + + + + +
+
工作区域
+
+

+
+
裁切预览
+
+

+
+
+

操作帮助

+ +

请在工作区域放大缩小及移动选取框,选择要裁剪的范围,裁切宽高比例固定;裁切后的效果为右侧预览图所显示;保存提交后生效。

+
+
+ +
+
+
+ + +<@extends name="framework.ftl"/> \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_base.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_base.ftl new file mode 100644 index 0000000..1e452da --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_base.ftl @@ -0,0 +1,181 @@ +<#assign P_OP="base" /> +<@override name="main"> +
+
+ + +
+
用户名称:
+
${P_MEMBER.loginName}  隐私设置
+
+
+
电子邮件:
+
${P_MEMBER.memberEmail} + +
+
+
+
真实姓名:
+
+ + + +
+
+
+
性别:
+
+ +    + +    + + + +
+
+
+
生日:
+
+ + + +
+
+
+
所在地区:
+
+ + + + + <#if P_MEMBER.memberAreaid??> + ${P_MEMBER.memberAreainfo!} + + + <#else> + + + + + +
+
+
+
QQ:
+
+ + + +
+
+
+
阿里旺旺:
+
+ + + +
+
+
+
 
+
+ +
+
+
+
+ + + +<@extends name="framework.ftl"/> diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_email.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_email.ftl new file mode 100644 index 0000000..5b639e7 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_email.ftl @@ -0,0 +1,67 @@ +<#assign P_OP="email" /> +<@override name="main"> +
+
+
+
您的密码:
+
+ + +
+
+
+
电子邮件:
+
+ + +
+
+
+
 
+
+ +
+
+
+
+ + +<@extends name="framework.ftl"/> \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_password.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_password.ftl new file mode 100644 index 0000000..5a06db0 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_password.ftl @@ -0,0 +1,72 @@ +<#assign P_OP="passwd" /> +<@override name="main"> +
+
+ +
+
您的密码:
+
+ + +
+
+
+
新密码:
+
+ + +
+
+
+
确认密码:
+
+ + +
+
+
+
 
+
+ +
+
+
+
+ + +<@extends name="framework.ftl"/> diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_sidebar.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_sidebar.ftl new file mode 100644 index 0000000..ea9af28 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/set_sidebar.ftl @@ -0,0 +1,11 @@ +<#assign S_URL=request.contextPath /> + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/tabmenu.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/tabmenu.ftl new file mode 100644 index 0000000..63af8bd --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/tabmenu.ftl @@ -0,0 +1,6 @@ +
+
\ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/withdraw.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/withdraw.ftl new file mode 100644 index 0000000..d00d235 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member/withdraw.ftl @@ -0,0 +1,4 @@ +<@override name="main"> + 提现 + +<@extends name="framework.ftl"/> \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member_header.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member_header.ftl new file mode 100644 index 0000000..0f903b0 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/member_header.ftl @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/message.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/message.ftl new file mode 100644 index 0000000..955d94d --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/message.ftl @@ -0,0 +1,76 @@ +<#assign S_URL=request.contextPath /> + + + + 系统信息 + + + + + + + + + + + + + + + + + + + +
+
+<#include "top.ftl"/> +<#include "simple_header.ftl"/> + +
+ + ${P_MESSAGE}
+ + +<#include "footer.ftl" /> + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/password_update.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/password_update.ftl new file mode 100644 index 0000000..b424eb3 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/password_update.ftl @@ -0,0 +1,186 @@ +<#assign S_URL=request.contextPath /> + + + + + 电商平台 - 找回密码 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +<#include "simple_header.ftl"/> + + + + +<#include "footer.ftl" /> + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/refuse.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/refuse.ftl new file mode 100644 index 0000000..09e0885 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/refuse.ftl @@ -0,0 +1,74 @@ +<#assign S_URL=request.contextPath /> + + + + 系统信息 + + + + + + + + + + + + + + + + + + + +
+
+<#include "top.ftl"/> +<#include "simple_header.ftl"/> + +
+ + 你还没有登录系统,请登录
+ + +<#include "footer.ftl" /> + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/register.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/register.ftl new file mode 100644 index 0000000..b38b713 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/register.ftl @@ -0,0 +1,306 @@ +<#assign S_URL=request.contextPath /> + + + + + 电商平台 - 用户注册 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +<#include "simple_header.ftl"/> + + + + + + + + + +<#include "footer.ftl" /> + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/simple_header.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/simple_header.ftl new file mode 100644 index 0000000..36efae3 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/simple_header.ftl @@ -0,0 +1,6 @@ +
+
+

+

+
+
\ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/header.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/header.ftl new file mode 100644 index 0000000..86144ae --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/header.ftl @@ -0,0 +1,12 @@ +
+

+

+ +
\ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_pay.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_pay.ftl new file mode 100644 index 0000000..589c4dc --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_pay.ftl @@ -0,0 +1,329 @@ +<#assign S_URL=request.contextPath /> + + + + + + 商家入驻 + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
公司及联系人信息
公司名称:${P_STORE_JOIN.companyName}
公司所在地:${P_STORE_JOIN.companyAddress}公司详细地址:${P_STORE_JOIN.companyAddressDetail!""}
公司电话:${P_STORE_JOIN.companyPhone}员工总数:${P_STORE_JOIN.companyEmployeeCount} 人注册资金:${P_STORE_JOIN.companyRegisteredCapital} 万元
联系人姓名:${P_STORE_JOIN.contactsName}联系人电话:${P_STORE_JOIN.contactsPhone}电子邮箱:${P_STORE_JOIN.contactsEmail}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
营业执照信息(副本)
营业执照号:${P_STORE_JOIN.businessLicenceNumber}
营业执照所在地:${P_STORE_JOIN.businessLicenceAddress}
营业执照有效期:${(P_STORE_JOIN.businessLicenceStart?string("yyyy-MM-dd"))!} - ${(P_STORE_JOIN.businessLicenceEnd?string("yyyy-MM-dd"))!}
法定经营范围:${P_STORE_JOIN.businessSphere}
营业执照号
+ 电子版: +
+
+ + + + + + + + + + + + + + + + +
组织机构代码证
组织机构代码:${P_STORE_JOIN.organizationCode}
组织机构代码证
电子版:
+
+ + + + + + + + + + + + +
一般纳税人证明:
一般纳税人证明: +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
开户银行信息:
银行开户名:${P_STORE_JOIN.bankAccountName}
公司银行账号:${P_STORE_JOIN.bankAccountNumber}
开户银行支行名称:${P_STORE_JOIN.bankName}
支行联行号:${P_STORE_JOIN.bankCode}
开户银行所在地:${P_STORE_JOIN.bankAddress}
开户银行许可证
电子版:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
结算账号信息:
银行开户名:${P_STORE_JOIN.settlementBankAccountName}
公司银行账号:${P_STORE_JOIN.settlementBankAccountNumber}
开户银行支行名称:${P_STORE_JOIN.settlementBankName}
支行联行号:${P_STORE_JOIN.settlementBankCode}
开户银行所在地:${P_STORE_JOIN.settlementBankAddress}
+ + + + + + + + + + + + + + + + + + + + +
税务登记证
税务登记证号:${P_STORE_JOIN.taxRegistrationCertificate}
纳税人识别号:${P_STORE_JOIN.taxpayerId}
税务登记证号
+ 电子版: +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
店铺经营信息
卖家帐号:${P_STORE_JOIN.sellerName}
店铺名称:${P_STORE_JOIN.storeName}
店铺等级:${P_STORE_JOIN.sgName}
店铺分类:${P_STORE_JOIN.scName}
经营类目: + + + + + + + + + + <#list P_CLASS_LIST as CLASS> + + <#list CLASS.jmcs as c> + + + + + + +
分类1分类2分类3
${c.name}
+
审核意见:${P_STORE_JOIN.joininMessage}
+ + + + + + + + + + + +
上传付款凭证: + +
备注: + + +
+
+ +
+
+ + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_four.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_four.ftl new file mode 100644 index 0000000..32b6384 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_four.ftl @@ -0,0 +1,65 @@ +<#assign S_URL=request.contextPath /> + + + + + + 商家入驻 + + + + + + + + + + + + + + + + <#include "header.ftl"/> + +
+ <#include "sidebar.ftl"/> +
+ <#if P_STORE_JOIN.joininState=='10'> +
入驻申请已经提交,请等待管理员审核
+
+ + <#if P_STORE_JOIN.joininState=='11'> +
已经提交,请等待管理员核对后为您开通店铺
+
+ + <#if P_STORE_JOIN.joininState=='30'> +
审核失败:${P_STORE_JOIN.joininMessage}
+
+ 下一步 +
+ + + <#if P_STORE_JOIN.joininState=='20'> +
审核成功,请完成付款,付款后点击下一步提交付款凭证
+
+ 下一步 +
+ + + + <#if P_STORE_JOIN.joininState=='31'> +
付款审核失败:${P_STORE_JOIN.joininMessage}
+
+ 下一步 +
+ + +
+
+ + + <#include "../button.ftl"/> + <#include "../footer.ftl"/> + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_one.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_one.ftl new file mode 100644 index 0000000..e19b2c8 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_one.ftl @@ -0,0 +1,356 @@ +<#assign S_URL=request.contextPath /> + + + + + + 商家入驻 + + + + + + + + + + + + + + + + <#include "header.ftl"/> + +
+ <#include "sidebar.ftl"/> +
+ + +
+
以下所需要上传的电子版资质文件仅支持JPG\GIF\PNG格式图片,大小请控制在1M之内。
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
公司及联系人信息
*公司名称: +
*公司所在地: +
*公司详细地址: +
*公司电话: +
*员工总数: +  人
*注册资金: +  万元
*联系人姓名: +
*联系人电话: +
*电子邮箱: +
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
营业执照信息(副本)
*营业执照号: +
*营业执照所在地: +
*营业执照有效期: + - + +
*法定经营范围: +
*营业执照号电子版: + 请确保图片清晰,文字可辨并有清晰的红色公章。
 
+ + + + + + + + + + + + + + + + + + + + + +
组织机构代码证
*组织机构代码: +
*组织机构代码证电子版: + 请确保图片清晰,文字可辨并有清晰的红色公章。
 
+ + + + + + + + + + + + + + + + + +
一般纳税人证明注:所属企业具有一般纳税人证明时,此项为必填。
*一般纳税人证明: + 请确保图片清晰,文字可辨并有清晰的红色公章。
 
+
+ +
+
+ +
+ + <#include "../button.ftl"/> + <#include "../footer.ftl"/> + + + + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_three.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_three.ftl new file mode 100644 index 0000000..066d2fd --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_three.ftl @@ -0,0 +1,289 @@ +<#assign S_URL=request.contextPath /> + + + + + + 商家入驻 + + + + + + + + + + + + + + + +<#include "header.ftl"/> + +
+ <#include "sidebar.ftl"/> + +
+ + +
+
+
店铺经营类目为商城商品分类,请根据实际运营情况添加一个或多个经营类目。
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
店铺经营信息
*商家帐号: + + +

此帐号为日后登录并管理商家中心时使用,注册后不可修改,请牢记。

*店铺名称: + + +

店铺名称注册后不可修改,请认真填写。

*店铺等级: + + + +
+
*店铺分类: + + + +

请根据您所经营的内容认真选择店铺分类,注册后商家不可自行修改。

*经营类目: + +
+ + + +
+ + +
+ + + + + + + + + +
一级类目二级类目三级类目操作
+
 
+
+ +
+
+
+ + <#include "../button.ftl"/> + <#include "../footer.ftl"/> + + + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_two.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_two.ftl new file mode 100644 index 0000000..5d2ab3d --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/settled_step_two.ftl @@ -0,0 +1,320 @@ +<#assign S_URL=request.contextPath /> + + + + + + 商家入驻 + + + + + + + + + + + + + + + + <#include "header.ftl"/> + +
+ <#include "sidebar.ftl"/> + +
+ + + +
+
以下所需要上传的电子版资质文件仅支持JPG\GIF\PNG格式图片,大小请控制在1M之内。
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
开户银行信息
*银行开户名: +
*公司银行账号: +
*开户银行支行名称: +
*支行联行号: +
*开户银行所在地:
*开户银行许可证电子版: + 请确保图片清晰,文字可辨并有清晰的红色公章。
+
 
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
结算账号信息
*银行开户名: +
*公司银行账号: +
*开户银行支行名称: +
*支行联行号: +
*开户银行所在地:
 
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
税务登记证
*税务登记证号: +
*纳税人识别号: +
*税务登记证号电子版: + 请确保图片清晰,文字可辨并有清晰的红色公章。
 
+
+ +
+
+ + + + + <#include "../button.ftl"/> + <#include "../footer.ftl"/> + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/sidebar.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/sidebar.ftl new file mode 100644 index 0000000..1fa188c --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/sidebar.ftl @@ -0,0 +1,10 @@ + + diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/store_agreement.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/store_agreement.ftl new file mode 100644 index 0000000..dc84bcc --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/store/store_agreement.ftl @@ -0,0 +1,45 @@ +<#assign S_URL=request.contextPath /> + + + + + + 商家入驻 + + + + + + + + <#include "header.ftl"/> +
+ +
+

入驻协议

+ +
+

使用本公司服务所须遵守的条款和条件。

1.用户资格
本公司的服务仅向适用法律下能够签订具有法律约束力的合同的个人提供并仅由其使用。在不限制前述规定的前提下,本公司的服务不向18周岁以下或被临时或无限期中止的用户提供。如您不合资格,请勿使用本公司的服务。此外,您的帐户(包括信用评价)和用户名不得向其他方转让或出售。另外,本公司保留根据其意愿中止或终止您的帐户的权利。

2.您的资料(包括但不限于所添加的任何商品)不得:
*具有欺诈性、虚假、不准确或具误导性;
*侵犯任何第三方著作权、专利权、商标权、商业秘密或其他专有权利或发表权或隐私权;
*违反任何适用的法律或法规(包括但不限于有关出口管制、消费者保护、不正当竞争、刑法、反歧视或贸易惯例/公平贸易法律的法律或法规);
*有侮辱或者诽谤他人,侵害他人合法权益的内容;
*有淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的内容;
*包含可能破坏、改变、删除、不利影响、秘密截取、未经授权而接触或征用任何系统、数据或个人资料的任何病毒、特洛依木马、蠕虫、定时炸弹、删除蝇、复活节彩蛋、间谍软件或其他电脑程序;

3.违约
如发生以下情形,本公司可能限制您的活动、立即删除您的商品、向本公司社区发出有关您的行为的警告、发出警告通知、暂时中止、无限期地中止或终止您的用户资格及拒绝向您提供服务:
(a)您违反本协议或纳入本协议的文件;
(b)本公司无法核证或验证您向本公司提供的任何资料;
(c)本公司相信您的行为可能对您、本公司用户或本公司造成损失或法律责任。

4.责任限制
本公司、本公司的关联公司和相关实体或本公司的供应商在任何情况下均不就因本公司的网站、本公司的服务或本协议而产生或与之有关的利润损失或任何特别、间接或后果性的损害(无论以何种方式产生,包括疏忽)承担任何责任。您同意您就您自身行为之合法性单独承担责任。您同意,本公司和本公司的所有关联公司和相关实体对本公司用户的行为的合法性及产生的任何结果不承担责任。

5.无代理关系
用户和本公司是独立的合同方,本协议无意建立也没有创立任何代理、合伙、合营、雇员与雇主或特许经营关系。本公司也不对任何用户及其网上交易行为做出明示或默许的推荐、承诺或担保。

6.一般规定
本协议在所有方面均受中华人民共和国法律管辖。本协议的规定是可分割的,如本协议任何规定被裁定为无效或不可执行,该规定可被删除而其余条款应予以执行。 +

+
+ + +
+ +
+
+ + <#include "../button.ftl"/> + <#include "../footer.ftl"/> + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/ftl/top.ftl b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/top.ftl new file mode 100644 index 0000000..2936b5e --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/ftl/top.ftl @@ -0,0 +1,57 @@ + +
+
+
+ 您好<@shiro.guest>游客<@shiro.user> <@shiro.principal property="loginName"/> + + ,欢迎来到 电商系统 + <@shiro.guest>[登录][注册] + <@shiro.user>[退出] + + +
+ + +
+
+ \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/WEB-INF/web.xml b/goshop-web-portal/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..b36a187 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,90 @@ + + + goshop-portal + + index.html + index.htm + index.jsp + default.html + default.htm + default.jsp + + + + contextConfigLocation + classpath:spring/applicationContext-*.xml + + + org.springframework.web.context.ContextLoaderListener + + + + CharacterEncodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + utf-8 + + + + CharacterEncodingFilter + /* + + + + goshop-portal + org.springframework.web.servlet.DispatcherServlet + + + contextConfigLocation + classpath:spring/springmvc.xml + + 1 + + + goshop-portal + + *.html + + + goshop-portal + *.do + + + + + + shiroFilter + org.springframework.web.filter.DelegatingFilterProxy + + + targetFilterLifecycle + true + + + + targetBeanName + shiroFilter + + + + shiroFilter + /* + + + + default + /static/* + + + + validationCode + com.goshop.common.context.ValidationCodeServlet + + + validationCode + /validationCodeServlet.png + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/index.jsp b/goshop-web-portal/src/main/webapp/index.jsp new file mode 100644 index 0000000..d20c022 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/index.jsp @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/goshop-web-portal/src/main/webapp/static/images/2014grate.png b/goshop-web-portal/src/main/webapp/static/images/2014grate.png new file mode 100644 index 0000000000000000000000000000000000000000..f2db0cc6b897f310dda5a476ba4e141df67bd6c8 GIT binary patch literal 1199 zcmV;g1W@~lP)^@RA_BGeU@x*QZh@`x{I84k}Hj z)EH9fFO_DbFcA2U=IB{oK41VKfUf;3&x`7*PDAJ6H$Hi7Aw9h?{OQ|4?aN!^rFH`W z7y^U$9 zW!j$U!Z3mW1Z!(CgTb=+@85m#gTUQN!YktB(hOqhca{x<_>PBYI`BMN8A!Eq*2v7w zQJYM%G`qIl{PguHMEb4 zPn<7oC!oLVgi%f6tay_2Et^>5ZkFceaBLepmn&(pM1rJk6R|8_dFS*Ci!0wCZ#fU$mO+m(bD z#Q`{ZIgaBXi^OTI(STM8W!vo9`$)3$^|zkfVTq|oQ2Y=L<`>D;Dh|Mwg7mMy5U+m# zM=4aktyZ2=NZV#;;G3z-KMhR@I5&A4CTBrZ`;CE*o;40D&5516TAC8|jqzY88nW)I zw`xMs2!>H(#o|UoLj$varL+B?pBnt|N8K@*|4gc0o)E%p-^rdth_)J&y}J|CHCiOY z0qRVHgn)nmOG9SpCSQDagG)dfnDONaVE_>z3e;?26B}3tGF30n4aPr*_-uqP&jr3b z7x?mA;LCG?FV6*m(b3VewMrxsDGSVGGG%@Da$IwBvncCaM_J{0DFH9VRiZ?m*AwuP zI4F|m^#r^o4)XH6o`4s{0T^CSz^me*!U@Am33w^45+(Ayo`9Fcfqyg975){53w(Jl z@a4I{m*)aso(p_=F7V~Kz?bKOvY(hu9BbDtUtO+vBd~R#r_zer7)$k5*B`>RHdYiSiL-}B&<+@tph!xzi(W3oZP2a`M*aoCZNYsy?PVrY*fwvXAIc5(u(?3 z$H{$~a&Z6>P}?&-Z)0p$EwCbREY&O6L{NX<_&rxuTVYFwZGqN-9?81z$^O1^(K7h; zcFxhWYqd4T{%p|4si?{B22+F}{NfyDp- N002ovPDHLkV1kPoJXHVy literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/2014shop_background_img.png b/goshop-web-portal/src/main/webapp/static/images/2014shop_background_img.png new file mode 100644 index 0000000000000000000000000000000000000000..228d61961dafedc0e822e63352e840df483f4399 GIT binary patch literal 6510 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/CP.png b/goshop-web-portal/src/main/webapp/static/images/CP.png new file mode 100644 index 0000000000000000000000000000000000000000..1accd9bf51dce7a7432bcf4a3ee7065a1b46348d GIT binary patch literal 3212 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/buy/buy_step.gif b/goshop-web-portal/src/main/webapp/static/images/buy/buy_step.gif new file mode 100644 index 0000000000000000000000000000000000000000..67161c70d43fb83e4336ae39b17c9c2a66dc71a4 GIT binary patch literal 3140 zcmeH{`#;nB1IORH8gtpk=3e`(`Q}zuB&5E(5ke!CkRu%3JBlRwe$U3RE^01aoN}6U zQ=M9(sMMNEl(gj%briPQ*4*Z{q`toA{0rZozt7)azdRq0=WBg%ppWm4OyCa;04%Li zobS=Mx3{a+>Zm8$viFnk$G`dAAO59fs`{r#M@I#3Cl(eK1_uY3HEPB5yw_dTk+#v@jU%I9e@NAa?(Xi` zXJ15pQ~i_kouhLGgW>+b%-gqb6$*vREk$6hdVYSMQ?JSG82^jT&d$Pj6Fy>e0>yk1i%pK!aay!LTQZTNAvTOasH-97e={$Myos*8NAEqFU# zJ2bPedE~juzUpZgL2{7Yz^hW3Z@rS|LR$@$E-G1bfu`RLqZ#jN)|RrmOObb~hW zh3?qvG3P49jX$URCcgQJRgG#xdh6(Mxqj5}Bei8D=%Ko(Q@`?_it|KU`C+PGKd+tr z?tWW&@%^OhEyWw%T!YGRxo>J+_3-Ua(|ejm{O=FPJ^PZ}sN2=3t5wWA7@T>cFtlmE z9%vrPdpn-{W;~=``&?~kRvY^C^C#sK&Dyy$@ANnNXZ|t|{?Gqp0GdO>jKF!|{`dOt zCg_+2K%@sjA`##6Ji#@tRb0_nfb*!837G*+g0)_lOwj;^jkd^4pT_86NMktLohutP`_S{;PCS+gGyYt+p)kY!Llff*m*@u&L#ZfxQV*S zp^o28cp_g7`62K|aVzQXD(3^@6NE47T`vyc4 zKD>!Vd&R=?9|JAK%~pP2Xo zAK}6OeWy`ndC)lYD7TgWL~UY+yxGn;4fn_{j97i!@cMn8N%+)495a) zntu-Mu>A_tq~I`#b%I(hp$2>Xqf7{2AsFanrnF(UvDibU=K}594tEj|{^XoQYk8^k zVrolSPSNh}UDR_iiQTHa18vUo(2c4Zx+%_|7LCo)s!Gnd1c{`meHlHCh?M38?X?Rj zzwI{h4s7C@ta{cqgg94?S&B>#h>{>p1``5t#x4tt0HSfxARp1e<20e2oV(DtkklfM z4G)>fyNs{8Uw}KGnkpf7=wH|dn`Cuyvl`4_=U|t5Q!k(T>e3VdfJ3Y`ZZBrTJ6x#G zbv`yYIXl?c9!Il}`5bR^_f!a5@&ynCWiognbn+a$l<0MK>snH&G|uq_rz|NDL(hf7 zHL^Z{`YBQqWWq1SA>bpu+s+35p2~yogUv_?=zm_7?|>948#BieB&#F7L9?kfX+@Vh zuh5Tw6I8`tk-uF_0|-PBv*}>C1;(@po{>+?<={rkKFd7K$)No(kyOhWjaGY=BMty?9iTRar#Ww7gHNPyE2 z;u097$p^f_BC6?6Hbv_N9Hgsw>6VZ1Piezxkl&@9&?Z2K*}-#``BYf&oTcP=4!|P0 zCh?s20ShTY%o(x>XMNNf8}8$wlo(Ow4w+&yM0Zo`C8!`eZ|CpgoM2%xV((1`vLz^R zWd`|}xtvH;HuLuPpQJ{lcRZU!z>ypV*0+jlO^C>MqylVo5O=X9H!zP12b8C5+)bfF zTNm(|J6Lg9_}B3iQ?c$EIMGyyqgY9?4p~XimQ6_0go^Br6%6toF^^g|c~*SN$$d2^ zmrl2!FfSlsDL9_p1s*PHmlM%k#`8!AW<3!Cj7c>&rAHGeer;@FmEw7Z1`>Wb!3*|# zz+KG{r53tHvK~|L7i~hxv28`tMTtnNZ8DHWVTv@RB~Cs8!D+>(LP_ry!d}&@(x{$g zJ8#uoJ1hQ~g5m))jaF!>Y&&2f>vh7Q!;7cMC`a2U7F&|*2CMRn_Kb>tScNOS#9vw& zQWdf-%Jp`WCneFc6K|@pb-YS9TEF{xxOJ+PqnGCmcwI>Nvmr|nog22U_~uS$smv{6 z7-Is3i2NEKU0>I9DQdDTTp75!R;AuxCT~@cDBeUF9fhh6tkSi z`u5=cn_5HHNkMAJohzmgA;CHkd1^K^bxHT1Ec1e`4)}dLPP>GzTKum4WDOY=ycZLJ zx2¬X&@F(kqM3fPRafg3&a*JzHPLRMPpP*v)r#uF1XXxZu>`nb>xGgY(OepNe}R zsG+k5t;4m13_t9sC=FPePh@v*c27GgIOv!g*A_=dR_B?7Ie5F~t>r?IbHh&Ju5B-A zW6XpZZCFSF$;QTe>E;GLk{WY?&kl$3Hb;jEbVb7B)>jvA3c|*S0NQ~UX%P*~zS-51 zrU&5b2saPxc1_s-F4zcX<5q1YLHHj1+L%gc<9Kj;tPA%%!|rcIf&o4w8Nwnnuke=5>k#MHrQ zsC*j$?%h5~?jgT$OXrrHu44XbRh(z;3@sSh3xKc<0B3apKT51D?si%uPls7d=CoQo zl{8%{9RQE(*`%i;=ABRoevbh^YQrpG*}OE%$Y`(4ye1@YV67%D(nYRx;J0s}>t=ZE zt=M{)*{4a0^0z^!FES%qW(xw3Yb17Y`SFG<^VM}ZHd%kRR3IjSZr5p}Ck=OxlAP`y|29qbH1Q zqP;u}vI1s$-;(V?-ogJ4B5XhS!RMoEHFJ^iU29h*!c%e$XJ=+_c{JI?&3T%23?PoNQEicg<#4#?E<8mFg=gCwe^q=W1pz>K-66?= zwq5`hRY+hNG?b;!5ADXw^y~IaX?i7x>3e)h%z=dbWz^);9WFfk6Ti+|TkPG!TzrjZ#^P z084#d0swj3v)LcQi!t_V$%_l$H5-2=`u|6Wrqa>d#8NcnjDv+g)Q&aAfHnUGcFG0v literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/buy/cart.png b/goshop-web-portal/src/main/webapp/static/images/buy/cart.png new file mode 100644 index 0000000000000000000000000000000000000000..987518254e37e9edab0b0ee0f8fbb8a9ca8f1fd2 GIT binary patch literal 20399 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/buy/gift.png b/goshop-web-portal/src/main/webapp/static/images/buy/gift.png new file mode 100644 index 0000000000000000000000000000000000000000..fed07af15dea712a9c69486b6dc68bcce56ab580 GIT binary patch literal 11680 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 BGamo| literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/buy/pay-use.png b/goshop-web-portal/src/main/webapp/static/images/buy/pay-use.png new file mode 100644 index 0000000000000000000000000000000000000000..b3ef09caac467593bab3e932834dd5e4dcb5b692 GIT binary patch literal 649 zcmV;40(Sk0P)MS@AC2{DKImQv!?XL^MmWK zfS4gTaWD<{nSWyqu_j9D1L`Yh3R>`Ugr2#NHN;G{)gI|JL3-(M<^Kr}{U3PPqf!Ip z4u=Z?@`cL*0QUiB02ly<`$NFz7=@m-^0NZux$}W0kUJbE1jrXIPGDs4r`AaVT%N#4 z;5DnK)-gCF+=RozUF&BU4wVEKCy)uREH_i(rzTI+6YEC^S4x1(6G(w8Cxp24m7Kj< z9Zm)8!M^+@{9G>uHwut7_6XpVzLB##8^JeLzsKPBy)z1E79b6-{8t31th8uzZ;>9C z4)y1u9(XefW*#8xz{Pg?u=FwZ?2&g?gP8}&JnhxpBH1gSDXna8PKHYX06zwFI_wpK+-M+E25W*dA-ULoCSDL^F zz}-P!EEVs9DSQj-_n86I&TYV73vV@3I5tLQ=_=O8egpmX2;tYzcZq}m+Smj5O{ffY zhJe4p`YQT1q2vJZvA=*WqHP$$yRbW0uc1Fu05L$?fosCA!0$mF8BU*I%UHieuaz7? zI&gKUsJxQ^Z$h`wE@8c&441BA`M|Z+BsQVD&~3n4@Mq8~Fas4vC@Fw^;Eo_0FgKb8 jMUyb9vHv@spfT4Uwc=J{+v#%s00000NkvXXu0mjfpX4aa literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/checking.gif b/goshop-web-portal/src/main/webapp/static/images/checking.gif new file mode 100644 index 0000000000000000000000000000000000000000..c76781b3f054473e28412259d7e1445e80d61a92 GIT binary patch literal 847 zcmZ?wbhEHb6krfw_`<;O|Nnmm28Lh1eodP;ZQs6qH8nLoJv}d8ytr`TLQ6}_wr$(i zty}lu!-o?mPCR(*Dbt1zY&Sa^qI+3vm@-=fCJMANcD63+TcfGd;2HH}kxJ5sT^^GrShTD#RgYwdvp2d^Dv;^>*ukeVSP z#B=a~f`cHJ&w+*y$${?8Oio*#ZVND-p(>EUKIWBN~!-=PoMa7E)TM@bb{&gvNw6-cYw?l0|nU`IZ*E z*8H6IzX4_q3$isJzX4-!g#(YPp}?V&61lMw$9GD2^jv7Wp}{WD#bUyw@LWSjVwsy_ zq6b4n@C=T|T+=068IxQ*wy-g*+L@T7!_}wSP+%;Ud_;MJ`VZbWO6(?P<^gJ25&8`p zJ-sS0OIeXEjfYz50rVKhG6xfeLz|8{DtS)i*f48h0*75*E32o0N{2+RoVWQVUJo7i zgPpo1&00;(u2LcbOAhN^Ojyy8aDeHjfMF+x#D?h({d~^m865hCENQGUn%zBWiVW7E H000W>0fLJSS^xk57IZ~ebVG7wVRUJ4ZXi@?ZDjy4FfTDO zFEKO43}!w60010xMObuGZ)S9NVRB^vL1b@YWgtdra%FdKa%*!SLsK^Byt0e{00E~- zL_t(oh3%HVb;2+Z#((6cPc|?qT#F4L699$km<~P1glnovjH2BA_wSU zfh|A#k-V2{B%eOreUf~C2FK%(N6OPfz5f&V4FsOsY_eL-fCQL|Y6qloX11ZW2BA@4 zwMv1H8_SzGGf8g*;oG@ zAn5}eLSPFV8sH9s?UsPV_ND=J(`O#YJHni$O)B1VJIu;BGjAdG+Jxb}<(gN5Zven* z<=qr#W)NztZ6Ycg>S`sl8V+STqFNQ-PbA{ZG$zyN2CPF81}4a*m>yq6ceEt%Eo6-c?XTqnt|zEc?| zj;?SBM8K!jY6m27W-6Jq@&s0^kvO_`4zP4^6JQLCWlsg;$P~!0aDD>fTzT~H(`+O% zca4pN)Qa0pi^7v7eFR=^7&ysF#=_B+@@&4--?i-{P*?FHIq8{zM8MMLpw4!yOxUIT dsg|r4`3CoOkS=!tL;e5&002ovPDHLkV1h~H^N0Wd literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/delect.ico b/goshop-web-portal/src/main/webapp/static/images/delect.ico new file mode 100644 index 0000000000000000000000000000000000000000..4c1e5b78f32f7b1b1da03dcc8b16b0affc5d0ac2 GIT binary patch literal 2462 zcmeIyKTE?v9LDiqMMNt&N*8N~3XX2|eYm(gxw%QHD3*c+Tif~DVgr-mM46Y%O&?qI4&{Eu@wr&zGTfAvw1UH23@uS_5X!ygSnw$N4C#q z;NNGU$P>0vA5rCe5wTgPz%$^VAbV*|0#+^AL;zP_H-!4_iE zpn&S1z}MG#54(ts>gat>;p^+&eLv0MOfvEc2e^Q*e@wfDOH3d%(+qsT8E&9?k!z^- zEv66}{x_yvth2HYtrwSEClhjLi} literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/gift.png b/goshop-web-portal/src/main/webapp/static/images/gift.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ffbe48118cb9071e3ec17bf1baf009b3bb2ae1 GIT binary patch literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%EX7WqAsj$Z!;#Vf4nJ za0`JjlFz@#uUzmiN$>)ba{R7a|0XqLpXhPOt}0LC_j&Rv+@WgnOon*on+{iYGFj@U{5n!B zeyS(2*LlTlrX{?46>HAzd!aR^hb8HoDw1dr29Onn~-0?^O-aMsL!tN$rhIjFa55onhyPuE{F@H9jm!^K4fWS*>u+ za{9GzNpyM&=&T+5D>qQ+ub4#wDGnYGHvPgCO{Wo*0k1R4gtCjNDFlDn@ v?8R%VyXze4>q_%4NPnqcVEcdirpWoh5@+1z*>1B31|Wl{tDnm{r-UW|PT`^r literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/group_bg.png b/goshop-web-portal/src/main/webapp/static/images/group_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..03d8b23a6cdfa2f6e8b600c60b7c4ca739289c84 GIT binary patch literal 1510 zcmb`H`B&0u6vn@V3uB|v;+R`fQ*PO4nHwo#poWuLxJ)!-YAz#gC}N_CIA&&9W6^2M zaw*W_dGwmH_p1dsH^Fy z0RW(mIgQ2w0LWT#KMPS&nnbb#92>?zG~fR!X{rr1m%0Hr3?p#Vqc7a$0h&H&$v21E5M zkG;0mz7+CCrW*D~92!`7KpQA;ZXS@d0RBz(t}Kk9o!L8x6>wP6k?LmpDw6EwS^_$c z3mLb!1|TC0ULZIH88o;tDYm-lP(0hxDe5cyi<@c>ZVbZ8v?bk6_&@J2vDO>ITlQ(D zJPdOAZdN|G-1Qnef@_Zs8&{JQMB=62m&W?Sw<>na(vVe84Q^hh#?&qbtUa-oZ0_hZ zupBAc1{oaVv*WuY0v9Zm%72BsGhE)X50s*#Z@;I3IxLwqqP1pQSlHVB^_ke zaNQ(H)Pt-hGJazihdr`KfFY9EiZ9E{BCHXCIW!6 z7CE6F4WXn>eG|L&4Wp|rWbnBYQ!Y%>xZJM zn$a<{W=ZB}-`uvU9>?{D%D|-^`L(Wh+!5xH^|dqSfRej0dCaVfjQ-eK3a(ab$-4|& zTEq7)O9@QfZV1lMFscA$Xz&$wDCwq%p%DNb#rgtrs(ZBqgU(blj}Y60cEtzn;JVMM z)oM2B9IZsT6Ty6WJ#%Cvrj+om`9?&W9WGo|cR}~}UJW%v4DoRZ^)_`xRG=4BvO>u; z^wXN&Y-jeAdGIFvsAm0!ZsBY7X;{(V(!=t~&4+2vPsa5X`}MRlKlZ(a=l!~5pIzK9mSc*_2dlc|H$hJ6YgcS zOXKT&9g^10(yG{O!|=%V4HVC(93d|&PX2AGM)7W}dqRG>vDzUFoo?*4XQGKFr-+v6 z#sVxyG`}N?kyUBtDPFnKFfyvjG*&CZ>nwj+d%BdsX0vk(UdZkd1rPW!tU~@`xgUY# z%liqw=F`PPykEcV9N2Cl>c8{hdh#J~*N zp*9!ANK}Pr{=;jX+^6{emgEi$48$Y{Q)Rjj-e-S&bg&2yC%4#MAQN#VD@M9ATc&BX zCzr#kr@NSm(~pLSeYqS6((72kO#qr{)^dP%KrmctQi@BLLKk^c@X7q0rK%gfS}d#+}o tLFnuLV5okoI+6sj20Hfl1OG4BRBp|vuH1R+*suTq literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/home_bg.png b/goshop-web-portal/src/main/webapp/static/images/home_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..ed553d47eacc770731a5de4b3f4027c3e488414e GIT binary patch literal 16713 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/login.png b/goshop-web-portal/src/main/webapp/static/images/login.png new file mode 100644 index 0000000000000000000000000000000000000000..fbc46627bd03c3030824c09acbc69ee7420de8fd GIT binary patch literal 21443 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/login/2.jpg b/goshop-web-portal/src/main/webapp/static/images/login/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..93bab450ffeecc3d93cf3838aa46d134cb9e91db GIT binary patch literal 38782 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/login/login.png b/goshop-web-portal/src/main/webapp/static/images/login/login.png new file mode 100644 index 0000000000000000000000000000000000000000..fbc46627bd03c3030824c09acbc69ee7420de8fd GIT binary patch literal 21443 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/login/login_bg_01.png b/goshop-web-portal/src/main/webapp/static/images/login/login_bg_01.png new file mode 100644 index 0000000000000000000000000000000000000000..75ff5d19b077acf690a0db0e644c59fac77fb725 GIT binary patch literal 8232 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

    +_nMo(Bur;}dF_1o(n_j|#ySbQu()3^C$P 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 W4Do6boS7BT01K1ruqtEsg#Q5$Jb}&t literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/login/login_bg_02_pic.png b/goshop-web-portal/src/main/webapp/static/images/login/login_bg_02_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..855d8938a84382663221d13203bc9d07d8996dc4 GIT binary patch literal 30600 zcmdSBbyQUE+BZIkG!h~u-O>Wm4TFG`v@{4vgMf4lB@7`TDXkcE!_Xz*&?8E>Lw7gB z{5Ie7obx>AJnuih^`7^A*6UiXz1Xwwdtdie_Z6ReM?cq8zK8!19|Qv3Q&j=$fIygx zAkdv%Tx{Tu!HNeJaJlQLpsI%p{0qdjfdYTyy;d>u1c3c^kKvwv105JZyd3Je)ik6?H|{TdL!L=O}KUQ}nR4dgI{c%BbhyVha*@ z%rEeSUqEQlP8+6$C@t4Kl*%q-DOG($VEHF;>DRDa#Lspt~T>JpLTD zX*?#5F}7+NRn878RC2X3ry)a1dlBPFf88qLOye!1#e^D+&@YbB3wKt3{q_Pj`d}c< zARYr;V$U#8o@w>hthZBe!|#;n*T&i!4plne4ixUG{+enXI>uGqXar3EpSM6GT+?0E zC9nQA6+qXo{;Cc~@~H*=e|iiU=^ydmXPfT1DR+$gXY$^o%*Ft!{=P(UiWgE=WKpy8c-wdI915 zO`ZOedF*Ls|MVD^L5V#9@Q#0BLB7WS;vM3Pn*YRPKzBARr}Y0T3vMMVHCg;08uxd> z>Whe${Fhrggp7b$BpF+S-UFA>hnP^{@@1S#4!E$^{Q%usO_4A*$*u8}352Ks7sq!P zVBn(T^uIr}rf!`skyVv=I(TJG?PGl*-TP6ZTM8U!nD*~Z((KQYzc!vNpPuDZ-FY0M zQc{4qeMhp}$2Ut%J5S@BUh7e_m3K5*kWX-Pk#M!D-h+USi;%S%bypCjFP2Fc9VqWU zylfQ9H74&Yb}c?;M&Nar?X%<=9GN@i(SqX^k%!lfcr92mwM{<6*%)BsU>xw|B>yhX zyEzHQJKfaU7*cCDo!-rpt`!Xo-%J{F{*d=Zxf1xwr!@2Jk0tI5N0S_4oMUjuHI-ln zKCKOuqcx0=wpNE2P4UAdSrvMj_Q}i{wS#avD8b@a?;a_l)`sb|zY)dmSRgOTg|QPa zrWv`Ql3-i6&wCfV$Y&>C3~_xP5l`#ack6%VJIyi^#Yw^GksppOkudCDKw0MxO7prt zNNC5QC$%lKh)g9SeFlr2(X_qN;tU@$krI=ALM_wOVZBJVzm@3X1NC^L81X<6suT4{ zSrVMlYw#|J*>c+e*2)yG);Lsy^x_Yh=oZ&|xFVqKI#04zsZ2;*kq|BD^DIR`QALfA z@u*5s?~;g0wq|naWtRH<>vlCoZ@Un&PZsX=jsA%<$e{WAshVZE+Z3r*%(iM^*fT;2 zv0Rds$0lN@oZ(8rh>Axh%GhRJ>H#TcEkq48&ebm;7t+KV=nDIuGPKJu->g=IRD=TZ z>pz}h?(fm+NC)F?$WpAh@8N455-UN@eN|KH7bx5FFxvHCh~3}?65ADyeuG529+Akz zsIqBp%S1Y)LZ8Wxi2)Jl;T!ervo^*}-SBMP+yr43%wA`D(v3^^l`5KiVI-yxw=WI2 zr&{p=a-us_MC(Rhx*zk9+#MMumSJ()x+Ze)b&BtF$^BreqAIE3+2xgz1t|_fwMoua zPIV?_&bFz0Y)kitMQYn4SI%Zdn}&dGGwv3cg^Ly!pG)>K}xjF z?X37HPo$0X=CfgI6DrFD~_Y`{e|iX3G(7f+1M6 zjIfn~6z69iM_}F&a{QAso;awDtz7fr8$)G?Y#?;0i!B_-VfF1jC;_8k#~xJB_{8WS zFkOs&mlWQ0Llzt*R=%Q?OlzNQ$as%=YXvH1a18Yvu>(_IoF8vxivCj+2-n6NDaqr}nmKX>AnI|)AprRkvW38L4?!Jr9NbCcwtM?-~GsHc? zv}EKF3DKA*t_Q|i+XI|k%5@gUEh}P)1lU@BMuxjfoFm4ba#IrvB-PhM(fF3R-JYwp z+H-g!(2tF3*}Z7_+FtYflxB>Y-lKPlY80o!ux*1JW-nI5a2W%75Eapv2E)ZL`OzgA63SpUZvh%_oHDxE-1Bd;Jw6_M#8}-B z&F`?72t>F1I;J_m3IOX--NakO+a^P&w^h_nryAl|{N9!?QO>SK53iR5v@ zo5qPT8CxH5EeGTe2Fsg{-Mp_hmF9zGEl++36@fpnrKCY}D%3?jUf*a4Vzw76YtVpk1vKq@E9#N8HpKi_y zyCZ`QT9nI&UO$~;JE80k9(Vh&E0$)aeZ-mz=QdF=K)`!YoVKzTe%Ewb&}u`v!M1m6 zwO&aJC?f6PR}R7f8npGntYKSx?%JYTiUr;7Tb%Bt8K<7XADwN7m(qBdtbN})wA}0; zU>>!`WV<@7g0nOd3{yNWXYN<~iU%zgsuCE;n+s&xI!9+}(^)*(!aMkY%iPYPxhy{C zN>41y@v74w;T+neMlDfHPFj|ht@H@z9m3NTLG6A$Sf%!vLVwIL!|+_C0PM6q0oF?N z0iPW&A=lvDSSf~s^i<~Ld3I_l8uXLOPTYY{b~3A1x=5;N4;O1UQR$wC5iU}>Jjs5M z3CCn3O$TYs$*yl=;pSwhT02`@BL;EQt`vW{7bhGm#MatuP%`j~1ymrW@l-!8orXDL z+4IN}HzUMi_Rlz5Agf}pM;}F^m;JXPNLQuOr_plu?>H%#zdY|HQi7dud+bmm>q@$U z5vAp(cgbId?6x%fTWD*B6T92aR98)B;xiOU#Gg`+tZ>~kdEsRonV5O~iwNfWhlN@p zP1)PX_=JL_l4e}cfh&+O>1bcHhoo8p7F~G&fo3q5q?T*ElsjOm(fi z(0D;@%&QTV5L{s&T|MJL$Fxu$8Ekkt%xWVWXtcbv}cpDM6R(7 zT&?nc>U|D@6)`(C+dGtqm8&(omYx$E1NoUhm`JgyACm*u^l4)yjQhSfc3jP=>KHAlEYFb-4 z!6S8h6ZzWUGEG-FF!1Btcrnaa?w1pC!O3si8ZzBnowQ)x)PsgKF31YIkm~B+2np<% zMBanSR5NG~I}nko%W%O^b}uW}Rud7@mQB0-W01AVv+-*U!J8#&(!0T;u3gx)+U2jL zH0hu3Y)zLJltRu`P}T~j5v~Hcq-eBZw^E5UJ8_uw(>zZ>6?GQMsFKr8pVB1{zh{lT zi~QYKKVj?w4%UP!{f84@O-1{b3_3v`6O#EKok@?L%4ROsHTO8>x}!TT@B|<-DP}qG z(H%!nF)E0bx@Sh-#iz+UpKkI^x|g}AgvD~KKxR#O9Y5UIhCkE+)2*CVdOO=| z$obPJWxXe5$GiobKIbuoSL%Y%9adGSCzp1e#U;9dujVXU6pvlSznV5{fv52UDy!QT7ggeVhEydM@^yU{S5_u~PP9c;v7Uo~PbHQ`Uz@`G?)rroK8S-GHuhPIh5c&g>h(b&5vi6jKwe!}4uSjGyM{rjyMo*zYmN&DsD(pE%Uo4NXgQEKcy4k7eb)H~LS#$Q|`+zm(L+5VCE+VV0PV;PT> z`I0-K9&B|T`smBp+t<}~OB~n;k|eX5Lp5KMMg-%Lzya1eL#&QVQDb*T1qD;Mbx!hD ze)EUr^N&q)#m-npaeO1+Gs!UGoQ!&@jne*{=aoJD%tby1(M>P>LM20CJ-puLTXSY1figr1y($>l3j|v#wy~ z;e|Ykg!b=g2?1$;?$(yNMk^dS9b9pAhwPV*LY`7T3+9FG>=m?kqQcijl80o*|J*Ea zuBj9p-q3VYUaY;8C4!dVUrckP@Cxrm^Ix6>b9+VyF(_#TNh(bgQ z&@`&(5Nzj_-ryFo48&09`cBG0U@ z-&G^5y!(8$#6^}@Hw4^I&P^8i zg@Pk_YXyjzf3g#py<$NR6uX}8Cr$m_)dyigPw0&#AO{wXg(tkr}BDX2d z)}&-ByM>v52QBm&M~IFrl$jgNKwfdd?T)+&vv(YJ)xJv6J(l4J>#~6I88T=SJ!${C zovVNE{>7OT2mX!Mf%(Nnm$Bn$yed(qxY~0s$91J@EE}(ueABHJqZRKbix)=OLUVn> z1FFFc#j%OD1R4-E4LyHQWF;&0#cSO)CaSy#VbP+h{Jw=HO-owvIc6Iw6X!; zx~(l>rNl0$|G^OTOapjrs}lS#Gq-qZ99%6O1#|5l6-b`hp>DcLQ5Mz^xL zPSc&fpMB`Kk}ykmC7=>))y|svcmd?*bYn6Wr;78j>-^$yMzBwegp$>?#Tsd2wlh8Y znf5#*?W@8#1nbF}xQSz}uOA_mVbLY@{09AbYVKkIAz^v_4txnN6%CfFID67(T`P+92Z!58K;nygc!@2Vg}2dUMWW}ngZIQDYG z&`o*Z)X9l1($vLpB$JSFXPuO3$*_OdM1KPOiSCUhV$H)D&RE}#0eKFYp25f~I9)le z^`c}PEO{r&<9gZ4llnqE7#(wO^QW|I$dMfwf&@W+H}7+Yh?eZjVgFF7E}j40j4*s?gvBYS<->Cpf+^ zvhm&4;k(2pjrqa5xEv>xnc8W6F}fpTyi+W$rlvTD^`fRUj)2je>U~-qFcGjNCH-Pu zk}aND#q)fRQa!5KiiqLvFG-r2BsMU{@tWYzT>jogu#26x88Q#yqQ4^ej3}6TCdv0= zIV@skbn6*ck=1}8NV|r5;z?mo)+>zf1e+Fk&N_V8dIcqzVl-*BuAAi+PgDsMxXV>nhU-tz<1}8omRen*W*w1`Z>2JdBFt!gyKOStl-(;XTci@y9yx?xtJED z*4h^2dk_`Vj)A2G*0oyqJPVhM6H`v!4;J4qjFt)YsO7S;oWwQmbEOqs=?lL(Cg#gq zt~1v9T^>GcY#Q|wls~I`yl2ZHgLiMfY}|u_JQQkUt__Y_4=0W5Y0}_q4xOer zHo@CBU*y?0bcBagTQrhuL&V6&4+r|u)wPul7t20Dvr37Z?&Yo}Ys4(MlGcG+%41)6 z8DWFZ2v*6DE{tHig2qH85;xX~*^xrcwsA=W5RDmO#i4=rKYvXy+WM$^J(k03f~yz? z4lw=o#d#_ZsQvg?5{w^adSAnKb#m#2Pn+8N>;Ad(b_*>UDl%+~M`0EN0 z10}oBjgV`&U~lO180e1}$%a*7bMOf37Oim6ZVxGcoQhfpNKlqqj$#UH!2QvHZ4$*h z+Sf7;TX31*c`9erbVS&7rBip9r3sVE(N*gN9A5msVnkr$JJ^XQmXxI{DI5(0?@jJ4 zz=oqy0>3Msw!)V={%me5E&T}9D`=^8E@v=Quy9K*4+-vk$stnMY@qGMlLc^29#D*6 z=b-29B0nJ8_jL_n8)3M7l5u&)V)b*j2Zk!b7G}sjH-ZWO;sEtx^GDReUgs=}YW-fc z>|R(cHg6ilITQ})KPPC+z03+?&vH@wl}#nL3OA}8ttg|e{AQL|L_n)~(3I`ynQ*|d zH_#6Q$W4L-n8=T7!HAZfy}R__kT}V+9Snw$3Ekb_hTQ^QdW=ns{Yx?{o15Y49)!uG zAb`ycoVzZX=JZoL_Op1j?2^%EGx^t7TE*};hAbR((3{%HQ{Naw(rBB*IGUX#octa9>{hQq$D{C>KneCn0!eVXB%L&e5TFeWpW9Jf>G z%IzThr0PZ)JJDh8@r|#pPgy>#)0*7zm{8y3GhPAA-fJF3kUMSvVK3PcwrzTd`;4X# z<~YwBj(;~^z-XK8S@}(}Uyeay5ON_GQ}G_tGd}G4*-dk~jAdk>NDWS+JDG*vnXO(! zuQh|1#(8md^Hod@!MJ}fe?Eqd-!k5HB$eGkVS^cI>g7>CqDvFG#D#$~I1jm~oorV% zv8X0KvChBVA%Q2G^{2g8%SZSS>CM|6IAPg~+kg(3Cl8C7*|lAhYqZ|g3^~I~h-Zlz z!(WAzN)mlhyQcAe9hf;P@z)9nplQmv*%styTG3O*uxQ4^4}vKjiw6wiGS)x)g7R=d zzlqk>_d?uaQ8}!%HUzyusL|maQV&*QYL2HGi)D2=Zeu&$B1b;knqhuVfm$hPl@fKzNAokhI(Wv_6O}oc z)8sep{RF%=}eErX_~8d)_u0n0Sns3u5bY%6-ywb6vwX9nAgvP*5~`c-Wrdt zp~wzCB~@UdDP9oji2%xVxY|eBwd>(vZzYSFx;Kp$w-dfdzQ>>`- z|9%}GxbdeKBv^64K=+b%7E!aUmsj7x5!W7~Ye%axM_t1@l!0LrTuq}leEs`di~rJj z@=2|-pJ16}Vh!X+k$lCF3oK^s60*=G$R^F|M=17Xn>jPQ4#7QRQ}VrGH%;7WYzZks zoP!L4k6B=QRTRf}Z7pI^I9LIE(cSTEDh$tztzB&Yt3ARKX)cq^?(XpOGP zcW+L3kS!^B8>1_pmY|G0zI|e(<;3ZWI1}c;7N-l(u~N_ctubZrqYtcvHq?Q412t(M zUs*J3H!d*j2Sgpl6kFVucgR3fJ( z5SI)SiuzuQbPtJRLI!c8r*-=9Xd#0E&XF>HlltlLuA@JufT!G|iv$g6nZFx!#r&Ol zvbn@*@L*y@T>A%+1LS=#HuZ)-!=Js8Oho-iminw{Dw ztp$qdGF%dzH0`0OM^v9tt~Otr=EuvXih0|b`_*#Yu{>uj z0u|seRBtoy#nS9xzU@b|s%BC)!&M$S8DYoVcI^B?|64t}0c)H|^J7hW-kl{MvzjBS zuS(PG{U1kJ5$U`KvW?>W*t1XRq+~IPaHN98R=xaR$k@IXr(WTM(C{35xSaSX9HjgL;-`|UJN|hyCiZs zq&ZI9AzS%^Zdeg`Rx`=Ol|Z+ca(Mn^^MGa7@P-IlJ@r*;b)~Abeb7VINSd7gcK#|(oqB~?pWYA^cP+&x>-3^ypI4J6j2U~<*03MJZ&asA;@>_m#~W^K;g z#C^$cEyae?TE1~QbWz|b@%)ybQ%qd0W=N`|xaxLPA^hk=t)U;<*|yKx{N%-|*w>S> zPlR{6`Zds}pJ7w%{eua!(oc7u!(cW(-yH|$>D>kP;tr_*W-7o!YVESB_mEiHe*&Im zG%(>G`MKxewOa^xu93S{oJ*;vgEOXCiJ({D3@Sa>_(#Ow{l?gdzZrJR!wj!yUEWmG z;cG%YUV~H8om=;*zB;V9a|{ehBG2pej}CNq4IdwUFqBTa$DMBMVnGU7&}HVK6>ON* zOAzkrH+A(?%sz{6ppnz$G?65t3e=P;m)Zs73y`!HiA$f624TfN7ZnT9O`c)z9~N1W zcgy;N(hKMgt<`m&U{X+v*FNkh3SLX;TrN~>oXe@eIuR(m?=DUqG9&NG$@eTmu2~>8qlREplgPjuy9Z9Sj)xb5$R*p3F ztS=d(cE3MgYL5@$>(va$G`rqPzF2`KEjM1a&D=$%$A0|SDhLxV!} zpHqtA1scef^q|!!>0ou*D_5#ntdfC6>x>$kvUcs2qFs@hlqHUunT;n>KAN4NUoBP~ zb9-086%^CXO}mhmc1sHkNJj8PtpYY`2W@a6Z8tBrawFehj9s$w71AtJ%F1=jkk`q^8m`)?4*uAN@~7c_Ey)EZ@~ut z*H8xk$FL1F_4W0E0F>yeL#7gE`%Xe=4stE0f2lbYPERiDMu~7Uq({tny9eBL*59p< zfs1mtyOFoAS?3__6anX)^dy7kqv7lVXaaM$BDAFKinu4J{_rXadA5nTxKeV57|kA5 z4IppwCr?WoWEUD*Td@`w(EAKD;J1+Q!ebvUS;IY19I1Kq(Z`A5OPTv1^j!4NNu&xEuJMDD7;+K?L%?t7eMU{H7J}#Hd3$*MzG79z1zW& zz~CygMl+H!8h8i1;|vqFz<8(My=q6C)bun|E&t>e6cg@pzg5K_EM067wf;V7?oXLX z9T2ENt~xZ`XTH%6ymtj)7nAW?P?AHKTUJ2_@4m^3bbV-7zX)Xq`A=Tg@HSIm65=6> z{V-f=v&9monH(~vWz2od$V32=^J;<#J7vu!k$%ME0K-=yBAWZ9DcqA;{Y|WkPqgKs z;>sBj=?fTF`<}b(Y_`5@a5NAoC?@~;Ody3lFVI48MWmhH#H0|z^o0#Oal-{udDbO0 zq*^#%Eh6s5s9XYE0?&HcY!S*Itq4=y$uMu4S3H9MoG0|l>vp#KJhjmT1?|CrGJ2GJ7(|u)5deW*($RZ>VqW&sx zT`<+*Dy7eax(WQ;5BpkWs*DTsJN*dKT_ez8lj4wmB|U#y;wS}|T~^!s2w=4_7Tu!I z?x|Q``HtDHh2%#I}u@-5TTtpF5LpLIY@a!8oZ^)0=b4P+8p&N3Rp4 zvw%S=!_-lz@l4^rv*v$b<&5zGvfe4kP zFJrG&?!Mi8yFj}oF^Ij-OG?ETeK|eRgAi{-{6=1ETOEEVlx%%fn}e*o1tCNvCO4rO z-`)g!K6K71>{Wbl!|;LkVE)0LyJ8@oXI(1SR9RpIsetmkMKxO+0!ENFM3DdXlk%t)d+UCHLd3fq zjxz`wm%^y870LB3lQzRvLMA+)vrp3@_p~ae4{*;jG1&fvGt+A?g zwCc&SKTSGIeddr8yV^o>KR1pfOZ}|~+1uOnI=@V_D59WYmpRZ-4}R8mNXh?hK{m3GX~xzwq;FkGo(4V0uYk zU^yg|T4x^uox6$lHQb$Q=#%rVb|Ug-IL&?JuCpwLAQJ}37&f))#mRRQ9j;C_n(zB# zCpIlfn39?SB6;TBn)xJRSuAEdr+TV){$5(%*eBZG0-9bkQ9tLLnXwZ`JQ8mj?&!Lt zWx)sx5~gt2#~h|T*?9ozsF*EYA%mk1cnP9-5b8Qp#qMG+vo_m{2(HPy;B*7~QKqlF z;2}I}d2MiESRX&orT{ciyZn&}R&|}_PaVuCu;>XWUWueWcN2eJ587-Ik z1#@LY3WjenY#Ip3z3?xY3+l?^#fxYn1S5FVUf;TGtps~KakkAbh(?nlS!S+F5PVQ3 z5*ao{k+%EbD)H(d&I7&Zsy4(KneYiHj5atk73w~xG`OW-my8}ba zm4pQsJQQHOt&Yndu`j0FHs*h<=QX2y@&i)lx-DgRg`E%}!C6;#S-udPvl1m@zW%gK zRqXs3EVWw`C>{0TghP*`5=wn?YJAsbcV3;u;4(h!;uGt#6`EQ3uv4si!so%G!uR-v z9fM%V`7NCT%h^M!B{uC5I+B{L*|QOkDe!_t=9bph`D z&VcLS6UU??Iz61hIY3VW{3*-U0P90A+wo>?leo2EPPu;L&Tenn?LI3m7($p<_He1m zLjQ_s_!1%xC|5>p_(tSP%sMciV~#ZlyJY5$ju|&A_u+4%m`vs0b4Kp6ed;gL zFm5gH2SsA1pt>nwj*YKghTsZ#*){auDX&5HRmU1P3uJ$Wz__~H1u z--tI*VLBVbW2AePcT%kCHG%2QWe#XBSM~g6K7@N1l(V#kwyTw*}GqSoZ1;evcwf2l|}F zl4J(hBqq0o1_@8LV>T;LV~J)%FU8vd(ixucP5hnDO;%%5PXXH*TcI-I{eZDt?)3qq zgsa&~n!ZZo#v~_E4hRuygtFzGIH}~G=akz#z2 z?Eu0S&P|PQzEekh?@lgTf*->B+0_K&SlSK{%vl3^6Y|E2^bP@16~Vx5vOnGKx47so zTeH5VBia{#c=Vf}n+fC}^wR z_*NdY4Ai;;@u7}xwMmm1f^rZfXqvFzRQpWG{GCVq?;n62Mr{FE2UTP0Lpz`(XG*va z9TCzz8F+A`AOFD^G9!UR0{^%d|yeFqtK0!_w`FB>gU)?&BxE(6s)+(z|?*AKj`V8)k2y83sq}JRUHCaLSTL!iUll|G!u7Jb{uizK6O1F$5B9)Ub3Lk<=ccIhft6TDi3{H5;c9$;zihA&Sf-*&wt0I#z}m zetOvwXY>Oxj<7|CgUmO2Evu!6=S=%w4rOL~uCn!Hw(@=3bC4HWv1?juSBO+#d5)4` zx^2f1$^2$#jEsb!MQU59ul)6b>;2GA%6B8}f@T05r8F;0BMMyUt4jUi5v-_9t4^3* zb}IyziCRoEb^%cTas8-<^~2V7f*9gG^`PjhBaj%iG$ab{9DPux=(;9D7-~2GlxB_rk3~ z83{x_1fB`FBwoN+qHAymLL=Lc@O+oSChxp_%Yc>pOt5SD{rI;~o@!h3;D9dm%2@irJED z#h?Wpg~VChDqNe#osTU2?zPWhG1=Ohv%mLJJO*9H7lyNDr=o@dDS9%$J`T{Ged=O@ z60hGQv0AD=oaH<-c^=uSbt7fpj=ht7>+dA^T^F9iyzTLTzMplJM~L6I18r-CTNRll z8oBd})3rvu!}{zb@`9m-%B=reo3-;--~>Zvk5GQVb^Yv)j&PA~KEb%plE~<>GX?;q z_=ffX98b|PDgc-zKX&@!-ku<+Iaiy#V-MQ{2yZZD|R|@AfeoN->wKvd9J@lFjd7h`#(wdY# zFl?LhY^{U(wZ?;S`hDU3po8l|xk|OWQ9fWRS(+n1tq{nAb~lQOsk<^v_pkVln(r_I zR!mr}|I)2nBnnKo{-z(X{#rDU@Tw&TBf$Y^t4~RB?P^h*PHsJ!b0IS;g2m)%J#`My zca~fa0utIYH!i>*4pG}a^2IbY$Zcl)4nzd7p=I6&WBVgm0M_5P_PoNbmE0z7k&beNbSK2KekkwOSQtOdLWY%z_?oL^S9S z=uF`Gg!eL$%4`x@$`(2oP*eX!m%OU@)qS8E;B^88=bBYuw_5Cm-=5(rD-mKABP3uX zkzWePw_V~S6(QnGe_S}8S`Hmg(dMO*1g|%Kj}Bh_4iap2{If&MC<#84c@?ZGo`n_l zmgKMH_)Oi~vK;i5W`5Da)}%#8!o)mbw?(mc5`Qp2NlS6&-JVH?*?a6!s)SxVRAhEX z2nBvoKSo6J8CGz%KWSvRJy=#-UOZQMO1;4Ro|o3`QNdV{>>s;Vlhk8o=46%C60JA8 zhB)A@Zrw$W%qK{|%b>>!>?)e2DLkbW@5R@~?MLK19t5%bE#h@KYU#Ua{titFY^ zgAJf#fFjzVxoW~{OIfkBblBC%7ytzUDH$;C&MzBK-`Q^b>@zZ<5OueCv=258;C3#n zP4slQw zjQYry*>2#o1A%s=NRw5lS81bA$e`=ELWWb7bHeO1!1=nkgZzOCXib(EMX70H;J6Y~ ziF|K+3BX?;aqMn?M9cxPNUI-e!FGSLJM=aQ^ID-woO`?bmK_NH=31I8PtZ~X;c>Um z6WzDa#!l>+Uff-tECa^KR?J~dx<{cuPO6#>~2E5)PiiwO+k1swb{7jWR9>K8{ujN&Zme`#+sA$Fc1 zTEgW-+65~^2($O4%PGp05=eEv9KfReor%xM&nd({bX@^)9k{{IMCuhmZ?@5&9CMi9 z;AetyuY;pfycxb1Nvs=8z0ZGQX+}4Vu5~c&M|uz{o6!M1L`jTzPRya;gXYz4K>tgZ z5!EDCH)xCdZv)LC#3r!YU||5{Vcv+Qd3`rf@outD_p{Z{-+N_9jfp~p7O(nG=h_gr z*c%G&X3HVT+jzCC28C>!IXf4y-Rfc5pGw@309T6P%u`lu5OW#!xHM0~(9%!XxLaaV z(dfB0csY)c)~AWl;8nn&(@ifYsEuC#@|_M5{wfm zOLDL982bcnYZ_+yCbFBRfkSC=4wLsvFyhHS%$K5lfKvsPf*~D&3ZMRF{qAK9M=5z# zq8{8Dz!IAsnx$>e8?am-B{!Do021!9CFoTm$V)BbnQ5T!ods6H5&lENT{eM&1b$oQ z@tSx=fSY2ix>_|1eH_B017waT!D(-#2U0qK(F3l(4j7IsMN7qnLU=U)`iStSA-vy-IDvxoaH}n;Nwad0Ls|42dS9xoz z_#tT883V&aezpIW;46kxVg5Cf~v((W|hUVh=+22X{T3BFGV8#O7XgPSLS>2v7U{+Fs!4D7@$Dt zFvsI@tz1nrek;h&)87RU6p2{}S+~N>R)Phy;^ZTuF>C}b;gB!cF%uNPYrgzqhC^6Q z-z{?rMSy{_)v{8wLY7gz({$+%o2xyCf5T!DKR5U}Ic<4D0>lr|?`22`W&>5JRdfz@bztm|E#Hln)H!5XfFnyNAf4%aF*DAH>TnID$bs?ky)X~d&SEuPm*ynP@4IH z!!tnjTG{b0C~Udm*k{dk`X)TCu?rQ{baKHM!QAr!$ya5M#sFm6EK3_>x)+)hppScz zoD`b~>dvr1dyX^0V*ArmmOO!u^bhk%NP3UcH$T@GhW=v!GG?B4NdGu1&<)^}{%@A= z-9)w%#m>}LgPw43dJ$&7!TTDdbhEBZ0rg+;cr8~G;hvJ)&~p zduTl0$5O)u69ItdL+U#&klxCG!MI4{h{WdcNBd8V0XLQ=@BE5$u_PA59)|M&7=EyK z6krL7zq&2lxDr7x#|3_3wsl_q)~UhzVl=gR5OMBt9Kyo zq08w8i0G4mfCQCuFS&td+w3vcq4K0({_^UhVS?cpD4Or~0i3D#AL& zK#WaiboTjuQ&NjUqWz{Kx)fljJb*Z)Ofg%)@l!o!^?N$n6U@B%>Op%urui}IujMXf zuLqCq#dT_gp@o*$M0x{X0Jj@NZ8`|Nnf& zAoJbKj7i(gX>*Vz!z8A6D7-`S;7D`jV6NXfAttXrcCDT}Va=tvLHZ7i>&&EQDJylM zK4#&lO7oxwP)nc?FnI4L_pV#W7RK2`hyDU83fX3Ifl@pOI9ac4+#ayb zcLMeNN(r(-?WCbgd7(ouX9i$Cz;5iIA;rvhF2larGtr^-qTMkCm{E$o4RnD!Be01P=V;jCUKExRUukjlhInB4nXW6e*q7N$!kvNaVi!L0eYpTJC+X`rVKT zX&~eG-XZz4l&I22Vl6RGW)VV@A23$af64(~Z`cf|uwK+RWADgvOK>)gT;GqO)Ca0F4YB!rQVy}h7?u>~_waTMbSS%Ht8xVnAc zESsothW0EMmsyrXBXFjh5^2IL0MSAzT(Z1hWgshK$|IR;XafJ7WXBK2&Li$|Du0wk z=@WzSk+1+ZDNPSKKkvpSHvd#p60c8`vlTwJbB<(d&Kel+z(4w%q!%7Zvo{T( z1-sg^{RMvlMABb6s}69X$8)itZL#>Tu#h+N$6oUFVdadlFyWc5>&OVC2Z=17FR= zyJ6_%BE@(ea1b)irx)em;T9c(Vp}n$YX_P^9&%@*-Es%q{qFQy(AWC}T{x^O&iIn4 zS42LFaL?WP%w@~dGhwvZm_cSvW(A;v#!qR${E00662o}fYnM=5x~anv1Cj=|O*iq? zagYvh*s@;ZO=|xEnYhNT8#u51MgYL}o8!Fqm*oYT&UfFR%`%WBIR$QO!^}-7^4t|3 z%-&EWxgZJBmYxc(kB%^5n@g|U)OrHuU&1<}Cz)Rwexg;8m3&G2^QN|eTJHbr?z^L! z`ks9S5#_6N1*JnmP-)V8Q6dmRkzS-p6_6%PFcd{0p@-g4s`RdOR05$#I-v@L-g}34 z{N3O0u6w_Cz4hK*@1M8sUuT`#g7GkfM7BqG+oR$E`W_bOotlz2`WiMp4o z=n=O<#ml5Sv{0X_B^C&a7#aotwRlb7QNbARO2Cc3hVYfWA->*E5q%WzN<)05xSd*> z41zKAd+(Q~YfKu3UjuNLUWcgWrq2`a7l+ATD#?vl9S6HJ)e45M>XyxVo0TM#!)^(m zpkB{!zc@gtoKq^K<6PPJk-xXDYErq$56Dsr%5rbiL+^Ja-Qjz<>7netSO+2QadjOB z5qG)G!jpuA_K@5}&7dd!ay4>6R*Zo8o{x2KUb}r*KT%w7mG*MPd?-@^@N z*zhV~#Pguf-aJ9nnhMFfg!z2!z^!|>&TNo`AEBl5ts@^m7^tr`CA&k^(WXQ59FskIf zE$02};UWc#XTxws%CDW=q>OG8e;hr@ugL8ZZ&y*>`Ybb-%gimI72H|vOGB*DuwL>o z5VP%ktSZ63CkFi?mt`#ChPNJlqZnp(Pi!FY2Y~5RI|klhQHu3IQ$oE8gxW@Gx}0G=%-!?E&gymj+AG)=%ckZ)tk;%57$V8BG& z)sGd?Q&~(7=tyTED}~9d9A-E(J$Df@moUf**NPL84fF9EjCBI4y;Kx9Y?x|_=iE~N zgRu<;-C~uo@a&xiEZ?CtM_swTLR*=+roR9A)}I)5T-+|RMOwsk&2s^qE-sjy3HQXP z8s2DFabiMSX%X(@H_Z3qp37^|KiCSy@!40z8OExZ#Xz9X1gJ_9YGR=lfeV@D4_(|5$vU;fSPV&#vhGM{4Ly<@c24ba@qpH)g{NEbbg#K4p`CZ%#x*QMhB3-c7(^FuOSD zRsZ3jb7}#UuMTnaLPPE`L+kjLgHg_7`{#?$JKeN9ZTTuW1bDbalr*#)69-WAcpIz+bk>SefSqWRFVsZ?aG18aA2m5a?py*IIb>687dx8Z;z z6ul9s4-Ix)snLat6Kkc(x+sPrvI$pbDXnNnIio|@*S5KLNC>BEkt<&|R*z;beg9&(Mivgz_NwyIeW(gze zO}rg;w{c0J5wXHn-$+3k>trMArcf=ZU% zhb*P43{O;FSj*Zrh{F!w!D5DUN`Th$#1cqG>$mQ zc`r=l8+ZhQYvo=FoYrQs13<8>N=KU+lEgCB!|7|>$#=TGpp~eEmJF)-T`aV0xd#sBsn`c_=)J4tpP(ja&835n9n=ACoRJcq-=;W5AdU_1Xa zmeT*bau_BJB=SGm&SN&eK1%vEAo#n@!M@GRcJWV3%8Jr@Jg)vDcAz+AlI05H$J6k& z?fsvJjQGRla`l61K!`x3Kf~cu#-!O*eb7c}K-cHf(6uK0qYIAHrX!D&3!Zv8oYQjo z?%D;<+YOkff1T*vTUU;pFE6G?kffIkeM_6SoA{qVC56x@AY5K^A=;N;`DIc6mAUWS{@te2vUSMJ=aY_CJ$=}02ms?gYqCQ!e_QF#A&jagsUJ+6^YG_VPF$>4xS(Wu+qHlc`c)ng<&QuF7U!ash1(>$ z(+43ju;qK=>_i=RBfuZJM) zrmp|l{&W8%$@Vd^cyi2le50MBGC>c3dXUs;+;?xh^RsB1Dp)GcvmIwk#mtq5@$UR6 z1cuQj1?bq`JPJ{k4&g(BIe42>6lK^H6(li>{XG%eY^OeQ^=U-@SIi20PowuVm@Ni9 zoqyuID#vBZ+k;XHRH79Hi5^T#ZiS`Lukd4*TInsm?RvW-r`nV-t-g#$5lfC|@?c>j z83!nj2a;r;;qJt;RKIUESp#@lct7#(@_oMSKF(e>4M5csn_ALvz!-jzWE+ov|3)+H7Ut3={TFDD9G*P*Fz(j_Tqhk=o>ETLj zNyUhCYu~riYy~haGsi_+_^WK{Nm>imtjV=Qzt43Bap3A$GG%WTYWgV=j+r+~$GajW z?;^kFtyOFN9N?s3t{!30oYgW;;)`3%0h@Ez%Up{<8Z2o?Pg80cUrr|fpAogziMY!Fet!{X0NdCY>uq+fd_HTp$1>^aE1o#I1p`6V>sBH>M6 zlN~bdqE>~T?`ZB(9HFIcAnR|zusT~+`S@>YdpnQ!RGLe-tNpnckT@jin(hJ1Aj?}q z2bL9ME7^GmJ>dsYeB9rzUr=o(Oos1?h*R8<74);36F)uH-g!!Wl6X{-N#SkmXMRBu z=XdayzhW*C2t-|Ugx^T0RG)eS2eEocft|0&E*?w}iRh0}lFkY-B_M7|aoMlpPybLdM*-uflV2M9kxw(`#qLOVZ7_4jfX`#d+Go?P50!*1y>_^FXwpl| zlnjA|Py` zcnE};^5rne1c-wg|2;Z57Y-urI(VdDx*)iE9|IAv@3TFAdb9s@nqARj(C&>&QWQ#}Jk>aTqZS$9^7I$R1d=&4c!mp@Yn@vAXScSguKV)ueSj+lOR z-wL_=1JA*b=oEtYv#XkYHCt&j0^(nN$eph#R7{;!KMp;$NNcdn9DS^*xM;gQAp+Ec zv6F8SSPSly6nyJ? zm~(>(jkV4y##YuoZzZ#M&Ckek>xE~xU6ybjUf`PmkzGBXYs9Md6ve`_ctlNUQ)x$+ zRG}!7Mk@(d+T20Fr9N)FPbNV$E69MMnJnix+=f`NnK^U&4NU0jTJlROSuhQ!m$GyE zV2d=brU8g1O2{IjHT%O%bj=m#ZkGusPq_yYlWg&a>$CzQcHUEaUgl~3r#YjEbPBu5 zGDDLnT>nGmo0Uv7iys|kcl}{Jo|>xm17BLpsxqgu9Y$Pg7sW6@xl(1-ewszbQR=*v z^%&gEAcLt3`VBwVOvOqid%ygM+KwEO%NaLkI8lg=7z7$C)|vEio8SzQqA7Dt>Ce#$ zQ9qF7@iJg`AjF`=khq!{nRLFAe5_>LstK)YqEC~DT$ohpdikiS()I49PAk_ckZ;;l z@H$gmu|n*f4XVYOLxLNp94&~05qd}AURP2n`0~+WOmw7dkI}h(?9EIf2jYI|{29>_ zS@-ZSb{AP&scy5F1LC8&6!LmL@8uSrjQwk_pQmOIl&45tcg~8p7_MVFJo^irM+oHF z)%tZ1=}spTx=Wx$X;F_h%a;R&A+ib>V#7n{7J@@jt-q}R!dCE;bc^}ernuSlZ3MxV zgN~m0yq^B7B^6gxeX15kLlvBnVyjiFvtn4gaDZ&No(Z10=89Hp&QPK3ZDVp9eb85f zXzxL#FIPv_dOwi?sb}(|2(~)2!j3vmd-kK2a{QE8Qd*CtukKKXyTc1AhXU^V`l#}(im}lIYzD|tw=^vh$l8l!cpua%JM5cL za}7JA+7uopyor)oL@N6=angM9nqaZJ=M+|eA4W3F`#PnAPM|-%6%lPRbaK-ksJmm} z*_SEG>IW6$cLeG@!*YxY&5urMV5un!CZyl6YbgbE`zZC4Jd6ZSBc;?+ogl|dTBo!c z^^4AV1Jlnm@V#;v6?RwOr_y0vvw6t$cx*{ob8~2a^zn3x5cMng60q^drC@l%<&$Dy^7?k#~C2M!D^fK!#SD z!O^Kz>E1rhwwN0*`Xl9^)IZ_}K z)k7Iy*=`OwXrE@25LhQncF;gV>&)z3Bh|4v5GU*P?gWIqpPKMN+asZvl?1*JGwSeT z-c0s`q?bz?M%L>>0+QPw5Kox8n+IPTad^ZiBfg@hmJY)<9yD+;peQR3&qdIP?8)$f z)3U`nZ(td8@7;?CDb?}QpHTYzsvf@@7J?phIG6EOz0m7BeRkYWGqK#zf7?zrgsj-6 zTG9A9tIc#Xm!jN)^^Vj>GNewkuy6`w$O^U~}lHd$Xqei%9R({LdQ(cwgi ze4WfY3pJUDRqxqOJVIzan9LSuoKkubO};}N<7UI{47mk^9c1eeGGl&uIx;WXczVEPe z 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/login/login_code.gif b/goshop-web-portal/src/main/webapp/static/images/login/login_code.gif new file mode 100644 index 0000000000000000000000000000000000000000..4937f6a8eff9376b088b28a7ba28395c275160ab GIT binary patch literal 250 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 GhW-VBx(I{- literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/login_weibo.jpg b/goshop-web-portal/src/main/webapp/static/images/login_weibo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f58c82b9de8841905932278e6b772ce2b8a44218 GIT binary patch literal 21539 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 aA^ksP8;^H@;jUx=0000+U literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member-card/mail-send.png b/goshop-web-portal/src/main/webapp/static/images/member-card/mail-send.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac66629dbeaaaf3a2f679597c3ceb55334f781d GIT binary patch literal 692 zcmV;l0!#ggP)*;i4OjD-(>a*oh=I4T4>;(V&Zptt~B5 zC^Pd~@0|>dE;L4Oa`N8Xd(N5rZr+pn{XYID)SHWo3$&*HQD0Ss5F_^%79QraS(xGQ zU#Xf02Pp0Aps>1nUlxud&5?McQbDcNg465$5zJvOYgj8gjw45O9T&&P@n&lawf+6y zi>byO=CX#hvSZt_ph1QyacN=#>zkXXHJfmR_ywHf8grP-8rHf7>~0guV3Wy7ye^mV zwb5{M4Bm5&Ys}%C+ZAb5n+?d#avXO+zCZw(Oa|*D$j{EYxe~QKIy&msPI;25!gdWT zOBP-SmTlu(yNygTi5UH9gG@N`xg0{F5ccR8@kj)IpARZ)NIU4D)9s=`6Fw7-LXu_Z zhJoDlv}?e74j$a2QWx1IaAQgvbf6rQc&}bZ+%zF8ihDi|!@C!!-(36LvhcBS2$hdO zTD8?|`akUMV)*Pibo&bGhds2q0iD3K0^5+nLhJZ%KcR9K6}4ZmTA{dz=KgQ1WT2x_vT`na3(I#67B^+_^j zW)PUVqo}blK4_E>Ck%T?d251T@)!u(<=fZi-adX=wyTwbYoN_94eojS#RJKzzW39X z5%i!D0{r-lTTcqi6JNHAM{CO~>d%klsQeTpcIyO-(DT*~LE$-`bUI}S>z%c>T;%!> a0R{laxL2*#qtn3v0000HP)d9G*!mJKcqK07_SDnF8|i|Z|oj7E(`0r5^N5dYDdUf3aMo(feQh%PMS}TnO`NqFnfo*hzuviS z0lv1-)%`UEY|3`>;9nDMjVQ4QICpEr&zSW039G^vVtnM3$3wB6oh&8nWeGRduR+$j&xGemV6fAk5 z_~@v|6gg$v1m+VKzP1pS&0tftpY0`C^pDN(Q-7Grk1FfVd^vJ8+nwG%N`Y;H%2!0f zdP`ok?DNPby+!3K#AJm7K#2$?LERI#Wcu~z^Vm`8L6SnpjRXZ7UEI9)fS+%K2_M>A z2lN5803y=2QoyMHR*(0!jrCfU!n|N3I;c``zUsibEkw^v_LhfVc=;g#h3zBf8>@VK zUo7$POaDJi&L;3bok_#9UM6QuPMjMWnfSQs?PT)ht4?D?rPLN9PybWf>p-hjU;z%W z`ULBOO>U%YtB4FO@*My+YVVE;4_$*%u6OqYufJ1N*Ztd-;IFqL6nR}}nNK~lGWi-9 zdS$Y4SGX&3dA`-cRj!dZX*1C^b+dY6*G^#QA-0I%ZwpCqL}c5EF#!sap9*R^#^vaU zNagXdv^^&xk31=bRTy4f=Dxcx(W<)wY$fS{RK6p5Z72l=Ic|Jyp%#F=BcT?5jvEC` z%_g3(_yrh+`YFS&4`U@?Sc2ix|1b*m(<`|PR-T*gy)qoDe`C83w@W)b`qkLsGG7*f zZC<+X#8C6G-gPMunzPz7mbM!{Sy;~;iZ`bfFx7GJz*+anYXD8vUJx%R=pK%7_I8A+ zj)Mo*li!f&B|h-(Apu#(GMM=^4h9%n^wLVMN)96}qjdYuP49kl1h=PNWTBs#i}g+% zZ}~8OxBquoy3pl9({}+t1(0L-^{ZL!8O*fC$sH)G1EzpGsc|Z08fw61z>{)b3<#x5 z{uluO3>93vn2UFhA<;`){;p|A7pGPmD*qQNMtcR2L$dO80{#O_gUNT$Z&6bK0000< KMNUMnLSTZ$!3Ko@ literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/ad_next.png b/goshop-web-portal/src/main/webapp/static/images/member/ad_next.png new file mode 100644 index 0000000000000000000000000000000000000000..5da3694b08aa34ed142ad43668f720d6fc709b2a GIT binary patch literal 355 zcmV-p0i6DcP)u{ zVq${A4+#ljh>MG3kdl(3ZybX{z|YSQObgecT=#qZj+YhVhHfB*i`-(pZudw6&drIv*n78)5DffJXTn;X%3 zD7H8ELE%F?#vLXNwvtSqokDY2Aj zAH#wZM1vC2Xk%~G;z4im(}A)$1&CkJ+hTwK0|4Xo%Y`%#VM+i1002ovPDHLkV1nNS BkC*@e literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/ad_prev.png b/goshop-web-portal/src/main/webapp/static/images/member/ad_prev.png new file mode 100644 index 0000000000000000000000000000000000000000..38c0667fc0bfb4beec2f59b7e973fde68ecfcf8b GIT binary patch literal 364 zcmV-y0h9iTP) z2D%6U6J0@&Bv^u}H4Fm;K|m~xlp~-BA&8=ApX<8*@eEfTkK+hwnnF<&FY9gF{?20z z3&Zg1C^3WQd4@QSAtO=dbxk~Nnua?ssKGdSa1xzbPE}PM3Z(`w%Oa+Mn5GG~ zZ669|s$(2-oLqh1zuiYu$IK06nkGn+1oAxR0yFn&RaL=tUGO|l%p+l07L;X4?CGzQ zrfI};$8q*G!!YO$uLr5?y4Cl6Vre9QnG*beU_}7)v5nhPfB^v05#7WDWSq+Y0000< KMNUMnLSTYE^pb@D literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/ad_scroll.png b/goshop-web-portal/src/main/webapp/static/images/member/ad_scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..db475a9ebd9c0fb57e3c3d345482a84d1757d393 GIT binary patch literal 623 zcmV-#0+9WQP)01E2?f{P7W0000UbVXQnQ*UN;cVTj606}DLVr3vkX>w(E zZ*psMAVX6%E-|YgNb3Lq02XvbSad^jWnpw_Z*Cw|X>DZyF)=SNF)uMOqM(ZS0005T zNklz(&Gvd~hVl?T$ z{<+VRI9U7P^ZAJ4CeO#wkPo<=hBXW_0Zc1ma3G+D!NxiES-xp3k_Q5Sa?ZgRV~XoG z0OHzZswqZq03hkXM#A&ZHCP@eoh8HTs=#Pt&b{*$R2liBwQMJ_+U5-BM)Te~=Z@oW z&h7iYuB)|nSr%(8;`L1`yU#DrY5=1HAYjA_q-r$j0LCo2#h{4hYa)`S_e4{&!Hhd5 z?m>|P0i)I&gL5vrKROwZrJe7nsn00^Bx2TCLDzU!Q@ikAR}#jfGjaMoXpBL`S^0RV zuFklp4w2Wd^*KDI0{}QL(fy29%n}03tzE)MU7o02)_=8|_6I|2vU>NQd$Irk002ov JPDHLkV1nz26$1bO literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/ajax-edit.gif b/goshop-web-portal/src/main/webapp/static/images/member/ajax-edit.gif new file mode 100644 index 0000000000000000000000000000000000000000..2595611f69880d3450ab71107809954a762729a5 GIT binary patch literal 183 zcmZ?wbhEHbT*p4F7*#V3_-#BlFBr zVTOyp{u@qt6l=xsO@-mC5%+%}`1Sm}l_*>01)iLQDPo*jF0K1HAhokbt=_0Z!98Q-t3oU#a4riWz JJIRT`8USZUKPvzL literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/album_bg.gif b/goshop-web-portal/src/main/webapp/static/images/member/album_bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..6d44440eccedcc0eb3c24d549dc43ce2b20bf612 GIT binary patch literal 6480 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 H1M2?=CTZeW literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/bg_repeat_x.png b/goshop-web-portal/src/main/webapp/static/images/member/bg_repeat_x.png new file mode 100644 index 0000000000000000000000000000000000000000..3c17bfe4ceed037c99bca28dc4b85277701682e4 GIT binary patch literal 233 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/buyer_header.png b/goshop-web-portal/src/main/webapp/static/images/member/buyer_header.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1d38a1d92c7b44845addf1fd15c897469f4181 GIT binary patch literal 6914 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�VChl3Jr|+j6*HZlyq3K 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/close.gif b/goshop-web-portal/src/main/webapp/static/images/member/close.gif new file mode 100644 index 0000000000000000000000000000000000000000..d06cea4ab81e258b95f893eb546b3f34ae0db7c1 GIT binary patch literal 142 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 a7QjV!O>A!ex2detmcyKIJ^m0KNc}GrOuilf literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/del.png b/goshop-web-portal/src/main/webapp/static/images/member/del.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9fa6dd36ee8165272a13dd263f573507c78ca6 GIT binary patch literal 544 zcmV+*0^j|KP)L-ku(! z6_?D-?!0+#=VtbVZQGdTnZt~apI_HPK#=zVadHM((E`e*C+RoFb)Qo8-U{Lb7{`Tz zw4B8FZ|o?Wox+p=1wp47C;7ar*Xu~;a?<=sjPv>+otDjJ6FaGt!YnNyxQQhp)G1V! zk;r6ZtyV)c8pTbiRAnHRNXTxti%=+p$4aG2*+mMM&xrdiU^`VPk^N*+HX98^7!HT% zwA%;A{T)GxeQ|RcxyzV%! z$AbYD+)i1R64zB?q}NmTz}5|04~J#YG_goA*Eq(QJvp7pG14hUj1pZ^t>3S*xqHUO ze~r;}zTY_XkZ*}d@gm!;N90h8nBQenBUZ_ukZKNicn*hc_Pmc!Jn|2=s<~}>!Sb>Qm3!QP46b_JFw5YU70Tu$X}=T}ez@@t%j iG9vD)nDux55?}x$+|UyQVK_bj00004KP2!7eS4sOA ztor~+JOT??@DN;t1W&*tnByePrBp?;U^inaI-dM9bI#{~dy+57PqMM!deR~s$B{ku zkmQ&C;3SR%Ls7h_Xxjb}En2>-49!5%imF0tJHx=VdNh`fXxH)T^6w8HWy!JY@?p8H zwu2@;arVwbdT{=ol#%(nu2b>hj}s zs`R4$OltZemC8l6V5!@xw5=7jtx}~@c_`_srYfqgXnH}b7+bobs?sFnhQL;}&^|Vv z@3to6*jrtmoNF)`6bD;HKkO=6wOUQv=z4)E3elMto5O+^-5)o(?6XTFD|CX`@jWT+ zYaaQhab1?vLDQI=%MGT3t_3*l%nECaiO~$H8T( ziP2q%3q$}UMt31D5CM=F-G#V71VG{&-6hN}eo&9y_872h9m#jnBumra*=l)ZIsM73 zq>;&HMv=|ta;v#qRuJ-eL0DgmvW=^b literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/ico.gif b/goshop-web-portal/src/main/webapp/static/images/member/ico.gif new file mode 100644 index 0000000000000000000000000000000000000000..9c83c9d75c195e522b8728e33fd4021302864e0e GIT binary patch literal 14634 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 J3JeOE{SUeEx?unS literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/menu_dotted.gif b/goshop-web-portal/src/main/webapp/static/images/member/menu_dotted.gif new file mode 100644 index 0000000000000000000000000000000000000000..1eac6e7c81ff2ee3c274c43817ecf74049b81b0a GIT binary patch literal 54 zcmZ?wbhEHbWMU9yn8?6z=FFM@V8Fn@p!k!8k)45wK?leNQlbnFOzczoH5a^%U|_HY E0OPF>&j0`b literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/modify.png b/goshop-web-portal/src/main/webapp/static/images/member/modify.png new file mode 100644 index 0000000000000000000000000000000000000000..327d11d9312dd056b84c4ac6c48d1d1e4b6c7df6 GIT binary patch literal 2908 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/modify1.png b/goshop-web-portal/src/main/webapp/static/images/member/modify1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2dc6f0a7d821f4718ac08c9b79bb1b78275e58 GIT binary patch literal 44619 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 aWvQB6=PLHf=l*@a*G+BxYx!4fpZ-6)*$sC9 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/mubg.png b/goshop-web-portal/src/main/webapp/static/images/member/mubg.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc9d6175158704e6b15465fc150c633d1023880 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0y~yV15QbyK%978f1-(K6u*wMx3nNXC-2R5)7WMelF{r5}E)BHcw3e literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/ncus_body.png b/goshop-web-portal/src/main/webapp/static/images/member/ncus_body.png new file mode 100644 index 0000000000000000000000000000000000000000..5d75857107436c2040b00378d8cd114039a9abae GIT binary patch literal 265 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/ncus_repeat_x.png b/goshop-web-portal/src/main/webapp/static/images/member/ncus_repeat_x.png new file mode 100644 index 0000000000000000000000000000000000000000..cc517389fa4868f11b04591048aa7314f5fbf72f GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^j6n2-gAK^~W9vR0NU;<>_3HhZyWQx8y` z7)YISQEFmIW`3SRNM>#-gMpd8fr-AM5o?ub0#L;}PZ!4!kIuJK4D${f@VL&Ox$;Fs z%89^T->vp~t-r+0a$<@w3&#Z2*6n(dw-vYkFpelyb$7d@W6Gt^uVU}nA*2{Lt@`HQ z!%Wrx3v^oKn69xLS4k9_t9m9jRWbB@>xyYC22Xus554=tF#FdAqX)Xj?={FyN@3uf zvOB{=BQ(Q7pd`6*C)dV1QyY?%XC5**q|{XfjR5Gm*tbgYhDSk33hdJ9JJsi{7@43tEHK4bP0l+XkKu-l(X literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/oldbtn.gif b/goshop-web-portal/src/main/webapp/static/images/member/oldbtn.gif new file mode 100644 index 0000000000000000000000000000000000000000..83abcef4f4b16571334fd7e50f17122acafe15d7 GIT binary patch literal 746 zcmVz>$ z000000000000000A^8LW2LKxYEC2ui0C)f(000I5pd*cBX`X1Ru59bRt|&otZQppV z?|kq7z#eIVC>oAPLu5IK44%-5RJy2IYnJR`%jGf-jIekd26xZdbk=H}x}i_!a+yRH z?}){SXspkf8E_K=ZWC-)Y8Gc*Uu2Gri(H8ohgENba1j}EN_7T!MS2>12!2XSn}URH zl~`JlW{r{sICVD6k;Gg9Z~KTo^Dzf&}>f zDVQjcqCbiiCtkF;593CS9Xaar7!u@2kr*@os?_HYV#=2=W6GRKv!>0PIA6Amn6szP zpFo3BY>7dr(W6L(VxT~wXaxlX6g-VORVq}gRIgUusc#K2@-^ zY1Fq@;mVCmcdp&Kc<<`X%XhC|x^dfLcuQC=fx=J^Cq{gjvEs&yBSW72xU%ERk}YQ@ ze03>+!Hq+U9!C>oFt6r_T0n-MoW6PdRyEbaq0ASnR&AYen1^{yV9!|XYY2d;i z5Kzv1x%1}GpG%KUeY*AP*sp8P&iy&^1`ooEA5Xr#`Sa-0t6$H)eR=}OFSwsizrOwZ z>MsPBkH5eF{{Y4Z;D7`cn4W$BTyQ~W0S_?fV1p1oC}D&YPH16;7+$Dhh8%9_A%qGB zm*52glxX6KD5j|5iY&J1;)^iG$YO8-h-l-DIOeG1jy(40NG7S| cl1w(~&?pFe+o{`~px-@nb9H~;jnPSPVqvfb0CE0CX8-^I literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/repeat_x.png b/goshop-web-portal/src/main/webapp/static/images/member/repeat_x.png new file mode 100644 index 0000000000000000000000000000000000000000..08408bc443ddfb937c5621db081fb6ec6c17c409 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI_!2~4Z1KY0wDdu7)&kzm{j@u9Y9{{H(@V@pN$v;g~tM%aDsff#=Ahp9%l@ zzrMP3aG`<)%b}+qoRXD<954P{U4GwX$Bw)8)nXe1B`hs>omTG)$*JK0>SyqD^>bP0 Hl+XkKWF$sn literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/right.gif b/goshop-web-portal/src/main/webapp/static/images/member/right.gif new file mode 100644 index 0000000000000000000000000000000000000000..5404ab1b4a66fc23919c0920bd891959a6319cf1 GIT binary patch literal 347 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 Q|5pJvZ3y+h?aMj+e-VBD#sB~S literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/search1.png b/goshop-web-portal/src/main/webapp/static/images/member/search1.png new file mode 100644 index 0000000000000000000000000000000000000000..fa2f8d5899ba4dd5f816813118173da09cf373c5 GIT binary patch literal 45242 zcmcfIb8se2z##BsW83z|wryu)+qP}n*2XqBwr$%^o+P*L_kQ0WcU7mls++3rp6Q;N z>h7tj?x|mQgo2zn95gmG5D*ZYq=bml-xTX_z<~t+8%Ge4n*U8eorEM+ApaiTkjCME zuc7QEG@O8dV37X_!1G(afWMiz&Z6qh%66vCZU&AfK!V10h9-n!7LF!vc8*p~gu=?K z4$TK_KtPaG_KvD*?%7wFTB++|h@nHWylE2nhonM(qDwcLc#JSjy;l|S-JhkG6U~`5 z1Y(~P@qz)rwvZVx5TpAftI#2V+4MetEiElId;>n>db4Y%SIA;;N0?@uddA-}POxHm zCK`^IwDuh{?!?{m?xa&`?Tw>`4BNF2-4COz+eaP0X!K}KvpjmTPu_U6rkS%F-wZkR z4j;hi&>uY5@(y_18cLFmrVY<%?5DFi@gGc>GaVB5vfWt#q2B}tFu1WBj$pC5)N)f0 zYZmR*HFe`@MJvQTiT_%^!oZ0hkTF@K>zIqwif~4f+40WQrq_-F|^J2 zhL?8K+4m8DGX&YcL>P#&3%tW!;S1kIzZn3>s!Lf}{Kh3h+lk_!o! zH(dgzRv^xa2~6aVklr6$08V6^x0 zk{yKhs&b=fP6DGvkR1jaClpbTGCvyNo8vuPw65vx{x;|zzc|65G`Rvzw@Lz@^5|CH z;!xNKG8#Cc5J|5O6dDYY(LBZc~0=U^&Ra^@2ul7tNrA; zt2y(VSr_@4M{teeAfwRQ+MOE75?Y#Jl`eg&;8o6 z+wY$>qWqrt5IQx|zppc}6^8L^9R*z2o2J!J{U&?sJLDPHb;^YJ8*<|0Fz{M7VkQsG zR>Z+_0_E>hs`;w?qCw*`UwO;MQCCX{#!kL=mD03WxZC8)kCksIg)4j+^3#3#tS|+< zcd46%QXV^td$nzmbKP;hR0xdoX)f}H8huyJns=&th2hFB0zjH`b@9BKcR7<-$ z0Ql-Iy2G$d2jPa_oDsjdK`idrULJ!ffNm|CyU$|Z2i|oseu*XcN|d@gEk%&Yb}3X# z_0I8^yotY4R|9iD<|%I6^nWuIt|~_bN!z-XUs4Qp=z;2+!nzl~8U?+p^4*$^^5>~y zS~5p~_fjMh&m2l*j4Pk6pkxBYA+#dc(!S4t-O?!_*)SDLxpz2qmsr938q3z*kJcRE%7|9_PyE~5F)r3DWFsubMPSlCk1h2!F;p)nupb5DYWCW^w z?P`0QuK3Kpd#k=fRw&7V4tHGVy1O#s4t^y0yQc9pvkB`tcOUy0ZqMRdvtY-%Ho85G z0R`{EdTjucJ;OM@F&Vta7~?$3#Oy25ej+UEVIo5AlH_VAWpVYQJ01k!_|8VW*Y1_) ze${SSy-d%j`+3I=dNSRND;w$vKDEhxvUu8T`?-xQZpN+wtDLp1sEGnlAm#0M13eL( zuh1NOvGZPl%1yd@WSR=3yT=2B+UoA00R$)t*gVsl4hBnjK8u5Z zyHAJ5g+ABv2l!qeUR<4`kxsGS{Zjnc&vQl9@~=R;h(q-*beCh|$l(2=41vITkO(B@ zD~O+sF<#UC*uGx0t7^T}qpd|mhk9jsry}qIn%0|6aPMX~;EO{y;ksqBGw#tu7k+L% zUnkRnzGnekpS^sbQ;_M8>o5JLh`RNA48D~yfikbl6E@)MEfj!!RX%LtqOT=3VN}2m zJ$eFkXRT9sJq;6!JO0w|%Gh~uR}k*K2)vQQC>H{IQO{6*ay`t?5^wd}E@Zqo`Eq?U zAYabkzTAP$cRUDj6Buj|J!pBbtB3s6!XwMyHlKDeKfMZ1^zifKIqg5;-cUgYFuwUe zTk`F^Yze|1M9JRiVBnAJ0MAzW>mN5K{5@ws>Yp8&@pf~)4ZdYpbs^0j)OA#v_5D7r zlGEZ?%@$`cwBS}{#@`=m0efn@7w9UTz;zIQl?T-O+kLhE{O8~No7hiGiyxVFdEc!g zpYaX~U%X!UeDLXh5XK%p-ezbgG53B?;A*<{BR%odUf{i>_WoEN=WQ|d;II4>B!&k|8!6mGZz2> zalYDEsVM)QiTKD{ABwrMuRObpVQVlSz-0rq|CHeK9yPG}y1B+hSEyV{yi8qOu%0r{ z7A3cKbrR#w8TJ7joT&CH{i|6!QJI?0C6@HGDU}q~5rKj7A z1Y>!O^F|d|SPtB`HXQ!!{+HYY|4OyKSDE~{=In+u;2{(LF*}GvX={_%?DnoVf8#7W zhrRP~X4v!lsJ)>W7FFJ(+&LxTKH8gGDK;plTSw`kviKP5_gu1F!aB*3mvNktiL3^N zmi*X_U4q?6v2#jVu_@-G<_AdI>N~!!Q_f~2V+F+2GCWIfyY%%K1=zO1!rEX?Hrq1i zhWg*(ss0TK9mneuG|L9Cb#WkfMNaG4<`8G=+#!Af$8G+c)z&OOv+Z^&>U#EOUf;+^ zD1IqextQNviI86#PbRia-cRe#ro$z~b3?Cug7Q*g43GgW-shKir|N4e~Fk&@@B@61=G zh6xfkEM?0lF!Lx8?oyf!=!OA^J^7?~gO`FKQBJ(W$a&^x`r%-BsclKYnW=#CY!eF$ zn5@%Dr3GYxjWnTihpgtoEEDt@9JmEa#<|2DW_~MXK0NROMMqod<7lgz@rFHBo@D)^ zw^L8FsXG|f)YOJu5`(4zrcKfnMY%1W(#K`tyA8bDL_mxu%=Qa9xZFHwr_V$pfnqWM`sC1&4%)!ILY0gPIarD#?FE{qfV zR9&7c=;ssZ`OL$MI4ZChJtF!YlT25Ahy8m3_p>%H+lkdF*1#|d?A$&cX@H2}@H*PNUMMBMKppNn; z6vy04KuxAq53Gx2D~Xugc`!4rmn4%$^_*!kx*)^jl4jae7N64uHJ)IM&UJj@j2Y)g zVoyfEocFZ3zKJm?6D}%dy!px$fw=$79y(q$^kUP29*~A*+AV$eCL#u7`Vk&((bpJ* zm#41}+?0uQ8Hdr%C}b1c_~w)_q6OQh@F}} zZU74&L``OS z)Q-xY6GMG|nNTUv|2Lly~AlG&g8266Z}nz_{S6yUk?;dh6HZ^?YO>Y^vzj^z}rNyLL0B>s{zR2G{c zEv;+MY+JF>V`eYS*b5Wbc*E`W!2_>s&7}x6lYR2W3sgjD#2cBog z3esAUl~hA$AQGbU`f>=}A)#^kfqgA15H6nyrjNVU?TLYP)?|QKROIYRNr|VCM)6RRsKJW)Ry zwfTJEgWTb3p5Py6_748?L0k_m5wYSJfbn=gYc!uv$IGFg;R-U4Y2EC0-x2q6nzv2UO|b2;QQ=Nh^xwBSA&k&{OrhYr%5qG5k#i!FI!d)C0+ z7lw+aP+K2cSVk;z@lfCJBF-&wsxE81?0i_RaQsfSq(kamZ${f)y;q80)BXONipCL%asF3(ARxKK$q*5& zu%m3JDb>%8aE*oUZ zmOtoQL|1ozAQWIT8lA8`a{o-&yWg#%f@4PK-Ulm?_-TuJUEl-z+6Co$hk5Uu|3Oh- ze?+3D`oa*YV9_1Q?fv0`kS~|>$)nk?d`oqYQvhRF*f}QB8UT~PGY=L=wtvBhNWn^_ zsVw6Sj+UnwQS1Mzn(^uhN*K4vBBF>7C8P}}O15!AIKVdqdZEB@PThByhH zMa#wTo*=+p%PsMnnp_|WdbSFbLwKe*kYi|e11e1RG~?a}p6QYq<;YT#Z0$!PUX~sm zAGS?4@^vF8Z_g*8ffwU%4HZjOvL>wHWl^VvD4M2cjmLO9eu-6G8FN;uCe8mS5z`MP zqS59!xPpM%h=Qt?3sJ2NRuwS6VJNU^c&eh0e=K~S;FghT;Ds-}R+K4*qnZ~ZoBu)F zJuR|6*uI*!2U|@*7r+Jek>A#w-o`^kSBtC$>_8hLNA!sMK1nl|N3at91!yZxKMhrJ z9*}Zoj&^@xv~pl!+>dD`Aho6^Z$d&_FGpU7?eTQuIl$!tn<&7;s{XghdC;?Qtkz_U zr3p+5nm-dpIEbdr$l9O7pCFXaqga)U=8S%7X@ai0O2>UN8TL-D*7BkCp@R=anO|Im zxAYKuJ=vd)gJdU_IKdj_uog$oD=Y=z|3ZE8v8uAMh&*Majih`O)iL&6*M&Uc{xOXd z{MJHRyhG4xl7C*41v)TGv2-^c>TXQ6?$k3&Ml#Lng~AMLPY1^w-NMkDj*Hg6k;Y#N@x#^iHPt!nikwSnhRfnHmsF-EaGh#sNT8ux4~2u^hHUvbfcRJ<(r#dWIJ!_nqZYG?3%*bpTwaL%9^67M6!O=hAtc z3M*D*%u;eZ2~&=lKnBmz10&nKP?WNb$6?tK$_)=Xtg;fwB4Kk7KpG=oX_aD3riE1? zqj@kpFXl3DzfyTvb4ytqiorO2ju~EJNrh-04HM#9-5lI0-0sid$yt0iz6rvHp+JnHmv5Gz-xYS zHD*wnI4`3bJ6#_|b7_9}wStK4^VO@2+{R616G(BZR(7Wec8qZNL$N+)-mM1Ui%`v& zs}6QQS%;8g*GPH8++kjge`ssSOHD%Rk9Z3!hL9}J^#b9(UPR^YInWP~M6V)Izt%OT zf%X@F4pB!FBrhArNjWgqlZwdAq5k4HN9X)t)T}0P>{i2!%BSz=6nZ{cnGY^HMGi`@ ziN*@XbJ2N|4NOE>$!@!*qJ#KO_Gr!58HhMY8@;nUH2T?NKeACSduDb^LU0G$$`A`R zqeRh$%nLSS%F>Lt-@O@au|vnlX)SJ1U-TX4DEA0qX%omVA)wYH+B1-{i(`$m4}*VU ztQE63Yo*?176Vw4fCE4qs_8@$?of0ei~clIWKJdV+8#kGDE^1}?KP{xJ^3WD_we#WCOi%SLz+Yb`;tL1UO?uiS_DFgH^ChvLcZsmbshLD3^0xtX`f zZ7oOp{$XSiwH$uyKov(ji=1v|Qx>&Y4Q9LHVPpcy)hv}5T~2~m@s&TJMD;&e|CD)b z!gm@T&SSoD86C2jqGzjGYu7sr4Wr>uv=kX0Fs-(QMI{pa`map!b%Vd>o=wC|WonF$ zL!)RUYSFkBVTz3R*;pF$H|UHg*Zp2-;%c}$4$jcxRxp3&evxZ?;QIW|ut%d%%hqlu`3`?m&fQVfnMP-=W6dP3yd|31>246}Vam^vMJty9@W3ir0yU6MZVdE)h-(Qql&~mct)`_n#Xtj zV_;SHsO|wLh=3npY`e+RZPs2K#)6vU9eU{f)c#oIY=g4ahvpceY9vlE)=EC7a=5r_Vs=O1?(hYNoBo z*p5OI50b|Rovwif)Bf#_k0}0+$Fs&ffR~8|G`5OHYKjTvN;J!aqvH?tD)>wWjn@NvIIyxpR>F8u`WmGcx&%3c_uR{C<6nDz;Lhl+lneDlF>fxrZO>}Av% z*l7gya(?XiyW3Fxw$bOuHuz>v$a4P%(VHeC$b00x9vIkmx!<7ZwwHL0d+Eg)XDDiQ zk#z{keFW#sBD*}0-J@&HSEUhOu8F%C$FBBk`et`?0|Y6FTWR&VzDro5<8DQ6oO1R2 zs*_`hGKVo(vMVSJxORvMwgFijGjLDgiY4MZr;CQ!509S|H67D#LSE>&H;OIy=o2Cn z3!`Ck{ot_t`<_S$k}mbMOFa%^Q}s=BuG$Wu*X$&Quhdqrn@2yDX}#jKA4r?j)N57w z5HkuE@9ZpY?EG$OQxJS#(&WEllB1Zxu|)=8nM&alPRixj!c#37uY%u+IHMvDNX;EU zY?g^)Lki(M!!CIvzJ&)5I1|RKz00kLJU(ioej-ZLJ0qk2XIWXqMlK zzOQ{ms|dV^Na4K=6Fmuzs)-0J4s)lVYKx|;@G;2XqghG6RTk6Q2JMoT1ES?-{X9m+ z62e44UOP*Ys&-x-;xd+H@ZZQS0?2OD-Iwm>Ktg(m=-yVBg3*AwmXmR!whac6P9nthgOA z;maUEofF>!Gb91RD0FmSTs_krVJ3wnn!F3Pr9(tSYwK(6&A<#~yZ6H%z27~{R>PUv z8wwOpU@Gf_bI<1Zf#*cFCa*D%HBEI#vE{CU;3xcaRJTwLXik8++;4}L8M$fS0`J=e z`FFpLK8F^A@~d|lhn6(trpCcF+XHX?uh&gz&V9@mxRVl4@59Eji9?Qx6pccUm2kk` zS$0wQ%)FRRC>B_*k)r0~^_(A^@9o=+->Vf&fjFNjNVy1oUl>s5(g@bropoSj3(YI~ z@0Lr{LAyqCPCvGD?5NzDqz?~Zq>qO8hm(|lIO@+WiTE ze5d#$mqE8XD%`%Qoz{mK4{e+9Br=Y7M~3GeMX6)lf#&%U+Gun|6ST6qCW5eOs zzz)8TS3gHfzbb4%_T}u?O8rW|Wg)N>+@YmWwue9R1LJ*F(Fo9TFlHKnZ-A4&cRK-J zBU#IiTI;Y)?NkG|U|2hG^ZTA(jGwx_mmm3>Cz66-KsUt0^agpYCl1}`UferXttY${ zTdXT4;}yU)vBcTmwQaVC-TS(nNV7z+Cy+-2~?(&9A6>vt&o1u75+Fgd~dqr>EL#esUr!>>~HL3DG-@cu;KMwM8t<#3h zZuZ(3dv3xoq5L8$hvk`ToW`sIGKXkq(?{Yr?>%nq*WXM?YRDp-uMCpW_f5LOY7bs} z*lH-%dd2+QUe)3<>3w?yT<0N6stnmKfk<@l$9Dv{$BYiJ0nPTb&@&m}7v{li=&$94 zIfum42vAD6C#b)Nis`uT(Wr;KKh;H4^szc}>2ist@=_bakU@MhC#Tx-k)Gz6?;ES~ z7J^AitMfp#SoOBQ52a!(;dGiSGNh?f7u|8dSq-6jUYk#yf=G$T<;uCnWvA9%H;ZLvIKD$&4>oD8&W6Br^ni+!VM^xAF)F zfX%9O0v8*bjFFrT!kIx>jpxA617jYlW76qh?M=&&7QkLl4tn-+<=;AP=}d3COd%J3 z{iz*uOKQekKCubyxuugrq|I?`93@rLg~cmB_{sg}OV()0CHo<2IMZg5i_u;e;cI?J z0p1}C^JbDHsazI{nQO7*r!t!b?JL)4dH;un0oE4s@!Cf?&8As~W9D*XZBW%IG@+vE z&Y*TPNyzjp2j~XLGn_XSB_GG@rMhjm6`5rda=;XP_K1O>@d2txZ$Hm>dL-y2yZQa;# z<1I5SdR^8le4XFBz{OSjcC8;?DgGXIwI+{jjqf@$z0v7o{w`JqA=(<`Hmf6U&+RpP zNT<>-+2Qk?MVJqEu?0_y+qU-f1P5r|{_}^Z3@d?G%f1giTLq5qa+{Z{HQ)Jk#z)h6 z@3s0F9+iNrE>3z}_Pr6I>|@q~I6sGuxE&&9!;!15`T$p8u26JD@Q^)Qhr`-wARuea zYqzg9HmJAdqtia|itp->wwU5nHP0|&Y@*))=Y@B3==sIVoy(CFHLTi&$KxYDTL9|W z^>0h>!*=oX_ZEbTLa0!Stp~nDY^s1@h@*JLOHLeFRL`qe>NYnw{6F6>@T}!t_)x>_ zNi^%`c=~+UGRtjnrd&4HHAnQSw;CVhI&bnSZ?pvcdZl|GT~||&`96@Xaft`}ukkIm zuXSN&u$)_;^QnFB&gsE}Gn@6zFhZ8L&SrnOe$dLWVDItgE1#YVldf`QSyvJvE!HZ!{! zYU&z0(QG+3?GDzlG-rP?J5NQU>zggntZOuLT~$4~>pig|1d@NcSi2vW_P*tik4w+H z(^ByCtJb=>_B8uJvez|#1Hps=n5>of^2sRl^8n(p<_UXtl_4vemOiMz*DY;?S8TR| zV6M0&3O?W~EN5+O;wPRZMx27Yx^<+AaS{sM(q`k>{zcTgUy?6wnsu<0tKd`1R)Tg5 zcQaO=vrh24hf~#X=3p%aFfUuU2r$wdf`E9~(!~URXoxpGGFE|aeI@6y=Nm={L%e}~ zabs%Mb?xj?y!(QJ_E?s`Q=3-9=ySowW{@en>+2t!EN*x3S<~d#hlC(32GN9~C__uu zzQIGo_}svF#+kf_$EKZq}(KAz7#!t@Q&GvZNrhqb)sXmf`? zF+cGrojGK!cKQmd`}JonFPa$gA(;$XXa=fej2E#I6zQQevS2f4S#ET96ICILN)3#Z zti>o-%ayEo=tE;N3t4q@42@3PpTw9cdFVn$O8&7?7if82`;Oq1F2P-ns^9=UilDB8 zI{G!Bt^pui{wTv>4f;9WBK<@ZlFW{j(9$emS;2+*SyYy(oZ3>N;1=3|*)uka7~zSZ z#q5~Hvc^<~Dq(W`V9E03)s(!c<4oD(W=b@yJK6L_Sh|8@P7lu;q|vIFVjHK4aC2}F zD}ccN8xg%t_KTD+2KNg^<Ls{ax}XKT5QFE?ofav6luIOK@YUQWO@m zV#>V}PTdJ()RtdRuqHS|r^ppB{cEAQd8O?8H3XZ`@3h9k_zZRo42^S~&he1ZEg4|q zH8w8H5Rn5|Q5h7te=Hr|C2H8{PC+#dV!bHP)NMW%RU=lMkV`O^YdigLxSq%6s z;c^}fX~B#Ql+=eAr06Ysu5Wx4(wO5X1L0gv7Jn>I-T*BZCR(}0NH0*sBHf;zXFCy{ zA;SbWhuCM5!Sf^F9XoR(RnB3!CjrUaCb>N;jPTqS{)XMF6VFPgk{8&L`e0AEIMaKmONQA>&9e=!Zxil?kZ*a2;%n-)KPl2L zQ-J?h2C4b zNdfnMMkzP$&OxW|sF$8A`f?CO&YGILRn^uFeOlEfS;v-D=Heso$&q;6_%XH0-*;8fzOAIgXcTa#R#a-y{9%;xLfp$`t9aU>%Ez~vI>@8YQLopBoNGng)s9k zJJ+7vIfK*q-uJNR%%=27@7iedEax`os+4JEoM`)@V;1P+8-m{cjO{uOO+nK^$UO*e z-~lg|Rh~EoCpJELw(8f4@7QCzhWg{V(Rf5d+C)Qr=u9AX`d8bCf!j!dhvT_kxl}mk z=Y=1!t>ZV)eZddh^7&K&MOlgHp(V^HuUyRABW7MN0EP6)$&JkK))O*(m^m)OWfa9y z=15BB4e3v&4im}U{n2%fp?as@*2ZY z3$jltO4TT+)tN+Sg=q%rFYcN&TlnUtlC}yZZAO0;Qk%d=Gw-E<=~EPG5b5<4o8`1d z>U|fo%;n^oz)%^m5D&k0_=+`ISJEBHD)8gSSuOKdNGeEcX%_{vQUvb;F>Z(X-*fPK z9k{|_)cSEK2ID7I8?SwKP=z4OrmzlI6Gjzfbe@8+CPcFBjAIO}#_66e?HG&t zU*16>p*YWNS}*RG4V>50JgJm}2c^`X5M#M8@cLb*?y@oWfI|v5nyLyzF(#b+eBUk4h zo(tGe#x2K}eIJ6WDap>Q$s?r(!A<>$fnt&9wQR)31B(|kPaNhX`|L=Lho?6BJY_;R zAxn;7>&h-h8jn*JP0UYp9OxUrZ#XsKd_ztp0v%@epMxvur*xc~*flVn~hu$MAVjxu_?nBVRRT zmmr-vy;Ra3h?pL6nw?7_msaewh-pt={b2!FBZdgT7fV^5t)7V?A|E&$okeh9Df^HJ zNvjS*Nfv~dGkUR1^ajhOABF?K5bSnN-Un(GKae0P%S6-5C;f1HJ3DZSW3Gx>EQVL> zncE)clO(P)HR{lra1sN(ahA(&=fT$s|8svLugCH~QBV5Kft+PgP)q)OHyv>iclJ9`NEm`r9TEcZMiX?wT(^^~v-n7l_&1!7-qkMuppme__`e&gcbnKq!<=`{GycQo5tP#ms^+&TSbNZuEsn;PZid zD|siZ_(ShUEu*632@aX5>{Ao={37qc_cFxudC}JnuPi7x{=hX}Elbzep;B)}wg&E} z3;RS4T+?q9g%IOMK0S7UpmZ4mHCF=8OaU@G%>Yax&&+ig)Isqo_sj@}`j{4K%T|(V z2{afzObm$^#VG&rVJjQ?7YA9Rq^2r@*@9*}%xygrLYDcW@bCWHpARjcz-m>hT$aSd z{|1v|$V@XQxG_=NYw$gY@@WYBcl{}2GA->peo!j@hsmICM!lX7l|LRwP3FL!~ zq(m>j?S#OR4m(t6fqcb53f$eOO4EsVfwWk*)ib#%=B_rjDW;8qFC!;aU@NUvVGXu! zSH$^;XU>XckeDpapw$#2iH-65p<31QaY_sKy$Y?aMq{FURRk?^iThKg-&n_8uYELK z@B-BUlqL9Tkeq`?(Wsgdn98pr_*Nn{fnQ5FwzQJKP+J@O^{(p$&B?;7^`aT?GeYd& ziBJ3J3ow?n!O>hcq|*5HBm*#AjHD$`Om8}iqUfL|66(IOoQ`GVd|H`r=3L5Wa7)eD zP_W8L@TAPyW`dZ!hj)yv@&geIHl7Ei2gz4FY0(Qx!E<`MUe|KOujvh9td^zKP{a91 z+mHI{FQC!|_{;0LeDl_4pV5H5J{&nAFHYGuLn>5G#W{34O zCmM+OPPdfZWBtDW*rx*84oM!({ea^^=Wh-LBN?acn%BFllc)SNX$lcCnb1~xppEj;p+q_9nbNjIZhW0&#EPT{`TpgIw- zO#Ua@=pDxB!|w^`sBFUpC?9VHy24S!>Jg7rCd3uI{=u^=Vk^n(kMka6-u%Ns&LfSt zt-mAopWGQzb&LGMkf)?hD}^dg!$37#8=Hb&c75s}`P2S~025rz z(MZy!M|tO61rUo>|4RjVY{PUI9WA20a~K_Qm|^6o*=knX{-HdS4aIr~EbGky(XlwH z|H>q}s-t3~qLjf2%{?Km3ncT6;(QRm=Zq=6#C(U$wN|j@~2|2VO?v`E&A9Sqz{5>eIlw z)^YVMraz9rmx3&->$={8x7a4H#Sn&BS;^vXxk-31_<;u1Rzt|Dy|2d@-w{T;9YO2ZIy%q6k6X%! zg4*w0v%DO@p!X|OrzL8T9z}PN+LE@mxJ_Ut19_O9Z)Q9XY({=uO8X&ZTnC5+HDHJ6?iUl6Ap5fems@PCjt$$PS zo_!>BBl0}sn{w!dO(sS-e{JEd^6VwmqcqQ3qG$5UF~vgDMcT832Aiy~zZP?)tciQV zb+Do-WTDwL;u31|J{f? z4~Y^KEZg*i6CGh7(@Z8)Rm$iiBwiZ5rYFiC9g5Vxxw@%Ys4T1lL~!VKp8jdc&|E?leRq`4}rs+kcK# z>aM+T*oE5cEY<8%8&KUSz-GI-KPMbDQbChDzW@85h;nXUgIEjbidm#cMfLgn1me3+ zpb9sRC;HE55To#+feDRlSJ=rok{F6ExRwraVYTh|C7`Ym_-4mPAWFYWww0y>tp_v^ zKL2>?Gy9h9!6Wy9d}U^BCR4id=I4g{5&|m3$&hY=T;Q|-OW7jFh8cxfuL9re8O0~R z&MwCW!=kHCDaVF1)VjvLb*lp(gP*r;2(Cl)N9cpn55D`g1rtZyrE!|ME-R6*Tjy!T zK{JaYx`F5)Gxa}dJzq|H!TDbSC;WiskXaIfMqrgfj9p>>t@DHELw7boQ7v@uC>1SN z=>1lWrfhy3ml#p`m9ft*|8O6T&$kC7ySf+ddTRPWT<2u}Sl)#p-OGgeL9Byvd4oM3 zIjL(g8F;&pMlu!XgB`LVv7QeczuP#N0Q%FGuywvakWf!+Z8`A+X3|4$Xii}U!}#h} zF)OKDhFh3EAKZ310A9jgfrBN)J9hi8DUr`*B+6Mkl#?);Xm_A-Lb9kuR{La-h}WOM z@|d;Tq9PpYo2h&WvCww$PD3NPcI5b z-TJs2`qZHUa<1mz7poWgtaCsm;Ev6V(>wwZZc=3PyC2*M4sVMR_TkI|NW}_(Mr?2DN{98r>qScf_Ok-bnZ+sPzW5;7GQI zWxRcJj?T07b#EH&WAwbOBva4h?6_}eMd+Uq1#kNaz2ZELS&Y2qNh+tppQOAmOx9>& zf_RNb&t7K?nakmf7uSPxA2vJoS9gfrc?Qt%noMaY320Mhz5w5xH=lR%@-5N_jW70_ zm^&}R(ZPRL_#TvDt+XFD3ry{!n@<`^*uL?&b6f!$kX8~!I-VJ%VD6Z<2UZ-s^>9{_ zEA@(cxdD~pQyBbugxnUvN~(-FuKo#h2uF7LIfwNQa9^5j=piREK`typI56HSb8?PI zCt;wJu}+bThDvF8Z;>g6J-#%=RCTaA@)$Gm$MO?v!Vv*{vd5;{v*Dg+SZ^B3GZuf4 z7M5oMsx#?t{2WWfnnPj=9W_8~JpUnCdhcNb3*?r@jmJzmSl@A)$? z(+QqyXf{B0Fbrk{U^ke9xbzRdEsM!ufO9l1grEHYJUHk%#FlyMxMMK8>oNzQQSGf9 zc8+PnUOfEWKkAM_7M?2Cu3?-=O&?U>fzEy1pT^EhEvvRXhl%f87%&1rJZ5T zdV-LdId0$;(g%1C#HyB}#TKR+OKO%Ii^EnWNdk6)FdTD|WqJXqpA9Y+ZBx8R#HPsQ zUImL+c&+Dw2c=F^k$i$Qeo=St^2hm0FXOuJqlx6agq`qLxIn`vzw8f&6DA?QLGc;b z<3%xd&@}%jHZwRc|M6w=^GP9_cTry?=DA*?D49j%{y^oQ@f~QtJ_}N^!a{1!LyZl5kv~NAH;mQ_vCg=(IEy;Qbz`wpK zDB2@2aK~IeS#1MKm?%>>CoB&?Qj)pZ7lT0tCj z%?051LQ$-}Lblksj#{|6w*I&F-aD+RZc+CIK|ujQkzNH9kq$}^0TEC^5b4sCD$;9c zA$DvurB@LVrS}dI6+#b12tD*rLP8IaGEe;0THo4xKlhxwea<=e{^KMMnMvN!e&Zcu zj#-&mrEUba83Ff~Lxld&H-g4Isb4Ue^Z78MgHia7?NO-cl{OPl)beFB)Oj&~gVp~2i~Da_EP1b;zGu0|t3iOw9|>K* z6Gr#S#ENa~{#l>3u}pmChM3G2UF&Qj1LEO(EZ4i^T&{UOWg~ofah!EU5T`ne?xaLY z($q0!W#;lt$FSVh>|=v$91tN6S!S_A{yci+oA0PoE+o|28b3+sN}0LRDo4$ENvmuCwrL$4(}RH#&PMUmIIaM*MC&egPkvJBDXMxfv6m!a~3Z68^@ z_14s(pzW$hgVJtE$kXoS^#=^dCAVvt8%cXDjY)*{Q-Ee*YA6^E?@{GVz^j!DB@<6B&0X2JW*vpu36j`S`{*mfX=IH6go>9?whO zsuh|unb7J&M=A*gfF+&n2a5!Q8z1LQEc#0j0vWS_1&IZt-v@l;YwC2 z=N1k-mTKRH4%+!V|EL6@3%cJt)8Yk=fri_?>6eM@fc6JF5P%!%Yatk)9=98NYdh9< zZ>KBQU|KaRbTZgNiPTviKbTGu3H}ZYMQdsyh*sHO`_L&{;?g9Vg`rO1LbGK&7`bz0!ZHl3uQ z33syv?LFjif(z9^H!E+pyk=_VfPE)@cXM+aS|!bl9A7?(c#4_)x+8tXer?;s!42HA z^}bXOoRM2uC=4V{p@QWiB1U8S`9@(NME*7St#;gm8zul-J1>j4FEkpzd7T9jNS=)3 zLWRd~VGh0R^P!Jw@OPH>SsOyHX00V}BeAvHmzQ6x02r%ISRP;*ys?v)Z!Ewku`WU^ zcarPl?+&(}c{kd|#0+5WY~dp!XX+i!$s&(R_3glXZ69`b)`#|$QGb!`?_5!r4SCKr zGTRrhOLAB_R;vmI1PX8UOqO1rYP4OqX`T;_m>xUA{T;LWBU&Z%Cvs{(+l^*{2=DGH zHw<3@|HVa)8N=-`h1jgk!-$+$#$;&um#@2&ix|}Pclgeu6>fNDP^81 zLZd_iaEy2q+t!6qZu$BzQ+vx)CkC!P=f4L#4fgy&u-BPSM4t-wC@vap7A={f!f+wR z;Us`6MGZxJ6vG5xP5n2IjUs2y11DJP`Pv5tlIa8-2w7Zk&K zwvcy@P&lXfq14 zmG-m{&lIoUgiL7`Y;*F7g8fRlQhKjvrS~6bYT4>Y=@0lb+I@uTdAmC^ba!%dcbj;pr+@c$&W{{mN>@7-%{qt3sc@3W*v zD*@ADt&_fs%9kEheoeX%-p5ytE=@NbT+g36Y}6|KR=tSc%{ExTs|qdSNF(pzoptYE znyhNs-mQu&9GDXhHh{xL*qT>hnUfdxyN>39-$%fdQWb6ZZl4Xos8IpNoYwIE5Ia!n zeHQqp2_j&oG`52bQy zi~%6d>&d0D8so`zJV(S8L7>=~l(j|Jm&NRlF{Dsh9WPTRI^i9ml&O8Z`QJ_cpMBy# zdPcb>nIE?}lOtK_g(w$C`sB6rZRfJ#3zG(28`ErPe*-HZr8+tV`Nr-tPt~vMCN^35u>13Zt5z&Oq>zF$;?za<@xdjP%$%J(zNW6ou;p!Z^3?dR^ zCC7~O`CkuO!ZkmV-$@)GM3 zlwQ3`(i-d(s}XoHQe6#nLn9eKfu`h0V*_b68-BbEHPW8uL#((pQgkRW$8BecM&voG zE`!zN015FGdjr7DHgXQ508Lj~hyJXD*UsW4>IEmg?Tj0V{?h{Xd_9E92T_sFMQU;3 zLcUA&a|a5lkcUbM{KK;SGW^+L(!uL$L`gCN$lb2E89r^9EJ%(e-mtDOy+bJOTCM(Y z_gw88mi57po~p6WnoeU9*RyI;`G-r9qQ*$`Fv;asa{#Q4BeNd_#9$_!(;@|fH)o7$ z)1$6tVw5k+SYrzLB!kt4LS58%_Eox}pCVU)sfcH_6_VfMr=J;7RAIR@Q(vKp;aA$T zL<5hNuB4zsaB=g)#R0Kaop6uRH>O2G7VGIG*wp4Po*(N+D6)n)7B-%_-XYa90dQgu>2uHHMxjAtTQ0Y5}rW3R+6!e z-L{Cj7orHzynlQsJOe+MOG9%K_3r`f+eiQV!&e%be+*#xC77QHykPeeKKbLN3LC@R zRsIh9l~qktquX^YB$8rP`rv_EqdVJa#{MT+$;qvE<+!Qy`TzAc1125rt}SAa*|3N? zH9`SqE+DUn#$}(-3Ye@MyrL*Z02K1#P`>eBKPyBWY%QXZGA&Tzo;tov*@b?GsIT{v zSe2ESWxNYNqBKA$*>l)6ISfwx^bWO-KFG8)+bUY1x8rTL&+9I6TW<>2^nHLS3|qqr zEqb7X>Z^Rh1=CnVj}}l$LtS=bh}mEmg%G|hJxJc)oF_DgJa70c%XC$(S#U-1Dkbau z){CZkE|)_4Yh0+^(AD?uqO!*N0y|-(Xk-C^K>r$ZN8(PX5d&_z3~Y(sOh77HXN!Ue z3dBZcldK8GbOgFT_0voI8ynjIkS=fLwn`OLSM#GjSI3tXGu-}rrtyj{0hF0gftz&p zCKN?E?BOUP!7N-yfE8F~)1w~Bs?TRr3ka4!%mO+fGxtQcU-NV1BMl4x;07(tuCrhQ zhj}LXAP(7$<^k~XTy<@fWsO78UED$*C6NpjnEP5Y3Zm%Q2vds~`MhYyWc>A&?Hr?2 znT=W*$@Tbpdl#7VPYm_C4C>YSwr$dT`2rq|_yrc{Jxf>=zW49~bc!6is)X~KB8#<% zR)WL&m6BGj41MW!=jy=kA;4RPq(z=y<&v}WidbU@6KH=nZO|@$)rSYopC*{PVsi+} z%3}@m$m@7b+`su1h;PTA6^F{w?Y2ibH}v}}9CSJ$bPl5ce8p#yTJo2jl?H)-*+fl+ zkURzJ-STM#)jgF|k>0)pZJWsY=Ct@D&kE`6_bA-aoU%H`kv-y<68r5-U&(UaoEQFV zVS7!X+r_?uEg^H;uv(JML6yGt;s}V{K3~#5Xp)S};=y;@ z&-)|}1&?Av;+{oh&{?k(4L)k;Xmk^FhwaQ~*tUhbPue>znI8^q`OFSo1f9xd`dayI z`|NfX<;S`iXJX}$bsk+c*xz-_jRJHDrm+((Gm-;Fx|%Kc$Gi`I?q1Bc7!$%-9f&TT z0RcUF9g}2O0UfgNEi75mCWp6hMsFvwE%fNMLR-V+$iFh&XFM2{`{q9D&gHDBYIqD! z)}9$d{vMoT)n|q`0a6-a>dI9@oNOJ+PJl^fkE}>k*7m9Ma8+S@^k^43E34GiLRg4v zqn!xCoP_KPW79sS(26zl!*{=OuQ1)`Lf0i>;i4!GDM`S@yXm{7#(?lQC?)oPx6Knj zT3#GvJPs1}NHLcxFklau5TIZLN8>L)^cJ*UDv=@_!#G+&!kJ-5=Y)#jkdgCKhr6jn z9>o$9RKlZuqoNHHmtd68@mM>C&!z3P4SS_-PS;8gyR$GnIQQmE!mDsx@=lNTC&jFl zo$Ih|mFI~2m0OUlF6W-XAQYs#W2f$kIsbLSf+fZ;;mL+dF>V-zxt^=ZkSUp*yQ#H^ zOq@FC|pzDat+haM#RRWU%6qi4l6K>=c$9k z{BEw$esTBkt)3z{416&F8b(fe|bFlF9CuDTR~Xz{9NB!oF;`hC9915gNPl zMxkv*5xUA0kHdeIgir?FEg1pAWIfU+QJM=HX-EJR-4_ov%I;lk>!Jlhord} zv}hSx>|E4UR8l(V9LE2z#&dCb(iUu~@>M_gZ8u6th!#0_#JZ6v*fXs5m^_HQ%HdYH z=hWh+@tUb;PeHPx?jde$m<))oSypqDD>Y~Nd5>m?XEFFM2Vq1YbsB?a9y@(9se(JU z@BKd}ws$!rQSJ?o><8zhcs8?E*w4p|bPl5S1%^x9>Y3yYLGG5siw9 zXIZ_H{B4!ZRo{56qA!HE4P^RernUsTOfDXQ^sm?uiw;9d*G}qx##i?o!eh{O0J$yaP#0pgt5g+6X>As&X~h?UppW`%oT+P zyO6-M%fa=1Mh=$kKxSnON5L-Kf7;sc;o7*5dJNk^S$3a%rCWunuZ4Z0es!c~s*M9x zUuR@oYf2E{$>vb}*S4?;_7$@{jyI`$TiaqYFNkkJjeb2I>;f~kJ>y}oLNk&O`+u}IDhXi>{agwJwVq9XU^KnjbO!93G) z;e4=pdmqKlzR|tPsDX8QvCdLJd#_QniVzaBmQc8IB!1}ux-0Oc}bV@vL z@}m7{P6gb)6kEFKHxBYT4GN7g*xuR?ZYy*ly_~Qmr}%fg%DhBdosAFz#iVbBTdvj} zPRS1viS(K3psCu$tq}h4HFjU>*()v0!}NrXl$B#vXyn=`8IIk~l(QuE>5(~G{U!>nW5P*En$i^WWjtETb%!f)QbPaO4lX6-^7|ts+(Ffpi?R`YG4^qG-6r)$ z{h9K9G5Yn4(RmQf@Act}iL*=^dIh`N+tGck7L;uN3Wa9xv1v~qU^IF(9}!XRRpXOh zb3}a3&kf%}saKtVvoseVr>>2hpJ3xEdp`xjfy9~!V7@}N0 zg00QHh%<*qCVQyJat|2kSm+m|s6#FA zz=t97YN+`l>(>(dg2Sx4mx0_Y-!}~mi=0G{dR&xGHCXK<|8RE+xl;#mvbr7z8S7+# zm5{Q#*EGRH2EoWhHSHS8HdI%wwxiFX(3@W}e1H-Jdzi~&ZX<$*g^--#o#U1FY5 z;D@wE)=9{xCK+<9qF)a*k##-`CLUZ6v;h&bD1Tez&HHX3cy{YTg?~lEH=wTMatvPK zOY;j;b<4WfU4X|M2c*FOGGV(|<%%rBRBPt_gJoUh@OzmPh1$`T@7=T0$1Nymm#)1#X8bv8PcKao zh4A-a&L4_h6d0!8k|n)2t@n^iu>C8$$qlhbvd#RSmY9-YD1fe!auS`eqLKa`zYi<6 zIgbR9V6H%nO~iA6z`9EaC=0{g!btGwFE1{SwH83b@1UObDHc|ydMmd*pm6yTEw|x) z5ZA@PJ$#)m9D+PR+aQ`z>Q4yI%7MF{;D7a+|Jum?+Mn1U%$^D#7$fe)w??u9MSIPa zh(Wabsk=Ugd!bJ?gM7YxN4wkly~G-9M?e8aJk200Q8}yAG&o4LSD&!H`2|}Fcly>M zx;M6>Su2Hn;ImP@1qt6Betsy(7B#{*RS{)Kq(1-^dRZ>7ZgnUGIegrUE&^0WOOqB? zvLE5$$RLRiEd8RZmq6b5!QGj z$5>qhC;|d9NukNSq-DfV zXQUsc)SK}afHK*V}bXan={j;0`mC1OP0U^z0h%4pmHYFvtQ zK^-J4#WzpH?#+-l0u5&}OqH_z?&<*RJrDR@$yL;QXmqbkmQi;ChUJ-nmGx`ur4&0t z+B?ik@~*AOx@C9IwB6!%Q5S_|tlpv^uGNB_*NP0(=j$V>H58HxFyV_+L65p9tID)q z@~=6TQ%&s9w=6S-EHHcuMAMR(#V|W$URd^EfKVnmzHK!fwH#dapM{KNrhmtA@THzgQ4gW!*rw=}!tZv=dNW$A7KU`X*~ zhaiIuT_NBlvhIbfe@4$i?za~Xb7^h{iI#S#@~qTeU2DNDC(o{JDVtB(W*OFe*BZ@Q zsL7qINk0JA*Vi{_qZhGxi zXBoj{m*=m?RF4r{w@pT#kix<{HZ_KvdsdWIoKw9I)R#-gyMVk3lNP!pFJgE&;qtl| z`74p$ec)5b(iy-_qg`xEq}RUX9B7qP`d3Y5nI?~8dIRw;vIipxYr@H8_n>^eEgpx2 zpAOY~q1E6b)t_mdp1onwg8g1xF6OLDmC`7%i5`KAfA?$ouHL9x58 zBWZ^Xx1SNzMw$&Jy(|$sJaLxxxq|sW!p;${CpY8r6tZ)1$(}yB6yzPg8dq?O$E7{X zrb&eKvS`tE@o}()EH>H69;iJ_ILj8!6Vy}PRb~EZY@2ti7GT%T7$C<3`YxLKPztyW z;DPN?;)3Tgnt5XO6@gAG_Q(g#hZ)J?NA|{beJ02A51uuGf* zDiyK|ohZn90rj28w?Wdon-b6`@E6@0HRk*Bjc(jE3uHCSy>{O@M@-e_@XUQh!iCtx zCoqrAvtHs}U0GutK(0dewoFH)&4>h4AKlmB7&~C4J84*oL6OIZt!cjBl2#M%{d`jY zk*JK>8c^m&5-@t9yK>`N=+}mP?BMOJ#Ck%t!F~5;El|r2{GSc-uU2VyQ~lKc@g-h; zK`1IY=E0bHOa=`Nt?9ozp}c4RhdQB=S@$P*&pbC_@H@re$HwKy_G_iQ=@C=yr?bGT zBhvho1T59Z^f?vmzU6hA3vrAZ;Vmxu7(ic4aNi?J5&HaA|UM(0*U1&OA&rH z2XS^+XxJm zJD>&c0H83Tk>g+#7J#};gyB&5i5l`@4*>%w!%GhZQG`N*R>?4gn4vqIEr9a)J8Or8 zUr)aH?=AaU;1dT$b+^Yay3){`^8Yv9!U1XowEw+G{^u&{VNBcN%A&fVNI*&KG|%fd zZ+?ix$Ct-A73Q^Jb;7#3p9` zg&uAD7N%Icj;@S5m+4ToH*~N#b!s%oOZx(=c*H1O7i5L$Xg2l8J^)p9%<8sDvk%&s zUen@Fu#eFq?H;prj6e16DI#8gj%U?=PLi~Eqw!x z6R%fP!cKpEYS_MYHXxoq>7oCvGD>AV{ZJ64Zr&@>_#wpBZ7O;rsz?@OA7guzhEMbf zjSS_%HC;C|uv8soL;6!JuSuCW^}^()Ui@*M>0u?7qWM#oXs!BmS6;%@_k$(^%63nk z_&Qc1&^6tmIlg(?FrV{d_Ic9UJ~b!Hfu7GI6(d*mT$6(BV`-PuX%i!^(`mL|mgxx_ zW)457kCJtmfUo%iZkNQ`w0@;foOP+B0{E(@^qd81-J#i6cK9p-WHkHPaX0-K{oVN( z@h7|9Ellr`mFG;4XG7D`>}oCyx3}e0JeUn=_G(t|c}-klQojC>q3)CJk;N|#CIgk~ zO)UAd%Z>idh6UoZpK;VO-y)OF(lQ4>rAw#3)xq`kNr{~HyQEp|SfvuL#umbb#P7y^ zoIGg{)Ee4xg~LU(tG_U{-Hbl5Exr;V#eV&LlUh@Y$1NJg(=0nQgb}{rlHoE zVlB{;4JSv4)I(>t#z($10e2TZ32QOG)YhQ{fbzZs0H9o zLR!>FeqQwtu*ppy%DPAn_8)k*P{1&nJ=it9!uj|kTTPR7$&JF5a^&}hWkIEoi zE&RRWTE5*vS{Xb)m2mgkUErNW>{s1j$n31_#z$74?eHT9tAh5s0pVn*WFJc%I68=T zj7vUHRH~^xfK7BtC1Lx$E_*06^!RHA)O`bk4&nqU%Xj8AY-^QHcJ_{A#AI9L#S**u zrIJSa_pcYTUAryrex(zl_dN!6{~`YA;t*9HS2%2Q=|GVi^$4;3$ZI`4UW39ZkDZ{N zlP!J}rx#ns_s#)51;$2ZTLh88>}0D}@0FqcKnFZ9 zb=#toD?Ll4*M-gvtbrgd?8#Q?7C_uqQaq|{k{p#>jowOJ;sX6R`HRN`c`Rw_?0~i@ z2@%{p3Mf|6uC!=HIkB*#jHmsT&hcJFSfOT4IsFi!-QFen@w7Gv^i=vU58vW%vL;fx z)&pO8e!RSZHNAVLbFMZ2!A3`V8x#(hPEOM7Nb5%U26A}QiCvPqKt!ac)9j}hb7nTC z8pmvzTSZK*<&=OKwYV}54@r=dA=K*wQ5^3y>pL$w1!CEZYbPT?OPZ<+R(6_7hZ_zj z9)(nLUwa6rx-O%5cX3zM(MNR+F166>V>uq6ITF#ZpZuMnRpDI3`-E=~ety|1+(vC< zI0PPndGNS`L$l-{TBa%Tnb*8QP3k2u()a%02W538 zocLNe7V-w*({g=iac0Gs!Cex&^g3!Q$0$#DC zp>pZ?3f<#|R$RBcQAD`-b@cqV&2pFn(7dGmRiOPYl4Fiyc#^C=db{K7`dA~+>M<(# zZ@K}?hekn$^DUHwV_zd;O@Zr&&*SN4Up|?uJpj#qP(`~hclY>M3CRbJ7X!_!(b9d2 z5>Y?~ocYSvUxK-8fGurrXn%IqvJy_oKj!;91d#I8Hk6=GcdUw*uebmN zHjma0=i+3FqW8s}A&8QkR2$~}7KtZRnH`=xVqR@c@F%U45~N!)JGT`cf4SAl(AMU} zsWs6UnwPmHxt1+Qe^{r8p1OE3K;)w8;hCCi52Z)9tpcaqW+Kjkp;2S(I~OqyR=_fQ z0;rphHCa>g#64hH=_eqp%Y6LEoVt@PE3r=$R&?o?MO45rC}0pZrCB58zlaWg zBI|uCdiI_~txJqY3Re|lx89Bp@_Os(wT$`zqiijr;Y+6120PS#Ss0f0Y5nu?$@%0T z&!*GH><$eIB`t1}z6gA9V;NNmf7omG{^~C~Z(Gi{d!H;?&}2E&=I^SUCYZ}7R)5=; zyWFirT87>1`ytQvlE>0kx$aSuRfhe5NTkoIT4(Zc$z}mO&>=4{@`x*Qq>LU`^X=}E zm|oAL9$PJjQ=zwVsKjZxSOXw@hr!r=oa$KU#$EQ9$_%udoQF-u1J*NF4?r%OWtS}W zuF=rGDKiabnG2;hZ{LH>{#P>-)otslAo%>l5jIE=*uP{MyZ8Ny%HD~TaemIds`Dh4 zQ|!;FS${m|uY{es_NGUA-{3w?*$%og-p1op)7mY@yPMAwRPla!`j@N_*)!^RBKN>ycPZf#mrpMg)72%QKikZhoKX*P-b~f5St$3vn z&WTYk1A37w5+%`7xMpcaZ=+WrUgeiNO6|4!=T5dyt`|2Bdm>6wX5B3~Xh$n$8UbZ%wT8 zf~t+xeQFGRbZ&0ymw2Jh1U0T?*Bd=E%&LELkAs0GAPx3hrzGO6=MmGIj)l_? zB6qs|EjnA^z{>4W8&>s@w)&ECyRH?Xy|nR%#$PKr#sxjP;=bK&958#)9Cn<#Nu|Fu z!XruyiH2;@FqUr86C(qwD=aCGZ9r8zb2s}p33}r?VbhT>U>EUkj`&(aB$c1tx_S3~ zOiF;l2ai_q=?aTc5f5@lb-+%Z(E*7bsJJb+`!s*Vc2~&y=dO=>!OEQiFUg)z)oV1- zA#&s74U8{8aZtFgP2a1fg;Mnw=chg*lz1lJO7ioR=h>oSI!wutb_XO#zhL^z)2CuInK9g_TMt?599DO9(5=a5PrRBu zx=W?|d0LcQlluccYr+|KA{J)L@vt=m;Upg`w0}e#X+?7)tgZSxn(^SP!wVR{l6)Kz ztwlU?LGEH3i4|r!d8LN!uHacE+}OGI2g&ygHCaBJV2xm8O6|Om5Ln3IX^ioWT~iw0 z_8k_Z@8vY-`A@DD8avOQrrXotYRq=LBkZ(8w{2XF9T*U%v!c!@?11Icj>@~<_qH<; zc<|~4@44|xkCTtz7hF(H*rwk;i-u8#aVJNMrB}knmd-=F!XjN`HqK{6{rC`RaAbM> z;^m5CT~EKH>ioER{jtfFlt{)kD!?j=KzOhhUCb@}E!WF+O)N=uAf*2Xxwo}}*R@`^ zn8@?VF~5ZI1;wU{oN?c00a*Eh(pIn&OXbfP6B=WJul9@IyUQ_p(_4PERZ7|Dl@goq zMxHHZ}m0w|IBJ>nJn>bAPeLf?_)cm@ace}O%xBV# zoA)K}Ylvyyef#8C`d1O$CndTn9vtJBz82hlLrz!P*NPwIR?2G*5`j&hCv#=_@)`_=^R3b@#*v;u9ogjA_gW%KOcp zeHc1TrglOz3MikG4WzlQM`Mb3cDo>P;WDv%Zr5GlVY!GCnEhd%c}CsLJC`Y(4z5 z63aA1!QX&c`Ra%)&Or$HE^$+**{YIvr?@M}+mwyZ?k%k;u+|R@1j{`VYS?0|Z7p^X zj(}41{qp9mnP1i zyGpesxw}Z``2zdTof}uS&)@G9pQ)r%{P594ZNg#3$A<-$wj^B7N^?IV7&FW6kr|37 zZ@8V$@;|oQgGY{!m6yIg2&333PaiwH5YJ4k<*RCUp(wOLvBo+o)&L zoW*F?_YW1VJU?T<(%zquDN~uW(S5*YOPN=4&fwgl=3&?Mqo%A{S3k#{D}uxk0ZGQM zT7Ix`%OMrC`pyIJw5^dpDuBdhj6B|RKJYj~gL*)HNOkFHLu4jB(@!{vnX>NJO4dkC zNL|I1Hu~Q53hHc#iJOOh(ba#Ry$o39(~qwNzc&APOzXz#0*BrE?OE}y=;Ze7zJS~O z=S^>%b>n8=4+D~ABt#o3BCy05M<7vF*RNA4Xa3GAaIE)L(teO(hs+p>ZO4Slfbm z;_1?zi7gWFnYgA>cc*RMcoN3=E^=}AEIxfX1{LspK2pq+?)KB}ez2F~U@UKgy3`sa z>9WFbru~3J7&Up}FOQtXKCT3*kly zT*eBwUc_;o+un#4GhwTHvOS|Q{q%4zgX~$fn+(~`$AwS0A+y5ATHsI^a+_pCt2Gdv zc_k+$V9C&EGWr#|TfyMs<+Ru4X9>K4xjU98&Hx88AO}+7^_OjF4l?BW+Mf?^9+hSU zIep`eKAw}GR^W6A0@t()8K$k1h8R^e*S$l;&IVeaQ{sR)2HC4Can+t}sS+sH^|DHy zcr`QcDs_8GVk*@_p=@@p8=~SD*Xm~SIcuA1s#G=ttt{SKM zPe&htClLu#u1y?yy~ZlOBRGkUn zC``PgsHx%j?Kz2aKOc>-y_dDo>c{RXpfo3tsEs9uy)phAWfLf^cXfG2!*WG+(k<^- zNXT|%&(}_->Xc&dZ*x`W4UI3~ZEp={J&5r6x`XGP%`A$-oD`U3Uz79iwyV?o8Kl;C zgSV8s`W7|M0=wF~g3e1BhzzJ+Q?o(rb@iYWk;9se>0-o!om$At0iB+yHcW0Ck6gsO zkU4pJYS2MGq~=$m^GaUK%9*`=S34-YO@ij)S@>0X`RfcwudooPmi3yesGoIPds^eKJ zu7)bE1w1owlx|Ln1jM_7g~3bLTtYDAmhbncx$K+r|#a&!rlV(bSS% z>s|u1-><|>`te^1E&`f({4wVz{M6#J5<}OhfZ5oFz`t*yOSUS599*jV4&8`s*=am`IgNT@zw zfL%C~DAUr?g38U!&AI(W>hX~yN1Ty*N-MQd{icHkgV1Ty28QSR2M38q85ks!rK|_V zH8gDZusc>z$&dEoOee26k#V(W&1PsY}k*};Tq#AS&u!0*ADU0>lmXc zD>b}m(6qrS5#2XN+}2sGPOhpED&Ex3?9PgP@&C<|Weub2G^3YX^v&v}p;0*NZe|r| zb<jfS)b(Fq%Zdp9 zB?ENBsm6xgQwlt0pT8fk0#+iZVX_ZnE;Ks;a-D zQBaVkDx?EKy#w!sNP7o}{v(oq#dFmqz{%g;H_+Y3TliPJ_Z)qK0zo1ozY_X;`DeMj zeE&|!JK&$}s1#*G?)l2f%gD+89Wync29=4Lj=#&jKp%fIA0JQ6f0X<`JxNjU2Rn6p7)D$kMDahUV58?kI z`Y*w6`Z&A0hWg5dot@NNef+)d1!}r`-E(u1_4Rhskp1_U|I7USBiB@?P)#cP zw@d$(^}lQP|H{h0x&L2@{vVP4N#wWS{=xMJ*KZN{E%6_B{lWEH1b$2W$6bGL{T6}W z68~}6A6&mh;J3to-1P_7ZxQ${@gH~n!S!1NeoOqvU4L->7J=Uq|8dtJT)#!&x5R(k z^#|8)5%?|fA9wx1^;-mfOZ>-Oe{lU4f!`AUan~PQzeV7;#DCoN2iI>A_$~1tcm2Wj zTLgYf{Ks8?aQzm6-xB|E*B@NJMc}u@f86y4*KZN{E%6_B{lWEH1b$2W$6bGL{T6}W z68|sVb>iRiK3u%1lRY5RSskH06}!~i-5FoMs%>`dWp#qr{X`dT1VGsK@9XRHvkB)= zMh@7kxCU@C-~J(dLekOm5#y;RB1DA?%;a0zc=U-IXHI)L6hv!P^?ZA#=H;2Xc+Db! z`Mh3wItGia%S^^-$P&7T8IXbA4FbiK4a`z#N%|VW76k<nz_wbZ=FHV}qAxCa+H!SO8M``Pcs8f3q+RRgOWL7Q(L(M|wvVNcCr|oEsB+&Y ztr~6#bGjcK=_t)_5aGC7Eo48_9bW_bnYbFqD|e1t<|E^ip{E1Pv#;`mIrKkWc%wr% zy%ehn-g?j)Hv=*+Jq`=)6*4{D{hG&Co4bu;p~nw72 zV7HFKwBrWf-VK=CJ)0UY$8%34SMKeZnUbfcPk(ziV|&H-sDxM@=9`oZqT}NWocbt? zDz{a#aSK1wlyss5j>OZ2b{I%*>T5jI_&|&UR1LU?fl-_rhULoA~_o z{3h>b^JnJ$Z=a2i-{4`Uc`v5Tcm#9e$|*5XM!j3N%Isw3oJ>EwztLX$!)WyjJm>ni zygG)7(;Y6QV|~}_O6bM4QkfZ-`*k$sT%Txo@LN2n67Fb&w+A!mDwtv_<+EwUC+Vd}$bY$}5 zD(U?>qY~N6H0YAf#ba@gx3}%9*HsJbPgKm@IlvK}T-Jm>uc)ZMh1LYTXVgi(p;E-% zLzA-7y5Sg?`{c<|M}1~G?q(I}ATU4?LmFD2sD)p@>a87TEwI1PTwLzFx0v&^JXm8* z(jY+e=4AcV&T?5LLQr6&-a`A_%L<>9LTc0NHd(MMM_*3_d=U70}P?UFE(f$uZT|1Be5iw+EA^xA42H<{xj# Vb{{0o{F-idUDxPp$(6g0{|C8gR!jf@ literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_qqweibo.png b/goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_qqweibo.png new file mode 100644 index 0000000000000000000000000000000000000000..40f434347ff14fe1165c7e84d556c9ac9738d17a GIT binary patch literal 10504 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_renren.png b/goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_renren.png new file mode 100644 index 0000000000000000000000000000000000000000..e67159480e2c3d83c292dc3b53b4b054aec978b0 GIT binary patch literal 8805 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 b>Y4usTC=rE3LkXE00000NkvXXu0mjf9|K7o literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_sinaweibo.png b/goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicon_sinaweibo.png new file mode 100644 index 0000000000000000000000000000000000000000..8167388cca4e32603e9c470b60f3ff9ed6e08274 GIT binary patch literal 11782 zcmV+hF8R@kP)|b zFEKJ7lhK6$0010xMObuGZ)S9NVRB^vL1b@YWgtdra%FdKa%*!SLsK^Byt0e{03ZNK zL_t(|oSnUUv?W(@=J|`gGxMBt@2y);y`Kmn0YXTEX25`2G++x512PN-jIn70X52jN zHZWs1HmJ?AaW^(==ovgSJi2MX(6-!Q7H!mkFmBAt0!e_NBoGpMP)I73>TzG^Wai!x z^GEDF_m)%zjB~AArJE8<;6pk0I2EX*o{-#Zm`kB-Ri|m;t6BU}lh71fUv$1pk@=B9J>I^(Ylm zH+~)&lZc35xrf~Oz0_ljP|hj0ClIxVK9Mn~YC@Q-n1nBhEofeB0>X1o}uY5ey??!5{?JmOMkO0~E+d?@|Pk zd&GJI3ZlbJ0_K7uBW2(G{+8df;aCC`L9yYO_<2V57la{}z&bG3$cNsW612xshuUzT zf>{CsL&PjU66@b2w(@OTzu~Q4IgS7yqJg^pgI$&md{iu5F0q2D2DQ2M_}P9z@(jx@ zA&j7EwtQw-5Xgq57Azx03rz&EfQVtaLvxP^NHzBFnxO(>{#^kiHfV@*9TyDkTNiva z!ld53I|)ec{kjsN9?!qSmiyDb14~G#u&OCS%s>P)815lwOcO}_j8(gSIWC@m@VFY7 z)_%A{?8vo&d^wujOj3{eJKu7qVJId62&na#b|{J!|7B_r#D!xSG+|s=mMy*AJ8*l|n&t{)-<4qk2KOC$scijmONA=)CQu1Q<>0EB>9B{8O*Mjqz$G!n02}4aLls14Rezf)1p}lBm_mYL$oi-CiBmR-xf=t zJtFFE2(~LsCn;Odo?O}WkgW1;!_TZI0ZDhUhfkr5$S3wgTv z#*TVGLqbHv2-ah{^&7$FH$`-Zjdh56)Wy_aND&^U{ImU^Ubkr=T7k}&u= z_eBQ?_H|Q-H~~iw zhCiQxNp$y@TS88l1T2n_5a({dFA`>%#S5yXi*By~Dp`B2Sst?mEg9J#-XfxkXz$T8 zMnoc;!Np%zOLHZ`aCoWX-(l*lPtPFBpUXk9Ln^LrC58j8)MFMuUO zWro#bV!Mvr^G#&q0BW5F7pbw)GP-m!vi)?ZM-F`w#4HGo9YwX=O7Q!!#L-(n4z~JQ z;EmEA-g{CV?)|bE4=*V7s8jv>?l(Y?%5k4U0lls>rWsOlv#e^zXG7pIhcc!aqH7vv z{@XeEXA+UBb`T7p4x|x^=EtJ7ie<;3GRK#0%9?t&iS`Iw|2|~p4###D{Y8l(6f0QV zjqN-KPI&@h_ah)waFF%~~1s00VcL0lL~p=R@C6va}_u3%wH@E;AT?qw zTJFOG-KI>eSc2qqj^uqWtPHLcZN*ZFG%`H6A-0)0S*)Axu`5|@aQv4c00AJ|KE(goxTehFPZ9lAA82jPQNSiy$$39J`n+m#if zPcjRH+_?`cpt69Y!QcDaj}cWz@sctY8bS~(8w5i_@rOAhSs^;GHAlv-eWsq745rEu zjji~|uxa)sFGh+cnlZo?n?n>o9JD7}_Dt#Y%aFUjhPEs2uPH#K~98}{M}Sd$!|-lmoo&OcEn)-D@L!K;99oz>${w8Q5R1FD`JSD8}ha*2iHx43N5$cK@gpd`B z5y{zq@8XxBXJ3YOtB6D-C&&rYgoFUG#zIA<*1MKPK^34S=Z-)_2(_d0;v2H2o3o(d+WDf)uiWaEjL2=VGi>|HUX`N*^U5UjHm-B}dO|{^?RJ2(!BEghw zsbEF0kO{MOY{%)yjx&(7MiwB9u`og{VeMgf;0JK$SJ3Bn1~$9>OglsdcT1kwTu}$S)N3!W{8y>*-Hb`-2&XR9Hy< zu(|apIyhl5f|(&tol< zB@jiCu+We4izF5 zQjN%qW75(BIv$}R6gCCVPqTt5He@TBLHok!I80G|(s1Z|ec^&*yL z*z}MS3MV~^{IuUePP-7gbpi$Rh6d?Z;M*Vbmk~#9y2AYVF-7vhzdDMJ306Y2CU?jt z4nji!skS=Ad1|DV%iFJz5KArtPZ;aRfXSnk^Y&5|v5;S9J6+7?e;jzDj^)rGU4Qnb-w2P~efQtH!1#w(v ziss(2PcWpwfq^BE5DD2ao=FDkqBR4n0;Ei+5*jPd?ySbPFOaE;H{6L{a|8P2y;MKk z4{I%^iY-pyac3iMcour;qp-s(3&9Fn3NGi=ge@Bdfmm6u@m-%F)E7AhpVpR~U7dkB^L=JImo z$2X$aeHa-{=2m5)a#xZz$VuVU$HL=(85=Dlc^#7lbbUYd|M(AJD_|2W0<$CN`M-c& z{9;18<{UstGb_!VgVGo_&2r1;7F;50s_@G){9EF%DZ!M8mZ)n$AOtD! z#06~PWQ0(YmzN3E2>#E{!Ee5w^zA#aof8;0L~%ZGNbjup>3Q9xso>rtgni$I?x5RYh=kb&vg34EJ_YG!u1KO(1<-ip(ZLivXgFbFC7e1;!0=Qqn=>`R zF`$|eVqhR$)gmEB?1UYJI}TC3?nCsSyAj#8K-|4Z$X4J$2}wF|-X;6h0vk+`N{Bb_ zBW6RbM7nuSENCGVL=$S_1VT=5(s{@U4@a|7oc?(1 z)JLPKCoJqhPdlG*%bhT4fQ;oC;r{Pqr(A$pUs6e^tP0L-WE_HMb^#I`qe+~@1d-q} z)KD@K2g?#FBs!3mP-8iJ!oGVu@^|0Ee)9wLcim6ev&~;XRwv<)RS`6s3)Sf?C$p*y zSqzcFSPmu9swM}aR!CJn&!S8WW>d6xLHD7i9*szkeIYj44mW<(IZv5@D)EP3L{Gbr zT3UL|#61u5OiOz(hyr=#Zb%z$SwS!Ym1!~CU`{-$6|A=jnk9%Q-VBML#jz(BQwcToCg{33{CLhGJtE#fnXK62~@jw zkl+0U`nP@&w{5{{_|aE<}zTAz_5vL%WKd{y5~W>p?q`)WmK^T-irnxPYo( zCx?bmjnLU)EaDc~w^-`2X2D$qP?;nLuHwKYiy=`EjioxJi1kP+g!l z1$l`hFSC~7m8cUECOaGnU{pajDWN%@9>~kVO&Lfw#Cpi$6qbmmUlOp;P%CiKZqmE2 zMc?w*$o2(@VQ%t2OAE;{w>~2$?;@Xm65Mnr_MtCeSAUK6z7=#~MBF|uB?LnUOa%}k zvV94ecIaC_i9Ych1o8a!XSLa*Ho?XL zyL&(KthdwMayPbrm1_GU?Ak^!NMb}SSx>382%zGf2KBfi9oQgz>^k_<=OG(2LM_;R z_rq)hY5}b<2~?vIs)|OVA|vgrWM;kBY~lh^*UY;lOsVD#I9hsE20R7?yg1}c2VmY8 zBMK%NrAI8FyLMq;_&)vXKY}gPXcGo%ute~GlJpoNzs*|YA8&<)ny_aZN&I&s;whR@ zx*3LV;fxQ^Nk&FBeEY}9Oo>%2#^=2;T8)vs0psnkbTXhwRiPV4V7f{W!8D_0NIi08 z>8Fs>0RD%HlXy3QdL>Fk91F@OtTuvUy`auA18G}L_5DM%ul!H+nrX%(vZ{mKAtpVT znEn5`i3oYg8;G<7A{l;nQ`SdwzeSK%f>2tUG44t|d%8~8a|Zd`rx0%c8dM9|W1dUD zV?vm9NL(NsybYVJK;0lXV{en~j+0Z%aJ5RRP&CEdL@klX$Aauv+5b>ZGgdjrY5yE|Mupzvf1LP8E=V?{&z+qB*Q`Ct& z>HqC#(a-HA?p`LTl0-aO$+48K)X#>`Z1b8PXbOR`B`5K|n9|H-e$>QDG3xjt9zGEf zkK`vTkQ*ho*^xl@V8ZfAh-5U)5DUa^g{%|ep0ly0Ca(8DA~g+i`uSw(spICWuF!#H zaV;ZOj_pi`noaRziew>4AV@-Y?LfbLJMEudgKb|Zf)~P88f(iYrf4wd6tk3!!ceK5 zWwwEcDDFZaiXhp`c_|pt3J_93LoC(KWBUdv#8*s4>J!@@b1IAkTPrD|7p0w)#Y+mR zjyt7WN0;{yp88VyTfgRov`0Jz*>#%NbczeXpz_v@^7chgoXZme68$ZUihJpDTf|71 z85{rR6XZU_Ld5ABIZm|IQuwS9&7Snn5<1&JQ7Wm(O$~Jb_U**;&m~-R5tDPzfpgBHI_*?s$4+w75TX!M#-=Ulzys(VcT(T_ee!p1 zA>I5P!aet3osyTAk-C|uh*lJG-maz)S9_`_o=tr6Bap)foP5YdlP#BSG5ndM2T(0- zcak>T;t(eiXz~!nsUGzAz-`Z?>V5mkU->GtPhCTQ z&1dNE-ABE!L>^5DKo=5qjt*2={Kq7$=8Y(#DRN8;{53Kyb-%#z`=5K$l zazfTfg`w7=E9*3Sb`f6w%S>MWGU6o{&$Tli&-8xEww3Np`|hIuPak6T-VbAU--c}4 z1y%4;Y)FU(h(hiXO=s9yJCVno%INu*FuME^*hG(*%=Y*H-^86e0XB2%;BcsxP0^*4xbemtx#^~xxclzA+1S`%JRWoQ*=KX{#TRqQ zC6~<4b%we?8wsUp(%()jsa$yRFS6t8(>e0I=VJ#~u*F3(N)$jNTAGm%CG4oMR#^GX zza*ddDi)u(3p;WM4c_P!DY;=0*jyKF6Q=@*{qXh2M*>!&vQ)6ROuoJ4p3DE7x{Xj7 zCPtFTC<*QQe#Zau*V*+SKY(&{FfcPzl^EUg-GBf6y!XBDkm?OJy^#kH?@V~*(#W_1+>uk$Jm8j_%nlXL;DYRV23y88pr}Y5wT3SzMsjn zuVmNzK2ToN5ZN}jL3khe$VYhG;~vNF|NigKg(q9G9T6dfKuU>keB&Fu<~6V3(n~Mp z=9_Q+iNXV@EMk@zUG_A#zwIh!vm8||B$e>=+gtk za}Q1J50;H>?t!l7=)Ifo*7e^0kP`HnjW6F$pdyy`ieQROSFy7m!S)aSKi*KT*|U)? z@*5ufjcvHIaz2%`Y+S~)ybM&6J?0splGVI8V z_SXAIfl@3ta#s4jXXhXO8>$meA^ddNc$X8B+th7jhJ zIT2z1{{38e<&_*fc<{L7Y?O+s6z1!?Vf(9og_L?SPCX3*Gq7>AVKDXRXSUvy69rYFL~)h9!7%9AN~`c z_ym9QCx3F3Rvk;@20;!!bF0aU2)EyUJMVheyMC%E4_p0=r&CR~V<}^%C^p|SN;cmU z5ZVM)#A1Xhls!TnkCKU1N6RZb_(KVCbB_^;0;7N(>5G?sC~GuW(ef!Ju>;Acl#ek|2VvucI@?0%TJ}l}OFxDNh|5 zZIAg7pZe6Nxb3#v=0Z4@1`fgqA#l}ISFv~RUVh^@eq%16x$gq@?c2xo*Iz#u>~Vz$ z*!Cs*?PKpgonzWzcNCGuTb1f_c7Sx=i7I8NXc&wfs22)LRj@K<1kqu{N$2BS9lYi>uVHz4 z8GsW`IDxml?QNWQ-g&(2WiLBQcw4pYw%cwyuHc4EfYG!guFmKRb%pADR}4!^$U++; zi%&QWSv^9ZT4c5X-3HdTNb1VytVdmuVe-j4#k{CAcdkazLAsuS7!^|WFcz!{Kd96GOh^*)yd1mGZyJJ5eSF`Qtnv4;p@lLK=5F&w6ruAR#jD8am5v` z16%wXa8%khY+7p8A%wXw7Zw(dc`iVJyl4U9%;)3`ihPk%aRpMCbR zBd~gxgb1vE_Vdg>cMW~rc%aZNHEoof6(z9eEl)+q>x8vcAEB_mfV9mCdGBr(q>0F= z!p1d>Yh>IILX2}Jb{>UGD?>0P46_;26&9ay28JN1M>?UZYF4iKEbG@_cU&`m(TiTR zsUbP@-uJ%uDB+0+2M-?P&;IPs=EonrZN-JZ`@6q;)bXvG1f>c!d3BY0-t=3jCMqf{ z_w^(~MoOej-fPBet?MZ^{;=O!-o%Z=9y=*wzkF>zxYL7@rqZlckkZg;>6+jo8SCqUir#bZXTc4 zV1{a+m$dHvm6vej@Be|SnYi}ZX5(@+p-nTkJ^egR|G$0#n;s_Hj4%w9ryfb3iI@%p z-F`JEAqH6$+E2gtqTwFOjTn*=mh!x#%BPnmaKcGE@VWcA``50fij4;nQ9_qE>384E ziSPLLB*Q5#yk9Vcz-_nP#$}gX#=d>~<`3UA4NFT)96Wf`5(IOte6Wvv=}TYAU;M>i zJV-+gRU;czr4MJ{Z@h+s?|UD09L>AH%A-+Xbg5(M@uzdzM_)p{BN0{(VVZofJoy-! z_csnqmY_krn>EH_sa`B{Cc8|FTi;=Ai)>7x?ID#yQFPm9B;?sTyPkV4yZ)C8>2gaj z7$+mwk$e8+o$P=6A5sYfiI{E*;^7Z}IM-Zr4QHQy_WaSiu6u~^wwmTv?DvK@yn&B? z^rH_kZv{*ObqwT#4{*noFXq7e-bbiL)ZI@D_=!gIplD>4}mlQ01Z+}L_t(w3y!<+!VCGz zSH8lp{_3wDHyhb1Jb<73xu4^jYp&tl?|%1D+Bj?hAqpJ)?6utXluKFtqtNK^&X@Yk3vAIh>U7vRAUvT0W~9i3+)Cr zU5AZzM6dh#GUH!*Vd{ufl~oN)3>ME|ipQ)BpPOWk}fv64jFp$v0kZ5?$gp6iuxB0EIrsDJ<)I zBndEv6L&GYRk{0B|BaO&-cOW32!;}T+!fgN^Uq?>8-A0;XFij9yf8Prt@?NWefv3l z_z)(rylt72PCD7UB(?}HY;on9602YS0!RMihgtvYPq4PJ#z^on3cO|_(I90yV8@fr z&vPbK_HA^ybarRBC|uv-M{^L)<1I#nLu3z&U*n=set-|3)uO*|Cyy{ zT+ZZ@3#oSP{+WwP2BZTA=)QFWhpzn+E7yFQ_FLD_mw%8rD$cyeB#^TZNrY3kbL#7! z#Lj6M(3u7}inO*Hs|5Hvnujrs_^iV#{5i*UkjHg4-V z@PWM?{4d|4Z99Be!c9965$zdP*%CI3+5_Yy4cWOh@>!N2?_ z2S4?Frgt3jX>q(8Axh;~(;cfr;4Kz1)R=`(Ohvpqz+hP7X{aqPo_hk@o^cM_o^vM4 z=P$yRr$V_N}B#emB zpk6>9fVG=fSpCvI)~?&f^v;8H_pi^_!I%r0Sv+ey^_feAoekA;1&bA|9KjB+I<#1-Kr>-|jhqvq8exlN!N=JQoB2Gk6kMxX zMt5f&Hg%sZp@K={HIS0}I+7~`M{S4o9pr))>k6uX*jFz#vwjX9nUs-s(=EAe0mNMo z)7D!hs(_4Z{~>dqNSpnp%%HB3#YOKa?tw1(QhLkVV0r9m(?-$7acR(8pZdRx6R*s# zt-1=1YM8ZfWZlWmg|gh;+B&8kGHI}J#HJmx;VsH6ja;J)AK31)FDo!QSDW!qT(_bc`TT4+95Mvy~v^< z3yrt0F$^9j(rijpLt=zU#H2%VhfQ1epIQ;79X1Ux>!Huss3D|@JME2`7jn|rM{C!o zelLq7Ur!-zc+ozOkS2h%zJf@n$Y=~rfXjUHD%~G zkYLV9N+eiv4NQX74N`;kPJWQGo76a>T9#&M#d*#EGO4{8ASpJR!NSP1jMO19V2cel zZ3#(X*0~VJBdEj$Z9_|&`LOpwO{z})S|I4(Akj?K8-cPHoe?~stWAAIGy@w|{$|96 z5aesPOlMAe1%ZX81Rie_v(`;os^~;*%1Ac@onbLyp)X9x6lf9g1e}(3D8A!uWI-t6QZL}`L2v!(aZ^-jfAZE~YNGj!;rb6m!PRP=B z&SV6^#=fkSpuTu4lzCkjfY|18c~Y>Ty(3qG|TvquH+`85u`teD+Pc-g{w~v&pXI zlL}d=u~1(2bmlH+lQ>1g(kGYBeDQq&psODF9+S}wGCG|(S~rI@vN(dKL|VMqj(~MD z4=ifM_ms#u2yoVy<)8dB)#O^x_ioxE?t9FNc??BtH<7J0I{4bDGR$YFmin|IRaNkY zLEo3P6f!cd-07R4({}SEB=wp`Qx)Is4OAL@)PXYAWmR-vADu{%_0EGFipgl!RgZiR z1+OwW_wBc z!C6KBE&PG!TwfVo7-my!SS`eaVZ26)ub%gg*1leXuThwWnu3E}jL`K3=N4QmIB8l% z*XH#Zq3eBx4#Ve?%^(VKaRI7`nqsX#x3c4pC+EKX_PGE7u0QZse?(roHlQA+7aOQx zSm;#>vXtan8nXL6U8p>0sJDHf9>vh|JB=@X7(~2OkbSjYs#vgAslAwbJL>?Wwz`yI zg*Pc?To#v@F92DKL)PA-@i4_CqZ%tMckXIjcmcc%Yf}3xzdDKteOZOLc;I=UT&R#y z083cjcI`jjdG#L+a+?eAf4UUy7B78~E}n3sEHn(&xw$Dx;lb9YNZ&g&Sg4V@te#c~ zPwRT5@7WicI`yPgw(O?<{e>D^IN`>${LB|U`PrMp0!Ptu z;|s4k+@EpfGjrVW8TT_=I`+XqXrB=YFmc}~xioRR^MTfT3bl@IA|<+7R`LkeDf@3Um3JJZyqH?)K=tk$$Cocy-<=>Pt#(T;!h zkSf?QiDAR2F8IVBw)G{C?Ze4`n)B!uHj>SSH)+`9Ns5xRJ9J*Ltezz;G0t&beeoqD1)0aTA<%z>W4NX~h ze{fR$(aQE5#(SMe;4EBBV&%1DE;ywYtfeM$QE o(}%YG`o~Yc@cBRWe~0n^0abqw9AQo#RR91007*qoM6N<$g3ai#5C8xG literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicons.gif b/goshop-web-portal/src/main/webapp/static/images/member/shareicon/shareicons.gif new file mode 100644 index 0000000000000000000000000000000000000000..ea7a45d53833d94157ca78f10ecd3b9b355a6ad1 GIT binary patch literal 4425 zcmV-P5w`9}Nk%w1VHg1L0QUd@0002l(oW0(02pz^e%Ai+0tScitH zMTe>PX%qh0Uc$XO;%Oy1Iy&Cx@ch75!Q=Mc-rgaK%=(pYeYM*&Gc!H3@%-lIt=I5} zpk@BnO%-ys@jWNsTp%fZ&HKg2*4Ebk);?L2$77`DC@3h*%*+XFv~0EE`(;(#+SulD zYyIt{?~+QX<^Fx9mo<#XgvILo`LD&r#ch{`8g}q z&(7MLn#t$Ay}kHQNjQhWNR`+B%rh&I&}L?4{pExH&N{5i;^#|N{O*!o#`jX3&sU$% zNWAqIZoQe`{&$kB?f3is_~ZZFYx=oq_l+Ts#O3#Iab>6Q$lmUeuE#Qi%uxZ4uUnqu|J58#mE`xZZ=SMj_6r&aVz60$pdo$W_enudmgUkE2>GO1PnHO-sDud?gkdaiE+#g_>|KU&l_Qk%}?EUe{l$4YV3=Aoa&1=8x zfVb-GCMy5;dLMw#|64|BsOsBCO*fs|>WVg1l)phiK{S)j=k@;o`IP_6X8-^H=Ork# z&gP8U{{GHGAcMu3nVIvbsF}dESe)M{e!W$i-n8WUA9Th2qapHnP@a>4O}6dyP6ht^ z@%_C>YpnPyZLLX`%qEl7>J%BV$k^oW_xSPZ|J)M8&DZ_toPEsm|Lb@6n^4ryP}JPy zQkK{K?zLjR?eujXSFYgFow*EA$yfwR-&?|7cXkIU^- zzx3Gv0{{R2A^8LW2LS&7EC2ui02l!9000R80RR0%go~XkXqPVCShz4DG-$5axe+Ju zUp!Onq#l->h%a0u170xB$O7>6fqR+GN$Z>1`W4+Qy!s- zc?p^{c6e~&(YTPOPdCMixZ&2bAx)%sbS~`4joXxB#mZ3~Dib2ooEx2TBLb*c+pc79 z7{!XRqff7+00Gh!4zAU+u0n-+Boxq-E&Kxs*M(NU(7%^uv zW-LF;gh9rcF_kLmLPudyI!!=;q?^5Hb?Pyn-pG*gDVPQeRQJ{U2d?Exn`Q?X69v_k;#B;k9 zc;RlJY;pi5m>fXPi!2_n$#djUGr%e*e)7QqJbu6d2Rrtdn}q`uvI>qC%Fw_8T^#Yr zlb;;X#Q_bxfrO2#6f%gB)WE?(11(TP;%;!r&_V+o3~=KrgNPuBk*h>w2^>g}XQ!2L zSRzJ|14KiSEO)@Erip}7vx=I96mkb76^XNDqDMx$=8=hNNs&OuRIr8>R?y;UGoXg* zDW_JfQNc0)98*FwoPOF21fh!mI;s`Tl#nT_ozem-tPrfR2CTALkwi0^lIkh1u-3CG z1i;Q}1q8x&x+}8~Jn%#X4^Rv0tVtw6i?pv&+d~CUu$mCR!~9@H01C=w+n%3`>K-JtVQR11lTAMG`Z|tZXv|5G->N zT=>j0%LW*bgb_WwT!+&T)6hc>O)JfF$5{hSL(0uy{4fnkG|lqXD<^G$6<-6~YBOul z;`7;i?6EY<&5WIK4t(eT@HNXSJ5aaXJLAiD#$)>p!OnsYPPhXP_)WvcNjU8H16w;@ zx8PhDA+i-qJ77f}G#J5i-A?Rbh2sVoK?~<}J3xyO1~_g-1ze;~_~vNy>_p>x{C+A8 z2I#K4=8mWCgaI_5nkg;8Bd@vgw47QIBGVW$%`{$gZ^8H9ckjja(;!k&90U-cj50wO z62vs`lOII;L9DM#93`cpzy9hQV!tx}TVMJJus=j7BM=A-MEMZGKoSs;fcr~B0t0ct zeprwgPvFNb+(Cp?AR-O@m|y}!Xu*CEVj9F)f(i&h2o+$11aT;#3}=W9cOZfYDhLD# zNN^4nECCVczy=}zu+a}867h&CI0rGXK?*M%;~0qO2PsGp1XA3B1hOE(EnJ9=E|P*D zaUjJh;(!QZ9OD)Yn1(E{5sxJ>U|ic?te38eVp6CuF>QpAHF8gxe-+;IyQ zFu;xsI3y%?V1Y*Lzzq!e#S)%y3KmrI7<8y)B2SUXUwnfFviOE5+i(hTu;3d+pu;!l z01qM%;TN6!MH}EDj$aUgA4Fim6IfsiS^9w=JD>v?enCuGw&9a>FaaI(p^s#M!31rH z<~K5s0WdV;n9#HIJ>PS7l%W!(2R&Y} zgA8bt85z~6Na=xrj}F5d7#PA3Y(Y(1V89z-NU2I!s?w7RVi1D>gEs_`fjdOw4n73~ z9ilOWJE#-`NcDzNy&(lbcmoCE@M$!r8VxaQ^aVP=st&fw)fc?r4itgJ9lXlbvToHL zTt%x6q9Kclq(TZ=_38`6K-ap`RjyJ{+|JJl0LR)@+eHe-tI8{dq;*~-@82}XE;Xdh76YdxVJMyNw-Jv*||hSpc6sz4pq zAliEWJYlq>r7dg|_Nx+9;9Sh|ZLeTUTwgJ34Yv($3F`2w$pZJe&8Wj~n^BKrOyCKy zDgg~>L0X7C;9jsg8K}s0s<=JuW6**C!d|s4>R7vog)0{>uBUH}81s++eI5n&aSm6Por9rvs^|XE!m|@*AKn|u> zhnNZ2Y26wYtm=^B7MDO+YD-$T=#@3@HY3DbumaYywqPFn*kfh;*#qjpHJ=$d#%7ya z(pWazv;pqPOaol#1jnpB1g>{m)7i>69AsuWjaDJ{F~D>+F9^)d01jw|5!8m_6q5@7 zU>`%X%2YNzC)oMUx--D3dQdw&`}xmy=0fvQRSzpDPkPByU3K^R#6~;%(T`^I6X9!J zNLTvO&YScT4ZCSgLz>c^=4+)nZP-$a+SI3RG^auRXi#5Q)S9OB6F@!dO}`q}6v7xEmU{b@U1|yl`RVlWMTsw z$OImeaSRmT0S{U@m8cgW2|S!31II{4yM5pTJV=7v88`zTWU%YLRv;K>7=k3=EsI^` zgBLu=$1Y@Xj0{L(2xqWC1sYp|S9C%Q_He^7M6e50@PZer*o6ot;0Ak$p%btFc$vYv zfq<5mV;mK@Lj+&|g9zLK=H+NP0=i+adW=I0E#Jok9#D@fL;)Z8h{6@>@c?b?qvcu{ z2Virq1#Q$L3XzzAAHMJfKTIGJQK*MDfPMvinSCAO7>6ei@QNHvAZ8QD!7C8piL|f7 z>=o0-ArR0Bl$W;ReMi6{o&fW}zUvC%SbD|8QI5nL-tZI9#uKjfu5mm;@`k6pyC|>u zcX8hHLz~wJ!p}HH5`Km z!b+{Mnztz{T)Wa1<`e{ukppi5EWyWs7N<`2>Ia~>8T9vM!Xje%w_p#zSH5KhW&?mZ zAY(z61IIu#O>;Yq)dNmI3BhB2_0ThOQ(X^`I+Wl9H)Ak+Z~-Qm1MXq~7Z5xbpl66> zf-Bf_7Ip!`0DweC0~Zj27jQEVFagaV3>R=afQ5s!a9WgLenwztMsN&kZ~?YO3zRT| zX6IWKpn^`215Xe&1m*-SNG{_dF`j1y7r=#1@OKyJ1j1kioo9HZlLKI=FNu{ek5@6G zmwBTXSe>VNdH8s!H+pqwdZh=5s#kl2sA_}=dryRWhsb(~C=e6>kO;FN2XYXJl30n6 zNQtwM2oq2d+Hi@NIEk|milQiqqBslM@DCFp2V_77v9OA+_=>Ek01D6!a?px$FafjB z4rI^{y4Z`mxQn`|0H{z6s4xNw5DV>)i?i4cve=A85DP^>2D7LD=3oxSfC{Ma1I(xZ zKhTZb*o|ah4s37&->3i-FaqZA1K3yu)R>Odn2tqo0#v{W^S}c|@B>Al2&f| z44c`RF3_2xPz9=j10m3tl<-8YAOHdY1X%Ezow*FJ2@B~U3Ry4%CEzm$I0L>Q0HTl% zSOA=_37vhg46rZ)F(3e0@CVwN1 zH87paaGujC59gT&@oApw0SoGppMCJ3`B?+9;3VJi@ zE|fNhj|W(smnk?JSWM?DM&P3pgLkASSlUHfZwOdscUtvjcBSK6v?W;jqNET&gDH>% zn>RW5qJ3Z3bAZJKApnHJU;y+70iV?`^#B1u>ZSYQ04V^2A&@k}kOCp#FzThI7Nact zk_2xm3?YyLfSLk8m;%)0h5-gM22%%gDyX9WBR7;lry=lJ%FJ&$GdR#ZqzRb-aGJ+p0BUIj+NC!S69P^!o3#l5x0!!9fCC>RIS=DE z2=k^8gPiBL2RI-MYfu8p0!DzY!q71e5CZASHdnJZ;p(ms(=SFAT~UKL?wSMI zrCEGKage21ZD=)5Ag~7eunOxp)`wZ8(}oc1HC!2~3Yzdt?=q?n7HJVQ7*IBq}me*oli7I;J! zGca%qfiUBxyLEqnf?_4E5hcz=sfi_-`FRQH(_j@pN$vvFJS-Vkp$0z{7p(?AibS zoBMx=l*{y%^M*6Fa(Z}XoS5jP`Qg~3cT5KR{4RKn#LZN2FVdQ&MBb@03C91#Q*>R literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/sort_asc.gif b/goshop-web-portal/src/main/webapp/static/images/member/sort_asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..51ac8107f47adeacfa3b3d155a0bc982f5859eee GIT binary patch literal 183 zcmZ?wbhEHbDm1!8l2`kMs1HO-j}P{X63oeL#58je{Fzry_G?q zrCf!TWU*zy+5oTRp6R=igQsPOP0LQ(l_XVcY0ziYd8}H#0!Y?`YzmohvcYn?#sB~R z8DK#1CkrD3gA9WXNC0Ff1FMOGdQqg=yv_xd>fbXq6!bKwCGIdQIQWd2;l7$dlnB>U bvEv4f5>vRC7#F5Y(ev_b7LsgbV6X-NySzSa literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/sort_desc.gif b/goshop-web-portal/src/main/webapp/static/images/member/sort_desc.gif new file mode 100644 index 0000000000000000000000000000000000000000..592cd3c99b7880d32d2916bf5d29aae0dd96aa77 GIT binary patch literal 287 zcmZ?wbhEHbhol3M;SW9>x1|)LX4I+pG-wtm=+6$X8gU?@BJ- zmz%aLNw(P1Yq@94_9&@h%Yd~36HYc5^jZG@|DS=XK=CIFBLjmfgAT}4ke?XXYz|EN zVAzn-a$-`3Nta6N{KJi(bR-!VoI`^iYD{Ql>D=0jUVi zPb(=;EJ|f?Ovz75RdCBJN-fVX$}U!L4mNwSXHySQovx>gV@O2n+jES(3S?=U}rJdp7kjFfbZ;x;TbJw7v~Hn0wfO$3{$2VeW!+ zY&RF&T_CG?Q|GRN^c86nGc!#PrN^yVL^C~^8bL74|f(bs$6F%E9&2Le$)L;u}V@$ z=dAx)ZhPHNW+wwf+@i@de{Q^a>YMTr)ta|r3{zf*6f9xdiEX>s^)Kw_eg1&Y51+eF((%No=*&Q)wp1E&nJTy;paB87V`lgi9 z6;{jld1er=tgLXAVDp1i1VJ>$={_O#@Aq#vwpQ2@?2!5^T5m8kaCl78Jf*)@JBII7 z5?M1*9ZHX8HYC#wEbTNj3tj6Uo-BdGUhh0tDwV4ym3*82P+Fu~MJhN1_;=^Zf#7k? z{5lZ(ie!U848meo_0sF`ER2{I>b0k3D++zz?ZOO~NCi z(pvT$PGPQ*YahSdP;`jSSS%KeM$;&CXZ8_TGog>P>0+^1r0gDeN`EYES>M#v3F4PlGu@Pp2&E;Q|?#V8$|Dk6mOJ2G3J>}CblfT=I75Q z3>PO}ova=X{c*%i{ZfG#)0_C7u-v2mSHC7cp4lHiqD}5wj)uCAF$ZzY(^2F4bDe7N zt_1w+A9E8Q9C;D+o`pY>RSzoYW0O4KfBtI$+&de<4zK_r9|Rws08kd71%*xK z!IKpzx8QUUuU!Cvj=`_N2b^O8;pj9~D(K%z#1b$pynvKk=Whs!8YS!RfWB#o#xMer zVIP()N!eUU_>vK^w-6;W+!NS`Gdx(Ni5vo#C>CYvn{Z6-cXf+_=Z@eUoUvj?=F-Bt zgHsGbgwJhfz@8=ZoW&(Y2JA#GO<}cj3ns_%ydz*=sNn*QVtYzUfYx<3`>dV2r0rLT zju_lWDWBtLx)$I*F+!$;YC_O~U{0(XjgEHmZa7*SQv_jL0#qn@wrz`-<0Tb*_ou17 z{-aljH+jAf<`?_&6Vi<=4%h_u7oVn=h=v(%Gq9(5_)sY9!!tY8XSPeCxZcS1qho~{GCtdiKn z^?OsXE-(dis4$5{SEVFEJNxjve!vEi1ukR}+)>x)`+(@>G{Qi9gf8)byK@zH*(!P? zkZ`NP!B@2VYoiEqvtx)(x<+DoRz4ZDTnJPCrag&e<2xZ_#>or;djjdv$nGNgZ;;Pb z5g9sl=6WIEghFz&S%D}kTg=(hl~lXL zmaEq!DtQ0WS)W|A6&<9yUZhxCSMXd~FO(zNZt!yKOoDeV_P}jt3Uf1f*9{L2jXISF z({NR&Ook&Jb>enF4NOf2@jNNf&5eyK0QALKR3IRPbI1dejI*`ZRhK4?p8q1FkH1xS Oq5x2Af1Do=eDW`}IUOAU literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/upload_loading.gif b/goshop-web-portal/src/main/webapp/static/images/member/upload_loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..182f9dd1c20372eb3367a716e6293f2ca4eda583 GIT binary patch literal 2499 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/member/warning_bg.png b/goshop-web-portal/src/main/webapp/static/images/member/warning_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..ae891eff9dbe370f109b42854437449c37e6d5d6 GIT binary patch literal 1323 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/nc_arrows.gif b/goshop-web-portal/src/main/webapp/static/images/nc_arrows.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ed1e85419bd3f85adbcba2e74f949c5b2e1bb66 GIT binary patch literal 201 zcmV;)05<||Nj6000000A^8LW2LJ^C zEC2ui02BaZ000AySh_00Ft!k$l!8)wSJqoMff^TmWQnDzS)eS)!Lcmf5rOA`zAFTP z(1!~OhsC3kC^0IJ%%5~ht#$?jDi$l{7Q8p`H!Jd*$>D96EWV=0=}6lue=Ft?F}{Ac zm(@6DeQ^tWd2D`eh8K%;j*pO$l9QB`mY0~Bnwy-Ro}ZwhqNAjxrl+W>s;jK6oe2Ot Dw`f~d literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/nc_sortbar.gif b/goshop-web-portal/src/main/webapp/static/images/nc_sortbar.gif new file mode 100644 index 0000000000000000000000000000000000000000..4c49fc48d12c8d136f0d58176d76a0658da74b14 GIT binary patch literal 230 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/qq_bind_small.gif b/goshop-web-portal/src/main/webapp/static/images/qq_bind_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5711fd0590f8f057e4b4974bf86bb098ed24a43 GIT binary patch literal 2944 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/right.gif b/goshop-web-portal/src/main/webapp/static/images/right.gif new file mode 100644 index 0000000000000000000000000000000000000000..5404ab1b4a66fc23919c0920bd891959a6319cf1 GIT binary patch literal 347 zcmZ?wbhEHb6krfwxXQp#K1Xx+L#LTX6rVkNcIM2PMHs{1d_eD~$i zhFf}_YwYXSs9yV2bN$xEZHH$+_|g0S|NkfN&n-ExbpGz<+C>KU-k;las(Qi>yWVZa z&1>|RUQ_(`5Yu$Z$bm;}nNgMqyU%uS7R;y>5MblEF z_RWSLzde8c{_5Skcdy;sI{&o%{Wr&I7wGnH*V=r#v2lgglzr+z>lknV#h)yU>~Hur=}f{WfADxwL~<>S!kN_ ztQ!|LG@i|HzS{ICVy?CZHxrMmqN)g^w1jlEypmg+2)Ajq2B)X2R=bdhnOcyJma>Sd hkxm4cn6hbj1T#B>01Jz{9mnh=XyqgNKWQ?m`e9TuSA2@W!Ha z$Ry&R&_$4f_$>|*hYoM`AFznRnWtt6$p`uF``zXB!z(YobnP6@;XeLb1Oyl;AZS1% zn$V0^Xh8=$(S>gGLJtNoh#?GP6h<(CNlalHvoM1NEMf`EScR4SHbO**kwW$X1PKu) zYS-AnMmDjTt=Pg2cCw4z?8P1qaF9bB<|vMEf|H!$G-q*!3tZ$9m$`~73>Y$E%oMYA z?6E0Guuxl;8q}yJHLI0c)S*swsaw6&qX7+SNW&VX5lv`PQ<~N+&1gZ3TGFysX+?oT zMT(VDHiAu@h723EiMYXyZgR6*xy2psbeFr`%RL_Opocu{Q6BMxCq3n9&+?2Hyyzt_ zdzDulICSLLDQDB)X0xDz3$@LthH9*)YOYq*QXSP*H77J$v?zgGWC&{_4}ykLcj;o5w#~|Lf-a_paV}?AebV ze(l3k-#>Ho+|h;4p1S5tzpUwZyYy!;O-52-}} literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/rmb.gif b/goshop-web-portal/src/main/webapp/static/images/rmb.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d92271f9a2fa6e810343eaa77251737e9124d11 GIT binary patch literal 64 zcmZ?wbhEHbX*~6o0ZXvNJF-=m6P3SxyE9CP5K}w#q%PCS@C4 OYo5P$LV6?vgEata8xvdr literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/rmb_b.gif b/goshop-web-portal/src/main/webapp/static/images/rmb_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..390dc21db3aba75dc50791d1212795bab0994f24 GIT binary patch literal 71 zcmZ?wbhEHbX*~6o0ZXvNJF-=m6OaAbAERiI&!74V$LN1;5*< UrJfUU+uv1OeA4WSG*$*{01NyT`~Uy| literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/rmb_s.gif b/goshop-web-portal/src/main/webapp/static/images/rmb_s.gif new file mode 100644 index 0000000000000000000000000000000000000000..08d21413101dcd92ac6ef54625078ea0f6a4baa3 GIT binary patch literal 57 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 KMNUMnLSTZ$!3Ko@ literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/shop/2014_ncs_public_img.png b/goshop-web-portal/src/main/webapp/static/images/shop/2014_ncs_public_img.png new file mode 100644 index 0000000000000000000000000000000000000000..821d391703b14147ade45fb1b6de0cc01407b4de GIT binary patch literal 9861 zcmZ{KWl$VV)Go5P69S97+d?*YaL7Uk1b3I9!QCB#TYwZaQEP{c<{v?F7KbO zZq>ctRP}Vt^pSqLpVQN4sw2NBe#F5f!$d$pz>$MUtGw1gzqvFv9S)0ys;` zsiD7KKImoowpzdZ z+n1OyLO{x-l^MM4;J5d>FWFk|yw_L%z*#>x3V7hh@Evp38QoraIPEkF(`No;T;;2Z~a9yWS{TC6k`U)4M(ebQWa8p**^**e=Eiy$+#HuU)OP z?=lY|4RuOEPtst#XXycNM>Z=`>Cps&-Vshnt%Yj%YHtK#gzU?SPCIw13OcY)Vt{^()Ljeju)ZlMu5^K88_Wt?%&O$!yc2N2E1lO}00*b$SKqH@n-XKZN7lZ-C z2^kVh7;ExYfCkG1a$(oS7y01xFWE>$l7Z)XlP$N1w2ZR6k$+dBAxuwCRZ)tC4g&*I zruonAxdG#QkI)c=2`QVw*l3Ud2&6H%XRqDhvuLAApv8}Yom2l@_gDACCa;u~%6s&* z{#@W@v<~cNNoz^sLPcjI_)u7ErQL)pLZY%IkdCd$73ZWUvXlEER5tf-?`Mr{NgEl5 z^+J4!_CmXmt{RStepweAb_?fs)8Hwc4f8sWQX&JPm<;(`eUjtmq|d)1xidPB_p7CDs&2OjCG&wb0t{oRmJzt|JmXmd%;)%PMh@D1z>_uq}s5M^bG*vJu~(Csavwc zOEx{MDyMYllVz>4+ROmgR3i0~&0H(#`TO%NMl?7Ns+rzi+`&)UWUhoRxGsn;#Dzpd zH|EXOGhV;XzF98E+^^wz9EjmeO)mw_<%rr&0oOVOz3pw^$O#|lpps$WrKY; zM(;! z5OeCJ3;9tHd*QEQ&Np`bH7s_#x{79eCRDt+SVE z0+#|iJZ{tIu<8{$d|$^j+{1XJWe@G*!&aE-jVDxM z-v0PeIaKoRGhn)^zF!q{YO?G1)@)qY0EdmtA6I^?1>5E8UFolT!`FqM&Sb}p; zc_>rm-+R`wCR4&Nx{-_nA_Ag=Y>^m%1o+CJJenjUa6o*=l#?oKr)xxQBKT0mgSE56 zD0w>^@>Gsy*d~r-=qp_za0SRPe4@+HB=6r1d&{oDq*+DNY{G~$@`E5!`U^e1z(8EW z{%X%{WKzj`?!saZO?6=1df4bUmuCT-1b(C2CYn2gB{DRLb(G=`3`$e{2kz(hx7pZB z!AFSxR7!~GAOK{8oDtECahoU>xeA%=O$EzzJ$@LDWZnlfb;#B(FAMW&YLuY@Fgs}1 z0(pv#33u3R2zNZ9%m1y3C+6Baq^56vA!CgVwma{s+hU1pzq8vP6qUA93i2wP#P9=s zcS*-_v2*H33#{_+w<*vJWjtv}5Ue0yS)-#jh{xlp(0o+KGL+rZYKo?vk zmm-evH~5-I4WO=+F9=yA0#z~PC`<9^R&+RTjMH)`>d(J~ax4u6vf(!{D*@yY)Af{V z-sA;o$GB%V_Yelg$=|Kb*;KFAx{Uo~&y-=;YP6sn+KHlt0?$T!A_n{*!*b3ZH=hdn z-??zuFp=3CSqk*Phm^-XwJk3#-QQcHX#p5=DluBmM2{{(yD|X+f=ISGX zgF)yn6TTfy)g^`tI6s`?r!G#-cbs|#>HKGSOdoB!_#l9fsWJUBk{GqaQYVL^lhOcD zO)gr3sI{Vyd-V?6O%yAXU@%$=^|5tJa`um_g^@HBvB}Wz-}0A#Eic!tn$oTOy!U_o z>8?gI7&JQoT0o%@yqB}nFJm|i-*n`^9nrK;#6cT5!y4u+{&0Wv&~&Fi=3n$VZfRff ztHx5$^55(8hr#P`*TsBdLyv3BhQ10s{>Zzq?-+u*>uRlPl1%6we(L*byA~mfuR=!v zl%%nXiZG_JBcI``!A7$xBnU$+z?UIGEu6IOHdi*7YPwv!`1{K~)W=;FQv^`O3|Awp z{vz&)I(&g&3;e1S*VC{^3qo=SulZcG=6|Y!!P}PwmOA4YU(SkQ*}?*gFF4uGgnCcQ zSk1dh?r(JOSi`b?@sysQ1e$!$W$8woVb~j4f>9YxmLO~awE)IWTvO_xjsdwF`Pi2o z!4t1RGovp0jKB3wf1W3zVLo{YjK!#yZ6_Bsd5G-9>*qUsd*9>FusQ}DtE`e|c8c#s}j)!(CTct3qf0At45Ax$iFZpnzg(~|n zPXw=URyxE4nARBcHpWDjK1~Dg&LZ#3)Q}Y=8y_NNvP>|lg>BE|mlJa(eI1&b(ta6r z?#u0mwt`0LdDqI}kuR=l3YZv47~kf()GnZs_-Jo7)*#kpX-nhl!NZ(QxubB3zQvuz zU0cCySlU0MQqkyW5okV-*VxMQ6*_Q-sk8-pa67;VJF>;5~yPle>X)3xF0 zwgLHJtIH&r-w~IDYamS{Q!rmi;7kXkQ%5S#`;z=TnWL`VYQl!p+2Z@V@ zS@&7}y2y&~6CX`ImmJ+R%qPlS9?+i=tO^smgu+#+FWCNIVK30f5QR_Y{b#oB7S&B zkJR~C9m?##3RbmWb!6Kwc#cJmqu3t3QF*MkucGlRNBb-{jmO>Z?HsYA*^mde?17tp znYj#ho0rHRGOyeIF31vL$wu(A93@51sA6e8`h_9ndJrS6nJ+n@O1jvj2}46_=G z$wAPJ^Gb~uOppAdWQr#?Gb%Q)lswjJwn z-;0#QdF$#s(#|jOWhw zozTQ9ODiH`>TT=sxBL4CvxN6qzG7h?3*v6FjpJsTZ}ji{GwBm`?6}2ZB|tB@d}3|-(lygJh!x1l7>n;m zWJJ=ZtOX2{7(r`|@VzF185(pyuTM_F97@5R5>82VI)_`Lsiv{NEPmm-w_1%SBfH>>bhj=@@7;IcOqC~lsDP`U*6h*OL`8#1iE!HJ| zH_-DW>yi$c&*?g^MDSkoa}z2>)AoG23Slh=^qb?_AA|zH#@F(8`mOEf39h_f9Z9+N z#~YV*+zzY$e%xj816s4_;ow7JSISySQKXOSSReck3PCBQOZ$T5tbZWCV0?oVxaQ zf9O3~n;7z6&=;ycr9v*qIUM22Pp80u?HDTMOs&A@Nl`z3{*wje^kRJB-iq236w>fDmoF3fA7OE1d%no)?avM)L! zZ~OvdN@&pS)-TD8q5wZl(u8z+K0RHXh}#tAW+oYRH_Jh zv;a`9VnIL_{QYl2K&!@-$2=R<|IxCPHL9f=F=y)p$KxT~=Q*{(bOhrLyBi$fZ$KaM zF@NPsl9(1Hho?}6mkPPR=5y4K7e`>gju<47GMR=3+6BPmSS*Q@<**$wYnvC>n)AfS z1ec#<%=Sj)Y;r#O2n zs0Z`G!Ydoc+N0cyTv-5W@J1psM1p38F^@I7n%{uep@gS;E#SLNeqi!B9O1a7gPt8A zk1m#PqD@0j^ZCVe0Wx#l+FbND;Buzgl(?{bi@xd4rUviJB{p*B%X`ROZ$alXn8W_p zKk=z~fX5Er)9LJ1qVs@E0_?n_kB$#Abeln}^eBtm-Z_KF{FpR~+IPa8cJ!>q&fNJ6 zVR_RBuTG8e%b%*zTLBG@uwo*d&&smi;o`1&{it$lE0NZT0(TUJ*o7>WWnBnIMqw3c zGj$wTqY&kL+pcp>%x!0Q6$(P8rxSH8#IaJLuDZ$KVaC7cssC+!G*8O~+NHg3!0V?h ze^x_TK@2g|V>&D;$gHWGlWd3m)a|#)2#BI)(lXBtpn$y0yZ?JQ@8Mz(CL3-ltYC(` z0;L}rHXNFsUXeES9`K~xF9XQW_|Ro2K9FMd>7fz5*}qAh2p#VsutG+ggVZ z*3s8L&uag6%iPt4Ry-}SYGv#$ko;VDNkPqSt&!3yzT~Dv&C?-f+XD70Jz4tX= zxx$0ulTG|syx5i|VI4wD#;~c#HD=jjH|bb>bpNMgxMFN=eKSsEm*=HA@v1*R2Nx6B zHRaZon0JU77!ykm@+npX@bJPTX<7_Bz$3A2Ufvn_6*^naL)^%;uQwN6YtDVYC}3jO z&;3=c4puy{-!>x-{2`{9s0MyoQ4T|!&;te{2u>`gjF@R~f3xgTD7FG`MSt)PV!Wve zx+Je(KfB0$=$x4T?ZLChYbD!1KuSq=UPp7Qy<^D{X0_~Rsm^li+*k$QV+jc*Lh@xA zS)6!^c=IuC5?=|{?vc1P|KyHKB_==G$Wz$q(^JEt_%dqfUnHd~UGEHJ} zNM2*8IjN;x;xfI!xqfi0`q!y=1J9%10v!cvdJPDU zG{`IR_m}0F$Cj`$reJzs-%JW}Q-7fkUcj*G;JJ;uue!txglV-vS#VIav@cR2Mi|Nx zg4x-LHC+O_ra>)H^_MP33R?jC67i-dRcKH(vED=v7+Zt$h~b9Uj`?l*Ar!PM2(|ags`y3ACJ~5GFv`0;yz5)WW_(wJv8Sm^v4`QQ@9$*kJjtTi0#x$c-HK~dqSBl5J$UGTMbk>`K;>BTVa`nfY(uGF4i z=s1u|CIVnQa|pi9VG=c8wBZNm$KGFjzl2=3_HEt%F#<&|Ur;|PvY_@)AECt3lS=R~ zgb0*1C>{rfRqRpTht3qg)LdQe|DD==+!f4mFl?@0UJvNE-rBU2MTG`CT%P9c0i(gz zl;ncKc`0+AtkP+{tgboF<|ELK(%Bnfb=oq$+9L)EsV_#ENFXF^1XC70@rH&5&#&W| zJP6+06l++&dVcBK_w2F$5hKh^8^t^*E#YtL^obO|+ENwO;2Ened+Ni>!xYE$&m9+d zRxzwhPTcEPmE}u%{h5__)LjO!t|X8w;iKIgXz)X=dl*+Tv9!@_IAIS@G19UNH zx$XR;Den8c6Pp76X^@gpOd4~I?C2XU`dy3)f(yW0geQ_suSno~lk6@sp4Vm;Q3zig zR$try+wwn(*nu;jKd1>4uW5SvltC?o+6hFJ{t5E268>z>KEG8PNLEpOoazmo7v5v2 zfg;x>{M;YRkQ0#%2dJ~EdwF@uw}9faK^!BSThuQC2zVlJ@%<%`qcJ;2NQw1oj~zO<q`badEe7Z3z915SC+ogFyA?_mA z?5fAoFvp!Um~iSyt^K;__3^T%{1X~_aZ3?&mn2gGQmDeAQ*Wtays@5wgLgQIl`!6g zuEqwJAHr)YBupVt0FyDME6|0oB=DzHYgXD9ZhSag8zoE;f*Q=DJ=n+y9H7^{#t!t! z@P0Z~et_-4K~A!H5hBkRbWtW})IKY-fQfbm82X;`gve&UEyE0&jM-S1kh1tbY}Va3 z*$@c+#QG^wlax)v=0QfOMB~r_^oUC(0%1$}xqINmK!~AHsiUrWjugap<+2d3K;o%S zh*4pyS7Tp<{$QG-QKJE{GGFCRJr8Q*rjn&Eseg`D``TM_A2#LNu*l?KF=?_Fk)9Uo|T^y@y8`^VTvH8)3 zjE1Ygc6luCsxD>jUDa`az#Ap{*L}zBy5Z(T=QzzrUC~D|Qb{yI85l ztO88Us$wKYB+Vf_sB{EN-!fQD)d2|cwIR`FlDkDPs)+M@fsTs2<=y9>Zyg7C_ z@^aXwNInbYxOrh3&2_jxL=#U<*uajwglr|eu#}7^MXK@qe*fAKd)5wJDTVIf;DF6e zbKLECu`c}NUf#{ zs{tKnwhsVNo|MS>005kM)c=e4C;|e?)PH9IR7=$&k6vxbNj0ls7LAQn=R>x`<>2lb_sgM**aRLP(8fHS0-p8}&cAxiHDg#OYER#jC&HBIn|GD7h3T!28gc-9_@Buf{8|9T?D*w8p6pa?%mr9G9@MUniHa0b-#*p)G zdKy?U`rWQrn=8u9W;&S`bssmak5}opPU@r7?qVbe$c)4m%}QnAt0d_4V}` zBe4vYNTT}W%|)LsXY7~Zp`XNIuQ-Q&I%;NKF{>x`cHL{>PQct@9-6P4#^P3|(xJZo z*Py1*`4eJ*8G%J_t6nUmfumZvpCK$O9ZY=7&3S9w|xdTC2x7snSK|KJ0W5x>U#WbI9Ijx|^Bd(aW^*Niza%CAlDk zuzBMYqiCcvlq35MlQu>Hrkh+mth2%g_n$Z?kt7QdS)lmkTk7*SG_JMe8^&tMP=uiG zx9Jyn?eGNHF3LJ4UOeRG`1I=EW_`(rtisRmf|utzy83H;$vov1zX!^KnfYiVhT7}#RuXSB_XM^YjOvMCv^V|A?9#3c61{JJb{_F=>_Vgch? z#>mo!VCc})o6T40o1+#~S65$RaMaHITw7Zs%>4^p(6NCo+Oo=WF;Wy1+22qZEYy+H z+KK4ZvxtJ7F~S^I1&!6^?<*-+Nz6K6qdSHRZ?)599 zM|g!8Spt7>k@L9)j?;&9i3bs-ZgXNau%p{OBwP7lB+CSUmqte!RKdo2BiQ!A`T>%sfnbAUgWtdZd#4ObF!h)CdWo%Z*hVR=7#QxM7J$HZkf?{Sl1s0Mye`9_o8m7z-7)iy+CR_b6 z0o2#(iWGtV&TK=tlD%HsOusNm)TChLW4m18oOZws-}d%)+l89ktcLLlZG1}T| zcSYKVF<51ckj@E<6Ius}BKg&x-bYyn#T-25_c}jx-O|#0T9Pkl9U@ikbq=S+K9Yqg z7nKu60$SaUkyvEtRfeG$H#NzjS?6$R@13&HoV5`ya_8K4&#msKRbKkyRJR?*3&W_& zA3Y2?h}m@;K&v4t=Dr(^XwwGl7N23Z;otDB0Ly=c$YO1Jc%0%BaD}Rp>5_($8+&#_ zZpI3Z|5%6XI8KE*h--Kx`miaukGn+9E@nE{eraM(VN>RO@~c(WUN0=^JW*n!6!Uvb z6t3HF3klyT)H2d;+OY#U4k%>`I1UY#M>`!{eI!g@NtvW!J6Xi--tH-?a!`TyU}l}dY6rT*Q?w{#Y)xww{+rvl7{~) z+fZT%yc(U>`y%UAwfA_i_>A>a>sNV+9?_S$$Sc7!gXR%Zu>_%-?EjzYYofCGf^3^> XMoiT3x%l-!7=oOPqI8v{QPBSZ)p_Le literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/shop/bundling.gif b/goshop-web-portal/src/main/webapp/static/images/shop/bundling.gif new file mode 100644 index 0000000000000000000000000000000000000000..57e67a8281cdceced760db302d52e5cec5b89bb7 GIT binary patch literal 1439 zcmV;Q1z`F|Nk%w1VW0r?0kZ%A+1c6u|Nr;*_vz{B=jZ3+asc!5^ZWbz@9*#bfB^sh z|Lg1P`T6ZWpQA;jrdXV(s->$sqOB6CBA>FEwE?$dxr({FU$3gWz_5(I#H+@~r^%zkwocBM z$IQ62#MIT9(TLcO%Dms!?}pQu2*j)ByPTQ0?wr{2BT5os**~ zAijZNRv83<&|E=-`ykP~@DIa6C=-!nv~UmN7I0?&ItGk*Xd^`^7aN*%vaqE~f!9vG zoaqtPN|ZEnE>eewUrwDtZW5FhYz*aJe z4oS7}^@vrgp8vU?CJm<%33^9gx}6HmDm+L zQ-ZnrCD(ZJN6Ts=M}npK@#R*Phc*d4gfxc8rkzesjk$E|s;~EqWlf~>m0sm&Q@Ev@ z?WcdeYa!EFvck3j5OA07|%vs_CYjcIxS;hcML?jH0>}W2r5jifT?X=WZYwfkzW~=SC+;;2jx8Q~=?zrTZ zYwo$|rmOC{?6&LfyYR*<@4WQZYwx}I=Bw|%{PyebzW@g;@W2EYZ1BMdC#>+o3^(lX z!&4NHfRPd>F!7KTTYNE)1$69j#}J2n;sGR=Z1Tw{r+h$%D!1(N%P_Z`UCb^sVDrs5 z=dAP2H`6S0IX;)1vj9XFZS>JdC#`hSIR{O0D?a1Aw9ySz-GBjDXRYS5V_=&7jAmtle?XG=M2!C_v4U{-nHDR z`z?3kS=-Gx%w>lzde{Pdjr;Iee+|3I9FaP}X*Khy*8UT>rcKQ>r|8f2E-~V1?D*PFc zLE=Lh%M!@IpB+bh*^400#78}+IS+am)ZOmLwu-35E^NXh9`1|>Jng-#cQ8BK)Nn_; z+P&>|!_#2vlm|N4{cdTAOP%Q|XF3s|u~Ilcul@POhfAdmv+KOzOtNcuyhB-IoF06Pa@77qXb literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/shop/hand.png b/goshop-web-portal/src/main/webapp/static/images/shop/hand.png new file mode 100644 index 0000000000000000000000000000000000000000..38902dca2c74d67c5dee2731f9205ad51d86a7c8 GIT binary patch literal 430 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/shop/repeat_x.png b/goshop-web-portal/src/main/webapp/static/images/shop/repeat_x.png new file mode 100644 index 0000000000000000000000000000000000000000..d6b59faa03aa220769a6a61e036c911a62db7026 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^j6m$g!3HF&y6n_|6icy_X9x!n)NrJ90QsB+9+AZi z4BSE>%y{W;-5;Q!Scz*yiE~kEVo7FxoEak7F*W(e|Nr*P!pzKv8HDxY p_WU?+;Bm)Er||PLU!yxb4D5me$A!25I0aPC;OXk;vd$@?2>`0`I~M=| literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/shop/switch_bar.png b/goshop-web-portal/src/main/webapp/static/images/shop/switch_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..f92c6bde32bf5e1629163a0b66f69742f5b588e1 GIT binary patch literal 622 zcmeAS@N?(olHy`uVBq!ia0vp^GC=&6gAGWoIV`FHq*#ibJVQ8upoSx*1IXtr@Q5sC zVBk6o!i*-GDyxBlVkNE-CC){ui6xo&c?uz!xv2~W#`;E<`i4gLUu>)bs*nMx2+mI{ zDNig)WpGT%PfAsA%PdMQ&o9a@R&WkBd$DIz4+8_^F;5rAkcv5PZ#nuMa*$|yxc{_es9AhPuozkw)Yud2ESWn>6kL?#Ulh|tZFImVdD|hLf_$+shTw57fLKccOG-zF6GN_vn$;Gk4 zNtb~!bOmd|ABD{#U?B=v)tWo{%__ASNcPR~o$bIUUY!rY%<{&xJTTY=%}s>IR~!_!jtvsvWt+5OID zw_E&mQk-r0-i@`%-|szqEiT?8D^Bh0Vvm9&sWDdgF_-MwWuTs81oFC Lu6{1-oD!M<_}A}i literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/shop/userinfo_bg.gif b/goshop-web-portal/src/main/webapp/static/images/shop/userinfo_bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..b7628fe14f15d2b634e868740be8f3010cd6f51c GIT binary patch literal 2014 zcmV<42O;=JNk%w1VcZ220K@G_3icf|NsBk>GARR`rGUB000I5ARvxpX`Z8UT?*>Hr^>=KEVp%T z-g=*|IG>Iu90H5R8L~!P+K$erGU{qlW6&#hsx4W&KQ37G9hbppYDK|TRNm`0JkFlC z-SE3zp69>yeRY9&e|~g?hkJsBi;07Zh=7cdhLVnxkeQF0n4FiNmZ6oSjiRNbl&7kx zteTy#ps22~tFxx9p0~ELxxBEty|ux(zrM7@$GgJC%gN5ncmpd8&A^k=7X#MMaSSU1 z(8`G37YyR(71-3s+jrR7#_bB^;N08f=ELaf)$wib^7_#WrwU%p#z^0jZ6*`N-p+AnFw8e!uu>ojxi#J2&PCOW%i?A?@+ zTXuZhb>`-)okM4?{CV~1$)#W4uDv^+&3Lot&UU;w(BEx?M;{MQyLp`GWva(IeD!<6 z@mtOhTfgRgk@?xQ-&6g~^j|^PEhirTb>17SA&S}9_fDmqxHe|jn^pkhLrDXE`oiW{nqF6L^Uq55g5UvZk*YnyVixu%=H4jU}7 z!orzsvC1Or?01YAFz5<+)+3bvwA4~dfB{(!Fs-)SHs)=%)&7Moxdd42)4ADh+wHe_ zhWp^S=z=p8yV|O|6~6JlOD>`E=0$J2_C^aYq5Ag3FTnny8!%Y|=WFi4=~A|^yM{&F z?_|t&yzIx%`U>)~B#Rs}uqKy`^2)}h9N|z0<4IY}gl0)I0lVG&m(GXXZ1cZ(<_t8U zI}c63%trqVG|r9b471TlFRk>yOh4!}V>}Dxvtd4SJhICyH>+~XVS9Ws*=UOmcG_l- zt#)ERVKX$eILQsPwKB;tG(1@84fGwW+5Iowgb7YA-o_2BTi=Sa5O?E*i)47Vh}-1% zzkG*vIk|w>G&!}Am-Ko6Zyz?E`BR%`+xbkRvmjXOm6Mb@wWsI(b=kMGo%`FmpUwO4 zZLbad?!n_O$WV*OU6SRPKD`BqgvAB0JW!0U8+zggH)*=m8we3sZSkq z)u$pSqY>RGMb-Myi?X$uYfYXET8~*JwO1C6#%>fU;=xUP5@wv*OFG|q!aLH zRSR?1yzZ4jeJ#LW11qP&PN1-nL9AjI)Yt;(m9KsU>~$=Q*~7wgv&-r1XCWI}$})$v z1u(2~G^^9p;?=W{%}!(|J6giVRx@v%Xj{=r*Wm`&t#dVQa^b36NG?~n%#AK|r;FU; zO1HXO&CTw00YO~tQn$O?JuY~^E8g-x_nGFkE_u&8UhIaKz3KI?d)FH}`pUPx_>J#- w)jQw*<`=#W-S2(%YhM8yxWEYZFM$;t-~|7dzYiWTfFZo#2p^citq1`CJLa4HFaQ7m literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/shop/zoom.cur b/goshop-web-portal/src/main/webapp/static/images/shop/zoom.cur new file mode 100644 index 0000000000000000000000000000000000000000..0c797f98bde5bd0d4547abec9bb9ff45fc4dcc3e GIT binary patch literal 766 zcmd^7F$w}f44hL@u!)VfUg<9sEc}K)@eoAt8-8S;VriN33UQn$xT^?)t+Posn@O@+ zSfGOnbv;5~>)Zh*0A|u!x{y}r$qM2=qX8snn#U$9SK1(@B!YJV8J<)tLSg;`_V!Ho zmw@3l!I62Rm$W$~nRf9-wV6AM?iMJ{9$>yre&9LHH$IvP&wMjAD9(s^ay!JZk^(Vr uhW@~BxT@^3A=^3W8@6lmRFSDm?gr#xPmY)5@R;}AirgxmOu18)s{95N>9ueG literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/shop/zoom.png b/goshop-web-portal/src/main/webapp/static/images/shop/zoom.png new file mode 100644 index 0000000000000000000000000000000000000000..b590f260171008a2cac8904beb05a2f5fa723cb5 GIT binary patch literal 547 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 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/sky/body_bg.png b/goshop-web-portal/src/main/webapp/static/images/sky/body_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8782e93c9ac695331cf53b6f54b11620f9b891 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^j6fXC!2~32lPdgy6mzkYX9x!e$L)vy4}e_G0*}aI z1_o{+5N5n|x9$&6P^`o?qQto$fgmEYW){%L>xj~7Sg^tD^;%3JSr_UlciKe^|o|CVmZs^?so{9hAj OD}$%2pUXO@geCxRM)j$~<` zXsWJk>z)JvymW1^Mv)+Q@BbRYA%NfkkH{NfS4=veD?qUcty)9U>2=G^WU1Y77ckI@ z&sVZwjc!BLY`6Rf7tHUzI(}c%^ZzVIPHjE@+OkdqUVl#`a1kC~c_ zoSlcCpo5~Lf2F2-sHu0Wta7feZLzXvw6$TkxLmrsX#;C^zNEl$!>7f<$9%oZPR-6p z(9uW9)YsVA+S_9?-rwNi;^XAy=I7|?>g((>1Qk>9^7Hid_V@Vt`uqI-{_zP47@+X4 zpuvL(6Dq71;J`Zx3nNOLNbz8T84xRK+{m#aMg<-GLy8>9?<2{RC{dbB$+D%#3Bh8@ zoJq5$&6_xL>fFh*r%#$6e+nH+w5ZXeH-jQw%CxCdqDr4iol4bd)T&ssYR!3dtJkkt zyMi4{cB$C1Xw&vQtG2D%nQY(6Z5wy4U9xrW>fM@muV1Qt{|aszc(7rkg%2zKnRu~d zosAz$t{Hi<c{<5tV9 zx9{J;g9{%{ytwh>$dfBy&b+zv=g^}|pH7{UleqC0sN=Fg)@ huigav_VDA&pHIKO{rmXy>)+46zyJRL16mLP06PccLxKPR literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/sky/button_bg.png b/goshop-web-portal/src/main/webapp/static/images/sky/button_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..c600a2487e875cff2d39068a0a368ca5560efd95 GIT binary patch literal 1413 zcmeAS@N?(olHy`uVBq!ia0vp^3xW6<2OE&w%kwk|NU;<{(+%k(&%kzt}ixr%MP4x^{%X_>A zsuTmMbS_FwEXmBzQwYh-O=U1N(l@ZsH#B_baQ{8fzT2KIjv*Cu-rn8cCmPDY_Thcp zvpANXrnU=f)Q)5*sYXO3I%Yd2EAjr~nr7EH_k4oRlBcX6SbMgpNhLFOw%!!@e`r(U z@uZ`B4;)+i;oSC<|LQndC+jZz@o8@HvpX}5rH>o_k5Jn=BSrb7Qgt57wG59*hL)3` zc+KO9pOj+uRkrZSnd5ia?wB_iwBB4i_v2la=koDC-d%sY+5G*T{rh%qE!On3tAD=5 zC}nNin{$kl->`k?mjD0f&D!Z=>h?DETIth1KU!ND!t?l)LCxoLe_xCH>HF{7U#N8a zi@fm6eowjox9{BAS@QEvA!AC=;k-ZJB${U4GU#LfFSus%t;O#;EfXj0*<_-a5_Pz4 z@yBO}_pWw2xl6Kdegza419Rt9zL!|GjB};1(<_@r3(uuHthn5Ag*UxlKKif0ukfwb4^Lcb zxxxuDPu25J~=f*Cw+cRvA?8IXL$el{d<4i>eRnqSNZYusi*VPW=C5)ow#+k zddKAT^>q{8*Wdp4`mwoR?Jl7sxrYrWTWp^5{MBpq;)h>8JvnRref|2H4fTpGKF@CG z?5ufLVYaJ+;4_@3h$w_g^p*a(rU4?@Z{XFIhTr$69z05~AD82N|!bO}b4P-8-A8#=O z24yQ}dzadhLj^wbTRC%QO>jPN&oC7jko_4JAts8VcFc!B$|Gz&fqK=!p|tsZef^Wo zF+Q(e1|Rxn9mb=U3UmqwC~$$nuDAp{^Vwd0JE=)Lb@%))cOJ1;D}jV|r^;f1ODZi_ z_D+!KdugP;`%sUWZnY03glj(R(KM&Odvc$NWy(Va6eYzMV7vb3E`7 z-IVqjn2;ByN$?(?!h6qPVXg;X*FsOl*QPQ*HqGVPlvd`m0vOLguNlh(FXvn-%~#{Z zoDED-AVF}r@NUd^pQ#2?vDpd~F~GpJ0tT)?P7N1H!E+px8EV+TPJv~acb0x7O*_fHDVAa<&kznEsNqQI0P;BtJR*x3 z7`TN%nDNrxx<5ccxf0iilHmNblJdl&R0hYC{G?O`x6Go{^8BLgVg=`5Q$54g@*b~& zD#bu5or_WvOEUBG6hbm{QyC16^bIWZ4GrHp+PPYeDdu7)&kzm{j@u9Y9{{{(+%k(&%kzt}ixr%MP4x^{%X_>As+96{aSV}|n!M-hPyNFh5_%6F iZ_m$AIxY8?k)g?yL-*CWTNi+;7(8A5T-G@yGywp4z&V8g literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/sky/prompt.gif b/goshop-web-portal/src/main/webapp/static/images/sky/prompt.gif new file mode 100644 index 0000000000000000000000000000000000000000..d56b715b79d8b6f1763ffdd57146c15633249a99 GIT binary patch literal 361 zcmZ?wbhEHb6lQQ>*v!E2@ayl(?|&YC`E~2#_e<}-pL+dc>-py?$Df8BeCoCPp~d$5 z8k=uQtiR8-^!oq*{}~t<6#sMkxrPKgI|jHK=@~FHf`opuuo^M&G3Wr<41x>>3=Av_ zFPyx&YH!jdrCs8_%Pb#iOilCZnv@`-^@=C#QHk&gHE~IT9b6cnX6+#NRW(9t#! zUNNaeW15z0>ViumO&)7F3wA_^umoT3k=%GT@YL<37q{O3*i(1@{qO$`jZMuh^~FwV zyfX5#Mj|>=edT?6g?TzAqGlGlMmA!0vI)*&t{xsDkX?;H7A2I10xVJurO_KMF?}F3v;6RQU1b7&((V^UZ36lKS84}C39ZJ Vs&zT9_Z8@rpUt^nk>|!>4FLbzgnR%1 literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/sky/shopnc_logo.png b/goshop-web-portal/src/main/webapp/static/images/sky/shopnc_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3d142deadb572972fd951461e505f12e6e31b890 GIT binary patch literal 7130 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 Q;s5{u07*qoM6N<$f@wkrPXGV_ literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/smile.gif b/goshop-web-portal/src/main/webapp/static/images/smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..55f8123cca23d3f785faf223f55470e67a9d60db GIT binary patch literal 400 zcmZ?wbhEHb6krfwxXQrrZZU&F)AuhwuKd5B@c$Xp|BI@>Ps;y4!|?3;e7pa1_K$^JYc_Wzo}|BFojZYutNDfa*8{r`{h|9^}8|3>)#O|}2;1^!k{r|@K|DwSEpKSl{ zDE&Xn`v027ziTT0?{ogYukimP@1ILD{~s0nzr^tW=fnT!S%8Ky-~ft0Ss2+F%o%h* z@*qDsu&q5X`-9m+8@_h-RHHqzUIC2G0&|_b+c{OlR##}v?iJtDXpp|LyNZROC+5SI zoF5lfy!)~HnPN?cj+m^PT0>Kdm=Zs;q(N_Af3GC7v#|~rtAYY6mrk*-xrhl1=Mqj9 z6A@oyd5yK}*2@<&>q|(;s4;HczEeV)K{M=KPwvPubX>>T1@^7dCeHG=Avh$Y2csBEqxy literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/store_joinin/body_bg.png b/goshop-web-portal/src/main/webapp/static/images/store_joinin/body_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..cd5c3a0011c638808857c84ddd3c2aa0ba348c1d GIT binary patch literal 44659 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 Z@|cBA1s~g@4b0n1QC3Z+R>~su{{f)sRW<+s literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/store_joinin/img_bg.png b/goshop-web-portal/src/main/webapp/static/images/store_joinin/img_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..6e53f5470ad1da1745ec78889439d7d2a7388f52 GIT binary patch literal 3330 zcmc&%3p7;g9v@?5D4B@q$YXM5a*#*f(a5uAh7dwh095(UYzv24eq=WHFoivrmNfor1rxs1A}6 zzqu@&x3}!_@k0$^t*Cv5ZIQMPrvblpBfX}EUr4!5>ygP0tY@w~qm1_67%sRgMtQu&CStFAffxa**cE!66(P z20a9aVGC1Dg7{$Ag29C`P~>Mmz#`xw2Gzj^M-c6o$rQ7O8x&l%P=B{Bk*T=TSw5R`P!!5FO8j0CXyE-w(l zDq9W&-TKFfav*vUr9pgLqXXiX8dZ+JR-WUp{hs5m72_kJHtgf0^#+8q5>j z4<05_<;&*|3c;HXbRha0t$cXV3b|{A!*jKDTn{bp5*=utvrpCPRx}96!<|qFsvatm z#7Ppe2gvs|@07b`e($E8L6QF9$!q8BJtO@THj4k*$wbgSt z;=DFZhc1Ny{GjVLksIP~r3qf=2s8FI%Y(;scf;&St!G&p8S+WsK> zw`~;>nPdfD7j|TbQN%u#!yN+_7K?{mzP#!xX2id+ylyA6c9H16Y-_Ducj*JY$Xa}u z*&g>YDaOidQv&;8@}6C4bEtYmM^RN26N6mF`a5mXI(m>M1pwj0xaB}0Dy0oIkjlMN zZnp6qwm_%vmNlOt(58ISTe|n8hHh((^^NdkLdOgKgfj&Dp%E6JK99BsQv3jVBeNkTz8-yBfW&@I@>m7+UpPKx0y>)98l$e-VR@@_K`M$RX9 z^fP*A40wS3^{)6UM*MCMjp zlDO31=g}h`*QDnsqbjP#kQndb(ChA>reCW%u6gogDvGMBXcxy9185Jghedu_!NG&k zU%M+`jyfk+jp?xXXGXW^heKnLkF`QA0OAVuN!xVV(1B&qUx)$N@f#wqc-#~xs@FPf zZKcFcJl3O)w%*#FDw*|V$;?aKO72!Ft@BCW-Z5u&Z#5976M>rU(jQZhbuOCOY4%@- zw|3jQD#LH5xd|$c?aX9+i7DFLyZUC`cMU3$`nt8)O0Z9UZ2Ap9v}W+uy4MT-sCVaY z%GbZuxuBz_R+AwDYw>hz>f^Or|tlZGCwh?sSFcFG$&yV#Uxq|M*t|8v-M? zdV#;`zmpl?7X^7!8TAKZ`yG`~e)5|G-^IE?q#`*1w}@0KKj%>Wo%qy>Chk2pf7}`R zD1UaupzoP*{kdy2cM^?MVyFLyokS~b{~^#}X!#M4%@g~*!+(1)M6~HDti<`R=KoK- z)z6>SEgQo=sNii0PmN~tf(RknX=d1wB#Eh!#lhDldw?FKt{kHiC@-n%QUzMc_`+Nd zS6(=5^06}tj0?dF;^!+?Syq5gH^pi^Ymy79uetL~&;MIn0g#)nW-<5vxU9zm3P5QA za={i6#lgP@TcXTy+b#(a%fdiw2EOoJN$n9*-h&(=oT8(hJVWYQf78VZlcyy%;OC2v z#;Irl5y{f4_1(PlIv5f8FcvqkKb?zRp)J3tX=+#Z>LD~?uGbqbA zdo8!|1uzRFW)WZp9nA?T>|pU^hiqbOz!A_4L7-ft?wNX;*(A9KS)Rf?kDoJ*_w zx;6T7Z%?kRdISD}zqHuWD+Lgl(G*Oe*N6Gj&)Tffh_)S7cb=!z2A;g0AH!zW7>E@EV4z&?Etu(&Vd7fx=i^E)9KCqO+yq+%D zZr*$HvgNl+|2Pz&mIX##%SxT=J|OJ7YOhmG|QuVLOGgrplme z-2H5e?{)Szh|YYyP3i7L4u8jNJc?ljeG1(u5${U}T2UUx-2E+vwAoVI zeMy=t*hs5tH<~RWgg`S+%H5Pmj~EI@%J2`q76R_#3-=d=c`VwbC(CMkG*JXHiPvmn z$-M3t3idu4COoyFb(Dm6d1DRIm0rKbztv@n1=%2osxdd9dzKP-{=w{jdDgF-N*BiW V9NA6)e_S9Cys?>4xq(yE-vLyE>X!fj literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/tip-yellowsimple_arrows.gif b/goshop-web-portal/src/main/webapp/static/images/tip-yellowsimple_arrows.gif new file mode 100644 index 0000000000000000000000000000000000000000..2649f14551fd9312a44afbea95d5ce92f60956a7 GIT binary patch literal 107 zcmZ?wbhEHbRAJy`n8?KN|L4i$`zQbZ|DS<@LGdRGBLf2ygAS0*0Fq~5vY8^PJ|T-C zIfT*T2wzT!TU_MbZxj4}$iA52HD{L8ijK;j@26(!Wp0}rJhw{ReN9A+V(mfIo^5w5 LCr)){WUvMRjf5vc literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/images/top_bg.png b/goshop-web-portal/src/main/webapp/static/images/top_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..a468dd5f98ebc116f5e20d603068acb61cce0f0e GIT binary patch literal 1060 zcmeAS@N?(olHy`uVBq!ia0vp^CxBRkgAGXTmf0!;q*#ibJVQ8upoSx*1IXtr@Q5sC zVBqovVaBbKpBw`Uij}xVlsFfqCYEI8=P86_=B6?jSn3-Z=o=cFnZN!4R3QUW5uBe^ zQl40p%HWuipOmWLmRXcqo?nz*tl%7M_F~Vb9tH;H8c!F;kcv5PZ|x6~3KTj1@qOAQ z^?U&((Wz(V$W=0=FN(D~BR!!{@7B#$_X~P+)7tD>{`vSUp4zgfv9if`WBF8pJ#U(N zbUyz+W3b_WLg}~Tmf!VGe*IcnRb74h-@iI00|}l>ReSvwU-X#JdhBr_*M`lTCm*@C z_RwAa2D=YxYku*ToPD$Dz{ZznR^3kvi~eMjm1d^7DgV;XNz0zU*RJQ?n_(j5xi>D| zKw=4(du1iZr+_tzGPw_!W-zorG-T8}w9VCTnVfy2`MZBrou6MY?>{9oxn$p&w#`M8 zOwRsmn>~BBNPxw(DeTPi^kf*`*)gi6U7Hta&ytn8s&ThG^ZXM{Md6=9W*yKr*8a2o zDdWl_)t&quYw~R5mix=}N!{H3?O~3!=&g0!4{|SVQxBPwuRZ6|_nQm!g1%1JQ}a&v zhMK=*-vY6D&ueer_kC-u`J*oU;m`Tpckf<)c}if_+Jvg_ukH|?UG`ed-LX6 z%gwRX@BU?;+t?avE3<%W)5SA695t+b&vNV-_O;cXIH`=EK|T;0!=q01W9thoOA?tf-~fB);( z!dg}piin*L+Zl0K=W5)^!(9IA%sp<4w_ME%-FNnqLTz*Fw`UDG4s}PJy|12Ip48}V ztbO(0l)ck8uF2)-Jf)@65F;`?s)v~ z{5GRyhXb#AEfUNAT%-1TZHV|g{cAHgZ{AoU-=}M}dFpw;gNJQJpXuoT`s2PeYOM;t zXXtHR))eEnn{MSV>ynrhIzj4x`zroD+_!h>WJ+swMCn9!=W?)TOwh{?dkPForR`r4Z$gkrnh5%ZguLFKl_!=0`n__r>mdK II;Vst0E3v`8vpH*wrvLv95{ab_`Q4gZr{Fr>(;H^yLTTtbZFnceVaFLo;r2voH=t&o;-Q<=+QlU z_Wb|nkaMm6T-LDmj8A6hL-5=NF|anCcnmCL5R;D3}@Q85*0Io15z>7#SEE=o=X68ye{v znp+tgSs558K!Fm_wxX0Ys~{IQs9ivwtx`rwNr9EVetCJhUb(Seeo?xx^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal@=Hr>m4GgVcpnJ0o7b;izIguZ z>66Eg9zM8#@9v%3w{G6Je(ma&%a<-*IDhW!nbW6Eo;ZH&=#j&R4j$OQZ||PnyLRr_ zzHRH4&6_rESif%Vn$@dTu2{Zo>5|2Z7A}}SZ|F(<6 zXm4w6X>Mw4sIRN7sjjN5C@(85DK083$j{5o$mNlr>kh>weniH?el2oDPl z2@VPj@b~le@%HlcaCdWcadvWau(z|dv9_|bFgG(bF*X8bC_P;rZ7od=bv0ELWhF%g zc{y1bX(>qwaWPR5VIe^Qem-6vZZ1v^b~aWPW+p}k2F0H&KvIiA2UNg-N;?L&6o;t= z9y(I}CzKOTu2E@i_e+p+uxVZ7oM2QKW81@!c%~vvrSYJG=>!#B?mnlF5e#xCCm&A8 zs0oqg^;F?dmQo0JQd1Pv=yVcb5RmBC5)@aRs>RC5$vTTkM1*M;E7Ou$D?1$-tN|zn B`lkQ@ literal 0 HcmV?d00001 diff --git a/goshop-web-portal/src/main/webapp/static/scripts/admincp.js b/goshop-web-portal/src/main/webapp/static/scripts/admincp.js new file mode 100644 index 0000000..0cf4468 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/static/scripts/admincp.js @@ -0,0 +1,137 @@ +// JavaScript Document + + +//Զradioʽ +$(document).ready( function(){ + $(".cb-enable").click(function(){ + var parent = $(this).parents('.onoff'); + $('.cb-disable',parent).removeClass('selected'); + $(this).addClass('selected'); + $('.checkbox',parent).attr('checked', true); + }); + $(".cb-disable").click(function(){ + var parent = $(this).parents('.onoff'); + $('.cb-enable',parent).removeClass('selected'); + $(this).addClass('selected'); + $('.checkbox',parent).attr('checked', false); + }); +}); + + +//ͼƬſ +function DrawImage(ImgD, FitWidth, FitHeight) { + var image = new Image(); + image.src = ImgD.src; + if (image.width > 0 && image.height > 0) { + if (image.width / image.height >= FitWidth / FitHeight) { + if (image.width > FitWidth) { + ImgD.width = FitWidth; + ImgD.height = (image.height * FitWidth) / image.width; + } else { + ImgD.width = image.width; + ImgD.height = image.height; + } + } else { + if (image.height > FitHeight) { + ImgD.height = FitHeight; + ImgD.width = (image.width * FitHeight) / image.height; + } else { + ImgD.width = image.width; + ImgD.height = image.height; + } + } + } +} + + +$(function(){ + // ʾԤͼ start + $('.show_image').hover( + function(){ + $(this).next().css('display','block'); + }, + function(){ + $(this).next().css('display','none'); + } + ); + + // ȫѡ start + $('.checkall').click(function(){ + $('.checkall').attr('checked',$(this).attr('checked') == 'checked'); + $('.checkitem').each(function(){ + $(this).attr('checked',$('.checkall').attr('checked') == 'checked'); + }); + }); + + // ͣɫ start + $("tbody tr").hover( + function(){ + $(this).css({background:"#FBFBFB"} ); + }, + function(){ + $(this).css({background:"#FFF"} ); + }); + + // ɱ༭Уinputɫ + $('.editable').hover( + function(){ + $(this).removeClass('editable').addClass('editable2'); + }, + function(){ + $(this).removeClass('editable2').addClass('editable'); + } + ); + + // ʾ չ + $("#prompt tr:odd").addClass("odd"); + $("#prompt tr:not(.odd)").hide(); + $("#prompt tr:first-child").show(); + + $("#prompt tr.odd").click(function(){ + $(this).next("tr").toggle(); + $(this).find(".title").toggleClass("ac"); + $(this).find(".arrow").toggleClass("up"); + + }); + + // ɱ༭Уareaɫ + $('.editable-tarea').hover( + function(){ + $(this).removeClass('editable-tarea').addClass('editable-tarea2'); + }, + function(){ + $(this).removeClass('editable-tarea2').addClass('editable-tarea'); + } + ); + +}); + +/* ȡȫ· */ +function getFullPath(obj) +{ + if(obj) + { + // ie + if (window.navigator.userAgent.indexOf("MSIE")>=1) + { + obj.select(); + if(window.navigator.userAgent.indexOf("MSIE") == 25){ + obj.blur(); + } + return document.selection.createRange().text; + } + // firefox + else if(window.navigator.userAgent.indexOf("Firefox")>=1) + { + if(obj.files) + { + //return obj.files.item(0).getAsDataURL(); + return window.URL.createObjectURL(obj.files.item(0)); + } + return obj.value; + } + return obj.value; + } +} + + diff --git a/goshop-web-portal/src/main/webapp/static/scripts/jquery.edit.js b/goshop-web-portal/src/main/webapp/static/scripts/jquery.edit.js new file mode 100644 index 0000000..ff28af7 --- /dev/null +++ b/goshop-web-portal/src/main/webapp/static/scripts/jquery.edit.js @@ -0,0 +1,430 @@ +$(document).ready(function(){ + var url = window.location.search; + var params = url.substr(1).split('&'); + var act = ''; + var op = ''; + for(var j=0; j < params.length; j++) + { + var param = params[j]; + var arr = param.split('='); + if(arr[0] == 'act') + { + act = arr[1]; + } + if(arr[0] == 'op') + { + sort = arr[1]; + } + } + //Ҫ޸ĵλ޸Ϊ + $('span[nc_type="inline_edit"]').click(function(){ + var s_value = $(this).text(); + var s_name = $(this).attr('fieldname'); + var s_id = $(this).attr('fieldid'); + var req = $(this).attr('required'); + var type = $(this).attr('datatype'); + var max = $(this).attr('maxvalue'); + var ajax_branch = $(this).attr('ajax_branch'); + $('') + .attr({value:s_value}) + .insertAfter($(this)) + .focus() + .select() + .keyup(function(event){ + if(event.keyCode == 13) + { + if(req) + { + if(!required($(this).attr('value'),s_value,$(this))) + { + return; + } + } + if(type) + { + if(!check_type(type,$(this).attr('value'),s_value,$(this))) + { + return; + } + } + if(max) + { + if(!check_max($(this).attr('value'),s_value,max,$(this))) + { + return; + } + } + $(this).prev('span').show().text($(this).attr("value")); + //branch ajax ֧ + //id ޸ʶ + //column ޸ֶ + //value ޸ + $.get('index.php?act='+act+'&op=ajax',{branch:ajax_branch,id:s_id,column:s_name,value:$(this).attr('value')},function(data){ + if(data === 'false') + { + alert('Ѿڣһ'); + $('span[fieldname="'+s_name+'"][fieldid="'+s_id+'"]').text(s_value); + return; + } + }); + $(this).remove(); + } + }) + .blur(function(){ + if(req) + { + if(!required($(this).attr('value'),s_value,$(this))) + { + return; + } + } + if(type) + { + if(!check_type(type,$(this).attr('value'),s_value,$(this))) + { + return; + } + } + if(max) + { + if(!check_max($(this).attr('value'),s_value,max,$(this))) + { + return; + } + } + $(this).prev('span').show().text($(this).attr('value')); + $.get('index.php?act='+act+'&op=ajax',{branch:ajax_branch,id:s_id,column:s_name,value:$(this).attr('value')},function(data){ + if(data === 'false') + { + alert('Ѿڣһ'); + $('span[fieldname="'+s_name+'"][fieldid="'+s_id+'"]').text(s_value); + return; + } + }); + $(this).remove(); + }); + $(this).hide(); + }); + + + $('span[nc_type="inline_edit_textarea"]').click(function(){ + var s_value = $(this).text(); + var s_name = $(this).attr('fieldname'); + var s_id = $(this).attr('fieldid'); + var req = $(this).attr('required'); + var type = $(this).attr('datatype'); + var max = $(this).attr('maxvalue'); + var ajax_branch = $(this).attr('ajax_branch_textarea'); + $('