Bläddra i källkod

加入 HC掌上物业 登录接口

wuxw 6 år sedan
förälder
incheckning
2604490a7e

+ 5 - 0
Api/src/main/java/com/java110/api/listener/complaint/ListComplaintsListener.java

@@ -5,6 +5,7 @@ import com.java110.api.listener.AbstractServiceApiListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.smo.complaint.IComplaintInnerServiceSMO;
+import com.java110.core.smo.room.IRoomInnerServiceSMO;
 import com.java110.dto.complaint.ComplaintDto;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodeComplaintConstant;
@@ -30,6 +31,9 @@ public class ListComplaintsListener extends AbstractServiceApiListener {
     @Autowired
     private IComplaintInnerServiceSMO complaintInnerServiceSMOImpl;
 
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+
     @Override
     public String getServiceCode() {
         return ServiceCodeComplaintConstant.LIST_COMPLAINTS;
@@ -87,4 +91,5 @@ public class ListComplaintsListener extends AbstractServiceApiListener {
         context.setResponseEntity(responseEntity);
 
     }
+
 }

+ 59 - 0
AppFrontService/src/main/java/com/java110/app/controller/PropertyAppLoginController.java

@@ -0,0 +1,59 @@
+package com.java110.app.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.app.smo.propertyLogin.impl.wxLogin.IPropertyAppLoginSMO;
+import com.java110.app.smo.wxLogin.IWxLoginSMO;
+import com.java110.core.base.controller.BaseController;
+import com.java110.core.context.IPageData;
+import com.java110.core.context.PageData;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * 微信小程序登录处理类
+ */
+@RestController
+@RequestMapping(path = "/app")
+public class PropertyAppLoginController extends BaseController {
+    private final static Logger logger = LoggerFactory.getLogger(PropertyAppLoginController.class);
+
+    @Autowired
+    private IPropertyAppLoginSMO propertyAppLoginSMOImpl;
+
+
+    /**
+     * 微信登录接口
+     *
+     * @param postInfo
+     * @param request
+     */
+    @RequestMapping(path = "/loginProperty", method = RequestMethod.POST)
+    public ResponseEntity<String> loginProperty(@RequestBody String postInfo, HttpServletRequest request) {
+        ResponseEntity<String> responseEntity = null;
+        JSONObject postObj = JSONObject.parseObject(postInfo);
+        String code = JSONObject.parseObject(postInfo).getString("code");
+        JSONObject userInfo = postObj.getJSONObject("userInfo");
+        if (code == null || userInfo == null) {
+            logger.error("code is null");
+            responseEntity = new ResponseEntity<>("code is null", HttpStatus.BAD_REQUEST);
+            return responseEntity;
+        }
+
+        /*IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);*/
+        IPageData pd = PageData.newInstance().builder("", "","", postInfo,
+                "", "", "", "",
+                request.getHeader("APP_ID"));
+
+        return propertyAppLoginSMOImpl.doLogin(pd);
+    }
+
+}

+ 22 - 0
AppFrontService/src/main/java/com/java110/app/smo/propertyLogin/impl/wxLogin/IPropertyAppLoginSMO.java

@@ -0,0 +1,22 @@
+package com.java110.app.smo.propertyLogin.impl.wxLogin;
+
+import com.java110.core.context.IPageData;
+import com.java110.utils.exception.SMOException;
+import org.springframework.http.ResponseEntity;
+
+/**
+ * 组织管理管理服务接口类
+ * <p>
+ * add by wuxw 2019-06-29
+ */
+public interface IPropertyAppLoginSMO {
+
+    /**
+     * 获取微信回话信息
+     *
+     * @param pd 页面数据封装
+     * @return ResponseEntity 对象数据
+     * @throws SMOException 业务代码层
+     */
+    ResponseEntity<String> doLogin(IPageData pd) throws SMOException;
+}

+ 112 - 0
AppFrontService/src/main/java/com/java110/app/smo/propertyLogin/impl/wxLogin/impl/PropertyAppLoginSMOImpl.java

@@ -0,0 +1,112 @@
+package com.java110.app.smo.propertyLogin.impl.wxLogin.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.app.properties.WechatAuthProperties;
+import com.java110.app.smo.AppAbstractComponentSMO;
+import com.java110.app.smo.propertyLogin.impl.wxLogin.IPropertyAppLoginSMO;
+import com.java110.core.context.IPageData;
+import com.java110.core.context.PageData;
+import com.java110.core.factory.AuthenticationFactory;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.constant.ServiceConstant;
+import com.java110.utils.exception.SMOException;
+import com.java110.utils.util.Assert;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+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.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * wx登录
+ */
+@Service("propertyAppLoginSMOImpl")
+public class PropertyAppLoginSMOImpl extends AppAbstractComponentSMO implements IPropertyAppLoginSMO {
+
+    private final static Logger logger = LoggerFactory.getLogger(PropertyAppLoginSMOImpl.class);
+
+    @Autowired
+    private RestTemplate restTemplate;
+
+    @Override
+    public ResponseEntity<String> doLogin(IPageData pd) throws SMOException {
+        return businessProcess(pd);
+    }
+
+    @Override
+    protected void validate(IPageData pd, JSONObject paramIn) {
+
+        //super.validatePageInfo(pd);
+
+        Assert.hasKeyAndValue(paramIn, "code", "请求报文中未包含code信息");
+        //super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.LIST_ORG);
+    }
+
+    @Override
+    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
+
+        logger.debug("doLogin入参:" + paramIn.toJSONString());
+        ResponseEntity<String> responseEntity;
+
+        Assert.jsonObjectHaveKey(pd.getReqData(),"username","请求报文格式错误或未包含username信息");
+        JSONObject loginInfo = JSONObject.parseObject(pd.getReqData());
+
+        //调用 验证码组件验证码是否正确
+        responseEntity = this.invokeComponent("validate-code","validate",pd);
+        if(responseEntity.getStatusCode() != HttpStatus.OK){
+            return responseEntity;
+        }
+
+        loginInfo.put("passwd", AuthenticationFactory.passwdMd5(loginInfo.getString("passwd")));
+        responseEntity = this.callCenterService(restTemplate,pd,loginInfo.toJSONString(), "http://api.java110.com:8008/api/user.service.login",HttpMethod.POST);
+        if(responseEntity.getStatusCode() != HttpStatus.OK){
+            return responseEntity;
+        }
+
+        JSONObject userInfo = JSONObject.parseObject(responseEntity.getBody());
+
+        //根据用户查询商户信息
+        String userId = userInfo.getString("userId");
+
+        pd = PageData.newInstance().builder(userId, "","", pd.getReqData(),
+                "", "", "", "",
+                pd.getAppId());
+        responseEntity = super.getStoreInfo(pd, restTemplate);
+
+        if(responseEntity.getStatusCode() != HttpStatus.OK){
+            return responseEntity;
+        }
+
+        JSONObject storeInfo = JSONObject.parseObject(responseEntity.getBody().toString());
+
+        Assert.jsonObjectHaveKey(storeInfo, "storeId", "根据员工未查到商户信息");
+        Assert.jsonObjectHaveKey(storeInfo, "storeTypeCd", "根据员工未查到商户类型信息");
+        userInfo.put("storeId",storeInfo.getString("storeId"));
+        userInfo.put("storeTypeCd",storeInfo.getString("storeTypeCd"));
+        JSONObject paramOut = new JSONObject();
+        paramOut.put("result", 0);
+        paramOut.put("userInfo", userInfo);
+        paramOut.put("token", userInfo.getString("token"));
+        pd.setToken(JSONObject.parseObject(responseEntity.getBody()).getString("token"));
+
+        return responseEntity;
+    }
+
+    public RestTemplate getRestTemplate() {
+        return restTemplate;
+    }
+
+    public void setRestTemplate(RestTemplate restTemplate) {
+        this.restTemplate = restTemplate;
+    }
+
+}

+ 2 - 1
java110-front/src/main/java/com/java110/front/configuration/ServiceConfiguration.java

@@ -24,7 +24,8 @@ public class ServiceConfiguration {
         exclusions.append("/callComponent/download/getFile/file,");//放开 下载图片也不需要登录
         exclusions.append("/callComponent/download/getFile/fileByObjId,");//放开 下载图片也不需要登录
         exclusions.append("/app/payment/notify,");//微信支付通知
-        exclusions.append("/app/loginWx");// 登录跳过
+        exclusions.append("/app/loginWx,");// 登录跳过
+        exclusions.append("/app/loginProperty");// 物业APP登录跳过
         final FilterRegistrationBean registrationBean = new FilterRegistrationBean();
         registrationBean.setFilter(new JwtFilter());
         registrationBean.addUrlPatterns("/");