Quellcode durchsuchen

优化 申请钥匙 修改为cmd 适配 spring boot 版

wuxw vor 3 Jahren
Ursprung
Commit
9ecc0b70cb

+ 0 - 159
service-api/src/main/java/com/java110/api/listener/applicationKey/ApplyApplicationKeyListener.java

@@ -1,159 +0,0 @@
-package com.java110.api.listener.applicationKey;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.applicationKey.IApplicationKeyBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.core.factory.SendSmsFactory;
-import com.java110.intf.common.ISmsInnerServiceSMO;
-import com.java110.intf.community.ICommunityInnerServiceSMO;
-import com.java110.intf.common.IFileInnerServiceSMO;
-import com.java110.intf.common.IMachineInnerServiceSMO;
-import com.java110.dto.file.FileDto;
-import com.java110.dto.msg.SmsDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.cache.MappingCache;
-import com.java110.utils.constant.ServiceCodeApplicationKeyConstant;
-import com.java110.utils.util.Assert;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-import java.util.Random;
-
-/**
- * 钥匙申请
- * add by wuxw 2019-06-30
- */
-@Java110Listener("applyApplicationKeyListener")
-public class ApplyApplicationKeyListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
-
-    @Autowired
-    private IApplicationKeyBMO applicationKeyBMOImpl;
-
-    @Autowired
-    private ISmsInnerServiceSMO smsInnerServiceSMOImpl;
-
-    @Autowired
-    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
-
-    @Autowired
-    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
-
-        Assert.hasKeyAndValue(reqJson, "name", "必填,请填写姓名");
-        Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区");
-        Assert.hasKeyAndValue(reqJson, "tel", "必填,请填写手机号");
-        Assert.hasKeyAndValue(reqJson, "typeCd", "必填,请选择用户类型");
-        Assert.hasKeyAndValue(reqJson, "sex", "必填,请选择性别");
-        Assert.hasKeyAndValue(reqJson, "age", "必填,请填写年龄");
-        Assert.hasKeyAndValue(reqJson, "idCard", "必填,请填写身份证号");
-        Assert.hasKeyAndValue(reqJson, "startTime", "必填,请选择开始时间");
-        Assert.hasKeyAndValue(reqJson, "endTime", "必填,请选择结束时间");
-        Assert.hasKeyAndValue(reqJson, "machineIds", "必填,请填写设备信息");
-        Assert.hasKeyAndValue(reqJson, "photos", "必填,未包含身份证信息");
-        Assert.hasKeyAndValue(reqJson, "typeFlag", "必填,未包含密码类型");
-
-        SmsDto smsDto = new SmsDto();
-        smsDto.setTel(reqJson.getString("tel"));
-        smsDto.setCode(reqJson.getString("msgCode"));
-        smsDto = smsInnerServiceSMOImpl.validateCode(smsDto);
-
-        if (!smsDto.isSuccess() && "ON".equals(MappingCache.getValue(SendSmsFactory.SMS_SEND_SWITCH))) {
-            throw new IllegalArgumentException(smsDto.getMsg());
-        }
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-
-        JSONArray machineIds = reqJson.getJSONArray("machineIds");
-        reqJson.put("pwd", getRandom());
-        for (int machineIndex = 0; machineIndex < machineIds.size(); machineIndex++) {
-            //添加单元信息
-            reqJson.put("machineId", machineIds.getJSONObject(machineIndex).getString("machineId"));
-            //reqJson.put("applicationKeyId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applicationKeyId));
-            applicationKeyBMOImpl.addApplicationKey(reqJson, context);
-            if (reqJson.containsKey("photos")) {
-                JSONArray photos = reqJson.getJSONArray("photos");
-                for (int photoIndex = 0; photoIndex < photos.size(); photoIndex++) {
-
-                    FileDto fileDto = new FileDto();
-                    fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
-                    fileDto.setFileName(fileDto.getFileId());
-                    fileDto.setContext(photos.getJSONObject(photoIndex).getString("photo"));
-                    fileDto.setSuffix("jpeg");
-                    fileDto.setCommunityId(reqJson.getString("communityId"));
-                    String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
-
-                    reqJson.put("applicationKeyPhotoId", fileDto.getFileId());
-                    reqJson.put("fileSaveName", fileName);
-
-                    applicationKeyBMOImpl.addPhoto(reqJson, context);
-                }
-            }
-        }
-
-        applicationKeyBMOImpl.addMsg(reqJson, context);
-
-    }
-
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeApplicationKeyConstant.APPLY_APPLICATIONKEY;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-
-    /**
-     * 获取随机数
-     *
-     * @return
-     */
-    private static String getRandom() {
-        Random random = new Random();
-        String result = "";
-        for (int i = 0; i < 6; i++) {
-            result += (random.nextInt(9) + 1);;
-        }
-        return result;
-    }
-
-
-    public IMachineInnerServiceSMO getMachineInnerServiceSMOImpl() {
-        return machineInnerServiceSMOImpl;
-    }
-
-    public void setMachineInnerServiceSMOImpl(IMachineInnerServiceSMO machineInnerServiceSMOImpl) {
-        this.machineInnerServiceSMOImpl = machineInnerServiceSMOImpl;
-    }
-
-
-    public IFileInnerServiceSMO getFileInnerServiceSMOImpl() {
-        return fileInnerServiceSMOImpl;
-    }
-
-    public void setFileInnerServiceSMOImpl(IFileInnerServiceSMO fileInnerServiceSMOImpl) {
-        this.fileInnerServiceSMOImpl = fileInnerServiceSMOImpl;
-    }
-}

