java110 лет назад: 3
Родитель
Сommit
2c6a564824

+ 0 - 114
service-api/src/main/java/com/java110/api/listener/user/DeleteStaffServiceListener.java

@@ -1,114 +0,0 @@
-package com.java110.api.listener.user;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.repair.IRepairTypeUserBMO;
-import com.java110.api.bmo.user.IUserBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.factory.DataFlowFactory;
-import com.java110.dto.repair.RepairTypeUserDto;
-import com.java110.entity.center.AppService;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.intf.community.IRepairTypeUserInnerServiceSMO;
-import com.java110.utils.constant.CommonConstant;
-import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.util.Assert;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-
-import java.util.List;
-
-/**
- * 删除员工信息
- * Created by Administrator on 2019/4/4.
- */
-@Java110Listener("deleteStaffServiceListener")
-public class DeleteStaffServiceListener extends AbstractServiceApiPlusListener {
-    @Override
-    public int getOrder() {
-        return 0;
-    }
-
-    @Autowired
-    private IUserBMO userBMOImpl;
-
-    @Autowired
-    private IRepairTypeUserBMO repairTypeUserBMOImpl;
-
-
-    @Autowired
-    private IRepairTypeUserInnerServiceSMO repairTypeUserInnerServiceSMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_USER_STAFF_DELETE;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-
-
-        Assert.jsonObjectHaveKey(reqJson, "storeId", "请求参数中未包含storeId 节点,请确认");
-        Assert.jsonObjectHaveKey(reqJson, "userId", "请求参数中未包含userId 节点,请确认");
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-        userBMOImpl.deleteStaff(reqJson, context);
-
-        //删除用户
-        userBMOImpl.deleteUser(reqJson, context);
-
-        //删除报修设置
-        RepairTypeUserDto repairTypeUserDto = new RepairTypeUserDto();
-        repairTypeUserDto.setStaffId(reqJson.getString("userId"));
-        repairTypeUserDto.setStatusCd("0");
-        List<RepairTypeUserDto> repairTypeUserDtoList = repairTypeUserInnerServiceSMOImpl.queryRepairTypeUsers(repairTypeUserDto);
-        if (repairTypeUserDtoList != null && repairTypeUserDtoList.size() > 0) {
-            for (RepairTypeUserDto repairTypeUserDto1 : repairTypeUserDtoList) {
-                JSONObject typeUserJson1= (JSONObject)JSONObject.toJSON(repairTypeUserDto1);
-                repairTypeUserBMOImpl.deleteRepairTypeUser(typeUserJson1, context);
-            }
-        }
-
-        commit(context);
-
-        //赋权
-        deleteUserPrivilege(context, reqJson);
-    }
-
-    /**
-     * 删除用户权限
-     *
-     * @param dataFlowContext
-     * @param paramInJson
-     */
-    private void deleteUserPrivilege(DataFlowContext dataFlowContext, JSONObject paramInJson) {
-
-        ResponseEntity responseEntity = null;
-        AppService appService = DataFlowFactory.getService(dataFlowContext.getAppId(), ServiceCodeConstant.SERVICE_CODE_DELETE_USER_ALL_PRIVILEGE);
-        if (appService == null) {
-            responseEntity = new ResponseEntity<String>("当前没有权限访问" + ServiceCodeConstant.SERVICE_CODE_DELETE_USER_ALL_PRIVILEGE, HttpStatus.UNAUTHORIZED);
-            dataFlowContext.setResponseEntity(responseEntity);
-            return;
-        }
-        String requestUrl = appService.getUrl();
-        HttpHeaders header = new HttpHeaders();
-        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(), ServiceCodeConstant.SERVICE_CODE_DELETE_USER_ALL_PRIVILEGE);
-        userBMOImpl.freshHttpHeader(header, dataFlowContext.getRequestCurrentHeaders());
-        JSONObject paramInObj = new JSONObject();
-        paramInObj.put("userId", paramInJson.getString("userId"));
-        HttpEntity<String> httpEntity = new HttpEntity<String>(paramInObj.toJSONString(), header);
-        doRequest(dataFlowContext, appService, httpEntity);
-    }
-}

