diff --git a/sf-system/pom.xml b/sf-system/pom.xml index 1a80595..d7d76c6 100644 --- a/sf-system/pom.xml +++ b/sf-system/pom.xml @@ -22,6 +22,10 @@ com.smarterFramework sf-common + + com.smarterFramework + sf-file + diff --git a/sf-system/src/main/java/com/sf/system/deployment/controller/DeploymentServicePublishController.java b/sf-system/src/main/java/com/sf/system/deployment/controller/DeploymentServicePublishController.java index 12d0459..afe1e18 100644 --- a/sf-system/src/main/java/com/sf/system/deployment/controller/DeploymentServicePublishController.java +++ b/sf-system/src/main/java/com/sf/system/deployment/controller/DeploymentServicePublishController.java @@ -3,10 +3,12 @@ package com.sf.system.deployment.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.sf.common.utils.DateUtils; import com.sf.system.deployment.domain.DeploymentServicePublish; import com.sf.system.deployment.service.IDeploymentServicePublishService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.unit.DataUnit; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -102,4 +104,30 @@ public class DeploymentServicePublishController extends BaseController { return toAjax(deploymentServicePublishService.deleteDeploymentServicePublishByIds(ids)); } + + /** + * 发布功能 + */ + @PreAuthorize("@ss.hasPermi('deployment:publish:publish')") + @GetMapping(value = "/publish/{id}") + public AjaxResult publish(@PathVariable("id") Long id) throws Exception { + DeploymentServicePublish deploymentServicePublish = deploymentServicePublishService.selectDeploymentServicePublishById(id); +// deploymentServicePublish.setUpdateBy(getUsername()); + deploymentServicePublish.setUpdateTime(DateUtils.getNowDate()); + return success(deploymentServicePublishService.publish(deploymentServicePublish)); + } + + /** + * 获取发布列表详细信息 + */ + @PreAuthorize("@ss.hasPermi('deployment:publish:sold:out')") + @GetMapping(value = "/sold/out/{id}") + public AjaxResult soldOut(@PathVariable("id") Long id) + { + DeploymentServicePublish deploymentServicePublish = deploymentServicePublishService.selectDeploymentServicePublishById(id); +// deploymentServicePublish.setUpdateBy(getUsername()); + deploymentServicePublish.setUpdateTime(DateUtils.getNowDate()); + return success(deploymentServicePublishService.soldOut(deploymentServicePublish)); + } + } diff --git a/sf-admin/src/main/java/com/sf/deploy/controller/SysApkInfoController.java b/sf-system/src/main/java/com/sf/system/deployment/controller/SysApkInfoController.java similarity index 83% rename from sf-admin/src/main/java/com/sf/deploy/controller/SysApkInfoController.java rename to sf-system/src/main/java/com/sf/system/deployment/controller/SysApkInfoController.java index 6239438..65b298e 100644 --- a/sf-admin/src/main/java/com/sf/deploy/controller/SysApkInfoController.java +++ b/sf-system/src/main/java/com/sf/system/deployment/controller/SysApkInfoController.java @@ -1,25 +1,19 @@ -package com.sf.deploy.controller; +package com.sf.system.deployment.controller; -import java.util.List; -import javax.servlet.http.HttpServletResponse; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import com.sf.common.annotation.Log; import com.sf.common.core.controller.BaseController; import com.sf.common.core.domain.AjaxResult; -import com.sf.common.enums.BusinessType; -import com.sf.deploy.domain.SysApkInfo; -import com.sf.deploy.service.ISysApkInfoService; -import com.sf.common.utils.poi.ExcelUtil; import com.sf.common.core.page.TableDataInfo; +import com.sf.common.enums.BusinessType; +import com.sf.common.utils.poi.ExcelUtil; +import com.sf.system.deployment.domain.SysApkInfo; +import com.sf.system.deployment.service.ISysApkInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 安装包管理(新)Controller diff --git a/sf-system/src/main/java/com/sf/system/deployment/domain/DeploymentServicePublish.java b/sf-system/src/main/java/com/sf/system/deployment/domain/DeploymentServicePublish.java index 8dd44a9..fd10e8f 100644 --- a/sf-system/src/main/java/com/sf/system/deployment/domain/DeploymentServicePublish.java +++ b/sf-system/src/main/java/com/sf/system/deployment/domain/DeploymentServicePublish.java @@ -34,7 +34,7 @@ public class DeploymentServicePublish extends BaseEntity /** 安装包编号 */ @Excel(name = "安装包编号") - private String apkId; + private Long apkId; /** app store地址 */ @Excel(name = "app store地址") @@ -99,6 +99,30 @@ public class DeploymentServicePublish extends BaseEntity /** 更新人 */ private String modified; + /** 系统编码 */ + private String appCode; + + + /** 二维码 */ + private String quickMark; + + + public String getQuickMark() { + return quickMark; + } + + public void setQuickMark(String quickMark) { + this.quickMark = quickMark; + } + + public String getAppCode() { + return appCode; + } + + public void setAppCode(String appCode) { + this.appCode = appCode; + } + public void setId(Long id) { this.id = id; @@ -135,12 +159,12 @@ public class DeploymentServicePublish extends BaseEntity { return systemType; } - public void setApkId(String apkId) + public void setApkId(Long apkId) { this.apkId = apkId; } - public String getApkId() + public Long getApkId() { return apkId; } @@ -315,7 +339,8 @@ public class DeploymentServicePublish extends BaseEntity .append("created", getCreated()) .append("modified", getModified()) .append("createTime", getCreateTime()) - .append("updateTime", getUpdateTime()) + .append("appCode", getAppCode()) + .append("quickMark", getQuickMark()) .toString(); } } diff --git a/sf-admin/src/main/java/com/sf/deploy/domain/SysApkInfo.java b/sf-system/src/main/java/com/sf/system/deployment/domain/SysApkInfo.java similarity index 99% rename from sf-admin/src/main/java/com/sf/deploy/domain/SysApkInfo.java rename to sf-system/src/main/java/com/sf/system/deployment/domain/SysApkInfo.java index 8b09ef0..b08bd48 100644 --- a/sf-admin/src/main/java/com/sf/deploy/domain/SysApkInfo.java +++ b/sf-system/src/main/java/com/sf/system/deployment/domain/SysApkInfo.java @@ -1,9 +1,9 @@ -package com.sf.deploy.domain; +package com.sf.system.deployment.domain; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; import com.sf.common.annotation.Excel; import com.sf.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; /** * 安装包管理(新)对象 SYS_APK_INFO diff --git a/sf-admin/src/main/java/com/sf/deploy/mapper/SysApkInfoMapper.java b/sf-system/src/main/java/com/sf/system/deployment/mapper/SysApkInfoMapper.java similarity index 93% rename from sf-admin/src/main/java/com/sf/deploy/mapper/SysApkInfoMapper.java rename to sf-system/src/main/java/com/sf/system/deployment/mapper/SysApkInfoMapper.java index 00ef991..71ce17f 100644 --- a/sf-admin/src/main/java/com/sf/deploy/mapper/SysApkInfoMapper.java +++ b/sf-system/src/main/java/com/sf/system/deployment/mapper/SysApkInfoMapper.java @@ -1,7 +1,9 @@ -package com.sf.deploy.mapper; +package com.sf.system.deployment.mapper; + + +import com.sf.system.deployment.domain.SysApkInfo; import java.util.List; -import com.sf.deploy.domain.SysApkInfo; /** * 安装包管理(新)Mapper接口 diff --git a/sf-system/src/main/java/com/sf/system/deployment/service/IDeploymentServicePublishService.java b/sf-system/src/main/java/com/sf/system/deployment/service/IDeploymentServicePublishService.java index a9ab32a..e307482 100644 --- a/sf-system/src/main/java/com/sf/system/deployment/service/IDeploymentServicePublishService.java +++ b/sf-system/src/main/java/com/sf/system/deployment/service/IDeploymentServicePublishService.java @@ -2,6 +2,7 @@ package com.sf.system.deployment.service; import com.sf.system.deployment.domain.DeploymentServicePublish; +import java.io.IOException; import java.util.List; /** @@ -59,4 +60,8 @@ public interface IDeploymentServicePublishService * @return 结果 */ public int deleteDeploymentServicePublishById(Long id); + + public int publish(DeploymentServicePublish deploymentServicePublish) throws Exception; + + public int soldOut(DeploymentServicePublish deploymentServicePublish); } diff --git a/sf-admin/src/main/java/com/sf/deploy/service/ISysApkInfoService.java b/sf-system/src/main/java/com/sf/system/deployment/service/ISysApkInfoService.java similarity index 93% rename from sf-admin/src/main/java/com/sf/deploy/service/ISysApkInfoService.java rename to sf-system/src/main/java/com/sf/system/deployment/service/ISysApkInfoService.java index 6d7dc3f..1925ff2 100644 --- a/sf-admin/src/main/java/com/sf/deploy/service/ISysApkInfoService.java +++ b/sf-system/src/main/java/com/sf/system/deployment/service/ISysApkInfoService.java @@ -1,7 +1,9 @@ -package com.sf.deploy.service; +package com.sf.system.deployment.service; + + +import com.sf.system.deployment.domain.SysApkInfo; import java.util.List; -import com.sf.deploy.domain.SysApkInfo; /** * 安装包管理(新)Service接口 diff --git a/sf-system/src/main/java/com/sf/system/deployment/service/impl/DeploymentServicePublishServiceImpl.java b/sf-system/src/main/java/com/sf/system/deployment/service/impl/DeploymentServicePublishServiceImpl.java index 1e1749c..1f57ddb 100644 --- a/sf-system/src/main/java/com/sf/system/deployment/service/impl/DeploymentServicePublishServiceImpl.java +++ b/sf-system/src/main/java/com/sf/system/deployment/service/impl/DeploymentServicePublishServiceImpl.java @@ -1,12 +1,21 @@ package com.sf.system.deployment.service.impl; +import java.io.IOException; import java.util.List; import com.sf.common.utils.DateUtils; +import com.sf.common.utils.file.QRCodeUtils; +import com.sf.file.domain.SysOss; +import com.sf.file.service.ISysOssService; import com.sf.system.deployment.domain.DeploymentServicePublish; +import com.sf.system.deployment.domain.SysApkInfo; import com.sf.system.deployment.mapper.DeploymentServicePublishMapper; import com.sf.system.deployment.service.IDeploymentServicePublishService; +import com.sf.system.deployment.service.ISysApkInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; /** * 发布列表Service业务层处理 @@ -17,6 +26,10 @@ import org.springframework.stereotype.Service; @Service public class DeploymentServicePublishServiceImpl implements IDeploymentServicePublishService { + @Resource + private ISysApkInfoService iSysApkInfoService; + @Resource + private ISysOssService iSysOssService; @Autowired private DeploymentServicePublishMapper deploymentServicePublishMapper; @@ -93,4 +106,26 @@ public class DeploymentServicePublishServiceImpl implements IDeploymentServicePu { return deploymentServicePublishMapper.deleteDeploymentServicePublishById(id); } + + @Override + public int publish(DeploymentServicePublish deploymentServicePublish) throws Exception { + if(1 == deploymentServicePublish.getStatus()){ + return 0;//不允许重复发布 + } + deploymentServicePublish.setUpdateTime(DateUtils.getNowDate()); + SysApkInfo sysApkInfo = iSysApkInfoService.selectSysApkInfoById(deploymentServicePublish.getApkId()); + SysOss oss = iSysOssService.upload(QRCodeUtils.generateQRCode(sysApkInfo.getSysApk())); + deploymentServicePublish.setStatus(1L); + deploymentServicePublish.setQuickMark(oss.getUrl()); + return deploymentServicePublishMapper.updateDeploymentServicePublish(deploymentServicePublish); + } + + @Override + public int soldOut(DeploymentServicePublish deploymentServicePublish) { + if(2 == deploymentServicePublish.getStatus()){ + return 0;//不允许重复下架 + } + deploymentServicePublish.setStatus(3L); + return deploymentServicePublishMapper.updateDeploymentServicePublish(deploymentServicePublish); + } } diff --git a/sf-admin/src/main/java/com/sf/deploy/service/impl/SysApkInfoServiceImpl.java b/sf-system/src/main/java/com/sf/system/deployment/service/impl/SysApkInfoServiceImpl.java similarity index 91% rename from sf-admin/src/main/java/com/sf/deploy/service/impl/SysApkInfoServiceImpl.java rename to sf-system/src/main/java/com/sf/system/deployment/service/impl/SysApkInfoServiceImpl.java index 4821588..b0513ec 100644 --- a/sf-admin/src/main/java/com/sf/deploy/service/impl/SysApkInfoServiceImpl.java +++ b/sf-system/src/main/java/com/sf/system/deployment/service/impl/SysApkInfoServiceImpl.java @@ -1,12 +1,13 @@ -package com.sf.deploy.service.impl; +package com.sf.system.deployment.service.impl; -import java.util.List; import com.sf.common.utils.DateUtils; +import com.sf.system.deployment.domain.SysApkInfo; +import com.sf.system.deployment.mapper.SysApkInfoMapper; +import com.sf.system.deployment.service.ISysApkInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.sf.deploy.mapper.SysApkInfoMapper; -import com.sf.deploy.domain.SysApkInfo; -import com.sf.deploy.service.ISysApkInfoService; + +import java.util.List; /** * 安装包管理(新)Service业务层处理 @@ -15,7 +16,7 @@ import com.sf.deploy.service.ISysApkInfoService; * @date 2024-04-11 */ @Service -public class SysApkInfoServiceImpl implements ISysApkInfoService +public class SysApkInfoServiceImpl implements ISysApkInfoService { @Autowired private SysApkInfoMapper sysApkInfoMapper; diff --git a/sf-system/src/main/resources/mapper/system/deployment/DeploymentServicePublishMapper.xml b/sf-system/src/main/resources/mapper/system/deployment/DeploymentServicePublishMapper.xml index bd838e4..95cbadc 100644 --- a/sf-system/src/main/resources/mapper/system/deployment/DeploymentServicePublishMapper.xml +++ b/sf-system/src/main/resources/mapper/system/deployment/DeploymentServicePublishMapper.xml @@ -8,6 +8,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + @@ -32,7 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, apply_id, app_name, system_type, apk_id, app_store_address, version, version_desc, publish_environment, publish_strategy, result_notify, public_version, force_update, download_verification, update_object, validity_start_time, validity_end_time, remark, status, is_delete, created, modified, create_time, update_time from DEPLOYMENT_SERVICE_PUBLISH + select id, apply_id, app_name, app_code, quick_mark, system_type, apk_id, app_store_address, version, version_desc, publish_environment, publish_strategy, result_notify, public_version, force_update, download_verification, update_object, validity_start_time, validity_end_time, remark, status, is_delete, created, modified, create_time, update_time from DEPLOYMENT_SERVICE_PUBLISH - - - and app_code = #{appCode} - and uploading_type = #{uploadingType} - and sys_apk_name like concat('%', #{sysApkName}, '%') - and version = #{version} - and sys_type = #{sysType} - and uploading_status = #{uploadingStatus} - and created = #{created} - - - - - - - insert into SYS_APK_INFO - - uploading_type, - sys_apk_name, - version, - sys_apk, - sys_apk_size, - sys_type, - uploading_status, - uploading_log_id, - order_num, - is_delete, - created, - modified, - create_time, - update_time, - - - #{uploadingType}, - #{sysApkName}, - #{version}, - #{sysApk}, - #{sysApkSize}, - #{sysType}, - #{uploadingStatus}, - #{uploadingLogId}, - #{orderNum}, - #{isDelete}, - #{created}, - #{modified}, - #{createTime}, - #{updateTime}, - - - - - update SYS_APK_INFO - - uploading_type = #{uploadingType}, - sys_apk_name = #{sysApkName}, - version = #{version}, - sys_apk = #{sysApk}, - sys_apk_size = #{sysApkSize}, - sys_type = #{sysType}, - uploading_status = #{uploadingStatus}, - uploading_log_id = #{uploadingLogId}, - order_num = #{orderNum}, - is_delete = #{isDelete}, - created = #{created}, - modified = #{modified}, - create_time = #{createTime}, - update_time = #{updateTime}, - - where id = #{id} - - - - delete from SYS_APK_INFO where id = #{id} - - - - delete from SYS_APK_INFO where id in - - #{id} - - + + + + + + + + + + + + + + + + + + + + + + + + + + select id, app_id,app_code, uploading_type, sys_apk_name, version, sys_apk, sys_apk_size, sys_type, uploading_status, uploading_log_id, order_num, is_delete, created, modified, create_time, update_time from SYS_APK_INFO + + + + + + + + insert into SYS_APK_INFO + + uploading_type, + sys_apk_name, + version, + sys_apk, + sys_apk_size, + sys_type, + uploading_status, + uploading_log_id, + order_num, + is_delete, + created, + modified, + create_time, + update_time, + + + #{uploadingType}, + #{sysApkName}, + #{version}, + #{sysApk}, + #{sysApkSize}, + #{sysType}, + #{uploadingStatus}, + #{uploadingLogId}, + #{orderNum}, + #{isDelete}, + #{created}, + #{modified}, + #{createTime}, + #{updateTime}, + + + + + update SYS_APK_INFO + + uploading_type = #{uploadingType}, + sys_apk_name = #{sysApkName}, + version = #{version}, + sys_apk = #{sysApk}, + sys_apk_size = #{sysApkSize}, + sys_type = #{sysType}, + uploading_status = #{uploadingStatus}, + uploading_log_id = #{uploadingLogId}, + order_num = #{orderNum}, + is_delete = #{isDelete}, + created = #{created}, + modified = #{modified}, + create_time = #{createTime}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from SYS_APK_INFO where id = #{id} + + + + delete from SYS_APK_INFO where id in + + #{id} + + \ No newline at end of file diff --git a/sf-ui/src/api/deployment/publish.js b/sf-ui/src/api/deployment/publish.js index a944419..7bf0295 100644 --- a/sf-ui/src/api/deployment/publish.js +++ b/sf-ui/src/api/deployment/publish.js @@ -42,3 +42,17 @@ export function delPublish(id) { method: 'delete' }) } +// 发布 +export function publish(id) { + return request({ + url: '/deployment/publish/' + id, + method: 'get' + }) +} +// 下架 +export function delPublish(id) { + return request({ + url: '/deployment/sold/out/' + id, + method: 'get' + }) +}