support pinyin search

This commit is contained in:
Timi
2026-08-21 13:51:26 +08:00
parent a523df6a07
commit acc3f05f12
10 changed files with 248 additions and 0 deletions
@@ -6,7 +6,9 @@ import com.imyeyu.api.modules.common.entity.Attachment;
import com.imyeyu.api.modules.common.entity.TagApply;
import com.imyeyu.api.modules.user.bean.Gender;
import com.imyeyu.api.modules.user.entity.User;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.imyeyu.java.TimiJava;
import com.imyeyu.spring.annotation.table.Column;
import com.imyeyu.spring.annotation.table.Transient;
import com.imyeyu.spring.entity.UUIDEntity;
import lombok.Data;
@@ -59,6 +61,18 @@ public class GaoCustomer extends UUIDEntity {
/// 姓名
private String name;
@Column("zh_cn_pinyin_full")
@JsonIgnore
private String namePinyinFull;
@Column("zh_cn_pinyin_initial")
@JsonIgnore
private String namePinyinInitial;
@Column("zh_cn_pinyin_mixed")
@JsonIgnore
private String namePinyinMixed;
/// 性别
private Gender gender;
@@ -21,6 +21,7 @@ import com.imyeyu.api.modules.gao.vo.GaoCustomerTrendStateReq;
import com.imyeyu.api.modules.system.entity.Logger;
import com.imyeyu.api.modules.system.service.LoggerService;
import com.imyeyu.api.modules.user.service.UserLoginService;
import com.imyeyu.api.util.PinyinUtil;
import com.imyeyu.java.TimiJava;
import com.imyeyu.java.bean.timi.TimiCode;
import com.imyeyu.java.bean.timi.TimiException;
@@ -91,6 +92,7 @@ public class GaoCustomerServiceImplement extends AbstractEntityService<GaoCustom
public void create(GaoCustomer customer) {
TimiException.required(customer.getName(), "not found customer.name");
TimiException.required(customer.getStoreId(), "not found customer.storeId");
fillPinyin(customer);
Logger logger = new Logger(Logger.Module.GAO, "GAO_CUSTOMER_CREATE");
try {
@@ -169,6 +171,7 @@ public class GaoCustomerServiceImplement extends AbstractEntityService<GaoCustom
}
}
dbCustomer.setName(customer.getName());
fillPinyin(dbCustomer);
dbCustomer.setGender(customer.getGender());
dbCustomer.setAge(customer.getAge());
dbCustomer.setBirthdateCalendar(customer.getBirthdateCalendar());
@@ -424,4 +427,11 @@ public class GaoCustomerServiceImplement extends AbstractEntityService<GaoCustom
customer.setInvitedCount(customer.getInvitedCount() + delta);
mapper.update(customer);
}
private void fillPinyin(GaoCustomer customer) {
String name = customer.getName();
customer.setNamePinyinFull(PinyinUtil.full(name));
customer.setNamePinyinInitial(PinyinUtil.initial(name));
customer.setNamePinyinMixed(PinyinUtil.mixed(name));
}
}