+ 0 - 63
service-api/src/main/java/com/java110/api/listener/user/DisableStaffServiceListener.java

@@ -1,63 +0,0 @@
-package com.java110.api.listener.user;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.user.IUserBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.po.user.UserPo;
-import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-/**
- * 员工停用接口
- *
- * @author wuxw
- * @create 2018-12-08 下午2:46
- * @desc 停用员工信息,如离职等情况 员工账号信息停用处理
- **/
-@Java110Listener("disableStaffServiceListener")
-public class DisableStaffServiceListener extends AbstractServiceApiPlusListener {
-
-    private final static Logger logger = LoggerFactory.getLogger(DisableStaffServiceListener.class);
-    @Autowired
-    private IUserBMO userBMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_USER_STAFF_DISABLE;
-    }
-
-    /**
-     * 接口请求方法
-     *
-     * @return
-     */
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.PUT;
-    }
-
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        Assert.jsonObjectHaveKey(reqJson, "userId", "当前请求报文中未包含userId节点");
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        UserPo userPo = BeanConvertUtil.covertBean(reqJson, UserPo.class);
-        super.update(context, userPo, BusinessTypeConstant.BUSINESS_TYPE_REMOVE_USER_INFO);
-    }
-
-
-}

+ 0 - 100
service-api/src/main/java/com/java110/api/listener/user/EnableStaffServiceListener.java

@@ -1,100 +0,0 @@
-package com.java110.api.listener.user;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.user.IUserBMO;
-import com.java110.api.listener.AbstractServiceApiDataFlowListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.entity.center.AppService;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.constant.CommonConstant;
-import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.util.Assert;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-
-/**
- * 启用员工接口
- *
- * @author wuxw
- * @create 2018-12-08 下午2:46
- * @desc 启用员工信息,如二次入职,启用之前工号信息
- **/
-@Java110Listener("enableStaffServiceListener")
-public class EnableStaffServiceListener extends AbstractServiceApiDataFlowListener {
-
-    private final static Logger logger = LoggerFactory.getLogger(EnableStaffServiceListener.class);
-    @Autowired
-    private IUserBMO userBMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_USER_STAFF_ENABLE;
-    }
-
-    /**
-     * 接口请求方法
-     *
-     * @return
-     */
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.PUT;
-    }
-
-    /**
-     * 业务逻辑处理
-     * 参数要求必须有员工ID
-     *
-     * @param event
-     */
-    @Override
-    public void soService(ServiceDataFlowEvent event) {
-        //获取数据上下文对象
-        DataFlowContext dataFlowContext = event.getDataFlowContext();
-        AppService service = event.getAppService();
-        String paramIn = dataFlowContext.getReqData();
-
-        Assert.jsonObjectHaveKey(paramIn, "userId", "当前请求报文中未包含userId节点");
-
-        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
-        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_RECOVER_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(BusinessTypeConstant.BUSINESS_TYPE_RECOVER_USER_INFO, refreshParamIn(paramIn));
-        HttpHeaders header = new HttpHeaders();
-        dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D");
-        String paramInObj = userBMOImpl.restToCenterProtocol(business, dataFlowContext.getRequestCurrentHeaders()).toJSONString();
-
-        //将 rest header 信息传递到下层服务中去
-        userBMOImpl.freshHttpHeader(header, dataFlowContext.getRequestCurrentHeaders());
-
-        HttpEntity<String> httpEntity = new HttpEntity<String>(paramInObj, header);
-        //http://user-service/test/sayHello
-        super.doRequest(dataFlowContext, service, httpEntity);
-
-        super.doResponse(dataFlowContext);
-    }
-
-    /**
-     * 对请求报文处理
-     *
-     * @param paramIn
-     * @return
-     */
-    private JSONObject refreshParamIn(String paramIn) {
-        JSONObject paramObj = JSONObject.parseObject(paramIn);
-        return paramObj;
-    }
-
-    @Override
-    public int getOrder() {
-        return 0;
-    }
-}

+ 0 - 195
service-api/src/main/java/com/java110/api/listener/user/QueryStaffByUserNameServiceListener.java