+ 0 - 108
service-api/src/main/java/com/java110/api/listener/applicationKey/AuditApplicationKeyListener.java

@@ -1,108 +0,0 @@
-package com.java110.api.listener.applicationKey;
-
-import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.applicationKey.IApplicationKeyBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
-import com.java110.core.context.DataFlowContext;
-import com.java110.intf.common.IApplicationKeyInnerServiceSMO;
-import com.java110.intf.common.IMachineInnerServiceSMO;
-import com.java110.dto.machine.ApplicationKeyDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.po.applicationKey.ApplicationKeyPo;
-import com.java110.utils.constant.BusinessTypeConstant;
-import com.java110.utils.constant.ServiceCodeApplicationKeyConstant;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
-
-import java.util.List;
-
-/**
- * 保存钥匙申请侦听
- * add by wuxw 2019-06-30
- */
-@Java110Listener("auditApplicationKeyListener")
-public class AuditApplicationKeyListener extends AbstractServiceApiPlusListener {
-
-    @Autowired
-    private IApplicationKeyBMO applicationKeyBMOImpl;
-    @Autowired
-    private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
-
-    @Autowired
-    private IApplicationKeyInnerServiceSMO applicationKeyInnerServiceSMOImpl;
-
-    @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-
-        Assert.hasKeyAndValue(reqJson, "applicationKeyId", "钥匙申请ID不能为空");
-        Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区");
-        Assert.hasKeyAndValue(reqJson, "state", "必填,请填写审核状态");
-        Assert.hasKeyAndValue(reqJson, "remark", "必填,请填写审核原因");
-
-    }
-
-    @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
-
-        //添加单元信息
-        updateApplicationKey(reqJson, context);
-
-    }
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeApplicationKeyConstant.AUDIT_APPLICATIONKEY;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
-    }
-
-
-    /**
-     * 添加钥匙申请信息
-     *
-     * @param paramInJson     接口调用放传入入参
-     * @param dataFlowContext 数据上下文
-     * @return 订单服务能够接受的报文
-     */
-    private void updateApplicationKey(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-        //根据位置id 和 位置对象查询相应 设备ID
-
-        ApplicationKeyDto applicationKeyDto = new ApplicationKeyDto();
-        applicationKeyDto.setApplicationKeyId(paramInJson.getString("applicationKeyId"));
-        applicationKeyDto.setCommunityId(paramInJson.getString("communityId"));
-        List<ApplicationKeyDto> applicationKeyDtos = applicationKeyInnerServiceSMOImpl.queryApplicationKeys(applicationKeyDto);
-        Assert.listOnlyOne(applicationKeyDtos, "未找到申请记录或找到多条记录");
-
-        ApplicationKeyPo applicationKeyPo = BeanConvertUtil.covertBean(applicationKeyDtos.get(0), ApplicationKeyPo.class);
-        applicationKeyPo.setState("1100".equals(paramInJson.getString("state")) ? "10001" : "10003");
-        super.update(dataFlowContext, applicationKeyPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_APPLICATION_KEY);
-
-    }
-
-    public IMachineInnerServiceSMO getMachineInnerServiceSMOImpl() {
-        return machineInnerServiceSMOImpl;
-    }
-
-    public void setMachineInnerServiceSMOImpl(IMachineInnerServiceSMO machineInnerServiceSMOImpl) {
-        this.machineInnerServiceSMOImpl = machineInnerServiceSMOImpl;
-    }
-
-    public IApplicationKeyInnerServiceSMO getApplicationKeyInnerServiceSMOImpl() {
-        return applicationKeyInnerServiceSMOImpl;
-    }
-
-    public void setApplicationKeyInnerServiceSMOImpl(IApplicationKeyInnerServiceSMO applicationKeyInnerServiceSMOImpl) {
-        this.applicationKeyInnerServiceSMOImpl = applicationKeyInnerServiceSMOImpl;
-    }
-}

