From 9b35c99b06d9ce03823faa7a90b80a8044be8cde Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9C=B1=E8=80=98=E7=A8=B7?= <18026623439@163.com>
Date: Wed, 9 Dec 2020 11:53:55 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Eapp=E7=89=88=E6=9C=AC?=
=?UTF-8?q?=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../template/generator/front/index.ftl | 2 +-
.../modules/shop/rest/IndexController.java | 23 ++++-
.../modules/shop/domain/YxAppVersion.java | 54 +++++++++++
.../shop/rest/YxAppVersionController.java | 85 ++++++++++++++++++
.../shop/service/YxAppVersionService.java | 48 ++++++++++
.../shop/service/dto/YxAppVersionDto.java | 48 ++++++++++
.../dto/YxAppVersionQueryCriteria.java | 21 +++++
.../service/impl/YxAppVersionServiceImpl.java | 86 ++++++++++++++++++
.../service/mapper/YxAppVersionMapper.java | 23 +++++
.../modules/shop/vo/AppCheckVersion.java | 26 ++++++
.../modules/shop/vo/YxAppVersionVo.java | 45 ++++++++++
.../shop/rest/YxAppVersionController.java | 89 +++++++++++++++++++
12 files changed, 547 insertions(+), 3 deletions(-)
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/domain/YxAppVersion.java
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/rest/YxAppVersionController.java
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/service/YxAppVersionService.java
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/service/dto/YxAppVersionDto.java
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/service/dto/YxAppVersionQueryCriteria.java
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/service/impl/YxAppVersionServiceImpl.java
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/service/mapper/YxAppVersionMapper.java
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/vo/AppCheckVersion.java
create mode 100644 yshop-mall/src/main/java/co/yixiang/modules/shop/vo/YxAppVersionVo.java
create mode 100644 yshop-shop/src/main/java/co/yixiang/modules/shop/rest/YxAppVersionController.java
diff --git a/yshop-admin/src/main/resources/template/generator/front/index.ftl b/yshop-admin/src/main/resources/template/generator/front/index.ftl
index 8295620b..9e9af386 100644
--- a/yshop-admin/src/main/resources/template/generator/front/index.ftl
+++ b/yshop-admin/src/main/resources/template/generator/front/index.ftl
@@ -103,7 +103,7 @@
- <#elseif column.columnType != 'Timestamp'>
+ <#elseif column.columnType != 'Date'>
<#else>
diff --git a/yshop-app/src/main/java/co/yixiang/modules/shop/rest/IndexController.java b/yshop-app/src/main/java/co/yixiang/modules/shop/rest/IndexController.java
index 48f3cc73..5d46b02a 100644
--- a/yshop-app/src/main/java/co/yixiang/modules/shop/rest/IndexController.java
+++ b/yshop-app/src/main/java/co/yixiang/modules/shop/rest/IndexController.java
@@ -20,15 +20,20 @@ import co.yixiang.modules.activity.vo.YxStoreSeckillQueryVo;
import co.yixiang.modules.mp.service.YxWechatLiveService;
import co.yixiang.modules.product.service.YxStoreProductService;
import co.yixiang.modules.product.vo.YxSystemStoreQueryVo;
+import co.yixiang.modules.shop.domain.YxAppVersion;
import co.yixiang.modules.shop.param.YxSystemStoreQueryParam;
+import co.yixiang.modules.shop.service.YxAppVersionService;
import co.yixiang.modules.shop.service.YxSystemGroupDataService;
import co.yixiang.modules.shop.service.YxSystemStoreService;
+import co.yixiang.modules.shop.vo.AppCheckVersion;
import co.yixiang.modules.shop.vo.IndexVo;
+import co.yixiang.modules.shop.vo.YxAppVersionVo;
import co.yixiang.utils.FileUtil;
import co.yixiang.utils.RedisUtil;
import co.yixiang.utils.ShopKeyUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import io.netty.handler.codec.http.multipart.HttpData;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -55,7 +60,7 @@ import java.util.Map;
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@Api(value = "首页模块", tags = "商城:首页模块", description = "首页模块")
public class IndexController {
-
+ private final YxAppVersionService appVersionService;
private final YxSystemGroupDataService systemGroupDataService;
private final YxStoreProductService storeProductService;
private final YxSystemStoreService systemStoreService;
@@ -136,6 +141,20 @@ public class IndexController {
}
-
+ @GetMapping("/version")
+ @ApiOperation(value = "获取app版本信息",notes = "获取app版本信息")
+ public ApiResult storeList(AppCheckVersion param){
+ YxAppVersion appVersion= appVersionService.lambdaQuery().orderByDesc(YxAppVersion::getCreateTime).one();
+ YxAppVersionVo appVersionVo=new YxAppVersionVo();
+ appVersionVo.setVersionCode(appVersion.getVersionCode());
+ appVersionVo.setVersionInfo(appVersion.getVersionInfo());
+ appVersionVo.setVersionName(appVersion.getVersionName());
+ appVersionVo.setDownloadUrl(param.getType().equals("1101")?appVersion.getAndroidUrl():appVersion.getIosUrl());
+ appVersionVo.setForceUpdate(appVersion.getForceUpdate()==0);
+ if (!param.getVersionName().equals(appVersion.getVersionName())){
+ return ApiResult.ok(appVersionVo);
+ }
+ return ApiResult.ok(new YxAppVersionVo());
+ }
}
diff --git a/yshop-mall/src/main/java/co/yixiang/modules/shop/domain/YxAppVersion.java b/yshop-mall/src/main/java/co/yixiang/modules/shop/domain/YxAppVersion.java
new file mode 100644
index 00000000..8a2593ef
--- /dev/null
+++ b/yshop-mall/src/main/java/co/yixiang/modules/shop/domain/YxAppVersion.java
@@ -0,0 +1,54 @@
+/**
+* Copyright (C) 2018-2020
+* All rights reserved, Designed By www.yixiang.co
+* 注意:
+* 本软件为www.yixiang.co开发研制,未经购买不得使用
+* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
+* 一经发现盗用、分享等行为,将追究法律责任,后果自负
+*/
+package co.yixiang.modules.shop.domain;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.bean.copier.CopyOptions;
+import javax.validation.constraints.*;
+import java.util.Date;
+import co.yixiang.domain.BaseDomain;
+
+/**
+* @author lioncity
+* @date 2020-12-09
+*/
+@Data
+@TableName("yx_app_version")
+public class YxAppVersion extends BaseDomain {
+ @TableId
+ private Integer id;
+
+
+
+
+ /** 版本code */
+ private String versionCode;
+
+ /** 版本名称 */
+ private String versionName;
+
+ /** 版本描述 */
+ private String versionInfo;
+
+ /** 安卓下载链接 */
+ private String androidUrl;
+
+ /** 是否强制升级 */
+ private Integer forceUpdate;
+
+ /** ios store应用商店链接 */
+ private String iosUrl;
+
+
+ public void copy(YxAppVersion source){
+ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
+ }
+}
diff --git a/yshop-mall/src/main/java/co/yixiang/modules/shop/rest/YxAppVersionController.java b/yshop-mall/src/main/java/co/yixiang/modules/shop/rest/YxAppVersionController.java
new file mode 100644
index 00000000..e5ce4968
--- /dev/null
+++ b/yshop-mall/src/main/java/co/yixiang/modules/shop/rest/YxAppVersionController.java
@@ -0,0 +1,85 @@
+/**
+* Copyright (C) 2018-2020
+* All rights reserved, Designed By www.yixiang.co
+* 注意:
+* 本软件为www.yixiang.co开发研制,未经购买不得使用
+* 购买后可获得全部源代码(禁止转卖、分享、上传到码云、github等开源平台)
+* 一经发现盗用、分享等行为,将追究法律责任,后果自负
+*/
+package co.yixiang.modules.shop.rest;
+import java.util.Arrays;
+import co.yixiang.dozer.service.IGenerator;
+import lombok.AllArgsConstructor;
+import co.yixiang.logging.aop.log.Log;
+import co.yixiang.modules.shop.domain.YxAppVersion;
+import co.yixiang.modules.shop.service.YxAppVersionService;
+import co.yixiang.modules.shop.service.dto.YxAppVersionQueryCriteria;
+import co.yixiang.modules.shop.service.dto.YxAppVersionDto;
+import org.springframework.data.domain.Pageable;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import io.swagger.annotations.*;
+import java.io.IOException;
+import javax.servlet.http.HttpServletResponse;
+import co.yixiang.domain.PageResult;
+/**
+* @author lioncity
+* @date 2020-12-09
+*/
+@AllArgsConstructor
+@Api(tags = "app版本控制管理")
+@RestController
+@RequestMapping("/api/yxAppVersion")
+public class YxAppVersionController {
+
+ private final YxAppVersionService yxAppVersionService;
+ private final IGenerator generator;
+
+
+ @Log("导出数据")
+ @ApiOperation("导出数据")
+ @GetMapping(value = "/download")
+ @PreAuthorize("@el.check('admin','yxAppVersion:list')")
+ public void download(HttpServletResponse response, YxAppVersionQueryCriteria criteria) throws IOException {
+ yxAppVersionService.download(generator.convert(yxAppVersionService.queryAll(criteria), YxAppVersionDto.class), response);
+ }
+
+ @GetMapping
+ @Log("查询app版本控制")
+ @ApiOperation("查询app版本控制")
+ @PreAuthorize("@el.check('admin','yxAppVersion:list')")
+ public ResponseEntity> getYxAppVersions(YxAppVersionQueryCriteria criteria, Pageable pageable){
+ return new ResponseEntity<>(yxAppVersionService.queryAll(criteria,pageable),HttpStatus.OK);
+ }
+
+ @PostMapping
+ @Log("新增app版本控制")
+ @ApiOperation("新增app版本控制")
+ @PreAuthorize("@el.check('admin','yxAppVersion:add')")
+ public ResponseEntity