@@ -1,195 +0,0 @@
-package com.java110.api.listener.user;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.user.IUserBMO;
-import com.java110.api.listener.AbstractServiceApiDataFlowListener;
-import com.java110.utils.constant.CommonConstant;
-import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.exception.ListenerExecuteException;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.StringUtil;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.entity.center.AppService;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
-
-/**
- * 查询员工信息query.staff.byName
- * Created by Administrator on 2019/4/2.
- */
-@Java110Listener("queryStaffByUserNameServiceListener")
-public class QueryStaffByUserNameServiceListener extends AbstractServiceApiDataFlowListener {
-    private final static Logger logger = LoggerFactory.getLogger(QueryStaffByUserNameServiceListener.class);
-
-    @Override
-    public int getOrder() {
-        return 0;
-    }
-    @Autowired
-    private IUserBMO userBMOImpl;
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_QUERY_STAFF_BY_NAME;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-    /**
-     *
-     * @param event
-     */
-    @Override
-    public void soService(ServiceDataFlowEvent event) throws ListenerExecuteException{
-
-
-        DataFlowContext dataFlowContext = event.getDataFlowContext();
-        AppService service = event.getAppService();
-        JSONObject data = dataFlowContext.getReqJson();
-        logger.debug("请求信息:{}",JSONObject.toJSONString(dataFlowContext));
-        Assert.hasKeyAndValue(data,"storeId","请求报文中未包含storeId节点");
-        Assert.hasKeyAndValue(data,"name","请求报文中未包含name节点");
-        ResponseEntity<String> responseEntity = null;
-
-        JSONObject resultJson = JSONObject.parseObject("{\"total:\":10,\"datas\":[]}");
-        //根据名称查询用户信息
-        responseEntity = userBMOImpl.callService(dataFlowContext,ServiceCodeConstant.SERVICE_CODE_QUERY_USER_BY_NAME,data);
-
-        if(responseEntity.getStatusCode() != HttpStatus.OK){
-            dataFlowContext.setResponseEntity(responseEntity);
-            return ;
-        }
-
-
-        String useIds = getUserIds(responseEntity,dataFlowContext);
-        if(StringUtil.isEmpty(useIds)){
-            responseEntity = new ResponseEntity<String>(resultJson.toJSONString(),HttpStatus.OK);
-            dataFlowContext.setResponseEntity(responseEntity);
-            return ;
-        }
-
-        JSONArray userInfos = getUserInfos(responseEntity);
-        JSONObject paramIn = new JSONObject();
-        paramIn.put("userIds",useIds);
-        paramIn.put("storeId",data.getString("storeId"));
-        //查询是商户员工的userId
-        responseEntity = userBMOImpl.callService(dataFlowContext,ServiceCodeConstant.SERVICE_CODE_QUERY_STOREUSER_BYUSERIDS,paramIn);
-
-        if(responseEntity.getStatusCode() != HttpStatus.OK){
-            return ;
-        }
-        resultJson.put("datas",getStaffUsers(userInfos,responseEntity));
-        responseEntity = new ResponseEntity<String>(resultJson.toJSONString(),HttpStatus.OK);
-        dataFlowContext.setResponseEntity(responseEntity);
-    }
-
-    /**
-     * 查询商户员工
-     * @param userInfos 用户信息
-     * @param responseEntity 商户返回的用户ID信息
-     * @return
-     */
-    private JSONArray getStaffUsers(JSONArray userInfos,ResponseEntity<String> responseEntity ){
-
-
-        JSONObject storeUserInfo = null;
-        JSONArray newStaffUsers = new JSONArray();
-        JSONArray storeUsers = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("storeUsers");
-        if(storeUsers == null || storeUsers.size() < 1){
-            return newStaffUsers;
-        }
-
-        for(int storeUserIndex = 0 ;storeUserIndex < storeUsers.size();storeUserIndex++){
-            storeUserInfo = storeUsers.getJSONObject(storeUserIndex);
-
-            for(int userIndex = 0; userIndex < userInfos.size();userIndex ++){
-                if(userInfos.getJSONObject(userIndex).getString("userId").equals(storeUserInfo.getString("userId"))){
-                    newStaffUsers.add(userInfos.getJSONObject(userIndex));
-                }
-            }
-        }
-
-
-        return newStaffUsers;
-    }
-
-
-    /**
-     * 获取用ID
-     * 如:
-     *     123,456,567
-     * @param responseEntity
-     * @param dataFlowContext
-     * @return
-     */
-    private String getUserIds(ResponseEntity<String> responseEntity,DataFlowContext dataFlowContext){
-        JSONObject userInfo = null;
-        String userId = "";
-        JSONArray resultInfo = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("users");
-        if(resultInfo == null || resultInfo.size() < 1){
-            return userId;
-        }
-
-        for(int userIndex = 0 ;userIndex < resultInfo.size();userIndex++){
-            userInfo = resultInfo.getJSONObject(userIndex);
-            userId += (userInfo.getString("userId") +",");
-        }
-
-        userId = userId.length()>0?userId.substring(0,userId.lastIndexOf(",")):userId;
-
-        return userId;
-    }
-
-
-    /**
-     * 获取用户
-     * @param responseEntity
-     * @return
-     */
-    private JSONArray getUserInfos(ResponseEntity<String> responseEntity){
-        JSONArray resultInfo = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("users");
-        if(resultInfo == null || resultInfo.size() < 1){
-            return null;
-        }
-
-        return resultInfo;
-    }
-
-    /**
-     * 查询用户信息
-     * @param tmpObj
-     */
-    private void queryUserInfoByUserId( DataFlowContext dataFlowContext,JSONObject tmpObj,AppService appService){
-
-        String userId = tmpObj.getString("userId");
-
-        if(StringUtil.isEmpty(userId)){
-            return ;
-        }
-
-        ResponseEntity responseEntity= null;
-
-        String requestUrl = appService.getUrl();
-        HttpHeaders header = new HttpHeaders();
-        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(),ServiceCodeConstant.SERVICE_CODE_QUERY_USER_USERINFO);
-
-        //先查询商户服务查询员工userId
-        requestUrl = requestUrl + "?userId="+userId;
-        dataFlowContext.getRequestHeaders().put("REQUEST_URL",requestUrl);
-        HttpEntity<String> httpEntity = new HttpEntity<String>("", header);
-        doRequest(dataFlowContext,appService,httpEntity);
-        responseEntity = dataFlowContext.getResponseEntity();
-
-        if(responseEntity.getStatusCode() != HttpStatus.OK){
-            throw new ListenerExecuteException(1999,"查询用户信息异常 "+responseEntity.getBody());
-        }
-        tmpObj.putAll(JSONObject.parseObject(responseEntity.getBody().toString()));
-    }
-}

