sj
2 years ago
31 changed files with 422 additions and 86 deletions
@ -0,0 +1,18 @@
|
||||
package co.yixiang.modules.evaluation.domain; |
||||
|
||||
|
||||
import lombok.Data; |
||||
|
||||
@Data |
||||
public class EditableTabs { |
||||
// {title: '初始栏',
|
||||
// name: '0',
|
||||
// content: '产品展示栏',
|
||||
// configuration:'富文本框'
|
||||
//}
|
||||
private String title; |
||||
private String name; |
||||
private String content; |
||||
private String configuration; |
||||
|
||||
} |
@ -1,6 +0,0 @@
|
||||
package co.yixiang.modules.inform.service; |
||||
|
||||
public interface SendMsgService { |
||||
//type:0 支付 1:申请退款
|
||||
String inform(long orderId,int type); |
||||
} |
@ -0,0 +1,20 @@
|
||||
package co.yixiang.modules.store.service.dto; |
||||
|
||||
|
||||
import lombok.Data; |
||||
|
||||
/** |
||||
* @author ssj |
||||
* @date 2022-10-26 |
||||
*/ |
||||
@Data |
||||
public class YxStoreBrandNameDto { |
||||
// 商品品牌表ID
|
||||
private Integer id; |
||||
|
||||
// 品牌名称
|
||||
private String brandName; |
||||
|
||||
// 品牌图标
|
||||
private String pic; |
||||
} |
@ -0,0 +1,177 @@
|
||||
package co.yixiang.modules.store.service.impl; |
||||
|
||||
/** |
||||
* 排序算法 |
||||
* @author sj |
||||
* @creation date 2022-10-26 |
||||
*/ |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.HashMap; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** 首字母排序分类 **/ |
||||
public class Sort { |
||||
|
||||
/** |
||||
* 字母大小写标识 capital:大写 |
||||
*/ |
||||
private static final String Letter_flag_capital = "capital"; |
||||
|
||||
/** |
||||
* 排序的方法 |
||||
* @param list 需要排序的List集合 |
||||
* @return |
||||
*/ |
||||
public Map<String, List<String>> sort(List<String> list){ |
||||
Map<String,List<String>> map = new HashMap<String,List<String>>(); |
||||
List<String> arraylist = new ArrayList<String>(); |
||||
String[] alphatableb = |
||||
{ |
||||
"A", "B", "C", "D", "E", "F", "G", "H", "I", |
||||
"J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" |
||||
}; |
||||
for(String a:alphatableb){ |
||||
for(int i=0;i<list.size();i++){//为了排序都返回大写字母
|
||||
if(a.equals(String2AlphaFirst(list.get(i).toString(),Letter_flag_capital))){ |
||||
arraylist.add(list.get(i).toString()); |
||||
} |
||||
} |
||||
map.put(a,arraylist); |
||||
arraylist=new ArrayList<String>(); |
||||
} |
||||
return map; |
||||
} |
||||
|
||||
//字母Z使用了两个标签,这里有27个值
|
||||
//i, u, v都不做声母, 跟随前面的字母
|
||||
private char[] chartable = |
||||
{ |
||||
'啊', '芭', '擦', '搭', '蛾', '发', '噶', '哈', '哈', |
||||
'击', '喀', '垃', '妈', '拿', '哦', '啪', '期', '然', |
||||
'撒', '塌', '塌', '塌', '挖', '昔', '压', '匝', '座' |
||||
}; |
||||
|
||||
// 大写字母匹配数组
|
||||
private char[] alphatableb = |
||||
{ |
||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', |
||||
'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' |
||||
}; |
||||
|
||||
// 小写字母匹配数组
|
||||
private char[] alphatables = |
||||
{ |
||||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', |
||||
'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' |
||||
}; |
||||
|
||||
private int[] table = new int[27]; //初始化
|
||||
{ |
||||
for (int i = 0; i < 27; ++i) { |
||||
table[i] = gbValue(chartable[i]); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 主函数,输入字符,得到他的声母,英文字母返回对应的大小写字母,英文字母返回对应的大小写字母 |
||||
* @param ch 字符 |
||||
* @param type 大小写类型标识 |
||||
* @return |
||||
*/ |
||||
public char Char2Alpha(char ch,String type) { |
||||
if (ch >= 'a' && ch <= 'z') |
||||
return (char) (ch - 'a' + 'A');//为了按字母排序先返回大写字母
|
||||
|
||||
if (ch >= 'A' && ch <= 'Z') |
||||
return ch; |
||||
int gb = gbValue(ch); |
||||
if (gb < table[0]) |
||||
return '0'; |
||||
|
||||
int i; |
||||
for (i = 0; i < 26; ++i) { |
||||
if (match(i, gb)) |
||||
break; |
||||
} |
||||
|
||||
if (i >= 26){ |
||||
return '0';} |
||||
else{ |
||||
if(Letter_flag_capital.equals(type)){//大写
|
||||
return alphatableb[i]; |
||||
}else{//小写
|
||||
return alphatables[i]; |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 |
||||
* @param SourceStr 目标字符串 |
||||
* @param type 大小写类型 |
||||
* @return |
||||
*/ |
||||
public String String2Alpha(String SourceStr,String type) { |
||||
String Result = ""; |
||||
int StrLength = SourceStr.length(); |
||||
int i; |
||||
try { |
||||
for (i = 0; i < StrLength; i++) { |
||||
Result += Char2Alpha(SourceStr.charAt(i),type); |
||||
} |
||||
} catch (Exception e) { |
||||
Result = ""; |
||||
} |
||||
return Result; |
||||
} |
||||
|
||||
/** |
||||
* 根据一个包含汉字的字符串返回第一个汉字拼音首字母的字符串 |
||||
* @param SourceStr 目标字符串 |
||||
* @param type 大小写类型 |
||||
* @return |
||||
*/ |
||||
public String String2AlphaFirst(String SourceStr,String type) { |
||||
String Result = ""; |
||||
try { |
||||
Result += Char2Alpha(SourceStr.charAt(0),type); |
||||
} catch (Exception e) { |
||||
Result = ""; |
||||
} |
||||
return Result; |
||||
} |
||||
private boolean match(int i, int gb) { |
||||
if (gb < table[i]) |
||||
return false; |
||||
int j = i + 1; |
||||
|
||||
//字母Z使用了两个标签
|
||||
while (j < 26 && (table[j] == table[i])) |
||||
++j; |
||||
if (j == 26) |
||||
return gb <= table[j]; |
||||
else |
||||
return gb < table[j]; |
||||
} |
||||
|
||||
/** |
||||
* 取出汉字的编码 |
||||
* @param ch |
||||
* @return |
||||
*/ |
||||
private int gbValue(char ch) { |
||||
String str = new String(); |
||||
str += ch; |
||||
try { |
||||
byte[] bytes = str.getBytes("GBK"); |
||||
if (bytes.length < 2) |
||||
return 0; |
||||
return (bytes[0] << 8 & 0xff00) + (bytes[1] & |
||||
0xff); |
||||
} catch (Exception e) { |
||||
return 0; |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue