From 89952de3a3403f42164a28b861fa4f005ebcaca4 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Wed, 9 Jul 2025 15:49:22 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E5=8A=A0=E7=9B=9F=E5=90=88=E5=90=8C=E4=B8=8A=E4=BC=A0=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=202=E3=80=81=E8=B0=83=E6=95=B4=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=8A=9F=E8=83=BD=203=E3=80=81=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=8E=B7=E5=8F=96=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../advisoryinfo/api/IAdvisoryInfoApi.java | 8 + .../entity/AdvisoryInfoEntity.java | 96 +++++++ .../controller/IssueInfoController.java | 238 +++++++++--------- .../IssueInfo/mapper/IssueInfoMapper.java | 2 + .../IssueInfo/mapper/xml/IssueInfoMapper.xml | 5 +- .../IssueInfo/service/IIssueInfoService.java | 3 + .../service/impl/IssueInfoServiceImpl.java | 14 ++ .../impl/NuBizAdvisoryInfoServiceImpl.java | 19 +- .../controller/OrgApplyInfoController.java | 19 +- .../orgapplyinfo/entity/OrgApplyInfo.java | 24 +- .../service/IOrgApplyInfoService.java | 2 + .../service/impl/OrgApplyInfoServiceImpl.java | 55 +++- .../IssueInfoMQExceptionHandler.java | 28 +++ .../listener/IssueInfoMQListener.java | 31 +++ .../com/nu/modules/pad/api/PadLoginApi.java | 29 +++ .../org/jeecg/config/shiro/ShiroConfig.java | 3 +- .../java/com/nu/dto/OrgApplyInfoMQDto.java | 217 ++++++++++++++++ .../modules/system/entity/SysDepart.java | 2 +- .../src/main/resources/application-dev.yml | 8 +- .../src/main/resources/application-uat.yml | 6 + pom.xml | 8 - 21 files changed, 677 insertions(+), 140 deletions(-) create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/advisoryinfo/api/IAdvisoryInfoApi.java create mode 100644 nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/advisoryinfo/entity/AdvisoryInfoEntity.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/IssueInfo/exceptionhandler/IssueInfoMQExceptionHandler.java create mode 100644 nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/IssueInfo/listener/IssueInfoMQListener.java create mode 100644 nursing-unit-api/src/main/java/com/nu/modules/pad/api/PadLoginApi.java create mode 100644 nursing-unit-common/src/main/java/com/nu/dto/OrgApplyInfoMQDto.java diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/advisoryinfo/api/IAdvisoryInfoApi.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/advisoryinfo/api/IAdvisoryInfoApi.java new file mode 100644 index 0000000..53353da --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/advisoryinfo/api/IAdvisoryInfoApi.java @@ -0,0 +1,8 @@ +package com.nu.modules.advisoryinfo.api; + +import com.nu.modules.advisoryinfo.entity.AdvisoryInfoEntity; + +public interface IAdvisoryInfoApi { + + AdvisoryInfoEntity getAdvisoryInfo(String tel); +} diff --git a/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/advisoryinfo/entity/AdvisoryInfoEntity.java b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/advisoryinfo/entity/AdvisoryInfoEntity.java new file mode 100644 index 0000000..e56252d --- /dev/null +++ b/nursing-unit-admin/nu-admin-api/nu-admin-local-api/src/main/java/com/nu/modules/advisoryinfo/entity/AdvisoryInfoEntity.java @@ -0,0 +1,96 @@ +package com.nu.modules.advisoryinfo.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 咨询信息 + * @Author: 张明远 + * @Date: 2025-04-07 + * @Version: V1.0 + */ +@Data +public class AdvisoryInfoEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + private String id; + /**平台id*/ + private Long platId; + /**微信id*/ + private String openId; + /**微信名称*/ + private String wechatName; + /**咨询人姓名*/ + private String name; + /**昵称*/ + private String nickName; + /**头像*/ + private String avatar; + /**性别*/ + private String sex; + /**联系电话*/ + private String tel; + /**咨询类型 1入住nu 2入驻机构 3我要加盟*/ + private String advisoryType; + /**状态 1审核中 2审核完成 3驳回*/ + private String status; + /**审核备注*/ + private String content; + /**机构访问地址*/ + private String serverUrl; + /**创建人*/ + private String createBy; + /**创建日期*/ + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + private Date updateTime; + /**所属部门*/ + private String sysOrgCode; + + /**老人姓名*/ + private String oldManName; + /**老人年龄*/ + private String oldManAge; + /**医保类型*/ + private String medicalInsuranceType; + /**老人性别*/ + private String oldManSex; + /**报销类型*/ + private String reimbType; + /**护理单元*/ + private String nuId; + /**是否入住0否 1是(是否入住过)*/ + private String izCheckIn; + + private String izYg;//是否是员工 0否 1是 + private String izJs;//是否是家属 0否 1是 + private String izJg;//是否是机构 0否 1是 + + private String advisoryTypeName; + private String sexName; + private String sysOrgCodeName; + private String statusName; + + private String oldManSexName; + private String medicalInsuranceTypeName; + private String reimbTypeName; + private String token; + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/controller/IssueInfoController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/controller/IssueInfoController.java index e5c0c26..f19a914 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/controller/IssueInfoController.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/controller/IssueInfoController.java @@ -1,8 +1,11 @@ package com.nu.modules.IssueInfo.controller; import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import com.nu.modules.IssueInfo.entity.IssueInfo; @@ -14,6 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryRuleEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -22,126 +26,130 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; import org.apache.shiro.authz.annotation.RequiresPermissions; - /** +/** * @Description: 发版日志 * @Author: jeecg-boot - * @Date: 2025-07-01 + * @Date: 2025-07-01 * @Version: V1.0 */ -@Api(tags="发版日志") +@Api(tags = "发版日志") @RestController //@RequestMapping("/IssueInfo/nuIssueInfo") @RequestMapping("/admin/issueInfo") @Slf4j public class IssueInfoController extends JeecgController { - @Autowired - private IIssueInfoService nuIssueInfoService; - - /** - * 分页列表查询 - * - * @param nuIssueInfo - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "发版日志-分页列表查询") - @ApiOperation(value="发版日志-分页列表查询", notes="发版日志-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(IssueInfo nuIssueInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuIssueInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = nuIssueInfoService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param nuIssueInfo - * @return - */ - @AutoLog(value = "发版日志-添加") - @ApiOperation(value="发版日志-添加", notes="发版日志-添加") - @RequiresPermissions("IssueInfo:nu_issue_info:add") - @PostMapping(value = "/add") - public Result add(@RequestBody IssueInfo nuIssueInfo) { - nuIssueInfoService.save(nuIssueInfo); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param nuIssueInfo - * @return - */ - @AutoLog(value = "发版日志-编辑") - @ApiOperation(value="发版日志-编辑", notes="发版日志-编辑") - @RequiresPermissions("IssueInfo:nu_issue_info:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody IssueInfo nuIssueInfo) { - nuIssueInfoService.updateById(nuIssueInfo); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "发版日志-通过id删除") - @ApiOperation(value="发版日志-通过id删除", notes="发版日志-通过id删除") - @RequiresPermissions("IssueInfo:nu_issue_info:delete") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - nuIssueInfoService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "发版日志-批量删除") - @ApiOperation(value="发版日志-批量删除", notes="发版日志-批量删除") - @RequiresPermissions("IssueInfo:nu_issue_info:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.nuIssueInfoService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "发版日志-通过id查询") - @ApiOperation(value="发版日志-通过id查询", notes="发版日志-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - IssueInfo nuIssueInfo = nuIssueInfoService.getById(id); - if(nuIssueInfo==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(nuIssueInfo); - } + @Autowired + private IIssueInfoService nuIssueInfoService; /** - * 导出excel - * - * @param request - * @param nuIssueInfo - */ + * 分页列表查询 + * + * @param nuIssueInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "发版日志-分页列表查询") + @ApiOperation(value = "发版日志-分页列表查询", notes = "发版日志-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(IssueInfo nuIssueInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + // 自定义查询规则 + Map customeRuleMap = new HashMap<>(); + // 自定义多选的查询规则为:LIKE_WITH_OR + customeRuleMap.put("issueType", QueryRuleEnum.LIKE_WITH_OR); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(nuIssueInfo, req.getParameterMap(), customeRuleMap); + Page page = new Page(pageNo, pageSize); + IPage pageList = nuIssueInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param nuIssueInfo + * @return + */ + @AutoLog(value = "发版日志-添加") + @ApiOperation(value = "发版日志-添加", notes = "发版日志-添加") + @RequiresPermissions("IssueInfo:nu_issue_info:add") + @PostMapping(value = "/add") + public Result add(@RequestBody IssueInfo nuIssueInfo) { + nuIssueInfoService.save(nuIssueInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param nuIssueInfo + * @return + */ + @AutoLog(value = "发版日志-编辑") + @ApiOperation(value = "发版日志-编辑", notes = "发版日志-编辑") + @RequiresPermissions("IssueInfo:nu_issue_info:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody IssueInfo nuIssueInfo) { + nuIssueInfoService.updateById(nuIssueInfo); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "发版日志-通过id删除") + @ApiOperation(value = "发版日志-通过id删除", notes = "发版日志-通过id删除") + @RequiresPermissions("IssueInfo:nu_issue_info:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + nuIssueInfoService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "发版日志-批量删除") + @ApiOperation(value = "发版日志-批量删除", notes = "发版日志-批量删除") + @RequiresPermissions("IssueInfo:nu_issue_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.nuIssueInfoService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "发版日志-通过id查询") + @ApiOperation(value = "发版日志-通过id查询", notes = "发版日志-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + IssueInfo nuIssueInfo = nuIssueInfoService.getById(id); + if (nuIssueInfo == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(nuIssueInfo); + } + + /** + * 导出excel + * + * @param request + * @param nuIssueInfo + */ @RequiresPermissions("IssueInfo:nu_issue_info:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, IssueInfo nuIssueInfo) { @@ -149,12 +157,12 @@ public class IssueInfoController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/IssueInfoMapper.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/IssueInfoMapper.java index 56cdafc..0725db1 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/IssueInfoMapper.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/IssueInfoMapper.java @@ -2,6 +2,7 @@ package com.nu.modules.IssueInfo.mapper; import com.nu.modules.IssueInfo.entity.IssueInfo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; /** * @Description: 发版日志 @@ -11,4 +12,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface IssueInfoMapper extends BaseMapper { + int realDelete(@Param("id") String id); } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/xml/IssueInfoMapper.xml b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/xml/IssueInfoMapper.xml index b8c531d..0ce69ef 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/xml/IssueInfoMapper.xml +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/mapper/xml/IssueInfoMapper.xml @@ -2,4 +2,7 @@ - \ No newline at end of file + + delete from nu_issue_info where id = #{id} + + diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/IIssueInfoService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/IIssueInfoService.java index 1fd7027..e218a56 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/IIssueInfoService.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/IIssueInfoService.java @@ -11,4 +11,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IIssueInfoService extends IService { + IssueInfo get(String dataSourceCode, String id); + + int realDelete(String id); } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/impl/IssueInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/impl/IssueInfoServiceImpl.java index a804532..17c1386 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/impl/IssueInfoServiceImpl.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/IssueInfo/service/impl/IssueInfoServiceImpl.java @@ -1,5 +1,7 @@ package com.nu.modules.IssueInfo.service.impl; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.nu.modules.IssueInfo.entity.IssueInfo; import com.nu.modules.IssueInfo.mapper.IssueInfoMapper; import com.nu.modules.IssueInfo.service.IIssueInfoService; @@ -16,4 +18,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class IssueInfoServiceImpl extends ServiceImpl implements IIssueInfoService { + @Override + @DS("#dataSourceCode") + public IssueInfo get(String dataSourceCode, String id) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("id",id); + return baseMapper.selectOne(qw); + } + + @Override + public int realDelete(String id) { + return baseMapper.realDelete(id); + } } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/NuBizAdvisoryInfo/service/impl/NuBizAdvisoryInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/NuBizAdvisoryInfo/service/impl/NuBizAdvisoryInfoServiceImpl.java index ec40523..59f9d9f 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/NuBizAdvisoryInfo/service/impl/NuBizAdvisoryInfoServiceImpl.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/NuBizAdvisoryInfo/service/impl/NuBizAdvisoryInfoServiceImpl.java @@ -5,12 +5,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.nu.modules.NuBizAdvisoryInfo.entity.NuBizAdvisoryInfo; import com.nu.modules.NuBizAdvisoryInfo.mapper.NuBizAdvisoryInfoMapper; import com.nu.modules.NuBizAdvisoryInfo.service.INuBizAdvisoryInfoService; +import com.nu.modules.advisoryinfo.api.IAdvisoryInfoApi; +import com.nu.modules.advisoryinfo.entity.AdvisoryInfoEntity; import org.apache.commons.lang.StringUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.util.RedisUtil; import org.jeecg.common.util.oConvertUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -29,7 +32,7 @@ import java.util.List; * @Version: V1.0 */ @Service -public class NuBizAdvisoryInfoServiceImpl extends ServiceImpl implements INuBizAdvisoryInfoService { +public class NuBizAdvisoryInfoServiceImpl extends ServiceImpl implements INuBizAdvisoryInfoService, IAdvisoryInfoApi { @Autowired private RedisUtil redisUtil; @@ -116,4 +119,18 @@ public class NuBizAdvisoryInfoServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); + qw.eq("tel", tel); + NuBizAdvisoryInfo nuBizAdvisoryInfo = baseMapper.selectOne(qw); + if (nuBizAdvisoryInfo != null) { + AdvisoryInfoEntity advisoryInfoEntity = new AdvisoryInfoEntity(); + BeanUtils.copyProperties(nuBizAdvisoryInfo, advisoryInfoEntity); + return advisoryInfoEntity; + } else { + return null; + } + } } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/controller/OrgApplyInfoController.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/controller/OrgApplyInfoController.java index ff1ecf3..fe9fd62 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/controller/OrgApplyInfoController.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/controller/OrgApplyInfoController.java @@ -125,7 +125,7 @@ public class OrgApplyInfoController extends JeecgController edit(@RequestBody OrgApplyInfo orgApplyInfo) { orgApplyInfoService.audit(orgApplyInfo); - return Result.OK("编辑成功!"); + return Result.OK("保存成功!"); + } + + /** + * 合同上传环节-保存并提交 + * + * @param orgApplyInfo + * @return + */ + @AutoLog(value = "机构加盟申请信息表-合同上传环节-保存并提交") + @ApiOperation(value = "机构加盟申请信息表-合同上传环节-保存并提交", notes = "机构加盟申请信息表-合同上传环节-保存并提交") + @RequiresPermissions("orgapplyinfo:nu_org_apply_info:edit") + @RequestMapping(value = "/submitContract", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result submitContract(@RequestBody OrgApplyInfo orgApplyInfo) { + orgApplyInfoService.submitContract(orgApplyInfo); + return Result.OK("提交成功!"); } /** diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgApplyInfo.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgApplyInfo.java index 0fbd86d..76d9474 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgApplyInfo.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/entity/OrgApplyInfo.java @@ -34,8 +34,8 @@ public class OrgApplyInfo implements Serializable { @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private java.lang.String id; - /**pkId 同表id*/ - @ApiModelProperty(value = "pkId") + /**机构ID orgId 同机构相同(申请时生成数据的id)*/ + @ApiModelProperty(value = "机构ID orgId 同机构相同(申请时生成数据的id)") private java.lang.String pkId; /**微信id*/ @Excel(name = "微信id", width = 15) @@ -55,10 +55,19 @@ public class OrgApplyInfo implements Serializable { @ApiModelProperty(value = "审批状态") private java.lang.String status; /**变更状态 0可修改 1不可修改 */ - @Dict(dicCode = "org_apply_status") @Excel(name = "变更状态 0可修改 1不可修改", width = 15) @ApiModelProperty(value = "变更状态 0可修改 1不可修改") private java.lang.String modifyStatus; + /**构建状态构建状态1、机构加盟【小程序】2、加盟审核【管理平台】3、加盟合同【管理平台】4、平台搭建【运维平台】5、账户初始化【管理平台】6、信息推送【公众号】*/ + @Dict(dicCode = "org_build_status") + @Excel(name = "构建状态构建状态1、机构加盟【小程序】2、加盟审核【管理平台】3、加盟合同【管理平台】4、平台搭建【运维平台】5、账户初始化【管理平台】6、信息推送【公众号】", width = 15) + @ApiModelProperty(value = "构建状态构建状态1、机构加盟【小程序】2、加盟审核【管理平台】3、加盟合同【管理平台】4、平台搭建【运维平台】5、账户初始化【管理平台】6、信息推送【公众号】") + private java.lang.String buildStatus; + + //构建状态前后台处理逻辑字段 + @TableField(exist = false) + private String buildStatusVal; + /**审核备注*/ @Excel(name = "审核备注", width = 15) @ApiModelProperty(value = "审核备注") @@ -200,7 +209,14 @@ public class OrgApplyInfo implements Serializable { @ApiModelProperty(value = "机构区域") @Dict(dictTable = "sys_category",dicCode = "id",dicText = "name") private java.lang.String orgDistrict; - + /**合同附件*/ + @Excel(name = "合同附件", width = 15) + @ApiModelProperty(value = "合同附件") + private java.lang.String contract; + /**合同备注*/ + @Excel(name = "合同备注", width = 15) + @ApiModelProperty(value = "合同备注") + private java.lang.String contractNote; @TableField(exist = false) private java.lang.String orgProvince_dictText; @TableField(exist = false) diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/IOrgApplyInfoService.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/IOrgApplyInfoService.java index 265ef8d..603cd1e 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/IOrgApplyInfoService.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/IOrgApplyInfoService.java @@ -17,4 +17,6 @@ public interface IOrgApplyInfoService extends IService { List> getModifyInfo(OrgApplyInfo orgApplyInfo); void audit(OrgApplyInfo orgApplyInfo); + + void submitContract(OrgApplyInfo orgApplyInfo); } diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/impl/OrgApplyInfoServiceImpl.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/impl/OrgApplyInfoServiceImpl.java index f352a1c..01535d3 100644 --- a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/impl/OrgApplyInfoServiceImpl.java +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/modules/orgapplyinfo/service/impl/OrgApplyInfoServiceImpl.java @@ -1,20 +1,20 @@ package com.nu.modules.orgapplyinfo.service.impl; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.ListUtil; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nu.dto.OrgApplyInfoMQDto; import com.nu.modules.orgapplyinfo.api.IOrgApplyInfoApi; import com.nu.modules.orgapplyinfo.entity.OrgApplyInfo; import com.nu.modules.orgapplyinfo.entity.OrgApplyInfoApiEntity; import com.nu.modules.orgapplyinfo.mapper.OrgApplyInfoMapper; import com.nu.modules.orgapplyinfo.service.IOrgApplyInfoService; import com.nu.utils.DictUtils; -import org.apache.commons.collections.ListUtils; -import org.apache.commons.compress.utils.Lists; +import com.nu.utils.RabbitMQUtil; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.system.vo.LoginUser; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -34,6 +34,8 @@ public class OrgApplyInfoServiceImpl extends ServiceImpl message1, ListenerExecutionFailedException e) { + log.error("MQ消息处理失败 | 消息体: {} | 异常原因: {}", new String(message.getBody()), e.getCause().getMessage()); + + // 根据异常类型选择处理策略 +// if (isRetryable(e)) { +// // 可重试异常:抛出异常触发重试 +// throw e; +// } else { + // 不可恢复异常:拒绝消息且不重新入队 + throw new AmqpRejectAndDontRequeueException("消息处理失败且禁止重试", e); +// } + } + +} diff --git a/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/IssueInfo/listener/IssueInfoMQListener.java b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/IssueInfo/listener/IssueInfoMQListener.java new file mode 100644 index 0000000..7f9123f --- /dev/null +++ b/nursing-unit-admin/nu-admin-biz/src/main/java/com/nu/mq/IssueInfo/listener/IssueInfoMQListener.java @@ -0,0 +1,31 @@ +package com.nu.mq.IssueInfo.listener; + +import com.nu.modules.IssueInfo.entity.IssueInfo; +import com.nu.modules.IssueInfo.service.IIssueInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.amqp.core.ExchangeTypes; +import org.springframework.amqp.rabbit.annotation.Exchange; +import org.springframework.amqp.rabbit.annotation.Queue; +import org.springframework.amqp.rabbit.annotation.QueueBinding; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class IssueInfoMQListener { + + @Autowired + private IIssueInfoService issueInfoService; + + @RabbitListener(bindings = @QueueBinding(value = @Queue(name = "hldy.fbrz.sync", durable = "true"), + exchange = @Exchange(name = "hldy.fbrz.sync", type = ExchangeTypes.DIRECT), + key = "hldy.fbrz.sync"), errorHandler = "issueInfoMQErrorHandler") + public void handleMessage(String id) { + IssueInfo data = issueInfoService.get("devops", id); + //物理删除数据 + issueInfoService.realDelete(id); + issueInfoService.save(data); + } + +} diff --git a/nursing-unit-api/src/main/java/com/nu/modules/pad/api/PadLoginApi.java b/nursing-unit-api/src/main/java/com/nu/modules/pad/api/PadLoginApi.java new file mode 100644 index 0000000..9f70719 --- /dev/null +++ b/nursing-unit-api/src/main/java/com/nu/modules/pad/api/PadLoginApi.java @@ -0,0 +1,29 @@ +package com.nu.modules.pad.api; + +import com.nu.modules.advisoryinfo.api.IAdvisoryInfoApi; +import com.nu.modules.advisoryinfo.entity.AdvisoryInfoEntity; +import org.jeecg.common.api.vo.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/pad/loginApi") +public class PadLoginApi { + + @Autowired + private IAdvisoryInfoApi advisoryInfoApi; + + /** + * 根据电话号获取信息 + * @param tel + * @return + */ + @GetMapping("/getAdvisoryInfo") + public Result getAdvisoryInfo(@RequestParam("tel") String tel){ + AdvisoryInfoEntity advisoryInfo = advisoryInfoApi.getAdvisoryInfo(tel); + return Result.ok(advisoryInfo); + } +} diff --git a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index 0ea8bc6..323bb92 100644 --- a/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/nursing-unit-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -112,8 +112,9 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sys/dict/getDictItems/**", "anon");//获取字典数据 filterChainDefinitionMap.put("/sys/sysDepart/queryInstitutionsList", "anon");//授权接口排除 - filterChainDefinitionMap.put("/h5Api/nuBizAdvisoryInfo/**", "anon"); //授权接口排除 + filterChainDefinitionMap.put("/admin/h5Api/nuBizAdvisoryInfo/**", "anon"); //授权接口排除 filterChainDefinitionMap.put("/weixin/**", "anon"); //授权接口排除 + filterChainDefinitionMap.put("/api/pad/loginApi/**", "anon"); //pad登录-信息获取接口 filterChainDefinitionMap.put("/sys/getLoginQrcode/**", "anon"); //登录二维码 diff --git a/nursing-unit-common/src/main/java/com/nu/dto/OrgApplyInfoMQDto.java b/nursing-unit-common/src/main/java/com/nu/dto/OrgApplyInfoMQDto.java new file mode 100644 index 0000000..175b4a7 --- /dev/null +++ b/nursing-unit-common/src/main/java/com/nu/dto/OrgApplyInfoMQDto.java @@ -0,0 +1,217 @@ +package com.nu.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: 机构加盟 + * @Author: 张明远 + * @Date: 2025-07-08 + * @Version: V1.0 + */ +@Data +public class OrgApplyInfoMQDto implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + /** + * 机构ID orgId 同机构相同(申请时生成数据的id) + */ + private String pkId; + /** + * 微信id + */ + private String openId; + /** + * 微信名称 + */ + private String wechatName; + /** + * 联系电话 + */ + private String tel; + /** + * 状态 1审核中 2审核完成 3驳回 + */ + private String status; + /** + * 变更状态 0可修改 1不可修改 + */ + private String modifyStatus; + /** + * 构建状态构建状态1、机构加盟【小程序】2、加盟审核【管理平台】3、加盟合同【管理平台】4、平台搭建【运维平台】5、账户初始化【管理平台】6、信息推送【公众号】 + */ + private String buildStatus; + + //构建状态前后台处理逻辑字段 + private String buildStatusVal; + + /** + * 审核备注 + */ + private String content; + /** + * 创建人 + */ + private String createBy; + /** + * 创建日期 + */ + private java.util.Date createTime; + /** + * 更新人 + */ + private String updateBy; + /** + * 更新日期 + */ + private java.util.Date updateTime; + /** + * 机构是否入驻0否 1是(是否入驻过) + */ + private String izEntry; + /** + * 咨询人姓名 + */ + private String name; + /** + * 性别 + */ + private String sex; + /** + * 民族 + */ + private String national; + /** + * 出生日期 + */ + private java.util.Date birthDate; + /** + * 住址(身份证上) + */ + private String idCardAddress; + /** + * 身份证号 + */ + private String idCard; + /** + * 签发机关 + */ + private String issuingAuthority; + /** + * 有效开始日期 + */ + private java.util.Date startTime; + /** + * 有效结束日期 + */ + private java.util.Date endTime; + /** + * 身份证正面 + */ + private String cardZmPath; + /** + * 身份证反面 + */ + private String cardFmPath; + /** + * 营业执照照片 + */ + private String comBusinessLicense; + /** + * 企业名称 + */ + private String comName; + /** + * 企业注册地址 + */ + private String comRegisterAddress; + /** + * 企业信用代码 + */ + private String comCreditCode; + /** + * 企业法人 + */ + private String comLegalPerson; + /** + * 机构地址 + */ + private String orgAddress; + /** + * 机构位置坐标:经度 + */ + private String orgCoordinateLo; + /** + * 机构位置坐标:纬度 + */ + private String orgCoordinateLa; + /** + * 机构负责人 + */ + private String orgLeader; + /** + * 机构负责人电话 + */ + private String orgLeaderPhone; + /** + * 机构楼宇牌号 + */ + private String orgBuildingNumber; + /** + * 机构房屋性质 + */ + private String orgPropertyType; + /** + * 机构建筑面积 + */ + private Double orgBuildingArea; + /** + * 机构省份 sys_category.id + */ + private String orgProvince; + /** + * 机构城市 sys_category.id + */ + private String orgCity; + /** + * 机构区域 sys_category.id + */ + private String orgDistrict; + /** + * 合同附件 + */ + private String contract; + /** + * 合同备注 + */ + private String contractNote; + + /** + * 提交时间 + */ + private java.util.Date commitTime; + + /** + * 审核时间 + */ + private java.util.Date auditTime; + + /** + * 加盟时间 + */ + private java.util.Date franchiseTime; + + //加盟上传合同操作人姓名 + private String operateBy; + //加盟上传合同操作人电话 + private String operateTelephone; + //加盟上传合同操作人邮箱 + private String operateEmail; + + +} diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java index 6f5c792..e8ec61b 100644 --- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java +++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/entity/SysDepart.java @@ -203,7 +203,7 @@ public class SysDepart implements Serializable { */ private String serverUrl; /** - * 各机构服务器后台接口地址 + * 机构图片 */ private String picUrl; diff --git a/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml b/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml index b66b161..cf1ce22 100644 --- a/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml +++ b/nursing-unit-system/nu-system-start/src/main/resources/application-dev.yml @@ -187,10 +187,16 @@ spring: driver-class-name: com.mysql.cj.jdbc.Driver # 多数据源配置 # multi-datasource1: -# url: jdbc:mysql://1.92.152.160:33061/nursing_unit?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +# url: jdbc:mysql://1.92.152.160:33061/nursing_unitMediaManageMQListener?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai # username: root # password: root # driver-class-name: com.mysql.cj.jdbc.Driver + #运维只读账号 + devops: + url: jdbc:mysql://192.168.2.199:3306/nu_devops?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: nudoro + password: nudoro + driver-class-name: com.mysql.cj.jdbc.Driver #redis 配置 redis: database: 0 diff --git a/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml b/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml index f5a19c4..9bd6ef7 100644 --- a/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml +++ b/nursing-unit-system/nu-system-start/src/main/resources/application-uat.yml @@ -191,6 +191,12 @@ spring: #username: root #password: root #driver-class-name: com.mysql.cj.jdbc.Driver + #运维只读账号 + devops: + url: jdbc:mysql://mysql8-prod:3306/nu_devops?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + username: nudoro + password: nudoro + driver-class-name: com.mysql.cj.jdbc.Driver #redis 配置 redis: database: 1 diff --git a/pom.xml b/pom.xml index 1723a7e..562e1b8 100644 --- a/pom.xml +++ b/pom.xml @@ -471,13 +471,5 @@ uat - - - prod - - - prod - -