From 78a08b81c08fb718d3b868a61d53afbbc741358b Mon Sep 17 00:00:00 2001
From: 吴学文 <wuxuewen@wuxuewendeMacBook-Pro.local>
Date: 星期二, 07 四月 2020 22:29:01 +0800
Subject: [PATCH] 加入业主注册功能

---
 Api/src/main/java/com/java110/api/bmo/user/impl/UserBMOImpl.java |  234 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 234 insertions(+), 0 deletions(-)

diff --git a/Api/src/main/java/com/java110/api/bmo/user/impl/UserBMOImpl.java b/Api/src/main/java/com/java110/api/bmo/user/impl/UserBMOImpl.java
index 55dcab9..771623e 100644
--- a/Api/src/main/java/com/java110/api/bmo/user/impl/UserBMOImpl.java
+++ b/Api/src/main/java/com/java110/api/bmo/user/impl/UserBMOImpl.java
@@ -1,8 +1,24 @@
 package com.java110.api.bmo.user.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.user.IUserBMO;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.factory.AuthenticationFactory;
+import com.java110.core.smo.user.IUserInnerServiceSMO;
+import com.java110.dto.user.UserDto;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.constant.UserLevelConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * @ClassName UserBMOImpl
@@ -14,4 +30,222 @@
  **/
 @Service("userBMOImpl")
 public class UserBMOImpl extends ApiBaseBMO implements IUserBMO {
+
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
+    public JSONObject addStaffOrg(JSONObject paramInJson) {
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ORG_STAFF_REL);
+        business.put(CommonConstant.HTTP_SEQ, 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONArray businessOrgStaffRels = new JSONArray();
+        JSONObject businessOrgStaffRel = new JSONObject();
+        businessOrgStaffRel.put("relId", "-1");
+        businessOrgStaffRel.put("storeId", paramInJson.getString("storeId"));
+        businessOrgStaffRel.put("staffId", paramInJson.getString("userId"));
+        businessOrgStaffRel.put("orgId", paramInJson.getString("orgId"));
+        businessOrgStaffRel.put("relCd", paramInJson.getString("relCd"));
+        businessOrgStaffRels.add(businessOrgStaffRel);
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOrgStaffRel", businessOrgStaffRels);
+
+        return business;
+    }
+
+    /**
+     * 娣诲姞鍛樺伐
+     *
+     * @param paramInJson
+     * @return
+     */
+    public JSONObject addStaff(JSONObject paramInJson) {
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_STORE_USER);
+        business.put(CommonConstant.HTTP_SEQ, 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONArray businessStoreUsers = new JSONArray();
+        JSONObject businessStoreUser = new JSONObject();
+        businessStoreUser.put("storeId", paramInJson.getString("storeId"));
+        businessStoreUser.put("storeUserId", "-1");
+        businessStoreUser.put("userId", paramInJson.getString("userId"));
+        businessStoreUser.put("relCd", paramInJson.getString("relCd"));
+        businessStoreUsers.add(businessStoreUser);
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessStoreUser", businessStoreUsers);
+
+        return business;
+    }
+
+    /**
+     * 娣诲姞鐢ㄦ埛
+     *
+     * @param paramObj
+     */
+    public JSONObject addUser(JSONObject paramObj, DataFlowContext dataFlowContext) {
+
+        //鏍¢獙json 鏍煎紡涓槸鍚﹀寘鍚� name,email,levelCd,tel
+        Assert.jsonObjectHaveKey(paramObj, "name", "璇锋眰鍙傛暟涓湭鍖呭惈name 鑺傜偣锛岃纭");
+        //Assert.jsonObjectHaveKey(paramObj,"email","璇锋眰鍙傛暟涓湭鍖呭惈email 鑺傜偣锛岃纭");
+        Assert.jsonObjectHaveKey(paramObj, "tel", "璇锋眰鍙傛暟涓湭鍖呭惈tel 鑺傜偣锛岃纭");
+        Assert.jsonObjectHaveKey(paramObj, "orgId", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈閮ㄩ棬淇℃伅");
+        Assert.jsonObjectHaveKey(paramObj, "address", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鍦板潃淇℃伅");
+        Assert.jsonObjectHaveKey(paramObj, "sex", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鎬у埆淇℃伅");
+        Assert.jsonObjectHaveKey(paramObj, "relCd", "璇锋眰鎶ユ枃鏍煎紡閿欒鎴栨湭鍖呭惈鍛樺伐瑙掕壊");
+
+
+        if (paramObj.containsKey("email") && !StringUtil.isEmpty(paramObj.getString("email"))) {
+            Assert.isEmail(paramObj, "email", "涓嶆槸鏈夋晥鐨勯偖绠辨牸寮�");
+        }
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_INFO);
+        business.put(CommonConstant.HTTP_SEQ, 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessUser", refreshParamIn(paramObj));
+
+        return business;
+    }
+
+    /**
+     * 娉ㄥ唽鐢ㄦ埛
+     *
+     * @param paramObj
+     */
+    public JSONObject registerUser(JSONObject paramObj, DataFlowContext dataFlowContext) {
+
+        //鏍¢獙json 鏍煎紡涓槸鍚﹀寘鍚� name,email,levelCd,tel
+        Assert.jsonObjectHaveKey(paramObj, "name", "璇锋眰鍙傛暟涓湭鍖呭惈name 鑺傜偣锛岃纭");
+        //Assert.jsonObjectHaveKey(paramObj,"email","璇锋眰鍙傛暟涓湭鍖呭惈email 鑺傜偣锛岃纭");
+        Assert.jsonObjectHaveKey(paramObj, "tel", "璇锋眰鍙傛暟涓湭鍖呭惈tel 鑺傜偣锛岃纭");
+        Assert.jsonObjectHaveKey(paramObj, "password", "璇锋眰鍙傛暟涓湭鍖呭惈password 鑺傜偣锛岃纭");
+
+
+        if (paramObj.containsKey("email") && !StringUtil.isEmpty(paramObj.getString("email"))) {
+            Assert.isEmail(paramObj, "email", "涓嶆槸鏈夋晥鐨勯偖绠辨牸寮�");
+        }
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_INFO);
+        business.put(CommonConstant.HTTP_SEQ, 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+
+        //paramObj.put("userId","-1");
+        paramObj.put("levelCd", UserLevelConstant.USER_LEVEL_ORDINARY);
+        //璁剧疆榛樿瀵嗙爜
+        String userPassword = paramObj.getString("password");
+        userPassword = AuthenticationFactory.passwdMd5(userPassword);
+        paramObj.put("password", userPassword);
+
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessUser", paramObj);
+
+        return business;
+    }
+
+
+    /**
+     * 瀵硅姹傛姤鏂囧鐞�
+     *
+     * @param paramObj
+     * @return
+     */
+    private JSONObject refreshParamIn(JSONObject paramObj) {
+        //paramObj.put("userId","-1");
+        paramObj.put("levelCd", UserLevelConstant.USER_LEVEL_STAFF);
+        //璁剧疆榛樿瀵嗙爜
+        String staffDefaultPassword = MappingCache.getValue(MappingConstant.KEY_STAFF_DEFAULT_PASSWORD);
+        Assert.hasLength(staffDefaultPassword, "鏄犲皠琛ㄤ腑鏈缃憳宸ラ粯璁ゅ瘑鐮侊紝璇锋鏌�" + MappingConstant.KEY_STAFF_DEFAULT_PASSWORD);
+        staffDefaultPassword = AuthenticationFactory.passwdMd5(staffDefaultPassword);
+        paramObj.put("password", staffDefaultPassword);
+        return paramObj;
+    }
+
+    public JSONObject modifyStaff(JSONObject paramObj, DataFlowContext dataFlowContext) {
+        //鏍¢獙json 鏍煎紡涓槸鍚﹀寘鍚� name,email,levelCd,tel
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_MODIFY_USER_INFO);
+        business.put(CommonConstant.HTTP_SEQ, 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessUser", builderStaffInfo(paramObj, dataFlowContext));
+
+        return business;
+    }
+
+    /**
+     * 鏋勫缓鍛樺伐淇℃伅
+     *
+     * @param paramObj
+     * @param dataFlowContext
+     * @return
+     */
+    private JSONObject builderStaffInfo(JSONObject paramObj, DataFlowContext dataFlowContext) {
+
+        UserDto userDto = new UserDto();
+        userDto.setStatusCd("0");
+        userDto.setUserId(paramObj.getString("userId"));
+        List<UserDto> userDtos = userInnerServiceSMOImpl.getUserHasPwd(userDto);
+
+        Assert.listOnlyOne(userDtos, "鏁版嵁閿欒鏌ヨ鍒板鏉$敤鎴蜂俊鎭垨鍗曟潯");
+
+        JSONObject userInfo = JSONObject.parseObject(JSONObject.toJSONString(userDtos.get(0)));
+
+        if (!paramObj.getString("oldPwd").equals(userDtos.get(0).getPassword())) {
+            throw new IllegalArgumentException("鍘熷瀵嗙爜閿欒");
+        }
+        userInfo.putAll(paramObj);
+        userInfo.put("password", paramObj.getString("newPwd"));
+
+        return userInfo;
+    }
+
+    /**
+     * 鍒犻櫎鍟嗘埛
+     *
+     * @param paramInJson
+     * @return
+     */
+    public JSONObject deleteStaff(JSONObject paramInJson) {
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_DELETE_STORE_USER);
+        business.put(CommonConstant.HTTP_SEQ, 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONArray businessStoreUsers = new JSONArray();
+        JSONObject businessStoreUser = new JSONObject();
+        businessStoreUser.put("storeId", paramInJson.getString("storeId"));
+        businessStoreUser.put("userId", paramInJson.getString("userId"));
+        businessStoreUsers.add(businessStoreUser);
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessStoreUser", businessStoreUsers);
+
+        return business;
+
+    }
+
+    /**
+     * 鍒犻櫎鍟嗘埛
+     *
+     * @param paramInJson
+     * @return
+     */
+    public JSONObject deleteUser(JSONObject paramInJson) {
+        //鏍¢獙json 鏍煎紡涓槸鍚﹀寘鍚� name,email,levelCd,tel
+
+
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_REMOVE_USER_INFO);
+        business.put(CommonConstant.HTTP_SEQ, 1);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessStoreUser = new JSONObject();
+        businessStoreUser.put("userId", paramInJson.getString("userId"));
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessUser", businessStoreUser);
+
+        return business;
+
+    }
+
+
 }

--
Gitblit v1.8.0