diff --git a/.gitignore b/.gitignore index c813d3b..ae31e7f 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ /WXEngine/target/ /Auth/src/main/resources/application-test.yml /Auth/src/main/resources/bootstrap-test.yml +/Feign/src/main/resources/application-test.yml +/Feign/src/main/resources/bootstrap-test.yml diff --git a/Feign/pom.xml b/Feign/pom.xml new file mode 100644 index 0000000..f6188c9 --- /dev/null +++ b/Feign/pom.xml @@ -0,0 +1,111 @@ + + + 4.0.0 + + cn.crtech.cloud.feign + Feign + 1.0.1 + + + + cn.crtech.cloud.dependencies + Dependencies + 1.0.1 + + + + + + 8 + 8 + 1.8 + UTF-8 + UTF-8 + + 1.0.1 + 10.7.4 + 4.5.10 + + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.boot + spring-boot-starter-data-redis + + + io.lettuce + lettuce-core + + + + + redis.clients + jedis + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + io.github.openfeign + feign-httpclient + ${feign.version} + + + + cn.crtech.cloud.common + Common + ${common.version} + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + true + -Dfile.encoding=UTF-8 + + + + + diff --git a/Feign/src/main/java/cn/crtech/feign/FeignApplication.java b/Feign/src/main/java/cn/crtech/feign/FeignApplication.java new file mode 100644 index 0000000..fd9b7c8 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/FeignApplication.java @@ -0,0 +1,18 @@ +package cn.crtech.feign; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; +import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@EnableDiscoveryClient +@EnableFeignClients(basePackages = "cn.crtech.feign") +@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, RedisAutoConfiguration.class, RedisRepositoriesAutoConfiguration.class}) +public class FeignApplication { + public static void main(String[] args) { + SpringApplication.run(FeignApplication.class, args); + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/config/FeignConfiguration.java b/Feign/src/main/java/cn/crtech/feign/config/FeignConfiguration.java new file mode 100644 index 0000000..a65dc09 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/config/FeignConfiguration.java @@ -0,0 +1,14 @@ +package cn.crtech.feign.config; + +import feign.Logger; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class FeignConfiguration { + // 日志级别 + @Bean + Logger.Level feignLoggerLevel() { + return Logger.Level.FULL; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/config/GetHeaderConfiguration.java b/Feign/src/main/java/cn/crtech/feign/config/GetHeaderConfiguration.java new file mode 100644 index 0000000..3addd9f --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/config/GetHeaderConfiguration.java @@ -0,0 +1,78 @@ +package cn.crtech.feign.config; + +import feign.RequestInterceptor; +import feign.RequestTemplate; +import lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; +import java.util.Enumeration; +import java.util.LinkedHashMap; +import java.util.Map; + +@Slf4j +@Configuration +public class GetHeaderConfiguration { + private static final String X_REQUEST_ID = "Bearer "; + + @Bean("requestInterceptor") + public RequestInterceptor requestInterceptor() { + return new RequestInterceptor() { + @Override + public void apply(RequestTemplate template) { + + HttpServletRequest httpServletRequest = getHttpServletRequest(); + + if (httpServletRequest != null) { + //获取头信息 + Map headers = getHeaders(httpServletRequest); + // 传递所有请求头,防止部分丢失 + + //将请求的头信息放入到RequestTemplate 的头信息中,当使用RequestTemplate发起请求时会自动添加头信息 + for (Map.Entry entry : headers.entrySet()) { + template.header(entry.getKey(), entry.getValue()); + } + // 微服务之间传递的唯一标识,区分大小写所以通过httpServletRequest获取 + if (httpServletRequest.getHeader(X_REQUEST_ID) == null) { + template.header(X_REQUEST_ID); + } + } + } + + /** + * RequestContextHolder 中获取 HttpServletRequest对象 + * + * @return + */ + private HttpServletRequest getHttpServletRequest() { + try { + return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + } catch (Exception e) { + return null; + } + } + + /** + * 获取头信息 + * + * @param request + * @return + */ + private Map getHeaders(HttpServletRequest request) { + Map map = new LinkedHashMap<>(); + Enumeration enumeration = request.getHeaderNames(); + if (enumeration != null) { + while (enumeration.hasMoreElements()) { + String key = enumeration.nextElement(); + String value = request.getHeader(key); + map.put(key, value); + } + } + return map; + } + }; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/controller/AcctApi.java b/Feign/src/main/java/cn/crtech/feign/controller/AcctApi.java new file mode 100644 index 0000000..aaa1e90 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/controller/AcctApi.java @@ -0,0 +1,32 @@ +package cn.crtech.feign.controller; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.pojo.AccountFlow; +import cn.crtech.feign.pojo.CompanyAccount; +import cn.crtech.feign.service.AcctClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class AcctApi { + @Autowired + private AcctClient acctClient; + + @PostMapping("/acct/account/flow") + public Result accountFlowCreate(@RequestBody AccountFlow accountFlow) { + return acctClient.accountFlowCreate(accountFlow); + } + + @RequestMapping(value = "/acct/companyAccount/insertCompanyAccount") + public Result insertCompanyAccount(@RequestBody CompanyAccount companyAccount) { + return acctClient.insertCompanyAccount(companyAccount); + } + + @RequestMapping(value = "/acct/companyAccount/updateCompanyAccount") + public Result updateCompanyAccount(@RequestBody CompanyAccount companyAccount) { + return acctClient.updateCompanyAccount(companyAccount); + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/controller/AuthApi.java b/Feign/src/main/java/cn/crtech/feign/controller/AuthApi.java new file mode 100644 index 0000000..5887e0a --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/controller/AuthApi.java @@ -0,0 +1,34 @@ +package cn.crtech.feign.controller; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.service.AuthClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * auth模块服务间调用Api + * + * @author TYP + * @since 2023-08-11 14:44 + */ + +@RestController +public class AuthApi { + private AuthClient authClient; + + @Autowired + public AuthApi(AuthClient authClient) { + this.authClient = authClient; + } + + /** + * 权限数据刷新 + * + * @return 返回处理结果 + */ + @PostMapping("/oauth/initRedis") + public Result initRedis() { + return authClient.initRedis(); + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/controller/LsErpApi.java b/Feign/src/main/java/cn/crtech/feign/controller/LsErpApi.java new file mode 100644 index 0000000..c645be2 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/controller/LsErpApi.java @@ -0,0 +1,44 @@ +package cn.crtech.feign.controller; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.dto.ChainUserDto; +import cn.crtech.feign.service.LsErpClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class LsErpApi { + @Autowired + private LsErpClient lsErpClient; + + /** + * 获取连锁公司选项 + * + * @return 返回查询结果 + */ + @PostMapping("/ls/erp/loadChainOption") + public Result loadChainOption() { + try { + return lsErpClient.loadChainOption(); + } catch (Exception e) { + return Result.error("查询失败"); + } + } + + /** + * 连锁用户注册 + * + * @param userDto 注册信息对象 + * @return 返回注册结果 + */ + @PostMapping("/ls/erp/registerUser") + public Result registerUser(@RequestBody ChainUserDto userDto) { + try { + return lsErpClient.registerUser(userDto); + } catch (Exception e) { + return Result.error("查询失败"); + } + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/controller/MnsApi.java b/Feign/src/main/java/cn/crtech/feign/controller/MnsApi.java new file mode 100644 index 0000000..3bc623e --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/controller/MnsApi.java @@ -0,0 +1,87 @@ +package cn.crtech.feign.controller; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.dto.MessageDto; +import cn.crtech.feign.pojo.WxMpMessage; +import cn.crtech.feign.service.MnsClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +public class MnsApi { + @Autowired + private MnsClient mnsClient; + + @PostMapping("/mns/sendSystemMessage") + public Result sendSystemMessage(@RequestBody MessageDto message) { + return mnsClient.sendSystemMessage(message); + } + + @PostMapping("/mns/sendWxMpTempMessage") + public Result sendWxMpTempMessage(@RequestBody WxMpMessage wxMpMessage) { + return mnsClient.sendWxMpTempMessage(wxMpMessage); + } + + @GetMapping("/mns/sendSMS/{type}/{mobile}") + public Result sendSystemMessage(@PathVariable("type") String type, @PathVariable("mobile") String mobile) { + return mnsClient.sendSMS(type, mobile); + } + + /** + * 分页条件查询系统消息内容 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/mns/systemMessage/listQueryByPage") + Result listQueryByPage(Map params) { + return mnsClient.listQueryByPage(params); + } + + /** + * 更新系统消息状态 + * + * @param params 参数对象 + * @return 返回执行结果 + */ + @PostMapping("/mns/systemMessage/updateSystemMessageStatus") + Result updateSystemMessageStatus(Map params) { + return mnsClient.updateSystemMessageStatus(params); + } + + /** + * 查询系统消息 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/mns/systemMessage/listByParams") + Result listByParams(Map params) { + return mnsClient.listByParams(params); + } + + /** + * 发送(新增)系统消息 + * + * @param params 参数对象 + * @return 返回执行结果 + */ + @PostMapping("/mns/systemMessage/sendPlatForm") + Result sendPlatForm(Map params) { + return mnsClient.sendPlatForm(params); + } + + /** + * 更新系统消息 + * + * @param params 参数对象 + * @return 返回执行结果 + */ + @PostMapping("/mns/systemMessage/update") + Result update(Map params) { + return mnsClient.update(params); + } + +} diff --git a/Feign/src/main/java/cn/crtech/feign/controller/ResourceApi.java b/Feign/src/main/java/cn/crtech/feign/controller/ResourceApi.java new file mode 100644 index 0000000..6c8f0d9 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/controller/ResourceApi.java @@ -0,0 +1,72 @@ +package cn.crtech.feign.controller; + +import cn.crtech.cloud.common.api.CommonResult; +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.service.ResourceClient; +import feign.Response; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +@Controller +public class ResourceApi { + @Autowired + private ResourceClient resourceClient; + + @RequestMapping(value = "/rm/upload", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @ResponseBody + public CommonResult addFile(@RequestPart(name = "file") MultipartFile file, + @RequestParam(name = "path") String path, + @RequestParam(name = "name") String name, + @RequestParam(name = "description") String description) { + + return resourceClient.addFile(file, path, name, description); + } + + @GetMapping("/rm/s/{fileId}") + @ResponseBody + public CommonResult showUrl(@PathVariable(value = "fileId") String fileId) { + return resourceClient.showUrl(fileId); + } + + @PostMapping("/rm/s/much") + @ResponseBody + public CommonResult showMuchUrl(@RequestBody Map params) { + return resourceClient.showMuchUrl(params); + } + + @GetMapping("/rm/d/{fileId}") + @ResponseBody + public CommonResult downloadUrl(@PathVariable(value = "fileId") String fileId) { + return resourceClient.downloadUrl(fileId); + } + + @PostMapping("/rm/remove") + @ResponseBody + public CommonResult remove(@RequestBody List fileIds) { + return resourceClient.remove(fileIds); + } + + @GetMapping("/getFileStream") + public Response getFileStream(@RequestParam("fileId")String fileId) { + return resourceClient.getFileStream(fileId); + } + + @GetMapping(value = {"/rm/byte/res/stream/{fileId}", "/rm/byte/down/stream/{fileId}"}, produces = "application/json;charset=utf-8") + @ResponseBody + public CommonResult getFileStreamByFileId(@PathVariable("fileId") String fileId) { + return resourceClient.getFileStreamByFileId(fileId); + } + + @GetMapping("/rm/copyOfMinIoFile") + @ResponseBody + public Result copyOfMinIoFile(@RequestParam(value = "fileId") String fileId) { + return resourceClient.copyOfMinIoFile(fileId); + } + +} diff --git a/Feign/src/main/java/cn/crtech/feign/controller/UserApi.java b/Feign/src/main/java/cn/crtech/feign/controller/UserApi.java new file mode 100644 index 0000000..b37a2cb --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/controller/UserApi.java @@ -0,0 +1,562 @@ +package cn.crtech.feign.controller; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.dto.RegisterDto; +import cn.crtech.feign.service.CloudMisClient; +import cn.crtech.feign.service.TmClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +public class UserApi { + private TmClient tmClient; + private CloudMisClient cloudMisClient; + + @Autowired + public UserApi(TmClient tmClient, CloudMisClient cloudMisClient) { + this.tmClient = tmClient; + this.cloudMisClient = cloudMisClient; + } + + /************************************* 公司角色 start *******************************************/ + /** + * 条件查询公司角色数据 + * + * @param obj 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comRole/loadComRoleByPage") + public Result loadComRoleByPage(@RequestBody Map obj) { + return cloudMisClient.loadComRoleByPage(obj); + } + + /** + * 创建公司角色数据信息 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/createComRole") + public Result createComRole(@RequestBody Map obj) { + return cloudMisClient.createComRole(obj); + } + + /** + * 修改公司角色数据信息 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/updateComRole") + public Result updateComRole(@RequestBody Map obj) { + return cloudMisClient.updateComRole(obj); + } + + /** + * 删除公司角色 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/delComRole") + public Result delComRole(@RequestBody Map obj) { + return cloudMisClient.delComRole(obj); + } + + /** + * 公司角色设定管理员 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/setComAdminRole") + public Result setComAdminRole(@RequestBody Map obj) { + return cloudMisClient.setComAdminRole(obj); + } + + /** + * 查询获取公司已授权绑定的产品数据 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/loadComBindSeriesApp") + public Result loadComBindSeriesApp(@RequestBody Map obj) { + return cloudMisClient.loadComBindSeriesApp(obj); + } + + /** + * 查询获取公司已授权绑定产品的菜单数据 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/loadComAppPopedom") + public Result loadComAppPopedom(@RequestBody Map obj) { + return cloudMisClient.loadComAppPopedom(obj); + } + + /** + * 查询获取公司已授权绑定产品菜单特殊权限数据 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/loadComAppPopAuthority") + public Result loadComAppPopAuthority(@RequestBody Map obj) { + return cloudMisClient.loadComAppPopAuthority(obj); + } + + /** + * 角色绑定授权 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/roleBindAuth") + public Result roleBindAuth(@RequestBody Map params) { + return cloudMisClient.roleBindAuth(params); + } + + /** + * 查询角色绑定用户信息 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comRole/loadComRoleUser") + public Result loadComRoleUser(@RequestBody Map params) { + return cloudMisClient.loadComRoleUser(params); + } + + /** + * 角色绑定用户信息 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/comRoleBindUser") + public Result comRoleBindUser(@RequestBody Map params) { + return cloudMisClient.comRoleBindUser(params); + } + /************************************* 公司角色 end *******************************************/ + + /************************************* 授权默认角色 start *******************************************/ + /** + * 条件分页查询企业授权产品默认角色 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/defaultRole/loadComAuthDefaultRoleByPage") + Result loadComAuthDefaultRoleByPage(@RequestBody Map params) { + return cloudMisClient.loadComAuthDefaultRoleByPage(params); + } + + /** + * 查询默认角色授权数据 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/defaultRole/loadDefaultRoleAuth") + Result loadDefaultRoleAuth(@RequestBody Map params) { + return cloudMisClient.loadDefaultRoleAuth(params); + } + + /** + * 获取当前角色未绑定用户数据 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/defaultRole/loadUnbindDefaultRoleUser") + Result loadUnbindDefaultRoleUser(@RequestBody Map params) { + return cloudMisClient.loadUnbindDefaultRoleUser(params); + } + + /** + * 角色批量绑定用户 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/defaultRole/defaultRoleBindUser") + Result defaultRoleBindUser(@RequestBody Map params) { + return cloudMisClient.defaultRoleBindUser(params); + } + /************************************* 授权默认角色 end *******************************************/ + + /************************************* 企业用户 start *******************************************/ + /** + * 条件分页查询企业用户信息 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comUser/loadComUserByPage") + public Result loadComUserByPage(@RequestBody Map params) { + return cloudMisClient.loadComUserByPage(params); + } + + /** + * 用户注册新增 + * + * @param registerDto 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/createComUser") + public Result createComUser(@RequestBody Map registerDto) { + return cloudMisClient.createComUser(registerDto); + } + + /** + * 更新企业用户信息 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/updateComUser") + public Result updateComUser(@RequestBody Map params) { + return cloudMisClient.updateComUser(params); + } + + /** + * 企业用户状态修改 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/changeComUserState") + public Result changeComUserState(@RequestBody Map params) { + return cloudMisClient.changeComUserState(params); + } + + /** + * 获取企业角色内容 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comUser/loadComUserRoleData") + public Result loadComUserRoleData(@RequestBody Map params) { + return cloudMisClient.loadComUserRoleData(params); + } + + /** + * 用户绑定角色 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/comUserBindRole") + public Result comUserBindRole(@RequestBody Map params) { + return cloudMisClient.comUserBindRole(params); + } + /************************************* 企业用户 end *******************************************/ + + /************************************* 企业信息 start *******************************************/ + /** + * 获取企业信息 + * + * @param params 参数对象 + *
    + *
  • companyCode: 公司标识
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/com/loadComInfo") + public Result loadComInfo(@RequestBody Map params) { + return cloudMisClient.loadComInfo(params); + } + /************************************* 企业信息 end *******************************************/ + + /************************************* 个人企业 start *******************************************/ + /** + * 修改用户默认企业 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/setDefaultCompany") + public Result setDefaultCompany(@RequestBody Map params) { + return cloudMisClient.setDefaultCompany(params); + } + /************************************* 个人企业 end *******************************************/ + + /************************************* 个人技能证书 start *******************************************/ + /** + * 用户技能证书提交 + * + * @param params 参数对象 + * @return 返回结果 + */ + @PostMapping("/misFeign/userSkill/uploadCertificate") + public Result uploadCertificate(@RequestBody Map params) { + return cloudMisClient.uploadCertificate(params); + } + + /** + * 查询个人技能证书 + * + * @param params 参数对象 + *
    + *
  • userId: 用户ID
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/userSkill/loadSelfCertificate") + public Result loadSelfCertificate(@RequestBody Map params) { + return cloudMisClient.loadSelfCertificate(params); + } + + /** + * 删除个人技能证书 + * + * @param params 参数对象 + *
    + *
  • id: 技能内容ID
  • + *
+ * @return 返回操作结果 + */ + @PostMapping("/misFeign/userSkill/delSelfCertificate") + public Result delSelfCertificate(@RequestBody Map params) { + return cloudMisClient.delSelfCertificate(params); + } + + /** + * 条件获取字典数据信息 + * + * @param params 参数对象 + *
    + *
  • typeCode: 字典类型标识
  • + *
  • code: 字典数据标识
  • + *
  • name: 字典数据名称
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/dict/loadDictDataByCondition") + public Result loadDictDataByCondition(@RequestBody Map params) { + return cloudMisClient.loadDictDataByCondition(params); + } + /************************************* 个人技能证书 end *******************************************/ + + /************************************* 安全中心 start *******************************************/ + /** + * 用户密码修改 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/user/updateUserPwd") + public Result updateUserPwd(@RequestBody Map obj) { + return cloudMisClient.updateUserPwd(obj); + } + /************************************* 安全中心 end *******************************************/ + + /************************************* 个人中心 start *******************************************/ + /** + * 更新用户信息 + * + * @param params 参数对象 + *
    + *
  • id: 用户ID
  • + *
  • email: 邮箱地址
  • + *
  • name: 名称
  • + *
  • state: 企业用户状态
  • + *
+ * @return 返回操作结果 + */ + @PostMapping("/misFeign/user/renewUserInfo") + public Result renewUserInfo(@RequestBody Map params) { + try { + cloudMisClient.renewUserInfo(params); + ; + tmClient.updateStaffInfo(params); + } catch (Exception e) { + return Result.error("修改人员失败"); + } + return Result.success(); + } + + /** + * 获取团队管理用户信息 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/user/staff/queryById") + public Result queryStaffById(@RequestBody Map params) { + return tmClient.queryStaffById(params); + } + /************************************* 个人中心 end *******************************************/ + + /************************************* 其他调用内容 start **************************************/ + /** + * 条件查询所有满足条件的所有用户数据(产品标识及公司标识) + * + * @param params 参数对象 + *
    + *
  • applicationCode: 产品标识
  • + *
  • companyCode: 公司标识
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryAll") + public Result queryAllUser(@RequestParam Map params) { + return cloudMisClient.queryAllUser(params); + } + + /** + * 条件查询所有满足条件的所有用户数据(公司标识) + * + * @param params 参数对象 + *
    + *
  • companyCode: 公司标识
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryUserByCompanyCode") + public Result queryUserByCompanyCode(@RequestParam Map params) { + return cloudMisClient.queryUserByCompanyCode(params); + } + + /** + * 根据手机号码查询用户信息 + * + * @param mobile 用户手机号码 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryUserByMobile") + public Result queryUserByMobile(@RequestParam String mobile) { + Map params = new HashMap<>(); + params.put("mobile", mobile); + return cloudMisClient.queryUserByMobile(params); + } + + /** + * 客户端用户注册 + * + * @param user 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/user/clientRegister") + Result clientRegister(@RequestBody Map user) { + return cloudMisClient.clientRegister(user); + } + + /** + * 条件查询所有满足条件的所有用户数据(角色标识) + * + * @param params 参数对象 + *
    + *
  • pageNum: 分页页码
  • + *
  • pageSize: 数据个数
  • + *
  • roleCode: 对应角色标识集合
  • + *
  • nickName: 用户别名
  • + *
  • companyName: 企业名称
  • + *
  • mobile: 手机号码
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryUserByRoleCode") + Result queryUserByRoleCode(@RequestBody Map params) { + return cloudMisClient.queryUserByRoleCode(params); + } + + /** + * 查询非公司用户 + * + * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryNotCompanyUser") + Result queryNotCompanyUser() { + return cloudMisClient.queryNotCompanyUser(); + } + + /** + * 查询已创建的公司医院信息 + * + * @return 返回查询结果 + */ + @PostMapping("/misFeign/company/queryHospitalInfo") + Result queryHospitalInfo() { + return cloudMisClient.queryHospitalInfo(); + } + + /** + * 授权数据信息查询 + * + * @param obj 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comApp/loadRoleApp") + Result loadComAuthApp(@RequestBody Map obj) { + return cloudMisClient.loadComAuthApp(obj); + } + + /** + * 更新用户信息(团队管理) + * + * @param params 参数对象 + *
    + *
  • userName: 用户名称
  • + *
  • serialNo: 员工编号
  • + *
  • userId: 用户ID
  • + *
  • mobile: 手机号码
  • + *
+ * @return 返回操作结果 + */ + @PostMapping("/misFeign/user/updateUserInfoByTm") + Result updateUserInfoByTm(@RequestBody Map params) { + return cloudMisClient.updateUserInfoByTm(params); + } + + /** + * 获取连锁数据集合 + * + * @param params 参数对象 + *
    + *
  • chainName: 连锁名称
  • + *
  • chainCode: 连锁标识
  • + *
  • mechanismName: 机构名称
  • + *
  • mechanismCode: 机构标识
  • + *
  • isHeadOffice: 是否连锁总店
  • + *
  • isSystemCompany: 是否存在关联公司
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/chain/getChainList") + Result getChainList(@RequestBody Map params) { + return cloudMisClient.getChainList(params); + } + + /** + * 批量新增用户 + * + * @param registerDtos 用户数据集合 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/batchRegister") + public Result batchRegister(@RequestBody List registerDtos) { + return cloudMisClient.batchRegister(registerDtos); + } + + /** + * 初始化企业用户团队管理用户信息 + * + * @param objectList 用户信息数据集合 + * @return 返回操作结果 + */ + @PostMapping("/user/staff/initTMStaff") + public Result initTMStaff(@RequestBody List> objectList) { + return tmClient.initTMStaff(objectList); + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/dto/ChainUserDto.java b/Feign/src/main/java/cn/crtech/feign/dto/ChainUserDto.java new file mode 100644 index 0000000..1ef759b --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/dto/ChainUserDto.java @@ -0,0 +1,27 @@ +package cn.crtech.feign.dto; + +import lombok.*; + +import java.io.Serializable; + +/** + * 连锁主界面用户注册DTO对象 + * + * @author TYP + * @since 2023-02-23 16:18 + */ + +@Data +@Builder +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class ChainUserDto implements Serializable { + private Integer companyId; + private String name; + private String mobile; + private String email; + private String zhiyid; + private String lgnname; + private String password; +} diff --git a/Feign/src/main/java/cn/crtech/feign/dto/MessageDto.java b/Feign/src/main/java/cn/crtech/feign/dto/MessageDto.java new file mode 100644 index 0000000..759e091 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/dto/MessageDto.java @@ -0,0 +1,15 @@ +package cn.crtech.feign.dto; + +import cn.crtech.feign.pojo.Message; +import cn.crtech.feign.pojo.MessageList; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class MessageDto implements Serializable { + private Message message; + + private List messageLists; +} diff --git a/Feign/src/main/java/cn/crtech/feign/dto/RegisterDto.java b/Feign/src/main/java/cn/crtech/feign/dto/RegisterDto.java new file mode 100644 index 0000000..37acaad --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/dto/RegisterDto.java @@ -0,0 +1,23 @@ +package cn.crtech.feign.dto; + +import lombok.Data; + +/** + * @author lzjyz + */ +@Data +public class RegisterDto { + private String name; + + private String mobile; + + private String email; + + private String password; + + private String checkPassword; + + private String companyCode; + + private String serialNo; +} diff --git a/Feign/src/main/java/cn/crtech/feign/fallback/AcctClientFallbackFactory.java b/Feign/src/main/java/cn/crtech/feign/fallback/AcctClientFallbackFactory.java new file mode 100644 index 0000000..f35c8b7 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/fallback/AcctClientFallbackFactory.java @@ -0,0 +1,30 @@ +package cn.crtech.feign.fallback; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.pojo.AccountFlow; +import cn.crtech.feign.pojo.CompanyAccount; +import cn.crtech.feign.service.AcctClient; +import org.springframework.cloud.openfeign.FallbackFactory; + +public class AcctClientFallbackFactory implements FallbackFactory { + @Override + public AcctClient create(Throwable cause) { + return new AcctClient() { + @Override + public Result accountFlowCreate(AccountFlow accountFlow) { + return Result.error("", "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result insertCompanyAccount(CompanyAccount companyAccount) { + return Result.error(companyAccount, "fallback;reason was : " + cause.getMessage()); + + } + + @Override + public Result updateCompanyAccount(CompanyAccount companyAccount) { + return Result.error(companyAccount, "fallback;reason was : " + cause.getMessage()); + } + }; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/fallback/AuthClientFallbackFactory.java b/Feign/src/main/java/cn/crtech/feign/fallback/AuthClientFallbackFactory.java new file mode 100644 index 0000000..4bef4ac --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/fallback/AuthClientFallbackFactory.java @@ -0,0 +1,17 @@ +package cn.crtech.feign.fallback; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.service.AuthClient; +import org.springframework.cloud.openfeign.FallbackFactory; + +public class AuthClientFallbackFactory implements FallbackFactory { + @Override + public AuthClient create(Throwable cause) { + return new AuthClient() { + @Override + public Result initRedis() { + return Result.error("", "fallback;reason was : " + cause.getMessage()); + } + }; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/fallback/CloudMisFallbackFactory.java b/Feign/src/main/java/cn/crtech/feign/fallback/CloudMisFallbackFactory.java new file mode 100644 index 0000000..34db43f --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/fallback/CloudMisFallbackFactory.java @@ -0,0 +1,216 @@ +package cn.crtech.feign.fallback; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.dto.RegisterDto; +import cn.crtech.feign.service.CloudMisClient; +import org.springframework.cloud.openfeign.FallbackFactory; + +import java.util.List; +import java.util.Map; + +public class CloudMisFallbackFactory implements FallbackFactory { + @Override + public CloudMisClient create(Throwable cause) { + return new CloudMisClient() { + @Override + public Result loadComRoleByPage(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result createComRole(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result updateComRole(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result delComRole(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result setComAdminRole(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComBindSeriesApp(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComAppPopedom(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComAppPopAuthority(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result roleBindAuth(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComAuthDefaultRoleByPage(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadDefaultRoleAuth(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadUnbindDefaultRoleUser(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result defaultRoleBindUser(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComRoleUser(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result comRoleBindUser(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComUserByPage(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result createComUser(Map registerDto) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result updateComUser(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result changeComUserState(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComUserRoleData(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result comUserBindRole(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComInfo(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result setDefaultCompany(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result uploadCertificate(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadSelfCertificate(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result delSelfCertificate(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadDictDataByCondition(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result updateUserPwd(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result renewUserInfo(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result queryAllUser(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result queryUserByCompanyCode(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result queryUserByMobile(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result clientRegister(Map user) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result queryUserByRoleCode(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result queryNotCompanyUser() { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result queryHospitalInfo() { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result loadComAuthApp(Map obj) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result updateUserInfoByTm(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result getChainList(Map params) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result batchRegister(List registerDtos) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + }; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/fallback/LsErpClientFallbackFactory.java b/Feign/src/main/java/cn/crtech/feign/fallback/LsErpClientFallbackFactory.java new file mode 100644 index 0000000..1a74596 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/fallback/LsErpClientFallbackFactory.java @@ -0,0 +1,23 @@ +package cn.crtech.feign.fallback; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.dto.ChainUserDto; +import cn.crtech.feign.service.LsErpClient; +import org.springframework.cloud.openfeign.FallbackFactory; + +public class LsErpClientFallbackFactory implements FallbackFactory { + @Override + public LsErpClient create(Throwable cause) { + return new LsErpClient() { + @Override + public Result loadChainOption() { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result registerUser(ChainUserDto userDto) { + return Result.error(null, "fallback;reason was : " + cause.getMessage()); + } + }; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/fallback/MnsClientFallbackFactory.java b/Feign/src/main/java/cn/crtech/feign/fallback/MnsClientFallbackFactory.java new file mode 100644 index 0000000..95b343d --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/fallback/MnsClientFallbackFactory.java @@ -0,0 +1,56 @@ +package cn.crtech.feign.fallback; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.dto.MessageDto; +import cn.crtech.feign.pojo.WxMpMessage; +import cn.crtech.feign.service.MnsClient; +import org.springframework.cloud.openfeign.FallbackFactory; + +import java.util.Map; + +public class MnsClientFallbackFactory implements FallbackFactory { + @Override + public MnsClient create(Throwable cause) { + return new MnsClient() { + @Override + public Result sendSystemMessage(MessageDto obj) { + return Result.error(obj, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result sendWxMpTempMessage(WxMpMessage obj) { + return Result.error(obj, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result sendSMS(String type, String mobile) { + return Result.error(mobile, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result listQueryByPage(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result updateSystemMessageStatus(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result listByParams(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result sendPlatForm(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result update(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + }; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/fallback/ResourceClientFallbackFactory.java b/Feign/src/main/java/cn/crtech/feign/fallback/ResourceClientFallbackFactory.java new file mode 100644 index 0000000..fbed2a5 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/fallback/ResourceClientFallbackFactory.java @@ -0,0 +1,59 @@ +package cn.crtech.feign.fallback; + +import cn.crtech.cloud.common.api.CommonResult; +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.service.ResourceClient; +import feign.Response; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +public class ResourceClientFallbackFactory implements FallbackFactory { + @Override + public ResourceClient create(Throwable cause) { + return new ResourceClient() { + @Override + public CommonResult addFile(MultipartFile file, String path, String name, String description) { + return CommonResult.failed("fallback;reason was : " + cause.getMessage()); + } + + @Override + public CommonResult showUrl(String fileId) { + return CommonResult.failed("fallback;reason was : " + cause.getMessage()); + } + + @Override + public CommonResult showMuchUrl(Map params) { + return CommonResult.failed("fallback;reason was : " + cause.getMessage()); + } + + @Override + public CommonResult downloadUrl(String fileId) { + return CommonResult.failed("fallback;reason was : " + cause.getMessage()); + } + + @Override + public CommonResult remove(List fileIds) { + return CommonResult.failed("fallback;reason was : " + cause.getMessage()); + } + + @Override + public CommonResult getFileStreamByFileId(String fileId) { + return CommonResult.failed("fallback;reason was : " + cause.getMessage()); + } + + @Override + public Response getFileStream(String fileId) { + return null; + } + + @Override + public Result copyOfMinIoFile(String fileId) { + return Result.error("fallback;reason was : " + cause.getMessage()); + } + + }; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/fallback/TmClientFallbackFactory.java b/Feign/src/main/java/cn/crtech/feign/fallback/TmClientFallbackFactory.java new file mode 100644 index 0000000..92300bf --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/fallback/TmClientFallbackFactory.java @@ -0,0 +1,45 @@ +package cn.crtech.feign.fallback; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.service.TmClient; +import org.springframework.cloud.openfeign.FallbackFactory; + +import java.util.List; +import java.util.Map; + +public class TmClientFallbackFactory implements FallbackFactory { + @Override + public TmClient create(Throwable cause) { + return new TmClient() { + @Override + public Result updateStaffInfo(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result updateStaffFormCompany(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result getByTypeCodeParams(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result queryStaffById(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result initTMStaff(List> params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + + @Override + public Result changeState(Map params) { + return Result.error(params, "fallback;reason was : " + cause.getMessage()); + } + }; + } +} diff --git a/Feign/src/main/java/cn/crtech/feign/pojo/AccountFlow.java b/Feign/src/main/java/cn/crtech/feign/pojo/AccountFlow.java new file mode 100644 index 0000000..dac45d0 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/pojo/AccountFlow.java @@ -0,0 +1,52 @@ +package cn.crtech.feign.pojo; + +import cn.crtech.cloud.common.annotation.DataExportAnnotation; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import javax.persistence.Table; +import javax.persistence.Transient; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * Created by rxy on 2023-01-29 10:59:27 + */ +@Data +@Table(name = "account_flow") +@DataExportAnnotation("资金流水") +public class AccountFlow implements Serializable { + @DataExportAnnotation("主键") + private Integer id; + @DataExportAnnotation("业务id") + private String bizId; + @DataExportAnnotation("业务类型code") + private String bizTypeCode; + @DataExportAnnotation("来源") + private String source; + @DataExportAnnotation("操作金额") + private BigDecimal operationAmount; + @DataExportAnnotation("企业标识") + private String companyCode; + @DataExportAnnotation("企业名称") + private String companyName; + @DataExportAnnotation("账户金额") + private BigDecimal accountAmount; + @DataExportAnnotation("备注") + private String remark; + @DataExportAnnotation("详情地址") + private String url; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS", timezone = "GMT+8") + @DataExportAnnotation("时间") + private Date created; + private Integer userId; + private String userName; + @DataExportAnnotation("状态") + private Integer status; + @Transient + @DataExportAnnotation("业务类型名称") + private String bizTypeName; + @DataExportAnnotation("流水编号") + private String serialNo; +} diff --git a/Feign/src/main/java/cn/crtech/feign/pojo/CompanyAccount.java b/Feign/src/main/java/cn/crtech/feign/pojo/CompanyAccount.java new file mode 100644 index 0000000..a5528c2 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/pojo/CompanyAccount.java @@ -0,0 +1,33 @@ +package cn.crtech.feign.pojo; + +import cn.crtech.cloud.common.annotation.DataExportAnnotation; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import javax.persistence.Table; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * Created by rxy on 2023-01-29 10:57:29 + */ +@Data +@Table(name = "company_account") +@DataExportAnnotation("企业账户") +public class CompanyAccount implements Serializable { + @DataExportAnnotation("主键") + private String id; + @DataExportAnnotation("企业名称") + private String companyName; + @DataExportAnnotation("企业编码") + private String companyCode; + @DataExportAnnotation("金额") + private BigDecimal account; + @DataExportAnnotation("1.启用 0.失效") + private Integer status; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DataExportAnnotation("创建时间") + private Date created; + +} diff --git a/Feign/src/main/java/cn/crtech/feign/pojo/Message.java b/Feign/src/main/java/cn/crtech/feign/pojo/Message.java new file mode 100644 index 0000000..73cc9a4 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/pojo/Message.java @@ -0,0 +1,87 @@ +package cn.crtech.feign.pojo; + +import cn.crtech.cloud.common.annotation.DataExportAnnotation; +import cn.crtech.cloud.common.utils.IDGenerator; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import tk.mybatis.mapper.annotation.KeySql; + +import javax.persistence.Column; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by rxy on 2023-03-01 11:05:49 + */ +@Data +@Table(name = "cr_message") +@DataExportAnnotation("消息") +public class Message implements Serializable { + @Id + @KeySql(genId = IDGenerator.class) + @DataExportAnnotation("主键") + private String id; + @Column(name = "category_id") + @DataExportAnnotation("消息类型") + private String categoryId; + @Column(name = "sender_id") + @DataExportAnnotation("发送人") + private String senderId; + @Column(name = "sender_name") + @DataExportAnnotation("发送人名称") + private String senderName; + @Column(name = "title") + @DataExportAnnotation("标题") + private String title; + @Column(name = "content") + @DataExportAnnotation("内容") + private String content; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Column(name = "created") + @DataExportAnnotation("创建时间") + private Date created; + @Column(name = "send_way") + @DataExportAnnotation("0:内部消息,1:APP,2:短信,3:App+短信") + private Integer sendWay; + @Column(name = "application_code") + @DataExportAnnotation("业务系统标识") + private String applicationCode; + @Column(name = "application_name") + @DataExportAnnotation("业务系统名称") + private String applicationName; + @Column(name = "biz_id") + @DataExportAnnotation("业务标识") + private String bizId; + @Column(name = "biz_code") + @DataExportAnnotation("业务code") + private String bizCode; + @Column(name = "route") + @DataExportAnnotation("route") + private String route; + + @Column(name = "hospital_id") + @DataExportAnnotation("企业标识") + private String hospitalId; + + @Column(name = "hospital_name") + @DataExportAnnotation("企业名称") + private String hospitalName; + + @Transient + private String typeCode; + @Transient + private String typeName; + @Transient + private String code; + @Transient + private String bizName; + + @Transient + private Integer receiverId; + @Transient + private String receiverName; + +} diff --git a/Feign/src/main/java/cn/crtech/feign/pojo/MessageList.java b/Feign/src/main/java/cn/crtech/feign/pojo/MessageList.java new file mode 100644 index 0000000..be33661 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/pojo/MessageList.java @@ -0,0 +1,37 @@ +package cn.crtech.feign.pojo; + +import cn.crtech.cloud.common.annotation.DataExportAnnotation; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import javax.persistence.Table; +import java.io.Serializable; +import java.util.Date; + +/** + * Created by rxy on 2023-03-01 11:12:32 + */ +@Data +@Table(name = "cr_message_list") +@DataExportAnnotation("消息") +public class MessageList implements Serializable { + @DataExportAnnotation("主键") + private String id; + @DataExportAnnotation("消息id") + private String messageId; + @DataExportAnnotation("接收人") + private Integer receiverId; + @DataExportAnnotation("接收人") + private String receiverName; + @DataExportAnnotation("0:内部消息,1:App,2:短信,3:App+短信") + private Integer sendWay; + @DataExportAnnotation("状态 0 未读 1 已读") + private Integer status; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DataExportAnnotation("读取时间") + private Date readDate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DataExportAnnotation("创建时间") + private Date created; + +} diff --git a/Feign/src/main/java/cn/crtech/feign/pojo/WxMpMessage.java b/Feign/src/main/java/cn/crtech/feign/pojo/WxMpMessage.java new file mode 100644 index 0000000..c4fc453 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/pojo/WxMpMessage.java @@ -0,0 +1,24 @@ +package cn.crtech.feign.pojo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +@Data +public class WxMpMessage implements Serializable { + private String appId; + + private String typeCode; + + private String toUserOpenId; + + private String wxAppletAppid; + + private String pagePath; + + private Boolean usePath; + + private Map content = new HashMap<>(); +} diff --git a/Feign/src/main/java/cn/crtech/feign/service/AcctClient.java b/Feign/src/main/java/cn/crtech/feign/service/AcctClient.java new file mode 100644 index 0000000..dba9146 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/service/AcctClient.java @@ -0,0 +1,22 @@ +package cn.crtech.feign.service; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.config.FeignConfiguration; +import cn.crtech.feign.fallback.AcctClientFallbackFactory; +import cn.crtech.feign.pojo.AccountFlow; +import cn.crtech.feign.pojo.CompanyAccount; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient(value = "crtech-cloud-acct", fallbackFactory = AcctClientFallbackFactory.class, configuration = FeignConfiguration.class) +public interface AcctClient { + @PostMapping("/accountflow/create") + Result accountFlowCreate(@RequestBody AccountFlow accountFlow); + + @PostMapping(value = "/companyAccount/create") + Result insertCompanyAccount(@RequestBody CompanyAccount companyAccount); + + @PostMapping(value = "/companyAccount/update") + Result updateCompanyAccount(@RequestBody CompanyAccount companyAccount); +} diff --git a/Feign/src/main/java/cn/crtech/feign/service/AuthClient.java b/Feign/src/main/java/cn/crtech/feign/service/AuthClient.java new file mode 100644 index 0000000..9272596 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/service/AuthClient.java @@ -0,0 +1,13 @@ +package cn.crtech.feign.service; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.config.FeignConfiguration; +import cn.crtech.feign.fallback.AuthClientFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +@FeignClient(value = "crtech-cloud-auth", fallbackFactory = AuthClientFallbackFactory.class, configuration = FeignConfiguration.class) +public interface AuthClient { + @PostMapping("/oauth/initRedis") + Result initRedis(); +} diff --git a/Feign/src/main/java/cn/crtech/feign/service/CloudMisClient.java b/Feign/src/main/java/cn/crtech/feign/service/CloudMisClient.java new file mode 100644 index 0000000..efaaf43 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/service/CloudMisClient.java @@ -0,0 +1,433 @@ +package cn.crtech.feign.service; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.config.FeignConfiguration; +import cn.crtech.feign.dto.RegisterDto; +import cn.crtech.feign.fallback.CloudMisFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; +import java.util.Map; + +/** + * desc + * + * @author TYP + * @since 2023-08-02 15:52 + */ + +@FeignClient(value = "crtech-cloud-mis", fallbackFactory = CloudMisFallbackFactory.class, + configuration = FeignConfiguration.class) +public interface CloudMisClient { + /** + * 条件查询公司角色数据 + * + * @param obj 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comRole/loadComRoleByPage") + Result loadComRoleByPage(@RequestBody Map obj); + + /** + * 创建公司角色数据信息 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/createComRole") + Result createComRole(@RequestBody Map obj); + + /** + * 修改公司角色数据信息 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/updateComRole") + Result updateComRole(@RequestBody Map obj); + + /** + * 删除公司角色 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/delComRole") + Result delComRole(@RequestBody Map obj); + + /** + * 公司角色设定管理员 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/setComAdminRole") + Result setComAdminRole(@RequestBody Map obj); + + /** + * 查询获取公司已授权绑定的产品数据 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/loadComBindSeriesApp") + Result loadComBindSeriesApp(@RequestBody Map obj); + + /** + * 查询获取公司已授权绑定产品的菜单数据 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/loadComAppPopedom") + Result loadComAppPopedom(@RequestBody Map obj); + + /** + * 查询获取公司已授权绑定产品菜单特殊权限数据 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/loadComAppPopAuthority") + Result loadComAppPopAuthority(@RequestBody Map obj); + + /** + * 角色绑定授权 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/roleBindAuth") + Result roleBindAuth(@RequestBody Map params); + + /** + * 查询角色绑定用户信息 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comRole/loadComRoleUser") + Result loadComRoleUser(@RequestBody Map params); + + /** + * 角色绑定用户信息 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comRole/comRoleBindUser") + Result comRoleBindUser(@RequestBody Map params); + + /** + * 条件分页查询企业授权产品默认角色 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/defaultRole/loadComAuthDefaultRoleByPage") + Result loadComAuthDefaultRoleByPage(@RequestBody Map params); + + /** + * 查询默认角色授权数据 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/defaultRole/loadDefaultRoleAuth") + Result loadDefaultRoleAuth(@RequestBody Map params); + + /** + * 获取当前角色未绑定用户数据 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/defaultRole/loadUnbindDefaultRoleUser") + Result loadUnbindDefaultRoleUser(@RequestBody Map params); + + /** + * 角色批量绑定用户 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/defaultRole/defaultRoleBindUser") + Result defaultRoleBindUser(@RequestBody Map params); + + /** + * 条件分页查询企业用户信息 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comUser/loadComUserByPage") + Result loadComUserByPage(@RequestBody Map params); + + /** + * 用户注册新增 + * + * @param registerDto 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/createComUser") + Result createComUser(@RequestBody Map registerDto); + + /** + * 更新企业用户信息 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/updateComUser") + Result updateComUser(@RequestBody Map params); + + /** + * 企业用户状态修改 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/changeComUserState") + Result changeComUserState(@RequestBody Map params); + + /** + * 获取企业角色内容 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comUser/loadComUserRoleData") + Result loadComUserRoleData(@RequestBody Map params); + + /** + * 用户绑定角色 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/comUserBindRole") + Result comUserBindRole(@RequestBody Map params); + + /** + * 获取企业信息 + * + * @param params 参数对象 + *
    + *
  • companyCode: 公司标识
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/com/loadComInfo") + Result loadComInfo(Map params); + + /** + * 修改用户默认企业 + * + * @param params 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/setDefaultCompany") + Result setDefaultCompany(Map params); + + /** + * 用户技能证书提交 + * + * @param params 参数对象 + * @return 返回结果 + */ + @PostMapping("/misFeign/userSkill/uploadCertificate") + Result uploadCertificate(@RequestBody Map params); + + /** + * 查询个人技能证书 + * + * @param params 参数对象 + *
    + *
  • userId: 用户ID
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/userSkill/loadSelfCertificate") + Result loadSelfCertificate(@RequestBody Map params); + + /** + * 删除个人技能证书 + * + * @param params 参数对象 + *
    + *
  • id: 技能内容ID
  • + *
+ * @return 返回操作结果 + */ + @PostMapping("/misFeign/userSkill/delSelfCertificate") + Result delSelfCertificate(@RequestBody Map params); + + /** + * 条件获取字典数据信息 + * + * @param params 参数对象 + *
    + *
  • typeCode: 字典类型标识
  • + *
  • code: 字典数据标识
  • + *
  • name: 字典数据名称
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/dict/loadDictDataByCondition") + Result loadDictDataByCondition(@RequestBody Map params); + + /** + * 用户密码修改 + * + * @param obj 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/user/updateUserPwd") + Result updateUserPwd(@RequestBody Map obj); + + /** + * 更新用户信息 + * + * @param params 参数对象 + *
    + *
  • id: 用户ID
  • + *
  • email: 邮箱地址
  • + *
  • name: 名称
  • + *
  • state: 企业用户状态
  • + *
+ * @return 返回操作结果 + */ + @PostMapping("/misFeign/user/renewUserInfo") + Result renewUserInfo(@RequestBody Map params); + + /** + * 条件查询所有满足条件的所有用户数据(产品标识及公司标识) + * + * @param params 参数对象 + *
    + *
  • applicationCode: 产品标识
  • + *
  • companyCode: 公司标识
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryAll") + Result queryAllUser(@RequestBody Map params); + + /** + * 条件查询所有满足条件的所有用户数据(公司标识) + * + * @param params 参数对象 + *
    + *
  • companyCode: 公司标识
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryUserByCompanyCode") + Result queryUserByCompanyCode(@RequestBody Map params); + + /** + * 根据手机号码查询用户信息 + * + * @param params 参数对象 + *
    + *
  • mobile: 用户手机号码
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryUserByMobile") + Result queryUserByMobile(@RequestBody Map params); + + /** + * 客户端用户注册 + * + * @param user 参数对象 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/user/clientRegister") + Result clientRegister(@RequestBody Map user); + + /** + * 条件查询所有满足条件的所有用户数据(角色标识) + * + * @param params 参数对象 + *
    + *
  • pageNum: 分页页码
  • + *
  • pageSize: 数据个数
  • + *
  • roleCode: 对应角色标识集合
  • + *
  • nickName: 用户别名
  • + *
  • companyName: 企业名称
  • + *
  • mobile: 手机号码
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryUserByRoleCode") + Result queryUserByRoleCode(@RequestBody Map params); + + /** + * 查询非公司用户 + * + * @return 返回查询结果 + */ + @PostMapping("/misFeign/user/queryNotCompanyUser") + Result queryNotCompanyUser(); + + /** + * 查询已创建的公司医院信息 + * + * @return 返回查询结果 + */ + @PostMapping("/misFeign/company/queryHospitalInfo") + Result queryHospitalInfo(); + + /** + * 授权数据信息查询 + * + * @param obj 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/misFeign/comApp/loadRoleApp") + Result loadComAuthApp(@RequestBody Map obj); + + /** + * 更新用户信息(团队管理) + * + * @param params 参数对象 + *
    + *
  • userName: 用户名称
  • + *
  • serialNo: 员工编号
  • + *
  • userId: 用户ID
  • + *
  • mobile: 手机号码
  • + *
+ * @return 返回操作结果 + */ + @PostMapping("/misFeign/user/updateUserInfoByTm") + Result updateUserInfoByTm(@RequestBody Map params); + + /** + * 获取连锁数据集合 + * + * @param params 参数对象 + *
    + *
  • chainName: 连锁名称
  • + *
  • chainCode: 连锁标识
  • + *
  • mechanismName: 机构名称
  • + *
  • mechanismCode: 机构标识
  • + *
  • isHeadOffice: 是否连锁总店
  • + *
  • isSystemCompany: 是否存在关联公司
  • + *
+ * @return 返回查询结果 + */ + @PostMapping("/misFeign/chain/getChainList") + Result getChainList(@RequestBody Map params); + + /** + * 批量新增用户 + * + * @param registerDtos 用户数据集合 + * @return 返回操作结果 + */ + @PostMapping("/misFeign/comUser/batchRegister") + Result batchRegister(@RequestBody List registerDtos); +} diff --git a/Feign/src/main/java/cn/crtech/feign/service/LsErpClient.java b/Feign/src/main/java/cn/crtech/feign/service/LsErpClient.java new file mode 100644 index 0000000..656dc83 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/service/LsErpClient.java @@ -0,0 +1,18 @@ +package cn.crtech.feign.service; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.config.FeignConfiguration; +import cn.crtech.feign.dto.ChainUserDto; +import cn.crtech.feign.fallback.LsErpClientFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +@FeignClient(value = "crtech-cloud-mis", fallbackFactory = LsErpClientFallbackFactory.class, configuration = FeignConfiguration.class, contextId = "lsErpApi") +public interface LsErpClient { + @PostMapping("/ls/erp/loadChainOption") + Result loadChainOption(); + + @PostMapping("/ls/erp/registerUser") + Result registerUser(ChainUserDto userDto); +} + diff --git a/Feign/src/main/java/cn/crtech/feign/service/MnsClient.java b/Feign/src/main/java/cn/crtech/feign/service/MnsClient.java new file mode 100644 index 0000000..29305ee --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/service/MnsClient.java @@ -0,0 +1,71 @@ +package cn.crtech.feign.service; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.config.FeignConfiguration; +import cn.crtech.feign.dto.MessageDto; +import cn.crtech.feign.fallback.MnsClientFallbackFactory; +import cn.crtech.feign.pojo.WxMpMessage; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Map; + +@FeignClient(value = "crtech-cloud-mns", fallbackFactory = MnsClientFallbackFactory.class, configuration = FeignConfiguration.class) +public interface MnsClient { + @PostMapping("/sendSystemMessage") + Result sendSystemMessage(@RequestBody MessageDto obj); + + @PostMapping("/sendWxMpTempMessage") + Result sendWxMpTempMessage(@RequestBody WxMpMessage obj); + + @GetMapping("/sendSMS/{type}/{mobile}") + Result sendSMS(@PathVariable("type") String type, @PathVariable("mobile") String mobile); + + /** + * 分页条件查询系统消息内容 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/mns/systemMessage/listQueryByPage") + Result listQueryByPage(Map params); + + /** + * 更新系统消息状态 + * + * @param params 参数对象 + * @return 返回执行结果 + */ + @PostMapping("/mns/systemMessage/updateSystemMessageStatus") + Result updateSystemMessageStatus(Map params); + + /** + * 查询系统消息 + * + * @param params 参数对象 + * @return 返回查询结果 + */ + @PostMapping("/mns/systemMessage/listByParams") + Result listByParams(Map params); + + /** + * 发送(新增)系统消息 + * + * @param params 参数对象 + * @return 返回执行结果 + */ + @PostMapping("/mns/systemMessage/sendPlatForm") + Result sendPlatForm(Map params); + + /** + * 更新系统消息 + * + * @param params 参数对象 + * @return 返回执行结果 + */ + @PostMapping("/mns/systemMessage/update") + Result update(Map params); +} diff --git a/Feign/src/main/java/cn/crtech/feign/service/ResourceClient.java b/Feign/src/main/java/cn/crtech/feign/service/ResourceClient.java new file mode 100644 index 0000000..b436ca7 --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/service/ResourceClient.java @@ -0,0 +1,47 @@ +package cn.crtech.feign.service; + +import cn.crtech.cloud.common.api.CommonResult; +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.config.FeignConfiguration; +import cn.crtech.feign.fallback.ResourceClientFallbackFactory; +import feign.Response; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +@FeignClient(value = "crtech-cloud-resmanager", fallbackFactory = ResourceClientFallbackFactory.class, configuration = FeignConfiguration.class) +public interface ResourceClient { + @RequestMapping(value = "/upload", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + CommonResult addFile(@RequestPart(name = "file") MultipartFile file, + @RequestParam(name = "path") String path, + @RequestParam(name = "name") String name, + @RequestParam(name = "description") String description); + + @GetMapping("/s/{fileId}") + CommonResult showUrl(@PathVariable(value = "fileId") String fileId); + + @PostMapping("/s/much") + CommonResult showMuchUrl(@RequestBody Map params); + + @GetMapping("/s/{fileId}") + CommonResult downloadUrl(@PathVariable(value = "fileId") String fileId); + + @PostMapping("/remove") + CommonResult remove(@RequestBody List fileIds); + + @GetMapping("/byte/down/stream/{fileId}") + CommonResult getFileStreamByFileId(@PathVariable("fileId") String fileId); + + @GetMapping("/getFileStream") + Response getFileStream(@RequestParam("fileId") String fileId); + + @GetMapping("/copyOfMinIoFile") + Result copyOfMinIoFile(@RequestParam("fileId") String fileId); + + +} + diff --git a/Feign/src/main/java/cn/crtech/feign/service/TmClient.java b/Feign/src/main/java/cn/crtech/feign/service/TmClient.java new file mode 100644 index 0000000..8136d0f --- /dev/null +++ b/Feign/src/main/java/cn/crtech/feign/service/TmClient.java @@ -0,0 +1,33 @@ +package cn.crtech.feign.service; + +import cn.crtech.cloud.common.dto.Result; +import cn.crtech.feign.config.FeignConfiguration; +import cn.crtech.feign.fallback.TmClientFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +import java.util.List; +import java.util.Map; + +@FeignClient(value = "crtech-cloud-pivas-tm", fallbackFactory = TmClientFallbackFactory.class, configuration = FeignConfiguration.class) +public interface TmClient { + @PostMapping("/staff/modify") + Result updateStaffInfo(Map params); + + @PostMapping("/staff/updateStaffFormCompany") + Result updateStaffFormCompany(Map params); + + @PostMapping("/dictionarydata/getByTypeCodeParams") + Result getByTypeCodeParams(Map params); + + @RequestMapping("/staff/queryById") + Result queryStaffById(@RequestBody Map params); + + @PostMapping("/staff/initTMStaff") + Result initTMStaff(@RequestBody List> objectList); + + @PostMapping("/staff/changeState") + Result changeState(@RequestBody Map params); +} diff --git a/Feign/src/main/resources/application-dev.yml b/Feign/src/main/resources/application-dev.yml new file mode 100644 index 0000000..861f599 --- /dev/null +++ b/Feign/src/main/resources/application-dev.yml @@ -0,0 +1,18 @@ +server: + port: 8997 +feign: + httpclient: + enabled: true + compression: + request: + enabled: true + mime-types: text/xml,application/xml,application/json + min-request-size: 2048 + response: + enabled: true +logging: + config: classpath:logback.xml + file: + path: logs/crtech-feign-provider.log + level: + com.crtech.feign: debug \ No newline at end of file diff --git a/Feign/src/main/resources/application-prod.yml b/Feign/src/main/resources/application-prod.yml new file mode 100644 index 0000000..861f599 --- /dev/null +++ b/Feign/src/main/resources/application-prod.yml @@ -0,0 +1,18 @@ +server: + port: 8997 +feign: + httpclient: + enabled: true + compression: + request: + enabled: true + mime-types: text/xml,application/xml,application/json + min-request-size: 2048 + response: + enabled: true +logging: + config: classpath:logback.xml + file: + path: logs/crtech-feign-provider.log + level: + com.crtech.feign: debug \ No newline at end of file diff --git a/Feign/src/main/resources/bootstrap-dev.yml b/Feign/src/main/resources/bootstrap-dev.yml new file mode 100644 index 0000000..3868ec3 --- /dev/null +++ b/Feign/src/main/resources/bootstrap-dev.yml @@ -0,0 +1,12 @@ +spring: + application: + name: crtech-feign-provider + servlet: + multipart: + enabled: true + max-file-size: 100MB + max-request-size: 1024MB + cloud: + nacos: + discovery: + server-addr: localhost:8848 \ No newline at end of file diff --git a/Feign/src/main/resources/bootstrap-prod.yml b/Feign/src/main/resources/bootstrap-prod.yml new file mode 100644 index 0000000..fdb3c93 --- /dev/null +++ b/Feign/src/main/resources/bootstrap-prod.yml @@ -0,0 +1,12 @@ +spring: + application: + name: crtech-feign-provider + servlet: + multipart: + enabled: true + max-file-size: 100MB + max-request-size: 1024MB + cloud: + nacos: + discovery: + server-addr: http://api.yaoxunk.com:28848 \ No newline at end of file diff --git a/Feign/src/main/resources/bootstrap.yml b/Feign/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..1ab53e5 --- /dev/null +++ b/Feign/src/main/resources/bootstrap.yml @@ -0,0 +1,6 @@ +spring: + profiles: + active: dev + + + diff --git a/Feign/src/main/resources/logback.xml b/Feign/src/main/resources/logback.xml new file mode 100644 index 0000000..98b16e4 --- /dev/null +++ b/Feign/src/main/resources/logback.xml @@ -0,0 +1,56 @@ + + + + + + logs/crtech-feign-provider.%d{yyyy-MM-dd}.log + + + + + %d{yyyy-MM-dd_HH:mm:ss} %logger{18} -%msg%n + + + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + 0 + 1000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file