+ 201 - 0
service-common/src/main/java/com/java110/common/cmd/applicationKey/ApplyApplicationKeyCmd.java

@@ -0,0 +1,201 @@
+package com.java110.common.cmd.applicationKey;
+
+import com.alibaba.fastjson.JSONArray;
+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.GenerateCodeFactory;
+import com.java110.core.factory.SendSmsFactory;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.machine.MachineDto;
+import com.java110.dto.msg.SmsDto;
+import com.java110.intf.common.*;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.po.applicationKey.ApplicationKeyPo;
+import com.java110.po.file.FileRelPo;
+import com.java110.po.message.MsgPo;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.Calendar;
+import java.util.List;
+import java.util.Random;
+
+@Java110Cmd(serviceCode = "applicationKey.applyApplicationKey")
+public class ApplyApplicationKeyCmd extends Cmd{
+
+
+    @Autowired
+    private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
+
+    @Autowired
+    private ISmsInnerServiceSMO smsInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+    @Autowired
+    private IApplicationKeyV1InnerServiceSMO applicationKeyV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+//Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
+
+        Assert.hasKeyAndValue(reqJson, "name", "必填,请填写姓名");
+        Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区");
+        Assert.hasKeyAndValue(reqJson, "tel", "必填,请填写手机号");
+        Assert.hasKeyAndValue(reqJson, "typeCd", "必填,请选择用户类型");
+        Assert.hasKeyAndValue(reqJson, "sex", "必填,请选择性别");
+        Assert.hasKeyAndValue(reqJson, "age", "必填,请填写年龄");
+        Assert.hasKeyAndValue(reqJson, "idCard", "必填,请填写身份证号");
+        Assert.hasKeyAndValue(reqJson, "startTime", "必填,请选择开始时间");
+        Assert.hasKeyAndValue(reqJson, "endTime", "必填,请选择结束时间");
+        Assert.hasKeyAndValue(reqJson, "machineIds", "必填,请填写设备信息");
+        Assert.hasKeyAndValue(reqJson, "photos", "必填,未包含身份证信息");
+        Assert.hasKeyAndValue(reqJson, "typeFlag", "必填,未包含密码类型");
+
+        SmsDto smsDto = new SmsDto();
+        smsDto.setTel(reqJson.getString("tel"));
+        smsDto.setCode(reqJson.getString("msgCode"));
+        smsDto = smsInnerServiceSMOImpl.validateCode(smsDto);
+
+        if (!smsDto.isSuccess() && "ON".equals(MappingCache.getValue(SendSmsFactory.SMS_SEND_SWITCH))) {
+            throw new IllegalArgumentException(smsDto.getMsg());
+        }
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+        JSONArray machineIds = reqJson.getJSONArray("machineIds");
+        reqJson.put("pwd", getRandom());
+        for (int machineIndex = 0; machineIndex < machineIds.size(); machineIndex++) {
+            //添加单元信息
+            reqJson.put("machineId", machineIds.getJSONObject(machineIndex).getString("machineId"));
+            //reqJson.put("applicationKeyId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applicationKeyId));
+            addApplicationKey(reqJson);
+            if (reqJson.containsKey("photos")) {
+                JSONArray photos = reqJson.getJSONArray("photos");
+                for (int photoIndex = 0; photoIndex < photos.size(); photoIndex++) {
+
+                    FileDto fileDto = new FileDto();
+                    fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                    fileDto.setFileName(fileDto.getFileId());
+                    fileDto.setContext(photos.getJSONObject(photoIndex).getString("photo"));
+                    fileDto.setSuffix("jpeg");
+                    fileDto.setCommunityId(reqJson.getString("communityId"));
+                    String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+
+                    reqJson.put("applicationKeyPhotoId", fileDto.getFileId());
+                    reqJson.put("fileSaveName", fileName);
+
+                    addPhoto(reqJson);
+                }
+            }
+        }
+
+      addMsg(reqJson);
+    }
+
+    /**
+     * 获取随机数
+     *
+     * @return
+     */
+    private static String getRandom() {
+        Random random = new Random();
+        String result = "";
+        for (int i = 0; i < 6; i++) {
+            result += (random.nextInt(9) + 1);;
+        }
+        return result;
+    }
+
+    /**
+     * 添加小区信息
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @return 订单服务能够接受的报文
+     */
+    public void addApplicationKey(JSONObject paramInJson) {
+
+        String applicationKeyId = GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applicationKeyId);
+        paramInJson.put("applicationKeyId", applicationKeyId);
+        //根据位置id 和 位置对象查询相应 设备ID
+        if (!paramInJson.containsKey("machineId")) {
+            MachineDto machineDto = new MachineDto();
+            machineDto.setLocationObjId(paramInJson.getString("locationObjId"));
+            machineDto.setLocationTypeCd(paramInJson.getString("locationTypeCd"));
+            List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
+            Assert.listOnlyOne(machineDtos, "该位置还没有相应的门禁设备");
+            paramInJson.put("machineId", machineDtos.get(0).getMachineId());
+        }
+
+        ApplicationKeyPo applicationKeyPo = BeanConvertUtil.covertBean(paramInJson, ApplicationKeyPo.class);
+        applicationKeyPo.setApplicationKeyId(applicationKeyId);
+        applicationKeyPo.setState("10002");
+        applicationKeyPo.setPwd(this.getRandom());
+        if ("1100103".equals(paramInJson.getString("typeFlag"))) { // 临时访问密码,只设置成24小时
+            Calendar calendar = Calendar.getInstance();
+            calendar.add(Calendar.HOUR, 24);
+            applicationKeyPo.setEndTime(DateUtil.getFormatTimeString(calendar.getTime(), DateUtil.DATE_FORMATE_STRING_A));
+        }
+        int flag = applicationKeyV1InnerServiceSMOImpl.saveApplicationKey(applicationKeyPo);
+        if(flag < 1){
+            throw new CmdException("申请钥匙失败");
+        }
+    }
+
+
+    /**
+     * 添加物业费用
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @return 订单服务能够接受的报文
+     */
+    public void addPhoto(JSONObject paramInJson) {
+
+
+        JSONObject businessUnit = new JSONObject();
+        businessUnit.put("fileRelId", "-1");
+        businessUnit.put("relTypeCd", "60000");
+        businessUnit.put("saveWay", "table");
+        businessUnit.put("objId", paramInJson.getString("applicationKeyId"));
+        businessUnit.put("fileRealName", paramInJson.getString("applicationKeyPhotoId"));
+        businessUnit.put("fileSaveName", paramInJson.getString("fileSaveName"));
+        FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
+
+
+        int flag = fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
+
+        if(flag < 1){
+            throw new CmdException("申请钥匙失败");
+        }
+    }
+
+    public void addMsg(JSONObject paramInJson) {
+        MsgPo msgPo = new MsgPo();
+        msgPo.setMsgId("-1");
+        msgPo.setMsgType("10002");
+        msgPo.setTitle("您有一条钥匙审核单");
+        msgPo.setUrl("/admin.html#/pages/property/auditApplicationKey");
+        msgPo.setViewObjId(paramInJson.getString("storeId"));
+        msgPo.setViewTypeCd("30000");
+        //super.insert(context, msgPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_MSG);
+    }
+}

