Parcourir la source

优化 登录 接口为cmd 模式

wuxw il y a 3 ans
Parent
commit
3e4b5f6e5a

+ 0 - 87
service-api/src/main/java/com/java110/api/listener/demo/QueryDemoConfigListener.java

@@ -1,87 +0,0 @@
-package com.java110.api.listener.demo;
-
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiDataFlowListener;
-import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.intf.demo.IDemoInnerServiceSMO;
-import com.java110.dto.demo.DemoDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-
-import java.util.List;
-
-/**
- * @ClassName FloorDto
- * @Description 用例数据层侦听类
- * @Author wuxw
- * @Date 2019/4/24 8:52
- * @Version 1.0
- * add by wuxw 2019/4/24
- **/
-@Java110Listener("queryDemoConfig")
-public class QueryDemoConfigListener extends AbstractServiceApiDataFlowListener {
-
-    @Autowired
-    private IDemoInnerServiceSMO demoInnerServiceSMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_QUERY_DEMO_CONFIG;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-    /**
-     * 业务层数据处理
-     *
-     * @param event 时间对象
-     */
-    @Override
-    public void soService(ServiceDataFlowEvent event) {
-        DataFlowContext dataFlowContext = event.getDataFlowContext();
-        //获取请求数据
-        JSONObject reqJson = dataFlowContext.getReqJson();
-        //validateDemoConfigData(reqJson);
-
-        List<DemoDto> DemoDtos = demoInnerServiceSMOImpl.queryDemos(BeanConvertUtil.covertBean(reqJson, DemoDto.class));
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(DemoDtos), HttpStatus.OK);
-
-        dataFlowContext.setResponseEntity(responseEntity);
-    }
-
-    /**
-     * 校验查询条件是否满足条件
-     *
-     * @param reqJson 包含查询条件
-     */
-    private void validateDemoConfigData(JSONObject reqJson) {
-        Assert.jsonObjectHaveKey(reqJson, "demoName", "请求中未包含demoName信息");
-        Assert.jsonObjectHaveKey(reqJson, "demoValue", "请求中未包含demoValue信息");
-
-
-    }
-
-    @Override
-    public int getOrder() {
-        return super.DEFAULT_ORDER;
-    }
-
-    public IDemoInnerServiceSMO getDemoInnerServiceSMOImpl() {
-        return demoInnerServiceSMOImpl;
-    }
-
-    public void setDemoInnerServiceSMOImpl(IDemoInnerServiceSMO demoInnerServiceSMOImpl) {
-        this.demoInnerServiceSMOImpl = demoInnerServiceSMOImpl;
-    }
-}

+ 0 - 133
service-api/src/main/java/com/java110/api/listener/demo/SaveDemoConfigListener.java

