商家的注册管理设计
对商家的注册管理设计主要是通过调用商家服务的REST API实现的。
在注册一个商家时,除创建一个商家对象外,还必须为商家创建一个用户,这样商家才能使用这个用户登录商家管理后台。
在商家的查询对象设计中增加两个字段,用来表示商家所属用户的简要信息,代码如下所示:
public class MerchantQo extends PageQo implements Serializable {private Long id;private String name;private String email;private String phone;private String address;private String linkman; DateTimeFormat(pattern ="yyyy-MM-dd HH: mm:ss"private Date created;private String userName;private String password;public MerchantQ0() {}...}
其中,userName和l passWord 分别用来表示商家用户的用户名和密码。
这样在新建商家的页面设计new.html 中,就可以使用如下所示的表单设计了:
名称*邮箱电话*地址联系人日期用户名*密码*
确定返回
商家用户的用户名和密码可以在创建商家时填写。在完成设计后,创建商家的设计效果如图11-2所示。
当新增商家提交表单时,可通过控制器实现对商家服务MerchantRestService进行远程调用,并检查用户名是否已经被注册,实现代码如下所示:
@Controller@RequestMapping("/merchant")public class MerchantController{private static Logger logger = LoggerFactory.getLogger(MerchantController.class);@Autowiredprivate MerchantRestService merchantRestService;cAutowiredprivate UserRestservice userRestService;@RequestMapping (value="/save",method = RequestMethod.POST)@ResponseBodypublic String save(MerchantQo merchantQo,HttpServletRequest request) throwsException{String json = userRestService.findByName (merchantQo.getUserName ());UserQo userQo = new Gson().fromJson(json,UserQo.class);if(userQo != null){String str = "用户名'" +merchantQo.getUserName() +""已经存在,请重新输入!";logger.info(str);return str;}String ret = merchantRestService.create (merchantQ0);logger.info("新增="+ ret);return ret;}}
这里,直接使用查询对象 MerchantQo传递参数,商家服务在接收请求后,会创建一个商家和一个商家用户,并默认为其分配管理员角色。
本文给大家讲解的内容是平台管理后台与商家菜单资源管理:商家的注册管理设计
- 下篇文章给大家讲解的是平台管理后台与商家菜单资源管理:商家权限及其菜单资源管理设计;
- 觉得文章不错的朋友可以转发此文关注小编;
- 感谢大家的支持!