首页 > 其他分享 >拂衣天气(微天气)-模型设计

拂衣天气(微天气)-模型设计

时间:2024-05-04 13:44:46浏览次数:23  
标签:String 拂衣 行政区 模型 天气 private Long import public

前言

这是一个前后端分离的项目,后端使用Java进行开发,而前端通过微信小程序实现。

功能结构

天气小程序功能架构

可从上图得知,部分功能已去除:

  • 消息
    • 消息推送
    • 紧急情况推送
  • 用户
    • 个人中心

模型设计

用户信息(UserInfo)

  • id Long 主键
  • oid String OpenID
  • uid String UnionID
  • name String 昵称
  • phone_num String 手机号
  • avatar String 头像地址
  • authState String 登录状态
    • Silence 静默登录(目前程序的访问是需要存在登录态的)
    • Authorized 已授权
  • createTime Timestamp 记录创建时间
  • updateTime Timestamp 记录更新时间

行政区划信息(DistrictInfo)

使用全国行政区划信息填充,含空间数据,数据粒度到区县。目前仅支持国内数据。

  • id Long 主键
  • name String 行政区名称
  • grade Integer 行政区级别
    • 1:省级行政区
    • 2:地级行政区
    • 3:县级行政区
    • 4:乡镇级行政区
  • code String 行政区代码
  • centerPoint Point 行政区中心点(空间数据)
  • bounds Geometry 行政区边界(空间数据)

关注城市(FollowCity)

  • id Long 主键
  • userId Long 用户ID
  • districtId Long 行政区划ID
  • districtName String 行政区划名称
  • districtCode String 行政区划编码
  • orderNum Integer 序号,自然数,从1开始
  • createTime Timestamp 记录创建时间

天气信息

由于天气数据均来自第三方,目前数据格式于和风天气对齐。

通过对和风天气响应数据结构研究,抽象出基础响应,实际响应均继承该基础响应类,并实现getDataColumn方法,以标记对应数据列。

目前使用代理方式进行第三方接口调用,且将结构对齐交由前端进行,所以此处并未进行强格式定义。

基础响应信息

package org.fuyi.weather.infra.common.entity;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.io.Serializable;

/**
 * 天气代理实体基础类
 *
 * @author: <a href="mailto:[email protected]">Fuyi</a>
 * @time: 2022/2/1 下午3:22
 * @since: 1.0
 */
public abstract class AbstractWeatherProxyWrappedEntity implements Serializable {

    private static final long serialVersionUID = 5559333755209092109L;
    /**
     * API状态码,具体含义请参考状态码
     * 参考 <a>https://dev.qweather.com/docs/resource/status-code/</a>
     */
    private String code;
    /**
     * 当前API的最近更新时间
     * 参考 <a>https://dev.qweather.com/docs/resource/glossary/#update-time</a>
     */
    private String updateTime;
    /**
     * 当前数据的响应式页面,便于嵌入网站或应用
     */
    private String fxLink;

    private JSONObject refer;

    private JSON data;

    public AbstractWeatherProxyWrappedEntity() {
    }

		// 标记数据列
		public abstract String getDataColumn();

		// get and set method.
    ...
}

实时空气数据(例)

package org.fuyi.weather.domain.entity;

import lombok.*;
import org.fuyi.weather.infra.common.constant.WeatherProxyConstant;
import org.fuyi.weather.infra.common.entity.AbstractWeatherProxyWrappedEntity;

/**
 * @author: <a href="mailto:[email protected]">Fuyi</a>
 * @time: 2022/2/1 下午4:07
 * @since: 1.0
 */
@Data
@Builder
@NoArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
public class AirRealTimeEntity extends AbstractWeatherProxyWrappedEntity {
    @Override
    public String getDataColumn() {
				// WeatherProxyConstant.DataColumn.NOW --> "now"
        return WeatherProxyConstant.DataColumn.NOW;
    }
}

参考

说明

如有冒犯,我在这里先向您道歉,还请联系我进行处理

email: [email protected]

标签:String,拂衣,行政区,模型,天气,private,Long,import,public
From: https://www.cnblogs.com/threadj/p/18172232

