Commit 3b39edbb authored by litengwei's avatar litengwei

微信扫一扫代码提交

parent 58310d3c
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "ElevatorBaseInfoForWXModel", description = "")
public class ElevatorBaseInfoForWXModel {
@ApiModelProperty(value = "电梯识别码")
private String code96333;
@ApiModelProperty(value = "设备代码")
private String equCode;
@ApiModelProperty(value = "使用登记证编号")
private String useOrgCode;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "制造单位名")
private String produceUnitName;
@ApiModelProperty(value = "出厂编号")
private String factoryNum;
@ApiModelProperty(value = "所属区域")
private String area;
@ApiModelProperty(value = "使用地址")
private String address;
@ApiModelProperty(value = "单位内编号")
private String intraUnitNumber;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value="InspectionDetectionInfoModelForWX", description="")
public class InspectionDetectionInfoModelForWX {
@ApiModelProperty(value = "检验机构名称")
private String inspectOrgName;
@ApiModelProperty(value = "检验结论")
private String inspectConclusion;
@ApiModelProperty(value = "下次检验日期")
private Date nextInspectDate;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value="maintenanceRecordInfo", description="")
public class MaintenanceInfoModelForWX {
@ApiModelProperty(value = "最近维保日期")
private Date recentTime;
@ApiModelProperty(value = "维保单位")
private String meUnitName;
@ApiModelProperty(value = "维保电话")
private String me24Telephone;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "OtherEquBaseInfoForWXModel", description = "")
public class OtherEquBaseInfoForWXModel {
@ApiModelProperty(value = "设备代码")
private String equCode;
@ApiModelProperty(value = "使用登记证编号")
private String useOrgCode;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "制造单位名")
private String produceUnitName;
@ApiModelProperty(value = "出厂编号")
private String factoryNum;
@ApiModelProperty(value = "所属区域")
private String area;
@ApiModelProperty(value = "使用地址")
private String address;
@ApiModelProperty(value = "单位内编号")
private String intraUnitNumber;
}
package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.component.feign.config.TokenOperation;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.ApplicationModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.IdPasswordAuthModel;
import com.yeejoin.amos.feign.privilege.util.DesUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @author zjw
* @date 2020-03-30
*/
@RestController
@RequestMapping(value = "/api/loginBytoken")
@Api(tags = "通过userName登录Api")
public class LoginController {
private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Value("${outSystem.user.password}")
private String password;
@Value("${amos.system.user.product}")
private String product;
@Value("${amos.system.user.app-key}")
private String appKey;
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(value = "通过userId登录", notes = "查询设备指标")
@GetMapping(value = "/{userId}")
synchronized public ReginParams getBindEquipment(@PathVariable("userId") String userId) throws Exception {
if (ObjectUtils.isEmpty(userId)){
throw new Exception("用户信息不存在");
}
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes()).getRequest();
String token = "wxxcxdl";
ReginParams reginParams;
reginParams = JSON.parseObject(redisTemplate.opsForValue().get(buildKey(userId, token)), ReginParams.class);
if(reginParams == null){
reginParams = getLogin(userId, token);
}else{
RequestContext.setProduct(product);
if (!TokenOperation.refresh(reginParams.getToken())) {
reginParams = getLogin(userId, token);
}
}
return reginParams;
}
private ReginParams getLogin(String userId, String token) throws Exception{
ReginParams reginParams = new ReginParams();
IdPasswordAuthModel dPasswordAuthModel = new IdPasswordAuthModel();
dPasswordAuthModel.setLoginId(userId);
dPasswordAuthModel.setPassword(DesUtil.encode(password, "qaz"));
RequestContext.setProduct(product);
FeignClientResult feignClientResult = Privilege.authClient.idpassword(dPasswordAuthModel);
if (ObjectUtils.isEmpty(feignClientResult.getResult())){
throw new Exception("缺失登录信息");
}
// 调用平台授权接口
Map<String ,String > re = (Map<String, String>) feignClientResult.getResult();
String amosToken = re.get("token");
logger.info("应用授权开始======================================"+amosToken);
RequestContext.setToken(amosToken);
RequestContext.setProduct(product);
RequestContext.setAppKey(appKey);
List<ApplicationModel> fd = Privilege.applicationClient.queryUserService().getResult();
logger.info("应用授权结束======================================"+JSON.toJSONString(fd)+amosToken);
AgencyUserModel userModel = (AgencyUserModel) Privilege.agencyUserClient.getme().getResult();
CompanyModel companyModel = userModel.getCompanys().get(0);
reginParams.setToken(amosToken);
reginParams.setUserModel(userModel);
redisTemplate.opsForValue().set(buildKey(userId, token), JSONObject.toJSONString(reginParams),28, TimeUnit.DAYS);
return reginParams;
}
private String buildKey(String userId, String token) {
return "region_" + userId + "_" + token;
}
}
......@@ -76,6 +76,18 @@ public class TzsAppController {
}
/**
* 小程序获取设备详情-微信扫一扫
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/equipmentInfoWX")
@ApiOperation(httpMethod = "GET", value = "小程序获取设备详情", notes = "小程序获取设备详情")
public ResponseModel<Object> getEquipmentInfoWX(String record) {
return ResponseHelper.buildResponse(appService.getEquipmentInfoWX(record));
}
/**
* 根据监管码查询设备详情
* @return
*/
......
......@@ -151,4 +151,9 @@ tzs.cylinder.fill.cron=0 0 12 * * ?
tzs.cylinder.info.cron=0 0 1 * * ?
# ??????????
minio.url.path=http://172.16.10.210:9000/
\ No newline at end of file
minio.url.path=http://172.16.10.210:9000/
outSystem.user.password=a1234560
amos.system.user.app-key=AMOS_STUDIO
amos.system.user.product=STUDIO_APP_WEB
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment