@Override @Transactional public void applyStore(Store store) { Assert.notNull(store); Assert.notNull(store.getName()); Assert.notNull(store.getServiceTelephone()); Assert.notNull(store.getContactTelephone()); Assert.notNull(store.getEmail()); Assert.notNull(store.getApplyMan()); store.setCreateDate(new Date()); // 设置创建日期 store.setCheckStatus(Store.CheckStatus.wait); // 设置申请状态:待审核 store.setIsEnabled(false); // 设置启用状态:未启用 storeDao.persist(store); // 持久化 }
/** 初始化新的店铺管理员 */ private Admin initStoreAdmin(Store store) { Admin admin = new Admin(); admin.setCreateDate(new Date()); // 设置创建日期 admin.setEntcode("macro"); // 设置企业号 admin.setIsEnabled(true); // 设置是否启用:启用 admin.setIsLocked(false); // 设置是否锁定:否 admin.setStore(store); // 设置店铺属性 Role role = roleDao.findByName("店铺管理员"); // 根据角色名称,查找角色 admin.setLoginFailureCount(0); // 设置连续登录失败次数 Set<Role> roles = new HashSet<Role>(); roles.add(role); admin.setRoles(roles); // 设置角色属性 admin.setEmail(store.getEmail()); // 设置申请邮箱为管理员邮箱 admin.setPassword(DigestUtils.md5Hex("888888")); // 初始密码 888888(md5加密) admin.setName(store.getApplyMan()); // 默认申请开店人名称为管理员名称 String userName = admin.getName(); String tempStr = userName; while (adminDao.usernameExists(userName)) { userName = tempStr + "_" + (int) (Math.random() * 1000); // 生成三位随机数 } admin.setUsername(userName); // 用户名 为管理员名称(或 (如果用户名已存在)管理员名称 + "_" + 三位随机数) return admin; }
@Override @Transactional public void check(Long id, String status) { Assert.notNull(id); Assert.notNull(status); Admin admin = null; try { Store store = storeDao.find(id, LockModeType.PESSIMISTIC_WRITE); // 加悲观锁 store.setModifyDate(new Date()); // 设置修改时间 Assert.notNull(store); if ("F".equals(status.trim())) { store.setCheckStatus(Store.CheckStatus.failure); // 审核未通过 store.setIsEnabled(false); // 设置不启用 } else if ("T".equals(status.trim())) { store.setCheckStatus(Store.CheckStatus.success); // 审核通过 store.setIsEnabled(true); // 设置启用 String indexUrl = SettingUtils.get().getSiteUrl() + "/" + store.getId() + ".jhtml"; store.setIndexUrl(indexUrl); /** 设置移动端店铺首页 wmd 2014/11/28 */ String indexMobileUrl = SettingUtils.get().getSiteUrl() + "/mobile/" + store.getId() + ".jhtml"; store.setIndexMobileUrl(indexMobileUrl); initStoragePlugin(store); admin = initStoreAdmin(store); adminDao.persist(admin); initStoreAdPosition(store, "头部广告1号位", "店铺头部广告1号位", 1190, 150); initStoreAdPosition(store, "头部广告2号位", "店铺头部广告2号位", 1190, 354); /** 移动端店铺广告位 wmd 2014/12/2 */ initStoreAdPosition(store, "微商城广告位", "微商城广告位", 380, 720); initStoreNavigation( store, "店铺首页", Navigation.Position.top, 1, "/" + store.getId() + ".jhtml"); initStoreNavigation( store, "所有商品", Navigation.Position.top, 2, "/dp/product/list.jhtml?storeId=" + store.getId()); initAlipayDirect(store); } storeDao.merge(store); // 合并实体对象 if ("F".equals(status.trim())) { mailService.sendApplyStoreFailureNofyMail(store); // 发邮件通知 } else if ("T".equals(status.trim())) { mailService.sendApplyStoreSuccessNofyMail(admin, "888888"); // 发邮件通知 } } catch (Exception e) { System.out.println("开店审核异常!-->" + StoreServiceImpl.class.getName()); // e.printStackTrace(); } }