Pārlūkot izejas kodu

高速快讯接口完成未测试

master
huminghao pirms 1 dienas
vecāks
revīzija
ecb72a243e
26 mainītis faili ar 1160 papildinājumiem un 0 dzēšanām
  1. 57
    0
      gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/operation/BusinessType.java
  2. 47
    0
      gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/operation/FlashType.java
  3. 49
    0
      gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/operation/TriggerType.java
  4. 49
    0
      gly-base-core/src/main/java/cn/com/taiji/core/entity/operation/NoticeFlash.java
  5. 43
    0
      gly-base-core/src/main/java/cn/com/taiji/core/entity/operation/NoticePromptText.java
  6. 8
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/operation/NoticeFlashRepo.java
  7. 8
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/operation/NoticePromptTextRepo.java
  8. 49
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/request/operation/NoticeFlashPageRequest.java
  9. 49
    0
      gly-base-core/src/main/java/cn/com/taiji/core/repo/request/operation/NoticePromptTextPageRequest.java
  10. 69
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/api/operation/NoticeFlashController.java
  11. 64
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/api/operation/NoticePromptTextController.java
  12. 97
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashAddRequestDTO.java
  13. 26
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashAddResponseDTO.java
  14. 27
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashDeleteRequestDTO.java
  15. 26
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashDeleteResponseDTO.java
  16. 40
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashPageRequestDTO.java
  17. 33
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashStatusRequestDTO.java
  18. 26
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashStatusResponseDTO.java
  19. 101
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashUpdateRequestDTO.java
  20. 26
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashUpdateResponseDTO.java
  21. 40
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/prompt/NoticePromptTextPageRequestDTO.java
  22. 65
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/AbstractManagewManager.java
  23. 27
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/operation/NoticeFlashManager.java
  24. 83
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/operation/NoticeFlashManagerImpl.java
  25. 20
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/operation/NoticePromptTextManager.java
  26. 31
    0
      zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/operation/NoticePromptTextManagerImpl.java

+ 57
- 0
gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/operation/BusinessType.java Parādīt failu

@@ -0,0 +1,57 @@
package cn.com.taiji.core.entity.dict.operation;

/**
* @desc : 库存类型
*/
public enum BusinessType {
COMMON_PROBLEM("常见问题",1){},
INFORMATION_COPY("信息副本导出",2){},
PROCESSING_CONDITIONS("办理条件",3){},
PRIVILEGE_USE("权限使用说明",4){},
USER_AGREEMENT("用户协议",5){},
PRIVACY_AGREEMENT("平台用户服务隐私协议",6){},
RISK_NOTIFICATION("风险提示告知书",7){},
BROADCAST("广播信息",8){},
WITHHOLD_AGREEMENT("代扣协议",9){},
USER_DELETE("个人用户信息删除",10){},
PRIVACY_POLICY("隐私政策",11){},
PERSONAL_COLLECTION("个人信息收集清单",12){},
;

private String value;

private int code;

private BusinessType(String value, int code){
this.value=value;
this.code=code;
}

public static BusinessType fromCode(Integer code){
for(BusinessType type: BusinessType.values()){
if(type.getCode()==code){
return type;
}
}
return null;
}

public static BusinessType fromValue(String value){
for(BusinessType type: BusinessType.values()){
if(type.getValue().equals(value)){
return type;
}
}
return null;
}

public String getValue() {
return value;
}


public int getCode() {
return code;
}

}

+ 47
- 0
gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/operation/FlashType.java Parādīt failu

@@ -0,0 +1,47 @@
package cn.com.taiji.core.entity.dict.operation;

/**
* @desc : 库存类型
*/
public enum FlashType {
COPYWRITING("文案",1){},
SLIDESHOW("轮播图",2){},
;

private String value;

private int code;

private FlashType(String value, int code){
this.value=value;
this.code=code;
}

public static FlashType fromCode(Integer code){
for(FlashType type: FlashType.values()){
if(type.getCode()==code){
return type;
}
}
return null;
}

public static FlashType fromValue(String value){
for(FlashType type: FlashType.values()){
if(type.getValue().equals(value)){
return type;
}
}
return null;
}

public String getValue() {
return value;
}


public int getCode() {
return code;
}

}

