当前位置: 首页 > news >正文

在线做3d交互的网站nba最新消息球员交易

在线做3d交互的网站,nba最新消息球员交易,劳动法24小时免费咨询,推荐一个免费的网站灵感来自于一项重复的工作,下图中,这类禁用启用、审核通过不通过、设计成是什么状态否什么状态的场景很多。每一个都需要单独提供接口。重复工作还蛮大的。于是,基于该组件类捕获组件跳转写了这款通用接口。省时省力。 代码如下:…

灵感来自于一项重复的工作,下图中,这类禁用启用、审核通过不通过、设计成是什么状态否什么状态的场景很多。每一个都需要单独提供接口。重复工作还蛮大的。于是,基于该组件类捕获组件跳转写了这款通用接口。省时省力。
在这里插入图片描述
代码如下:

/** 文件名称: 类UnifyBatchUpdateEndpoint* 文件描述:* 创建人: simple_zeng* 创建时间: 2024/6/8*/
@RestController
public class UnifyBatchUpdateEndpoint implements InterestedClassAware {@Autowiredprivate SqlScriptExecutor sqlScriptExecutor;// 实体类名对应tableIdprivate static Map<String, UnifyBatch> BUCKET = new HashMap<>();@RequestMapping("/unify/status")public JsonResult unifyBatchUpdate(@RequestBody UnifyBatchUpdate unifyBatchUpdate) {List<String> ids = unifyBatchUpdate.getIds();if (ZYListUtils.isEmptyList(ids)) {throw new LocalException("请至少选择一条数据");}Integer status = unifyBatchUpdate.getStatus();if (null == status) {throw new LocalException("请选择数据状态");}String entityName = unifyBatchUpdate.getEntityName();if (null == entityName) {throw new LocalException("请选择目标对象");}String prop = unifyBatchUpdate.getProp();if (null == prop) {throw new LocalException("请选择目标对象属性");}UnifyBatch unifyBatch = BUCKET.get(entityName.toLowerCase());if (null == unifyBatch) {throw new LocalException("不能识别的状态类型");}String tableName = unifyBatch.getTableName(); // 表名String keyColumnName = unifyBatch.getKeyColumnName(); // 主键字段名String column = unifyBatch.getColumn(prop); // 状态字段名String idInWhere = ZYWrapperHelper.toIn(ids); // id条件String sqlTemplate = "update %s set %s=%s where %s in %s";  // update sys_user set is_using=1 where id in ('1')String sql = String.format(sqlTemplate, tableName, column, status, keyColumnName, idInWhere);sqlScriptExecutor.executeUpdateScript(sql);return JsonResult.success();}public boolean match(AnnotationMetadata annotationMetadata) {return annotationMetadata.hasAnnotation(TableName.class.getName());}@Overridepublic void setClasses(Set<Class<?>> classes) {for (Class<?> aClass : classes) {TableName tableName = aClass.getAnnotation(TableName.class);if (null == tableName) {continue;}String simpleName = aClass.getSimpleName();// 实体与表的关系UnifyBatch unifyBatch = new UnifyBatch();unifyBatch.setTableName(tableName.value());Field[] fields = ZYReflectUtils.getFields(aClass);Map<String, String> propMapColumn = new HashMap<>();for (Field field : fields) {field.setAccessible(true);Class<?> type = field.getType();// 主键TableId tableId = field.getAnnotation(TableId.class);if (null != tableId) {unifyBatch.setKeyColumnName(tableId.value());}// 只处理int类型的状态值修改if (!Integer.class.isAssignableFrom(type)) {continue;}// 字段TableField tableField = field.getAnnotation(TableField.class);if (null != tableField) {propMapColumn.put(field.getName().toLowerCase(), tableField.value());}}unifyBatch.setPropMapColumn(propMapColumn);if (!unifyBatch.empty()) {BUCKET.put(simpleName.toLowerCase(), unifyBatch);}}}
}@Data
public class UnifyBatchUpdate implements Serializable {private List<String> ids;private String entityName;private String prop;private Integer status;
}@Data
public class UnifyBatch {private String tableName;private String keyColumnName;private Map<String, String> propMapColumn;public String getColumn(String prop) {return null != propMapColumn ? propMapColumn.get(prop.toLowerCase()) : null;}public boolean empty() {if (ZYStrUtils.isNull(tableName)) {return true;}if (ZYStrUtils.isNull(keyColumnName)) {return true;}if (null == propMapColumn || propMapColumn.isEmpty()) {return true;}return false;}
}

调用示例,后端不用写任何代码,只需要告诉前端调哪个实体类和某个属性即可。岂不美哉。

POST http://localhost:{{port}}/unify/status
Content-Type: application/json
Authorization: {{auth_token}}
u-login-areaId: {{areaId}}{"entityName": "User","prop": "isUsing","status": 1,"ids": ["1","1790218983664807938","1790219261998821377"]
}
http://www.khdw.cn/news/41357.html

相关文章:

  • 六安网站建设 220谷歌 chrome 浏览器
  • 什么网站可以做平面设计赚钱百度账号24小时人工电话
  • 国外做科普视频的网站宁波关键词优化平台
  • 自己做的动画买给网站百度sem认证
  • 电子交易网站流程seow
  • 道教佛像网站怎么做微博推广费用一般多少
  • 山南网站建设淘宝seo关键词的获取方法有哪些
  • 西安政府网站建设公司免费建站模板
  • ip地址反查域名北京优化seo公司
  • 学校网页网站模板百度热门关键词
  • 天津高端网站b站推广app大全
  • 湖南长沙电信大楼着火南通关键词优化平台
  • 汕头企业建站网络推广竞价外包
  • 施工企业市场调查目的与主题主要有()。seo零基础教学视频
  • 设计网站价格优化关键词规则
  • 农业电商网站建设ppt竞价推广什么意思
  • 网站扩容需要多少钱seo推广费用需要多少
  • wordpress大开速度慢上海seo公司
  • 作品集公司网站百度网盘官网网页版
  • 贵阳公司网站建设全网最好的推广平台
  • 广告公司网站建设方案长沙网站托管优化
  • mui 网站开发网站推广方案策划书2000
  • 做网站建设给人销售怎样注册网站建立网页
  • 怎么做领券网站怎么做推广和宣传平台
  • 找网络公司做网站需要注意北京疫情最新消息情况
  • 做销售用什么网站好网站功能优化的方法
  • 兰山区网站建设推广百度推广账号登录入口
  • 佛山网站设计联系方式百度竞价点击一次多少钱
  • 帝国系统做企业网站服装营销方式和手段
  • 西城专业网站建设公司百度关键词指数排行