+ 0 - 138
service-api/src/main/java/com/java110/api/listener/user/SaveOrUpdateUserAttrListener.java

@@ -1,138 +0,0 @@
-package com.java110.api.listener.user;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.user.IUserBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.core.factory.DataFlowFactory;
-import com.java110.intf.user.IUserInnerServiceSMO;
-import com.java110.dto.user.UserAttrDto;
-import com.java110.entity.center.AppService;
-import com.java110.po.user.UserPo;
-import com.java110.po.userAttr.UserAttrPo;
-import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.constant.CommonConstant;
-import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.exception.ListenerExecuteException;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-
-import java.util.List;
-
-/**
- * 添加或修改用户属性
- * Created by wuxw on 2018/5/18.
- */
-@Java110Listener("saveOrUpdateUserAttrListener")
-public class SaveOrUpdateUserAttrListener extends AbstractServiceApiPlusListener {
-
-    private final static Logger logger = LoggerFactory.getLogger(SaveOrUpdateUserAttrListener.class);
-
-    @Autowired
-    private IUserBMO userBMOImpl;
-
-    @Autowired
-    private IUserInnerServiceSMO userInnerServiceSMOImpl;
-
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_SAVE_UPDATE_USER_ATTR;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-
-    @Override
-    public int getOrder() {
-        return 0;
-    }
-
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        Assert.jsonObjectHaveKey(reqJson, "userId", "请求参数中未包含userId 节点,请确认");
-        //校验json 格式中是否包含 name,email,levelCd,tel
-        Assert.jsonObjectHaveKey(reqJson, "specCd", "请求参数中未包含属性 节点,请确认");
-        Assert.jsonObjectHaveKey(reqJson, "value", "请求参数中未包含属性值 节点,请确认");
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        UserAttrDto userAttrDto = new UserAttrDto();
-        userAttrDto.setUserId(reqJson.getString("userId"));
-        userAttrDto.setSpecCd(reqJson.getString("specCd"));
-        List<UserAttrDto> userAttrDtos = userInnerServiceSMOImpl.getUserAttrs(userAttrDto);
-        if(userAttrDtos != null && userAttrDtos.size() >0){
-            UserAttrPo userAttrPo = new UserAttrPo();
-            userAttrPo.setUserId(userAttrDtos.get(0).getUserId());
-            userAttrPo.setAttrId(userAttrDtos.get(0).getAttrId());
-            userAttrPo.setSpecCd(reqJson.getString("specCd"));
-            userAttrPo.setValue(reqJson.getString("value"));
-            super.update(context,userAttrPo,BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_ATTR_INFO);
-            return;
-        }
-
-        UserAttrPo userAttrPo = new UserAttrPo();
-        userAttrPo.setUserId(reqJson.getString("userId"));
-        userAttrPo.setAttrId("-1");
-        userAttrPo.setSpecCd(reqJson.getString("specCd"));
-        userAttrPo.setValue(reqJson.getString("value"));
-        super.insert(context,userAttrPo,BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_ATTR_INFO);
-    }
-
-
-    private void modifyStaff(JSONObject paramObj, DataFlowContext dataFlowContext) {
-        UserPo userPo = BeanConvertUtil.covertBean(builderStaffInfo(paramObj, dataFlowContext), UserPo.class);
-        super.update(dataFlowContext, userPo, BusinessTypeConstant.BUSINESS_TYPE_MODIFY_USER_INFO);
-    }
-
-    /**
-     * 构建员工信息
-     *
-     * @param paramObj
-     * @param dataFlowContext
-     * @return
-     */
-    private JSONObject builderStaffInfo(JSONObject paramObj, DataFlowContext dataFlowContext) {
-
-        //首先根据员工ID查询员工信息,根据员工信息修改相应的数据
-        ResponseEntity responseEntity = null;
-        AppService appService = DataFlowFactory.getService(dataFlowContext.getAppId(), ServiceCodeConstant.SERVICE_CODE_QUERY_USER_USERINFO);
-        if (appService == null) {
-            throw new ListenerExecuteException(1999, "当前没有权限访问" + ServiceCodeConstant.SERVICE_CODE_QUERY_USER_USERINFO);
-
-        }
-        String requestUrl = appService.getUrl() + "?userId=" + paramObj.getString("userId");
-        HttpHeaders header = new HttpHeaders();
-        header.add(CommonConstant.HTTP_SERVICE.toLowerCase(), ServiceCodeConstant.SERVICE_CODE_QUERY_USER_USERINFO);
-        dataFlowContext.getRequestHeaders().put("REQUEST_URL", requestUrl);
-        HttpEntity<String> httpEntity = new HttpEntity<String>("", header);
-        doRequest(dataFlowContext, appService, httpEntity);
-        responseEntity = dataFlowContext.getResponseEntity();
-
-        if (responseEntity.getStatusCode() != HttpStatus.OK) {
-            dataFlowContext.setResponseEntity(responseEntity);
-        }
-
-        JSONObject userInfo = JSONObject.parseObject(responseEntity.getBody().toString());
-        userInfo.putAll(paramObj);
-
-        return userInfo;
-    }
-
-}

