Compare commits

..

No commits in common. "03808c145cafd5d895972e25586c4ba7cd8e6762" and "705bfda1669bf4bad0d44fd6bfd642fb7322fa65" have entirely different histories.

9 changed files with 106 additions and 4 deletions

View File

@ -52,6 +52,15 @@ public class QualityNotificationController extends BaseController {
return ApiResult.success();
}
/**
* 发布质量通知
*/
@PostMapping("publish")
public ApiResult<Void> publish(@NotNull Long id) {
qualityNotificationControllerService.publish(id);
return ApiResult.success();
}
/**
* 分页查询质量通知列表
*/

View File

@ -64,12 +64,20 @@ public class QualityNotificationControllerService {
Long operatorId = UserUtil.getUserId();
LocalDateTime now = LocalDateTime.now();
// 如果状态为已发布设置发布时间
LocalDateTime publishTime = null;
if (request.getStatus() == 2) {
publishTime = now;
}
QmsQualityNotification entity = new QmsQualityNotification()
.setNotificationTypeId(request.getNotificationTypeId())
.setTitle(request.getTitle())
.setTargetType(request.getTargetType())
.setContent(request.getContent())
.setStatus(request.getStatus())
.setState(1) // 默认启用
.setPublishTime(publishTime)
.setCreateById(operatorId)
.setCreateBy(operator)
.setCreateTime(now)
@ -93,6 +101,9 @@ public class QualityNotificationControllerService {
QmsQualityNotification exist = qualityNotificationService.getById(request.getId());
VUtil.trueThrowBusinessError(Objects.isNull(exist)).throwMessage("通知不存在");
// 已发布的通知不允许编辑
VUtil.trueThrowBusinessError(exist.getStatus() == 2).throwMessage("已发布的通知不允许编辑");
// 如果是手动选择用户必须提供用户ID列表
if (request.getTargetType() == 2) {
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getUserIds()))
@ -109,6 +120,7 @@ public class QualityNotificationControllerService {
.set(QmsQualityNotification::getTitle, request.getTitle())
.set(QmsQualityNotification::getTargetType, request.getTargetType())
.set(QmsQualityNotification::getContent, request.getContent())
.set(QmsQualityNotification::getStatus, request.getStatus())
.set(QmsQualityNotification::getUpdateById, operatorId)
.set(QmsQualityNotification::getUpdateBy, operator)
.set(QmsQualityNotification::getUpdateTime, now)
@ -133,6 +145,9 @@ public class QualityNotificationControllerService {
QmsQualityNotification exist = qualityNotificationService.getById(id);
VUtil.trueThrowBusinessError(Objects.isNull(exist)).throwMessage("通知不存在");
// 已发布的通知不允许删除
VUtil.trueThrowBusinessError(exist.getStatus() == 2).throwMessage("已发布的通知不允许删除");
// 删除通知
qualityNotificationService.removeById(id);
@ -142,6 +157,31 @@ public class QualityNotificationControllerService {
.remove();
}
/**
* 发布质量通知
*/
@Transactional
public void publish(Long id) {
QmsQualityNotification exist = qualityNotificationService.getById(id);
VUtil.trueThrowBusinessError(Objects.isNull(exist)).throwMessage("通知不存在");
// 已发布的通知不能重复发布
VUtil.trueThrowBusinessError(exist.getStatus() == 2).throwMessage("通知已发布,不能重复发布");
String operator = UserUtil.getUserName();
Long operatorId = UserUtil.getUserId();
LocalDateTime now = LocalDateTime.now();
qualityNotificationService.lambdaUpdate()
.eq(QmsQualityNotification::getId, id)
.set(QmsQualityNotification::getStatus, 2)
.set(QmsQualityNotification::getPublishTime, now)
.set(QmsQualityNotification::getUpdateById, operatorId)
.set(QmsQualityNotification::getUpdateBy, operator)
.set(QmsQualityNotification::getUpdateTime, now)
.update();
}
/**
* 分页查询质量通知列表
*/
@ -165,7 +205,9 @@ public class QualityNotificationControllerService {
vo.setTitle(entity.getTitle());
vo.setTargetType(entity.getTargetType());
vo.setContent(entity.getContent());
vo.setStatus(entity.getStatus());
vo.setState(entity.getState());
vo.setPublishTime(entity.getPublishTime());
vo.setCreateById(entity.getCreateById());
vo.setCreateBy(entity.getCreateBy());
vo.setCreateTime(entity.getCreateTime());
@ -252,6 +294,10 @@ public class QualityNotificationControllerService {
if (vo.getTargetType() != null) {
vo.setTargetTypeName(vo.getTargetType() == 1 ? "全部" : "手动选择");
}
// 发布状态名称
if (vo.getStatus() != null) {
vo.setStatusName(vo.getStatus() == 1 ? "草稿" : "已发布");
}
// 启用状态名称
if (vo.getState() != null) {
vo.setStateName(vo.getState() == 1 ? "启用" : "禁用");

View File

@ -18,10 +18,10 @@ import java.util.List;
@Slf4j
public class DeploySitTest {
private static final String serviceName = "qms";
private static final String serviceName = "admin";
private static final String localPath = System.getProperty("user.dir") + "//target//";
private static final String remotePath = "/mnt/app/" + serviceName + "/admin/";
private static final String jarName = "nflg-" + serviceName + "-admin-1.0.0-SNAPSHOT.jar";
private static final String remotePath = "/mnt/app/qms/" + serviceName + "/";
private static final String jarName = "nflg-qms-" + serviceName + "-1.0.0-SNAPSHOT.jar";
@Test
public void DeployToSit() throws Exception {
@ -32,7 +32,7 @@ public class DeploySitTest {
//处理字体目录
// handleDir(sshUtil, localPath, remotePath, "fonts");
//处理lib目录
handleDir(sshUtil, localPath, remotePath, "lib");
// handleDir(sshUtil, localPath, remotePath, "lib");
//执行脚本启动服务
sshUtil.exec("cd " + remotePath + " && ./restart.sh");
sshUtil.disconnect();

View File

@ -39,4 +39,10 @@ public class QmsQualityNotificationAddQO {
* 通知内容HTML格式
*/
private String content;
/**
* 状态1=草稿2=已发布
*/
@NotNull(message = "状态不能为空")
private Integer status;
}

View File

@ -20,6 +20,11 @@ public class QmsQualityNotificationSearchQO extends SearchBaseQO {
*/
private Long notificationTypeId;
/**
* 状态1=草稿2=已发布
*/
private Integer status;
/**
* 启用状态1=启用2=禁用
*/

View File

@ -45,4 +45,10 @@ public class QmsQualityNotificationUpdateQO {
* 通知内容HTML格式
*/
private String content;
/**
* 状态1=草稿2=已发布
*/
@NotNull(message = "状态不能为空")
private Integer status;
}

View File

@ -43,6 +43,16 @@ public class QmsQualityNotificationVO {
*/
private String content;
/**
* 状态1=草稿2=已发布
*/
private Integer status;
/**
* 状态名称
*/
private String statusName;
/**
* 启用状态1=启用2=禁用
*/
@ -53,6 +63,11 @@ public class QmsQualityNotificationVO {
*/
private String stateName;
/**
* 发布时间
*/
private LocalDateTime publishTime;
/**
* 创建人ID
*/

View File

@ -46,11 +46,21 @@ public class QmsQualityNotification implements Serializable {
*/
private String content;
/**
* 状态1=草稿2=已发布
*/
private Integer status;
/**
* 启用状态1=启用2=禁用
*/
private Integer state;
/**
* 发布时间
*/
private LocalDateTime publishTime;
/**
* 创建人ID
*/

View File

@ -9,7 +9,9 @@
q.title,
q.target_type,
q.content,
q.status,
q.state,
q.publish_time,
q.create_by_id,
q.create_by,
q.create_time,
@ -25,6 +27,9 @@
<if test="request.notificationTypeId != null">
AND q.notification_type_id = #{request.notificationTypeId}
</if>
<if test="request.status != null">
AND q.status = #{request.status}
</if>
<if test="request.state != null">
AND q.state = #{request.state}
</if>