商家的註冊管理設計
對商家的註冊管理設計主要是透過呼叫商家服務的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 中,就可以使用如下所示的表單設計了:
當新增商家提交表單時,可透過控制器實現對商家服務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傳遞引數,商家服務在接收請求後,會建立一個商家和一個商家使用者,並預設為其分配管理員角色。
最新評論