chenchaod il y a 4 jours
Parent
révision
a8ce1359ad

+ 9
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/AllEnum.java Voir le fichier

import cn.com.taiji.common.model.KeyValue; import cn.com.taiji.common.model.KeyValue;
import cn.com.taiji.core.entity.dict.issue.ProductAfterType; import cn.com.taiji.core.entity.dict.issue.ProductAfterType;
import cn.com.taiji.core.entity.dict.issue.ShippingStatus; import cn.com.taiji.core.entity.dict.issue.ShippingStatus;
import cn.com.taiji.core.entity.dict.issue.ProcessingFeeType;
import cn.com.taiji.core.entity.dict.issue.UseFeeType;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;

import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;


public enum AllEnum { public enum AllEnum {
// ALL_ENUM(AllEnum.keyValues(),"全部枚举"), // ALL_ENUM(AllEnum.keyValues(),"全部枚举"),



//==============================issue===========================================
SHIPPINGS_TATUS(ShippingStatus.keyValues(),"邮寄状态"), SHIPPINGS_TATUS(ShippingStatus.keyValues(),"邮寄状态"),
PRODUCT_AFTER_TYPE(ProductAfterType.keyValues(), "产品售后收费类型"), PRODUCT_AFTER_TYPE(ProductAfterType.keyValues(), "产品售后收费类型"),
PROCESSING_FEETYPE(ProcessingFeeType.keyValues(),"产品办理收费类型"),
USEFEE_TYPE(UseFeeType.keyValues(),"产品使用收费类型"),
//==============================issue===========================================


BUCKET_FILEBUS(BucketFileBus.keyValues(), "文件业务类型"), BUCKET_FILEBUS(BucketFileBus.keyValues(), "文件业务类型"),
; ;
private List<KeyValue> keyValues; private List<KeyValue> keyValues;

+ 8
- 9
gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/issue/ProcessingFeeType.java Voir le fichier

package cn.com.taiji.core.entity.dict.issue; package cn.com.taiji.core.entity.dict.issue;


import cn.com.taiji.common.model.KeyValue;
import cn.com.taiji.common.model.StringKeyValue; import cn.com.taiji.common.model.StringKeyValue;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
public enum ProcessingFeeType { public enum ProcessingFeeType {


/*** 办理费类型枚举 */ /*** 办理费类型枚举 */
HANDLE(1, "权益金"),
MARGIN(2, "保证金"),
PRESTORE(3, "预存金"),
HANDLE("权益金"),
MARGIN( "保证金"),
PRESTORE("预存金"),
; ;


private final Integer code;
private final String value;


private final String name;

public List<StringKeyValue> assType() {
List<StringKeyValue> stringKeyValues = new ArrayList<>();
public static List<KeyValue> keyValues() {
List<KeyValue> stringKeyValues = new ArrayList<>();
for (ProcessingFeeType value : values()) { for (ProcessingFeeType value : values()) {
StringKeyValue stringKeyValue = new StringKeyValue(value.name(), value.getName());
StringKeyValue stringKeyValue = new StringKeyValue(value.name(), value.value);
stringKeyValues.add(stringKeyValue); stringKeyValues.add(stringKeyValue);
} }
return stringKeyValues; return stringKeyValues;

+ 33
- 0
gly-base-core/src/main/java/cn/com/taiji/core/entity/dict/issue/UseFeeType.java Voir le fichier

package cn.com.taiji.core.entity.dict.issue;

import cn.com.taiji.common.model.KeyValue;
import cn.com.taiji.common.model.StringKeyValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.ArrayList;
import java.util.List;

/**
* @Author:ChenChao
* @Date:2025/5/29 16:09
* @Filename:UseFeeType
* @description: 产品使用费类型
*/

@AllArgsConstructor
@Getter
public enum UseFeeType {
SERVICE("服务费"),
MARGIN("综合服务费"),
;
private String value;

public static List<KeyValue> keyValues() {
List<KeyValue> stringKeyValues = new ArrayList<>();
for (UseFeeType value : values()) {
StringKeyValue stringKeyValue = new StringKeyValue(value.name(), value.value);
stringKeyValues.add(stringKeyValue);
}
return stringKeyValues;
}
}

+ 1
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/issue/IssueCouponDetail.java Voir le fichier

private LocalDateTime validStartTime;//卡券生效时间 private LocalDateTime validStartTime;//卡券生效时间
@NotNull @NotNull
@Column(name = "VALID_EDN_TIME") @Column(name = "VALID_EDN_TIME")
private LocalDateTime validEdnTime;//卡券截止时间
private LocalDateTime validEndTime;//卡券截止时间
@NotNull @NotNull
@Column(name = "CODE_CREATE_TIME") @Column(name = "CODE_CREATE_TIME")
private LocalDateTime codeCreateTime;//兑换码生成时间 private LocalDateTime codeCreateTime;//兑换码生成时间

+ 1
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/issue/IssueProductPay.java Voir le fichier

@NotBlank @NotBlank
@Size(max = 20) @Size(max = 20)
@Column(name = "FEE_TYPE") @Column(name = "FEE_TYPE")
private String feeType;//费用类型 办理费的收费类型从ProcessingFeeType枚举获取 ;使用费的收费类型从字典获取
private String feeType;//费用类型
@NotNull @NotNull
@Column(name = "CHARGE_METHOD") @Column(name = "CHARGE_METHOD")
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)

+ 2
- 2
gly-base-core/src/main/java/cn/com/taiji/core/entity/issue/IssueProductPromotion.java Voir le fichier

@Column(name = "OPERATE_USER_NAME") @Column(name = "OPERATE_USER_NAME")
private String operateUserName;//操作人姓名 private String operateUserName;//操作人姓名
@Column(name = "EXAMINE") @Column(name = "EXAMINE")
private Integer examine;//审核通过状态 0-通过 1-不通过 2-待审核
private Integer examine = 2;//审核通过状态 0-通过 1-不通过 2-待审核
@Size(max = 300) @Size(max = 300)
@Column(name = "EXAMINE_DES") @Column(name = "EXAMINE_DES")
private String examineDes;//审核原因 private String examineDes;//审核原因
@NotNull @NotNull
@Column(name = "STATUS") @Column(name = "STATUS")
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private EnableStatus status;//状态
private EnableStatus status = EnableStatus.DISABLE;//状态
@NotNull @NotNull
@Column(name = "INSERT_TIME") @Column(name = "INSERT_TIME")
private LocalDateTime insertTime = LocalDateTime.now();//创建时间 private LocalDateTime insertTime = LocalDateTime.now();//创建时间

+ 3
- 1
gly-base-core/src/main/java/cn/com/taiji/core/entity/issue/IssueProductUseFee.java Voir le fichier

import javax.validation.constraints.Size; import javax.validation.constraints.Size;


import cn.com.taiji.common.entity.StringPropertyUUIDEntity; import cn.com.taiji.common.entity.StringPropertyUUIDEntity;
import cn.com.taiji.core.entity.dict.issue.UseFeeType;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;


private String releaseId;//产品编号 private String releaseId;//产品编号
@NotBlank @NotBlank
@Size(max = 20) @Size(max = 20)
@Enumerated(EnumType.STRING)
@Column(name = "USE_FEE_TYPE") @Column(name = "USE_FEE_TYPE")
private String useFeeType;//使用费类型
private UseFeeType useFeeType;//使用费类型
@NotNull @NotNull
@Column(name = "BILLING_MODE") @Column(name = "BILLING_MODE")
private Integer billingMode;//计费方式 0次数,1按月,2按年 private Integer billingMode;//计费方式 0次数,1按月,2按年

+ 15
- 5
gly-base-core/src/main/java/cn/com/taiji/core/manager/tools/excel/AbstractListener.java Voir le fichier

import com.alibaba.excel.read.listener.ReadListener; import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.util.ListUtils; import com.alibaba.excel.util.ListUtils;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import lombok.Data;
import lombok.Getter;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
* @Date 2023/4/4 14:57 * @Date 2023/4/4 14:57
* @Email 13079168756@163.com * @Email 13079168756@163.com
*/ */
@Getter
public abstract class AbstractListener<T> implements ReadListener<T> { public abstract class AbstractListener<T> implements ReadListener<T> {
protected Logger logger = LoggerFactory.getLogger(this.getClass()); protected Logger logger = LoggerFactory.getLogger(this.getClass());


/** /**
* 缓存的数据 * 缓存的数据
*/ */
private List<T> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
public List<T> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);


/** /**
* 当前处理excel的第几行数 * 当前处理excel的第几行数
logger.error(e.getMessage()); logger.error(e.getMessage());
throw new RuntimeException(e.getMessage()); throw new RuntimeException(e.getMessage());
} }
logger.info("所有数据解析入库完成!");
// logger.info("所有数据解析入库完成!");
} }
} }


/***
* 将扫excel数据入库的行为抽象出来
// /***
// * 将扫excel数据入库的行为抽象出来
// */
// protected abstract void saveData(List<T> dataList) throws ServiceHandleException;

/**
* 将扫excel数据入库的行为提取出来
* @param dataList
* @throws ServiceHandleException
*/ */
protected abstract void saveData(List<T> dataList) throws ServiceHandleException;
protected void saveData(List<T> dataList) throws ServiceHandleException {}




//字段非空校验 //字段非空校验

+ 71
- 0
gly-base-core/src/main/java/cn/com/taiji/core/manager/tools/excel/LocalDateTimeConverter.java Voir le fichier

package cn.com.taiji.core.manager.tools.excel;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.ReadConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;

import java.time.LocalDateTime;

/**
* 时间转换器
*
* @Author weicailin
* @Date 2023/08/28 028 14:11
*/
public class LocalDateTimeConverter implements Converter<LocalDateTime> {

@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}

@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}

/**
* 这里读取excel行时会调用
*/
@Override
public LocalDateTime convertToJavaData(ReadConverterContext<?> context) {
String value = context.getReadCellData().getStringValue();
value = value.trim();

//判断是否有斜线/,有则替换为横杆-,避免转换异常
if (value.contains("/")) {
value = value.replaceAll("/", "-");
}

//判断是否有T,没有则补充,避免转换失败
if (10 == value.indexOf(" ")) {
value = value.replaceAll(" ", "T");
}

LocalDateTime localDateTime = null;
try {
localDateTime = LocalDateTime.parse(value);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("时间格式转换异常");
}


return localDateTime;
}

public static void main(String[] args) {
String value = "2023-03-04 11:39:33";
if (value.contains("/")) {
value = value.replaceAll("/", "-");
}

if (10 == value.indexOf(" ")) {
value = value.replaceAll(" ", "T");
}

LocalDateTime localDateTime = LocalDateTime.parse(value);
System.out.println(localDateTime);
}

}

+ 6
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/comm/CommonPayConfigRepo.java Voir le fichier



import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.comm.CommonPayConfig; import cn.com.taiji.core.entity.comm.CommonPayConfig;
import cn.com.taiji.core.entity.dict.pay.PayChannelType;

import java.util.List;


public interface CommonPayConfigRepo extends AbstractJpaRepo<CommonPayConfig, String>{ public interface CommonPayConfigRepo extends AbstractJpaRepo<CommonPayConfig, String>{


//通过支付渠道查询
List<CommonPayConfig> findByPayChannelType(PayChannelType payChannelType);

} }

+ 8
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/issue/IssueMultipleEquityRepo.java Voir le fichier



import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.issue.IssueMultipleEquity; import cn.com.taiji.core.entity.issue.IssueMultipleEquity;
import org.springframework.data.jpa.repository.Query;

import java.util.List;


public interface IssueMultipleEquityRepo extends AbstractJpaRepo<IssueMultipleEquity, String>{ public interface IssueMultipleEquityRepo extends AbstractJpaRepo<IssueMultipleEquity, String>{



@Query("from IssueMultipleEquity where singleIds like ?1")
List<IssueMultipleEquity> findBySingleLike(String singleId);


} }

+ 8
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/issue/IssueProductPayRepo.java Voir le fichier

@Query("delete from IssueProductPay where feeCategory=?1 and feeType = ?2 and releaseId = ?3") @Query("delete from IssueProductPay where feeCategory=?1 and feeType = ?2 and releaseId = ?3")
int deleteByffr(FeeCategory feeCategory,String feeType,String releaseId); int deleteByffr(FeeCategory feeCategory,String feeType,String releaseId);


//通过推广产品ID删除
@Transactional
@Modifying
@Query("delete from IssueProductPay where proId = ?1")
int deleteByProId(String proId);

List<IssueProductPay> findByFeeCategoryAndReleaseId(FeeCategory feeCategory,String releaseId); List<IssueProductPay> findByFeeCategoryAndReleaseId(FeeCategory feeCategory,String releaseId);


List<IssueProductPay> findByReleaseId(String releaseId);

} }

+ 12
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/issue/IssueProductPromotionRepo.java Voir le fichier

package cn.com.taiji.core.repo.jpa.issue; package cn.com.taiji.core.repo.jpa.issue;


import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.dict.EnableStatus;
import cn.com.taiji.core.entity.issue.IssueProductPromotion; import cn.com.taiji.core.entity.issue.IssueProductPromotion;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;

import java.time.LocalDateTime;


public interface IssueProductPromotionRepo extends AbstractJpaRepo<IssueProductPromotion, String>{ public interface IssueProductPromotionRepo extends AbstractJpaRepo<IssueProductPromotion, String>{


IssueProductPromotion findByReleaseId(String releaseId); IssueProductPromotion findByReleaseId(String releaseId);


//更改状态
@Modifying
@Transactional
@Query("update IssueProductPromotion set status =?1 ,updateTime = ?2 where id = ?3")
int updateState(EnableStatus status, LocalDateTime time, String id);

} }

+ 11
- 0
gly-base-core/src/main/java/cn/com/taiji/core/repo/jpa/issue/IssueSingleEquityRepo.java Voir le fichier

package cn.com.taiji.core.repo.jpa.issue; package cn.com.taiji.core.repo.jpa.issue;


import cn.com.taiji.common.repo.jpa.AbstractJpaRepo; import cn.com.taiji.common.repo.jpa.AbstractJpaRepo;
import cn.com.taiji.core.entity.dict.EnableStatus;
import cn.com.taiji.core.entity.issue.IssueSingleEquity; import cn.com.taiji.core.entity.issue.IssueSingleEquity;
import org.springframework.data.jpa.repository.Query;

import java.util.List;


public interface IssueSingleEquityRepo extends AbstractJpaRepo<IssueSingleEquity, String>{ public interface IssueSingleEquityRepo extends AbstractJpaRepo<IssueSingleEquity, String>{


@Query("select max(singleEquityId) from IssueSingleEquity where singleEquityId like ?1 ")
String findSeqCodeByDate(String date);

List<IssueSingleEquity> findByStatus(EnableStatus status);

IssueSingleEquity findByEquityName(String equityName);

} }

Chargement…
Annuler
Enregistrer