@@ -1,133 +0,0 @@
-package com.java110.api.listener.demo;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.demo.IDemoBMO;
-import com.java110.api.listener.AbstractServiceApiDataFlowListener;
-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 com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.intf.demo.IDemoInnerServiceSMO;
-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.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-
-/**
- * @ClassName SaveFeeConfigListener
- * @Description TODO
- * @Author wuxw
- * @Date 2019/6/1 20:51
- * @Version 1.0
- * add by wuxw 2019/6/1
- **/
-@Java110Listener("saveDemoConfigListener")
-public class SaveDemoConfigListener extends AbstractServiceApiDataFlowListener {
-    private static Logger logger = LoggerFactory.getLogger(SaveDemoConfigListener.class);
-
-    @Autowired
-    private IDemoBMO demoBMOImpl;
-
-    @Autowired
-    private IDemoInnerServiceSMO demoInnerServiceSMOImpl;
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_SAVE_DEMO_CONFIG;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public void soService(ServiceDataFlowEvent event) {
-
-        logger.debug("ServiceDataFlowEvent : {}", event);
-
-        DataFlowContext dataFlowContext = event.getDataFlowContext();
-        AppService service = event.getAppService();
-
-        String paramIn = dataFlowContext.getReqData();
-
-        //校验数据
-        validate(paramIn);
-        JSONObject paramObj = JSONObject.parseObject(paramIn);
-
-        HttpHeaders header = new HttpHeaders();
-        dataFlowContext.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D");
-        JSONArray businesses = new JSONArray();
-
-        //添加DEMO信息
-        businesses.add(addDemoConfig(paramObj, dataFlowContext));
-
-
-        ResponseEntity<String> responseEntity = demoBMOImpl.callService(dataFlowContext, service.getServiceCode(), businesses);
-
-        dataFlowContext.setResponseEntity(responseEntity);
-
-    }
-
-    /**
-     * 添加DEMO楼信息
-     *
-     * @param paramInJson     接口调用放传入入参
-     * @param dataFlowContext 数据上下文
-     * @return 订单服务能够接受的报文
-     */
-    private JSONObject addDemoConfig(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-
-
-        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
-        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_DEMO_INFO);
-        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
-        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
-        JSONObject businessDemo = new JSONObject();
-        businessDemo.putAll(paramInJson);
-        businessDemo.put("demoId", "-1");
-        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessDemo", businessDemo);
-
-        return business;
-    }
-
-    /**
-     * 数据校验
-     *
-     * @param paramIn "communityId": "7020181217000001",
-     *                "memberId": "3456789",
-     *                "memberTypeCd": "390001200001"
-     */
-    private void validate(String paramIn) {
-        Assert.jsonObjectHaveKey(paramIn, "demoName", "请求报文中未包含demoName节点");
-        Assert.jsonObjectHaveKey(paramIn, "demoValue", "请求报文中未包含demoValue节点");
-
-        //校验小区楼ID和小区是否有对应关系
-        //List<FeeConfigDto> configDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
-
-       /* if (configDtos != null && configDtos.size() > 0) {
-            throw new IllegalArgumentException("已经存在费用配置信息");
-        }*/
-
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-    public IDemoInnerServiceSMO getDemoInnerServiceSMOImpl() {
-        return demoInnerServiceSMOImpl;
-    }
-
-    public void setDemoInnerServiceSMOImpl(IDemoInnerServiceSMO demoInnerServiceSMOImpl) {
-        this.demoInnerServiceSMOImpl = demoInnerServiceSMOImpl;
-    }
-}

+ 13 - 30
service-api/src/main/java/com/java110/api/listener/corder/ListCordersListener.java

@@ -1,37 +1,35 @@
-package com.java110.api.listener.corder;
+package com.java110.common.cmd.corders;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.intf.order.ICordersInnerServiceSMO;
+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.dto.corder.CorderDto;
 import com.java110.dto.corder.CorderDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.ServiceCodeActivitiesConstant;
+import com.java110.intf.order.ICordersInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
 import com.java110.vo.ResultVo;
-import com.java110.vo.api.corder.ApiCorderDataVo;
-import com.java110.vo.api.corder.ApiCorderVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
-@Java110Listener("listCordersListener")
-public class ListCordersListener extends AbstractServiceApiListener {
+
+@Java110Cmd(serviceCode = "corders.listCorders")
+public class ListCordersCmd extends Cmd {
+
     @Autowired
     @Autowired
     private ICordersInnerServiceSMO cordersInnerServiceSMOImpl;
     private ICordersInnerServiceSMO cordersInnerServiceSMOImpl;
 
 
     @Override
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         super.validatePageInfo(reqJson);
         super.validatePageInfo(reqJson);
     }
     }
 
 
     @Override
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         CorderDto corderDto = BeanConvertUtil.covertBean(reqJson, CorderDto.class);
         CorderDto corderDto = BeanConvertUtil.covertBean(reqJson, CorderDto.class);
 
 
         int count = cordersInnerServiceSMOImpl.queryCordersCount(corderDto);
         int count = cordersInnerServiceSMOImpl.queryCordersCount(corderDto);