+ 151 - 0
service-user/src/main/java/com/java110/user/cmd/user/QueryStaffByNameCmd.java

@@ -0,0 +1,151 @@
+package com.java110.user.cmd.user;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.service.context.DataQuery;
+import com.java110.service.smo.IQueryServiceSMO;
+import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.text.ParseException;
+
+@Java110Cmd(serviceCode = "query.staff.byName")
+public class QueryStaffByNameCmd extends Cmd {
+
+    @Autowired
+    private IQueryServiceSMO queryServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Assert.hasKeyAndValue(reqJson, "storeId", "请求报文中未包含storeId节点");
+        Assert.hasKeyAndValue(reqJson, "name", "请求报文中未包含name节点");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        JSONObject resultJson = JSONObject.parseObject("{\"total:\":10,\"datas\":[]}");
+        DataQuery dataQuery = new DataQuery();
+        dataQuery.setServiceCode(ServiceCodeConstant.SERVICE_CODE_QUERY_USER_BY_NAME);
+
+        dataQuery.setRequestParams(reqJson);
+        queryServiceSMOImpl.commonQueryService(dataQuery);
+        ResponseEntity<String> responseEntity = dataQuery.getResponseEntity();
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            context.setResponseEntity(responseEntity);
+            return;
+        }
+
+        String useIds = getUserIds(responseEntity);
+        if (StringUtil.isEmpty(useIds)) {
+            context.setResponseEntity(responseEntity);
+            return;
+        }
+        JSONArray userInfos = getUserInfos(responseEntity);
+        JSONObject paramIn = new JSONObject();
+        paramIn.put("userIds", useIds);
+        paramIn.put("storeId", reqJson.getString("storeId"));
+
+
+        dataQuery = new DataQuery();
+        dataQuery.setServiceCode(ServiceCodeConstant.SERVICE_CODE_QUERY_STOREUSER_BYUSERIDS);
+
+        dataQuery.setRequestParams(paramIn);
+        queryServiceSMOImpl.commonQueryService(dataQuery);
+        responseEntity = dataQuery.getResponseEntity();
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            context.setResponseEntity(responseEntity);
+            return;
+        }
+
+        resultJson.put("datas", getStaffUsers(userInfos, responseEntity));
+        responseEntity = new ResponseEntity<String>(resultJson.toJSONString(), HttpStatus.OK);
+        context.setResponseEntity(responseEntity);
+
+    }
+
+    /**
+     * 查询商户员工
+     *
+     * @param userInfos      用户信息
+     * @param responseEntity 商户返回的用户ID信息
+     * @return
+     */
+    private JSONArray getStaffUsers(JSONArray userInfos, ResponseEntity<String> responseEntity) {
+
+
+        JSONObject storeUserInfo = null;
+        JSONArray newStaffUsers = new JSONArray();
+        JSONArray storeUsers = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("storeUsers");
+        if (storeUsers == null || storeUsers.size() < 1) {
+            return newStaffUsers;
+        }
+
+        for (int storeUserIndex = 0; storeUserIndex < storeUsers.size(); storeUserIndex++) {
+            storeUserInfo = storeUsers.getJSONObject(storeUserIndex);
+
+            for (int userIndex = 0; userIndex < userInfos.size(); userIndex++) {
+                if (userInfos.getJSONObject(userIndex).getString("userId").equals(storeUserInfo.getString("userId"))) {
+                    newStaffUsers.add(userInfos.getJSONObject(userIndex));
+                }
+            }
+        }
+
+
+        return newStaffUsers;
+    }
+
+    /**
+     * 获取用ID
+     * 如:
+     * 123,456,567
+     *
+     * @param responseEntity
+     * @return
+     */
+    private String getUserIds(ResponseEntity<String> responseEntity) {
+        JSONObject userInfo = null;
+        String userId = "";
+        JSONArray resultInfo = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("users");
+        if (resultInfo == null || resultInfo.size() < 1) {
+            return userId;
+        }
+
+        for (int userIndex = 0; userIndex < resultInfo.size(); userIndex++) {
+            userInfo = resultInfo.getJSONObject(userIndex);
+            userId += (userInfo.getString("userId") + ",");
+        }
+
+        userId = userId.length() > 0 ? userId.substring(0, userId.lastIndexOf(",")) : userId;
+
+        return userId;
+    }
+
+
+    /**
+     * 获取用户
+     *
+     * @param responseEntity
+     * @return
+     */
+    private JSONArray getUserInfos(ResponseEntity<String> responseEntity) {
+        JSONArray resultInfo = JSONObject.parseObject(responseEntity.getBody().toString()).getJSONArray("users");
+        if (resultInfo == null || resultInfo.size() < 1) {
+            return null;
+        }
+
+        return resultInfo;
+    }
+
+
+}

