package com.java110.api.listener.user; 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.core.event.service.api.ServiceDataFlowEvent; import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.dto.user.UserAttrDto; import com.java110.dto.user.UserDto; import com.java110.utils.constant.ServiceCodeConstant; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import java.util.List; /** * 这个类专门查询用户秘钥信息 */ @Java110Listener("queryUserSecretListener") public class QueryUserSecretListener extends AbstractServiceApiListener { @Autowired private IUserInnerServiceSMO userInnerServiceSMOImpl; @Override public String getServiceCode() { return ServiceCodeConstant.QUERY_USER_SECRET; } @Override public HttpMethod getHttpMethod() { return HttpMethod.GET; } public IUserInnerServiceSMO getUserInnerServiceSMOImpl() { return userInnerServiceSMOImpl; } public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) { this.userInnerServiceSMOImpl = userInnerServiceSMOImpl; } @Override protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) { //super.validatePageInfo(reqJson); Assert.hasKeyAndValue(reqJson, "userId", "请求报文中未包含用户ID"); } @Override protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) { ResponseEntity responseEntity = null; UserDto userDto = BeanConvertUtil.covertBean(reqJson, UserDto.class); List userDtos = userInnerServiceSMOImpl.getUsers(userDto); if (userDtos == null || userDtos.size() < 1) { responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "未找到用户信息"); context.setResponseEntity(responseEntity); return; } userDto = userDtos.get(0); List userAttrDtos = userDto.getUserAttrs(); String key = ""; String openId = ""; for (UserAttrDto userAttrDto : userAttrDtos) { if (UserAttrDto.SPEC_KEY.equals(userAttrDto.getSpecCd())) { key = userAttrDto.getValue(); } if (UserAttrDto.SPEC_OPEN_ID.equals(userAttrDto.getSpecCd())) { openId = userAttrDto.getValue(); } } userDto.setKey(key); userDto.setOpenId(openId); responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_OK, "成功", userDto); context.setResponseEntity(responseEntity); } }