@@ -48,19 +46,4 @@ public class ListCordersListener extends AbstractServiceApiListener {
 
 
         context.setResponseEntity(responseEntity);
         context.setResponseEntity(responseEntity);
     }
     }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeActivitiesConstant.LIST_CORDERS;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.GET;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
 }
 }

+ 20 - 60
service-api/src/main/java/com/java110/api/listener/configMenu/BindingConfigMenuListener.java

@@ -1,46 +1,38 @@
-package com.java110.api.listener.configMenu;
+package com.java110.dev.cmd.menu;
 
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiListener;
-import com.java110.core.annotation.Java110Listener;
+import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.context.DataFlowContext;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+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.GenerateCodeFactory;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.basePrivilege.BasePrivilegeDto;
 import com.java110.dto.basePrivilege.BasePrivilegeDto;
 import com.java110.dto.menu.MenuDto;
 import com.java110.dto.menu.MenuDto;
 import com.java110.dto.menuGroup.MenuGroupDto;
 import com.java110.dto.menuGroup.MenuGroupDto;
-import com.java110.entity.center.AppService;
 import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.constant.ResponseConstant;
-import com.java110.utils.constant.ServiceCodeConfigMenuConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
 
 
 import java.util.Map;
 import java.util.Map;
 
 
-/**
- * 保存小区侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("bindingConfigMenuListener")
-public class BindingConfigMenuListener extends AbstractServiceApiListener {
-
+@Java110Cmd(serviceCode = "menu.configMenu")
+public class ConfigMenuCmd extends Cmd {
     @Autowired
     @Autowired
     private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
     private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
 
 
 
 
     @Override
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         JSONArray infos = reqJson.getJSONArray("data");
         JSONArray infos = reqJson.getJSONArray("data");
 
 
         Assert.hasKeyByFlowData(infos, "addMenuView", "name", "必填,请填写菜单名称");
         Assert.hasKeyByFlowData(infos, "addMenuView", "name", "必填,请填写菜单名称");
@@ -54,15 +46,8 @@ public class BindingConfigMenuListener extends AbstractServiceApiListener {
     }
     }
 
 
     @Override
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        HttpHeaders header = new HttpHeaders();
-        context.getRequestCurrentHeaders().put(CommonConstant.HTTP_ORDER_TYPE_CD, "D");
-        JSONArray businesses = new JSONArray();
-
-        AppService service = event.getAppService();
-
-
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        String userId = context.getReqHeaders().get("user-id");
         JSONArray infos = reqJson.getJSONArray("data");
         JSONArray infos = reqJson.getJSONArray("data");
 
 
 
 
@@ -76,17 +61,17 @@ public class BindingConfigMenuListener extends AbstractServiceApiListener {
         }
         }
 
 
         if (!hasKey(viewMenuGroupInfo, "gId")) {
         if (!hasKey(viewMenuGroupInfo, "gId")) {
-            saveMenuGroup(viewMenuGroupInfo, context);
+            saveMenuGroup(viewMenuGroupInfo, userId);
         }
         }
 
 
         if (!hasKey(addPrivilegeView, "pId")) {
         if (!hasKey(addPrivilegeView, "pId")) {
-            saveMenuPrivilege(addPrivilegeView, context);
+            saveMenuPrivilege(addPrivilegeView, userId);
         }
         }
         if (!hasKey(addMenuView, "mId")) {
         if (!hasKey(addMenuView, "mId")) {
             addMenuView.put("mId", addPrivilegeView.getString("mId"));
             addMenuView.put("mId", addPrivilegeView.getString("mId"));
             addMenuView.put("gId", viewMenuGroupInfo.getString("gId"));
             addMenuView.put("gId", viewMenuGroupInfo.getString("gId"));
             addMenuView.put("pId", addPrivilegeView.getString("pId"));
             addMenuView.put("pId", addPrivilegeView.getString("pId"));
-            saveMenu(addMenuView, context);
+            saveMenu(addMenuView, userId);
         }
         }
 
 
         JSONObject outParam = new JSONObject();
         JSONObject outParam = new JSONObject();
@@ -101,49 +86,33 @@ public class BindingConfigMenuListener extends AbstractServiceApiListener {
 
 
     }
     }
 
 
-    private void saveMenuGroup(Map info, DataFlowContext context) {
+    private void saveMenuGroup(Map info, String userId) {
         info.put("gId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.MENU_GROUP));
         info.put("gId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.MENU_GROUP));
-        info.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        info.put("userId", userId);
         MenuGroupDto menuGroupDto = BeanConvertUtil.covertBean(info, MenuGroupDto.class);
         MenuGroupDto menuGroupDto = BeanConvertUtil.covertBean(info, MenuGroupDto.class);
         if (menuInnerServiceSMOImpl.saveMenuGroup(menuGroupDto) < 1) {
         if (menuInnerServiceSMOImpl.saveMenuGroup(menuGroupDto) < 1) {
             throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单组失败");
             throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单组失败");
         }
         }
     }
     }
 
 
-    private void saveMenu(Map info, DataFlowContext context) {
+    private void saveMenu(Map info, String userId) {
         //info.put("mId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.MENU));
         //info.put("mId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.MENU));
-        info.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        info.put("userId", userId);
         MenuDto menuDto = BeanConvertUtil.covertBean(info, MenuDto.class);
         MenuDto menuDto = BeanConvertUtil.covertBean(info, MenuDto.class);
         if (menuInnerServiceSMOImpl.saveMenu(menuDto) < 1) {
         if (menuInnerServiceSMOImpl.saveMenu(menuDto) < 1) {
             throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单失败");
             throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单失败");
         }
         }
     }
     }
 
 
-    private void saveMenuPrivilege(Map info, DataFlowContext context) {
+    private void saveMenuPrivilege(Map info, String userId) {
         info.put("pId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.BASE_PRIVILEGE));
         info.put("pId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.BASE_PRIVILEGE));
-        info.put("userId", context.getRequestCurrentHeaders().get(CommonConstant.HTTP_USER_ID));
+        info.put("userId", userId);
         BasePrivilegeDto basePrivilegeDto = BeanConvertUtil.covertBean(info, BasePrivilegeDto.class);
         BasePrivilegeDto basePrivilegeDto = BeanConvertUtil.covertBean(info, BasePrivilegeDto.class);
         if (menuInnerServiceSMOImpl.saveBasePrivilege(basePrivilegeDto) < 1) {
         if (menuInnerServiceSMOImpl.saveBasePrivilege(basePrivilegeDto) < 1) {
             throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单权限失败");
             throw new ListenerExecuteException(ResponseConstant.RESULT_CODE_ERROR, "参数异常,保存菜单权限失败");
         }
         }
     }
     }
 
 
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeConfigMenuConstant.BINDING_CONFIGMENU;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-
     private boolean hasKey(JSONObject info, String key) {
     private boolean hasKey(JSONObject info, String key) {
         if (!info.containsKey(key)
         if (!info.containsKey(key)
                 || StringUtil.isEmpty(info.getString(key))
                 || StringUtil.isEmpty(info.getString(key))
@@ -171,13 +140,4 @@ public class BindingConfigMenuListener extends AbstractServiceApiListener {
 
 
         throw new IllegalArgumentException("未找到组件编码为【" + flowComponent + "】数据");
         throw new IllegalArgumentException("未找到组件编码为【" + flowComponent + "】数据");
     }
     }
-
-
-    public IMenuInnerServiceSMO getMenuInnerServiceSMOImpl() {
-        return menuInnerServiceSMOImpl;
-    }
-
-    public void setMenuInnerServiceSMOImpl(IMenuInnerServiceSMO menuInnerServiceSMOImpl) {
-        this.menuInnerServiceSMOImpl = menuInnerServiceSMOImpl;
-    }
 }
 }

+ 18 - 69
service-api/src/main/java/com/java110/api/listener/login/AdminLoginPropertyListener.java

@@ -1,25 +1,10 @@
-/*
- * Copyright 2017-2021 吴学文 and java110 team.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.java110.api.listener.login;
+package com.java110.user.cmd.login;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.listener.AbstractServiceApiDataFlowListener;
-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.AuthenticationFactory;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.store.StoreUserDto;
 import com.java110.dto.store.StoreUserDto;
@@ -31,15 +16,12 @@ import com.java110.intf.user.IUserLoginInnerServiceSMO;
 import com.java110.po.userLogin.UserLoginPo;
 import com.java110.po.userLogin.UserLoginPo;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.constant.ResponseConstant;
 import com.java110.utils.constant.ResponseConstant;
-import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.exception.SMOException;
 import com.java110.utils.exception.SMOException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.vo.ResultVo;
 import com.java110.vo.ResultVo;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
 
 
@@ -47,15 +29,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
-/**
- * 用户注册 侦听
- * Created by wuxw on 2018/5/18.
- */
-@Java110Listener("adminLoginPropertyListener")
-public class AdminLoginPropertyListener extends AbstractServiceApiDataFlowListener {
-
-    private final static Logger logger = LoggerFactory.getLogger(AdminLoginPropertyListener.class);
-
+@Java110Cmd(serviceCode = "login.adminLoginProperty")
+public class AdminLoginPropertyCmd extends Cmd {
 
 
     @Autowired
     @Autowired
     private IUserLoginInnerServiceSMO userLoginInnerServiceSMOImpl;
     private IUserLoginInnerServiceSMO userLoginInnerServiceSMOImpl;
@@ -67,47 +42,23 @@ public class AdminLoginPropertyListener extends AbstractServiceApiDataFlowListen
     private IStoreInnerServiceSMO storeInnerServiceSMOImpl;
     private IStoreInnerServiceSMO storeInnerServiceSMOImpl;
 
 
     @Override
     @Override
-    public String getServiceCode() {
-        return ServiceCodeConstant.SERVICE_CODE_ADMIN_LOGIN_PROPERTY;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-
-    @Override
-    public int getOrder() {
-        return 0;
-    }
-
-    private void validate(JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "username", "未包含需要登录的用户名");
         Assert.hasKeyAndValue(reqJson, "username", "未包含需要登录的用户名");
         Assert.hasKeyAndValue(reqJson, "userId", "未包含需要登录的用户ID");
         Assert.hasKeyAndValue(reqJson, "userId", "未包含需要登录的用户ID");
         Assert.hasKeyAndValue(reqJson, "curPasswd", "未包含当前用户的密码");
         Assert.hasKeyAndValue(reqJson, "curPasswd", "未包含当前用户的密码");
         Assert.hasKeyAndValue(reqJson, "curUserName", "未包含当前用户的用户名");
         Assert.hasKeyAndValue(reqJson, "curUserName", "未包含当前用户的用户名");
     }
     }
 
 
-
-    /**
-     * @param event
-     */
     @Override
     @Override
-    public void soService(ServiceDataFlowEvent event) {
-        //获取数据上下文对象
-        DataFlowContext dataFlowContext = event.getDataFlowContext();
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         ResponseEntity<String> responseEntity = null;
         ResponseEntity<String> responseEntity = null;
-        JSONObject paramIn = JSONObject.parseObject(dataFlowContext.getReqData());
-        validate(paramIn);
-
         UserDto userDto = new UserDto();
         UserDto userDto = new UserDto();
-        userDto.setUserName(paramIn.getString("curUserName"));
-        userDto.setPassword(paramIn.getString("curPasswd"));
+        userDto.setUserName(reqJson.getString("curUserName"));
+        userDto.setPassword(reqJson.getString("curPasswd"));
         List<UserDto> userDtos = userInnerServiceSMOImpl.getUsers(userDto);
         List<UserDto> userDtos = userInnerServiceSMOImpl.getUsers(userDto);
 
 
         if (userDtos == null || userDtos.size() < 1) {
         if (userDtos == null || userDtos.size() < 1) {
-            dataFlowContext.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_UNAUTHORIZED, "用户或密码错误"));
+            context.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_UNAUTHORIZED, "用户或密码错误"));
             return;
             return;
         }
         }
 
 
