zhuyifan

优化

Showing 57 changed files with 441 additions and 1084 deletions
...@@ -42,6 +42,7 @@ dependencies { ...@@ -42,6 +42,7 @@ dependencies {
42 implementation "org.apache.poi:poi:4.1.2" //poi 42 implementation "org.apache.poi:poi:4.1.2" //poi
43 implementation "org.apache.poi:poi-ooxml:4.1.2" //poi 43 implementation "org.apache.poi:poi-ooxml:4.1.2" //poi
44 implementation 'cn.hutool:hutool-all:5.8.27' //huTool-util 44 implementation 'cn.hutool:hutool-all:5.8.27' //huTool-util
45 + implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.11.2' // Jackson XML 模块
45 46
46 implementation 'com.aliyun:aliyun-java-sdk-core:4.6.4' //阿里云SDK核心库 47 implementation 'com.aliyun:aliyun-java-sdk-core:4.6.4' //阿里云SDK核心库
47 implementation 'com.aliyun:aliyun-java-sdk-dysmsapi:2.2.1'//阿里云短信服务SDK 48 implementation 'com.aliyun:aliyun-java-sdk-dysmsapi:2.2.1'//阿里云短信服务SDK
......
...@@ -2,6 +2,7 @@ package com.infoloop.tianting.config; ...@@ -2,6 +2,7 @@ package com.infoloop.tianting.config;
2 2
3 import com.aliyuncs.DefaultAcsClient; 3 import com.aliyuncs.DefaultAcsClient;
4 import com.aliyuncs.profile.DefaultProfile; 4 import com.aliyuncs.profile.DefaultProfile;
5 +import com.fasterxml.jackson.dataformat.xml.XmlMapper;
5 import com.infoloop.tianting.store.LoginCodeStore; 6 import com.infoloop.tianting.store.LoginCodeStore;
6 import com.infoloop.tianting.utils.SmsUtil; 7 import com.infoloop.tianting.utils.SmsUtil;
7 import io.lettuce.core.api.StatefulRedisConnection; 8 import io.lettuce.core.api.StatefulRedisConnection;
...@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Qualifier; ...@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
10 import org.springframework.context.annotation.Bean; 11 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.Configuration; 12 import org.springframework.context.annotation.Configuration;
12 import org.springframework.context.annotation.Import; 13 import org.springframework.context.annotation.Import;
14 +import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter;
13 15
14 import static com.infoloop.tianting.constant.ConfigConstants.REDIS_CONNECTION; 16 import static com.infoloop.tianting.constant.ConfigConstants.REDIS_CONNECTION;
15 17
...@@ -32,4 +34,9 @@ public class AppConfig { ...@@ -32,4 +34,9 @@ public class AppConfig {
32 return new SmsUtil(smsConfig, new DefaultAcsClient(profile)); 34 return new SmsUtil(smsConfig, new DefaultAcsClient(profile));
33 } 35 }
34 36
37 + @Bean
38 + public MappingJackson2XmlHttpMessageConverter mappingJackson2XmlHttpMessageConverter() {
39 + return new MappingJackson2XmlHttpMessageConverter(new XmlMapper());
40 + }
41 +
35 } 42 }
......
1 +package com.infoloop.tianting.config;
2 +
3 +
4 +import lombok.Data;
5 +import org.springframework.boot.context.properties.ConfigurationProperties;
6 +import org.springframework.context.annotation.PropertySource;
7 +import org.springframework.stereotype.Component;
8 +
9 +@Component
10 +@ConfigurationProperties(prefix = "business-config")
11 +@Data
12 +@PropertySource(encoding = "UTF-8", value = "classpath:application.properties", ignoreResourceNotFound = true)
13 +public class BusinessConfig {
14 +
15 + private String hisCustomerQueryUrl;
16 + private String clientCustomerQueryUrl;
17 + private String payUrl;
18 +}
...@@ -12,14 +12,9 @@ import com.infoloop.tianting.deliveryruleservice.TiantingDeliveryRuleServiceRpcG ...@@ -12,14 +12,9 @@ import com.infoloop.tianting.deliveryruleservice.TiantingDeliveryRuleServiceRpcG
12 import com.infoloop.tianting.enterpriseresourcetagservice.EnterpriseResourceTagServiceRpcGrpc; 12 import com.infoloop.tianting.enterpriseresourcetagservice.EnterpriseResourceTagServiceRpcGrpc;
13 import com.infoloop.tianting.menuservice.MenuServiceRpcGrpc; 13 import com.infoloop.tianting.menuservice.MenuServiceRpcGrpc;
14 import com.infoloop.tianting.setmealscheduleservice.SetMealScheduleServiceRpcGrpc; 14 import com.infoloop.tianting.setmealscheduleservice.SetMealScheduleServiceRpcGrpc;
15 -import com.tianting.infoloop.grpc.exampleservice.ExampleServiceRpcGrpc;
16 -//import com.tianting.infoloop.grpc.menuservice.MenuServiceRpcGrpc;
17 -//import com.tianting.infoloop.grpc.orderservice.OrderServiceRpcGrpc;
18 import io.grpc.ClientInterceptor; 15 import io.grpc.ClientInterceptor;
19 import io.grpc.ManagedChannel; 16 import io.grpc.ManagedChannel;
20 import io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder; 17 import io.grpc.netty.shaded.io.grpc.netty.NettyChannelBuilder;
21 -import io.swagger.models.auth.In;
22 -import javax.validation.Valid;
23 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
24 import org.springframework.beans.factory.annotation.Qualifier; 19 import org.springframework.beans.factory.annotation.Qualifier;
25 import org.springframework.beans.factory.annotation.Value; 20 import org.springframework.beans.factory.annotation.Value;
...@@ -43,9 +38,6 @@ import static com.infoloop.tianting.constant.ConfigConstants.DELIVERY_SERVICE_RP ...@@ -43,9 +38,6 @@ import static com.infoloop.tianting.constant.ConfigConstants.DELIVERY_SERVICE_RP
43 import static com.infoloop.tianting.constant.ConfigConstants.ENTERPRISE_RESOURCE_SERVICE_CHANNEL; 38 import static com.infoloop.tianting.constant.ConfigConstants.ENTERPRISE_RESOURCE_SERVICE_CHANNEL;
44 import static com.infoloop.tianting.constant.ConfigConstants.ENTERPRISE_RESOURCE_SERVICE_RPC_PORT; 39 import static com.infoloop.tianting.constant.ConfigConstants.ENTERPRISE_RESOURCE_SERVICE_RPC_PORT;
45 import static com.infoloop.tianting.constant.ConfigConstants.ENTERPRISE_RESOURCE_SERVICE_RPC_URL; 40 import static com.infoloop.tianting.constant.ConfigConstants.ENTERPRISE_RESOURCE_SERVICE_RPC_URL;
46 -import static com.infoloop.tianting.constant.ConfigConstants.EXAMPLE_SERVICE_CHANNEL;
47 -import static com.infoloop.tianting.constant.ConfigConstants.EXAMPLE_SERVICE_RPC_PORT;
48 -import static com.infoloop.tianting.constant.ConfigConstants.EXAMPLE_SERVICE_RPC_URL;
49 import static com.infoloop.tianting.constant.ConfigConstants.MEAL_SERVICE_CHANNEL; 41 import static com.infoloop.tianting.constant.ConfigConstants.MEAL_SERVICE_CHANNEL;
50 import static com.infoloop.tianting.constant.ConfigConstants.MEAL_SERVICE_RPC_PORT; 42 import static com.infoloop.tianting.constant.ConfigConstants.MEAL_SERVICE_RPC_PORT;
51 import static com.infoloop.tianting.constant.ConfigConstants.MEAL_SERVICE_RPC_URL; 43 import static com.infoloop.tianting.constant.ConfigConstants.MEAL_SERVICE_RPC_URL;
...@@ -73,23 +65,6 @@ public class GrpcConfig { ...@@ -73,23 +65,6 @@ public class GrpcConfig {
73 65
74 private static final int DEFAULT_TIMEOUT_DAYS = 7; 66 private static final int DEFAULT_TIMEOUT_DAYS = 7;
75 67
76 - @Bean(EXAMPLE_SERVICE_CHANNEL)
77 - public ManagedChannel exampleServiceChannel(@Value(EXAMPLE_SERVICE_RPC_URL) final String url,
78 - @Value(EXAMPLE_SERVICE_RPC_PORT) final int port,
79 - @Autowired final ClientInterceptor clientInterceptor) {
80 - return NettyChannelBuilder.forAddress(url, port)
81 - .idleTimeout(DEFAULT_TIMEOUT_DAYS, TimeUnit.DAYS)
82 - .intercept(clientInterceptor)
83 - .usePlaintext()
84 - .maxInboundMessageSize(Integer.MAX_VALUE)
85 - .build();
86 - }
87 -
88 - @Bean
89 - public ExampleServiceRpcGrpc.ExampleServiceRpcBlockingStub exampleServiceRpcBlockingStub(@Autowired @Qualifier(EXAMPLE_SERVICE_CHANNEL) final ManagedChannel channel) {
90 - return ExampleServiceRpcGrpc.newBlockingStub(channel);
91 - }
92 -
93 @Bean(ORDER_SERVICE_CHANNEL) 68 @Bean(ORDER_SERVICE_CHANNEL)
94 public ManagedChannel orderServiceChannel(@Value(ORDER_SERVICE_RPC_URL) final String url, 69 public ManagedChannel orderServiceChannel(@Value(ORDER_SERVICE_RPC_URL) final String url,
95 @Value(ORDER_SERVICE_RPC_PORT) final int port, 70 @Value(ORDER_SERVICE_RPC_PORT) final int port,
......
1 package com.infoloop.tianting.config; 1 package com.infoloop.tianting.config;
2 2
3 import com.infoloop.tianting.intercepter.ResourceInjector; 3 import com.infoloop.tianting.intercepter.ResourceInjector;
4 -import com.infoloop.tianting.service.client.ExampleServiceRpcClient;
5 import org.springframework.context.annotation.Bean; 4 import org.springframework.context.annotation.Bean;
6 import org.springframework.context.annotation.Configuration; 5 import org.springframework.context.annotation.Configuration;
7 6
...@@ -10,9 +9,8 @@ public class ResourceInjectorConfig { ...@@ -10,9 +9,8 @@ public class ResourceInjectorConfig {
10 9
11 @Bean 10 @Bean
12 public ResourceInjector resourceInjector( 11 public ResourceInjector resourceInjector(
13 - final ExampleServiceRpcClient exampleServiceRpcClient
14 12
15 ) { 13 ) {
16 - return new ResourceInjector(exampleServiceRpcClient); 14 + return new ResourceInjector();
17 } 15 }
18 } 16 }
......
1 package com.infoloop.tianting.controller; 1 package com.infoloop.tianting.controller;
2 2
3 -import cn.dev33.satoken.annotation.SaIgnore;
4 -import cn.dev33.satoken.stp.SaTokenInfo;
5 import com.github.xiaoymin.knife4j.annotations.ApiSupport; 3 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
6 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.ClientCustomerDto; 4 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.ClientCustomerDto;
7 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.HospitalRecordDto; 5 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.HospitalRecordDto;
8 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.TodayOrderDto; 6 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.TodayOrderDto;
9 -import com.infoloop.tianting.model.dto.PermissionDTO.LoginDto;
10 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto;
11 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserPhoneResponseDto;
12 import com.infoloop.tianting.service.ClientCustomerService; 7 import com.infoloop.tianting.service.ClientCustomerService;
13 -import com.infoloop.tianting.service.LoginService;
14 -import com.infoloop.tianting.service.WxMiniProgramService;
15 -import com.infoloop.tianting.service.client.ClientCustomerServiceHttpClient;
16 -import io.lettuce.core.dynamic.annotation.Param;
17 import io.swagger.annotations.Api; 8 import io.swagger.annotations.Api;
18 import io.swagger.annotations.ApiOperation; 9 import io.swagger.annotations.ApiOperation;
19 -import java.util.List;
20 -import javax.validation.Valid;
21 import lombok.RequiredArgsConstructor; 10 import lombok.RequiredArgsConstructor;
22 import lombok.extern.slf4j.Slf4j; 11 import lombok.extern.slf4j.Slf4j;
23 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.beans.factory.annotation.Autowired;
...@@ -29,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestParam; ...@@ -29,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestParam;
29 import org.springframework.web.bind.annotation.ResponseStatus; 18 import org.springframework.web.bind.annotation.ResponseStatus;
30 import org.springframework.web.bind.annotation.RestController; 19 import org.springframework.web.bind.annotation.RestController;
31 20
21 +import java.util.List;
22 +
32 @Api(tags = "ClientCustomer") 23 @Api(tags = "ClientCustomer")
33 @ApiSupport(order = -1) 24 @ApiSupport(order = -1)
34 @Slf4j 25 @Slf4j
...@@ -36,9 +27,8 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -36,9 +27,8 @@ import org.springframework.web.bind.annotation.RestController;
36 @RestController 27 @RestController
37 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 28 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
38 public class ClientCustomerController { 29 public class ClientCustomerController {
30 +
39 private final ClientCustomerService clientCustomerService; 31 private final ClientCustomerService clientCustomerService;
40 - private final WxMiniProgramService wxMiniProgramService;
41 - private final ClientCustomerServiceHttpClient clientCustomerServiceHttpClient;
42 32
43 @ApiOperation(value = "根据hisCustomerId获取ClientCustomer") 33 @ApiOperation(value = "根据hisCustomerId获取ClientCustomer")
44 @GetMapping("/customers/his/{hisCustomerId}") 34 @GetMapping("/customers/his/{hisCustomerId}")
......
1 package com.infoloop.tianting.controller; 1 package com.infoloop.tianting.controller;
2 2
3 -import cn.dev33.satoken.annotation.SaIgnore;
4 import com.github.xiaoymin.knife4j.annotations.ApiSupport; 3 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
5 import com.infoloop.tianting.model.common.OrderPageResult; 4 import com.infoloop.tianting.model.common.OrderPageResult;
6 -import com.infoloop.tianting.model.common.PageResult;
7 import com.infoloop.tianting.model.dto.OrderDbDTO; 5 import com.infoloop.tianting.model.dto.OrderDbDTO;
8 import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDto; 6 import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDto;
9 import com.infoloop.tianting.service.OrderService; 7 import com.infoloop.tianting.service.OrderService;
10 import io.swagger.annotations.Api; 8 import io.swagger.annotations.Api;
11 import io.swagger.annotations.ApiOperation; 9 import io.swagger.annotations.ApiOperation;
12 -import java.util.List;
13 -import javax.validation.Valid;
14 import lombok.RequiredArgsConstructor; 10 import lombok.RequiredArgsConstructor;
15 import lombok.extern.slf4j.Slf4j; 11 import lombok.extern.slf4j.Slf4j;
16 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.beans.factory.annotation.Autowired;
17 import org.springframework.http.HttpStatus; 13 import org.springframework.http.HttpStatus;
18 import org.springframework.validation.annotation.Validated; 14 import org.springframework.validation.annotation.Validated;
19 -import org.springframework.web.bind.annotation.PathVariable;
20 import org.springframework.web.bind.annotation.PostMapping; 15 import org.springframework.web.bind.annotation.PostMapping;
21 import org.springframework.web.bind.annotation.RequestBody; 16 import org.springframework.web.bind.annotation.RequestBody;
22 import org.springframework.web.bind.annotation.ResponseStatus; 17 import org.springframework.web.bind.annotation.ResponseStatus;
23 import org.springframework.web.bind.annotation.RestController; 18 import org.springframework.web.bind.annotation.RestController;
24 19
20 +import javax.validation.Valid;
21 +
25 @Api(tags = "院区端订单") 22 @Api(tags = "院区端订单")
26 @ApiSupport(order = 0) 23 @ApiSupport(order = 0)
27 @Slf4j 24 @Slf4j
......
...@@ -5,12 +5,9 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport; ...@@ -5,12 +5,9 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
5 import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientDto; 5 import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientDto;
6 import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientTableCodeDto; 6 import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientTableCodeDto;
7 import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto; 7 import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto;
8 -import com.infoloop.tianting.model.dto.MenuDbDTO.MenuDto;
9 import com.infoloop.tianting.service.InventoryService; 8 import com.infoloop.tianting.service.InventoryService;
10 import io.swagger.annotations.Api; 9 import io.swagger.annotations.Api;
11 import io.swagger.annotations.ApiOperation; 10 import io.swagger.annotations.ApiOperation;
12 -import java.util.List;
13 -import javax.validation.Valid;
14 import lombok.RequiredArgsConstructor; 11 import lombok.RequiredArgsConstructor;
15 import lombok.extern.slf4j.Slf4j; 12 import lombok.extern.slf4j.Slf4j;
16 import org.springframework.beans.factory.annotation.Autowired; 13 import org.springframework.beans.factory.annotation.Autowired;
...@@ -23,6 +20,9 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -23,6 +20,9 @@ import org.springframework.web.bind.annotation.RequestBody;
23 import org.springframework.web.bind.annotation.ResponseStatus; 20 import org.springframework.web.bind.annotation.ResponseStatus;
24 import org.springframework.web.bind.annotation.RestController; 21 import org.springframework.web.bind.annotation.RestController;
25 22
23 +import javax.validation.Valid;
24 +import java.util.List;
25 +
26 @Api(tags = "院区") 26 @Api(tags = "院区")
27 @ApiSupport(order = -1) 27 @ApiSupport(order = -1)
28 @Slf4j 28 @Slf4j
...@@ -36,8 +36,7 @@ public class InventoryController { ...@@ -36,8 +36,7 @@ public class InventoryController {
36 @ApiOperation(value = "根据Id获取Client") 36 @ApiOperation(value = "根据Id获取Client")
37 @GetMapping("/enterprises/{enterpriseId}/clients/{clientId}") 37 @GetMapping("/enterprises/{enterpriseId}/clients/{clientId}")
38 @ResponseStatus(HttpStatus.OK) 38 @ResponseStatus(HttpStatus.OK)
39 - public ClientDto getClientById( 39 + public ClientDto getClientById(@PathVariable Integer enterpriseId, @PathVariable Integer clientId) {
40 - @PathVariable Integer enterpriseId, @PathVariable Integer clientId) {
41 return inventoryService.getClientById(enterpriseId, clientId); 40 return inventoryService.getClientById(enterpriseId, clientId);
42 } 41 }
43 42
...@@ -49,7 +48,6 @@ public class InventoryController { ...@@ -49,7 +48,6 @@ public class InventoryController {
49 return inventoryService.getStallsByClientId(enterpriseId, clientId); 48 return inventoryService.getStallsByClientId(enterpriseId, clientId);
50 } 49 }
51 50
52 -// @SaIgnore
53 @ApiOperation(value = "获取桌号") 51 @ApiOperation(value = "获取桌号")
54 @PostMapping("/tableCodes") 52 @PostMapping("/tableCodes")
55 @ResponseStatus(HttpStatus.OK) 53 @ResponseStatus(HttpStatus.OK)
......
...@@ -2,20 +2,11 @@ package com.infoloop.tianting.controller; ...@@ -2,20 +2,11 @@ package com.infoloop.tianting.controller;
2 2
3 import cn.dev33.satoken.annotation.SaIgnore; 3 import cn.dev33.satoken.annotation.SaIgnore;
4 import cn.dev33.satoken.stp.SaTokenInfo; 4 import cn.dev33.satoken.stp.SaTokenInfo;
5 -import com.fasterxml.jackson.core.JsonProcessingException;
6 -import com.fasterxml.jackson.databind.DeserializationFeature;
7 -import com.fasterxml.jackson.databind.JsonNode;
8 -import com.fasterxml.jackson.databind.ObjectMapper;
9 import com.github.xiaoymin.knife4j.annotations.ApiSupport; 5 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
10 import com.infoloop.tianting.model.dto.PermissionDTO; 6 import com.infoloop.tianting.model.dto.PermissionDTO;
11 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto;
12 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto1;
13 import com.infoloop.tianting.service.LoginService; 7 import com.infoloop.tianting.service.LoginService;
14 -import com.infoloop.tianting.utils.JsonUtil;
15 import io.swagger.annotations.Api; 8 import io.swagger.annotations.Api;
16 import io.swagger.annotations.ApiOperation; 9 import io.swagger.annotations.ApiOperation;
17 -import java.util.LinkedHashMap;
18 -import javax.validation.Valid;
19 import lombok.RequiredArgsConstructor; 10 import lombok.RequiredArgsConstructor;
20 import lombok.extern.slf4j.Slf4j; 11 import lombok.extern.slf4j.Slf4j;
21 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.beans.factory.annotation.Autowired;
...@@ -26,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -26,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody;
26 import org.springframework.web.bind.annotation.ResponseStatus; 17 import org.springframework.web.bind.annotation.ResponseStatus;
27 import org.springframework.web.bind.annotation.RestController; 18 import org.springframework.web.bind.annotation.RestController;
28 19
20 +import javax.validation.Valid;
21 +
29 @Api(tags = "登陆") 22 @Api(tags = "登陆")
30 @ApiSupport(order = -1) 23 @ApiSupport(order = -1)
31 @Slf4j 24 @Slf4j
......
1 package com.infoloop.tianting.controller; 1 package com.infoloop.tianting.controller;
2 2
3 -import cn.dev33.satoken.annotation.SaIgnore;
4 import com.github.xiaoymin.knife4j.annotations.ApiSupport; 3 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
5 import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsDto; 4 import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsDto;
6 import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsResponseDto; 5 import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsResponseDto;
...@@ -10,10 +9,7 @@ import com.infoloop.tianting.model.dto.MenuDbDTO.MenuRefDto; ...@@ -10,10 +9,7 @@ import com.infoloop.tianting.model.dto.MenuDbDTO.MenuRefDto;
10 import com.infoloop.tianting.service.MenuService; 9 import com.infoloop.tianting.service.MenuService;
11 import io.swagger.annotations.Api; 10 import io.swagger.annotations.Api;
12 import io.swagger.annotations.ApiOperation; 11 import io.swagger.annotations.ApiOperation;
13 -import java.util.List;
14 -import javax.validation.Valid;
15 import lombok.RequiredArgsConstructor; 12 import lombok.RequiredArgsConstructor;
16 -import lombok.Value;
17 import lombok.extern.slf4j.Slf4j; 13 import lombok.extern.slf4j.Slf4j;
18 import org.springframework.beans.factory.annotation.Autowired; 14 import org.springframework.beans.factory.annotation.Autowired;
19 import org.springframework.http.HttpStatus; 15 import org.springframework.http.HttpStatus;
...@@ -25,6 +21,9 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -25,6 +21,9 @@ import org.springframework.web.bind.annotation.RequestBody;
25 import org.springframework.web.bind.annotation.ResponseStatus; 21 import org.springframework.web.bind.annotation.ResponseStatus;
26 import org.springframework.web.bind.annotation.RestController; 22 import org.springframework.web.bind.annotation.RestController;
27 23
24 +import javax.validation.Valid;
25 +import java.util.List;
26 +
28 @Api(tags = "餐单") 27 @Api(tags = "餐单")
29 @ApiSupport(order = -1) 28 @ApiSupport(order = -1)
30 @Slf4j 29 @Slf4j
...@@ -73,7 +72,7 @@ public class MenuController { ...@@ -73,7 +72,7 @@ public class MenuController {
73 @ResponseStatus(HttpStatus.OK) 72 @ResponseStatus(HttpStatus.OK)
74 public List<MenuRefDto> queryMenuRefsByCustomerId( 73 public List<MenuRefDto> queryMenuRefsByCustomerId(
75 @PathVariable Integer enterpriseId, @PathVariable Integer customerId 74 @PathVariable Integer enterpriseId, @PathVariable Integer customerId
76 - ){ 75 + ) {
77 return menuService.getClientCustomerMenuRefsByCustomerId(enterpriseId, customerId); 76 return menuService.getClientCustomerMenuRefsByCustomerId(enterpriseId, customerId);
78 } 77 }
79 78
...@@ -81,8 +80,8 @@ public class MenuController { ...@@ -81,8 +80,8 @@ public class MenuController {
81 @PostMapping("/menuRefs/creation") 80 @PostMapping("/menuRefs/creation")
82 @ResponseStatus(HttpStatus.OK) 81 @ResponseStatus(HttpStatus.OK)
83 public BatchCreateMenuRefsResponseDto batchCreateMenuRefsByCustomerId( 82 public BatchCreateMenuRefsResponseDto batchCreateMenuRefsByCustomerId(
84 - @Valid@RequestBody BatchCreateMenuRefsDto batchCreateMenuRefsDto 83 + @Valid @RequestBody BatchCreateMenuRefsDto batchCreateMenuRefsDto
85 - ){ 84 + ) {
86 return menuService.batchCreateMenuRefs(batchCreateMenuRefsDto); 85 return menuService.batchCreateMenuRefs(batchCreateMenuRefsDto);
87 } 86 }
88 87
......
1 package com.infoloop.tianting.controller; 1 package com.infoloop.tianting.controller;
2 2
3 -import cn.dev33.satoken.annotation.SaIgnore;
4 import com.github.xiaoymin.knife4j.annotations.ApiSupport; 3 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
5 import com.infoloop.tianting.model.dto.OrderDbDTO; 4 import com.infoloop.tianting.model.dto.OrderDbDTO;
6 import com.infoloop.tianting.model.dto.OrderDbDTO.BatchUpdateOrderDetailResponse; 5 import com.infoloop.tianting.model.dto.OrderDbDTO.BatchUpdateOrderDetailResponse;
...@@ -8,19 +7,14 @@ import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDto; ...@@ -8,19 +7,14 @@ import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDto;
8 import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderResponse; 7 import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderResponse;
9 import com.infoloop.tianting.model.dto.OrderDbDTO.OrderAndDetailsDto; 8 import com.infoloop.tianting.model.dto.OrderDbDTO.OrderAndDetailsDto;
10 import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailDto; 9 import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDetailDto;
11 -import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDto;
12 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto; 10 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
13 import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderDto; 11 import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderDto;
14 import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderResponse; 12 import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderResponse;
15 import com.infoloop.tianting.service.OrderService; 13 import com.infoloop.tianting.service.OrderService;
16 import io.swagger.annotations.Api; 14 import io.swagger.annotations.Api;
17 import io.swagger.annotations.ApiOperation; 15 import io.swagger.annotations.ApiOperation;
18 -import io.swagger.models.auth.In;
19 -import java.util.List;
20 -import javax.validation.Valid;
21 import lombok.RequiredArgsConstructor; 16 import lombok.RequiredArgsConstructor;
22 import lombok.extern.slf4j.Slf4j; 17 import lombok.extern.slf4j.Slf4j;
23 -import org.aspectj.lang.annotation.SuppressAjWarnings;
24 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
25 import org.springframework.http.HttpStatus; 19 import org.springframework.http.HttpStatus;
26 import org.springframework.validation.annotation.Validated; 20 import org.springframework.validation.annotation.Validated;
...@@ -32,6 +26,9 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -32,6 +26,9 @@ import org.springframework.web.bind.annotation.RequestBody;
32 import org.springframework.web.bind.annotation.ResponseStatus; 26 import org.springframework.web.bind.annotation.ResponseStatus;
33 import org.springframework.web.bind.annotation.RestController; 27 import org.springframework.web.bind.annotation.RestController;
34 28
29 +import javax.validation.Valid;
30 +import java.util.List;
31 +
35 @Api(tags = "订单") 32 @Api(tags = "订单")
36 @ApiSupport(order = 0) 33 @ApiSupport(order = 0)
37 @Slf4j 34 @Slf4j
...@@ -82,7 +79,7 @@ public class OrderController { ...@@ -82,7 +79,7 @@ public class OrderController {
82 return orderService.orderCreation(createOrderDto); 79 return orderService.orderCreation(createOrderDto);
83 } 80 }
84 81
85 -// @SaIgnore 82 + // @SaIgnore
86 @ApiOperation(value = "修改订单") 83 @ApiOperation(value = "修改订单")
87 @PatchMapping("/orders/modification") 84 @PatchMapping("/orders/modification")
88 @ResponseStatus(HttpStatus.OK) 85 @ResponseStatus(HttpStatus.OK)
...@@ -90,7 +87,7 @@ public class OrderController { ...@@ -90,7 +87,7 @@ public class OrderController {
90 return orderService.updateOrder(updateOrderDto); 87 return orderService.updateOrder(updateOrderDto);
91 } 88 }
92 89
93 -// @SaIgnore 90 + // @SaIgnore
94 @ApiOperation(value = "批量修改订单详情") 91 @ApiOperation(value = "批量修改订单详情")
95 @PatchMapping("/order_details/modification") 92 @PatchMapping("/order_details/modification")
96 @ResponseStatus(HttpStatus.OK) 93 @ResponseStatus(HttpStatus.OK)
......
...@@ -4,37 +4,47 @@ import cn.dev33.satoken.annotation.SaIgnore; ...@@ -4,37 +4,47 @@ import cn.dev33.satoken.annotation.SaIgnore;
4 import com.github.xiaoymin.knife4j.annotations.ApiSupport; 4 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
5 import com.infoloop.tianting.model.dto.PayDTO; 5 import com.infoloop.tianting.model.dto.PayDTO;
6 import com.infoloop.tianting.model.dto.PayDTO.PayResponseDto; 6 import com.infoloop.tianting.model.dto.PayDTO.PayResponseDto;
7 +import com.infoloop.tianting.model.dto.PaymentCallbackDTO;
7 import com.infoloop.tianting.service.client.PayServiceClient; 8 import com.infoloop.tianting.service.client.PayServiceClient;
8 import io.swagger.annotations.Api; 9 import io.swagger.annotations.Api;
9 import io.swagger.annotations.ApiOperation; 10 import io.swagger.annotations.ApiOperation;
10 -import javax.validation.Valid;
11 import lombok.RequiredArgsConstructor; 11 import lombok.RequiredArgsConstructor;
12 import lombok.extern.slf4j.Slf4j; 12 import lombok.extern.slf4j.Slf4j;
13 import org.springframework.beans.factory.annotation.Autowired; 13 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.http.HttpStatus; 14 import org.springframework.http.HttpStatus;
15 +import org.springframework.http.MediaType;
15 import org.springframework.validation.annotation.Validated; 16 import org.springframework.validation.annotation.Validated;
16 import org.springframework.web.bind.annotation.PostMapping; 17 import org.springframework.web.bind.annotation.PostMapping;
17 import org.springframework.web.bind.annotation.RequestBody; 18 import org.springframework.web.bind.annotation.RequestBody;
18 import org.springframework.web.bind.annotation.ResponseStatus; 19 import org.springframework.web.bind.annotation.ResponseStatus;
19 import org.springframework.web.bind.annotation.RestController; 20 import org.springframework.web.bind.annotation.RestController;
20 21
22 +import javax.validation.Valid;
23 +
21 @Api(tags = "支付") 24 @Api(tags = "支付")
22 -@ApiSupport(order = 0) 25 +@ApiSupport(order = 1)
23 @Slf4j 26 @Slf4j
24 @Validated 27 @Validated
25 @RestController 28 @RestController
26 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 29 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
27 public class PayController { 30 public class PayController {
31 +
28 private final PayServiceClient payServiceClient; 32 private final PayServiceClient payServiceClient;
29 33
30 @SaIgnore 34 @SaIgnore
31 - @ApiOperation(value = "支付通知") 35 + @ApiOperation(value = "支付")
32 @PostMapping("/pay/inform") 36 @PostMapping("/pay/inform")
33 @ResponseStatus(HttpStatus.OK) 37 @ResponseStatus(HttpStatus.OK)
34 - public PayResponseDto pay( 38 + public PayResponseDto pay(@Valid @RequestBody PayDTO.PayInformRequestDto payInformRequestDto) {
35 - @Valid @RequestBody PayDTO.PayInformRequestDto payInformRequestDto
36 - ){
37 return payServiceClient.payInform(payInformRequestDto); 39 return payServiceClient.payInform(payInformRequestDto);
38 } 40 }
39 41
42 + @SaIgnore
43 + @ApiOperation(value = "支付通知")
44 + @PostMapping(value = "/pay/callback", consumes = MediaType.APPLICATION_XML_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
45 + @ResponseStatus(HttpStatus.OK)
46 + public void callback(@RequestBody PaymentCallbackDTO payInformRequestDto) {
47 + payServiceClient.callback(payInformRequestDto);
48 + }
49 +
40 } 50 }
...\ No newline at end of file ...\ No newline at end of file
......
1 package com.infoloop.tianting.controller; 1 package com.infoloop.tianting.controller;
2 2
3 -import cn.dev33.satoken.annotation.SaIgnore;
4 import com.github.xiaoymin.knife4j.annotations.ApiSupport; 3 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
5 -import com.infoloop.tianting.model.dto.OrderDbDTO.OrderDto;
6 import com.infoloop.tianting.model.dto.SkuDbDTO.SkuDto; 4 import com.infoloop.tianting.model.dto.SkuDbDTO.SkuDto;
7 import com.infoloop.tianting.model.dto.SkuDbDTO.SkuIdsDto; 5 import com.infoloop.tianting.model.dto.SkuDbDTO.SkuIdsDto;
8 import com.infoloop.tianting.service.SkuService; 6 import com.infoloop.tianting.service.SkuService;
9 import io.swagger.annotations.Api; 7 import io.swagger.annotations.Api;
10 import io.swagger.annotations.ApiOperation; 8 import io.swagger.annotations.ApiOperation;
11 -import java.util.List;
12 -import javax.validation.Valid;
13 import lombok.RequiredArgsConstructor; 9 import lombok.RequiredArgsConstructor;
14 import lombok.extern.slf4j.Slf4j; 10 import lombok.extern.slf4j.Slf4j;
15 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.http.HttpStatus; 12 import org.springframework.http.HttpStatus;
17 import org.springframework.validation.annotation.Validated; 13 import org.springframework.validation.annotation.Validated;
18 -import org.springframework.web.bind.annotation.GetMapping;
19 -import org.springframework.web.bind.annotation.PathVariable;
20 import org.springframework.web.bind.annotation.PostMapping; 14 import org.springframework.web.bind.annotation.PostMapping;
21 import org.springframework.web.bind.annotation.RequestBody; 15 import org.springframework.web.bind.annotation.RequestBody;
22 import org.springframework.web.bind.annotation.ResponseStatus; 16 import org.springframework.web.bind.annotation.ResponseStatus;
23 import org.springframework.web.bind.annotation.RestController; 17 import org.springframework.web.bind.annotation.RestController;
24 18
19 +import javax.validation.Valid;
20 +import java.util.List;
21 +
25 @Api(tags = "sku") 22 @Api(tags = "sku")
26 -@ApiSupport(order = 0) 23 +@ApiSupport(order = 2)
27 @Slf4j 24 @Slf4j
28 @Validated 25 @Validated
29 @RestController 26 @RestController
...@@ -35,7 +32,7 @@ public class SkuController { ...@@ -35,7 +32,7 @@ public class SkuController {
35 @ApiOperation(value = "根据sku ids获取") 32 @ApiOperation(value = "根据sku ids获取")
36 @PostMapping("/skus") 33 @PostMapping("/skus")
37 @ResponseStatus(HttpStatus.OK) 34 @ResponseStatus(HttpStatus.OK)
38 - public List<SkuDto> getOrderByCustomerId(@Valid@RequestBody SkuIdsDto skuIdsDto) { 35 + public List<SkuDto> getOrderByCustomerId(@Valid @RequestBody SkuIdsDto skuIdsDto) {
39 return skuService.getSkusByIds(skuIdsDto.getIds()); 36 return skuService.getSkusByIds(skuIdsDto.getIds());
40 } 37 }
41 } 38 }
......
1 -package com.infoloop.tianting.controller;
2 -
3 -import com.github.xiaoymin.knife4j.annotations.ApiSupport;
4 -import com.infoloop.tianting.constant.PathVariableResourceConstants;
5 -import com.infoloop.tianting.model.common.CreatedResult;
6 -import com.infoloop.tianting.model.common.PageResult;
7 -import com.infoloop.tianting.model.dto.TestExampleDbDTO;
8 -import com.infoloop.tianting.model.vo.TestExampleDbVO;
9 -import com.infoloop.tianting.service.TestService;
10 -import com.tianting.infoloop.grpc.exampleservice.SingleTestExampleDbRpcResponse;
11 -import io.swagger.annotations.Api;
12 -import io.swagger.annotations.ApiOperation;
13 -import lombok.RequiredArgsConstructor;
14 -import lombok.extern.slf4j.Slf4j;
15 -import org.springframework.beans.factory.annotation.Autowired;
16 -import org.springframework.http.HttpStatus;
17 -import org.springframework.validation.annotation.Validated;
18 -import org.springframework.web.bind.annotation.DeleteMapping;
19 -import org.springframework.web.bind.annotation.GetMapping;
20 -import org.springframework.web.bind.annotation.PatchMapping;
21 -import org.springframework.web.bind.annotation.PostMapping;
22 -import org.springframework.web.bind.annotation.PutMapping;
23 -import org.springframework.web.bind.annotation.RequestAttribute;
24 -import org.springframework.web.bind.annotation.RequestBody;
25 -import org.springframework.web.bind.annotation.ResponseStatus;
26 -import org.springframework.web.bind.annotation.RestController;
27 -import springfox.documentation.annotations.ApiIgnore;
28 -
29 -import javax.validation.Valid;
30 -import java.util.List;
31 -
32 -
33 -@Api(tags = "示例")
34 -@ApiSupport(order = -1)
35 -@Slf4j
36 -@Validated
37 -@RestController
38 -@RequiredArgsConstructor(onConstructor = @__(@Autowired))
39 -public class TestController {
40 -
41 - private final TestService testService;
42 -
43 - @ApiOperation(value = "分页查询")
44 - @PostMapping("/testexampledbs/page")
45 - @ResponseStatus(HttpStatus.OK)
46 - public PageResult<TestExampleDbVO> queryPage(@Valid @RequestBody TestExampleDbDTO.QueryPage queryPage) {
47 - return testService.queryPage(queryPage);
48 - }
49 -
50 - @ApiOperation(value = "查询所有")
51 - @PostMapping("/testexampledbs/queryall")
52 - @ResponseStatus(HttpStatus.OK)
53 - public List<TestExampleDbVO> queryAll() {
54 - return testService.queryAll();
55 - }
56 -
57 - @ApiOperation(value = "新增")
58 - @PutMapping("/testexampledb")
59 - @ResponseStatus(HttpStatus.CREATED)
60 - public CreatedResult<TestExampleDbVO> createTestExampleDb(@Valid @RequestBody TestExampleDbDTO.CreateTestExampleDb createTestExampleDb) {
61 - return testService.createTestExampleDb(createTestExampleDb);
62 - }
63 -
64 - @ApiOperation(value = "修改")
65 - @PatchMapping("/testexampledb/{testExampleDbId}")
66 - @ResponseStatus(HttpStatus.NO_CONTENT)
67 - public void updateTestExampleDb(@ApiIgnore @RequestAttribute(PathVariableResourceConstants.INJECTED_TEST_EXAMPLE_DB) final SingleTestExampleDbRpcResponse testExampleDbRpcResponse,
68 - @Valid @RequestBody TestExampleDbDTO.UpdateTestExampleDb updateTestExampleDb) {
69 - testService.updateTestExampleDb(testExampleDbRpcResponse, updateTestExampleDb);
70 - }
71 -
72 - @ApiOperation(value = "删除")
73 - @DeleteMapping("/testexampledb/{testExampleDbId}")
74 - @ResponseStatus(HttpStatus.NO_CONTENT)
75 - public void deleteTestExampleDb(@ApiIgnore @RequestAttribute(PathVariableResourceConstants.INJECTED_TEST_EXAMPLE_DB)final SingleTestExampleDbRpcResponse testExampleDbRpcResponse) {
76 - testService.deleteTestExampleDb(testExampleDbRpcResponse);
77 - }
78 -
79 - @ApiOperation(value = "详情")
80 - @GetMapping("/testexampledb/{testExampleDbId}")
81 - @ResponseStatus(HttpStatus.OK)
82 - public TestExampleDbVO getTestExampleDb(@ApiIgnore @RequestAttribute(PathVariableResourceConstants.INJECTED_TEST_EXAMPLE_DB)final SingleTestExampleDbRpcResponse testExampleDbRpcResponse) {
83 - return testService.getTestExampleDb(testExampleDbRpcResponse);
84 - }
85 -
86 -}
...@@ -27,6 +27,8 @@ public enum ErrorCodeEnum implements BaseEnum { ...@@ -27,6 +27,8 @@ public enum ErrorCodeEnum implements BaseEnum {
27 GENERATE_EXCEL_ERROR(406000004, "生成excel失败"), 27 GENERATE_EXCEL_ERROR(406000004, "生成excel失败"),
28 28
29 ORDER_COUNT_LIMIT(406000005, "已超过该餐单预定次数"), 29 ORDER_COUNT_LIMIT(406000005, "已超过该餐单预定次数"),
30 +
31 + QUERY_CLIENT_CUSTOMER_ERROR(406000006, "获取当日在住客户失败"),
30 ; 32 ;
31 private final int code; 33 private final int code;
32 34
......
...@@ -2,10 +2,6 @@ package com.infoloop.tianting.intercepter; ...@@ -2,10 +2,6 @@ package com.infoloop.tianting.intercepter;
2 2
3 import cn.dev33.satoken.annotation.SaIgnore; 3 import cn.dev33.satoken.annotation.SaIgnore;
4 import cn.dev33.satoken.strategy.SaStrategy; 4 import cn.dev33.satoken.strategy.SaStrategy;
5 -import cn.hutool.core.convert.Convert;
6 -import com.infoloop.tianting.constant.PathVariableResourceConstants;
7 -import com.infoloop.tianting.exception.ClientEndExceptions;
8 -import com.infoloop.tianting.service.client.ExampleServiceRpcClient;
9 import lombok.RequiredArgsConstructor; 5 import lombok.RequiredArgsConstructor;
10 import lombok.extern.slf4j.Slf4j; 6 import lombok.extern.slf4j.Slf4j;
11 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
...@@ -22,8 +18,6 @@ import java.util.Map; ...@@ -22,8 +18,6 @@ import java.util.Map;
22 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 18 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
23 public class ResourceInjector implements HandlerInterceptor { 19 public class ResourceInjector implements HandlerInterceptor {
24 20
25 - private final ExampleServiceRpcClient exampleServiceRpcClient;
26 -
27 @Override 21 @Override
28 @SuppressWarnings("unchecked") 22 @SuppressWarnings("unchecked")
29 public boolean preHandle(@NonNull final HttpServletRequest httpServletRequest, @NonNull final HttpServletResponse httpServletResponse, @NonNull final Object handler) { 23 public boolean preHandle(@NonNull final HttpServletRequest httpServletRequest, @NonNull final HttpServletResponse httpServletResponse, @NonNull final Object handler) {
...@@ -39,24 +33,6 @@ public class ResourceInjector implements HandlerInterceptor { ...@@ -39,24 +33,6 @@ public class ResourceInjector implements HandlerInterceptor {
39 if (pathVariables == null) { 33 if (pathVariables == null) {
40 return true; 34 return true;
41 } 35 }
42 -
43 - /*
44 - 注入TestExampleDb
45 - */
46 - if (pathVariables.containsKey(PathVariableResourceConstants.TEST_EXAMPLE_DB_ID_PATH_VARIABLE)) {
47 - final var idStr = pathVariables.get(PathVariableResourceConstants.TEST_EXAMPLE_DB_ID_PATH_VARIABLE);
48 - final var id = Convert.toInt(idStr, 0);
49 - if (id <= 0) {
50 - throw ClientEndExceptions.ResourceNotFound.build("示例不存在");
51 - }
52 - final var response = exampleServiceRpcClient.getTestExampleDbById(id);
53 - if (response == null) {
54 - throw ClientEndExceptions.ResourceNotFound.build("示例不存在");
55 - }
56 - httpServletRequest.setAttribute(PathVariableResourceConstants.INJECTED_TEST_EXAMPLE_DB, response);
57 - }
58 -
59 -
60 return true; 36 return true;
61 } 37 }
62 } 38 }
......
1 -package com.infoloop.tianting.model.create;
2 -
3 -import com.tianting.infoloop.grpc.exampleservice.TestExampleDbStatusEnum;
4 -import lombok.AllArgsConstructor;
5 -import lombok.Builder;
6 -import lombok.Data;
7 -import lombok.NoArgsConstructor;
8 -
9 -@Data
10 -@Builder
11 -@NoArgsConstructor
12 -@AllArgsConstructor
13 -public class TestExampleDbCreate {
14 -
15 - private String name;
16 - private TestExampleDbStatusEnum status;
17 -}
1 package com.infoloop.tianting.model.dto; 1 package com.infoloop.tianting.model.dto;
2 2
3 -import com.fasterxml.jackson.annotation.JsonProperty; 3 +import com.fasterxml.jackson.annotation.JsonInclude;
4 +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
5 +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
4 import io.swagger.annotations.ApiModel; 6 import io.swagger.annotations.ApiModel;
5 -import javax.print.DocFlavor.STRING;
6 import lombok.AllArgsConstructor; 7 import lombok.AllArgsConstructor;
7 import lombok.Builder; 8 import lombok.Builder;
8 import lombok.Data; 9 import lombok.Data;
9 import lombok.NoArgsConstructor; 10 import lombok.NoArgsConstructor;
10 -import org.springframework.context.annotation.Primary;
11 11
12 @Data 12 @Data
13 @ApiModel(description = "支付DTO") 13 @ApiModel(description = "支付DTO")
14 public class PayDTO { 14 public class PayDTO {
15 15
16 @Data 16 @Data
17 - @Builder 17 + @ApiModel(description = "支付请求dto")
18 - @ApiModel(description = "支付通知请求dto")
19 @NoArgsConstructor 18 @NoArgsConstructor
20 @AllArgsConstructor 19 @AllArgsConstructor
21 public static class PayInformRequestDto { 20 public static class PayInformRequestDto {
...@@ -28,50 +27,52 @@ public class PayDTO { ...@@ -28,50 +27,52 @@ public class PayDTO {
28 } 27 }
29 28
30 @Data 29 @Data
31 - @Builder 30 + @ApiModel(description = "支付MiniPay结果")
32 - @ApiModel(description = "支付通知结果dto")
33 @NoArgsConstructor 31 @NoArgsConstructor
34 @AllArgsConstructor 32 @AllArgsConstructor
33 + @JacksonXmlRootElement(localName = "miniPayRequest")
35 public static class MiniPayRequest { 34 public static class MiniPayRequest {
35 + @JacksonXmlProperty(localName = "timeStamp")
36 private String timeStamp; 36 private String timeStamp;
37 - @JsonProperty("package") 37 + @JacksonXmlProperty(localName = "package")
38 private String packageInfo; 38 private String packageInfo;
39 + @JacksonXmlProperty(localName = "paySign")
39 private String paySign; 40 private String paySign;
41 + @JacksonXmlProperty(localName = "appId")
40 private String appId; 42 private String appId;
43 + @JacksonXmlProperty(localName = "signType")
41 private String signType; 44 private String signType;
45 + @JacksonXmlProperty(localName = "nonceStr")
42 private String nonceStr; 46 private String nonceStr;
43 } 47 }
44 48
45 @Data 49 @Data
46 - @Builder 50 + @ApiModel(description = "支付结果")
47 - @ApiModel(description = "支付通知结果dto")
48 @NoArgsConstructor 51 @NoArgsConstructor
49 @AllArgsConstructor 52 @AllArgsConstructor
50 public static class PayResult{ 53 public static class PayResult{
51 - private Boolean TransSN; 54 + @JacksonXmlProperty(localName = "TransSN")
55 + private String TransSN;
56 + @JacksonXmlProperty(localName = "MsgId")
52 private String MsgId; 57 private String MsgId;
58 + @JacksonXmlProperty(localName = "tradeId")
59 + private String tradeId;
60 + @JsonInclude(JsonInclude.Include.NON_NULL)
61 + @JacksonXmlProperty(localName = "miniPayRequest")
53 private MiniPayRequest miniPayRequest; 62 private MiniPayRequest miniPayRequest;
54 } 63 }
55 64
56 @Data 65 @Data
57 - @Builder 66 + @ApiModel(description = "支付响应")
58 - @ApiModel(description = "支付通知响应dto")
59 @NoArgsConstructor 67 @NoArgsConstructor
60 @AllArgsConstructor 68 @AllArgsConstructor
69 + @JacksonXmlRootElement(localName = "JSONObject")
61 public static class PayResponseDto { 70 public static class PayResponseDto {
71 + @JacksonXmlProperty(localName = "success")
62 private Boolean success; 72 private Boolean success;
73 + @JacksonXmlProperty(localName = "error")
63 private String error; 74 private String error;
64 - private PayResult result; 75 + @JacksonXmlProperty(localName = "result")
65 - }
66 -
67 - @Data
68 - @Builder
69 - @ApiModel(description = "支付状态修改dto")
70 - @NoArgsConstructor
71 - @AllArgsConstructor
72 - public static class PayStatusUpdateRequestDto {
73 - private Boolean success;
74 - private String error;
75 private PayResult result; 76 private PayResult result;
76 } 77 }
77 78
......
1 +package com.infoloop.tianting.model.dto;
2 +
3 +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
4 +import lombok.Data;
5 +
6 +@Data
7 +public class PaymentCallbackDTO {
8 +
9 + @JacksonXmlProperty(localName = "TradeId")
10 + private String tradeId;
11 +
12 + @JacksonXmlProperty(localName = "TransSN")
13 + private String transSN;
14 +
15 + @JacksonXmlProperty(localName = "TransType")
16 + private String transType;
17 +
18 + @JacksonXmlProperty(localName = "TransAmount")
19 + private String transAmount;
20 +
21 + @JacksonXmlProperty(localName = "RealAmount")
22 + private String realAmount;
23 +
24 + @JacksonXmlProperty(localName = "PayMode")
25 + private String payMode;
26 +
27 + @JacksonXmlProperty(localName = "PayModeRemark")
28 + private String payModeRemark;
29 +
30 + @JacksonXmlProperty(localName = "TransDate")
31 + private String transDate;
32 +
33 + @JacksonXmlProperty(localName = "OrginalTransSN")
34 + private String orginalTransSN;
35 +
36 + @JacksonXmlProperty(localName = "Remark")
37 + private String remark;
38 +
39 + @JacksonXmlProperty(localName = "PayModeNote")
40 + private String payModeNote;
41 +
42 + @JacksonXmlProperty(localName = "PayIdentify")
43 + private String payIdentify;
44 +
45 + @JacksonXmlProperty(localName = "PayIdentifyNote")
46 + private String payIdentifyNote;
47 +}
1 package com.infoloop.tianting.model.dto; 1 package com.infoloop.tianting.model.dto;
2 2
3 -import com.infoloop.tianting.SkuAttribute;
4 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
5 -import io.swagger.models.auth.In;
6 -import java.util.List;
7 import lombok.Builder; 4 import lombok.Builder;
8 import lombok.Data; 5 import lombok.Data;
9 6
7 +import java.util.List;
8 +
10 @Data 9 @Data
11 @ApiModel(description = "SkuDTO") 10 @ApiModel(description = "SkuDTO")
12 public class SkuDbDTO { 11 public class SkuDbDTO {
...@@ -65,5 +64,6 @@ public class SkuDbDTO { ...@@ -65,5 +64,6 @@ public class SkuDbDTO {
65 List<SkuSpecialDetailSingleResponseDto> doctorList; // 医嘱 64 List<SkuSpecialDetailSingleResponseDto> doctorList; // 医嘱
66 List<SkuDetailSingleResponseDto> avoidList; // 忌口 65 List<SkuDetailSingleResponseDto> avoidList; // 忌口
67 List<SkuDetailSingleResponseDto> skuList; // 配料 66 List<SkuDetailSingleResponseDto> skuList; // 配料
67 + List<SkuDetailSingleResponseDto> cecommendList;
68 } 68 }
69 } 69 }
......
1 -package com.infoloop.tianting.model.dto;
2 -
3 -import com.infoloop.tianting.model.common.PageInfo;
4 -import com.tianting.infoloop.grpc.exampleservice.TestExampleDbStatusEnum;
5 -import io.swagger.annotations.ApiModel;
6 -import io.swagger.annotations.ApiModelProperty;
7 -import lombok.Data;
8 -
9 -import javax.validation.Valid;
10 -import javax.validation.constraints.NotEmpty;
11 -import javax.validation.constraints.NotNull;
12 -
13 -@Data
14 -@ApiModel(description = "示例参数信息")
15 -public class TestExampleDbDTO {
16 -
17 - @Data
18 - @ApiModel(description = "查询分页参数")
19 - public static class QueryPage {
20 -
21 - @ApiModelProperty("分页信息")
22 - @Valid
23 - private PageInfo pageInfo;
24 -
25 - @ApiModelProperty("名称")
26 - private String name;
27 -
28 - @ApiModelProperty("状态")
29 - private TestExampleDbStatusEnum status;
30 -
31 - }
32 -
33 - @Data
34 - @ApiModel(description = "条件查询参数")
35 - public static class QueryByCondition {
36 -
37 - @ApiModelProperty("名称")
38 - private String name;
39 -
40 - @ApiModelProperty("状态")
41 - private TestExampleDbStatusEnum status;
42 -
43 - }
44 -
45 - @Data
46 - @ApiModel(description = "创建信息参数")
47 - public static class CreateTestExampleDb {
48 -
49 - @ApiModelProperty("名称")
50 - @NotEmpty(message = "名称不能为空")
51 - private String name;
52 -
53 - @ApiModelProperty("状态")
54 - @NotNull(message = "状态不能为空")
55 - private TestExampleDbStatusEnum status;
56 -
57 - }
58 -
59 - @Data
60 - @ApiModel(description = "修改信息参数")
61 - public static class UpdateTestExampleDb {
62 -
63 - @ApiModelProperty("名称")
64 - private String name;
65 -
66 - @ApiModelProperty("状态")
67 - private TestExampleDbStatusEnum status;
68 -
69 - }
70 -
71 -}
1 -package com.infoloop.tianting.model.query;
2 -
3 -import com.tianting.infoloop.grpc.exampleservice.TestExampleDbStatusEnum;
4 -import lombok.AllArgsConstructor;
5 -import lombok.Builder;
6 -import lombok.Data;
7 -import lombok.NoArgsConstructor;
8 -
9 -@Data
10 -@Builder
11 -@NoArgsConstructor
12 -@AllArgsConstructor
13 -public class TestExampleDbQuery {
14 -
15 - private String name;
16 - private TestExampleDbStatusEnum status;
17 -}
1 -package com.infoloop.tianting.model.update;
2 -
3 -import com.tianting.infoloop.grpc.exampleservice.TestExampleDbStatusEnum;
4 -import lombok.AllArgsConstructor;
5 -import lombok.Builder;
6 -import lombok.Data;
7 -import lombok.NoArgsConstructor;
8 -
9 -@Data
10 -@Builder
11 -@NoArgsConstructor
12 -@AllArgsConstructor
13 -public class TestExampleDbUpdate {
14 - private int id;
15 - private String name;
16 - private TestExampleDbStatusEnum status;
17 -}
1 -package com.infoloop.tianting.model.vo;
2 -
3 -import com.tianting.infoloop.grpc.exampleservice.TestExampleDbStatusEnum;
4 -import io.swagger.annotations.ApiModel;
5 -import io.swagger.annotations.ApiModelProperty;
6 -import lombok.Builder;
7 -import lombok.Data;
8 -import lombok.ToString;
9 -
10 -@Data
11 -@Builder
12 -@ToString
13 -@ApiModel(description = "示例试图")
14 -public class TestExampleDbVO {
15 -
16 - @ApiModelProperty("ID")
17 - private int id;
18 -
19 - @ApiModelProperty("名称")
20 - private String name;
21 -
22 - @ApiModelProperty("状态")
23 - private TestExampleDbStatusEnum status;
24 -
25 - @ApiModelProperty("创建时间")
26 - private String createdAt;
27 -
28 - @ApiModelProperty("修改时间")
29 - private String updatedAt;
30 -}
1 -package com.infoloop.tianting.service;
2 -
3 -import com.infoloop.tianting.model.common.CreatedResult;
4 -import com.infoloop.tianting.model.common.PageResult;
5 -import com.infoloop.tianting.model.dto.TestExampleDbDTO;
6 -import com.infoloop.tianting.model.vo.TestExampleDbVO;
7 -import com.tianting.infoloop.grpc.exampleservice.SingleTestExampleDbRpcResponse;
8 -
9 -import javax.validation.Valid;
10 -import java.util.List;
11 -
12 -public interface TestService {
13 -
14 - PageResult<TestExampleDbVO> queryPage(TestExampleDbDTO.@Valid QueryPage queryPage);
15 -
16 - List<TestExampleDbVO> queryAll();
17 -
18 - CreatedResult<TestExampleDbVO> createTestExampleDb(TestExampleDbDTO.CreateTestExampleDb createTestExampleDb);
19 - void updateTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse, TestExampleDbDTO.UpdateTestExampleDb updateTestExampleDb);
20 -
21 - void deleteTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse);
22 -
23 - TestExampleDbVO getTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse);
24 -}
...@@ -11,8 +11,7 @@ import org.springframework.stereotype.Service; ...@@ -11,8 +11,7 @@ import org.springframework.stereotype.Service;
11 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 11 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
12 public class CategoriesServiceRpcClient { 12 public class CategoriesServiceRpcClient {
13 13
14 - private final CategoriesServiceProtoRpcGrpc.CategoriesServiceProtoRpcBlockingStub 14 + private final CategoriesServiceProtoRpcGrpc.CategoriesServiceProtoRpcBlockingStub categoriesServiceProtoRpcBlockingStub;
15 - categoriesServiceProtoRpcBlockingStub;
16 15
17 public QueryCategoriesServiceAllRpcResponse queryCategoriesAll(Integer enterpriseId) { 16 public QueryCategoriesServiceAllRpcResponse queryCategoriesAll(Integer enterpriseId) {
18 final var request = QueryCategoriesServiceAllRpcRequest.newBuilder() 17 final var request = QueryCategoriesServiceAllRpcRequest.newBuilder()
......
1 package com.infoloop.tianting.service.client; 1 package com.infoloop.tianting.service.client;
2 2
3 -import com.fasterxml.jackson.databind.DeserializationFeature; 3 +import com.infoloop.tianting.config.BusinessConfig;
4 -import com.fasterxml.jackson.databind.ObjectMapper; 4 +import com.infoloop.tianting.constant.CommonConstants;
5 +import com.infoloop.tianting.exception.ClientEndExceptions;
6 +import com.infoloop.tianting.exception.ErrorCodeEnum;
5 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.CurrentClientCustomerDto; 7 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.CurrentClientCustomerDto;
6 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.CurrentClientCustomerListDto; 8 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.CurrentClientCustomerListDto;
7 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto;
8 -import java.util.ArrayList;
9 -import java.util.List;
10 import lombok.RequiredArgsConstructor; 9 import lombok.RequiredArgsConstructor;
11 -import okhttp3.MediaType; 10 +import lombok.extern.slf4j.Slf4j;
12 -import okhttp3.OkHttpClient; 11 +import org.springframework.http.HttpEntity;
13 -import okhttp3.Request; 12 +import org.springframework.http.HttpHeaders;
14 -import okhttp3.RequestBody; 13 +import org.springframework.http.HttpMethod;
15 -import okhttp3.Response; 14 +import org.springframework.http.MediaType;
16 -import org.springframework.beans.factory.annotation.Autowired; 15 +import org.springframework.http.ResponseEntity;
17 import org.springframework.stereotype.Service; 16 import org.springframework.stereotype.Service;
17 +import org.springframework.web.client.RestTemplate;
18 +
19 +import java.util.List;
18 20
21 +@Slf4j
19 @Service 22 @Service
20 -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) 23 +@RequiredArgsConstructor
21 public class ClientCustomerServiceHttpClient { 24 public class ClientCustomerServiceHttpClient {
22 - private final OkHttpClient client = new OkHttpClient(); 25 +
26 + private final BusinessConfig businessConfig;
27 + private final RestTemplate restTemplate;
23 28
24 public List<CurrentClientCustomerDto> getCurrentClientCustomer(String token, boolean isHis) { 29 public List<CurrentClientCustomerDto> getCurrentClientCustomer(String token, boolean isHis) {
25 - ObjectMapper objectMapper = new ObjectMapper(); 30 + String url = isHis ? businessConfig.getHisCustomerQueryUrl() : businessConfig.getClientCustomerQueryUrl();
31 + HttpHeaders headers = new HttpHeaders();
32 + headers.setContentType(MediaType.APPLICATION_JSON);
33 + headers.set(CommonConstants.AUTHORIZATION, token);
34 + HttpEntity<String> requestEntity = new HttpEntity<>("{}", headers);
26 try { 35 try {
27 - String url = ""; 36 + ResponseEntity<CurrentClientCustomerListDto> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, CurrentClientCustomerListDto.class);
28 - if (isHis) { 37 + if (!responseEntity.getStatusCode().is2xxSuccessful() || responseEntity.getBody() == null) {
29 - url = "https://nutri2.infoscm.cn/v3/hiscustomers/current/query"; 38 + log.error("Failed to fetch client customer data. Response: {}", responseEntity);
30 - } else { 39 + throw ClientEndExceptions.BusinessException.build(ErrorCodeEnum.QUERY_CLIENT_CUSTOMER_ERROR);
31 - url = "https://nutri2.infoscm.cn/v3/clientcustomers/current/query";
32 } 40 }
33 - 41 + return responseEntity.getBody().getRows();
34 - MediaType mediaType = MediaType.parse("application/json; charset=utf-8");
35 - RequestBody body = RequestBody.create(mediaType, "{}");
36 - Request request = new Request.Builder()
37 - .url(url)
38 - .post(body)
39 - .addHeader("Authorization", token)
40 - .build();
41 -
42 - Response response = client.newCall(request).execute();
43 -
44 - String jsonData = response.body().string();
45 - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
46 - return objectMapper.readValue(jsonData, CurrentClientCustomerListDto.class).getRows();
47 } catch (Exception e) { 42 } catch (Exception e) {
48 - System.out.println("error"+e.getMessage()); 43 + log.error("Error fetching client customer data", e);
49 - throw new IllegalArgumentException("获取当日在住客户失败"); 44 + throw ClientEndExceptions.BusinessException.build(ErrorCodeEnum.QUERY_CLIENT_CUSTOMER_ERROR);
50 } 45 }
51 } 46 }
52 } 47 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -122,8 +122,6 @@ public class ClientCustomerServiceRpcClient { ...@@ -122,8 +122,6 @@ public class ClientCustomerServiceRpcClient {
122 .setEnterpriseId(enterpriseId) 122 .setEnterpriseId(enterpriseId)
123 .setShouldFilterCustomerIds(true) 123 .setShouldFilterCustomerIds(true)
124 .addAllCustomerIds(List.of(customerId)) 124 .addAllCustomerIds(List.of(customerId))
125 - .setShouldFilterLabelIds(false)
126 - .addLabelIds(0)
127 .build(); 125 .build();
128 return clientCustomerServiceRpcBlockingStub.queryClientCustomerLabelRefsByCondition(request); 126 return clientCustomerServiceRpcBlockingStub.queryClientCustomerLabelRefsByCondition(request);
129 } 127 }
......
1 package com.infoloop.tianting.service.client; 1 package com.infoloop.tianting.service.client;
2 2
3 -import com.infoloop.tianting.deliveryruleservice.ClientLabelTypeEnum;
4 import com.infoloop.tianting.deliveryruleservice.GetClientLabelsByIdsRpcRequest; 3 import com.infoloop.tianting.deliveryruleservice.GetClientLabelsByIdsRpcRequest;
5 import com.infoloop.tianting.deliveryruleservice.GetClientLabelsByIdsRpcResponse; 4 import com.infoloop.tianting.deliveryruleservice.GetClientLabelsByIdsRpcResponse;
6 import com.infoloop.tianting.deliveryruleservice.QueryClientLabelsByConditionRpcRequest; 5 import com.infoloop.tianting.deliveryruleservice.QueryClientLabelsByConditionRpcRequest;
7 import com.infoloop.tianting.deliveryruleservice.QueryClientLabelsByConditionRpcResponse; 6 import com.infoloop.tianting.deliveryruleservice.QueryClientLabelsByConditionRpcResponse;
8 import com.infoloop.tianting.deliveryruleservice.TiantingDeliveryRuleServiceRpcGrpc; 7 import com.infoloop.tianting.deliveryruleservice.TiantingDeliveryRuleServiceRpcGrpc;
9 import com.infoloop.tianting.model.dto.ClientLabelDTO.QueryLabelsDto; 8 import com.infoloop.tianting.model.dto.ClientLabelDTO.QueryLabelsDto;
10 -import java.util.List;
11 import lombok.RequiredArgsConstructor; 9 import lombok.RequiredArgsConstructor;
12 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
14 12
13 +import java.util.List;
14 +
15 @Service 15 @Service
16 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 16 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
17 public class DeliveryRuleServiceRpcClient { 17 public class DeliveryRuleServiceRpcClient {
......
1 -package com.infoloop.tianting.service.client;
2 -
3 -import com.infoloop.tianting.model.common.PageInfo;
4 -import com.infoloop.tianting.model.create.TestExampleDbCreate;
5 -import com.infoloop.tianting.model.query.TestExampleDbQuery;
6 -import com.infoloop.tianting.model.update.TestExampleDbUpdate;
7 -import com.tianting.infoloop.grpc.exampleservice.BatchCreateTestExampleDbRpcRequest;
8 -import com.tianting.infoloop.grpc.exampleservice.BatchCreateTestExampleDbRpcResponse;
9 -import com.tianting.infoloop.grpc.exampleservice.BatchUpdateTestExampleDbRpcRequest;
10 -import com.tianting.infoloop.grpc.exampleservice.CreateTestExampleDbRpcRequest;
11 -import com.tianting.infoloop.grpc.exampleservice.CreateTestExampleDbRpcResponse;
12 -import com.tianting.infoloop.grpc.exampleservice.DeleteTestExampleDbByIdsRpcRequest;
13 -import com.tianting.infoloop.grpc.exampleservice.ExampleServiceRpcGrpc;
14 -import com.tianting.infoloop.grpc.exampleservice.GetAllTestExampleDbRpcRequest;
15 -import com.tianting.infoloop.grpc.exampleservice.GetTestExampleDbByIdRpcRequest;
16 -import com.tianting.infoloop.grpc.exampleservice.GetTestExampleDbByIdsRpcRequest;
17 -import com.tianting.infoloop.grpc.exampleservice.QueryTestExampleDbByConditionRpcRequest;
18 -import com.tianting.infoloop.grpc.exampleservice.QueryTestExampleDbByPaginationRpcRequest;
19 -import com.tianting.infoloop.grpc.exampleservice.QueryTestExampleDbByPaginationRpcResponse;
20 -import com.tianting.infoloop.grpc.exampleservice.SingleTestExampleDbRpcResponse;
21 -import com.tianting.infoloop.grpc.exampleservice.TestExampleDbCreation;
22 -import com.tianting.infoloop.grpc.exampleservice.TestExampleDbModification;
23 -import com.tianting.infoloop.grpc.exampleservice.UpdateTestExampleDbRpcRequest;
24 -import lombok.RequiredArgsConstructor;
25 -import org.springframework.beans.factory.annotation.Autowired;
26 -import org.springframework.lang.Nullable;
27 -import org.springframework.stereotype.Service;
28 -
29 -import java.util.List;
30 -import java.util.stream.Collectors;
31 -
32 -@Service
33 -@RequiredArgsConstructor(onConstructor = @__(@Autowired))
34 -public class ExampleServiceRpcClient {
35 -
36 - private final ExampleServiceRpcGrpc.ExampleServiceRpcBlockingStub exampleServiceRpcBlockingStub;
37 -
38 - /**
39 - * RPC Client示例
40 - */
41 -
42 - @Nullable
43 - public SingleTestExampleDbRpcResponse getTestExampleDbById(int id) {
44 - final var response = exampleServiceRpcBlockingStub.getTestExampleDbById(GetTestExampleDbByIdRpcRequest.newBuilder()
45 - .setId(id)
46 - .build());
47 - if (!response.hasResponse()) {
48 - return null;
49 - }
50 - return response.getResponse();
51 - }
52 -
53 - public List<SingleTestExampleDbRpcResponse> getTestExampleDbByIds(List<Integer> ids) {
54 - return exampleServiceRpcBlockingStub.getTestExampleDbByIds(GetTestExampleDbByIdsRpcRequest.newBuilder()
55 - .addAllIds(ids)
56 - .build()).getResponsesList();
57 - }
58 -
59 - public List<SingleTestExampleDbRpcResponse> getAllTestExampleDb() {
60 - return exampleServiceRpcBlockingStub.getAllTestExampleDb(GetAllTestExampleDbRpcRequest.newBuilder().build()).getResponsesList();
61 - }
62 -
63 - public List<SingleTestExampleDbRpcResponse> queryTestExampleDbByCondition(TestExampleDbQuery query) {
64 - final var builder = QueryTestExampleDbByConditionRpcRequest.newBuilder();
65 - if (query.getName() != null) {
66 - builder.setName(query.getName());
67 - }
68 - if (query.getStatus() != null) {
69 - builder.setStatus(query.getStatus());
70 - }
71 - return exampleServiceRpcBlockingStub.queryTestExampleDbByCondition(builder.build()).getResponsesList();
72 - }
73 -
74 - public QueryTestExampleDbByPaginationRpcResponse queryTestExampleDbByPagination(PageInfo pageInfo, TestExampleDbQuery query) {
75 - final var builder = QueryTestExampleDbByPaginationRpcRequest.newBuilder();
76 - builder.setPageNo(pageInfo.getPageNo());
77 - builder.setPageSize(pageInfo.getPageSize());
78 - if (query.getName() != null) {
79 - builder.setName(query.getName());
80 - }
81 - if (query.getStatus() != null) {
82 - builder.setStatus(query.getStatus());
83 - }
84 - return exampleServiceRpcBlockingStub.queryTestExampleDbByPagination(builder.build());
85 - }
86 -
87 - public CreateTestExampleDbRpcResponse createTestExampleDb(TestExampleDbCreate create) {
88 - final var creation = TestExampleDbCreation.newBuilder()
89 - .setName(create.getName())
90 - .setStatus(create.getStatus())
91 - .build();
92 - return exampleServiceRpcBlockingStub.createTestExampleDb(CreateTestExampleDbRpcRequest.newBuilder().setCreation(creation).build());
93 - }
94 -
95 - public BatchCreateTestExampleDbRpcResponse batchCreateTestExampleDb(List<TestExampleDbCreate> createList) {
96 - final var creationList = createList.stream().map(e -> TestExampleDbCreation.newBuilder()
97 - .setName(e.getName())
98 - .setStatus(e.getStatus())
99 - .build()).collect(Collectors.toList());
100 - return exampleServiceRpcBlockingStub.batchCreateTestExampleDb(BatchCreateTestExampleDbRpcRequest.newBuilder().addAllCreations(creationList).build());
101 - }
102 -
103 - public boolean updateTestExampleDb(TestExampleDbUpdate update) {
104 - final var builder = TestExampleDbModification.newBuilder()
105 - .setId(update.getId());
106 - if (update.getName() != null) {
107 - builder.setName(update.getName());
108 - }
109 - if (update.getStatus() != null) {
110 - builder.setStatus(update.getStatus());
111 - }
112 - return exampleServiceRpcBlockingStub.updateTestExampleDb(UpdateTestExampleDbRpcRequest.newBuilder().setModification(builder.build()).build()).getIsUpdated();
113 - }
114 -
115 - public boolean batchUpdateTestExampleDb(List<TestExampleDbUpdate> updateList) {
116 - final var modificationList = updateList.stream().map(update -> {
117 - final var builder = TestExampleDbModification.newBuilder()
118 - .setId(update.getId());
119 - if (update.getName() != null) {
120 - builder.setName(update.getName());
121 - }
122 - if (update.getStatus() != null) {
123 - builder.setStatus(update.getStatus());
124 - }
125 - return builder.build();
126 - }).collect(Collectors.toList());
127 - return exampleServiceRpcBlockingStub.batchUpdateTestExampleDb(BatchUpdateTestExampleDbRpcRequest.newBuilder().addAllModifications(modificationList).build()).getIsUpdated();
128 - }
129 -
130 - public boolean deleteTestExampleDbByIds(List<Integer> ids) {
131 - return exampleServiceRpcBlockingStub.deleteTestExampleDbByIds(DeleteTestExampleDbByIdsRpcRequest.newBuilder().addAllIds(ids).build()).getIsDeleted();
132 - }
133 -}
...@@ -12,11 +12,12 @@ import com.infoloop.tianting.clientinventoryservice.QueryClientTableCodesByCondi ...@@ -12,11 +12,12 @@ import com.infoloop.tianting.clientinventoryservice.QueryClientTableCodesByCondi
12 import com.infoloop.tianting.clientinventoryservice.QueryClientTableCodesByConditionRpcResponse; 12 import com.infoloop.tianting.clientinventoryservice.QueryClientTableCodesByConditionRpcResponse;
13 import com.infoloop.tianting.clientinventoryservice.TiantingClientInventoryServiceRpcGrpc; 13 import com.infoloop.tianting.clientinventoryservice.TiantingClientInventoryServiceRpcGrpc;
14 import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto; 14 import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto;
15 -import java.util.List;
16 import lombok.RequiredArgsConstructor; 15 import lombok.RequiredArgsConstructor;
17 import org.springframework.beans.factory.annotation.Autowired; 16 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.stereotype.Service; 17 import org.springframework.stereotype.Service;
19 18
19 +import java.util.List;
20 +
20 @Service 21 @Service
21 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 22 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
22 public class InventoryServiceRpcClient { 23 public class InventoryServiceRpcClient {
......
...@@ -5,11 +5,12 @@ import com.infoloop.tianting.setmealscheduleservice.GetAllMealsRpcResponse; ...@@ -5,11 +5,12 @@ import com.infoloop.tianting.setmealscheduleservice.GetAllMealsRpcResponse;
5 import com.infoloop.tianting.setmealscheduleservice.GetMealsByIdsRpcRequest; 5 import com.infoloop.tianting.setmealscheduleservice.GetMealsByIdsRpcRequest;
6 import com.infoloop.tianting.setmealscheduleservice.GetMealsByIdsRpcResponse; 6 import com.infoloop.tianting.setmealscheduleservice.GetMealsByIdsRpcResponse;
7 import com.infoloop.tianting.setmealscheduleservice.SetMealScheduleServiceRpcGrpc; 7 import com.infoloop.tianting.setmealscheduleservice.SetMealScheduleServiceRpcGrpc;
8 -import java.util.List;
9 import lombok.RequiredArgsConstructor; 8 import lombok.RequiredArgsConstructor;
10 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.stereotype.Service; 10 import org.springframework.stereotype.Service;
12 11
12 +import java.util.List;
13 +
13 @Service 14 @Service
14 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 15 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
15 public class MealServiceRpcClient { 16 public class MealServiceRpcClient {
...@@ -35,5 +36,4 @@ public class MealServiceRpcClient { ...@@ -35,5 +36,4 @@ public class MealServiceRpcClient {
35 } 36 }
36 37
37 38
38 -
39 } 39 }
......
...@@ -5,28 +5,27 @@ import com.infoloop.rpc.meizhongyiheservice.GetCustomerAllergiesByCustomerIdsRpc ...@@ -5,28 +5,27 @@ import com.infoloop.rpc.meizhongyiheservice.GetCustomerAllergiesByCustomerIdsRpc
5 import com.infoloop.rpc.meizhongyiheservice.GetCustomerMedicalAdvicesByHospitalRecordIdsRpcRequest; 5 import com.infoloop.rpc.meizhongyiheservice.GetCustomerMedicalAdvicesByHospitalRecordIdsRpcRequest;
6 import com.infoloop.rpc.meizhongyiheservice.GetCustomerMedicalAdvicesByHospitalRecordIdsRpcResponse; 6 import com.infoloop.rpc.meizhongyiheservice.GetCustomerMedicalAdvicesByHospitalRecordIdsRpcResponse;
7 import com.infoloop.rpc.meizhongyiheservice.MeiZhongYiHeServiceRpcGrpc; 7 import com.infoloop.rpc.meizhongyiheservice.MeiZhongYiHeServiceRpcGrpc;
8 -import java.util.List;
9 import lombok.RequiredArgsConstructor; 8 import lombok.RequiredArgsConstructor;
10 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.beans.factory.annotation.Autowired;
11 import org.springframework.stereotype.Service; 10 import org.springframework.stereotype.Service;
12 11
12 +import java.util.List;
13 +
13 @Service 14 @Service
14 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 15 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
15 public class MeiZhongYiHeServiceClient { 16 public class MeiZhongYiHeServiceClient {
16 17
17 - private final MeiZhongYiHeServiceRpcGrpc.MeiZhongYiHeServiceRpcBlockingStub 18 + private final MeiZhongYiHeServiceRpcGrpc.MeiZhongYiHeServiceRpcBlockingStub meiZhongYiHeServiceRpcBlockingStub;
18 - meiZhongYiHeServiceRpcBlockingStub;
19 19
20 public GetCustomerAllergiesByCustomerIdsRpcResponse getHisCustomerAllergiesByCustomerId( 20 public GetCustomerAllergiesByCustomerIdsRpcResponse getHisCustomerAllergiesByCustomerId(
21 - String hisCustomerId ) { 21 + String hisCustomerId) {
22 final var request = GetCustomerAllergiesByCustomerIdsRpcRequest.newBuilder() 22 final var request = GetCustomerAllergiesByCustomerIdsRpcRequest.newBuilder()
23 .addAllCustomerIds(List.of(hisCustomerId)) 23 .addAllCustomerIds(List.of(hisCustomerId))
24 .build(); 24 .build();
25 return meiZhongYiHeServiceRpcBlockingStub.getCustomerAllergiesByCustomerIds(request); 25 return meiZhongYiHeServiceRpcBlockingStub.getCustomerAllergiesByCustomerIds(request);
26 } 26 }
27 27
28 - public GetCustomerMedicalAdvicesByHospitalRecordIdsRpcResponse 28 + public GetCustomerMedicalAdvicesByHospitalRecordIdsRpcResponse getHisCustomerMedicalAdvicesByContractNo(String contractNo) {
29 - getHisCustomerMedicalAdvicesByContractNo (String contractNo) {
30 final var request = GetCustomerMedicalAdvicesByHospitalRecordIdsRpcRequest.newBuilder() 29 final var request = GetCustomerMedicalAdvicesByHospitalRecordIdsRpcRequest.newBuilder()
31 .addAllHospitalRecordIds(List.of(contractNo)) 30 .addAllHospitalRecordIds(List.of(contractNo))
32 .build(); 31 .build();
......
...@@ -21,15 +21,14 @@ import com.infoloop.tianting.menuservice.GetPublishedMenusByStallIdsRpcRequest; ...@@ -21,15 +21,14 @@ import com.infoloop.tianting.menuservice.GetPublishedMenusByStallIdsRpcRequest;
21 import com.infoloop.tianting.menuservice.GetPublishedMenusByStallIdsRpcResponse; 21 import com.infoloop.tianting.menuservice.GetPublishedMenusByStallIdsRpcResponse;
22 import com.infoloop.tianting.menuservice.MenuServiceRpcGrpc; 22 import com.infoloop.tianting.menuservice.MenuServiceRpcGrpc;
23 import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsDto; 23 import com.infoloop.tianting.model.dto.MenuDbDTO.BatchCreateMenuRefsDto;
24 -import com.infoloop.tianting.utils.DateUtil; 24 +import lombok.RequiredArgsConstructor;
25 -import io.swagger.models.auth.In; 25 +import org.springframework.beans.factory.annotation.Autowired;
26 +import org.springframework.stereotype.Service;
27 +
26 import java.time.LocalDateTime; 28 import java.time.LocalDateTime;
27 import java.time.ZoneOffset; 29 import java.time.ZoneOffset;
28 import java.util.List; 30 import java.util.List;
29 import java.util.stream.Collectors; 31 import java.util.stream.Collectors;
30 -import lombok.RequiredArgsConstructor;
31 -import org.springframework.beans.factory.annotation.Autowired;
32 -import org.springframework.stereotype.Service;
33 32
34 @Service 33 @Service
35 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 34 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
...@@ -128,7 +127,7 @@ public class MenuServiceRpcClient { ...@@ -128,7 +127,7 @@ public class MenuServiceRpcClient {
128 127
129 public BatchCreateClientCustomerMenuRefsRpcResponse batchCreateClientCustomerMenuRefs( 128 public BatchCreateClientCustomerMenuRefsRpcResponse batchCreateClientCustomerMenuRefs(
130 BatchCreateMenuRefsDto batchCreateMenuRefsDto) { 129 BatchCreateMenuRefsDto batchCreateMenuRefsDto) {
131 - final var creations = batchCreateMenuRefsDto.getCreations().stream().map(mr-> 130 + final var creations = batchCreateMenuRefsDto.getCreations().stream().map(mr ->
132 ClientCustomerMenuRefCreation.newBuilder() 131 ClientCustomerMenuRefCreation.newBuilder()
133 .setIsTop(mr.isTop()) 132 .setIsTop(mr.isTop())
134 .setMenuId(mr.getMenuId()) 133 .setMenuId(mr.getMenuId())
......
...@@ -3,7 +3,6 @@ package com.infoloop.tianting.service.client; ...@@ -3,7 +3,6 @@ package com.infoloop.tianting.service.client;
3 import com.infoloop.tianting.COperatorServiceProtoRpcGrpc; 3 import com.infoloop.tianting.COperatorServiceProtoRpcGrpc;
4 import com.infoloop.tianting.GetCOperatorByIdRpcRequest; 4 import com.infoloop.tianting.GetCOperatorByIdRpcRequest;
5 import com.infoloop.tianting.GetCOperatorByMobileOrEmailRpcRequest; 5 import com.infoloop.tianting.GetCOperatorByMobileOrEmailRpcRequest;
6 -import com.infoloop.tianting.GetCOperatorByMobileOrEmailRpcResponse;
7 import com.infoloop.tianting.SingleCOperatorRpcResponse; 6 import com.infoloop.tianting.SingleCOperatorRpcResponse;
8 import lombok.RequiredArgsConstructor; 7 import lombok.RequiredArgsConstructor;
9 import org.springframework.beans.factory.annotation.Autowired; 8 import org.springframework.beans.factory.annotation.Autowired;
...@@ -13,8 +12,7 @@ import org.springframework.stereotype.Service; ...@@ -13,8 +12,7 @@ import org.springframework.stereotype.Service;
13 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 12 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
14 public class OperatorServiceRpcClient { 13 public class OperatorServiceRpcClient {
15 14
16 - private final COperatorServiceProtoRpcGrpc.COperatorServiceProtoRpcBlockingStub 15 + private final COperatorServiceProtoRpcGrpc.COperatorServiceProtoRpcBlockingStub cOperatorServiceProtoRpcBlockingStub;
17 - cOperatorServiceProtoRpcBlockingStub;
18 16
19 public SingleCOperatorRpcResponse getCOperatorByMobileOrEmail(String keyword) { 17 public SingleCOperatorRpcResponse getCOperatorByMobileOrEmail(String keyword) {
20 final var request = GetCOperatorByMobileOrEmailRpcRequest.newBuilder() 18 final var request = GetCOperatorByMobileOrEmailRpcRequest.newBuilder()
...@@ -29,5 +27,4 @@ public class OperatorServiceRpcClient { ...@@ -29,5 +27,4 @@ public class OperatorServiceRpcClient {
29 } 27 }
30 28
31 29
32 -
33 } 30 }
......
1 package com.infoloop.tianting.service.client; 1 package com.infoloop.tianting.service.client;
2 2
3 -import com.fasterxml.jackson.core.JsonParser; 3 +import com.fasterxml.jackson.core.JsonProcessingException;
4 -import com.fasterxml.jackson.core.JsonParser.Feature;
5 -import com.fasterxml.jackson.databind.DeserializationFeature;
6 -import com.fasterxml.jackson.databind.MapperFeature;
7 import com.fasterxml.jackson.databind.ObjectMapper; 4 import com.fasterxml.jackson.databind.ObjectMapper;
8 import com.fasterxml.jackson.databind.PropertyNamingStrategy; 5 import com.fasterxml.jackson.databind.PropertyNamingStrategy;
9 -import com.fasterxml.jackson.databind.SerializationFeature; 6 +import com.fasterxml.jackson.dataformat.xml.XmlMapper;
7 +import com.infoloop.tianting.config.BusinessConfig;
10 import com.infoloop.tianting.model.dto.PayDTO.PayInformRequestDto; 8 import com.infoloop.tianting.model.dto.PayDTO.PayInformRequestDto;
11 import com.infoloop.tianting.model.dto.PayDTO.PayResponseDto; 9 import com.infoloop.tianting.model.dto.PayDTO.PayResponseDto;
12 import com.infoloop.tianting.model.dto.PayDTO.ThirdPartyPayInformRequestDto; 10 import com.infoloop.tianting.model.dto.PayDTO.ThirdPartyPayInformRequestDto;
13 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserPhoneResponseDto; 11 +import com.infoloop.tianting.model.dto.PaymentCallbackDTO;
14 import com.infoloop.tianting.utils.DateUtil; 12 import com.infoloop.tianting.utils.DateUtil;
15 import com.infoloop.tianting.utils.EncryptionUtil; 13 import com.infoloop.tianting.utils.EncryptionUtil;
16 -import java.io.IOException;
17 -import java.time.LocalDateTime;
18 import lombok.RequiredArgsConstructor; 14 import lombok.RequiredArgsConstructor;
19 -import okhttp3.FormBody; 15 +import lombok.extern.slf4j.Slf4j;
20 -import okhttp3.MediaType;
21 -import okhttp3.OkHttpClient;
22 -import okhttp3.Request;
23 -import okhttp3.RequestBody;
24 -import okhttp3.Response;
25 import org.springframework.beans.factory.annotation.Autowired; 16 import org.springframework.beans.factory.annotation.Autowired;
26 -import org.springframework.data.mapping.model.PropertyNameFieldNamingStrategy; 17 +import org.springframework.beans.factory.annotation.Value;
27 -import org.springframework.jmx.export.naming.IdentityNamingStrategy; 18 +import org.springframework.http.HttpEntity;
19 +import org.springframework.http.HttpHeaders;
20 +import org.springframework.http.HttpMethod;
21 +import org.springframework.http.MediaType;
22 +import org.springframework.http.ResponseEntity;
28 import org.springframework.stereotype.Service; 23 import org.springframework.stereotype.Service;
24 +import org.springframework.web.client.RestTemplate;
25 +
26 +import java.time.LocalDateTime;
29 27
28 +
29 +@Slf4j
30 @Service 30 @Service
31 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 31 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
32 public class PayServiceClient { 32 public class PayServiceClient {
33 33
34 - private final OkHttpClient client = new OkHttpClient(); 34 + private final RestTemplate restTemplate;
35 +
36 + private final BusinessConfig businessConfig;
37 +
38 + private final ObjectMapper objectMapper;
39 +
40 + @Value("${payment.client-id:Order0001}")
41 + private String clientId;
42 +
43 + private final XmlMapper xmlMapper = new XmlMapper();
35 44
36 public PayResponseDto payInform(PayInformRequestDto payRequestDto) { 45 public PayResponseDto payInform(PayInformRequestDto payRequestDto) {
46 + String url = businessConfig.getPayUrl();
47 + String requestDate = DateUtil.formatDate(LocalDateTime.now(), DateUtil.YMDHMS);
48 + ThirdPartyPayInformRequestDto jsonData = buildRequestData(payRequestDto, requestDate);
49 + String jsonDataString;
37 try { 50 try {
38 - String url = "http://10.2.5.162:21051/API/Microapp/CreateOrder?appid=Order0001";
39 - String clientId = "Order0001";
40 - ObjectMapper objectMapper = new ObjectMapper();
41 -// objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
42 objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE); 51 objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.UPPER_CAMEL_CASE);
52 + jsonDataString = objectMapper.writeValueAsString(jsonData);
53 + } catch (JsonProcessingException e) {
54 + log.error("Failed to serialize request data", e);
55 + throw new IllegalArgumentException("支付通知失败: JSON 解析错误");
56 + }
57 + HttpEntity<String> requestEntity = new HttpEntity<>(jsonDataString, createHeaders());
58 + log.info("payInform request: {}", jsonDataString);
59 + ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
60 + return processResponse(responseEntity);
61 + }
43 62
63 + private ThirdPartyPayInformRequestDto buildRequestData(PayInformRequestDto payRequestDto, String requestDate) {
44 ThirdPartyPayInformRequestDto jsonData = new ThirdPartyPayInformRequestDto(); 64 ThirdPartyPayInformRequestDto jsonData = new ThirdPartyPayInformRequestDto();
45 jsonData.setClientId(clientId); 65 jsonData.setClientId(clientId);
46 - jsonData.setTradeId(payRequestDto.getOrderId()); //payRequestDto.getOrderId() 66 + jsonData.setTradeId(payRequestDto.getOrderId());
47 - String requestDate = DateUtil.formatDate(LocalDateTime.now(), DateUtil.YMDHMS);
48 jsonData.setRequestDate(requestDate); 67 jsonData.setRequestDate(requestDate);
49 jsonData.setRequestSource("OFWXApplet"); 68 jsonData.setRequestSource("OFWXApplet");
50 jsonData.setPayerOpenId(payRequestDto.getOpenId()); 69 jsonData.setPayerOpenId(payRequestDto.getOpenId());
51 - jsonData.setHospitalCode("AMCAREBJLD"); //payRequestDto.getHospitalCode() 70 + jsonData.setHospitalCode(payRequestDto.getHospitalCode());
52 jsonData.setPID(payRequestDto.getPhone()); 71 jsonData.setPID(payRequestDto.getPhone());
53 jsonData.setRemark(""); 72 jsonData.setRemark("");
54 jsonData.setTransAmount(payRequestDto.getPrice()); 73 jsonData.setTransAmount(payRequestDto.getPrice());
55 jsonData.setTradeDesc(""); 74 jsonData.setTradeDesc("");
56 - String signStr = EncryptionUtil.sha1Encryption( 75 + jsonData.setSign(EncryptionUtil.sha1Encryption(clientId + payRequestDto.getOrderId() + requestDate + clientId));
57 - clientId+payRequestDto.getOrderId()+requestDate+"Order0001"); 76 + return jsonData;
58 - jsonData.setSign(signStr); 77 + }
59 - String jsonDataString = objectMapper.writeValueAsString(jsonData);
60 78
61 - // 设置请求体的媒体类型为JSON 79 + private HttpHeaders createHeaders() {
62 - MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); 80 + HttpHeaders headers = new HttpHeaders();
63 - RequestBody body = RequestBody.create(mediaType, jsonDataString); 81 + headers.setContentType(MediaType.APPLICATION_JSON);
64 - Request getPhoneRequest = new Request.Builder() 82 + return headers;
65 - .url(url)
66 - .post(body)
67 - .build();
68 - Response payResponse = client.newCall(getPhoneRequest).execute();
69 - if(payResponse.code() != 200) {
70 - System.out.println(payResponse.message());
71 - throw new IllegalArgumentException("支付通知失败");
72 } 83 }
73 - String payJsonData = payResponse.body().string();
74 - System.out.println("pay json:"+payJsonData);
75 - ObjectMapper objectMapper2 = new ObjectMapper();
76 - objectMapper2.configure(Feature.ALLOW_MISSING_VALUES, true);
77 - objectMapper2.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
78 - objectMapper2.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_VALUES, false);
79 84
80 - PayResponseDto payResponseDto = objectMapper2.readValue(payJsonData, PayResponseDto.class); 85 + private PayResponseDto processResponse(ResponseEntity<String> responseEntity) {
81 - return payResponseDto; 86 + if (!responseEntity.getStatusCode().is2xxSuccessful() || responseEntity.getBody() == null) {
82 - } catch (Exception e) { 87 + log.error("payInform failed with response: {}", responseEntity.getBody());
83 - System.out.println(e.getStackTrace().toString());
84 throw new IllegalArgumentException("支付通知失败"); 88 throw new IllegalArgumentException("支付通知失败");
85 } 89 }
90 + try {
91 + log.info("processResponse response: {}", responseEntity.getBody());
92 + return xmlMapper.readValue(responseEntity.getBody(), PayResponseDto.class);
93 + } catch (Exception e) {
94 + log.error("Failed to parse XML response", e);
95 + throw new RuntimeException("支付通知结果解析失败", e);
96 + }
97 + }
98 +
99 + public void callback(PaymentCallbackDTO payInformRequestDto) {
100 + log.info("callback: {}", payInformRequestDto);
101 +
86 } 102 }
87 } 103 }
......
...@@ -2,23 +2,23 @@ package com.infoloop.tianting.service.client; ...@@ -2,23 +2,23 @@ package com.infoloop.tianting.service.client;
2 2
3 import com.infoloop.tianting.GeDishSkuByIdsRpcResponse; 3 import com.infoloop.tianting.GeDishSkuByIdsRpcResponse;
4 import com.infoloop.tianting.GetSkusByIdsRpcRequest; 4 import com.infoloop.tianting.GetSkusByIdsRpcRequest;
5 -import com.infoloop.tianting.GetSkusByIdsRpcResponse;
6 import com.infoloop.tianting.SkuServiceProtoRpcGrpc; 5 import com.infoloop.tianting.SkuServiceProtoRpcGrpc;
7 -import java.util.List;
8 import lombok.RequiredArgsConstructor; 6 import lombok.RequiredArgsConstructor;
9 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.stereotype.Service; 8 import org.springframework.stereotype.Service;
11 9
10 +import java.util.List;
11 +
12 @Service 12 @Service
13 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 13 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
14 public class SkuServiceRpcClient { 14 public class SkuServiceRpcClient {
15 private final SkuServiceProtoRpcGrpc.SkuServiceProtoRpcBlockingStub skuServiceProtoRpcBlockingStub; 15 private final SkuServiceProtoRpcGrpc.SkuServiceProtoRpcBlockingStub skuServiceProtoRpcBlockingStub;
16 -public GeDishSkuByIdsRpcResponse getDishSkusByIds(List<Integer> ids) { 16 +
17 + public GeDishSkuByIdsRpcResponse getDishSkusByIds(List<Integer> ids) {
17 final var request = GetSkusByIdsRpcRequest.newBuilder() 18 final var request = GetSkusByIdsRpcRequest.newBuilder()
18 .addAllIds(ids) 19 .addAllIds(ids)
19 .setIncludeDeleted(false) 20 .setIncludeDeleted(false)
20 .build(); 21 .build();
21 - final var res = skuServiceProtoRpcBlockingStub.getDishSkusByIds(request); 22 + return skuServiceProtoRpcBlockingStub.getDishSkusByIds(request);
22 - return res; 23 + }
23 -}
24 } 24 }
......
1 package com.infoloop.tianting.service.client; 1 package com.infoloop.tianting.service.client;
2 2
3 -import com.infoloop.tianting.COperatorServiceProtoRpcGrpc;
4 import com.infoloop.tianting.GetWOperatorByEmailRpcRequest; 3 import com.infoloop.tianting.GetWOperatorByEmailRpcRequest;
5 import com.infoloop.tianting.GetWOperatorByEmailRpcResponse; 4 import com.infoloop.tianting.GetWOperatorByEmailRpcResponse;
6 import com.infoloop.tianting.GetWOperatorByIdRpcRequest; 5 import com.infoloop.tianting.GetWOperatorByIdRpcRequest;
...@@ -14,8 +13,7 @@ import org.springframework.stereotype.Service; ...@@ -14,8 +13,7 @@ import org.springframework.stereotype.Service;
14 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 13 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
15 public class WOperatorServiceRpcClient { 14 public class WOperatorServiceRpcClient {
16 15
17 - private final WOperatorServiceProtoRpcGrpc.WOperatorServiceProtoRpcBlockingStub 16 + private final WOperatorServiceProtoRpcGrpc.WOperatorServiceProtoRpcBlockingStub wOperatorServiceProtoRpcBlockingStub;
18 - wOperatorServiceProtoRpcBlockingStub;
19 17
20 public GetWOperatorByEmailRpcResponse getWOperatorByEmail(String email) { 18 public GetWOperatorByEmailRpcResponse getWOperatorByEmail(String email) {
21 final var request = GetWOperatorByEmailRpcRequest.newBuilder() 19 final var request = GetWOperatorByEmailRpcRequest.newBuilder()
......
1 -package com.infoloop.tianting.service.client;
2 -
3 -import com.fasterxml.jackson.databind.DeserializationFeature;
4 -import com.fasterxml.jackson.databind.ObjectMapper;
5 -import com.infoloop.tianting.constant.ConfigConstants;
6 -import com.infoloop.tianting.model.dto.WxUserDto;
7 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserCodeDto;
8 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto;
9 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto1;
10 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserPhoneResponseDto;
11 -import com.infoloop.tianting.model.dto.WxUserDto.WxUserTokenDto;
12 -import com.infoloop.tianting.utils.JsonUtil;
13 -import lombok.RequiredArgsConstructor;
14 -import lombok.Value;
15 -import okhttp3.FormBody;
16 -import okhttp3.MediaType;
17 -import okhttp3.OkHttpClient;
18 -import okhttp3.Request;
19 -import okhttp3.RequestBody;
20 -import okhttp3.Response;
21 -import org.springframework.beans.factory.annotation.Autowired;
22 -import org.springframework.boot.context.properties.source.ConfigurationPropertyName.Form;
23 -import org.springframework.stereotype.Service;
24 -
25 -@Service
26 -@RequiredArgsConstructor(onConstructor = @__(@Autowired))
27 -public class WxMiniProgramClient {
28 -
29 - private final OkHttpClient client = new OkHttpClient();
30 -
31 - public WxUserPhoneResponseDto getUserPhoneInfoByCode(String code) {
32 - try {
33 - String getTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx40ec496d73b58ec6"
34 - +"&secret=5b309517bf918abf760b2195e91b99f3";
35 - Request getTokenRequest = new Request.Builder()
36 - .url(getTokenUrl)
37 - .build();
38 - Response getTokenResponse = client.newCall(getTokenRequest).execute();
39 - ObjectMapper objectMapper = new ObjectMapper();
40 - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
41 - String tokenJsonData = getTokenResponse.body().string();
42 - WxUserTokenDto wxUserTokenDto = objectMapper.readValue(tokenJsonData, WxUserTokenDto.class);
43 - System.out.println("token:" + wxUserTokenDto.getAccess_token());
44 - String getPhoneUrl = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token="
45 - + wxUserTokenDto.getAccess_token();
46 - WxUserCodeDto jsonData = new WxUserCodeDto();
47 - jsonData.setCode(code);
48 - String jsonDataString = objectMapper.writeValueAsString(jsonData);
49 - MediaType mediaType = MediaType.parse("application/json; charset=utf-8");
50 - RequestBody body = RequestBody.create(mediaType, jsonDataString);
51 - Request getPhoneRequest = new Request.Builder()
52 - .url(getPhoneUrl)
53 - .post(body)
54 - .build();
55 - Response getPhoneResponse = client.newCall(getPhoneRequest).execute();
56 - String phoneJsonData = getPhoneResponse.body().string();
57 - WxUserPhoneResponseDto wxUserPhoneResponseDto = objectMapper.readValue(phoneJsonData, WxUserPhoneResponseDto.class);
58 - return wxUserPhoneResponseDto;
59 -
60 - } catch (Exception e) {
61 - System.out.println(e.getMessage());
62 - throw new IllegalArgumentException("获取用户手机号失败");
63 - }
64 - }
65 -
66 - public WxUserOpenIdDto getUserOpenIdByCode(String code) {
67 - try {
68 -
69 - String url = "https://api.weixin.qq.com/sns/jscode2session" +
70 - "?appid=wx40ec496d73b58ec6" + "&secret=5b309517bf918abf760b2195e91b99f3" + "&js_code=" + code + "&grant_type=authorization_code";
71 - System.out.println("url:" +url);
72 - Request request = new Request.Builder()
73 - .url(url)
74 - .build();
75 -
76 - Response response = client.newCall(request).execute();
77 -
78 - String jsonData = response.body().string();
79 - ObjectMapper objectMapper = new ObjectMapper();
80 - objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
81 - return objectMapper.readValue(jsonData, WxUserOpenIdDto.class);
82 - } catch (Exception e) {
83 - System.out.println("error"+e.getMessage());
84 - throw new IllegalArgumentException("获取用户openid失败");
85 - }
86 - }
87 -
88 -}
1 +package com.infoloop.tianting.service.client;
2 +
3 +import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto;
4 +import com.infoloop.tianting.model.dto.WxUserDto.WxUserPhoneResponseDto;
5 +import com.infoloop.tianting.model.dto.WxUserDto.WxUserTokenDto;
6 +import com.infoloop.tianting.utils.JsonUtil;
7 +import lombok.RequiredArgsConstructor;
8 +import lombok.extern.slf4j.Slf4j;
9 +import org.springframework.beans.factory.annotation.Autowired;
10 +import org.springframework.beans.factory.annotation.Value;
11 +import org.springframework.http.HttpEntity;
12 +import org.springframework.http.HttpHeaders;
13 +import org.springframework.http.HttpMethod;
14 +import org.springframework.http.MediaType;
15 +import org.springframework.http.ResponseEntity;
16 +import org.springframework.stereotype.Service;
17 +import org.springframework.web.client.RestTemplate;
18 +
19 +import java.util.HashMap;
20 +import java.util.Map;
21 +
22 +import static com.infoloop.tianting.constant.ConfigConstants.MINI_PROGRAM_APP_ID;
23 +import static com.infoloop.tianting.constant.ConfigConstants.MINI_PROGRAM_APP_SECRET;
24 +
25 +@Slf4j
26 +@Service
27 +@RequiredArgsConstructor(onConstructor = @__(@Autowired))
28 +public class WxMiniProgramHttpClient {
29 +
30 + private static final String TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appId}&secret={appSecret}";
31 + private static final String PHONE_URL = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token={accessToken}";
32 +
33 + private final RestTemplate restTemplate;
34 +
35 + @Value(MINI_PROGRAM_APP_ID)
36 + private String appId;
37 +
38 + @Value(MINI_PROGRAM_APP_SECRET)
39 + private String appSecret;
40 +
41 + public WxUserPhoneResponseDto getUserPhoneInfoByCode(String code) {
42 + try {
43 + String accessToken = fetchAccessToken();
44 + HttpHeaders headers = new HttpHeaders();
45 + headers.setContentType(MediaType.APPLICATION_JSON);
46 + Map<String, Object> jsonDataMap = new HashMap<>();
47 + jsonDataMap.put("code", code);
48 + HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(jsonDataMap, headers);
49 + return fetchPhoneNumber(accessToken, requestEntity);
50 + } catch (Exception e) {
51 + log.error("Error fetching user phone info", e);
52 + throw new IllegalArgumentException("获取用户手机号失败");
53 + }
54 + }
55 +
56 + private String fetchAccessToken() {
57 + log.info("Fetching WeChat access token...");
58 + ResponseEntity<String> tokenResponse = restTemplate.getForEntity(TOKEN_URL, String.class, appId, appSecret);
59 + if (!tokenResponse.getStatusCode().is2xxSuccessful() || tokenResponse.getBody() == null) {
60 + log.error("Failed to fetch access token: {}", tokenResponse);
61 + throw new IllegalArgumentException("获取 access_token 失败");
62 + }
63 + final var wxUserTokenDto = JsonUtil.readJsonAs(tokenResponse.getBody(), WxUserTokenDto.class);
64 + log.info("WeChat access token received: {}", wxUserTokenDto);
65 + return wxUserTokenDto.getAccess_token();
66 + }
67 +
68 + private WxUserPhoneResponseDto fetchPhoneNumber(String accessToken, HttpEntity<Map<String, Object>> requestEntity) {
69 + log.info("Fetching phone number...");
70 + ResponseEntity<WxUserPhoneResponseDto> phoneResponse = restTemplate.exchange(PHONE_URL, HttpMethod.POST, requestEntity, WxUserPhoneResponseDto.class, accessToken);
71 + if (!phoneResponse.getStatusCode().is2xxSuccessful() || phoneResponse.getBody() == null) {
72 + log.error("Failed to fetch phone number: {}", phoneResponse);
73 + throw new IllegalArgumentException("获取手机号失败");
74 + }
75 + log.info("WeChat phone number response: {}", phoneResponse.getBody());
76 + return phoneResponse.getBody();
77 + }
78 +
79 + public WxUserOpenIdDto getUserOpenIdByCode(String code) {
80 + try {
81 + final var url = "https://api.weixin.qq.com/sns/jscode2session" +
82 + "?appid=" + appId + "&secret=" + appSecret + "&js_code=" + code + "&grant_type=authorization_code";
83 + final var response = restTemplate.getForEntity(url, String.class);
84 + return JsonUtil.readJsonAs(response.getBody(), WxUserOpenIdDto.class);
85 + } catch (Exception e) {
86 + log.error("Error fetching user openid", e);
87 + throw new IllegalArgumentException("获取用户openid失败");
88 + }
89 + }
90 +
91 +}
1 package com.infoloop.tianting.service.impl; 1 package com.infoloop.tianting.service.impl;
2 2
3 -import com.fasterxml.jackson.annotation.JacksonInject.Value;
4 import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderRpcResponse; 3 import com.infoloop.tianting.clientcustomerorderservice.SingleClientCustomerOrderRpcResponse;
5 import com.infoloop.tianting.clientcustomerservice.SingleClientCustomerRpcResponse; 4 import com.infoloop.tianting.clientcustomerservice.SingleClientCustomerRpcResponse;
6 import com.infoloop.tianting.context.LoginContextHolder; 5 import com.infoloop.tianting.context.LoginContextHolder;
7 import com.infoloop.tianting.menuservice.SingleClientCustomerMenuRefRpcResponse; 6 import com.infoloop.tianting.menuservice.SingleClientCustomerMenuRefRpcResponse;
8 -import com.infoloop.tianting.menuservice.SingleMenuRpcResponse;
9 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.ClientCustomerDto; 7 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.ClientCustomerDto;
10 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.CurrentClientCustomerDto; 8 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.CurrentClientCustomerDto;
11 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.HospitalRecordDto; 9 import com.infoloop.tianting.model.dto.ClientCustomerDbDTO.HospitalRecordDto;
...@@ -26,19 +24,16 @@ import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient; ...@@ -26,19 +24,16 @@ import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient;
26 import com.infoloop.tianting.service.client.MenuServiceRpcClient; 24 import com.infoloop.tianting.service.client.MenuServiceRpcClient;
27 import com.infoloop.tianting.service.client.OrderServiceRpcClient; 25 import com.infoloop.tianting.service.client.OrderServiceRpcClient;
28 import com.infoloop.tianting.utils.DateUtil; 26 import com.infoloop.tianting.utils.DateUtil;
29 -import java.time.LocalDate;
30 -import java.time.LocalDateTime;
31 -import java.util.ArrayList;
32 -import java.util.HashSet;
33 -import java.util.Objects;
34 -import java.util.Set;
35 -import javax.mail.search.SearchTerm;
36 import lombok.RequiredArgsConstructor; 27 import lombok.RequiredArgsConstructor;
37 import lombok.extern.slf4j.Slf4j; 28 import lombok.extern.slf4j.Slf4j;
38 import org.springframework.beans.factory.annotation.Autowired; 29 import org.springframework.beans.factory.annotation.Autowired;
39 import org.springframework.stereotype.Service; 30 import org.springframework.stereotype.Service;
40 31
32 +import java.time.LocalDate;
33 +import java.time.LocalDateTime;
34 +import java.util.ArrayList;
41 import java.util.List; 35 import java.util.List;
36 +import java.util.Objects;
42 import java.util.stream.Collectors; 37 import java.util.stream.Collectors;
43 38
44 @Slf4j 39 @Slf4j
...@@ -317,7 +312,8 @@ public class ClientCustomerServiceImpl implements ClientCustomerService { ...@@ -317,7 +312,8 @@ public class ClientCustomerServiceImpl implements ClientCustomerService {
317 List<CurrentClientCustomerDto> currentCustomers = new ArrayList<>(); 312 List<CurrentClientCustomerDto> currentCustomers = new ArrayList<>();
318 List<Integer> customerIds = new ArrayList<>(); 313 List<Integer> customerIds = new ArrayList<>();
319 currentCustomers = clientCustomerServiceHttpClient.getCurrentClientCustomer(token, false); 314 currentCustomers = clientCustomerServiceHttpClient.getCurrentClientCustomer(token, false);
320 - customerIds = currentCustomers.stream().map(CurrentClientCustomerDto::getId).map(id -> {try{ 315 + customerIds = currentCustomers.stream().map(CurrentClientCustomerDto::getId).map(id -> {
316 + try {
321 return Integer.valueOf(id); 317 return Integer.valueOf(id);
322 } catch (NumberFormatException e) { 318 } catch (NumberFormatException e) {
323 return null; 319 return null;
...@@ -364,7 +360,7 @@ public class ClientCustomerServiceImpl implements ClientCustomerService { ...@@ -364,7 +360,7 @@ public class ClientCustomerServiceImpl implements ClientCustomerService {
364 final var notOrderCustomers = currentCustomers.stream().filter(c -> 360 final var notOrderCustomers = currentCustomers.stream().filter(c ->
365 notOrderedCustomerIds.contains(Integer.valueOf(c.getId()))).collect(Collectors.toList()); 361 notOrderedCustomerIds.contains(Integer.valueOf(c.getId()))).collect(Collectors.toList());
366 362
367 - for(CurrentClientCustomerDto notOrderCustomer: notOrderCustomers) { 363 + for (CurrentClientCustomerDto notOrderCustomer : notOrderCustomers) {
368 364
369 // 在ref里找到这个用户的menu ids 365 // 在ref里找到这个用户的menu ids
370 final var notOrderCustomerId = Integer.valueOf(notOrderCustomer.getId()); 366 final var notOrderCustomerId = Integer.valueOf(notOrderCustomer.getId());
...@@ -477,7 +473,7 @@ public class ClientCustomerServiceImpl implements ClientCustomerService { ...@@ -477,7 +473,7 @@ public class ClientCustomerServiceImpl implements ClientCustomerService {
477 final var notOrderCustomers = currentClientCustomers.stream().filter(c -> 473 final var notOrderCustomers = currentClientCustomers.stream().filter(c ->
478 notOrderedCustomerIds.contains(c.getId())).collect(Collectors.toList()); 474 notOrderedCustomerIds.contains(c.getId())).collect(Collectors.toList());
479 475
480 - for(SingleClientCustomerRpcResponse notOrderCustomer: notOrderCustomers) { 476 + for (SingleClientCustomerRpcResponse notOrderCustomer : notOrderCustomers) {
481 477
482 // 在ref里找到这个用户的menu ids 478 // 在ref里找到这个用户的menu ids
483 final var notOrderCustomerId = Integer.valueOf(notOrderCustomer.getId()); 479 final var notOrderCustomerId = Integer.valueOf(notOrderCustomer.getId());
...@@ -535,7 +531,7 @@ public class ClientCustomerServiceImpl implements ClientCustomerService { ...@@ -535,7 +531,7 @@ public class ClientCustomerServiceImpl implements ClientCustomerService {
535 resNotOrderCustomers.add(resNotOrderCustomer); 531 resNotOrderCustomers.add(resNotOrderCustomer);
536 } 532 }
537 533
538 - for(CurrentClientCustomerDto currentClientCustomer: notOrderedHisCustomers) { 534 + for (CurrentClientCustomerDto currentClientCustomer : notOrderedHisCustomers) {
539 final var resNotOrderCustomer = NotOrderCustomerDto.builder() 535 final var resNotOrderCustomer = NotOrderCustomerDto.builder()
540 .id(currentClientCustomer.getId()) 536 .id(currentClientCustomer.getId())
541 .name(currentClientCustomer.getName()) 537 .name(currentClientCustomer.getName())
......
...@@ -3,17 +3,17 @@ package com.infoloop.tianting.service.impl; ...@@ -3,17 +3,17 @@ package com.infoloop.tianting.service.impl;
3 import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientDto; 3 import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientDto;
4 import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientTableCodeDto; 4 import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientTableCodeDto;
5 import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto; 5 import com.infoloop.tianting.model.dto.InventoryDbDTO.TableCodeQueryConditionDto;
6 -import com.infoloop.tianting.model.dto.MenuDbDTO.MenuDetailDto;
7 import com.infoloop.tianting.service.InventoryService; 6 import com.infoloop.tianting.service.InventoryService;
8 import com.infoloop.tianting.service.client.InventoryServiceRpcClient; 7 import com.infoloop.tianting.service.client.InventoryServiceRpcClient;
9 import com.infoloop.tianting.utils.DateUtil; 8 import com.infoloop.tianting.utils.DateUtil;
10 -import java.util.List;
11 -import java.util.stream.Collectors;
12 import lombok.RequiredArgsConstructor; 9 import lombok.RequiredArgsConstructor;
13 import lombok.extern.slf4j.Slf4j; 10 import lombok.extern.slf4j.Slf4j;
14 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
15 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
16 13
14 +import java.util.List;
15 +import java.util.stream.Collectors;
16 +
17 @Slf4j 17 @Slf4j
18 @Service 18 @Service
19 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 19 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
......
...@@ -17,28 +17,24 @@ import com.infoloop.tianting.model.dto.OrderDbDTO.CustomerDetailDto; ...@@ -17,28 +17,24 @@ import com.infoloop.tianting.model.dto.OrderDbDTO.CustomerDetailDto;
17 import com.infoloop.tianting.model.dto.OrderDbDTO.CustomerNotice; 17 import com.infoloop.tianting.model.dto.OrderDbDTO.CustomerNotice;
18 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto; 18 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
19 import com.infoloop.tianting.service.KdsService; 19 import com.infoloop.tianting.service.KdsService;
20 -import com.infoloop.tianting.service.MealService;
21 import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient; 20 import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient;
22 import com.infoloop.tianting.service.client.EnterpriseResourceServiceRpcClient; 21 import com.infoloop.tianting.service.client.EnterpriseResourceServiceRpcClient;
23 import com.infoloop.tianting.service.client.InventoryServiceRpcClient; 22 import com.infoloop.tianting.service.client.InventoryServiceRpcClient;
24 import com.infoloop.tianting.service.client.MealServiceRpcClient; 23 import com.infoloop.tianting.service.client.MealServiceRpcClient;
25 -import com.infoloop.tianting.service.client.MenuServiceRpcClient;
26 import com.infoloop.tianting.service.client.OrderServiceRpcClient; 24 import com.infoloop.tianting.service.client.OrderServiceRpcClient;
27 import com.infoloop.tianting.service.client.SkuServiceRpcClient; 25 import com.infoloop.tianting.service.client.SkuServiceRpcClient;
28 import com.infoloop.tianting.service.client.WOperatorServiceRpcClient; 26 import com.infoloop.tianting.service.client.WOperatorServiceRpcClient;
29 import com.infoloop.tianting.utils.DateUtil; 27 import com.infoloop.tianting.utils.DateUtil;
28 +import lombok.RequiredArgsConstructor;
29 +import lombok.extern.slf4j.Slf4j;
30 +import org.springframework.beans.factory.annotation.Autowired;
31 +import org.springframework.stereotype.Service;
32 +
30 import java.time.LocalDate; 33 import java.time.LocalDate;
31 import java.time.LocalDateTime; 34 import java.time.LocalDateTime;
32 import java.util.ArrayList; 35 import java.util.ArrayList;
33 import java.util.List; 36 import java.util.List;
34 import java.util.stream.Collectors; 37 import java.util.stream.Collectors;
35 -import java.util.stream.IntStream;
36 -import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
37 -import lombok.RequiredArgsConstructor;
38 -import lombok.extern.slf4j.Slf4j;
39 -import org.springframework.beans.factory.annotation.Autowired;
40 -import org.springframework.boot.autoconfigure.integration.IntegrationProperties.RSocket.Client;
41 -import org.springframework.stereotype.Service;
42 38
43 @Slf4j 39 @Slf4j
44 @Service 40 @Service
...@@ -124,16 +120,16 @@ public class KdsServiceImpl implements KdsService { ...@@ -124,16 +120,16 @@ public class KdsServiceImpl implements KdsService {
124 final var skus = skuServiceRpcClient.getDishSkusByIds(skuIds).getResponseList(); 120 final var skus = skuServiceRpcClient.getDishSkusByIds(skuIds).getResponseList();
125 121
126 List<KdsOrderSkuDto> kdsOrderSkuList = new ArrayList<>(); 122 List<KdsOrderSkuDto> kdsOrderSkuList = new ArrayList<>();
127 - for (Integer menuDetailId: menuDetailIds) { 123 + for (Integer menuDetailId : menuDetailIds) {
128 // 找出该menuDetailId 的所有orderDetail 124 // 找出该menuDetailId 的所有orderDetail
129 final var curOrderDetails = filteredOrderDetailList.stream() 125 final var curOrderDetails = filteredOrderDetailList.stream()
130 - .filter(d-> d.getMenuDetailId() == menuDetailId) 126 + .filter(d -> d.getMenuDetailId() == menuDetailId)
131 .collect(Collectors.toList()); 127 .collect(Collectors.toList());
132 final var totalCount = curOrderDetails.stream() 128 final var totalCount = curOrderDetails.stream()
133 .mapToInt(SingleClientCustomerOrderDetailRpcResponse::getCount) 129 .mapToInt(SingleClientCustomerOrderDetailRpcResponse::getCount)
134 .sum(); 130 .sum();
135 List<KdsOrderSkuDetailDto> kdsOrders = new ArrayList<>(); 131 List<KdsOrderSkuDetailDto> kdsOrders = new ArrayList<>();
136 - for(SingleClientCustomerOrderDetailRpcResponse detail: curOrderDetails) { 132 + for (SingleClientCustomerOrderDetailRpcResponse detail : curOrderDetails) {
137 final var order = orderList.stream() 133 final var order = orderList.stream()
138 .filter(o -> o.getId() == detail.getOrderId()) 134 .filter(o -> o.getId() == detail.getOrderId())
139 .findFirst(); 135 .findFirst();
...@@ -162,7 +158,7 @@ public class KdsServiceImpl implements KdsService { ...@@ -162,7 +158,7 @@ public class KdsServiceImpl implements KdsService {
162 .filter(c -> c.getId() == order.get().getCustomerId()) 158 .filter(c -> c.getId() == order.get().getCustomerId())
163 .findFirst(); 159 .findFirst();
164 CustomerDetailDto customer = CustomerDetailDto.builder().build(); 160 CustomerDetailDto customer = CustomerDetailDto.builder().build();
165 - if(optionalCustomer.isPresent()) { 161 + if (optionalCustomer.isPresent()) {
166 customer = CustomerDetailDto.builder() 162 customer = CustomerDetailDto.builder()
167 .id(optionalCustomer.get().getId()) 163 .id(optionalCustomer.get().getId())
168 .phone(optionalCustomer.get().getMobile()) 164 .phone(optionalCustomer.get().getMobile())
...@@ -207,9 +203,7 @@ public class KdsServiceImpl implements KdsService { ...@@ -207,9 +203,7 @@ public class KdsServiceImpl implements KdsService {
207 .orderList(kdsOrders) 203 .orderList(kdsOrders)
208 .build(); 204 .build();
209 kdsOrderSkuList.add(kdsOrderSku); 205 kdsOrderSkuList.add(kdsOrderSku);
210 -
211 } 206 }
212 -
213 return kdsOrderSkuList; 207 return kdsOrderSkuList;
214 208
215 } 209 }
...@@ -260,10 +254,10 @@ public class KdsServiceImpl implements KdsService { ...@@ -260,10 +254,10 @@ public class KdsServiceImpl implements KdsService {
260 final var allMeals = mealServiceRpcClient.getAllMeals(operatorLoginInfo.getEnterpriseId()).getResponsesList(); 254 final var allMeals = mealServiceRpcClient.getAllMeals(operatorLoginInfo.getEnterpriseId()).getResponsesList();
261 255
262 List<KdsMealDetailDto> kdsMealDetailDtoList = new ArrayList<>(); 256 List<KdsMealDetailDto> kdsMealDetailDtoList = new ArrayList<>();
263 - for(Integer mealId: mealIds) { 257 + for (Integer mealId : mealIds) {
264 final var meal = allMeals.stream().filter(m -> m.getId() == mealId).findFirst(); 258 final var meal = allMeals.stream().filter(m -> m.getId() == mealId).findFirst();
265 String mealName = "无餐别"; 259 String mealName = "无餐别";
266 - if(meal.isEmpty() && mealId != 0) { 260 + if (meal.isEmpty() && mealId != 0) {
267 continue; 261 continue;
268 } 262 }
269 if (meal.isPresent()) { 263 if (meal.isPresent()) {
...@@ -353,9 +347,9 @@ public class KdsServiceImpl implements KdsService { ...@@ -353,9 +347,9 @@ public class KdsServiceImpl implements KdsService {
353 347
354 List<KdsOrderLocationDto> kdsOrderLocationList = new ArrayList<>(); 348 List<KdsOrderLocationDto> kdsOrderLocationList = new ArrayList<>();
355 349
356 - for (SingleClientCustomerOrderRpcResponse order: orderList) { 350 + for (SingleClientCustomerOrderRpcResponse order : orderList) {
357 final var curOrderDetails = filteredOrderDetailList.stream() 351 final var curOrderDetails = filteredOrderDetailList.stream()
358 - .filter(d-> d.getOrderId() == order.getId()) 352 + .filter(d -> d.getOrderId() == order.getId())
359 .collect(Collectors.toList()); 353 .collect(Collectors.toList());
360 final var kdsOrderDetails = curOrderDetails.stream().map(od -> 354 final var kdsOrderDetails = curOrderDetails.stream().map(od ->
361 KdsOrderLocationDetailDto.builder() 355 KdsOrderLocationDetailDto.builder()
...@@ -396,7 +390,7 @@ public class KdsServiceImpl implements KdsService { ...@@ -396,7 +390,7 @@ public class KdsServiceImpl implements KdsService {
396 .filter(c -> c.getId() == order.getCustomerId()) 390 .filter(c -> c.getId() == order.getCustomerId())
397 .findFirst(); 391 .findFirst();
398 CustomerDetailDto customer = CustomerDetailDto.builder().build(); 392 CustomerDetailDto customer = CustomerDetailDto.builder().build();
399 - if(optionalCustomer.isPresent()) { 393 + if (optionalCustomer.isPresent()) {
400 customer = CustomerDetailDto.builder() 394 customer = CustomerDetailDto.builder()
401 .id(optionalCustomer.get().getId()) 395 .id(optionalCustomer.get().getId())
402 .phone(optionalCustomer.get().getMobile()) 396 .phone(optionalCustomer.get().getMobile())
......
...@@ -3,21 +3,16 @@ package com.infoloop.tianting.service.impl; ...@@ -3,21 +3,16 @@ package com.infoloop.tianting.service.impl;
3 import cn.dev33.satoken.stp.SaLoginModel; 3 import cn.dev33.satoken.stp.SaLoginModel;
4 import cn.dev33.satoken.stp.SaTokenInfo; 4 import cn.dev33.satoken.stp.SaTokenInfo;
5 import cn.dev33.satoken.stp.StpUtil; 5 import cn.dev33.satoken.stp.StpUtil;
6 -import com.infoloop.tianting.COperatorServiceProtoRpcGrpc;
7 import com.infoloop.tianting.clientcustomerservice.ClientCustomerHospitalRecordHospitalStatusEnum; 6 import com.infoloop.tianting.clientcustomerservice.ClientCustomerHospitalRecordHospitalStatusEnum;
8 -import com.infoloop.tianting.clientcustomerservice.GetClientCustomerByIdRpcRequest;
9 -import com.infoloop.tianting.clientcustomerservice.SingleClientCustomerRpcResponse;
10 import com.infoloop.tianting.constant.CommonConstants; 7 import com.infoloop.tianting.constant.CommonConstants;
11 import com.infoloop.tianting.exception.ClientEndExceptions; 8 import com.infoloop.tianting.exception.ClientEndExceptions;
12 import com.infoloop.tianting.exception.ErrorCodeEnum; 9 import com.infoloop.tianting.exception.ErrorCodeEnum;
13 import com.infoloop.tianting.model.dto.PermissionDTO.LoginDto; 10 import com.infoloop.tianting.model.dto.PermissionDTO.LoginDto;
14 -import com.infoloop.tianting.service.ClientCustomerService;
15 import com.infoloop.tianting.service.LoginService; 11 import com.infoloop.tianting.service.LoginService;
16 -import com.infoloop.tianting.service.WxMiniProgramService;
17 import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient; 12 import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient;
18 import com.infoloop.tianting.service.client.OperatorServiceRpcClient; 13 import com.infoloop.tianting.service.client.OperatorServiceRpcClient;
19 import com.infoloop.tianting.service.client.WOperatorServiceRpcClient; 14 import com.infoloop.tianting.service.client.WOperatorServiceRpcClient;
20 -import com.infoloop.tianting.service.client.WxMiniProgramClient; 15 +import com.infoloop.tianting.service.client.WxMiniProgramHttpClient;
21 import lombok.RequiredArgsConstructor; 16 import lombok.RequiredArgsConstructor;
22 import lombok.extern.slf4j.Slf4j; 17 import lombok.extern.slf4j.Slf4j;
23 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
...@@ -30,13 +25,13 @@ public class LoginServiceImpl implements LoginService { ...@@ -30,13 +25,13 @@ public class LoginServiceImpl implements LoginService {
30 25
31 private final ClientCustomerServiceRpcClient clientCustomerServiceRpcClient; 26 private final ClientCustomerServiceRpcClient clientCustomerServiceRpcClient;
32 private final OperatorServiceRpcClient operatorServiceRpcClient; 27 private final OperatorServiceRpcClient operatorServiceRpcClient;
33 - private final WxMiniProgramClient wxMiniProgramClient; 28 + private final WxMiniProgramHttpClient wxMiniProgramHttpClient;
34 private final WOperatorServiceRpcClient wOperatorServiceRpcClient; 29 private final WOperatorServiceRpcClient wOperatorServiceRpcClient;
35 30
36 @Override 31 @Override
37 public SaTokenInfo login(LoginDto loginDto) { 32 public SaTokenInfo login(LoginDto loginDto) {
38 if (loginDto.isShouldLoginWithOpenCode()) { 33 if (loginDto.isShouldLoginWithOpenCode()) {
39 - final var wxUserOpenIdDto = wxMiniProgramClient.getUserOpenIdByCode(loginDto.getOpenCode()); 34 + final var wxUserOpenIdDto = wxMiniProgramHttpClient.getUserOpenIdByCode(loginDto.getOpenCode());
40 StpUtil.login( 35 StpUtil.login(
41 wxUserOpenIdDto.getOpenid(), 36 wxUserOpenIdDto.getOpenid(),
42 SaLoginModel.create() 37 SaLoginModel.create()
...@@ -68,8 +63,6 @@ public class LoginServiceImpl implements LoginService { ...@@ -68,8 +63,6 @@ public class LoginServiceImpl implements LoginService {
68 ErrorCodeEnum.VALIDATE_FAILED.name()); 63 ErrorCodeEnum.VALIDATE_FAILED.name());
69 } 64 }
70 } 65 }
71 - } else {
72 -
73 } 66 }
74 StpUtil.login( 67 StpUtil.login(
75 customer.getId(), 68 customer.getId(),
......
...@@ -5,14 +5,14 @@ import com.infoloop.tianting.model.dto.MealDbDTO.MealDto; ...@@ -5,14 +5,14 @@ import com.infoloop.tianting.model.dto.MealDbDTO.MealDto;
5 import com.infoloop.tianting.service.MealService; 5 import com.infoloop.tianting.service.MealService;
6 import com.infoloop.tianting.service.client.MealServiceRpcClient; 6 import com.infoloop.tianting.service.client.MealServiceRpcClient;
7 import com.infoloop.tianting.utils.DateUtil; 7 import com.infoloop.tianting.utils.DateUtil;
8 -import java.sql.DataTruncation;
9 -import java.util.List;
10 -import java.util.stream.Collectors;
11 import lombok.RequiredArgsConstructor; 8 import lombok.RequiredArgsConstructor;
12 import lombok.extern.slf4j.Slf4j; 9 import lombok.extern.slf4j.Slf4j;
13 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
15 12
13 +import java.util.List;
14 +import java.util.stream.Collectors;
15 +
16 @Slf4j 16 @Slf4j
17 @Service 17 @Service
18 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 18 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
......
...@@ -5,14 +5,15 @@ import com.infoloop.tianting.model.dto.ClientLabelDTO.HisMedicalAdviceDto; ...@@ -5,14 +5,15 @@ import com.infoloop.tianting.model.dto.ClientLabelDTO.HisMedicalAdviceDto;
5 import com.infoloop.tianting.service.MeiZhongYiHeService; 5 import com.infoloop.tianting.service.MeiZhongYiHeService;
6 import com.infoloop.tianting.service.client.MeiZhongYiHeServiceClient; 6 import com.infoloop.tianting.service.client.MeiZhongYiHeServiceClient;
7 import com.infoloop.tianting.utils.DateUtil; 7 import com.infoloop.tianting.utils.DateUtil;
8 -import java.util.ArrayList;
9 -import java.util.List;
10 -import java.util.stream.Collectors;
11 import lombok.RequiredArgsConstructor; 8 import lombok.RequiredArgsConstructor;
12 import lombok.extern.slf4j.Slf4j; 9 import lombok.extern.slf4j.Slf4j;
13 import org.springframework.beans.factory.annotation.Autowired; 10 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.stereotype.Service; 11 import org.springframework.stereotype.Service;
15 12
13 +import java.util.ArrayList;
14 +import java.util.List;
15 +import java.util.stream.Collectors;
16 +
16 @Slf4j 17 @Slf4j
17 @Service 18 @Service
18 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 19 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
...@@ -36,10 +37,10 @@ public class MeiZhongYiHeServiceImpl implements MeiZhongYiHeService { ...@@ -36,10 +37,10 @@ public class MeiZhongYiHeServiceImpl implements MeiZhongYiHeService {
36 } 37 }
37 38
38 @Override 39 @Override
39 - public List<HisMedicalAdviceDto> getHisCustomerMedicalAdvicesByContractNo(String contractNo){ 40 + public List<HisMedicalAdviceDto> getHisCustomerMedicalAdvicesByContractNo(String contractNo) {
40 final var response = meiZhongYiHeServiceClient.getHisCustomerMedicalAdvicesByContractNo( 41 final var response = meiZhongYiHeServiceClient.getHisCustomerMedicalAdvicesByContractNo(
41 contractNo); 42 contractNo);
42 - if (response.getCustomerMedicalAdvicesCount() == 0){ 43 + if (response.getCustomerMedicalAdvicesCount() == 0) {
43 return new ArrayList<>(); 44 return new ArrayList<>();
44 } 45 }
45 return response.getCustomerMedicalAdvices(0).getMedicalAdvicesList().stream().map( 46 return response.getCustomerMedicalAdvices(0).getMedicalAdvicesList().stream().map(
......
...@@ -10,13 +10,14 @@ import com.infoloop.tianting.model.dto.MenuDbDTO.OrderRuleJson; ...@@ -10,13 +10,14 @@ import com.infoloop.tianting.model.dto.MenuDbDTO.OrderRuleJson;
10 import com.infoloop.tianting.service.MenuService; 10 import com.infoloop.tianting.service.MenuService;
11 import com.infoloop.tianting.service.client.MenuServiceRpcClient; 11 import com.infoloop.tianting.service.client.MenuServiceRpcClient;
12 import com.infoloop.tianting.utils.DateUtil; 12 import com.infoloop.tianting.utils.DateUtil;
13 -import java.util.List;
14 -import java.util.stream.Collectors;
15 import lombok.RequiredArgsConstructor; 13 import lombok.RequiredArgsConstructor;
16 import lombok.extern.slf4j.Slf4j; 14 import lombok.extern.slf4j.Slf4j;
17 import org.springframework.beans.factory.annotation.Autowired; 15 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.stereotype.Service; 16 import org.springframework.stereotype.Service;
19 17
18 +import java.util.List;
19 +import java.util.stream.Collectors;
20 +
20 @Slf4j 21 @Slf4j
21 @Service 22 @Service
22 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 23 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
...@@ -25,9 +26,7 @@ public class MenuServiceImpl implements MenuService { ...@@ -25,9 +26,7 @@ public class MenuServiceImpl implements MenuService {
25 private final MenuServiceRpcClient menuServiceRpcClient; 26 private final MenuServiceRpcClient menuServiceRpcClient;
26 27
27 @Override 28 @Override
28 - public List<MenuDto> queryMiniProgramPublishedMenusByStallId( 29 + public List<MenuDto> queryMiniProgramPublishedMenusByStallId(Integer enterpriseId, Integer stallId) {
29 - Integer enterpriseId, Integer stallId) {
30 -
31 final var response = menuServiceRpcClient.queryMiniProgramPublishedMenusByStallId( 30 final var response = menuServiceRpcClient.queryMiniProgramPublishedMenusByStallId(
32 enterpriseId, stallId); 31 enterpriseId, stallId);
33 return response.getResponsesList().stream().map(menu -> 32 return response.getResponsesList().stream().map(menu ->
...@@ -69,7 +68,6 @@ public class MenuServiceImpl implements MenuService { ...@@ -69,7 +68,6 @@ public class MenuServiceImpl implements MenuService {
69 @Override 68 @Override
70 public List<MenuDto> queryPublishedMenusByStallId( 69 public List<MenuDto> queryPublishedMenusByStallId(
71 Integer enterpriseId, Integer stallId) { 70 Integer enterpriseId, Integer stallId) {
72 -
73 final var response = menuServiceRpcClient.queryPublishedMenusByStallId( 71 final var response = menuServiceRpcClient.queryPublishedMenusByStallId(
74 enterpriseId, stallId); 72 enterpriseId, stallId);
75 return response.getResponsesList().stream().map(menu -> 73 return response.getResponsesList().stream().map(menu ->
......
...@@ -4,7 +4,6 @@ import com.infoloop.rpc.meizhongyiheservice.MedicalAdviceTypeEnum; ...@@ -4,7 +4,6 @@ import com.infoloop.rpc.meizhongyiheservice.MedicalAdviceTypeEnum;
4 import com.infoloop.tianting.SingleResponse; 4 import com.infoloop.tianting.SingleResponse;
5 import com.infoloop.tianting.SingleSpecialResponse; 5 import com.infoloop.tianting.SingleSpecialResponse;
6 import com.infoloop.tianting.clientcustomerorderservice.CloseTimeType; 6 import com.infoloop.tianting.clientcustomerorderservice.CloseTimeType;
7 -import com.infoloop.tianting.clientcustomerorderservice.OrderCountByStatus;
8 import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum; 7 import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum;
9 import com.infoloop.tianting.clientcustomerorderservice.OrderStatusEnum; 8 import com.infoloop.tianting.clientcustomerorderservice.OrderStatusEnum;
10 import com.infoloop.tianting.clientcustomerorderservice.OrderTypeEnum; 9 import com.infoloop.tianting.clientcustomerorderservice.OrderTypeEnum;
...@@ -20,12 +19,10 @@ import com.infoloop.tianting.menuservice.CloseTimeTypeEnum; ...@@ -20,12 +19,10 @@ import com.infoloop.tianting.menuservice.CloseTimeTypeEnum;
20 import com.infoloop.tianting.menuservice.ModeOfPaymentEnum; 19 import com.infoloop.tianting.menuservice.ModeOfPaymentEnum;
21 import com.infoloop.tianting.menuservice.SingleMenuDetailRpcResponse; 20 import com.infoloop.tianting.menuservice.SingleMenuDetailRpcResponse;
22 import com.infoloop.tianting.model.common.OrderPageResult; 21 import com.infoloop.tianting.model.common.OrderPageResult;
23 -import com.infoloop.tianting.model.common.PageResult;
24 import com.infoloop.tianting.model.dto.ClientLabelDTO.HisAllergy; 22 import com.infoloop.tianting.model.dto.ClientLabelDTO.HisAllergy;
25 import com.infoloop.tianting.model.dto.ClientLabelDTO.HisMedicalAdviceDto; 23 import com.infoloop.tianting.model.dto.ClientLabelDTO.HisMedicalAdviceDto;
26 import com.infoloop.tianting.model.dto.ClientLabelDTO.QueryLabelsDto; 24 import com.infoloop.tianting.model.dto.ClientLabelDTO.QueryLabelsDto;
27 import com.infoloop.tianting.model.dto.OrderDbDTO.BatchUpdateOrderDetailResponse; 25 import com.infoloop.tianting.model.dto.OrderDbDTO.BatchUpdateOrderDetailResponse;
28 -import com.infoloop.tianting.model.dto.OrderDbDTO.getMenuOrderCountDto;
29 import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDetailDto; 26 import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDetailDto;
30 import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDto; 27 import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderDto;
31 import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderResponse; 28 import com.infoloop.tianting.model.dto.OrderDbDTO.CreateOrderResponse;
...@@ -43,29 +40,27 @@ import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto; ...@@ -43,29 +40,27 @@ import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByConditionDto;
43 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByPaginationDto; 40 import com.infoloop.tianting.model.dto.OrderDbDTO.QueryOrderByPaginationDto;
44 import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderDto; 41 import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderDto;
45 import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderResponse; 42 import com.infoloop.tianting.model.dto.OrderDbDTO.UpdateOrderResponse;
46 -import com.infoloop.tianting.service.ClientCustomerService; 43 +import com.infoloop.tianting.model.dto.OrderDbDTO.getMenuOrderCountDto;
47 import com.infoloop.tianting.service.MeiZhongYiHeService; 44 import com.infoloop.tianting.service.MeiZhongYiHeService;
48 import com.infoloop.tianting.service.OrderService; 45 import com.infoloop.tianting.service.OrderService;
49 import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient; 46 import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient;
50 import com.infoloop.tianting.service.client.DeliveryRuleServiceRpcClient; 47 import com.infoloop.tianting.service.client.DeliveryRuleServiceRpcClient;
51 -import com.infoloop.tianting.service.client.MeiZhongYiHeServiceClient;
52 import com.infoloop.tianting.service.client.MenuServiceRpcClient; 48 import com.infoloop.tianting.service.client.MenuServiceRpcClient;
53 import com.infoloop.tianting.service.client.OperatorServiceRpcClient; 49 import com.infoloop.tianting.service.client.OperatorServiceRpcClient;
54 import com.infoloop.tianting.service.client.OrderServiceRpcClient; 50 import com.infoloop.tianting.service.client.OrderServiceRpcClient;
55 import com.infoloop.tianting.service.client.SkuServiceRpcClient; 51 import com.infoloop.tianting.service.client.SkuServiceRpcClient;
56 import com.infoloop.tianting.utils.DateUtil; 52 import com.infoloop.tianting.utils.DateUtil;
57 import com.infoloop.tianting.utils.PageUtil; 53 import com.infoloop.tianting.utils.PageUtil;
54 +import lombok.RequiredArgsConstructor;
55 +import lombok.extern.slf4j.Slf4j;
56 +import org.springframework.beans.factory.annotation.Autowired;
57 +import org.springframework.stereotype.Service;
58 +
58 import java.time.LocalDate; 59 import java.time.LocalDate;
59 -import java.time.LocalDateTime;
60 import java.util.ArrayList; 60 import java.util.ArrayList;
61 import java.util.List; 61 import java.util.List;
62 -import java.util.Optional;
63 import java.util.stream.Collectors; 62 import java.util.stream.Collectors;
64 import java.util.stream.Stream; 63 import java.util.stream.Stream;
65 -import lombok.RequiredArgsConstructor;
66 -import lombok.extern.slf4j.Slf4j;
67 -import org.springframework.beans.factory.annotation.Autowired;
68 -import org.springframework.stereotype.Service;
69 64
70 @Slf4j 65 @Slf4j
71 @Service 66 @Service
...@@ -123,7 +118,7 @@ public class OrderServiceImpl implements OrderService { ...@@ -123,7 +118,7 @@ public class OrderServiceImpl implements OrderService {
123 createOrderDto.setEnterpriseId(operatorLoginInfo.getEnterpriseId()); 118 createOrderDto.setEnterpriseId(operatorLoginInfo.getEnterpriseId());
124 // createOrderDto.setStallId(); 119 // createOrderDto.setStallId();
125 var onlinePay = false; 120 var onlinePay = false;
126 - if(menu.getOrderRuleJson().getModeOfPayment() == ModeOfPaymentEnum.ONLINE) { 121 + if (menu.getOrderRuleJson().getModeOfPayment() == ModeOfPaymentEnum.ONLINE) {
127 onlinePay = true; 122 onlinePay = true;
128 } 123 }
129 createOrderDto.setOnlinePay(onlinePay); 124 createOrderDto.setOnlinePay(onlinePay);
...@@ -177,10 +172,10 @@ public class OrderServiceImpl implements OrderService { ...@@ -177,10 +172,10 @@ public class OrderServiceImpl implements OrderService {
177 .collect(Collectors.toList()); 172 .collect(Collectors.toList());
178 final var rpcSkus = skuServiceRpcClient.getDishSkusByIds(skuIds).getResponseList(); 173 final var rpcSkus = skuServiceRpcClient.getDishSkusByIds(skuIds).getResponseList();
179 Integer totalSkuCount = 0; 174 Integer totalSkuCount = 0;
180 - for (OperatorCreateOrderDetailDto orderDetail: operatorCreateOrderDto.getOrderDetailDtos()) { 175 + for (OperatorCreateOrderDetailDto orderDetail : operatorCreateOrderDto.getOrderDetailDtos()) {
181 totalSkuCount += orderDetail.getCount(); 176 totalSkuCount += orderDetail.getCount();
182 final var optionalTargetMenuDetail = menuDetails.stream().filter(detail -> detail.getId() == orderDetail.getMenuDetailId()).findFirst(); 177 final var optionalTargetMenuDetail = menuDetails.stream().filter(detail -> detail.getId() == orderDetail.getMenuDetailId()).findFirst();
183 - if(optionalTargetMenuDetail.isEmpty()) { 178 + if (optionalTargetMenuDetail.isEmpty()) {
184 continue; 179 continue;
185 } 180 }
186 final var optionalSku = rpcSkus.stream().filter(sku -> sku.getId() == optionalTargetMenuDetail.get().getSkuId()).findFirst(); 181 final var optionalSku = rpcSkus.stream().filter(sku -> sku.getId() == optionalTargetMenuDetail.get().getSkuId()).findFirst();
...@@ -258,13 +253,13 @@ public class OrderServiceImpl implements OrderService { ...@@ -258,13 +253,13 @@ public class OrderServiceImpl implements OrderService {
258 .mealTimeEnd(mealTimeEnd) 253 .mealTimeEnd(mealTimeEnd)
259 .shouldFilterMenuId(true) 254 .shouldFilterMenuId(true)
260 .menuId(checkIfOrdered.getMenuId()) 255 .menuId(checkIfOrdered.getMenuId())
261 - .shouldFilterCustomerIds(checkIfOrdered.getCustomerId().equals(0)? false: true) 256 + .shouldFilterCustomerIds(!checkIfOrdered.getCustomerId().equals(0))
262 .customerIds(List.of(checkIfOrdered.getCustomerId())) 257 .customerIds(List.of(checkIfOrdered.getCustomerId()))
263 - .shouldFilterOpenId(checkIfOrdered.getOpenId().isEmpty()? false: true) 258 + .shouldFilterOpenId(!checkIfOrdered.getOpenId().isEmpty())
264 .openId(checkIfOrdered.getOpenId()) 259 .openId(checkIfOrdered.getOpenId())
265 .build(); 260 .build();
266 final var orderList = orderServiceRpcClient.getOrdersByCondition(queryOrderDto); 261 final var orderList = orderServiceRpcClient.getOrdersByCondition(queryOrderDto);
267 - final var filteredOrderList = orderList.stream().filter(o -> o.getStatus()!= OrderStatusEnum.ORDER_CANCELED).collect(Collectors.toList()); 262 + final var filteredOrderList = orderList.stream().filter(o -> o.getStatus() != OrderStatusEnum.ORDER_CANCELED).collect(Collectors.toList());
268 return filteredOrderList.size(); 263 return filteredOrderList.size();
269 } 264 }
270 265
......
...@@ -6,14 +6,14 @@ import com.infoloop.tianting.model.dto.SkuDbDTO.SkuSpecialDetailSingleResponseDt ...@@ -6,14 +6,14 @@ import com.infoloop.tianting.model.dto.SkuDbDTO.SkuSpecialDetailSingleResponseDt
6 import com.infoloop.tianting.service.SkuService; 6 import com.infoloop.tianting.service.SkuService;
7 import com.infoloop.tianting.service.client.SkuServiceRpcClient; 7 import com.infoloop.tianting.service.client.SkuServiceRpcClient;
8 import com.infoloop.tianting.utils.DateUtil; 8 import com.infoloop.tianting.utils.DateUtil;
9 -import java.util.List;
10 -import java.util.stream.Collectors;
11 -import lombok.Data;
12 import lombok.RequiredArgsConstructor; 9 import lombok.RequiredArgsConstructor;
13 import lombok.extern.slf4j.Slf4j; 10 import lombok.extern.slf4j.Slf4j;
14 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
15 import org.springframework.stereotype.Service; 12 import org.springframework.stereotype.Service;
16 13
14 +import java.util.List;
15 +import java.util.stream.Collectors;
16 +
17 @Slf4j 17 @Slf4j
18 @Service 18 @Service
19 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 19 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
...@@ -52,6 +52,7 @@ public class SkuServiceImpl implements SkuService { ...@@ -52,6 +52,7 @@ public class SkuServiceImpl implements SkuService {
52 Collectors.toList())) 52 Collectors.toList()))
53 .allergyList(sku.getAllergiesList().stream().map(allergy -> SkuSpecialDetailSingleResponseDto.builder().id(allergy.getId()).name(allergy.getName()).build()).collect( 53 .allergyList(sku.getAllergiesList().stream().map(allergy -> SkuSpecialDetailSingleResponseDto.builder().id(allergy.getId()).name(allergy.getName()).build()).collect(
54 Collectors.toList())) 54 Collectors.toList()))
55 + .cecommendList(sku.getCecommendsList().stream().map(cecommend -> SkuDetailSingleResponseDto.builder().id(cecommend.getId()).name(cecommend.getName()).build()).collect(Collectors.toList()))
55 .build() 56 .build()
56 ).collect(Collectors.toList()); 57 ).collect(Collectors.toList());
57 } 58 }
......
1 -package com.infoloop.tianting.service.impl;
2 -
3 -import com.infoloop.tianting.exception.ClientEndExceptions;
4 -import com.infoloop.tianting.exception.ErrorCodeEnum;
5 -import com.infoloop.tianting.model.common.CreatedResult;
6 -import com.infoloop.tianting.model.common.PageResult;
7 -import com.infoloop.tianting.model.create.TestExampleDbCreate;
8 -import com.infoloop.tianting.model.dto.TestExampleDbDTO;
9 -import com.infoloop.tianting.model.query.TestExampleDbQuery;
10 -import com.infoloop.tianting.model.update.TestExampleDbUpdate;
11 -import com.infoloop.tianting.model.vo.TestExampleDbVO;
12 -import com.infoloop.tianting.service.TestService;
13 -import com.infoloop.tianting.service.client.ExampleServiceRpcClient;
14 -import com.infoloop.tianting.utils.DateUtil;
15 -import com.infoloop.tianting.utils.PageUtil;
16 -import com.tianting.infoloop.grpc.exampleservice.SingleTestExampleDbRpcResponse;
17 -import lombok.RequiredArgsConstructor;
18 -import lombok.extern.slf4j.Slf4j;
19 -import org.springframework.beans.factory.annotation.Autowired;
20 -import org.springframework.stereotype.Service;
21 -
22 -import javax.validation.Valid;
23 -import java.util.List;
24 -import java.util.stream.Collectors;
25 -
26 -@Slf4j
27 -@Service
28 -@RequiredArgsConstructor(onConstructor = @__(@Autowired))
29 -public class TestServiceImpl implements TestService {
30 -
31 - private final ExampleServiceRpcClient exampleServiceRpcClient;
32 -
33 - @Override
34 - public PageResult<TestExampleDbVO> queryPage(TestExampleDbDTO.@Valid QueryPage queryPage) {
35 - TestExampleDbQuery query = TestExampleDbQuery.builder()
36 - .name(queryPage.getName())
37 - .status(queryPage.getStatus())
38 - .build();
39 - final var response = exampleServiceRpcClient.queryTestExampleDbByPagination(queryPage.getPageInfo(), query);
40 - final var results = response.getResponsesList().stream().map(e -> TestExampleDbVO.builder()
41 - .id(e.getId())
42 - .name(e.getName())
43 - .status(e.getStatus())
44 - .createdAt(DateUtil.formatDate(e.getCreatedAt()))
45 - .updatedAt(DateUtil.formatDate(e.getUpdatedAt()))
46 - .build()).collect(Collectors.toList());
47 - return PageUtil.from(results, response.getTotal(), response.getPages(), queryPage.getPageInfo().getPageNo(), queryPage.getPageInfo().getPageSize());
48 - }
49 -
50 - @Override
51 - public List<TestExampleDbVO> queryAll() {
52 - final var responseList = exampleServiceRpcClient.getAllTestExampleDb();
53 - return responseList.stream().map(e -> TestExampleDbVO.builder()
54 - .id(e.getId())
55 - .name(e.getName())
56 - .status(e.getStatus())
57 - .createdAt(DateUtil.formatDate(e.getCreatedAt()))
58 - .updatedAt(DateUtil.formatDate(e.getUpdatedAt()))
59 - .build()).collect(Collectors.toList());
60 - }
61 -
62 - @Override
63 - public CreatedResult<TestExampleDbVO> createTestExampleDb(TestExampleDbDTO.CreateTestExampleDb createTestExampleDb) {
64 - final var create = TestExampleDbCreate.builder()
65 - .name(createTestExampleDb.getName())
66 - .status(createTestExampleDb.getStatus())
67 - .build();
68 - final var response = exampleServiceRpcClient.createTestExampleDb(create);
69 - final var testExampleDbVO = TestExampleDbVO.builder()
70 - .id(response.getId())
71 - .name(create.getName())
72 - .status(create.getStatus())
73 - //TODO: 其他新增信息
74 - .build();
75 - return CreatedResult.<TestExampleDbVO>builder().isCreated(response.getIsCreated()).id(response.getId()).data(testExampleDbVO).build();
76 - }
77 -
78 - @Override
79 - public void updateTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse, TestExampleDbDTO.UpdateTestExampleDb updateTestExampleDb) {
80 - final var update = TestExampleDbUpdate.builder()
81 - .id(testExampleDbRpcResponse.getId())
82 - .name(updateTestExampleDb.getName())
83 - .status(updateTestExampleDb.getStatus())
84 - .build();
85 - final var isUpdated = exampleServiceRpcClient.updateTestExampleDb(update);
86 - if (!isUpdated) {
87 - throw ClientEndExceptions.BusinessException.build(ErrorCodeEnum.UPDATE_DATA_ERROR);
88 - }
89 - }
90 -
91 - @Override
92 - public void deleteTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse) {
93 - final var isDeleted = exampleServiceRpcClient.deleteTestExampleDbByIds(List.of(testExampleDbRpcResponse.getId()));
94 - if (!isDeleted) {
95 - throw ClientEndExceptions.BusinessException.build(ErrorCodeEnum.DELETE_DATA_ERROR);
96 - }
97 - }
98 -
99 - @Override
100 - public TestExampleDbVO getTestExampleDb(SingleTestExampleDbRpcResponse testExampleDbRpcResponse) {
101 -// final var testExampleDb = exampleServiceRpcClient.getTestExampleDbById(testExampleDbRpcResponse.getId());
102 - return TestExampleDbVO.builder()
103 - .id(testExampleDbRpcResponse.getId())
104 - .name(testExampleDbRpcResponse.getName())
105 - .status(testExampleDbRpcResponse.getStatus())
106 - .createdAt(DateUtil.formatDate(testExampleDbRpcResponse.getCreatedAt()))
107 - .updatedAt(DateUtil.formatDate(testExampleDbRpcResponse.getUpdatedAt()))
108 - .build();
109 - }
110 -}
...@@ -3,7 +3,7 @@ package com.infoloop.tianting.service.impl; ...@@ -3,7 +3,7 @@ package com.infoloop.tianting.service.impl;
3 import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto; 3 import com.infoloop.tianting.model.dto.WxUserDto.WxUserOpenIdDto;
4 import com.infoloop.tianting.model.dto.WxUserDto.WxUserPhoneResponseDto; 4 import com.infoloop.tianting.model.dto.WxUserDto.WxUserPhoneResponseDto;
5 import com.infoloop.tianting.service.WxMiniProgramService; 5 import com.infoloop.tianting.service.WxMiniProgramService;
6 -import com.infoloop.tianting.service.client.WxMiniProgramClient; 6 +import com.infoloop.tianting.service.client.WxMiniProgramHttpClient;
7 import lombok.RequiredArgsConstructor; 7 import lombok.RequiredArgsConstructor;
8 import lombok.extern.slf4j.Slf4j; 8 import lombok.extern.slf4j.Slf4j;
9 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.beans.factory.annotation.Autowired;
...@@ -14,16 +14,16 @@ import org.springframework.stereotype.Service; ...@@ -14,16 +14,16 @@ import org.springframework.stereotype.Service;
14 @RequiredArgsConstructor(onConstructor = @__(@Autowired)) 14 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
15 public class WxMiniProgramServiceImpl implements WxMiniProgramService { 15 public class WxMiniProgramServiceImpl implements WxMiniProgramService {
16 16
17 - private final WxMiniProgramClient wxMiniProgramClient; 17 + private final WxMiniProgramHttpClient wxMiniProgramHttpClient;
18 18
19 @Override 19 @Override
20 public WxUserOpenIdDto getWxUserOpenIdByCode(String code) { 20 public WxUserOpenIdDto getWxUserOpenIdByCode(String code) {
21 - return wxMiniProgramClient.getUserOpenIdByCode(code); 21 + return wxMiniProgramHttpClient.getUserOpenIdByCode(code);
22 } 22 }
23 23
24 @Override 24 @Override
25 - public WxUserPhoneResponseDto getUserPhoneInfoByCode(String code){ 25 + public WxUserPhoneResponseDto getUserPhoneInfoByCode(String code) {
26 - return wxMiniProgramClient.getUserPhoneInfoByCode(code); 26 + return wxMiniProgramHttpClient.getUserPhoneInfoByCode(code);
27 } 27 }
28 28
29 } 29 }
......
1 -syntax = "proto3";
2 -
3 -option java_multiple_files = true;
4 -option java_package = "com.tianting.infoloop.grpc.exampleservice";
5 -option java_outer_classname = "ExampleServiceProto";
6 -option objc_class_prefix = "OP";
7 -
8 -package com.tianting.infoloop.grpc.exampleservice;
9 -
10 -service ExampleServiceRpc {
11 - rpc GetTestExampleDbById (GetTestExampleDbByIdRpcRequest) returns (GetTestExampleDbByIdRpcResponse) {}
12 - rpc GetTestExampleDbByIds (GetTestExampleDbByIdsRpcRequest) returns (GetTestExampleDbByIdsRpcResponse) {}
13 - rpc GetAllTestExampleDb (GetAllTestExampleDbRpcRequest) returns (GetAllTestExampleDbRpcResponse) {}
14 - rpc QueryTestExampleDbByCondition (QueryTestExampleDbByConditionRpcRequest) returns (QueryTestExampleDbByConditionRpcResponse) {}
15 - rpc QueryTestExampleDbByPagination (QueryTestExampleDbByPaginationRpcRequest) returns (QueryTestExampleDbByPaginationRpcResponse) {}
16 - rpc CreateTestExampleDb (CreateTestExampleDbRpcRequest) returns (CreateTestExampleDbRpcResponse) {}
17 - rpc BatchCreateTestExampleDb (BatchCreateTestExampleDbRpcRequest) returns (BatchCreateTestExampleDbRpcResponse) {}
18 - rpc UpdateTestExampleDb (UpdateTestExampleDbRpcRequest) returns (UpdateTestExampleDbRpcResponse) {}
19 - rpc BatchUpdateTestExampleDb (BatchUpdateTestExampleDbRpcRequest) returns (BatchUpdateTestExampleDbRpcResponse) {}
20 - rpc DeleteTestExampleDbByIds (DeleteTestExampleDbByIdsRpcRequest) returns (DeleteTestExampleDbRpcResponse) {}
21 -}
22 -
23 -enum TestExampleDbStatusEnum {
24 - STATUS_UNKNOWN = 0;
25 - STATUS_ENABLED = 1;
26 - STATUS_DISABLED = 2;
27 -}
28 -
29 -message SingleTestExampleDbRpcResponse {
30 - int32 id = 1;
31 - int32 enterpriseId = 2;
32 - string name = 3;
33 - TestExampleDbStatusEnum status = 4;
34 - int32 createdBy = 5;
35 - int64 createdAt = 6;
36 - int32 creationSource = 7;
37 - int32 updatedBy = 8;
38 - int64 updatedAt = 9;
39 - int32 updateSource = 10;
40 - bool isDeleted = 11;
41 -}
42 -
43 -message GetTestExampleDbByIdRpcRequest {
44 - int32 id = 1;
45 -}
46 -
47 -message GetTestExampleDbByIdRpcResponse {
48 - SingleTestExampleDbRpcResponse response = 1;
49 -}
50 -
51 -message GetTestExampleDbByIdsRpcRequest {
52 - repeated int32 ids = 1;
53 -}
54 -
55 -message GetTestExampleDbByIdsRpcResponse {
56 - repeated SingleTestExampleDbRpcResponse responses = 1;
57 -}
58 -
59 -message GetAllTestExampleDbRpcRequest {
60 -}
61 -
62 -message GetAllTestExampleDbRpcResponse {
63 - repeated SingleTestExampleDbRpcResponse responses = 1;
64 -}
65 -
66 -message QueryTestExampleDbByConditionRpcRequest {
67 - optional string name = 1;
68 - optional TestExampleDbStatusEnum status = 2;
69 -}
70 -
71 -message QueryTestExampleDbByConditionRpcResponse {
72 - repeated SingleTestExampleDbRpcResponse responses = 1;
73 -}
74 -
75 -message QueryTestExampleDbByPaginationRpcRequest {
76 - optional string name = 1;
77 - optional TestExampleDbStatusEnum status = 2;
78 - int32 pageNo = 3;
79 - int32 pageSize = 4;
80 -}
81 -
82 -message QueryTestExampleDbByPaginationRpcResponse {
83 - int64 total = 1;
84 - int64 pages = 2;
85 - repeated SingleTestExampleDbRpcResponse responses = 3;
86 -}
87 -
88 -message TestExampleDbCreation{
89 - string name = 1;
90 - TestExampleDbStatusEnum status = 2;
91 -}
92 -
93 -message CreateTestExampleDbRpcRequest {
94 - TestExampleDbCreation creation = 1;
95 -}
96 -
97 -message CreateTestExampleDbRpcResponse {
98 - int32 id = 1;
99 - bool isCreated = 2;
100 -}
101 -
102 -message BatchCreateTestExampleDbRpcRequest {
103 - repeated TestExampleDbCreation creations = 1;
104 -}
105 -
106 -message BatchCreateTestExampleDbRpcResponse {
107 - repeated int32 ids = 1;
108 - bool isCreated = 2;
109 -}
110 -
111 -message TestExampleDbModification {
112 - int32 id = 1;
113 - optional string name = 2;
114 - optional TestExampleDbStatusEnum status = 3;
115 -}
116 -
117 -message UpdateTestExampleDbRpcRequest {
118 - TestExampleDbModification modification = 1;
119 -}
120 -
121 -message UpdateTestExampleDbRpcResponse {
122 - bool isUpdated = 1;
123 -}
124 -
125 -message BatchUpdateTestExampleDbRpcRequest {
126 - repeated TestExampleDbModification modifications = 1;
127 -}
128 -
129 -message BatchUpdateTestExampleDbRpcResponse {
130 - bool isUpdated = 1;
131 -}
132 -
133 -message DeleteTestExampleDbByIdsRpcRequest {
134 - repeated int32 ids = 1;
135 -}
136 -
137 -message DeleteTestExampleDbRpcResponse {
138 - bool isDeleted = 1;
139 -}
...@@ -108,6 +108,7 @@ message SingleDishSkuByIdsRpcResponse { ...@@ -108,6 +108,7 @@ message SingleDishSkuByIdsRpcResponse {
108 repeated SingleSpecialResponse doctors = 18; // 医嘱 108 repeated SingleSpecialResponse doctors = 18; // 医嘱
109 repeated SingleResponse avoids = 19; // 忌口 109 repeated SingleResponse avoids = 19; // 忌口
110 repeated SingleResponse skus = 20; // 配料 110 repeated SingleResponse skus = 20; // 配料
111 + repeated SingleResponse cecommends = 21;//推荐
111 112
112 } 113 }
113 114
...@@ -323,10 +324,11 @@ message GetPSkuByIdsRpcResponse { ...@@ -323,10 +324,11 @@ message GetPSkuByIdsRpcResponse {
323 // 1: 标品2: 非标品3: 料箱isInspectionAndQuarantineTINYINT(1) 是否需要检验检疫证 0(false) YES 检验、检疫证 324 // 1: 标品2: 非标品3: 料箱isInspectionAndQuarantineTINYINT(1) 是否需要检验检疫证 0(false) YES 检验、检疫证
324 enum SkuType{ 325 enum SkuType{
325 UNKNOWN_SKU_TYPE = 0; //未知 326 UNKNOWN_SKU_TYPE = 0; //未知
326 - NOT_SENT_SUPPLIER_QUOTATION_SHEET_SEND_STATUS = 1; //未发送 327 + STANDARD_SKU_TYPE = 1; //标品,常温
327 - BEEN_SENT_SUPPLIER_QUOTATION_SHEET_SEND_STATUS = 2; //已发送 328 + UN_STANDARD_SKU_TYPE = 2; //非标品
328 - 329 + WAREHOUSE_USE_SKU_TYPE = 3; //仓库用品
329 -} //报价单发送状态 330 + ICE_SKU_TYPE = 4; //冻品
331 +}
330 332
331 message SinglePSkuByIdsRpcResponse { 333 message SinglePSkuByIdsRpcResponse {
332 string assistantUnit = 1; 334 string assistantUnit = 1;
...@@ -357,6 +359,8 @@ message SinglePSkuByIdsRpcResponse { ...@@ -357,6 +359,8 @@ message SinglePSkuByIdsRpcResponse {
357 int32 carbohydrate = 26; 359 int32 carbohydrate = 26;
358 int32 energy = 27; 360 int32 energy = 27;
359 int32 allergys = 28; 361 int32 allergys = 28;
362 + bool isBOM = 29;
363 + string overentryRatio = 30;
360 } 364 }
361 365
362 //计算规则 0.四舍五入 1.进位到最小售卖量的倍数 2.舍位到最小售卖量倍数 366 //计算规则 0.四舍五入 1.进位到最小售卖量的倍数 2.舍位到最小售卖量倍数
...@@ -443,6 +447,8 @@ message SingleSkuResponse { ...@@ -443,6 +447,8 @@ message SingleSkuResponse {
443 string assistantUnit = 24; 447 string assistantUnit = 24;
444 int32 conversionBase = 25; 448 int32 conversionBase = 25;
445 int32 conversionQuantity = 26; 449 int32 conversionQuantity = 26;
450 + int32 isInWarehouseValid =27;
451 + string overentryRatio = 28;
446 } 452 }
447 453
448 message SingleSkuAllFieldRpcResponse { 454 message SingleSkuAllFieldRpcResponse {
...@@ -461,6 +467,8 @@ message SingleSkuAllFieldRpcResponse { ...@@ -461,6 +467,8 @@ message SingleSkuAllFieldRpcResponse {
461 bool isCurrentPrice = 13; 467 bool isCurrentPrice = 13;
462 SkuAttribute attribute = 14; 468 SkuAttribute attribute = 14;
463 SkuDecimalRulesMethod decimalRulesMethod = 15; 469 SkuDecimalRulesMethod decimalRulesMethod = 15;
470 + int32 isInWarehouseValid = 16;
471 + string overentryRatio = 17;
464 } 472 }
465 473
466 474
...@@ -530,6 +538,8 @@ message SingleSkuRpcResponse { ...@@ -530,6 +538,8 @@ message SingleSkuRpcResponse {
530 string originSpecification = 63; 538 string originSpecification = 63;
531 string basicMaterials = 64; 539 string basicMaterials = 64;
532 string geometricProperties = 65; 540 string geometricProperties = 65;
541 + int32 isInWarehouseValid = 66;
542 + string overentryRatio = 67;
533 } 543 }
534 544
535 message GetSkusByIdsRpcResponse { 545 message GetSkusByIdsRpcResponse {
...@@ -829,7 +839,8 @@ message SingleUpdateSkus { ...@@ -829,7 +839,8 @@ message SingleUpdateSkus {
829 bool shouldUpdateCode = 59; 839 bool shouldUpdateCode = 59;
830 int32 isDeleted = 60; 840 int32 isDeleted = 60;
831 bool shouldUpdateIsDeleted = 61; 841 bool shouldUpdateIsDeleted = 61;
832 - 842 + bool shouldUpdateOverentryRatio = 62;
843 + string overentryRatio = 63;
833 } 844 }
834 845
835 message BatchUpdateSkusRequest { 846 message BatchUpdateSkusRequest {
......
...@@ -34,9 +34,6 @@ okhttp.max-idle-connections=10 ...@@ -34,9 +34,6 @@ okhttp.max-idle-connections=10
34 okhttp.keep-alive-duration=300 34 okhttp.keep-alive-duration=300
35 35
36 ##GRPC\u914D\u7F6E 36 ##GRPC\u914D\u7F6E
37 -grpc.example-service.url=localhost
38 -grpc.example-service.port=4096
39 -
40 grpc.order-service.url=localhost 37 grpc.order-service.url=localhost
41 grpc.order-service.port=4096 38 grpc.order-service.port=4096
42 39
...@@ -76,6 +73,10 @@ grpc.meizhongyihe-service.port=3040 ...@@ -76,6 +73,10 @@ grpc.meizhongyihe-service.port=3040
76 miniprogram.appId=wx40ec496d73b58ec6 73 miniprogram.appId=wx40ec496d73b58ec6
77 miniprogram.appSecret=5b309517bf918abf760b2195e91b99f3 74 miniprogram.appSecret=5b309517bf918abf760b2195e91b99f3
78 75
76 +business-config.hisCustomerQueryUrl = https://nutri.amcare.com.cn/v3/hiscustomers/current/query
77 +business-config.clientCustomerQueryUrl = https://nutri.amcare.com.cn/v3/clientcustomers/current/query
78 +business-config.payUrl = http://10.2.5.162:21051/API/Microapp/CreateOrder?appid=Order0001
79 +
79 ##Actuator\u914D\u7F6E 80 ##Actuator\u914D\u7F6E
80 management.server.port=8088 81 management.server.port=8088
81 management.endpoints.web.exposure.include=* 82 management.endpoints.web.exposure.include=*
......