+ 49
- 0
gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/operation/TriggerType.java Parādīt failu

@@ -0,0 +1,49 @@
package cn.com.taiji.core.entity.dict.operation;

/**
* @desc : 库存类型
*/
public enum TriggerType {
THIRD_PARTY_LINK("第三方链接",1){},
NATIVE_ROUTE("本地路由",2){},
TEXT("文本内容",3){},
THIRD_PARTY_MINI("第三方应用小程序",4){},
;

private String value;

private int code;

private TriggerType(String value, int code){
this.value=value;
this.code=code;
}

public static TriggerType fromCode(Integer code){
for(TriggerType type: TriggerType.values()){
if(type.getCode()==code){
return type;
}
}
return null;
}

public static TriggerType fromValue(String value){
for(TriggerType type: TriggerType.values()){
if(type.getValue().equals(value)){
return type;
}
}
return null;
}

public String getValue() {
return value;
}


public int getCode() {
return code;
}

}

+ 49
- 0
gly-base-core/src/main/java/cn/com/taiji/core/entity/operation/NoticeFlash.java Parādīt failu

@@ -0,0 +1,49 @@
package cn.com.taiji.core.entity.operation;

import cn.com.taiji.core.entity.AbstractStringPropertyUUIDEntity;
import cn.com.taiji.core.entity.dict.EnableStatus;
import cn.com.taiji.core.entity.dict.operation.FlashType;
import cn.com.taiji.core.entity.dict.operation.TriggerType;
import cn.com.taiji.core.entity.dict.user.IsEnable;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;
import javax.persistence.*;

@Entity
@Getter
@Setter
@Table(name = "NOTICE_FLASH")
public class NoticeFlash extends AbstractStringPropertyUUIDEntity {

@Column(name = "TITLE")
private String title;//标题
@Column(name = "IMG_URL")
private String imgUrl;//图片地址
@Column(name = "HYPER_LINK")
private String hyperLink;//超链接
@Column(name = "TRIGGER_TYPE")
private TriggerType triggerType;//触发类型
@Column(name = "SEQUENCE")
private Integer sequence;//排序
@Column(name = "STATUS")
private IsEnable status;//状态
@Column(name = "ROUTE_URL")
private String routeUrl;//路由地址
@Column(name = "TEXT")
private String text;//文本内容
@Column(name = "TEXT_TYPE")
private String textType;//文本类型
@Column(name = "FLASH_TYPE")
private FlashType flashType;//快讯类型
@Column(name = "MINI_APPID")
private String miniAppid;//第三方小程序Appid
@Column(name = "DELETED")
private Boolean deleted = false;//是否删除
@Column(name = "INSERT_TIME")
private LocalDateTime insertTime;
@Column(name = "UPDATE_TIME")
private LocalDateTime updateTime;

}

+ 43
- 0
gly-base-core/src/main/java/cn/com/taiji/core/entity/operation/NoticePromptText.java Parādīt failu

@@ -0,0 +1,43 @@
package cn.com.taiji.core.entity.operation;

import cn.com.taiji.core.entity.AbstractStringPropertyUUIDEntity;
import cn.com.taiji.core.entity.dict.EnableStatus;
import cn.com.taiji.core.entity.dict.operation.BusinessType;
import cn.com.taiji.core.entity.dict.operation.FlashType;
import cn.com.taiji.core.entity.dict.operation.TriggerType;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.time.LocalDateTime;

@Entity
@Getter
@Setter
@Table(name = "NOTICE_PROMPT_TEXT")
public class NoticePromptText extends AbstractStringPropertyUUIDEntity {

@Column(name = "TITLE")
private String title;//标题

@Column(name = "TEXT_TYPE")
private String textType;//文本类型

@Column(name = "TEXT")
private String text;//文本内容

@Column(name = "BUSINESS_TYPE")
private BusinessType businessType;//业务类型

@Column(name = "DELETED")
private Boolean deleted = false;//是否删除

@Column(name = "INSERT_TIME")
private LocalDateTime insertTime;

@Column(name = "UPDATE_TIME")
private LocalDateTime updateTime;

}

+ 8
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/operation/NoticeFlashRepo.java Parādīt failu

@@ -0,0 +1,8 @@
package cn.com.taiji.core.repo.jpa.operation;