@@ -118,14 +69,14 @@ public class AdminLoginPropertyListener extends AbstractServiceApiDataFlowListen
         List<StoreUserDto> storeUserDtos = storeInnerServiceSMOImpl.getStoreUserInfo(storeUserDto);
         List<StoreUserDto> storeUserDtos = storeInnerServiceSMOImpl.getStoreUserInfo(storeUserDto);
 
 
         if (storeUserDtos == null || storeUserDtos.size() < 1) {
         if (storeUserDtos == null || storeUserDtos.size() < 1) {
-            dataFlowContext.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_UNAUTHORIZED, "当前用户不是运营团队 不能免登录"));
+            context.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_UNAUTHORIZED, "当前用户不是运营团队 不能免登录"));
             return;
             return;
         }
         }
 
 
         // 校验 需要登录的物业账号是否存在
         // 校验 需要登录的物业账号是否存在
         userDto = new UserDto();
         userDto = new UserDto();
-        userDto.setUserId(paramIn.getString("userId"));
-        userDto.setUserName(paramIn.getString("username"));
+        userDto.setUserId(reqJson.getString("userId"));
+        userDto.setUserName(reqJson.getString("username"));
         userDtos = userInnerServiceSMOImpl.getUsers(userDto);
         userDtos = userInnerServiceSMOImpl.getUsers(userDto);
 
 
         Assert.listOnlyOne(userDtos, "物业账号不存在");
         Assert.listOnlyOne(userDtos, "物业账号不存在");
