From dedacd79c93f8ef95e0cb986f5e7fbd27ddbd907 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 03 七月 2025 09:12:49 +0800 Subject: [PATCH] 2025-07-03 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java | 322 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 286 insertions(+), 36 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java index 496186e..e7a3bd5 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java @@ -1,25 +1,31 @@ package com.ltkj.web.controller.system; -import java.util.Date; -import java.util.List; -import java.util.Locale; +import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.extra.pinyin.PinyinUtil; -import com.ltkj.common.core.domain.entity.SysMenu; +import cn.hutool.json.JSONUtil; +import com.ltkj.hosp.idutil.IdUtils; import com.ltkj.common.utils.SecurityUtils; -import com.ltkj.hosp.domain.DictHosp; -import com.ltkj.hosp.domain.TjJcycxm; -import com.ltkj.hosp.domain.TjProject; +import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; +import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; -import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd; +import com.ltkj.hosp.sqlDomain.*; import com.ltkj.system.service.ISysMenuService; +import com.ltkj.web.wxUtils.HttpClientUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import jodd.util.StringUtil; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; @@ -43,6 +49,7 @@ @RestController @RequestMapping("/system/config") @Api(tags = "A---PC绔弬鏁伴厤缃帴鍙i泦") +@Slf4j public class SysConfigController extends BaseController { @Autowired private ISysConfigService configService; @@ -60,6 +67,18 @@ private TjJcycxmService jcycxmService; @Resource private LtkjExamJcsqdService jcsqdService; + @Resource + private LtkjExamJcbgdService jcbgdService; + @Resource + private LtkjHybgdService ltkjHybgdService; + @Resource + private LtkjHysqdService ltkjHysqdService; + @Resource + private TestMapper testMapper; + @Autowired + private AwsService awsService; + @Autowired + private IdUtils idUtils; /** * 鑾峰彇鍙傛暟閰嶇疆鍒楄〃 @@ -172,12 +191,184 @@ } + @GetMapping ("/shoudongtbjyjcwsxmjg") + @ApiOperation(value = "鎵嬪姩鍚屾妫�楠屾鏌ュ閫侀」鐩粨鏋滄帴鍙�") + public AjaxResult shoudongtbjyjcwsxmjg(@RequestParam @ApiParam(value = "jy妫�楠� jc妫�鏌� jyjc妫�楠屽拰妫�鏌�") String tblx, + @ApiParam(value = "浣撴鍙�")@RequestParam String tjh) { + String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm"); + log.info("鎵嬪姩鍚屾妫�楠屾垨妫�鏌ョ粨鏋滃紑濮�->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); + try { + + switch (tblx){ + case "jy": + tbjianyan(tjh,dqyyyqbm); + log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�楠�"); + break; + case "jc": + tbjiancha(tjh,dqyyyqbm); + log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�鏌�"); + break; + case "jyjc": + tbjianyan(tjh,dqyyyqbm); + tbjiancha(tjh,dqyyyqbm); + log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�楠屾鏌�"); + break; + default: + log.info("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�"); + return AjaxResult.error("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�!"); + } + Map<String, Object> map = new HashMap<>(); + testMapper.tjplUpdateDetatilByVi(map); + Integer object = (Integer) map.get("total"); + log.info("鎵ц瀛樺偍杩囩▼鍚庡嚭鍙�->{}", object); + log.info("鎵嬪姩鍚屾妫�楠屾垨妫�鏌ョ粨鏋滅粨鏉�->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); + return AjaxResult.success("鍚屾鎴愬姛"); + + } catch (Exception e) { + log.error(String.valueOf(e)); + } + return AjaxResult.success(); + } + + private void tbjianyan(String s,String dqyyyqbm) { + try { + List<Aws> awsList = testMapper.getWsxmLtkjHysqdByLisViBySLAVEWS(s); + if(null !=awsList && !awsList.isEmpty()){ + log.info("澶栭�侀」鐩釜鏁�->{} 缁撴灉",awsList.size()); + log.info(awsList.toString()); + testMapper.delWsxmjg(s); + log.info("鍒犻櫎澶栭�侀」鐩垚鍔�"); + awsService.saveBatch(awsList); + log.info("淇濆瓨澶栭�侀」鐩垚鍔�"); + } + List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s,dqyyyqbm); + log.info("鍘焗ysqdList->{} 缁撴灉", JSONUtil.parseObj(hysqdList)); + List<LtkjHysqd> wssq = testMapper.getWsxmLtkjHysqdByLisVi(s); + if(null !=wssq && !wssq.isEmpty()){ + log.info("澶栭�侀」涓�->{} 缁撴灉",wssq.toString()); + hysqdList.addAll(wssq); + } + if (null != hysqdList && !hysqdList.isEmpty()) { + log.info("鐜癶ysqdList->{} 缁撴灉", JSONUtil.parseObj(hysqdList)); + for (LtkjHysqd hysqd : hysqdList) { + LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); + if (null != jybgid) { + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh()); + } + if (ltkjHysqdService.save(hysqd)) { + List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh()); + List<LtkjHybgd> wsbg = testMapper.getWsxmLtkjHybgdByLisVi(s); + if(null !=wsbg && !wsbg.isEmpty())hybgdList.addAll(wsbg); + ltkjHybgdService.saveBatch(hybgdList); + } + } + DynamicDataSourceContextHolder.clearDataSourceType(); + } + } catch (Exception e) { + log.info("鍚屾妫�楠屾暟鎹け璐�"); +// throw new RuntimeException(e); + log.error(String.valueOf(e)); + } + + } + + + private void tbjiancha(String s,String dqyyyqbm) { + + try { + List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s,dqyyyqbm); + if (null != jcsqdList && !jcsqdList.isEmpty()) { + DynamicDataSourceContextHolder.clearDataSourceType(); + jcsqdService.deletedLtkjJcsqdByTjhAndTmh(s); + jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s); + jcsqdService.saveBatch(jcsqdList); + List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s); + jcycxmService.deletedByTjh(s); + if(!jcsqdList.isEmpty()){ + for (LtkjExamJcsqd jcsqd : jcsqdList) { + if(StringUtil.isNotBlank(jcsqd.getJgzt())){ + String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("銆倈锛泑;|,|锛�"); + for (String jg : split) { + if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父") + && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅") && !jg.contains("鏈") + && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")){ + TjJcycxm jcycxm=new TjJcycxm(); + jcycxm.setTjh(s); + jcycxm.setYqid(dqyyyqbm); + String[] split1 = jcsqd.getJcxmid().split(";"); + jcycxm.setProId(split1[0]); + jcycxm.setProName(jcsqd.getJcxmmc()); + jcycxm.setCreateTime(new Date()); + jcycxm.setJcjg(jg); + jcycxmService.save(jcycxm); + } + } + } + } + } + DynamicDataSourceContextHolder.clearDataSourceType(); + if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList); + DynamicDataSourceContextHolder.clearDataSourceType(); + } + } catch (Exception e) { + log.info("鍚屾妫�鏌ユ暟鎹け璐�"); +// throw new RuntimeException(e); + log.error(String.valueOf(e)); + } + } + + + @GetMapping ("/chaxunjyjcwsxmjg") + @ApiOperation(value = "鏌ヨ妫�楠屾鏌ラ」鐩粨鏋滄帴鍙�") + public AjaxResult chaxunjyjcwsxmjg(@RequestParam @ApiParam(value = "jy妫�楠� jc妫�鏌� jyjc妫�楠屽拰妫�鏌�") String tblx, + @ApiParam(value = "浣撴鍙�")@RequestParam String tjh) { + String hospId = configService.selectConfigByKey("dqyyyqbm"); + log.info("鎵嬪姩鏌ヨ妫�楠屾垨妫�鏌ョ粨鏋滃紑濮�->{}{}",hospId,DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); + try { + + switch (tblx){ + case "jy": + List<Map<String, Object>> hysqdList = testMapper.sysgetCcXZxYyLtkjHysqdByLisVi(tjh,hospId); + if (null != hysqdList && !hysqdList.isEmpty()) { + for (Map<String, Object> map : hysqdList) { + List<Map<String, Object>> hybgdList = testMapper.sysgetCcXZxYyLtkjHybgdByLisVi(map.get("鏉$爜鍙�").toString()); + map.put("jybgd",hybgdList); + } + DynamicDataSourceContextHolder.clearDataSourceType(); + } + + log.info("褰撳墠鏌ヨ鐨勬槸->{} 缁撴灉","妫�楠�"); + return AjaxResult.success(hysqdList); + + case "jc": + List<Map<String, Object>> jcsqdList = testMapper.sysgetCcXZxYyPacsLtkjExamJcsqd(tjh,hospId); + DynamicDataSourceContextHolder.clearDataSourceType(); + log.info("褰撳墠鏌ヨ鐨勬槸->{} 缁撴灉","妫�鏌�"); + return AjaxResult.success(jcsqdList); + default: + log.info("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�"); +// return AjaxResult.error("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�!"); + } + log.info("鎵嬪姩鏌ヨ妫�楠屾垨妫�鏌ョ粨鏋滃紑濮�->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss")); + return AjaxResult.error("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�!"); + + } catch (Exception e) { + log.error(String.valueOf(e)); + return AjaxResult.error(); + } + } + + + + + @GetMapping ("/zxsq")//鎵ц @ApiOperation(value = "zxsq") public AjaxResult zx(@RequestParam int day) { try { List<DictHosp> list = dictHospService.list(); - DateTime dateTime1 = DateUtil.offsetMonth(new Date(), day); + DateTime dateTime1 = DateUtil.offsetDay(new Date(), day); for (DictHosp dictHosp : list) { String mallMerchantSecretKey = SecurityUtils.getMallMerchantSecretKey(secret, dictHosp.getHospAreaId(), dictHosp.getHospAreaName(), dateTime1); dictHosp.setSecretKey(mallMerchantSecretKey); @@ -223,38 +414,97 @@ @GetMapping ("/tjjcycxm")//鍚屾his椤圭洰鍗曚环淇℃伅 // @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')") @ApiOperation (value = "tjjcycxm") - public AjaxResult tjjcycxm() { - String yqbm = configService.selectConfigByKey("common_api_service_hospbm"); - List<String> jc = orderService.getJianChaTjNum(); - if (null != jc && !jc.isEmpty()) { - for (String s : jc) { - jcycxmService.deletedByTjh(s); - List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(s); - if(null !=list && !list.isEmpty()){ - for (LtkjExamJcsqd jcsqd : list) { - if(jcsqd.getJgbx().contains("銆�")){ - String[] split = jcsqd.getJgzt().split("銆�"); - for (String jg : split) { - if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父") - && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅") - && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")&& !jg.contains("鏃犳畩")){ - TjJcycxm jcycxm=new TjJcycxm(); - jcycxm.setTjh(s); - jcycxm.setYqid(yqbm); - String[] split1 = jcsqd.getJcxmid().split(";"); - jcycxm.setProId(split1[0]); - jcycxm.setProName(jcsqd.getJcxmmc()); - jcycxm.setCreateTime(new Date()); - jcycxm.setJcjg(jg); - jcycxmService.save(jcycxm); - } - } + public AjaxResult tjjcycxm(@RequestParam(required = false)@ApiParam(value = "浣撴鍙�") String tjh, + @RequestParam(defaultValue = "0",required = false)@ApiParam(value = "0 浠呭悓姝ユ湭瀹℃牳浜哄憳 1鎵�鏈変汉") String lx) { + String yqbm = configService.selectConfigByKey("dqyyyqbm"); + if(StringUtil.isNotBlank(tjh)){ + zongjianshengchengyichangxiangmu(tjh, yqbm); + return AjaxResult.success(); + }else { + List<String> jc =null; + if(lx.equals("0")){ + jc = orderService.getJianChaTjNumWsh(); + }else { + jc = orderService.getJianChaTjNum(); + } + + if (null != jc && !jc.isEmpty()) { + for (String s : jc) { + zongjianshengchengyichangxiangmu(s, yqbm); + } + } + return AjaxResult.success(); + } + + } + + public void zongjianshengchengyichangxiangmu(String s, String yqbm) { + TjOrder order = orderService.getOrderByTjNum(s); + jcycxmService.deletedByTjh(s); + List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(order.getCardId()); + if(null !=list && !list.isEmpty()){ + for (LtkjExamJcsqd jcsqd : list) { + if(StringUtil.isNotBlank(jcsqd.getJgzt())){ + String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("銆倈锛泑;|,|锛�"); + for (String jg : split) { + if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父") + && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅") && !jg.contains("鏃犲紓甯�") + && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")&& !jg.contains("鏃犳畩")){ + TjJcycxm jcycxm=new TjJcycxm(); + jcycxm.setTjh(s); + jcycxm.setYqid(yqbm); + String[] split1 = jcsqd.getJcxmid().split(";"); + jcycxm.setProId(split1[0]); + jcycxm.setProName(jcsqd.getJcxmmc()); + jcycxm.setCreateTime(new Date()); + jcycxm.setJcjg(jg); + jcycxmService.save(jcycxm); } } } - } } + } + + + @GetMapping ("/ceshitijianhao")//鍚屾his椤圭洰鍗曚环淇℃伅 +// @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')") + @ApiOperation (value = "娴嬭瘯浣撴鍙�") + public AjaxResult ceshitijianhao() { + //鍒涘缓绾跨▼姹� + ExecutorService threadPool = Executors.newFixedThreadPool(2000); + List<String> numbers = new ArrayList<>(); + for (int i = 0; i < 2000; i++) { + //鑾峰彇绾跨▼ + threadPool.execute(new Runnable() { + @Override + public void run() { + try { + String number = idUtils.getNewTjNumberRedisLock(); // 璋冪敤鑾峰彇缂栧彿鐨勬柟娉� + numbers.add(number); // 娣诲姞鍒� Set + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + threadPool.shutdown(); + return AjaxResult.success(numbers); + } + + @GetMapping("/syncHisData") + public AjaxResult syncHisData(@RequestParam(value = "tbzd",required = false,defaultValue = "true") Boolean tbzd) { + if (tbzd) { + String apiUrl = configService.selectConfigByKey("common_api_url"); + if (StrUtil.isBlank(apiUrl)) { + return AjaxResult.error("鏈厤缃甤ommon_api_url"); + } + HttpClientUtils instance = HttpClientUtils.getInstance(); + String sendHttpGet = instance.sendHttpGet(apiUrl); + if (!sendHttpGet.equals("success")) return AjaxResult.error("鍚屾澶辫触"); + } + testMapper.updTbProHisPrice(); return AjaxResult.success(); } + } -- Gitblit v1.8.0