소스 검색

Merge branch 'feature/1101-appversion' into test

# Conflicts:
#	pom.xml
yuanliang 1 년 전
부모
커밋
eb79236b00

+ 34 - 0
audio-analysis/pom.xml

@@ -56,6 +56,40 @@
 		<dependency>
 			<groupId>com.ym</groupId>
 			<artifactId>mec-auth-api</artifactId>
+			<exclusions>
+				<!-- <exclusion>
+            		<groupId>org.redisson</groupId>
+            		<artifactId>redisson-spring-boot-starter</artifactId>
+				</exclusion> -->
+				<exclusion>
+					<artifactId>netty-common</artifactId>
+					<groupId>io.netty</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>netty-transport</artifactId>
+					<groupId>io.netty</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>netty-resolver</artifactId>
+					<groupId>io.netty</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>netty-buffer</artifactId>
+					<groupId>io.netty</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>netty-resolver-dns</artifactId>
+					<groupId>io.netty</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>netty-handler</artifactId>
+					<groupId>io.netty</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>netty-codec</artifactId>
+					<groupId>io.netty</groupId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 
 		<dependency>

+ 1 - 1
mec-application/src/main/java/com/ym/mec/student/controller/ImGroupController.java

@@ -82,7 +82,7 @@ public class ImGroupController extends BaseController {
             return failed(HttpStatus.NO_CONTENT, "群组不存在");
         }
 		// 设置默认头像
-		if (Objects.nonNull(imGroup.getGroupType()) && StringUtils.isBlank(imGroup.getImg())) {
+		if (Objects.nonNull(imGroup) && Objects.nonNull(imGroup.getGroupType()) && StringUtils.isBlank(imGroup.getImg())) {
 			imGroup.setImg(imGroup.getGroupType().getAvatar());
 		}
 		return succeed(imGroup);

+ 1 - 1
mec-application/src/main/java/com/ym/mec/teacher/controller/ImGroupController.java

@@ -85,7 +85,7 @@ public class ImGroupController extends BaseController {
             return failed(HttpStatus.NO_CONTENT, "群组不存在");
         }
 		// 设置默认头像
-		if (Objects.nonNull(imGroup.getGroupType()) && StringUtils.isBlank(imGroup.getImg())) {
+		if (Objects.nonNull(imGroup) && Objects.nonNull(imGroup.getGroupType()) && StringUtils.isBlank(imGroup.getImg())) {
 			imGroup.setImg(imGroup.getGroupType().getAvatar());
 		}
 		return succeed(imGroup);

+ 1 - 1
mec-application/src/main/java/com/ym/mec/web/controller/ImGroupController.java

@@ -93,7 +93,7 @@ public class ImGroupController extends BaseController {
             return failed(HttpStatus.NO_CONTENT, "群组不存在");
         }
 		// 设置默认头像
-		if (Objects.nonNull(imGroup.getGroupType()) && StringUtils.isBlank(imGroup.getImg())) {
+		if (Objects.nonNull(imGroup) && Objects.nonNull(imGroup.getGroupType()) && StringUtils.isBlank(imGroup.getImg())) {
 			imGroup.setImg(imGroup.getGroupType().getAvatar());
 		}
 		return succeed(imGroup);

+ 51 - 0
mec-application/src/main/java/com/ym/mec/web/controller/open/OpenAppVersionInfoController.java

@@ -0,0 +1,51 @@
+package com.ym.mec.web.controller.open;
+
+
+import com.microsvc.toolkit.common.response.template.R;
+import com.ym.mec.biz.dal.entity.AppVersionInfo;
+import com.ym.mec.biz.service.AppVersionInfoService;
+import com.ym.mec.common.exception.BizException;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Optional;
+
+@Slf4j
+@Validated
+@RestController
+@RequestMapping("${app-config.url.web:}/open/appVersionInfo")
+@Api(tags = "app版本信息管理")
+public class OpenAppVersionInfoController {
+
+    @Autowired
+    private AppVersionInfoService appVersionInfoService;
+
+    @ApiOperation("根据app客户端查询最近的app版本")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "platform", value = "平台名称", required = true, dataType = "String", paramType =
+                    "path"),
+            @ApiImplicitParam(name = "status", value = "状态", required = true, dataType = "String",
+                    paramType = "newest/history")
+    })
+    @GetMapping(value = "/queryLatestByPlatform")
+    public R<AppVersionInfo> queryLatestByPlatform(String platform, String status) {
+        String appStatus = Optional.ofNullable(status).orElse("newest");
+        if ("history".equals(appStatus)) {
+            appStatus = "newest,history";
+        }
+        List<AppVersionInfo> list = appVersionInfoService.queryLatestByPlatform(platform, appStatus);
+        if (list.size() > 0) {
+            return R.from(list.get(0));
+        }
+        throw new BizException("未找到数据");
+    }
+}

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/AppVersionInfoDao.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.ym.mec.biz.dal.entity.AppVersionInfo;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
 
 public interface AppVersionInfoDao extends BaseDAO<Integer, AppVersionInfo> {
 
@@ -14,4 +15,7 @@ public interface AppVersionInfoDao extends BaseDAO<Integer, AppVersionInfo> {
 	 * @param platform
 	 */
 	void batchUpdateStatus(String platform);
+
+	List<AppVersionInfo> queryLatestByPlatform(@Param("platform") String platform, @Param("status") String status);
+
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/AppVersionInfoService.java

@@ -12,4 +12,6 @@ public interface AppVersionInfoService extends BaseService<Integer, AppVersionIn
 	void add(AppVersionInfo appVersionInfo);
 
 	void updateVersion(AppVersionInfo appVersionInfo);
+
+    List<AppVersionInfo> queryLatestByPlatform(String platform, String appStatus);
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/AppVersionInfoServiceImpl.java

@@ -56,4 +56,10 @@ public class AppVersionInfoServiceImpl extends BaseServiceImpl<Integer, AppVersi
 		appVersionInfoDao.update(appVersionInfo);
 	}
 
+    @Override
+    public List<AppVersionInfo> queryLatestByPlatform(String platform, String appStatus) {
+		return appVersionInfoDao.queryLatestByPlatform(platform, appStatus);
+
+	}
+
 }

