From 13c76d69a02d937fc219818bfe98fb1b624f4eed Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Wed, 6 Dec 2023 11:25:44 +0800 Subject: [PATCH] bug --- src/main/java/com/peanut/config/TGDZ.java | 90 +++++++++++++++ .../book/controller/PointController.java | 28 ++++- .../modules/book/service/PointService.java | 6 +- .../book/service/impl/PointServiceImpl.java | 107 +++++++++++++++++- 4 files changed, 222 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/peanut/config/TGDZ.java b/src/main/java/com/peanut/config/TGDZ.java index ec13d9fd..b40052bf 100644 --- a/src/main/java/com/peanut/config/TGDZ.java +++ b/src/main/java/com/peanut/config/TGDZ.java @@ -17,6 +17,21 @@ public class TGDZ { public static final String[] dzr = {"甲子","乙丑","丙寅","丁卯","戊辰","己巳","庚午","辛未","壬申","癸酉","甲戌","乙亥","丙子","丁丑","戊寅","己卯","庚辰","辛巳","壬午","癸未","甲申","乙酉","丙戌","丁亥","戊子","己丑","庚寅","辛卯","壬辰","癸巳","甲午","乙未","丙申","丁酉","戊戌","己亥","庚子","辛丑","壬寅","癸卯","甲辰","乙巳","丙午","丁未","戊申","己酉","庚戌","辛亥","壬子","癸丑","甲寅","乙卯","丙辰","丁巳","戊午","己未","庚申","辛酉","壬戌","癸亥"}; + public static final String[] lgbf_d = {"申脉","照海","外关","临泣","照海","公孙","后溪","内关","列缺"}; + + public static final Map ftbf_d= new HashMap(){{ + put("甲","公孙"); + put("乙","坤传"); + put("丙","内关"); + put("丁","照海"); + put("戊","临泣"); + put("己","列缺"); + put("庚","外关"); + put("辛","后溪"); + put("壬","公孙"); + put("癸","坤传"); + }}; + public static final String[] lq = {"厥阴","少阴","太阴","少阳","阳明","太阳"}; public static final Map> ngf=new HashMap>(){{ @@ -86,6 +101,81 @@ public class TGDZ { }}; + public static final Map> nzf = new HashMap>(){{ + put("寅",new HashMap(){{ + put("bf","太渊"); + put("xf","尺泽"); + put("gsxb","经渠"); + put("gsbf","太渊"); + }}); + put("卯",new HashMap(){{ + put("bf","曲池"); + put("xf","三间"); + put("gsxb","商阳"); + put("gsbf","合谷"); + }}); + put("辰",new HashMap(){{ + put("bf","解溪"); + put("xf","厉兑"); + put("gsxb","三里"); + put("gsbf","冲阳"); + }}); + put("巳",new HashMap(){{ + put("bf","大都"); + put("xf","商丘"); + put("gsxb","太白"); + put("gsbf","太白"); + }}); + put("午",new HashMap(){{ + put("bf","少冲"); + put("xf","神门"); + put("gsxb","少府"); + put("gsbf","神门"); + }}); + put("未",new HashMap(){{ + put("bf","后溪"); + put("xf","小海"); + put("gsxb","阳谷"); + put("gsbf","腕骨"); + }}); + put("申",new HashMap(){{ + put("bf","至阴"); + put("xf","束骨"); + put("gsxb","通谷"); + put("gsbf","京骨"); + }}); + put("酉",new HashMap(){{ + put("bf","复溜"); + put("xf","涌泉"); + put("gsxb","阴谷"); + put("gsbf","太溪"); + }}); + put("戌",new HashMap(){{ + put("bf","中冲"); + put("xf","大陵"); + put("gsxb","劳宫"); + put("gsbf","大陵"); + }}); + put("亥",new HashMap(){{ + put("bf","中渚"); + put("xf","天井"); + put("gsxb","支沟"); + put("gsbf","阳池"); + }}); + put("子",new HashMap(){{ + put("bf","侠溪"); + put("xf","阳辅"); + put("gsxb","临泣"); + put("gsbf","丘墟"); + }}); + put("丑",new HashMap(){{ + put("bf","曲泉"); + put("xf","行间"); + put("gsxb","大敦"); + put("gsbf","太冲"); + }}); + }}; + public static final List tianfu = Arrays.asList("己丑","己未","戊寅","戊申","戊子","戊午","乙卯","乙酉","丁巳","丁亥","丙辰","丙戍"); diff --git a/src/main/java/com/peanut/modules/book/controller/PointController.java b/src/main/java/com/peanut/modules/book/controller/PointController.java index 14d697fe..6c5fd7e7 100644 --- a/src/main/java/com/peanut/modules/book/controller/PointController.java +++ b/src/main/java/com/peanut/modules/book/controller/PointController.java @@ -16,9 +16,8 @@ import org.springframework.web.bind.annotation.RestController; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; + @Slf4j @RestController @RequestMapping("book/point") @@ -172,14 +171,31 @@ public class PointController { return R.ok().put("points",pointEntities); } + /** + * 时辰取穴 + * @param map + * @return + * @throws ParseException + */ + @RequestMapping("/SCQX") public R SCQX(@RequestBody Map map) throws ParseException { String date = map.get("date").toString(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(); simpleDateFormat.applyPattern("yyyy-MM-dd hh:mm:ss"); Date parse = simpleDateFormat.parse(date); - pointService.ZWLZ(parse); - - return null; + List> flag = new ArrayList<>(); + for (int i=0;i<24;i+=2){ + Calendar instance = Calendar.getInstance(); + instance.setTime(parse); + instance.set(Calendar.HOUR_OF_DAY,i); + Date time = instance.getTime(); + Map ff = new HashMap<>(); + ff.put("zwlz",pointService.ZWLZ(time)); + ff.put("lgbf",pointService.LGBF(time)); + ff.put("ftbf",pointService.FTBF(time)); + flag.add(ff); + } + return R.ok().put("flag",flag); } diff --git a/src/main/java/com/peanut/modules/book/service/PointService.java b/src/main/java/com/peanut/modules/book/service/PointService.java index 73a394ed..c0de2688 100644 --- a/src/main/java/com/peanut/modules/book/service/PointService.java +++ b/src/main/java/com/peanut/modules/book/service/PointService.java @@ -19,7 +19,11 @@ public interface PointService extends IService { Map TGDZForDate(Date date); - List ZWLZ(Date parse); + Map ZWLZ(Date parse); + + Map LGBF(Date parse); + + Map FTBF(Date parse); Map WYLQForDate(Date date); } diff --git a/src/main/java/com/peanut/modules/book/service/impl/PointServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/PointServiceImpl.java index ee241e7b..be1bdd47 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/PointServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/PointServiceImpl.java @@ -133,13 +133,116 @@ public class PointServiceImpl extends ServiceImpl impleme } @Override - public List ZWLZ(Date parse) { + public Map ZWLZ(Date parse) { Map stringObjectMap = TGDZForDate(parse); char dt = stringObjectMap.get("day").toString().charAt(0); char hd = stringObjectMap.get("hour").toString().charAt(1); String check = ""+dt+hd; + List ng_list =new ArrayList<>(); + if(ngf.containsKey(check)){ + ng_list = ngf.get(check); + } + Map flag = new HashMap<>(); + flag.put("ngf",ng_list); + flag.put("nzf",nzf.get(""+hd)); + return flag; + } - return null; + @Override + public Map FTBF(Date parse){ + Map stringObjectMap = TGDZForDate(parse); + String hour = stringObjectMap.get("hour").toString(); + String s = ftbf_d.get(""+hour.charAt(0)); + String k; + if(s== "公孙"){ + k="内关"; + } else if (s=="申脉") { + k="后溪"; + } else if (s=="照海") { + k="列缺"; + } else if (s=="临泣") { + k="外关"; + }else{ + k=""; + } + HashMap flag = new HashMap<>(); + flag.put("KX",s) ; + flag.put("HX",k); + return flag; + } + + @Override + public Map LGBF(Date parse) { + Map stringObjectMap = TGDZForDate(parse); + String day = stringObjectMap.get("day").toString(); + String hour = stringObjectMap.get("hour").toString(); + List list1 = Arrays.asList("甲", "丙", "戊", "庚", "壬"); + //确定阳日或阴日 + Integer cs; + if(list1.contains(day.charAt(0))){ + cs = 9; + }else { + cs = 6; + } + //日天干对应的数 + int i = getrgz(day.charAt(0)) + getrgz(day.charAt(1)); + int j = getsgz(hour.charAt(0)) + getsgz(hour.charAt(1)); + int y = (i+j)%cs; + int kx; + if(y==0){ + if(cs==9){ + kx=8; + }else{ + kx=5; + } + }else { + kx = y; + } + String s = lgbf_d[kx]; + String k; + if(s== "公孙"){ + k="内关"; + } else if (s=="申脉") { + k="后溪"; + } else if (s=="照海") { + k="列缺"; + } else if (s=="临泣") { + k="外关"; + }else{ + k=""; + } + HashMap flag = new HashMap<>(); + flag.put("KX",s) ; + flag.put("HX",k); + return flag; + } + + private Integer getrgz(char c){ + if(Arrays.asList("甲","己","辰","戌","丑","未").contains(""+c)){ + return 10; + } else if (Arrays.asList("乙","庚","申","酉").contains(""+c)) { + return 9; + } else if (Arrays.asList("丁","壬","寅","卯").contains(""+c)) { + return 8; + }else { + return 7; + } + } + + private Integer getsgz(char c){ + if(Arrays.asList("甲","己","子","午").contains(""+c)){ + return 9; + } else if (Arrays.asList("乙","庚","丑","未").contains(""+c)) { + return 8; + } else if (Arrays.asList("丙","辛","寅","申").contains(""+c)) { + return 7; + }else if (Arrays.asList("丁","壬","卯","酉").contains(""+c)) { + return 6; + }else if (Arrays.asList("戊","癸","辰","戌").contains(""+c)) { + return 5; + }else { + return 4; + } } @Override