Commit 4bd7ccf7 authored by yangyang's avatar yangyang

对接 碳银电站接口

parent d6cbfbe9
package com.yeejoin.amos.api.householdapi.constant;
/**
* 碳银常量类
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.api.householdapi.constant
*
* @author yangyang
* @version v1.0
* @date 2024/7/15 10:22
*/
public class TanYinConstant {
public static String ACCESS_TOKEN_KEY = "TanYin_Token";
/**
* 获取电站信息
*/
public static String stationListUrl = "/v1/yx/query/station/info";
/**
* 获取客户信息
*/
public static String customerInfoUrl = "/v1/yx/query/customer/info";
/**
* 电站逆变器信息接口
*/
public static String inverterListUrl = "/v1/station/getTodayDetail";
/**
* 获取 Access_Token
*/
public static String getAccessTokenUrl = "/v1/auth/getAccessToken";
/**
* 刷新 Access_Token
*/
public static String refreshAccessTokenUrl = "/v1/auth/refreshAccessToken";
}
......@@ -277,6 +277,6 @@ public class HouseholdTestController {
@PostMapping(value = "/tanyin/customer")
@ApiOperation(httpMethod = "POST", value = "客户信息查询接口", notes = "客户信息查询接口")
public void tanyinCustomer() {
tanYinDataAcquisitionService.customerList();
tanYinDataAcquisitionService.customerInfoList();
}
}
package com.yeejoin.amos.api.householdapi.exception;
import org.apache.commons.lang3.StringUtils;
import org.typroject.tyboot.core.foundation.exception.BaseException;
/**
* 自定义异常
*
* @author yangyang
* @version v1.0
* @date 2023/9/19 12:37
*/
public class BusinessException extends BaseException {
public BusinessException(String message) {
super(message, BusinessException.class.getSimpleName(), "错误的请求.");
this.httpStatus = 500;
}
public BusinessException(String message, String errorCode) {
super(message, BusinessException.class.getSimpleName(), message);
if (StringUtils.isBlank(errorCode)) {
this.httpStatus = 500;
} else {
this.httpStatus = Integer.parseInt(errorCode);
}
}
}
package com.yeejoin.amos.api.householdapi.face.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 碳银Access_Token类
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.api.householdapi.face.dto
*
* @author yangyang
* @version v1.0
* @date 2024/7/16 14:08
*/
@NoArgsConstructor
@Data
public class TanYinAccessTokenDTO {
@ApiModelProperty ("业务请求 token")
@JsonProperty ("access_token")
private String accessToken;
@ApiModelProperty ("有效时间")
@JsonProperty ("expires_in")
private Integer accessTokenExpiresIn;
}
package com.yeejoin.amos.api.householdapi.face.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 碳银接口返回类
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.api.householdapi.face.dto
*
* @author yangyang
* @version v1.0
* @date 2024/7/15 14:03
*/
@NoArgsConstructor
@Data
public class TanYinBaseResultDTO<T> {
@JsonProperty ("code")
private Integer code;
@JsonProperty ("data")
private T data;
@JsonProperty ("msg")
private String msg;
@JsonProperty ("deskey")
private Object deskey;
@JsonProperty ("success")
private Boolean success;
@JsonProperty ("fail")
private Boolean fail;
}
package com.yeejoin.amos.api.householdapi.face.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 碳银分页请求类
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.api.householdapi.face.dto
*
* @author yangyang
* @version v1.0
* @date 2024/7/16 14:09
*/
@NoArgsConstructor
@Data
public class TanYinPageResultDTO<T> {
@JsonProperty ("pageNo")
private Integer pageNo;
@JsonProperty ("pageSize")
private Integer pageSize;
@JsonProperty ("totalPage")
private Integer totalPage;
@JsonProperty ("total")
private Integer total;
@JsonProperty ("list")
private List<T> list;
@JsonProperty ("start")
private Integer start;
}
package com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 客户信息
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine
*
* @author yangyang
* @version v1.0
* @date 2024/7/15 16:11
*/
@NoArgsConstructor
@Data
@TableName (value = "tanyin_customer_info", autoResultMap = true)
public class TanYinCustomerInfo {
@ApiModelProperty ("客户身份证号码")
@TableField ("customer_id_no")
private String customerIdNo;
@ApiModelProperty ("客户姓名")
@TableField ("customer_name")
private String customerName;
@ApiModelProperty ("客户手机号")
@TableField ("customer_phone")
private String customerPhone;
@ApiModelProperty ("客户并网通过时间 毫秒时间戳")
@TableField ("electric_contract_pass")
private Long electricContractPass;
@ApiModelProperty ("项目编号")
@TableField ("project_no")
private String projectNo;
@TableField("create_time")
private Long createTime;
}
package com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 逆变器实时数据
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine
*
* @author yangyang
* @version v1.0
* @date 2024/7/15 16:10
*/
@NoArgsConstructor
@Data
@TableName (value = "tanyin_inveter_info", autoResultMap = true)
public class TanYinInveterInfo {
@TableField ("project_no")
private String projectNo;
@TableField ("device_name")
private String deviceName;
@TableField ("sn")
private String sn;
@TableField ("supplier")
private Integer supplier;
@ApiModelProperty ("更新时间")
@TableField ("gmt_create")
private String gmtCreate;
@ApiModelProperty ("功率")
@TableField ("watt")
private String watt;
@ApiModelProperty ("日发电量")
@TableField ("daily_energy")
private String dailyEnergy;
@ApiModelProperty ("总发电量")
@TableField ("total_energy")
private String totalEnergy;
@ApiModelProperty ("逆变器在线状态:在线;1、离线;2、异常")
@TableField ("status")
private String status;
@ApiModelProperty ("故障原因")
@TableField ("error_detail")
private String errorDetail;
@ApiModelProperty ("故障码")
@TableField ("error_code")
private String errorCode;
@ApiModelProperty ("输入电压 1")
@TableField ("vol0")
private String vol0;
@ApiModelProperty ("输入电压 2")
@TableField ("vol1")
private String vol1;
@ApiModelProperty ("输入电压 3")
@TableField ("vol2")
private String vol2;
@ApiModelProperty ("输入电压 4")
@TableField ("vol3")
private String vol3;
@ApiModelProperty ("输入电压 5")
@TableField ("vol4")
private String vol4;
@ApiModelProperty ("输入电压 6")
@TableField ("vol10")
private String vol10;
@ApiModelProperty ("输入电流 1")
@TableField ("amp0")
private String amp0;
@ApiModelProperty ("输入电流 2")
@TableField ("amp1")
private String amp1;
@ApiModelProperty ("输入电流 3")
@TableField ("amp2")
private String amp2;
@ApiModelProperty ("输入电流 4")
@TableField ("amp3")
private String amp3;
@ApiModelProperty ("输入电流 5")
@TableField ("amp4")
private String amp4;
@ApiModelProperty ("输入电流 6")
@TableField ("amp10")
private String amp10;
@ApiModelProperty ("输出电压 1")
@TableField ("vol5")
private String vol5;
@ApiModelProperty ("输出电压 2")
@TableField ("vol6")
private String vol6;
@ApiModelProperty ("输出电压 3")
@TableField ("vol7")
private String vol7;
@ApiModelProperty ("输出电流 1")
@TableField ("amp5")
private String amp5;
@ApiModelProperty ("输出电流 2")
@TableField ("amp6")
private String amp6;
@ApiModelProperty ("输出电流 3")
@TableField ("amp7")
private String amp7;
@ApiModelProperty ("温度(单位:摄氏度)")
@TableField ("temperature")
private String temperature;
@TableField ("create_time")
private Long createTime;
}
package com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 电站基本信息
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine
*
* @author yangyang
* @version v1.0
* @date 2024/7/15 16:05
*/
@NoArgsConstructor
@Data
@TableName (value = "tanyin_station_info", autoResultMap = true)
public class TanYinStationInfo {
@ApiModelProperty ("项目编号")
@TableField ("project_no")
private String projectNo;
@ApiModelProperty ("姓名")
@TableField ("customer_name")
private String customerName;
@ApiModelProperty ("手机号")
@TableField ("customer_phone")
private String customerPhone;
@ApiModelProperty ("身份证")
@TableField ("customer_id_no")
private String customerIdNo;
@ApiModelProperty ("省")
@TableField ("province")
private String province;
@ApiModelProperty ("市")
@TableField ("city")
private String city;
@ApiModelProperty ("区")
@TableField ("area")
private String area;
@ApiModelProperty ("镇 + 详细地址")
@TableField ("complete_address")
private String completeAddress;
@TableField (value = "inverterList",exist = false)
private List<InverterListDTO> inverterList;
@ApiModelProperty ("装机容量")
@TableField ("capacity_size")
private String capacitySize;
@ApiModelProperty ("累计总发电量")
@TableField ("total_power")
private String totalPower;
@ApiModelProperty ("当年发电量")
@TableField ("year_power")
private String yearPower;
@ApiModelProperty ("当月发电量")
@TableField ("month_power")
private String monthPower;
@ApiModelProperty ("当日发电量")
@TableField ("day_power")
private String dayPower;
@ApiModelProperty ("纬度")
@TableField ("latitude")
private String latitude;
@ApiModelProperty ("经度")
@TableField ("longitude")
private String longitude;
@TableField ("create_time")
private Long createTime;
@NoArgsConstructor
@Data
public static class InverterListDTO {
private String deviceName;
private Integer supplier;
private String sn;
}
}
package com.yeejoin.amos.api.householdapi.face.orm.mapper.tdengine;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine.TanYinCustomerInfo;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface TanYinCustomerInfoMapper extends BaseMapper<TanYinCustomerInfo> {
@Select("select project_no from tanyin_customer_info")
List<String> listProjectNo();
}
package com.yeejoin.amos.api.householdapi.face.orm.mapper.tdengine;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine.TanYinInveterInfo;
public interface TanYinInveterInfoMapper extends BaseMapper<TanYinInveterInfo> {
}
package com.yeejoin.amos.api.householdapi.face.orm.mapper.tdengine;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine.TanYinStationInfo;
public interface TanYinStationInfoMapper extends BaseMapper<TanYinStationInfo> {
}
package com.yeejoin.amos.api.householdapi.face.service;
/**
* <p>
* ProjectName: amos-boot-zx-biz
* PackageName: com.yeejoin.amos.api.householdapi.face.service
*
* @author yangyang
* @version v1.0
* @date 2024/7/15 10:05
*/
public interface TanYinDataAcquisitionService {
/**
* 通过并网时间段查询对应范围内的项目信息
*
* @param
* @return {@link }
* @throws
* @author yangyang
* @date 2024/7/15 16:55
*/
void customerInfoList();
/**
* 电站基本信息
*
* @param
* @return {@link }
* @throws
* @author yangyang
* @date 2024/7/15 16:55
*/
void stationList();
/**
* 电站逆变器信息
*
* @param
* @return {@link }
* @throws
* @author yangyang
* @date 2024/7/15 16:55
*/
void inverterList();
}
......@@ -9,7 +9,8 @@ public enum PVProducerInfoEnum {
JLY("锦浪云","JLY"),
KSOLAR("科士达","KSD"),
YG("阳光","YG"),
HUAWEI("华为","HW");
HUAWEI("华为","HW"),
TANYIN("碳银","TY");
private String name;
......
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