+ 14 - 2
mec-biz/src/main/resources/config/mybatis/AppVersionInfoMapper.xml

@@ -92,10 +92,13 @@
 		SELECT * FROM app_version_info
 		<where>
 			<if test="search != null and search != ''">
-				platform_ LIKE CONCAT('%',#{search},'%')
+				and (id_ like concat('%',#{search},'%') or
+				version_ like concat('%',#{search},'%') or
+				description_ like concat('%',#{search},'%')
+				)
 			</if>
 		</where>
-		ORDER BY status_ DESC
+		order by version_ desc ,status_='newest' desc , id_ desc
 		<include refid="global.limit" />
 	</select>
 
@@ -108,4 +111,13 @@
 			</if>
 		</where>
 	</select>
+
+	<select id="queryLatestByPlatform" resultMap="AppVersionInfo">
+		SELECT *
+		FROM app_version_info
+		WHERE platform_ = #{platform}
+		  and find_in_set(status_, #{status})
+		order by version_ desc, status_='newest' desc, id_ desc
+		limit 1
+	</select>
 </mapper>

+ 1 - 2
pom.xml

@@ -20,8 +20,7 @@
 		<spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
 		<zipkin.version>2.12.2</zipkin.version>
 		<google.zxing.version>3.4.0</google.zxing.version>
-		<redisson.version>3.11.5</redisson.version>
-
+		<redisson.version>3.16.4</redisson.version>
 		<maven.test.skip>true</maven.test.skip>
 	</properties>