相关文章

  • 拂衣天气(微天气)-开发环境准备
    前言本文用于说明本次开发所使用的环境,以及环境的搭建过程。操作系统Windows10专业版其实我当时使用的操作系统的ArchLinux,开发完成后才又重装回Windows。现在又用回了[email protected]服务端服务端使用Java语言进行开发,项目构建使用Maven(Grad......
  • 拂衣天气(微天气)—行政区划数据(一)
    前言微天气程序中存在如下几个功能需要使用到行政区划数据:城市列表,需要支持城市搜索根据经纬度获区域(城市)的天气数据地图坐标拾取并获取所处区域(城市)信息,同时获取天气数据对于城市的天气数据,不使用和风天气的城市列表,而是自行维护,通过空间位置(经纬度)进行关联。对于城市位置......
  • 大模型_2:Prompt Engineering
    目录:1、提示工程简介2、如何写好提示词2.1 描述清晰2.2 角色扮演2.3 提供示例2.4 复杂任务分解2.5 使用格式符区分语义2.6 情感和物质激励2.7 使用英语2.8 结构化提示词1、提示工程简介1.1什么是Prompt提示词?不论是文生图应用,还是GPT文生文的应用,......
  • 大模型_2.2:Prompt示例
    1、行业洞察分析  行业洞察分析的方法论:使用麦肯锡工作法可以快速了解一个行业。Step1:通过搜索分析几十个与该行业相关的关键词,覆盖该行业的上下游,以获取全面的信息。Step2:阅读一些行业最新的研究分析报告,这些报告通常包含了行业趋势、市场规模、竞争格局等重要信息。Step......
  • 大模型_2.1:Prompt进阶
    目录:1、PromptframeWork2、Prompt结构化格式3、如何写好结构化Prompt?4、Zero-ShotPrompts5、Few-ShotPrompting6、自洽性Self-Consistency7、Program-AidedLanguageModels 1、PromptframeWork 结构化、模板化编写大模型Prompt范式的思想目前已经广为传......
  • 大模型_3:RAG
     目录:1. 背景介绍2. 什么是RAG?3. RAG技术范式发展4、RAG的生态5. QAnything介绍6. QAnything架构解析7.二阶段检索器(Two-stageRetriever)8. LLM模型微调9.RAG和微调应该如何选择?10. 本地部署11. 应用示例12.基本能力13.文本向量算法与工具1.背......
  • 大模型_4:Agent
    目录: 1、全球AIAgent产品盘点 2、概览:基于LLM的自主智能代理,朝AGI更进一步 3、技术篇:以LLM为基座,拓展感知和行动等功能模块 4、Agent智能体的工作过程 5、市面上Agent主要呈现1、 全球AIAgent产品盘点:详细点击 开源产品: AwesomeAIAgents:开源ai-agents列......
  • EPAI手绘建模APP新建模型1
    (6) 新建模型图 175 新建模型工具栏-1图 176 新建模型工具栏-2① 新建模型工具栏包括一些建模过程中常用的工具,一般是基于现有模型创建一个或多个新的模型,同样是分步骤完成建模过程。② 挖空模型,选择实体上的面;设置挖空后连接类型,连接类型包括圆弧、相切、相交;挖空后......
  • EPAI手绘建模APP新建模型2
    ⑪ 中轴线,依次选择两条边,在两条边中轴处生成一条新的边。图 187 中轴线⑫ 投影点,选择一个点;选择一条边或者一个面。将点投影到边或者面上,生成新的点。图 188 投影点-1图 189 投影点-2图 190 投影点-3⑬ 投影曲线,选择一条边;选择一个面。将边投影到面上,打开设......
  • 09_模型设定与数据问题
    第9章模型设定与数据问题如果模型设定不当,会带来设定误差(specificationerror)[[#9.1遗漏变量|9.1遗漏变量]][[#9.2无关变量|9.2无关变量]][[#9.3建模策略:“由小到大”还是“由大到小”?|9.3建模策略:“由小到大”还是“由大到小”?]][[#9.4解释变量个数的选择|9.4解释......