+ 40 - 48
service-api/src/main/java/com/java110/api/listener/applicationKey/ApplyVisitorApplicationKey.java

@@ -1,20 +1,22 @@
-package com.java110.api.listener.applicationKey;
+package com.java110.common.cmd.applicationKey;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.api.bmo.applicationKey.IApplicationKeyBMO;
-import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.core.annotation.Java110Listener;
+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.GenerateCodeFactory;
-import com.java110.intf.common.IApplicationKeyInnerServiceSMO;
 import com.java110.dto.machine.ApplicationKeyDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.utils.constant.ServiceCodeApplicationKeyConstant;
+import com.java110.intf.common.IApplicationKeyInnerServiceSMO;
+import com.java110.intf.common.IApplicationKeyV1InnerServiceSMO;
+import com.java110.po.applicationKey.ApplicationKeyPo;
+import com.java110.utils.constant.BusinessTypeConstant;
+import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
@@ -23,25 +25,24 @@ import java.util.Date;
 import java.util.List;
 import java.util.Random;
 
-/**
- * 生成访客密码
- */
-@Java110Listener("applyVisitorApplicationKey")
-public class ApplyVisitorApplicationKey extends AbstractServiceApiPlusListener {
+@Java110Cmd(serviceCode = "applicationKey.applyVisitorApplicationKey")
+public class ApplyVisitorApplicationKeyCmd extends Cmd {
 
-    @Autowired
-    private IApplicationKeyBMO applicationKeyBMOImpl;
     @Autowired
     private IApplicationKeyInnerServiceSMO applicationKeyInnerServiceSMOImpl;
 
+    @Autowired
+    private IApplicationKeyV1InnerServiceSMO applicationKeyV1InnerServiceSMOImpl;
+
     @Override
-    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
         Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区");
         Assert.hasKeyAndValue(reqJson, "idCard", "必填,请填写身份证号");
     }
 
     @Override
-    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
 
         ResponseEntity<String> responseEntity = null;
         ApplicationKeyDto applicationKeyDto = new ApplicationKeyDto();
@@ -84,15 +85,9 @@ public class ApplyVisitorApplicationKey extends AbstractServiceApiPlusListener {
             reqJson.put("endTime", endTime);
             reqJson.put("applicationKeyId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applicationKeyId));
             reqJson.put("pwd", pwd);
-            applicationKeyBMOImpl.addApplicationVisitKey(reqJson, context);
+            addApplicationVisitKey(reqJson);
         }
 
-        super.commit(context);
-
-        if (responseEntity.getStatusCode() != HttpStatus.OK) {
-            context.setResponseEntity(responseEntity);
-            return;
-        }
 
         JSONObject resObj = new JSONObject();
         resObj.put("pwd", reqJson.getString("pwd"));
@@ -100,23 +95,27 @@ public class ApplyVisitorApplicationKey extends AbstractServiceApiPlusListener {
 
         responseEntity = new ResponseEntity<>(resObj.toJSONString(), HttpStatus.OK);
         context.setResponseEntity(responseEntity);
-
     }
 
-
-    @Override
-    public String getServiceCode() {
-        return ServiceCodeApplicationKeyConstant.APPLY_VISITOR_APPLICATION_KEY;
-    }
-
-    @Override
-    public HttpMethod getHttpMethod() {
-        return HttpMethod.POST;
-    }
-
-    @Override
-    public int getOrder() {
-        return DEFAULT_ORDER;
+    /**
+     * 添加小区信息
+     *
+     * @param paramInJson 接口调用放传入入参
+     * @return 订单服务能够接受的报文
+     */
+    public void addApplicationVisitKey(JSONObject paramInJson) {
+
+        //查询 是否住户密码已经审核完
+
+        ApplicationKeyPo applicationKeyPo = BeanConvertUtil.covertBean(paramInJson, ApplicationKeyPo.class);
+        applicationKeyPo.setApplicationKeyId(paramInJson.getString("applicationKeyId"));
+        applicationKeyPo.setState("10001");
+        applicationKeyPo.setTypeFlag("1100103");
+        applicationKeyPo.setStartTime(DateUtil.getFormatTimeString(new Date(), DateUtil.DATE_FORMATE_STRING_A));
+        int flag = applicationKeyV1InnerServiceSMOImpl.saveApplicationKey(applicationKeyPo);
+        if (flag < 1) {
+            throw new CmdException("申请钥匙失败");
+        }
     }
 
     /**
@@ -128,16 +127,9 @@ public class ApplyVisitorApplicationKey extends AbstractServiceApiPlusListener {
         Random random = new Random();
         String result = "";
         for (int i = 0; i < 6; i++) {
-            result += (random.nextInt(9) + 1);;
+            result += (random.nextInt(9) + 1);
+            ;
         }
         return result;
     }
-
-    public IApplicationKeyInnerServiceSMO getApplicationKeyInnerServiceSMOImpl() {
-        return applicationKeyInnerServiceSMOImpl;
-    }
-
-    public void setApplicationKeyInnerServiceSMOImpl(IApplicationKeyInnerServiceSMO applicationKeyInnerServiceSMOImpl) {
-        this.applicationKeyInnerServiceSMOImpl = applicationKeyInnerServiceSMOImpl;
-    }
 }

+ 73 - 0
service-common/src/main/java/com/java110/common/cmd/applicationKey/AuditApplicationKeyCmd.java

@@ -0,0 +1,73 @@
+package com.java110.common.cmd.applicationKey;
+
+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.dto.machine.ApplicationKeyDto;
+import com.java110.intf.common.IApplicationKeyInnerServiceSMO;
+import com.java110.intf.common.IApplicationKeyV1InnerServiceSMO;
+import com.java110.intf.common.IMachineInnerServiceSMO;
+import com.java110.po.applicationKey.ApplicationKeyPo;
+import com.java110.utils.constant.BusinessTypeConstant;
+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.util.List;
+
+@Java110Cmd(serviceCode = "applicationKey.auditApplicationKey")
+public class AuditApplicationKeyCmd extends Cmd {
+
+    @Autowired
+    private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
+
+    @Autowired
+    private IApplicationKeyInnerServiceSMO applicationKeyInnerServiceSMOImpl;
+
+    @Autowired
+    private IApplicationKeyV1InnerServiceSMO applicationKeyV1InnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+        Assert.hasKeyAndValue(reqJson, "applicationKeyId", "钥匙申请ID不能为空");
+        Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区");
+        Assert.hasKeyAndValue(reqJson, "state", "必填,请填写审核状态");
+        Assert.hasKeyAndValue(reqJson, "remark", "必填,请填写审核原因");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
+
+        //添加单元信息
+        updateApplicationKey(reqJson);
+    }
+
+    /**
+     * 添加钥匙申请信息
+     *
+     * @param paramInJson 接口调用放传入入参
+     * @return 订单服务能够接受的报文
+     */
+    private void updateApplicationKey(JSONObject paramInJson) {
+        //根据位置id 和 位置对象查询相应 设备ID
+
+        ApplicationKeyDto applicationKeyDto = new ApplicationKeyDto();
+        applicationKeyDto.setApplicationKeyId(paramInJson.getString("applicationKeyId"));
+        applicationKeyDto.setCommunityId(paramInJson.getString("communityId"));
+        List<ApplicationKeyDto> applicationKeyDtos = applicationKeyInnerServiceSMOImpl.queryApplicationKeys(applicationKeyDto);
+        Assert.listOnlyOne(applicationKeyDtos, "未找到申请记录或找到多条记录");
+
+        ApplicationKeyPo applicationKeyPo = BeanConvertUtil.covertBean(applicationKeyDtos.get(0), ApplicationKeyPo.class);
+        applicationKeyPo.setState("1100".equals(paramInJson.getString("state")) ? "10001" : "10003");
+
+        int flag = applicationKeyV1InnerServiceSMOImpl.updateApplicationKey(applicationKeyPo);
+
+        if (flag < 1) {
+            throw new CmdException("申请钥匙失败");
+        }
+    }
+}

+ 73 - 0
springboot/pom.xml

@@ -34,65 +34,138 @@
             <version>4.11</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>com.java110</groupId>
+            <artifactId>java110-service</artifactId>
+            <version>${hc.version}</version>
+        </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-community</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-common</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-dev</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-fee</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-job</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-oa</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-acct</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-report</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-store</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-user</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>com.java110</groupId>
             <artifactId>service-order</artifactId>
             <version>${hc.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>java110-service</artifactId>
+                    <groupId>com.java110</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-websocket</artifactId>
         </dependency>
+
+
     </dependencies>