+ 80 - 0
service-user/src/main/java/com/java110/user/cmd/user/SaveOrUpdateUserAttrCmd.java

@@ -0,0 +1,80 @@
+package com.java110.user.cmd.user;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.DataFlowContext;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.DataFlowFactory;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.user.UserAttrDto;
+import com.java110.entity.center.AppService;
+import com.java110.intf.user.IUserAttrV1InnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.user.UserPo;
+import com.java110.po.userAttr.UserAttrPo;
+import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.exception.ListenerExecuteException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+
+import java.text.ParseException;
+import java.util.List;
+
+@Java110Cmd(serviceCode = "user.saveOrUpdateUserAttr")
+public class SaveOrUpdateUserAttrCmd extends Cmd {
+
+    @Autowired
+    private IUserInnerServiceSMO userInnerServiceSMOImpl;
+
+    @Autowired
+    private IUserAttrV1InnerServiceSMO userAttrV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Assert.jsonObjectHaveKey(reqJson, "userId", "请求参数中未包含userId 节点,请确认");
+        //校验json 格式中是否包含 name,email,levelCd,tel
+        Assert.jsonObjectHaveKey(reqJson, "specCd", "请求参数中未包含属性 节点,请确认");
+        Assert.jsonObjectHaveKey(reqJson, "value", "请求参数中未包含属性值 节点,请确认");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        UserAttrDto userAttrDto = new UserAttrDto();
+        userAttrDto.setUserId(reqJson.getString("userId"));
+        userAttrDto.setSpecCd(reqJson.getString("specCd"));
+        List<UserAttrDto> userAttrDtos = userInnerServiceSMOImpl.getUserAttrs(userAttrDto);
+        int flag = 0;
+        if(userAttrDtos != null && userAttrDtos.size() >0){
+            UserAttrPo userAttrPo = new UserAttrPo();
+            userAttrPo.setUserId(userAttrDtos.get(0).getUserId());
+            userAttrPo.setAttrId(userAttrDtos.get(0).getAttrId());
+            userAttrPo.setSpecCd(reqJson.getString("specCd"));
+            userAttrPo.setValue(reqJson.getString("value"));
+            flag = userAttrV1InnerServiceSMOImpl.updateUserAttr(userAttrPo);
+            if(flag< 1){
+                throw new CmdException("更新失败");
+            }
+            return;
+        }
+
+        UserAttrPo userAttrPo = new UserAttrPo();
+        userAttrPo.setUserId(reqJson.getString("userId"));
+        userAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+        userAttrPo.setSpecCd(reqJson.getString("specCd"));
+        userAttrPo.setValue(reqJson.getString("value"));
+        flag = userAttrV1InnerServiceSMOImpl.saveUserAttr(userAttrPo);
+        if(flag< 1){
+            throw new CmdException("添加失败");
+        }
+    }
+}