import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.operation.NoticeFlash;

public interface NoticeFlashRepo extends AbstractJpaRepo<NoticeFlash, String> {

}

+ 8
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/operation/NoticePromptTextRepo.java Parādīt failu

@@ -0,0 +1,8 @@
package cn.com.taiji.core.repo.jpa.operation;

import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.operation.NoticePromptText;

public interface NoticePromptTextRepo extends AbstractJpaRepo<NoticePromptText, String> {

}

+ 49
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/request/operation/NoticeFlashPageRequest.java Parādīt failu

@@ -0,0 +1,49 @@
package cn.com.taiji.core.repo.request.operation;

import cn.com.taiji.common.pub.dao.HqlBuilder;
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest;
import cn.com.taiji.core.entity.dict.EnableStatus;
import cn.com.taiji.core.entity.dict.operation.FlashType;
import cn.com.taiji.core.entity.dict.user.IsEnable;
import cn.com.taiji.core.entity.invw.InvwCardDetails;
import cn.com.taiji.core.entity.operation.NoticeFlash;

import java.time.LocalDateTime;

/**
* @Auther: humh
* @Description:
* @Date: 2025/6/5 20:24
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
public class NoticeFlashPageRequest extends JpaDateTimePageableDataRequest<NoticeFlash> {

/** 标题 */
private String title;
/** 状态 */
private IsEnable status;
/** 快讯类型 */
private FlashType flashType;

private LocalDateTime startTime;

private LocalDateTime endTime;


public NoticeFlashPageRequest() {
this.orderBy="updateTime";
this.desc=true;
}

@Override
public HqlBuilder toSelectHql(){
HqlBuilder hql = new HqlBuilder("from NoticeFlash where 1=1 and deleted = 0 ");
hql.append(" and title like :title",title);
hql.append(" and status = :status",status);
hql.append(" and flashType = :flashType",flashType);
hql.append(" insertTime >= :startTime",startTime);
hql.append(" insertTime <= :endTime",endTime);
return hql;
}
}

+ 49
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/request/operation/NoticePromptTextPageRequest.java Parādīt failu

@@ -0,0 +1,49 @@
package cn.com.taiji.core.repo.request.operation;

import cn.com.taiji.common.pub.dao.HqlBuilder;
import cn.com.taiji.common.repo.request.jpa.JpaDateTimePageableDataRequest;
import cn.com.taiji.core.entity.dict.operation.BusinessType;
import cn.com.taiji.core.entity.operation.NoticePromptText;

import java.time.LocalDateTime;

/**
* @Auther: humh
* @Description:
* @Date: 2025/6/5 20:24
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
public class NoticePromptTextPageRequest extends JpaDateTimePageableDataRequest<NoticePromptText> {

/** 标题 */
private String title;
/** 文本内容 */
private String text;
/** 文本类型 */
private String textType;
/** 业务类型 */
private BusinessType businessType;

private LocalDateTime startTime;

private LocalDateTime endTime;


public NoticePromptTextPageRequest() {
this.orderBy="updateTime";
this.desc=true;
}

@Override
public HqlBuilder toSelectHql(){
HqlBuilder hql = new HqlBuilder("from NoticePromptText where 1=1 and deleted = 0 ");
hql.append(" and title like :title",title);
hql.append(" and text like :text",text);
hql.append(" and textType = :textType",textType);
hql.append(" and businessType = :businessType",businessType);
hql.append(" insertTime >= :startTime",startTime);
hql.append(" insertTime <= :endTime",endTime);
return hql;
}
}

+ 69
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/api/operation/NoticeFlashController.java Parādīt failu

@@ -0,0 +1,69 @@
package cn.com.taiji.managew.api.operation;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.web.ApiResponse;
import cn.com.taiji.managew.api.MyValidController;
import cn.com.taiji.managew.dto.operation.flash.*;
import cn.com.taiji.managew.manager.operation.NoticeFlashManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

