消息中心,打印修改

This commit is contained in:
张松
2025-03-07 10:18:47 +08:00
parent a136c24d84
commit 32082dad96
28 changed files with 729 additions and 7 deletions

View File

@@ -0,0 +1,57 @@
package com.czg.account.dto;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.alibaba.fastjson2.annotation.JSONField;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 店铺消息推送设置 实体类。
*
* @author zs
* @since 2025-03-07
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShopMsgStateDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Long id;
/**
* 店铺id
*/
private Long shopId;
/**
* 类型 -1 所有消息 0库存预警 1 耗材预警 2 操作预警
*/
private Integer type;
/**
* 0关闭推送 1开启推送
*/
private Integer state;
/**
* 创建时间
*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* 修改时间
*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,65 @@
package com.czg.account.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 实体类。
*
* @author zs
* @since 2025-03-06
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ShopProdStatisticDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Long id;
/**
* 商品id
*/
private Long prodId;
/**
* 销售数量
*/
private Long saleNum;
/**
* 销售金额
*/
private BigDecimal saleAmount;
/**
* 退单量
*/
private Long refundNum;
/**
* 退单金额
*/
private BigDecimal refundAmount;
/**
* 店铺id
*/
private Long shopId;
/**
* 创建时间
*/
private Date createDay;
}

View File

@@ -0,0 +1,18 @@
package com.czg.account.dto.msg;
import lombok.Data;
/**
* @author Administrator
*/
@Data
public class ShopMsgEditDTO {
/**
* 类型 -1 所有消息 0库存预警 1 耗材预警 2 操作预警
*/
private Integer type;
/**
* 0关闭 1开启
*/
private Integer state;
}

View File

@@ -0,0 +1,27 @@
package com.czg.account.dto.msg;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.util.List;
/**
* @author Administrator
*/
@Data
public class ShopPushOpenIdEditDTO {
/**
* openId
*/
@NotEmpty(message = "openId不为空")
private String openId;
/**
* 类型 耗材推送 con 商品推送 pro 操作预警 ope
*/
@NotEmpty(message = "typeInfo不为空")
private List<String> typeInfo;
private Integer status;
}

View File

@@ -0,0 +1,63 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 店铺消息推送设置 实体类。
*
* @author zs
* @since 2025-03-07
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_msg_state")
public class ShopMsgState implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Auto)
private Long id;
/**
* 店铺id
*/
private Long shopId;
/**
* 类型 -1 所有消息 0库存预警 1 耗材预警 2 操作预警
*/
private Integer type;
/**
* 0关闭推送 1开启推送
*/
private Integer state;
/**
* 创建时间
*/
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
/**
* 修改时间
*/
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,71 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 实体类。
*
* @author zs
* @since 2025-03-06
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_prod_statistic")
public class ShopProdStatistic implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Auto)
private Long id;
/**
* 商品id
*/
private Long prodId;
/**
* 销售数量
*/
private Long saleNum;
/**
* 销售金额
*/
private BigDecimal saleAmount;
/**
* 退单量
*/
private Long refundNum;
/**
* 退单金额
*/
private BigDecimal refundAmount;
/**
* 店铺id
*/
private Long shopId;
/**
* 创建时间
*/
private Date createDay;
}

View File

@@ -1,5 +1,6 @@
package com.czg.account.entity;
import com.alibaba.fastjson2.annotation.JSONField;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
@@ -8,6 +9,7 @@ import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -48,7 +50,7 @@ public class ShopPushOpenId implements Serializable {
/**
* 状态 1 正常 0 禁用
*/
private String status;
private Integer status;
/**
* 创建时间
@@ -62,4 +64,17 @@ public class ShopPushOpenId implements Serializable {
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
/**
* 可推送类型 json字符串 耗材推送 conState 商品推送 proState 操作预警 allState
*/
private Object typeInfo;
/**
* 昵称
*/
private String nickname;
/**
* 头像
*/
private String avatar;
}

View File

@@ -0,0 +1,22 @@
package com.czg.account.service;
import com.czg.account.dto.msg.ShopMsgEditDTO;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.ShopMsgState;
import java.util.HashMap;
/**
* 店铺消息推送设置 服务层。
*
* @author zs
* @since 2025-03-07
*/
public interface ShopMsgStateService extends IService<ShopMsgState> {
HashMap<String, Object> getState(Long shopId);
Boolean edit(Long shopId, ShopMsgEditDTO shopMsgEditDTO);
String getCode(Long shopId) throws Exception;
}

View File

@@ -0,0 +1,16 @@
package com.czg.account.service;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.ShopProdStatistic;
/**
* 服务层。
*
* @author zs
* @since 2025-03-06
*/
public interface ShopProdStatisticService extends IService<ShopProdStatistic> {
Page<?> pageInfo(Long shopId, String name, String classifyId, String startTime, String endTime);
}

View File

@@ -1,8 +1,11 @@
package com.czg.account.service;
import com.czg.account.dto.msg.ShopPushOpenIdEditDTO;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.ShopPushOpenId;
import java.util.List;
/**
* 用户推送信息表 服务层。
*
@@ -11,4 +14,8 @@ import com.czg.account.entity.ShopPushOpenId;
*/
public interface ShopPushOpenIdService extends IService<ShopPushOpenId> {
List<ShopPushOpenId> pageInfo(Long shopId);
Boolean edit(Long shopId, ShopPushOpenIdEditDTO shopPushOpenIdEditDTO);
}

View File

@@ -0,0 +1,14 @@
package com.czg.account.vo;
import com.czg.account.entity.ShopProdStatistic;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author Administrator
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class ShopProdStatisticVO extends ShopProdStatistic {
private String name;
}

View File

@@ -0,0 +1,16 @@
package com.czg.account.vo;
import lombok.Data;
/**
* @author Administrator
*/
@Data
public class ShopPushOpenIdVO {
private Integer allState;
private Integer conState;
private Integer opeState;
private Integer proState;
private String nickname;
private String avatar;
}