+ 28 - 38
service-api/src/main/java/com/java110/api/listener/user/SaveUserListener.java

@@ -1,52 +1,38 @@
-package com.java110.api.listener.user;
+package com.java110.user.cmd.user;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.AuthenticationFactory;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.user.UserAttrDto;
+import com.java110.intf.user.IUserAttrV1InnerServiceSMO;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.user.UserPo;
 import com.java110.po.userAttr.UserAttrPo;
 import com.java110.utils.cache.MappingCache;
-import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.MappingConstant;
-import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
-import org.springframework.http.HttpMethod;
+import org.springframework.beans.factory.annotation.Autowired;
 
-/**
- * 添加员工 2018年12月6日
- * Created by wuxw on 2018/5/18.
- */
-@Java110Listener("saveUserListener")
-public class SaveUserListener extends AbstractServiceApiPlusListener {
+import java.text.ParseException;
 
-    private final static Logger logger = LoggerFactory.getLogger(SaveUserListener.class);
+@Java110Cmd(serviceCode = "user.saveUser")
+public class SaveUserCmd extends Cmd {
 
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_SAVE_USER_INFO;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
 
-    @Override
-    public int getOrder() {
-        return 0;
-    }
+    @Autowired
+    private IUserAttrV1InnerServiceSMO userAttrV1InnerServiceSMOImpl;
 
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         //校验json 格式中是否包含 name,email,levelCd,tel
         Assert.jsonObjectHaveKey(reqJson, "name", "请求参数中未包含name 节点,请确认");
         //Assert.jsonObjectHaveKey(paramObj,"email","请求参数中未包含email 节点,请确认");
@@ -61,9 +47,8 @@ public class SaveUserListener extends AbstractServiceApiPlusListener {
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        //判断请求报文中包含 userId 并且 不为-1时 将已有用户添加为员工,反之,则添加用户再将用户添加为员工
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+//判断请求报文中包含 userId 并且 不为-1时 将已有用户添加为员工,反之,则添加用户再将用户添加为员工
         String userId = "";
         if (!reqJson.containsKey("userId") || "-1".equals(reqJson.getString("userId"))) {
             userId = GenerateCodeFactory.getUserId();
@@ -79,16 +64,21 @@ public class SaveUserListener extends AbstractServiceApiPlusListener {
         staffDefaultPassword = AuthenticationFactory.passwdMd5(staffDefaultPassword);
         reqJson.put("password", staffDefaultPassword);
         UserPo userPo = BeanConvertUtil.covertBean(reqJson, UserPo.class);
-        super.insert(context, userPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_INFO);
+        int flag = userV1InnerServiceSMOImpl.saveUser(userPo);
+        if (flag < 1) {
+            throw new CmdException("保存用户失败");
+        }
 
         if (!StringUtil.isEmpty(reqJson.getString("extUserId"))) {
             UserAttrPo userAttrPo = new UserAttrPo();
             userAttrPo.setUserId(reqJson.getString("userId"));
-            userAttrPo.setAttrId("-1");
+            userAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
             userAttrPo.setSpecCd(UserAttrDto.SPEC_PROPERTY_USER_ID);
             userAttrPo.setValue(reqJson.getString("extUserId"));
-            super.insert(context, userAttrPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_ATTR_INFO);
+            flag = userAttrV1InnerServiceSMOImpl.updateUserAttr(userAttrPo);
+            if (flag < 1) {
+                throw new CmdException("更新失败");
+            }
         }
     }
-
 }

+ 37 - 0
service-user/src/main/java/com/java110/user/cmd/user/UserStaffDisableCmd.java

@@ -0,0 +1,37 @@
+package com.java110.user.cmd.user;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
+import com.java110.po.user.UserPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+@Java110Cmd(serviceCode = "user.staff.disable")
+public class UserStaffDisableCmd extends Cmd {
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Assert.jsonObjectHaveKey(reqJson, "userId", "当前请求报文中未包含userId节点");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        UserPo userPo = BeanConvertUtil.covertBean(reqJson, UserPo.class);
+
+        int flag = userV1InnerServiceSMOImpl.updateUser(userPo);
+
+        if (flag < 1) {
+            throw new CmdException("禁用用户失败");
+        }
+    }
+}

+ 36 - 0
service-user/src/main/java/com/java110/user/cmd/user/UserStaffEnableCmd.java

@@ -0,0 +1,36 @@
+package com.java110.user.cmd.user;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
+import com.java110.po.user.UserPo;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+@Java110Cmd(serviceCode = "user.staff.enable")
+public class UserStaffEnableCmd extends Cmd {
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Assert.jsonObjectHaveKey(reqJson, "userId", "当前请求报文中未包含userId节点");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        UserPo userPo = BeanConvertUtil.covertBean(reqJson, UserPo.class);
+        int flag = userV1InnerServiceSMOImpl.updateUser(userPo);
+
+        if (flag < 1) {
+            throw new CmdException("启用用户失败");
+        }
+    }
+}