/**
* @Auther: humh
* @Description: 高速快讯
* @Date: 2025/6/5
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Api(tags = {"高速快讯"})
@RestController
@RequestMapping("/api/notice/flash")
public class NoticeFlashController extends MyValidController {

@Autowired
private NoticeFlashManager manager;

@ApiOperation("分页查询")
@PostMapping("/page")
public ApiResponse<Pagination> page(@Valid @RequestBody NoticeFlashPageRequestDTO req) throws ManagerException {
return ApiResponse.of(manager.page(req));
}

@ApiOperation("新增")
@PostMapping("/add")
public ApiResponse<NoticeFlashAddResponseDTO> add(@Valid @RequestBody NoticeFlashAddRequestDTO req) throws ManagerException {
return ApiResponse.of(manager.add(req));
}

@ApiOperation("更新")
@PostMapping("/update")
public ApiResponse<NoticeFlashUpdateResponseDTO> update(@Valid @RequestBody NoticeFlashUpdateRequestDTO req) throws ManagerException {
return ApiResponse.of(manager.update(req));
}

@ApiOperation("状态变更")
@PostMapping("/statusUpdate")
public ApiResponse<NoticeFlashStatusResponseDTO> statusUpdate(@Valid @RequestBody NoticeFlashStatusRequestDTO req) throws ManagerException {
return ApiResponse.of(manager.statusUpdate(req));
}

@ApiOperation("删除")
@PostMapping("/delete")
public ApiResponse<NoticeFlashDeleteResponseDTO> delete(@Valid @RequestBody NoticeFlashDeleteRequestDTO req) throws ManagerException {
return ApiResponse.of(manager.delete(req));
}






}

+ 64
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/api/operation/NoticePromptTextController.java Parādīt failu

@@ -0,0 +1,64 @@
package cn.com.taiji.managew.api.operation;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.web.ApiResponse;
import cn.com.taiji.managew.api.MyValidController;
import cn.com.taiji.managew.dto.operation.flash.*;
import cn.com.taiji.managew.dto.operation.prompt.NoticePromptTextPageRequestDTO;
import cn.com.taiji.managew.manager.operation.NoticePromptTextManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;

/**
* @Auther: humh
* @Description: 文本管理
* @Date: 2025/6/6
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Api(tags = {"文本管理"})
@RestController
@RequestMapping("/api/notice/promptText")
public class NoticePromptTextController extends MyValidController {

@Autowired
private NoticePromptTextManager manager;

@ApiOperation("分页查询")
@PostMapping("/page")
public ApiResponse<Pagination> page(@Valid @RequestBody NoticePromptTextPageRequestDTO req) throws ManagerException {
return ApiResponse.of(manager.page(req));
}

// @ApiOperation("新增")
// @PostMapping("/add")
// public ApiResponse<NoticeFlashAddResponseDTO> add(@Valid @RequestBody NoticeFlashAddRequestDTO req) throws ManagerException {
// return ApiResponse.of(manager.add(req));
// }
//
// @ApiOperation("更新")
// @PostMapping("/update")
// public ApiResponse<NoticeFlashUpdateResponseDTO> update(@Valid @RequestBody NoticeFlashUpdateRequestDTO req) throws ManagerException {
// return ApiResponse.of(manager.update(req));
// }
//
// @ApiOperation("删除")
// @PostMapping("/delete")
// public ApiResponse<NoticeFlashDeleteResponseDTO> delete(@Valid @RequestBody NoticeFlashDeleteRequestDTO req) throws ManagerException {
// return ApiResponse.of(manager.delete(req));
// }






}

+ 97
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashAddRequestDTO.java Parādīt failu

@@ -0,0 +1,97 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO;
import cn.com.taiji.core.entity.dict.operation.FlashType;
import cn.com.taiji.core.entity.dict.operation.TriggerType;
import cn.com.taiji.core.entity.dict.user.IsEnable;
import cn.com.taiji.managew.tools.StringUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/19 16:29
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Setter
@Getter
@ApiModel(description = "高速快讯新增请求")
public class NoticeFlashAddRequestDTO extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "标题")
@NotBlank
private String title;

@ApiModelProperty(value = "图片地址")
@NotBlank
private String imgUrl;

@ApiModelProperty(value = "快讯类型")
@NotNull
private FlashType flashType;

@ApiModelProperty(value = "触发类型")
@NotNull
private TriggerType triggerType;

@ApiModelProperty(value = "超链接")
private String hyperLink;

@ApiModelProperty(value = "第三方小程序Appid")
private String miniAppid;

@ApiModelProperty(value = "路由地址")
private String routeUrl;

@ApiModelProperty(value = "文本类型")
private String textType;

@ApiModelProperty(value = "文本内容")
private String text;

@ApiModelProperty(value = "排序")
@NotNull
private Integer sequence;

@ApiModelProperty(value = "状态")
@NotNull
private IsEnable status;


public void valid() throws ManagerException {
if (TriggerType.THIRD_PARTY_LINK.equals(triggerType)){
if (StringUtils.isBlank(hyperLink)){
throw new ManagerException(triggerType.getValue()+"触发类型的超链接必填!");
}
}else if (TriggerType.NATIVE_ROUTE.equals(triggerType)){
if (StringUtils.isBlank(routeUrl)){
throw new ManagerException(triggerType.getValue()+"触发类型的本地路由必填!");
}
}else if (TriggerType.TEXT.equals(triggerType)){
if (StringUtils.isEmpty(text)){
throw new ManagerException(triggerType.getValue()+"触发类型的文本内容必填!");
}
if (StringUtils.isEmpty(textType)){
throw new ManagerException(triggerType.getValue()+"触发类型的文本类型必填!");
}
}else if (TriggerType.THIRD_PARTY_MINI.equals(triggerType)){
if (StringUtils.isBlank(miniAppid)){
throw new ManagerException(triggerType.getValue()+"触发类型的Appid必填!");
}
if (StringUtils.isBlank(routeUrl)){
throw new ManagerException(triggerType.getValue()+"触发类型的本地路由必填!");
}
}else {
throw new ManagerException(triggerType.getValue()+"触发类型不符合规范!");
}
}

}

+ 26
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashAddResponseDTO.java Parādīt failu

@@ -0,0 +1,26 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/29 16:09
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Getter
@Setter
@ApiModel(description = "高速快讯新增响应")
public class NoticeFlashAddResponseDTO extends BaseModel {

private String id;

public NoticeFlashAddResponseDTO(String id) {
this.id = id;
}

}

+ 27
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashDeleteRequestDTO.java Parādīt failu

@@ -0,0 +1,27 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/19 16:29
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Setter
@Getter
@ApiModel(description = "删除请求")
public class NoticeFlashDeleteRequestDTO extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "id")
@NotBlank
private String id;

}

+ 26
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashDeleteResponseDTO.java Parādīt failu

@@ -0,0 +1,26 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/29 16:09
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Getter
@Setter
@ApiModel(description = "删除响应")
public class NoticeFlashDeleteResponseDTO extends BaseModel {

private String id;

public NoticeFlashDeleteResponseDTO(String id) {
this.id = id;
}

}

+ 40
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashPageRequestDTO.java Parādīt failu

@@ -0,0 +1,40 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO;
import cn.com.taiji.core.entity.dict.operation.FlashType;
import cn.com.taiji.core.entity.dict.user.IsEnable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/19 16:29
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Setter
@Getter
@ApiModel(description = "高速快讯分页查询")
public class NoticeFlashPageRequestDTO extends AbstractStaffBizPageRequestDTO {

@ApiModelProperty(value = "标题")
private String title;

@ApiModelProperty(value = "状态")
private IsEnable status;

@ApiModelProperty(value = "快讯类型")
private FlashType flashType;

@ApiModelProperty(value = "开始时间")
private LocalDateTime startTime;

@ApiModelProperty(value = "结束时间")
private LocalDateTime endTime;

}

+ 33
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashStatusRequestDTO.java Parādīt failu

@@ -0,0 +1,33 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO;
import cn.com.taiji.core.entity.dict.user.IsEnable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/19 16:29
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Setter
@Getter
@ApiModel(description = "状态更新请求")
public class NoticeFlashStatusRequestDTO extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "id")
@NotBlank
private String id;

@ApiModelProperty(value = "状态")
@NotNull
private IsEnable status;

}

+ 26
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashStatusResponseDTO.java Parādīt failu

@@ -0,0 +1,26 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/29 16:09
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Getter
@Setter
@ApiModel(description = "状态更新响应")
public class NoticeFlashStatusResponseDTO extends BaseModel {

private String id;

public NoticeFlashStatusResponseDTO(String id) {
this.id = id;
}

}

+ 101
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashUpdateRequestDTO.java Parādīt failu

@@ -0,0 +1,101 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.core.dto.AbstractStaffBizRequestDTO;
import cn.com.taiji.core.entity.dict.operation.FlashType;
import cn.com.taiji.core.entity.dict.operation.TriggerType;
import cn.com.taiji.core.entity.dict.user.IsEnable;
import cn.com.taiji.managew.tools.StringUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/19 16:29
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Setter
@Getter
@ApiModel(description = "高速快讯更新请求")
public class NoticeFlashUpdateRequestDTO extends AbstractStaffBizRequestDTO {

@ApiModelProperty(value = "id")
@NotBlank
private String id;

@ApiModelProperty(value = "标题")
@NotBlank
private String title;

@ApiModelProperty(value = "图片地址")
@NotBlank
private String imgUrl;

@ApiModelProperty(value = "快讯类型")
@NotNull
private FlashType flashType;

@ApiModelProperty(value = "触发类型")
@NotNull
private TriggerType triggerType;

@ApiModelProperty(value = "超链接")
private String hyperLink;

@ApiModelProperty(value = "第三方小程序Appid")
private String miniAppid;

@ApiModelProperty(value = "路由地址")
private String routeUrl;

@ApiModelProperty(value = "文本类型")
private String textType;

@ApiModelProperty(value = "文本内容")
private String text;

@ApiModelProperty(value = "排序")
@NotNull
private Integer sequence;

@ApiModelProperty(value = "状态")
@NotNull
private IsEnable status;


public void valid() throws ManagerException {
if (TriggerType.THIRD_PARTY_LINK.equals(triggerType)){
if (StringUtils.isBlank(hyperLink)){
throw new ManagerException(triggerType.getValue()+"触发类型的超链接必填!");
}
}else if (TriggerType.NATIVE_ROUTE.equals(triggerType)){
if (StringUtils.isBlank(routeUrl)){
throw new ManagerException(triggerType.getValue()+"触发类型的本地路由必填!");
}
}else if (TriggerType.TEXT.equals(triggerType)){
if (StringUtils.isEmpty(text)){
throw new ManagerException(triggerType.getValue()+"触发类型的文本内容必填!");
}
if (StringUtils.isEmpty(textType)){
throw new ManagerException(triggerType.getValue()+"触发类型的文本类型必填!");
}
}else if (TriggerType.THIRD_PARTY_MINI.equals(triggerType)){
if (StringUtils.isBlank(miniAppid)){
throw new ManagerException(triggerType.getValue()+"触发类型的Appid必填!");
}
if (StringUtils.isBlank(routeUrl)){
throw new ManagerException(triggerType.getValue()+"触发类型的本地路由必填!");
}
}else {
throw new ManagerException(triggerType.getValue()+"触发类型不符合规范!");
}
}

}

+ 26
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/flash/NoticeFlashUpdateResponseDTO.java Parādīt failu

@@ -0,0 +1,26 @@
package cn.com.taiji.managew.dto.operation.flash;

import cn.com.taiji.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Getter;
import lombok.Setter;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/29 16:09
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Getter
@Setter
@ApiModel(description = "高速快讯更新响应")
public class NoticeFlashUpdateResponseDTO extends BaseModel {

private String id;

public NoticeFlashUpdateResponseDTO(String id) {
this.id = id;
}

}

+ 40
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/dto/operation/prompt/NoticePromptTextPageRequestDTO.java Parādīt failu

@@ -0,0 +1,40 @@
package cn.com.taiji.managew.dto.operation.prompt;

import cn.com.taiji.core.dto.AbstractStaffBizPageRequestDTO;
import cn.com.taiji.core.entity.dict.EnableStatus;
import cn.com.taiji.core.entity.dict.operation.FlashType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
* @Auther: humh
* @Description:
* @Date: 2025/5/19 16:29
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Setter
@Getter
@ApiModel(description = "提示文本分页查询")
public class NoticePromptTextPageRequestDTO extends AbstractStaffBizPageRequestDTO {

@ApiModelProperty(value = "标题")
private String title;

@ApiModelProperty(value = "状态")
private EnableStatus status;

@ApiModelProperty(value = "快讯类型")
private FlashType flashType;

@ApiModelProperty(value = "开始时间")
private LocalDateTime startTime;

@ApiModelProperty(value = "结束时间")
private LocalDateTime endTime;

}

+ 65
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/AbstractManagewManager.java Parādīt failu

@@ -0,0 +1,65 @@
package cn.com.taiji.managew.manager;

import cn.com.taiji.common.pub.IPTools;
import cn.com.taiji.common.pub.TimeTools;
import cn.com.taiji.core.entity.dict.basic.SourceType;
import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.log.OperateLog;
import cn.com.taiji.core.entity.user.AccountInfo;
import cn.com.taiji.core.repo.jpa.log.OperateLogRepo;
import cn.com.taiji.core.repo.jpa.user.AccountInfoRepo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;

/**
* @Auther: humh
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
public abstract class AbstractManagewManager extends AbstractCommManager{

@Autowired
private OperateLogRepo operateLogRepo;
@Autowired
private AccountInfoRepo accountInfoRepo;

// 操作日志记录
protected void persistOperateLog(OperateType operateType, String operatorDataId, SourceType source,
String openId, String msg) {
saveOperateLog(operateType, operatorDataId, source, openId, getAccountName(openId), msg);
}

protected void saveOperateLog(OperateType operateType, String dataId, SourceType source, String openId,
String operatorName, String msg) {
HttpServletRequest request =
((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String ip = IPTools.getIpAddr(request);
LocalDateTime now = LocalDateTime.now();
OperateLog log = new OperateLog();
log.setPartKey(Long.valueOf(now.format(TimeTools.yyyyMM)));
log.setLoginSource(source);
log.setOperatorId(openId);
log.setOperatorName(operatorName);
log.setOperateTime(now);
log.setOperateIp(ip);
log.setOperateType(operateType);
log.setOperatorDataId(dataId);
log.setMsg(msg);
operateLogRepo.persist(log);
}

protected String getAccountName(String openId) {
return getAccountInfo(openId).getUserName();
}

protected AccountInfo getAccountInfo(String openId) {
if (openId == null) {
return null;
}
return accountInfoRepo.findByOpenId(openId);
}
}

+ 27
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/operation/NoticeFlashManager.java Parādīt failu

@@ -0,0 +1,27 @@
package cn.com.taiji.managew.manager.operation;


import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.managew.dto.operation.flash.*;

/**
* @Auther: humh
* @Description:
* @Date: 2025/6/5 20:14
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
public interface NoticeFlashManager{

Pagination page(NoticeFlashPageRequestDTO req);

NoticeFlashAddResponseDTO add(NoticeFlashAddRequestDTO req) throws ManagerException;

NoticeFlashUpdateResponseDTO update(NoticeFlashUpdateRequestDTO req) throws ManagerException;

NoticeFlashStatusResponseDTO statusUpdate(NoticeFlashStatusRequestDTO req) throws ServiceHandleException;

NoticeFlashDeleteResponseDTO delete(NoticeFlashDeleteRequestDTO req) throws ServiceHandleException;
}

+ 83
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/operation/NoticeFlashManagerImpl.java Parādīt failu

@@ -0,0 +1,83 @@
package cn.com.taiji.managew.manager.operation;

import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.manager.net.http.ServiceHandleException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.common.pub.BeanTools;
import cn.com.taiji.core.entity.dict.log.OperateType;
import cn.com.taiji.core.entity.operation.NoticeFlash;
import cn.com.taiji.core.repo.jpa.operation.NoticeFlashRepo;
import cn.com.taiji.core.repo.request.operation.NoticeFlashPageRequest;
import cn.com.taiji.managew.dto.operation.flash.*;
import cn.com.taiji.managew.manager.AbstractManagewManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;

/**
* @Auther: humh
* @Description:
* @Date: 2025/6/5 20:14
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Service
public class NoticeFlashManagerImpl extends AbstractManagewManager implements NoticeFlashManager {

@Autowired
private NoticeFlashRepo repo;

@Override
public Pagination page(NoticeFlashPageRequestDTO req) {
NoticeFlashPageRequest pageRequest = copyProperties(req, new NoticeFlashPageRequest());
return repo.page(pageRequest);
}

@Override
public NoticeFlashAddResponseDTO add(NoticeFlashAddRequestDTO req) throws ManagerException {
//校验
req.valid();
NoticeFlash flash = copyProperties(req, new NoticeFlash());
LocalDateTime now = LocalDateTime.now();
flash.setInsertTime(now);
flash.setUpdateTime(now);
repo.save(flash);
persistOperateLog(OperateType.FALSH_ADD, flash.getId(), req.getOrderSource(), findOpenIdByToken(req.getAccessToken()), "高速快讯添加");
return new NoticeFlashAddResponseDTO(flash.getId());
}

@Override
public NoticeFlashUpdateResponseDTO update(NoticeFlashUpdateRequestDTO req) throws ManagerException {
//校验
req.valid();
NoticeFlash flash = repo.findById(req.getId()).orElse(null);
BeanTools.copyProperties(req, flash);
flash.setUpdateTime(LocalDateTime.now());
repo.merge(flash);
persistOperateLog(OperateType.FALSH_UPDATE, flash.getId(), req.getOrderSource(), findOpenIdByToken(req.getAccessToken()), "高速快讯更新");
return new NoticeFlashUpdateResponseDTO(flash.getId());
}

@Override
public NoticeFlashStatusResponseDTO statusUpdate(NoticeFlashStatusRequestDTO req) throws ServiceHandleException {
NoticeFlash flash = repo.findById(req.getId()).orElse(null);
flash.setStatus(req.getStatus());
flash.setUpdateTime(LocalDateTime.now());
repo.merge(flash);
persistOperateLog(OperateType.FALSH_STATUS_UPDATE, flash.getId(), req.getOrderSource(), findOpenIdByToken(req.getAccessToken()), "高速快讯状态更新");
return new NoticeFlashStatusResponseDTO(flash.getId());
}

@Override
public NoticeFlashDeleteResponseDTO delete(NoticeFlashDeleteRequestDTO req) throws ServiceHandleException {
NoticeFlash flash = repo.findById(req.getId()).orElse(null);
flash.setUpdateTime(LocalDateTime.now());
flash.setDeleted(true);
repo.merge(flash);
persistOperateLog(OperateType.FALSH_DELETE, flash.getId(), req.getOrderSource(), findOpenIdByToken(req.getAccessToken()), "高速快讯删除");
return new NoticeFlashDeleteResponseDTO(flash.getId());
}


}

+ 20
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/operation/NoticePromptTextManager.java Parādīt failu

@@ -0,0 +1,20 @@
package cn.com.taiji.managew.manager.operation;


import cn.com.taiji.common.manager.ManagerException;
import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.managew.dto.operation.flash.*;
import cn.com.taiji.managew.dto.operation.prompt.NoticePromptTextPageRequestDTO;

/**
* @Auther: humh
* @Description:
* @Date: 2025/6/5 20:14
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
public interface NoticePromptTextManager {

Pagination page(NoticePromptTextPageRequestDTO req);

}

+ 31
- 0
zhywpt-app-managew/src/main/java/cn/com/taiji/managew/manager/operation/NoticePromptTextManagerImpl.java Parādīt failu

@@ -0,0 +1,31 @@
package cn.com.taiji.managew.manager.operation;

import cn.com.taiji.common.model.dao.Pagination;
import cn.com.taiji.core.repo.jpa.operation.NoticePromptTextRepo;
import cn.com.taiji.core.repo.request.operation.NoticePromptTextPageRequest;
import cn.com.taiji.managew.dto.operation.prompt.NoticePromptTextPageRequestDTO;
import cn.com.taiji.managew.manager.AbstractManagewManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
* @Auther: humh
* @Description:
* @Date: 2025/6/5 20:14
* @email: huminghao@mail.taiji.com.cn
* @version: 1.0
*/
@Service
public class NoticePromptTextManagerImpl extends AbstractManagewManager implements NoticePromptTextManager {

@Autowired
private NoticePromptTextRepo repo;


@Override
public Pagination page(NoticePromptTextPageRequestDTO req) {
NoticePromptTextPageRequest pageRequest = copyProperties(req, new NoticePromptTextPageRequest());
return repo.page(pageRequest);
}
}

Notiek ielāde…
Atcelt
Saglabāt