support pinyin search
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package com.imyeyu.api.modules.common.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.imyeyu.java.bean.Language;
|
||||
import com.imyeyu.spring.annotation.table.Column;
|
||||
import com.imyeyu.spring.entity.UUIDEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -15,6 +17,18 @@ public class Multilingual extends UUIDEntity {
|
||||
|
||||
protected String zhCN;
|
||||
|
||||
@Column("zh_cn_pinyin_full")
|
||||
@JsonIgnore
|
||||
protected String zhCNPinyinFull;
|
||||
|
||||
@Column("zh_cn_pinyin_initial")
|
||||
@JsonIgnore
|
||||
protected String zhCNPinyinInitial;
|
||||
|
||||
@Column("zh_cn_pinyin_mixed")
|
||||
@JsonIgnore
|
||||
protected String zhCNPinyinMixed;
|
||||
|
||||
protected String zhTW;
|
||||
|
||||
protected String enUS;
|
||||
|
||||
+23
@@ -3,6 +3,7 @@ package com.imyeyu.api.modules.common.service.implement;
|
||||
import com.imyeyu.api.modules.common.entity.Multilingual;
|
||||
import com.imyeyu.api.modules.common.mapper.MultilingualMapper;
|
||||
import com.imyeyu.api.modules.common.service.MultilingualService;
|
||||
import com.imyeyu.api.util.PinyinUtil;
|
||||
import com.imyeyu.spring.mapper.BaseMapper;
|
||||
import com.imyeyu.spring.service.AbstractEntityService;
|
||||
import com.imyeyu.spring.util.Redis;
|
||||
@@ -34,6 +35,18 @@ public class MultilingualServiceImplement extends AbstractEntityService<Multilin
|
||||
return mapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void create(Multilingual multilingual) {
|
||||
fillPinyin(multilingual);
|
||||
super.create(multilingual);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(Multilingual multilingual) {
|
||||
fillPinyin(multilingual);
|
||||
super.update(multilingual);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Multilingual get(String id) {
|
||||
Multilingual result = redisLanguage.get(getKey(id));
|
||||
@@ -81,4 +94,14 @@ public class MultilingualServiceImplement extends AbstractEntityService<Multilin
|
||||
private String getKey(String id) {
|
||||
return "%s%s".formatted(KEY_PREFIX, id);
|
||||
}
|
||||
|
||||
private void fillPinyin(Multilingual multilingual) {
|
||||
if (multilingual == null) {
|
||||
return;
|
||||
}
|
||||
String zhCN = multilingual.getZhCN();
|
||||
multilingual.setZhCNPinyinFull(PinyinUtil.full(zhCN));
|
||||
multilingual.setZhCNPinyinInitial(PinyinUtil.initial(zhCN));
|
||||
multilingual.setZhCNPinyinMixed(PinyinUtil.mixed(zhCN));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
+10
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user