@@ -137,7 +88,7 @@ public class AdminLoginPropertyListener extends AbstractServiceApiDataFlowListen
         storeUserDtos = storeInnerServiceSMOImpl.getStoreUserInfo(storeUserDto);
         storeUserDtos = storeInnerServiceSMOImpl.getStoreUserInfo(storeUserDto);
 
 
         if (storeUserDtos == null || storeUserDtos.size() < 1) {
         if (storeUserDtos == null || storeUserDtos.size() < 1) {
-            dataFlowContext.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_UNAUTHORIZED, "需要免密登录的账号不是物业账号"));
+            context.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_UNAUTHORIZED, "需要免密登录的账号不是物业账号"));
             return;
             return;
         }
         }
 
 
@@ -161,11 +112,9 @@ public class AdminLoginPropertyListener extends AbstractServiceApiDataFlowListen
             userLoginPo.setUserName(userInfo.getString("userName"));
             userLoginPo.setUserName(userInfo.getString("userName"));
             userLoginInnerServiceSMOImpl.saveUserLogin(userLoginPo);
             userLoginInnerServiceSMOImpl.saveUserLogin(userLoginPo);
             responseEntity = new ResponseEntity<String>(userInfo.toJSONString(), HttpStatus.OK);
             responseEntity = new ResponseEntity<String>(userInfo.toJSONString(), HttpStatus.OK);
-            dataFlowContext.setResponseEntity(responseEntity);
+            context.setResponseEntity(responseEntity);
         } catch (Exception e) {
         } catch (Exception e) {
-            logger.error("登录异常:", e);
             throw new SMOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "系统内部错误,请联系管理员");
             throw new SMOException(ResponseConstant.RESULT_CODE_INNER_ERROR, "系统内部错误,请联系管理员");
         }
         }
     }
     }
-
 }
 }